Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常顺宇
OpenXG-RAN
Commits
9d498e1a
Commit
9d498e1a
authored
Feb 15, 2021
by
luis_pereira87
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve PDSCH DMRS modulation for numDmrsCdmGrpsNoData=1
parent
e7fb9287
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
4 deletions
+3
-4
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+3
-4
No files found.
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
9d498e1a
...
@@ -147,12 +147,11 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
...
@@ -147,12 +147,11 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
uint16_t
n_dmrs
;
uint16_t
n_dmrs
;
if
(
rel15
->
dmrsConfigType
==
NFAPI_NR_DMRS_TYPE1
)
{
if
(
rel15
->
dmrsConfigType
==
NFAPI_NR_DMRS_TYPE1
)
{
nb_re_dmrs
=
6
*
rel15
->
numDmrsCdmGrpsNoData
;
nb_re_dmrs
=
6
*
rel15
->
numDmrsCdmGrpsNoData
;
n_dmrs
=
((
rel15
->
rbSize
+
rel15
->
rbStart
)
*
6
)
<<
1
;
}
}
else
{
else
{
nb_re_dmrs
=
4
*
rel15
->
numDmrsCdmGrpsNoData
;
nb_re_dmrs
=
4
*
rel15
->
numDmrsCdmGrpsNoData
;
n_dmrs
=
((
rel15
->
rbSize
+
rel15
->
rbStart
)
*
4
)
<<
1
;
}
}
n_dmrs
=
(
rel15
->
rbSize
+
rel15
->
rbStart
)
*
nb_re_dmrs
;
uint16_t
dmrs_symbol_map
=
rel15
->
dlDmrsSymbPos
;
//single DMRS: 010000100 Double DMRS 110001100
uint16_t
dmrs_symbol_map
=
rel15
->
dlDmrsSymbPos
;
//single DMRS: 010000100 Double DMRS 110001100
uint8_t
dmrs_len
=
get_num_dmrs
(
rel15
->
dlDmrsSymbPos
);
uint8_t
dmrs_len
=
get_num_dmrs
(
rel15
->
dlDmrsSymbPos
);
...
@@ -271,10 +270,10 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
...
@@ -271,10 +270,10 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
/// DMRS QPSK modulation
/// DMRS QPSK modulation
for
(
int
l
=
rel15
->
StartSymbolIndex
;
l
<
rel15
->
StartSymbolIndex
+
rel15
->
NrOfSymbols
;
l
++
)
{
for
(
int
l
=
rel15
->
StartSymbolIndex
;
l
<
rel15
->
StartSymbolIndex
+
rel15
->
NrOfSymbols
;
l
++
)
{
if
(
rel15
->
dlDmrsSymbPos
&
(
1
<<
l
))
{
if
(
rel15
->
dlDmrsSymbPos
&
(
1
<<
l
))
{
nr_modulation
(
pdsch_dmrs
[
l
][
0
],
n_dmrs
,
DMRS_MOD_ORDER
,
mod_dmrs
[
l
]);
// currently only codeword 0 is modulated. Qm = 2 as DMRS is QPSK modulated
nr_modulation
(
pdsch_dmrs
[
l
][
0
],
n_dmrs
*
2
,
DMRS_MOD_ORDER
,
mod_dmrs
[
l
]);
// currently only codeword 0 is modulated. Qm = 2 as DMRS is QPSK modulated
#ifdef DEBUG_DLSCH
#ifdef DEBUG_DLSCH
printf
(
"DMRS modulation (symbol %d, %d symbols, type %d):
\n
"
,
l
,
n_dmrs
>>
1
,
dmrs_Type
);
printf
(
"DMRS modulation (symbol %d, %d symbols, type %d):
\n
"
,
l
,
n_dmrs
,
dmrs_Type
);
for
(
int
i
=
0
;
i
<
n_dmrs
>>
4
;
i
++
)
{
for
(
int
i
=
0
;
i
<
n_dmrs
>>
4
;
i
++
)
{
for
(
int
j
=
0
;
j
<
8
;
j
++
)
{
for
(
int
j
=
0
;
j
<
8
;
j
++
)
{
printf
(
"%d %d
\t
"
,
mod_dmrs
[
l
][((
i
<<
3
)
+
j
)
<<
1
],
mod_dmrs
[
l
][(((
i
<<
3
)
+
j
)
<<
1
)
+
1
]);
printf
(
"%d %d
\t
"
,
mod_dmrs
[
l
][((
i
<<
3
)
+
j
)
<<
1
],
mod_dmrs
[
l
][(((
i
<<
3
)
+
j
)
<<
1
)
+
1
]);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment