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
1ca324e5
Commit
1ca324e5
authored
4 years ago
by
Khodr Saaifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Enable DMRS config2 for PDSCH and fix bug in the UE phy_procedures_nr_ue
parent
97a9dfd8
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
66 additions
and
32 deletions
+66
-32
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+1
-1
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+2
-2
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
+41
-19
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
+2
-0
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+16
-6
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+1
-1
openair2/RRC/NR/rrc_gNB_reconfig.c
openair2/RRC/NR/rrc_gNB_reconfig.c
+1
-1
No files found.
openair1/PHY/INIT/nr_init_ue.c
View file @
1ca324e5
...
@@ -713,7 +713,7 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
...
@@ -713,7 +713,7 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
// dmrs_Uplink_Config->pusch_dmrs_AdditionalPosition = pusch_dmrs_pos0;
// dmrs_Uplink_Config->pusch_dmrs_AdditionalPosition = pusch_dmrs_pos0;
// dmrs_Uplink_Config->pusch_maxLength = pusch_len1;
// dmrs_Uplink_Config->pusch_maxLength = pusch_len1;
//-------------------------------------------------//
//-------------------------------------------------//
ue
->
dmrs_DownlinkConfig
.
pdsch_dmrs_type
=
pdsch_dmrs_type
1
;
//sfn
ue
->
dmrs_DownlinkConfig
.
pdsch_dmrs_type
=
pdsch_dmrs_type
2
;
ue
->
dmrs_DownlinkConfig
.
pdsch_dmrs_AdditionalPosition
=
pdsch_dmrs_pos0
;
ue
->
dmrs_DownlinkConfig
.
pdsch_dmrs_AdditionalPosition
=
pdsch_dmrs_pos0
;
ue
->
dmrs_DownlinkConfig
.
pdsch_maxLength
=
pdsch_len1
;
ue
->
dmrs_DownlinkConfig
.
pdsch_maxLength
=
pdsch_len1
;
//-------------------------------------------------//
//-------------------------------------------------//
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
1ca324e5
...
@@ -726,7 +726,7 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
...
@@ -726,7 +726,7 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
}
}
}
else
{
//pdsch_dmrs_type2
}
else
{
//pdsch_dmrs_type2
nushift
=
delta
;
nushift
=
delta
;
ue
->
frame_parms
.
nushift
=
nushift
>>
1
;
//SFN:fixMe IT MUST BE WITHOUT >>1
ue
->
frame_parms
.
nushift
=
nushift
;
switch
(
delta
)
{
switch
(
delta
)
{
case
0
:
//port 0,1
case
0
:
//port 0,1
fl
=
filt8_l2
;
//left interpolation Filter should be fml
fl
=
filt8_l2
;
//left interpolation Filter should be fml
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
1ca324e5
...
@@ -589,7 +589,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -589,7 +589,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
// Fixme: correct type is unsigned, but nrLDPC_decoder and all called behind use signed int
// Fixme: correct type is unsigned, but nrLDPC_decoder and all called behind use signed int
if
(
check_crc
((
uint8_t
*
)
llrProcBuf
,
length_dec
,
harq_process
->
F
,
crc_type
))
{
if
(
check_crc
((
uint8_t
*
)
llrProcBuf
,
length_dec
,
harq_process
->
F
,
crc_type
))
{
LOG_
D
(
PHY
,
"Segment %u CRC OK
\n\033
[0m"
,
r
);
LOG_
I
(
PHY
,
"Segment %u CRC OK
\n\033
[0m"
,
r
);
if
(
r
==
0
)
if
(
r
==
0
)
for
(
int
i
=
0
;
i
<
10
;
i
++
)
LOG_D
(
PHY
,
"byte %d : %x
\n
"
,
i
,((
uint8_t
*
)
llrProcBuf
)[
i
]);
for
(
int
i
=
0
;
i
<
10
;
i
++
)
LOG_D
(
PHY
,
"byte %d : %x
\n
"
,
i
,((
uint8_t
*
)
llrProcBuf
)[
i
]);
...
@@ -598,7 +598,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -598,7 +598,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
ret
=
no_iteration_ldpc
;
ret
=
no_iteration_ldpc
;
}
}
else
{
else
{
LOG_
D
(
PHY
,
"CRC NOK
\n\033
[0m"
);
LOG_
I
(
PHY
,
"CRC NOK
\n\033
[0m"
);
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
}
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
View file @
1ca324e5
...
@@ -151,6 +151,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
...
@@ -151,6 +151,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
uint32_t
llr_offset_symbol
;
uint32_t
llr_offset_symbol
;
//uint16_t bundle_L = 2;
//uint16_t bundle_L = 2;
uint8_t
pilots
=
0
;
uint8_t
pilots
=
0
;
uint8_t
config_type
=
ue
->
dmrs_DownlinkConfig
.
pdsch_dmrs_type
;
uint16_t
n_tx
=
1
,
n_rx
=
1
;
uint16_t
n_tx
=
1
,
n_rx
=
1
;
int32_t
median
[
16
];
int32_t
median
[
16
];
uint32_t
len
;
uint32_t
len
;
...
@@ -373,6 +374,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
...
@@ -373,6 +374,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
pdsch_vars
[
eNB_id
]
->
pmi_ext
,
pdsch_vars
[
eNB_id
]
->
pmi_ext
,
symbol
,
symbol
,
pilots
,
pilots
,
config_type
,
start_rb
,
start_rb
,
nb_rb_pdsch
,
nb_rb_pdsch
,
nr_tti_rx
,
nr_tti_rx
,
...
@@ -389,7 +391,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
...
@@ -389,7 +391,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
return
(
-
1
);
return
(
-
1
);
}
}
len
=
(
pilots
==
1
)
?
(
nb_rb
*
6
)
:
(
nb_rb
*
12
);
len
=
(
pilots
==
1
)
?
(
(
config_type
==
pdsch_dmrs_type1
)
?
nb_rb
*
(
12
-
6
*
dlsch0_harq
->
n_dmrs_cdm_groups
)
:
nb_rb
*
(
12
-
4
*
dlsch0_harq
->
n_dmrs_cdm_groups
)
)
:
(
nb_rb
*
12
);
#if UE_TIMING_TRACE
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
generic_stat_bis
[
ue
->
current_thread_id
[
nr_tti_rx
]][
slot
]);
stop_meas
(
&
ue
->
generic_stat_bis
[
ue
->
current_thread_id
[
nr_tti_rx
]][
slot
]);
...
@@ -413,6 +415,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
...
@@ -413,6 +415,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
dlsch
,
dlsch
,
symbol
,
symbol
,
pilots
,
pilots
,
len
,
nb_rb
);
nb_rb
);
#if UE_TIMING_TRACE
#if UE_TIMING_TRACE
...
@@ -1797,6 +1800,7 @@ void nr_dlsch_scale_channel(int **dl_ch_estimates_ext,
...
@@ -1797,6 +1800,7 @@ void nr_dlsch_scale_channel(int **dl_ch_estimates_ext,
NR_UE_DLSCH_t
**
dlsch_ue
,
NR_UE_DLSCH_t
**
dlsch_ue
,
uint8_t
symbol
,
uint8_t
symbol
,
uint8_t
pilots
,
uint8_t
pilots
,
uint32_t
len
,
unsigned
short
nb_rb
)
unsigned
short
nb_rb
)
{
{
...
@@ -1805,12 +1809,9 @@ void nr_dlsch_scale_channel(int **dl_ch_estimates_ext,
...
@@ -1805,12 +1809,9 @@ void nr_dlsch_scale_channel(int **dl_ch_estimates_ext,
short
rb
,
ch_amp
;
short
rb
,
ch_amp
;
unsigned
char
aatx
,
aarx
;
unsigned
char
aatx
,
aarx
;
__m128i
*
dl_ch128
,
ch_amp128
;
__m128i
*
dl_ch128
,
ch_amp128
;
if
(
pilots
==
1
){
uint32_t
nb_rb_0
=
len
/
12
+
((
len
%
12
)
?
1
:
0
);
nb_rb
=
nb_rb
>>
1
;
}
// Determine scaling amplitude based the symbol
// Determine scaling amplitude based the symbol
ch_amp
=
1024
*
8
;
//((pilots) ? (dlsch_ue[0]->sqrt_rho_b) : (dlsch_ue[0]->sqrt_rho_a));
ch_amp
=
1024
*
8
;
//((pilots) ? (dlsch_ue[0]->sqrt_rho_b) : (dlsch_ue[0]->sqrt_rho_a));
...
@@ -1825,7 +1826,7 @@ void nr_dlsch_scale_channel(int **dl_ch_estimates_ext,
...
@@ -1825,7 +1826,7 @@ void nr_dlsch_scale_channel(int **dl_ch_estimates_ext,
dl_ch128
=
(
__m128i
*
)
&
dl_ch_estimates_ext
[(
aatx
<<
1
)
+
aarx
][
symbol
*
nb_rb
*
12
];
dl_ch128
=
(
__m128i
*
)
&
dl_ch_estimates_ext
[(
aatx
<<
1
)
+
aarx
][
symbol
*
nb_rb
*
12
];
for
(
rb
=
0
;
rb
<
nb_rb
;
rb
++
)
{
for
(
rb
=
0
;
rb
<
nb_rb
_0
;
rb
++
)
{
dl_ch128
[
0
]
=
_mm_mulhi_epi16
(
dl_ch128
[
0
],
ch_amp128
);
dl_ch128
[
0
]
=
_mm_mulhi_epi16
(
dl_ch128
[
0
],
ch_amp128
);
dl_ch128
[
0
]
=
_mm_slli_epi16
(
dl_ch128
[
0
],
3
);
dl_ch128
[
0
]
=
_mm_slli_epi16
(
dl_ch128
[
0
],
3
);
...
@@ -2351,6 +2352,7 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
...
@@ -2351,6 +2352,7 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
unsigned
char
*
pmi_ext
,
unsigned
char
*
pmi_ext
,
unsigned
char
symbol
,
unsigned
char
symbol
,
uint8_t
pilots
,
uint8_t
pilots
,
uint8_t
config_type
,
unsigned
short
start_rb
,
unsigned
short
start_rb
,
unsigned
short
nb_rb_pdsch
,
unsigned
short
nb_rb_pdsch
,
unsigned
char
nr_tti_rx
,
unsigned
char
nr_tti_rx
,
...
@@ -2367,8 +2369,12 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
...
@@ -2367,8 +2369,12 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
unsigned
char
j
=
0
;
unsigned
char
j
=
0
;
AssertFatal
(
frame_parms
->
nushift
==
0
||
frame_parms
->
nushift
==
1
,
if
(
config_type
==
pdsch_dmrs_type1
)
AssertFatal
(
frame_parms
->
nushift
==
0
||
frame_parms
->
nushift
==
1
,
"nushift %d is illegal
\n
"
,
frame_parms
->
nushift
);
"nushift %d is illegal
\n
"
,
frame_parms
->
nushift
);
else
AssertFatal
(
frame_parms
->
nushift
==
0
||
frame_parms
->
nushift
==
2
||
frame_parms
->
nushift
==
4
,
"nushift %d is illegal
\n
"
,
frame_parms
->
nushift
);
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
...
@@ -2394,20 +2400,36 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
...
@@ -2394,20 +2400,36 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
memcpy
((
void
*
)
dl_ch0_ext
,(
void
*
)
dl_ch0
,
12
*
sizeof
(
*
dl_ch0_ext
));
memcpy
((
void
*
)
dl_ch0_ext
,(
void
*
)
dl_ch0
,
12
*
sizeof
(
*
dl_ch0_ext
));
dl_ch0_ext
+=
12
;
dl_ch0_ext
+=
12
;
rxF_ext
+=
12
;
rxF_ext
+=
12
;
}
else
{
}
else
{
//the symbol contains DMRS
j
=
0
;
j
=
0
;
if
(
config_type
==
pdsch_dmrs_type1
){
for
(
i
=
(
1
-
frame_parms
->
nushift
);
for
(
i
=
(
1
-
frame_parms
->
nushift
);
i
<
12
;
i
<
12
;
i
+=
2
)
{
i
+=
2
)
{
rxF_ext
[
j
]
=
rxF
[
i
];
rxF_ext
[
j
]
=
rxF
[
i
];
dl_ch0_ext
[
j
]
=
dl_ch0
[
i
];
dl_ch0_ext
[
j
]
=
dl_ch0
[
i
];
j
++
;
j
++
;
}
dl_ch0_ext
+=
6
;
rxF_ext
+=
6
;
}
else
{
for
(
i
=
(
2
+
frame_parms
->
nushift
);
i
<
6
;
i
++
)
{
rxF_ext
[
j
]
=
rxF
[
i
];
dl_ch0_ext
[
j
]
=
dl_ch0
[
i
];
j
++
;
}
for
(
i
=
(
8
+
frame_parms
->
nushift
);
i
<
12
;
i
++
)
{
rxF_ext
[
j
]
=
rxF
[
i
];
dl_ch0_ext
[
j
]
=
dl_ch0
[
i
];
j
++
;
}
dl_ch0_ext
+=
8
;
rxF_ext
+=
8
;
}
}
dl_ch0_ext
+=
6
;
rxF_ext
+=
6
;
}
}
dl_ch0
+=
12
;
dl_ch0
+=
12
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
1ca324e5
...
@@ -715,6 +715,7 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
...
@@ -715,6 +715,7 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
unsigned
char
*
pmi_ext
,
unsigned
char
*
pmi_ext
,
unsigned
char
symbol
,
unsigned
char
symbol
,
uint8_t
pilots
,
uint8_t
pilots
,
uint8_t
config_type
,
unsigned
short
start_rb
,
unsigned
short
start_rb
,
unsigned
short
nb_pdsch_rb
,
unsigned
short
nb_pdsch_rb
,
unsigned
char
nr_tti_rx
,
unsigned
char
nr_tti_rx
,
...
@@ -1003,6 +1004,7 @@ void nr_dlsch_scale_channel(int32_t **dl_ch_estimates_ext,
...
@@ -1003,6 +1004,7 @@ void nr_dlsch_scale_channel(int32_t **dl_ch_estimates_ext,
NR_UE_DLSCH_t
**
dlsch_ue
,
NR_UE_DLSCH_t
**
dlsch_ue
,
uint8_t
symbol
,
uint8_t
symbol
,
uint8_t
start_symbol
,
uint8_t
start_symbol
,
uint32_t
len
,
uint16_t
nb_rb
);
uint16_t
nb_rb
);
/** \brief This is the top-level entry point for DLSCH decoding in UE. It should be replicated on several
/** \brief This is the top-level entry point for DLSCH decoding in UE. It should be replicated on several
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
1ca324e5
...
@@ -705,6 +705,8 @@ int nr_ue_pdcch_procedures(uint8_t gNB_id,
...
@@ -705,6 +705,8 @@ int nr_ue_pdcch_procedures(uint8_t gNB_id,
int
nr_ue_pdsch_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
int
eNB_id
,
PDSCH_t
pdsch
,
NR_UE_DLSCH_t
*
dlsch0
,
NR_UE_DLSCH_t
*
dlsch1
)
{
int
nr_ue_pdsch_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
int
eNB_id
,
PDSCH_t
pdsch
,
NR_UE_DLSCH_t
*
dlsch0
,
NR_UE_DLSCH_t
*
dlsch1
)
{
int
nr_tti_rx
=
proc
->
nr_tti_rx
;
int
nr_tti_rx
=
proc
->
nr_tti_rx
;
int
nr_frame_rx
=
proc
->
frame_rx
;
//LOG_M
char
filename
[
100
];
//LOG_M
int
m
;
int
m
;
int
i_mod
,
eNB_id_i
,
dual_stream_UE
;
int
i_mod
,
eNB_id_i
,
dual_stream_UE
;
int
first_symbol_flag
=
0
;
int
first_symbol_flag
=
0
;
...
@@ -728,15 +730,23 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_
...
@@ -728,15 +730,23 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_
// do channel estimation for first DMRS only
// do channel estimation for first DMRS only
for
(
m
=
s0
;
m
<
3
;
m
++
)
{
for
(
m
=
s0
;
m
<
3
;
m
++
)
{
if
(((
1
<<
m
)
&
dlsch0
->
harq_processes
[
harq_pid
]
->
dlDmrsSymbPos
)
>
0
)
{
if
(((
1
<<
m
)
&
dlsch0
->
harq_processes
[
harq_pid
]
->
dlDmrsSymbPos
)
>
0
)
{
nr_pdsch_channel_estimation
(
ue
,
for
(
uint8_t
aatx
=
0
;
aatx
<
1
;
aatx
++
)
{
//for MIMO Config: it shall loop over no_layers
nr_pdsch_channel_estimation
(
ue
,
0
/*eNB_id*/
,
0
/*eNB_id*/
,
nr_tti_rx
,
nr_tti_rx
,
0
/*p*/
,
aatx
/*p*/
,
m
,
m
,
ue
->
frame_parms
.
first_carrier_offset
+
(
BWPStart
+
pdsch_start_rb
)
*
12
,
ue
->
frame_parms
.
first_carrier_offset
+
(
BWPStart
+
pdsch_start_rb
)
*
12
,
pdsch_nb_rb
);
pdsch_nb_rb
);
LOG_D
(
PHY
,
"Channel Estimation in symbol %d
\n
"
,
m
);
///LOG_M: the channel estimation
break
;
LOG_D
(
PHY
,
"PDSCH Channel estimation gNB id %d, PDSCH antenna port %d, slot %d, symbol %d
\n
"
,
0
,
aatx
,
nr_tti_rx
,
m
);
for
(
uint8_t
aarx
=
0
;
aarx
<
ue
->
frame_parms
.
nb_antennas_rx
;
aarx
++
)
{
sprintf
(
filename
,
"PDSCH_CHANNEL_frame%d_slot%d_sym%d_port%d_rx%d.m"
,
nr_frame_rx
,
nr_tti_rx
,
m
,
aatx
,
aarx
);
//LOG_M
int
**
dl_ch_estimates
=
ue
->
pdsch_vars
[
ue
->
current_thread_id
[
nr_tti_rx
]][
0
]
->
dl_ch_estimates
;
//LOG_M(filename,"channel_F",&dl_ch_estimates[aatx*ue->frame_parms.nb_antennas_rx+aarx][ue->frame_parms.ofdm_symbol_size*m],ue->frame_parms.ofdm_symbol_size, 1, 1);
}
}
break
;
}
}
}
}
for
(
m
=
s0
;
m
<
(
s1
+
s0
);
m
++
)
{
for
(
m
=
s0
;
m
<
(
s1
+
s0
);
m
++
)
{
...
@@ -1039,7 +1049,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
...
@@ -1039,7 +1049,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
harq_pid
,
harq_pid
,
pdsch
==
PDSCH
?
1
:
0
,
pdsch
==
PDSCH
?
1
:
0
,
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
>
256
?
1
:
0
);
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
>
256
?
1
:
0
);
LOG_
T
(
PHY
,
"UE_DLSCH_PARALLELISATION is defined, ret = %d
\n
"
,
ret
);
LOG_
I
(
PHY
,
"UE_DLSCH_PARALLELISATION is defined, ret = %d
\n
"
,
ret
);
#else
#else
ret
=
nr_dlsch_decoding
(
ue
,
ret
=
nr_dlsch_decoding
(
ue
,
pdsch_vars
->
llr
[
0
],
pdsch_vars
->
llr
[
0
],
...
@@ -1052,7 +1062,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
...
@@ -1052,7 +1062,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
harq_pid
,
harq_pid
,
pdsch
==
PDSCH
?
1
:
0
,
pdsch
==
PDSCH
?
1
:
0
,
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
>
256
?
1
:
0
);
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
>
256
?
1
:
0
);
LOG_
T
(
PHY
,
"UE_DLSCH_PARALLELISATION is NOT defined, ret = %d
\n
"
,
ret
);
LOG_
I
(
PHY
,
"UE_DLSCH_PARALLELISATION is NOT defined, ret = %d
\n
"
,
ret
);
//printf("start cW0 dlsch decoding\n");
//printf("start cW0 dlsch decoding\n");
#endif
#endif
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
1ca324e5
...
@@ -815,7 +815,7 @@ void nr_generate_Msg2(module_id_t module_idP,
...
@@ -815,7 +815,7 @@ void nr_generate_Msg2(module_id_t module_idP,
pdsch_pdu_rel15
->
nrOfLayers
=
1
;
pdsch_pdu_rel15
->
nrOfLayers
=
1
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
pdsch_pdu_rel15
->
refPoint
=
0
;
pdsch_pdu_rel15
->
refPoint
=
0
;
pdsch_pdu_rel15
->
dmrsConfigType
=
0
;
pdsch_pdu_rel15
->
dmrsConfigType
=
1
;
pdsch_pdu_rel15
->
dlDmrsScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
dlDmrsScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
SCID
=
0
;
pdsch_pdu_rel15
->
SCID
=
0
;
pdsch_pdu_rel15
->
numDmrsCdmGrpsNoData
=
2
;
pdsch_pdu_rel15
->
numDmrsCdmGrpsNoData
=
2
;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
1ca324e5
...
@@ -133,7 +133,7 @@ void nr_schedule_css_dlsch_phytest(module_id_t module_idP,
...
@@ -133,7 +133,7 @@ void nr_schedule_css_dlsch_phytest(module_id_t module_idP,
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
pdsch_pdu_rel15
->
refPoint
=
0
;
// Point A
pdsch_pdu_rel15
->
refPoint
=
0
;
// Point A
pdsch_pdu_rel15
->
dmrsConfigType
=
0
;
// Type 1 by default for InitialBWP
pdsch_pdu_rel15
->
dmrsConfigType
=
1
;
// Type 1 by default for InitialBWP
pdsch_pdu_rel15
->
dlDmrsScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
dlDmrsScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
SCID
=
0
;
pdsch_pdu_rel15
->
SCID
=
0
;
pdsch_pdu_rel15
->
numDmrsCdmGrpsNoData
=
1
;
pdsch_pdu_rel15
->
numDmrsCdmGrpsNoData
=
1
;
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/rrc_gNB_reconfig.c
View file @
1ca324e5
...
@@ -555,7 +555,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
...
@@ -555,7 +555,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
))
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
maxLength
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
maxLength
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
scramblingID0
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
scramblingID0
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
scramblingID1
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
scramblingID1
=
NULL
;
...
...
This diff is collapsed.
Click to expand it.
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