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
lizhongxiao
OpenXG-RAN
Commits
f2127adf
Commit
f2127adf
authored
Apr 12, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reworking of pdcch procedures function call
parent
913ac800
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
163 additions
and
159 deletions
+163
-159
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+119
-125
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+23
-20
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
+4
-2
openair1/SCHED_NR_UE/defs.h
openair1/SCHED_NR_UE/defs.h
+2
-1
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+14
-10
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+1
-1
No files found.
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
View file @
f2127adf
...
...
@@ -699,21 +699,19 @@ void pdcch_siso(NR_DL_FRAME_PARMS *frame_parms,
#ifdef NR_PDCCH_DCI_RUN
int32_t
nr_rx_pdcch
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
)
{
UE_nr_rxtx_proc_t
*
proc
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
)
{
uint32_t
frame
=
proc
->
frame_rx
;
uint32_t
slot
=
proc
->
nr_slot_rx
;
NR_UE_COMMON
*
common_vars
=
&
ue
->
common_vars
;
NR_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
NR_UE_PDCCH
*
pdcch_vars
=
ue
->
pdcch_vars
[
proc
->
thread_id
][
0
];
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
;
uint8_t
log2_maxh
,
aarx
;
int32_t
avgs
;
int32_t
avgP
[
4
];
for
(
int
i
=
0
;
i
<
pdcch_vars
->
nb_search_space
;
i
++
)
{
rel15
=
&
pdcch_vars
->
pdcch_config
[
i
];
int
n_rb
,
rb_offset
;
get_coreset_rballoc
(
rel15
->
coreset
.
frequency_domain_resource
,
&
n_rb
,
&
rb_offset
);
for
(
int
s
=
rel15
->
coreset
.
StartSymbolIndex
;
s
<
(
rel15
->
coreset
.
StartSymbolIndex
+
rel15
->
coreset
.
duration
);
s
++
)
{
...
...
@@ -807,7 +805,6 @@ int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
LOG_D
(
PHY
,
"we end nr_pdcch_unscrambling()
\n
"
);
LOG_D
(
PHY
,
"Ending nr_rx_pdcch() function
\n
"
);
}
return
(
0
);
}
...
...
@@ -876,13 +873,11 @@ void nr_pdcch_unscrambling(int16_t *z,
#ifdef NR_PDCCH_DCI_RUN
uint8_t
nr_dci_decoding_procedure
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
fapi_nr_dci_indication_t
*
dci_ind
)
{
fapi_nr_dci_indication_t
*
dci_ind
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
)
{
NR_UE_PDCCH
*
pdcch_vars
=
ue
->
pdcch_vars
[
proc
->
thread_id
][
0
];
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
;
for
(
int
i
=
0
;
i
<
pdcch_vars
->
nb_search_space
;
i
++
)
{
rel15
=
&
pdcch_vars
->
pdcch_config
[
i
];
//int gNB_id = 0;
int16_t
tmp_e
[
16
*
108
];
rnti_t
n_rnti
;
...
...
@@ -901,14 +896,14 @@ uint8_t nr_dci_decoding_procedure(PHY_VARS_NR_UE *ue,
nr_pdcch_unscrambling
(
&
pdcch_vars
->
e_rx
[
CCEind
*
108
],
rel15
->
coreset
.
scrambling_rnti
,
L
*
108
,
rel15
->
coreset
.
pdcch_dmrs_scrambling_id
,
tmp_e
);
#ifdef DEBUG_DCI_DECODING
#ifdef DEBUG_DCI_DECODING
uint32_t
*
z
=
(
uint32_t
*
)
&
pdcch_vars
->
e_rx
[
CCEind
*
108
];
for
(
int
index_z
=
0
;
index_z
<
96
;
index_z
++
){
for
(
int
i
=
0
;
i
<
9
;
i
++
)
{
LOG_D
(
PHY
,
"z[%d]=(%d,%d)
\n
"
,
(
9
*
index_z
+
i
),
*
(
int16_t
*
)
&
z
[
index_z
+
i
],
*
(
1
+
(
int16_t
*
)
&
z
[
index_z
+
i
]));
}
}
#endif
#endif
uint16_t
crc
=
polar_decoder_int16
(
tmp_e
,
dci_estimation
,
...
...
@@ -934,7 +929,6 @@ uint8_t nr_dci_decoding_procedure(PHY_VARS_NR_UE *ue,
}
}
}
}
return
(
dci_ind
->
number_of_dcis
);
}
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
f2127adf
...
...
@@ -483,12 +483,11 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc, PHY_VARS_NR_UE *ue, int n_frames, i
if
(
sa
==
1
&&
ret
==
0
)
{
NR_UE_PDCCH
*
pdcch_vars
=
ue
->
pdcch_vars
[
proc
->
thread_id
][
0
];
uint8_t
nb_symb_pdcch
=
pdcch_vars
->
nb_search_space
>
0
?
pdcch_vars
->
pdcch_config
[
0
].
coreset
.
duration
:
0
;
int
coreset_nb_rb
=
0
;
int
coreset_start_rb
=
0
;
if
(
pdcch_vars
->
nb_search_space
>
0
)
get_coreset_rballoc
(
pdcch_vars
->
pdcch_config
[
0
].
coreset
.
frequency_domain_resource
,
&
coreset_nb_rb
,
&
coreset_start_rb
);
for
(
int
n_ss
=
0
;
n_ss
<
pdcch_vars
->
nb_search_space
;
n_ss
++
)
{
get_coreset_rballoc
(
pdcch_vars
->
pdcch_config
[
n_ss
].
coreset
.
frequency_domain_resource
,
&
coreset_nb_rb
,
&
coreset_start_rb
);
for
(
uint16_t
l
=
0
;
l
<
nb_symb_pdcch
;
l
++
)
{
nr_slot_fep_init_sync
(
ue
,
...
...
@@ -503,11 +502,15 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc, PHY_VARS_NR_UE *ue, int n_frames, i
0
,
pdcch_vars
->
slot
,
l
,
fp
->
first_carrier_offset
+
(
pdcch_vars
->
pdcch_config
[
0
].
BWPStart
+
coreset_start_rb
)
*
12
,
fp
->
first_carrier_offset
+
(
pdcch_vars
->
pdcch_config
[
n_ss
].
BWPStart
+
coreset_start_rb
)
*
12
,
coreset_nb_rb
);
}
int
dci_cnt
=
nr_ue_pdcch_procedures
(
0
,
ue
,
proc
);
//gNB_id set to 0
int
dci_cnt
=
nr_ue_pdcch_procedures
(
0
,
ue
,
proc
,
n_ss
);
//gNB_id set to 0
if
(
dci_cnt
>
0
){
break
;
}
}
}
// exit_fun("debug exit");
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_NR_INITIAL_UE_SYNC
,
VCD_FUNCTION_OUT
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
f2127adf
...
...
@@ -1120,7 +1120,8 @@ uint32_t dlsch_decoding_emul(PHY_VARS_NR_UE *phy_vars_ue,
uint8_t
eNB_id
);
int32_t
nr_rx_pdcch
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
);
UE_nr_rxtx_proc_t
*
proc
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
);
/*! \brief Extract PSS and SSS resource elements
...
...
@@ -1709,7 +1710,8 @@ uint32_t lte_gold_generic(uint32_t *x1, uint32_t *x2, uint8_t reset);
uint8_t
nr_dci_decoding_procedure
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
fapi_nr_dci_indication_t
*
dci_ind
);
fapi_nr_dci_indication_t
*
dci_ind
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
);
/** \brief This function is the top-level entry point to PDSCH demodulation, after frequency-domain transformation and channel estimation. It performs
...
...
openair1/SCHED_NR_UE/defs.h
View file @
f2127adf
...
...
@@ -418,7 +418,8 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind,
int
nr_ue_pdcch_procedures
(
uint8_t
gNB_id
,
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
);
UE_nr_rxtx_proc_t
*
proc
,
int
n_ss
);
#endif
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
f2127adf
...
...
@@ -477,7 +477,8 @@ unsigned int nr_get_tx_amp(int power_dBm, int power_max_dBm, int N_RB_UL, int nb
int
nr_ue_pdcch_procedures
(
uint8_t
gNB_id
,
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
)
UE_nr_rxtx_proc_t
*
proc
,
int
n_ss
)
{
int
frame_rx
=
proc
->
frame_rx
;
int
nr_slot_rx
=
proc
->
nr_slot_rx
;
...
...
@@ -485,6 +486,9 @@ int nr_ue_pdcch_procedures(uint8_t gNB_id,
fapi_nr_dci_indication_t
dci_ind
=
{
0
};
nr_downlink_indication_t
dl_indication
;
NR_UE_PDCCH
*
pdcch_vars
=
ue
->
pdcch_vars
[
proc
->
thread_id
][
gNB_id
];
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
=
&
pdcch_vars
->
pdcch_config
[
n_ss
];
/*
// unsigned int dci_cnt=0, i; //removed for nr_ue_pdcch_procedures and added in the loop for nb_coreset_active
#ifdef NR_PDCCH_SCHED_DEBUG
...
...
@@ -669,18 +673,18 @@ int nr_ue_pdcch_procedures(uint8_t gNB_id,
*/
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH
,
VCD_FUNCTION_IN
);
nr_rx_pdcch
(
ue
,
proc
);
nr_rx_pdcch
(
ue
,
proc
,
rel15
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH
,
VCD_FUNCTION_OUT
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_DCI_DECODING
,
VCD_FUNCTION_IN
);
#ifdef NR_PDCCH_SCHED_DEBUG
printf
(
"<-NR_PDCCH_PHY_PROCEDURES_LTE_UE (nr_ue_pdcch_procedures)-> Entering function nr_dci_decoding_procedure
with (nb_searchspace_active=
%d)
\n
"
,
pdcch_vars
->
nb_search_space
);
printf
(
"<-NR_PDCCH_PHY_PROCEDURES_LTE_UE (nr_ue_pdcch_procedures)-> Entering function nr_dci_decoding_procedure
for search space
%d)
\n
"
,
n_ss
);
#endif
dci_cnt
=
nr_dci_decoding_procedure
(
ue
,
proc
,
&
dci_ind
);
dci_cnt
=
nr_dci_decoding_procedure
(
ue
,
proc
,
&
dci_ind
,
rel15
);
#ifdef NR_PDCCH_SCHED_DEBUG
LOG_I
(
PHY
,
"<-NR_PDCCH_PHY_PROCEDURES_LTE_UE (nr_ue_pdcch_procedures)-> Ending function nr_dci_decoding_procedure() -> dci_cnt=%u
\n
"
,
dci_cnt
);
...
...
@@ -1708,10 +1712,11 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
proc
,
l
,
nr_slot_rx
);
}
dci_cnt
=
0
;
for
(
int
n_ss
=
0
;
n_ss
<
pdcch_vars
->
nb_search_space
;
n_ss
++
)
{
for
(
uint16_t
l
=
0
;
l
<
nb_symb_pdcch
;
l
++
)
{
// note: this only works if RBs for PDCCH are contigous!
LOG_D
(
PHY
,
"pdcch_channel_estimation: first_carrier_offset %d, BWPStart %d, coreset_start_rb %d
\n
"
,
fp
->
first_carrier_offset
,
pdcch_vars
->
pdcch_config
[
n_ss
].
BWPStart
,
coreset_start_rb
);
...
...
@@ -1728,9 +1733,8 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
ofdm_demod_stats
);
#endif
dci_cnt
=
dci_cnt
+
nr_ue_pdcch_procedures
(
gNB_id
,
ue
,
proc
);
}
dci_cnt
=
dci_cnt
+
nr_ue_pdcch_procedures
(
gNB_id
,
ue
,
proc
,
n_ss
);
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP_PDCCH
,
VCD_FUNCTION_OUT
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
f2127adf
...
...
@@ -490,7 +490,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
RA_config_t
*
ra
=
&
mac
->
ra
;
fapi_nr_dl_config_request_t
*
dl_config
=
&
mac
->
dl_config_request
;
uint8_t
is_Msg3
=
0
;
printf
(
"%p
\n
"
,
mac
->
scg
);
uint16_t
n_RB_DLBWP
=
(
mac
->
scg
)
?
NRRIV2BW
(
mac
->
DLbwp
[
0
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
)
:
mac
->
type0_PDCCH_CSS_config
.
num_rbs
;
...
...
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