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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG-RAN
Commits
93d93c81
Commit
93d93c81
authored
Nov 20, 2020
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor correction in the fill_dmrs_mask() function
parent
f86437c5
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
16 additions
and
11 deletions
+16
-11
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+6
-6
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+5
-5
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+2
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
+3
-0
No files found.
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
93d93c81
...
...
@@ -248,13 +248,13 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
/// Antenna port mapping
//to be moved to init phase potentially, for now tx_layers 1-8 are mapped on antenna ports 1000-1007
/// DMRS QPSK modulation
l0
=
get_l0
(
rel15
->
dlDmrsSymbPos
);
nr_modulation
(
pdsch_dmrs
[
l0
][
0
],
n_dmrs
,
DMRS_MOD_ORDER
,
mod_dmrs
);
// currently only codeword 0 is modulated. Qm = 2 as DMRS is QPSK modulated
#ifdef DEBUG_DLSCH
printf
(
"DMRS modulation (single symbol %d, %d symbols, type %d):
\n
"
,
l0
,
n_dmrs
>>
1
,
dmrs_Type
);
for
(
int
i
=
0
;
i
<
n_dmrs
>>
4
;
i
++
)
{
...
...
@@ -299,7 +299,7 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
dmrs_idx
=
rel15
->
rbStart
*
6
;
else
dmrs_idx
=
rel15
->
rbStart
*
4
;
for
(
int
l
=
rel15
->
StartSymbolIndex
;
l
<
rel15
->
StartSymbolIndex
+
rel15
->
NrOfSymbols
;
l
++
)
{
k
=
start_sc
;
for
(
int
i
=
0
;
i
<
rel15
->
rbSize
*
NR_NB_SC_PER_RB
;
i
++
)
{
...
...
@@ -316,7 +316,7 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
k_prime
&=
1
;
n
+=
(
k_prime
)
?
0
:
1
;
}
else
{
if
(
(
l
!=
dmrs_symbol
)
||
allowed_xlsch_re_in_dmrs_symbol
(
k
,
start_sc
,
rel15
->
numDmrsCdmGrpsNoData
,
dmrs_Type
))
{
((
int16_t
*
)
txdataF
[
ap
])[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
(
2
*
txdataF_offset
)]
=
(
amp
*
tx_layers
[
ap
][
m
<<
1
])
>>
15
;
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
93d93c81
...
...
@@ -2835,26 +2835,26 @@ int16_t fill_dmrs_mask(NR_PDSCH_Config_t *pdsch_Config,int dmrs_TypeA_Position,i
break
;
case
10
:
case
11
:
if
(
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
)
if
(
dmrs_config
->
dmrs_AdditionalPosition
&&
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
)
return
(
1
<<
l0
|
1
<<
9
);
else
return
(
1
<<
l0
|
1
<<
6
|
1
<<
9
);
break
;
case
12
:
if
(
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
)
if
(
dmrs_config
->
dmrs_AdditionalPosition
&&
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
)
return
(
1
<<
l0
|
1
<<
9
);
else
if
(
pos2
==
1
)
return
(
1
<<
l0
|
1
<<
6
|
1
<<
9
);
else
if
(
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos3
)
else
if
(
dmrs_config
->
dmrs_AdditionalPosition
&&
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos3
)
return
(
1
<<
l0
|
1
<<
5
|
1
<<
8
|
1
<<
11
);
break
;
case
13
:
case
14
:
if
(
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
)
if
(
dmrs_config
->
dmrs_AdditionalPosition
&&
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
)
return
(
1
<<
l0
|
1
<<
11
);
else
if
(
pos2
==
1
)
return
(
1
<<
l0
|
1
<<
7
|
1
<<
11
);
else
if
(
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos3
)
else
if
(
dmrs_config
->
dmrs_AdditionalPosition
&&
*
dmrs_config
->
dmrs_AdditionalPosition
==
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos3
)
return
(
1
<<
l0
|
1
<<
5
|
1
<<
8
|
1
<<
11
);
break
;
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
93d93c81
...
...
@@ -3368,6 +3368,8 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
dlsch_config_pdu_1_0
->
number_symbols
);
dlsch_config_pdu_1_0
->
dmrsConfigType
=
mac
->
DLbwp
[
0
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
==
NULL
?
0
:
1
;
LOG_D
(
MAC
,
"dlDmrsSymbPos = 0x%x
\n
"
,
dlsch_config_pdu_1_0
->
dlDmrsSymbPos
);
/* number of DM-RS CDM groups without data according to subclause 5.1.6.2 of 3GPP TS 38.214 version 15.9.0 Release 15 */
//if (dlsch_config_pdu_1_0->number_symbols == 2)
// dlsch_config_pdu_1_0->n_dmrs_cdm_groups = 1;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
View file @
93d93c81
...
...
@@ -246,6 +246,7 @@ void schedule_control_sib1(module_id_t module_id,
fill_default_coresetZero
(
gNB_mac
->
sched_ctrlCommon
->
coreset
,
servingcellconfigcommon
);
fill_default_initialDownlinkBWP
(
gNB_mac
->
sched_ctrlCommon
->
active_bwp
,
servingcellconfigcommon
);
}
//gNB_mac->sched_ctrlCommon->active_bwp->bwp_Dedicated->pdsch_Config->choice.setup->dmrs_DownlinkForPDSCH_MappingTypeA->choice.setup->dmrs_AdditionalPosition = NULL;
gNB_mac
->
sched_ctrlCommon
->
time_domain_allocation
=
time_domain_allocation
;
gNB_mac
->
sched_ctrlCommon
->
mcsTableIdx
=
mcsTableIdx
;
...
...
@@ -370,6 +371,8 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
pdsch_pdu_rel15
->
dlDmrsSymbPos
=
fill_dmrs_mask
(
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
,
scc
->
dmrs_TypeA_Position
,
pdsch_pdu_rel15
->
NrOfSymbols
);
LOG_D
(
MAC
,
"dlDmrsSymbPos = 0x%x
\n
"
,
pdsch_pdu_rel15
->
dlDmrsSymbPos
);
dci_pdu_rel15_t
dci_pdu_rel15
[
MAX_DCI_CORESET
];
memset
(
dci_pdu_rel15
,
0
,
sizeof
(
dci_pdu_rel15_t
)
*
MAX_DCI_CORESET
);
...
...
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