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
948188b2
Commit
948188b2
authored
Feb 22, 2024
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
basic C cleaning of dci decoding
parent
08051056
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
243 additions
and
335 deletions
+243
-335
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_ESTIMATION/nr_estimation.h
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
+1
-1
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+219
-306
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
+8
-14
openair1/SCHED_NR_UE/defs.h
openair1/SCHED_NR_UE/defs.h
+1
-1
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+5
-9
openair1/SIMULATION/NR_PHY/pbchsim.c
openair1/SIMULATION/NR_PHY/pbchsim.c
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+7
-2
No files found.
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
948188b2
...
...
@@ -1060,7 +1060,7 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
uint16_t
first_carrier_offset
,
uint16_t
BWPStart
,
int32_t
pdcch_est_size
,
int32
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c16
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
View file @
948188b2
...
...
@@ -54,7 +54,7 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
uint16_t
first_carrier_offset
,
uint16_t
BWPStart
,
int32_t
pdcch_est_size
,
int32
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c16
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
int
nr_pbch_dmrs_correlation
(
PHY_VARS_NR_UE
*
ue
,
...
...
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
View file @
948188b2
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
948188b2
...
...
@@ -266,13 +266,13 @@ void nr_dlsch_unscrambling(int16_t* llr,
uint32_t
Nid
,
uint32_t
n_RNTI
);
int32_t
nr_rx_pdcch
(
PHY_VARS_NR_UE
*
ue
,
const
UE_nr_rxtx_proc_t
*
proc
,
int32_t
pdcch_est_size
,
int32
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
int
16_t
*
pdcch_e_rx
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
void
nr_rx_pdcch
(
PHY_VARS_NR_UE
*
ue
,
const
UE_nr_rxtx_proc_t
*
proc
,
int32_t
pdcch_est_size
,
c16
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c
16_t
*
pdcch_e_rx
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
/*! \brief Performs detection of SSS to find cell ID and other framing parameters (FDD/TDD, normal/extended prefix)
@param phy_vars_ue Pointer to UE variables
...
...
@@ -361,15 +361,9 @@ void nr_sl_rf_card_config_freq(PHY_VARS_NR_UE *ue,
openair0_config_t
*
openair0_cfg
,
int
freq_offset
);
void
nr_pdcch_unscrambling
(
int16_t
*
z
,
uint16_t
scrambling_RNTI
,
uint32_t
length
,
uint16_t
pdcch_DMRS_scrambling_id
,
int16_t
*
z2
);
uint8_t
nr_dci_decoding_procedure
(
PHY_VARS_NR_UE
*
ue
,
const
UE_nr_rxtx_proc_t
*
proc
,
int
16_t
*
pdcch_e_rx
,
c
16_t
*
pdcch_e_rx
,
fapi_nr_dci_indication_t
*
dci_ind
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
);
...
...
openair1/SCHED_NR_UE/defs.h
View file @
948188b2
...
...
@@ -152,7 +152,7 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind,
int
nr_ue_pdcch_procedures
(
PHY_VARS_NR_UE
*
ue
,
const
UE_nr_rxtx_proc_t
*
proc
,
int32_t
pdcch_est_size
,
int32
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c16
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
nr_phy_data_t
*
phy_data
,
int
n_ss
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
948188b2
...
...
@@ -426,7 +426,7 @@ unsigned int nr_get_tx_amp(int power_dBm, int power_max_dBm, int N_RB_UL, int nb
int
nr_ue_pdcch_procedures
(
PHY_VARS_NR_UE
*
ue
,
const
UE_nr_rxtx_proc_t
*
proc
,
int32_t
pdcch_est_size
,
int32
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c16
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
nr_phy_data_t
*
phy_data
,
int
n_ss
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
...
...
@@ -444,7 +444,7 @@ int nr_ue_pdcch_procedures(PHY_VARS_NR_UE *ue,
/// PDCCH/DCI e-sequence (input to rate matching).
int32_t
pdcch_e_rx_size
=
NR_MAX_PDCCH_SIZE
;
int
16_t
pdcch_e_rx
[
pdcch_e_rx_size
];
c
16_t
pdcch_e_rx
[
pdcch_e_rx_size
];
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH
,
VCD_FUNCTION_IN
);
nr_rx_pdcch
(
ue
,
proc
,
pdcch_est_size
,
pdcch_dl_ch_estimates
,
pdcch_e_rx
,
rel15
,
rxdataF
);
...
...
@@ -861,9 +861,7 @@ void pbch_pdcch_processing(PHY_VARS_NR_UE *ue, const UE_nr_rxtx_proc_t *proc, nr
const
uint32_t
rxdataF_sz
=
ue
->
frame_parms
.
samples_per_slot_wCP
;
__attribute__
((
aligned
(
32
)))
c16_t
rxdataF
[
ue
->
frame_parms
.
nb_antennas_rx
][
rxdataF_sz
];
// checking if current frame is compatible with SSB periodicity
if
(
cfg
->
ssb_table
.
ssb_period
==
0
||
!
(
frame_rx
%
(
1
<<
(
cfg
->
ssb_table
.
ssb_period
-
1
)))){
if
(
cfg
->
ssb_table
.
ssb_period
==
0
||
!
(
frame_rx
%
(
1
<<
(
cfg
->
ssb_table
.
ssb_period
-
1
))))
{
const
int
estimateSz
=
fp
->
symbols_per_slot
*
fp
->
ofdm_symbol_size
;
// loop over SSB blocks
for
(
int
ssb_index
=
0
;
ssb_index
<
fp
->
Lmax
;
ssb_index
++
)
{
...
...
@@ -874,9 +872,7 @@ void pbch_pdcch_processing(PHY_VARS_NR_UE *ue, const UE_nr_rxtx_proc_t *proc, nr
int
ssb_slot
=
ssb_start_symbol
/
fp
->
symbols_per_slot
;
int
ssb_slot_2
=
(
cfg
->
ssb_table
.
ssb_period
==
0
)
?
ssb_slot
+
(
fp
->
slots_per_frame
>>
1
)
:
-
1
;
if
(
ssb_slot
==
nr_slot_rx
||
ssb_slot_2
==
nr_slot_rx
)
{
if
(
ssb_slot
==
nr_slot_rx
||
ssb_slot_2
==
nr_slot_rx
)
{
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PBCH
,
VCD_FUNCTION_IN
);
LOG_D
(
PHY
,
" ------ PBCH ChannelComp/LLR: frame.slot %d.%d ------
\n
"
,
frame_rx
%
1024
,
nr_slot_rx
);
...
...
@@ -990,7 +986,7 @@ void pbch_pdcch_processing(PHY_VARS_NR_UE *ue, const UE_nr_rxtx_proc_t *proc, nr
// Hold the channel estimates in frequency domain.
int32_t
pdcch_est_size
=
((((
fp
->
symbols_per_slot
*
(
fp
->
ofdm_symbol_size
+
LTE_CE_FILTER_LENGTH
))
+
15
)
/
16
)
*
16
);
__attribute__
((
aligned
(
16
)))
int32_t
pdcch_dl_ch_estimates
[
4
*
fp
->
nb_antennas_rx
][
pdcch_est_size
];
__attribute__
((
aligned
(
16
)))
c16_t
pdcch_dl_ch_estimates
[
4
*
fp
->
nb_antennas_rx
][
pdcch_est_size
];
uint8_t
dci_cnt
=
0
;
for
(
int
n_ss
=
0
;
n_ss
<
phy_pdcch_config
->
nb_search_space
;
n_ss
++
)
{
...
...
openair1/SIMULATION/NR_PHY/pbchsim.c
View file @
948188b2
...
...
@@ -117,7 +117,7 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind,
int
nr_ue_pdcch_procedures
(
PHY_VARS_NR_UE
*
ue
,
const
UE_nr_rxtx_proc_t
*
proc
,
int32_t
pdcch_est_size
,
int32
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
c16
_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
nr_phy_data_t
*
phy_data
,
int
n_ss
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
948188b2
...
...
@@ -377,8 +377,13 @@ int nr_ue_process_dci_indication_pdu(NR_UE_MAC_INST_t *mac,
{
dci_pdu_rel15_t
*
def_dci_pdu_rel15
=
&
mac
->
def_dci_pdu_rel15
[
slot
][
dci
->
dci_format
];
LOG_D
(
MAC
,
"Received dci indication (rnti %x,dci format %d,n_CCE %d,payloadSize %d,payload %llx)
\n
"
,
dci
->
rnti
,
dci
->
dci_format
,
dci
->
n_CCE
,
dci
->
payloadSize
,
*
(
unsigned
long
long
*
)
dci
->
payloadBits
);
LOG_D
(
MAC
,
"Received dci indication (rnti %x,dci format %d,n_CCE %d,payloadSize %d,payload %llx)
\n
"
,
dci
->
rnti
,
dci
->
dci_format
,
dci
->
n_CCE
,
dci
->
payloadSize
,
*
(
unsigned
long
long
*
)
dci
->
payloadBits
);
const
int
ret
=
nr_extract_dci_info
(
mac
,
dci
->
dci_format
,
dci
->
payloadSize
,
dci
->
rnti
,
dci
->
ss_type
,
(
uint64_t
*
)
dci
->
payloadBits
,
def_dci_pdu_rel15
,
slot
);
if
((
ret
&
1
)
==
1
)
return
-
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