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
zzha zzha
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
Expand all
Hide 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
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
f2127adf
...
...
@@ -483,31 +483,34 @@ 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
(
uint16_t
l
=
0
;
l
<
nb_symb_pdcch
;
l
++
)
{
nr_slot_fep_init_sync
(
ue
,
proc
,
l
,
// the UE PHY has no notion of the symbols to be monitored in the search space
pdcch_vars
->
slot
,
pdcch_vars
->
sfn
*
fp
->
samples_per_frame
+
ue
->
rx_offset
);
if
(
coreset_nb_rb
>
0
)
nr_pdcch_channel_estimation
(
ue
,
proc
,
0
,
pdcch_vars
->
slot
,
l
,
fp
->
first_carrier_offset
+
(
pdcch_vars
->
pdcch_config
[
0
].
BWPStart
+
coreset_start_rb
)
*
12
,
coreset_nb_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
,
proc
,
l
,
// the UE PHY has no notion of the symbols to be monitored in the search space
pdcch_vars
->
slot
,
pdcch_vars
->
sfn
*
fp
->
samples_per_frame
+
ue
->
rx_offset
);
if
(
coreset_nb_rb
>
0
)
nr_pdcch_channel_estimation
(
ue
,
proc
,
0
,
pdcch_vars
->
slot
,
l
,
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
,
n_ss
);
//gNB_id set to 0
if
(
dci_cnt
>
0
){
break
;
}
}
int
dci_cnt
=
nr_ue_pdcch_procedures
(
0
,
ue
,
proc
);
//gNB_id set to 0
}
// 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
++
)
{
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