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
Michael Black
OpenXG-RAN
Commits
c31fe381
Commit
c31fe381
authored
Nov 19, 2022
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplified function args
removed gNB_id and slot from function calls where proc is used.
parent
573e7fd9
Changes
21
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
76 additions
and
149 deletions
+76
-149
executables/nr-ue.c
executables/nr-ue.c
+3
-4
openair1/PHY/MODULATION/modulation_UE.h
openair1/PHY/MODULATION/modulation_UE.h
+0
-2
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/MODULATION/slot_fep_nr.c
+2
-2
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+9
-12
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
+1
-12
openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
+2
-2
openair1/PHY/NR_UE_TRANSPORT/csi_rx.c
openair1/PHY/NR_UE_TRANSPORT/csi_rx.c
+6
-4
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
+4
-11
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+4
-12
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
+2
-3
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
+0
-5
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
+1
-2
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.h
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.h
+1
-1
openair1/SCHED_NR_UE/defs.h
openair1/SCHED_NR_UE/defs.h
+6
-13
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+27
-49
openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
+1
-2
openair1/SCHED_NR_UE/pucch_uci_ue_nr.h
openair1/SCHED_NR_UE/pucch_uci_ue_nr.h
+0
-1
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+1
-1
openair1/SIMULATION/NR_PHY/nr_dummy_functions.c
openair1/SIMULATION/NR_PHY/nr_dummy_functions.c
+0
-2
openair1/SIMULATION/NR_PHY/pbchsim.c
openair1/SIMULATION/NR_PHY/pbchsim.c
+4
-7
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+2
-2
No files found.
executables/nr-ue.c
View file @
c31fe381
...
...
@@ -689,7 +689,7 @@ void processSlotTX(void *arg) {
stop_meas
(
&
UE
->
ue_ul_indication_stats
);
}
phy_procedures_nrUE_TX
(
UE
,
proc
,
proc
->
gNB_id
,
&
phy_data
);
phy_procedures_nrUE_TX
(
UE
,
proc
,
&
phy_data
);
}
RU_write
(
rxtxD
);
...
...
@@ -699,7 +699,6 @@ void UE_processing(nr_rxtx_thread_data_t *rxtxD) {
UE_nr_rxtx_proc_t
*
proc
=
&
rxtxD
->
proc
;
PHY_VARS_NR_UE
*
UE
=
rxtxD
->
UE
;
uint8_t
gNB_id
=
0
;
nr_phy_data_t
phy_data
=
{
0
};
if
(
IS_SOFTMODEM_NOS1
||
get_softmodem_params
()
->
sa
)
{
...
...
@@ -716,7 +715,7 @@ void UE_processing(nr_rxtx_thread_data_t *rxtxD) {
if
(
UE
->
if_inst
!=
NULL
&&
UE
->
if_inst
->
dl_indication
!=
NULL
)
{
nr_downlink_indication_t
dl_indication
;
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
NULL
,
proc
,
UE
,
gNB_id
,
&
phy_data
);
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
NULL
,
proc
,
UE
,
&
phy_data
);
UE
->
if_inst
->
dl_indication
(
&
dl_indication
,
NULL
);
}
...
...
@@ -725,7 +724,7 @@ void UE_processing(nr_rxtx_thread_data_t *rxtxD) {
phy_procedures_slot_parallelization_nrUE_RX
(
UE
,
proc
,
0
,
0
,
1
,
no_relay
,
NULL
);
#else
uint64_t
a
=
rdtsc_oai
();
phy_procedures_nrUE_RX
(
UE
,
proc
,
gNB_id
,
&
phy_data
);
phy_procedures_nrUE_RX
(
UE
,
proc
,
&
phy_data
);
LOG_D
(
PHY
,
"In %s: slot %d, time %llu
\n
"
,
__FUNCTION__
,
proc
->
nr_slot_rx
,
(
rdtsc_oai
()
-
a
)
/
3500
);
#endif
...
...
openair1/PHY/MODULATION/modulation_UE.h
View file @
c31fe381
...
...
@@ -51,13 +51,11 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue,
int
nr_slot_fep
(
PHY_VARS_NR_UE
*
phy_vars_ue
,
UE_nr_rxtx_proc_t
*
proc
,
unsigned
char
l
,
unsigned
char
Ns
,
c16_t
rxdataF
[][
phy_vars_ue
->
frame_parms
.
samples_per_slot_wCP
]);
int
nr_slot_fep_init_sync
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
unsigned
char
symbol
,
unsigned
char
Ns
,
int
sample_offset
,
bool
pbch_decoded
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
...
...
openair1/PHY/MODULATION/slot_fep_nr.c
View file @
c31fe381
...
...
@@ -37,11 +37,11 @@
int
nr_slot_fep
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
unsigned
char
symbol
,
unsigned
char
Ns
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
NR_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
NR_UE_COMMON
*
common_vars
=
&
ue
->
common_vars
;
int
Ns
=
proc
->
nr_slot_rx
;
AssertFatal
(
symbol
<
frame_parms
->
symbols_per_slot
,
"slot_fep: symbol must be between 0 and %d
\n
"
,
frame_parms
->
symbols_per_slot
-
1
);
AssertFatal
(
Ns
<
frame_parms
->
slots_per_frame
,
"slot_fep: Ns must be between 0 and %d
\n
"
,
frame_parms
->
slots_per_frame
-
1
);
...
...
@@ -150,13 +150,13 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
int
nr_slot_fep_init_sync
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
unsigned
char
symbol
,
unsigned
char
Ns
,
int
sample_offset
,
bool
pbch_decoded
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
NR_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
NR_UE_COMMON
*
common_vars
=
&
ue
->
common_vars
;
int
Ns
=
proc
->
nr_slot_rx
;
AssertFatal
(
symbol
<
frame_parms
->
symbols_per_slot
,
"slot_fep: symbol must be between 0 and %d
\n
"
,
frame_parms
->
symbols_per_slot
-
1
);
AssertFatal
(
Ns
<
frame_parms
->
slots_per_frame
,
"slot_fep: Ns must be between 0 and %d
\n
"
,
frame_parms
->
slots_per_frame
-
1
);
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
c31fe381
...
...
@@ -61,14 +61,14 @@ void peak_estimator(int32_t *buffer, int32_t buf_len, int32_t *peak_idx, int32_t
*
peak_idx
=
max_idx
;
}
int
nr_prs_channel_estimation
(
uint8_t
gNB_id
,
uint8_t
rsc_id
,
int
nr_prs_channel_estimation
(
uint8_t
rsc_id
,
uint8_t
rep_num
,
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
NR_DL_FRAME_PARMS
*
frame_params
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
gNB_id
=
proc
->
gNB_id
;
uint8_t
rxAnt
=
0
,
idx
=
0
;
prs_config_t
*
prs_cfg
=
&
ue
->
prs_vars
[
gNB_id
]
->
prs_resource
[
rsc_id
].
prs_cfg
;
prs_meas_t
**
prs_meas
=
ue
->
prs_vars
[
gNB_id
]
->
prs_resource
[
rsc_id
].
prs_meas
;
...
...
@@ -567,8 +567,6 @@ int nr_prs_channel_estimation(uint8_t gNB_id,
int
nr_pbch_dmrs_correlation
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
unsigned
char
Ns
,
unsigned
char
symbol
,
int
dmrss
,
NR_UE_SSB
*
current_ssb
,
...
...
@@ -600,7 +598,7 @@ int nr_pbch_dmrs_correlation(PHY_VARS_NR_UE *ue,
k
=
nushift
;
#ifdef DEBUG_PBCH
printf
(
"PBCH DMRS Correlation : gNB_id %d , OFDM size %d, Ncp=%d, Ns=%d, k=%d symbol %d
\n
"
,
gNB_id
,
ue
->
frame_parms
.
ofdm_symbol_size
,
ue
->
frame_parms
.
Ncp
,
Ns
,
k
,
symbol
);
printf
(
"PBCH DMRS Correlation : gNB_id %d , OFDM size %d, Ncp=%d, Ns=%d, k=%d symbol %d
\n
"
,
proc
->
gNB_id
,
ue
->
frame_parms
.
ofdm_symbol_size
,
ue
->
frame_parms
.
Ncp
,
Ns
,
k
,
symbol
);
#endif
// generate pilot
...
...
@@ -730,14 +728,13 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
struct
complex16
dl_ch_estimates
[][
estimateSz
],
struct
complex16
dl_ch_estimates_time
[][
ue
->
frame_parms
.
ofdm_symbol_size
],
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
unsigned
char
Ns
,
unsigned
char
symbol
,
int
dmrss
,
uint8_t
ssb_index
,
uint8_t
n_hf
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
Ns
=
proc
->
nr_slot_rx
;
int
pilot
[
200
]
__attribute__
((
aligned
(
16
)));
unsigned
short
k
;
unsigned
int
pilot_cnt
;
...
...
@@ -763,7 +760,7 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
k
=
nushift
;
#ifdef DEBUG_PBCH
printf
(
"PBCH Channel Estimation : gNB_id %d ch_offset %d, OFDM size %d, Ncp=%d, Ns=%d, k=%d symbol %d
\n
"
,
gNB_id
,
ch_offset
,
ue
->
frame_parms
.
ofdm_symbol_size
,
ue
->
frame_parms
.
Ncp
,
Ns
,
k
,
symbol
);
printf
(
"PBCH Channel Estimation : gNB_id %d ch_offset %d, OFDM size %d, Ncp=%d, Ns=%d, k=%d symbol %d
\n
"
,
proc
->
gNB_id
,
ch_offset
,
ue
->
frame_parms
.
ofdm_symbol_size
,
ue
->
frame_parms
.
Ncp
,
Ns
,
k
,
symbol
);
#endif
switch
(
k
)
{
...
...
@@ -993,8 +990,6 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
void
nr_pdcch_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
unsigned
char
Ns
,
unsigned
char
symbol
,
fapi_nr_coreset_t
*
coreset
,
uint16_t
first_carrier_offset
,
...
...
@@ -1004,6 +999,8 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
Ns
=
proc
->
nr_slot_rx
;
int
gNB_id
=
proc
->
gNB_id
;
unsigned
char
aarx
;
unsigned
short
k
;
unsigned
int
pilot_cnt
;
...
...
@@ -1237,9 +1234,7 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
int
nr_pdsch_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
bool
is_SI
,
unsigned
char
Ns
,
unsigned
short
p
,
unsigned
char
symbol
,
unsigned
char
nscid
,
...
...
@@ -1252,6 +1247,8 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
int32_t
dl_ch_estimates
[][
pdsch_est_size
],
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
gNB_id
=
proc
->
gNB_id
;
int
Ns
=
proc
->
nr_slot_rx
;
int
pilot
[
3280
]
__attribute__
((
aligned
(
16
)));
unsigned
char
aarx
;
unsigned
short
k
;
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
View file @
c31fe381
...
...
@@ -33,8 +33,7 @@
#define SYNCH_HYST 2
/* A function to perform the channel estimation of DL PRS signal */
int
nr_prs_channel_estimation
(
uint8_t
gNB_id
,
uint8_t
rsc_id
,
int
nr_prs_channel_estimation
(
uint8_t
rsc_id
,
uint8_t
rep_num
,
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
...
...
@@ -53,8 +52,6 @@ void peak_estimator(int32_t *buffer, int32_t buf_len, int32_t *peak_idx, int32_t
*/
void
nr_pdcch_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
unsigned
char
Ns
,
unsigned
char
symbol
,
fapi_nr_coreset_t
*
coreset
,
uint16_t
first_carrier_offset
,
...
...
@@ -65,8 +62,6 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
int
nr_pbch_dmrs_correlation
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
unsigned
char
Ns
,
unsigned
char
symbol
,
int
dmrss
,
NR_UE_SSB
*
current_ssb
,
...
...
@@ -77,8 +72,6 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
struct
complex16
dl_ch_estimates
[][
estimateSz
],
struct
complex16
dl_ch_estimates_time
[][
estimateSz
],
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
unsigned
char
Ns
,
unsigned
char
symbol
,
int
dmrss
,
uint8_t
ssb_index
,
...
...
@@ -87,9 +80,7 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
int
nr_pdsch_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
bool
is_SI
,
unsigned
char
Ns
,
unsigned
short
p
,
unsigned
char
symbol
,
unsigned
char
nscid
,
...
...
@@ -121,12 +112,10 @@ void nr_ue_measurements(PHY_VARS_NR_UE *ue,
void
nr_ue_ssb_rsrp_measurements
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_index
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
slot
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
void
nr_ue_rrc_measurements
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
slot
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
void
phy_adjust_gain_nr
(
PHY_VARS_NR_UE
*
ue
,
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
View file @
c31fe381
...
...
@@ -172,11 +172,11 @@ void nr_ue_measurements(PHY_VARS_NR_UE *ue,
void
nr_ue_ssb_rsrp_measurements
(
PHY_VARS_NR_UE
*
ue
,
int
ssb_index
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
slot
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
k_start
=
56
;
int
k_end
=
183
;
int
slot
=
proc
->
nr_slot_rx
;
unsigned
int
ssb_offset
=
ue
->
frame_parms
.
first_carrier_offset
+
ue
->
frame_parms
.
ssb_start_subcarrier
;
int
symbol_offset
=
nr_get_ssb_start_symbol
(
&
ue
->
frame_parms
,
ssb_index
);
...
...
@@ -228,10 +228,10 @@ void nr_ue_ssb_rsrp_measurements(PHY_VARS_NR_UE *ue,
// - psd_awgn (AWGN power spectral density): dBm/Hz
void
nr_ue_rrc_measurements
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
slot
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]){
uint8_t
k
;
int
slot
=
proc
->
nr_slot_rx
;
int
aarx
,
nb_nulls
;
int16_t
*
rxF_sss
;
uint8_t
k_left
=
48
;
...
...
openair1/PHY/NR_UE_TRANSPORT/csi_rx.c
View file @
c31fe381
...
...
@@ -800,8 +800,9 @@ int nr_csi_im_power_estimation(const PHY_VARS_NR_UE *ue,
return
0
;
}
int
nr_ue_csi_im_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
nr_ue_csi_im_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
gNB_id
=
proc
->
gNB_id
;
if
(
!
ue
->
csiim_vars
[
gNB_id
]
->
active
)
{
return
-
1
;
}
...
...
@@ -824,8 +825,9 @@ int nr_ue_csi_im_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, uint8_t
return
0
;
}
int
nr_ue_csi_rs_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
nr_ue_csi_rs_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
int
gNB_id
=
proc
->
gNB_id
;
if
(
!
ue
->
csirs_vars
[
gNB_id
]
->
active
)
{
return
-
1
;
}
...
...
@@ -959,8 +961,8 @@ int nr_ue_csi_rs_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, uint8_t
csirs_measurements
.
cqi
=
cqi
;
nr_downlink_indication_t
dl_indication
;
fapi_nr_rx_indication_t
*
rx_ind
=
calloc
(
sizeof
(
*
rx_ind
),
1
);
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
rx_ind
,
proc
,
ue
,
gNB_id
,
NULL
);
nr_fill_rx_indication
(
rx_ind
,
FAPI_NR_CSIRS_IND
,
gNB_id
,
ue
,
NULL
,
NULL
,
1
,
proc
,
(
void
*
)
&
csirs_measurements
);
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
rx_ind
,
proc
,
ue
,
NULL
);
nr_fill_rx_indication
(
rx_ind
,
FAPI_NR_CSIRS_IND
,
ue
,
NULL
,
NULL
,
1
,
proc
,
(
void
*
)
&
csirs_measurements
);
if
(
ue
->
if_inst
&&
ue
->
if_inst
->
dl_indication
)
{
ue
->
if_inst
->
dl_indication
(
&
dl_indication
,
NULL
);
}
else
{
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
View file @
c31fe381
...
...
@@ -115,8 +115,6 @@ static int nr_dlsch_llr(uint32_t rx_size,
NR_DL_UE_HARQ_t
*
dlsch0_harq
,
NR_DL_UE_HARQ_t
*
dlsch1_harq
,
unsigned
char
harq_pid
,
unsigned
char
gNB_id
,
unsigned
char
gNB_id_i
,
unsigned
char
first_symbol_flag
,
unsigned
char
symbol
,
unsigned
short
nb_rb
,
...
...
@@ -131,10 +129,6 @@ static int nr_dlsch_llr(uint32_t rx_size,
int
nr_rx_pdsch
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
NR_UE_DLSCH_t
dlsch
[
2
],
unsigned
char
gNB_id
,
unsigned
char
gNB_id_i
,
uint32_t
frame
,
uint8_t
nr_slot_rx
,
unsigned
char
symbol
,
unsigned
char
first_symbol_flag
,
unsigned
char
harq_pid
,
...
...
@@ -160,6 +154,9 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
NR_UE_COMMON
*
common_vars
=
&
ue
->
common_vars
;
NR_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
PHY_NR_MEASUREMENTS
*
measurements
=
&
ue
->
measurements
;
int
frame
=
proc
->
frame_rx
;
int
nr_slot_rx
=
proc
->
nr_slot_rx
;
int
gNB_id
=
proc
->
gNB_id
;
int
avg
[
16
];
// int avg_0[2];
...
...
@@ -492,8 +489,6 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
dlsch0_harq
,
dlsch1_harq
,
harq_pid
,
gNB_id
,
gNB_id_i
,
first_symbol_flag
,
i
,
nb_rb_pdsch
,
...
...
@@ -1626,7 +1621,7 @@ void nr_dlsch_extract_rbs(uint32_t rxdataF_sz,
for
(
unsigned
char
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
int32_t
*
rxF_ext
=
&
rxdataF_ext
[
aarx
][
symbol
*
nb_rb_pdsch
*
NR_NB_SC_PER_RB
];
int32_t
*
rxF
=
&
rxdataF
[
aarx
][
symbol
*
frame_parms
->
ofdm_symbol_size
];
int32_t
*
rxF
=
(
int32_t
*
)
&
rxdataF
[
aarx
][
symbol
*
frame_parms
->
ofdm_symbol_size
];
for
(
unsigned
char
aatx
=
0
;
aatx
<
Nl
;
aatx
++
)
{
...
...
@@ -2384,8 +2379,6 @@ static int nr_dlsch_llr(uint32_t rx_size,
NR_DL_UE_HARQ_t
*
dlsch0_harq
,
NR_DL_UE_HARQ_t
*
dlsch1_harq
,
unsigned
char
harq_pid
,
unsigned
char
gNB_id
,
unsigned
char
gNB_id_i
,
unsigned
char
first_symbol_flag
,
unsigned
char
symbol
,
unsigned
short
nb_rb
,
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
c31fe381
...
...
@@ -127,7 +127,7 @@ int nr_pbch_detection(UE_nr_rxtx_proc_t * proc, PHY_VARS_NR_UE *ue, int pbch_ini
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
// computing correlation between received DMRS symbols and transmitted sequence for current i_ssb and n_hf
for
(
int
i
=
pbch_initial_symbol
;
i
<
pbch_initial_symbol
+
3
;
i
++
)
nr_pbch_dmrs_correlation
(
ue
,
proc
,
0
,
0
,
i
,
i
-
pbch_initial_symbol
,
current_ssb
,
rxdataF
);
nr_pbch_dmrs_correlation
(
ue
,
proc
,
i
,
i
-
pbch_initial_symbol
,
current_ssb
,
rxdataF
);
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
current_ssb
->
metric
=
current_ssb
->
c_re
*
current_ssb
->
c_re
+
current_ssb
->
c_im
*
current_ssb
->
c_im
;
...
...
@@ -152,7 +152,7 @@ int nr_pbch_detection(UE_nr_rxtx_proc_t * proc, PHY_VARS_NR_UE *ue, int pbch_ini
for
(
int
i
=
pbch_initial_symbol
;
i
<
pbch_initial_symbol
+
3
;
i
++
)
nr_pbch_channel_estimation
(
ue
,
estimateSz
,
dl_ch_estimates
,
dl_ch_estimates_time
,
proc
,
0
,
0
,
i
,
i
-
pbch_initial_symbol
,
temp_ptr
->
i_ssb
,
temp_ptr
->
n_hf
,
rxdataF
);
proc
,
i
,
i
-
pbch_initial_symbol
,
temp_ptr
->
i_ssb
,
temp_ptr
->
n_hf
,
rxdataF
);
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
fapiPbch_t
result
;
...
...
@@ -162,7 +162,6 @@ int nr_pbch_detection(UE_nr_rxtx_proc_t * proc, PHY_VARS_NR_UE *ue, int pbch_ini
dl_ch_estimates
,
ue
->
pbch_vars
[
0
],
frame_parms
,
0
,
temp_ptr
->
i_ssb
,
SISO
,
phy_data
,
...
...
@@ -305,7 +304,6 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
nr_slot_fep_init_sync
(
ue
,
proc
,
i
,
0
,
is
*
fp
->
samples_per_frame
+
ue
->
ssb_offset
,
false
,
rxdataF
);
...
...
@@ -529,7 +527,7 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
if
(
sa
==
1
&&
ret
==
0
)
{
nr_ue_dlsch_init
(
phy_data
.
dlsch
,
1
,
ue
->
max_ldpc_iterations
);
bool
dec
=
false
;
int
gnb
_id
=
0
;
//FIXME
proc
->
gNB
_id
=
0
;
//FIXME
// 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
);
...
...
@@ -543,15 +541,12 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
nr_slot_fep_init_sync
(
ue
,
proc
,
l
,
// the UE PHY has no notion of the symbols to be monitored in the search space
phy_pdcch_config
->
slot
,
is
*
fp
->
samples_per_frame
+
phy_pdcch_config
->
sfn
*
fp
->
samples_per_frame
+
ue
->
rx_offset
,
true
,
rxdataF
);
nr_pdcch_channel_estimation
(
ue
,
proc
,
0
,
phy_pdcch_config
->
slot
,
l
,
&
phy_pdcch_config
->
pdcch_config
[
n_ss
].
coreset
,
fp
->
first_carrier_offset
,
...
...
@@ -561,7 +556,7 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
rxdataF
);
}
int
dci_cnt
=
nr_ue_pdcch_procedures
(
gnb_id
,
ue
,
proc
,
pdcch_est_size
,
pdcch_dl_ch_estimates
,
&
phy_data
,
n_ss
,
rxdataF
);
int
dci_cnt
=
nr_ue_pdcch_procedures
(
ue
,
proc
,
pdcch_est_size
,
pdcch_dl_ch_estimates
,
&
phy_data
,
n_ss
,
rxdataF
);
if
(
dci_cnt
>
0
){
NR_UE_DLSCH_t
*
dlsch
=
phy_data
.
dlsch
;
if
(
dlsch
[
0
].
active
==
1
)
{
...
...
@@ -572,7 +567,6 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
nr_slot_fep_init_sync
(
ue
,
proc
,
m
,
phy_pdcch_config
->
slot
,
// same slot and offset as pdcch
is
*
fp
->
samples_per_frame
+
phy_pdcch_config
->
sfn
*
fp
->
samples_per_frame
+
ue
->
rx_offset
,
true
,
rxdataF
);
...
...
@@ -602,7 +596,6 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
int
ret
=
nr_ue_pdsch_procedures
(
ue
,
proc
,
gnb_id
,
phy_data
.
dlsch
,
llr
,
layer_llr
,
...
...
@@ -610,7 +603,6 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
if
(
ret
>=
0
)
dec
=
nr_ue_dlsch_procedures
(
ue
,
proc
,
gnb_id
,
phy_data
.
dlsch
,
llr
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
View file @
c31fe381
...
...
@@ -389,7 +389,6 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
int
estimateSz
,
struct
complex16
dl_ch_estimates
[][
estimateSz
],
NR_UE_PBCH
*
nr_ue_pbch_vars
,
NR_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
gNB_id
,
uint8_t
i_ssb
,
MIMO_mode_t
mimo_mode
,
nr_phy_data_t
*
phy_data
,
...
...
@@ -582,8 +581,8 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
fapi_nr_rx_indication_t
*
rx_ind
=
calloc
(
sizeof
(
*
rx_ind
),
1
);
uint16_t
number_pdus
=
1
;
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
rx_ind
,
proc
,
ue
,
gNB_id
,
phy_data
);
nr_fill_rx_indication
(
rx_ind
,
FAPI_NR_RX_PDU_TYPE_SSB
,
gNB_id
,
ue
,
NULL
,
NULL
,
number_pdus
,
proc
,(
void
*
)
result
);
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
rx_ind
,
proc
,
ue
,
phy_data
);
nr_fill_rx_indication
(
rx_ind
,
FAPI_NR_RX_PDU_TYPE_SSB
,
ue
,
NULL
,
NULL
,
number_pdus
,
proc
,(
void
*
)
result
);
if
(
ue
->
if_inst
&&
ue
->
if_inst
->
dl_indication
)
ue
->
if_inst
->
dl_indication
(
&
dl_indication
,
NULL
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
c31fe381
...
...
@@ -779,7 +779,6 @@ int nr_rx_pbch(PHY_VARS_NR_UE *ue,
struct
complex16
dl_ch_estimates
[][
estimateSz
],
NR_UE_PBCH
*
nr_ue_pbch_vars
,
NR_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
eNB_id
,
uint8_t
i_ssb
,
MIMO_mode_t
mimo_mode
,
nr_phy_data_t
*
phy_data
,
...
...
@@ -871,10 +870,6 @@ uint8_t nr_dci_decoding_procedure(PHY_VARS_NR_UE *ue,
int
nr_rx_pdsch
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
NR_UE_DLSCH_t
dlsch
[
2
],
unsigned
char
gNB_id
,
unsigned
char
gNB_id_i
,
uint32_t
frame
,
uint8_t
nr_slot_rx
,
unsigned
char
symbol
,
unsigned
char
first_symbol_flag
,
unsigned
char
harq_pid
,
...
...
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
View file @
c31fe381
...
...
@@ -432,9 +432,8 @@ int generate_srs_nr(nfapi_nr_srs_pdu_t *srs_config_pdu,
* send srs according to current configuration
*
*********************************************************************/
int
ue_srs_procedures_nr
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
)
int
ue_srs_procedures_nr
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
)
{
if
(
!
ue
->
srs_vars
[
0
]
->
active
)
{
return
-
1
;
}
...
...
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.h
View file @
c31fe381
...
...
@@ -175,7 +175,7 @@ int is_srs_period_nr(SRS_Resource_t *p_SRS_Resource,
@param current gNB_id identifier
@returns 0 if srs is transmitted -1 otherwise */
int
ue_srs_procedures_nr
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
);
int
ue_srs_procedures_nr
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
);
#undef EXTERN
#undef INIT_VARIABLES_SRS_MODULATION_NR_H
...
...
openair1/SCHED_NR_UE/defs.h
View file @
c31fe381
...
...
@@ -96,22 +96,20 @@ typedef struct {
@param proc Pointer to RXn-TXnp4 proc information
@param eNB_id Local id of eNB on which to act
*/
void
phy_procedures_nrUE_TX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
nr_phy_data_tx_t
*
phy_data
);
void
phy_procedures_nrUE_TX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
nr_phy_data_tx_t
*
phy_data
);
/*! \brief Scheduling for UE RX procedures in normal subframes.
@param ue Pointer to UE variables on which to act
@param proc Pointer to proc information
@param gNB_id Local id of eNB on which to act
@param dlsch_parallel use multithreaded dlsch processing
@param phy_pdcch_config PDCCH Config for this slot
@param txFifo Result fifo if PDSCH is run in parallel
*/
int
phy_procedures_nrUE_RX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
nr_phy_data_t
*
phy_data
);
int
phy_procedures_slot_parallelization_nrUE_RX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
uint8_t
abstraction_flag
,
uint8_t
do_pdcch_flag
,
relaying_type_t
r_type
);
int
phy_procedures_slot_parallelization_nrUE_RX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
abstraction_flag
,
uint8_t
do_pdcch_flag
,
relaying_type_t
r_type
);
void
processSlotTX
(
void
*
arg
);
...
...
@@ -120,7 +118,7 @@ void processSlotTX(void *arg);
@param
@param
*/
void
nr_ue_prach_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
);
void
nr_ue_prach_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
);
int8_t
nr_find_ue
(
uint16_t
rnti
,
PHY_VARS_eNB
*
phy_vars_eNB
);
...
...
@@ -151,7 +149,6 @@ void nr_fill_dl_indication(nr_downlink_indication_t *dl_ind,
fapi_nr_rx_indication_t
*
rx_ind
,
UE_nr_rxtx_proc_t
*
proc
,
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_id
,
void
*
phy_data
);
/*@}*/
...
...
@@ -164,7 +161,6 @@ void nr_fill_dl_indication(nr_downlink_indication_t *dl_ind,
*/
void
nr_fill_rx_indication
(
fapi_nr_rx_indication_t
*
rx_ind
,
uint8_t
pdu_type
,
uint8_t
gNB_id
,
PHY_VARS_NR_UE
*
ue
,
NR_UE_DLSCH_t
*
dlsch0
,
NR_UE_DLSCH_t
*
dlsch1
,
...
...
@@ -174,20 +170,17 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind,
bool
nr_ue_dlsch_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
int
gNB_id
,
NR_UE_DLSCH_t
dlsch
[
2
],
int16_t
*
llr
[
2
]);
int
nr_ue_pdsch_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
int
gNB_id
,
NR_UE_DLSCH_t
dlsch
[
2
],
int16_t
*
llr
[
2
],
int16_t
*
layer_llr
[
NR_MAX_NB_LAYERS
],
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
int
nr_ue_pdcch_procedures
(
uint8_t
gNB_id
,
PHY_VARS_NR_UE
*
ue
,
int
nr_ue_pdcch_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
int32_t
pdcch_est_size
,
int32_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
...
...
@@ -195,9 +188,9 @@ int nr_ue_pdcch_procedures(uint8_t gNB_id,
int
n_ss
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
int
nr_ue_csi_im_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
int
nr_ue_csi_im_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
int
nr_ue_csi_rs_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
int
nr_ue_csi_rs_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
]);
#endif
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
c31fe381
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
View file @
c31fe381
...
...
@@ -199,11 +199,10 @@ void nr_generate_pucch3_4(int32_t **txdataF,
*********************************************************************/
void
pucch_procedures_ue_nr
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_id
,
UE_nr_rxtx_proc_t
*
proc
,
nr_phy_data_tx_t
*
phy_data
)
{
int
nr_slot_tx
=
proc
->
nr_slot_tx
;
int
nr_slot_tx
=
proc
->
nr_slot_tx
;
fapi_nr_ul_config_pucch_pdu
*
pucch_pdu
;
NR_UE_PUCCH
*
pucch_vars
=
&
phy_data
->
pucch_vars
;
...
...
openair1/SCHED_NR_UE/pucch_uci_ue_nr.h
View file @
c31fe381
...
...
@@ -60,7 +60,6 @@
/*************** FUNCTIONS ****************************************/
void
pucch_procedures_ue_nr
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_id
,
UE_nr_rxtx_proc_t
*
proc
,
nr_phy_data_tx_t
*
phy_data
);
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
c31fe381
...
...
@@ -1096,6 +1096,7 @@ int main(int argc, char **argv)
UE
->
rx_offset
=
0
;
UE_proc
.
frame_rx
=
frame
;
UE_proc
.
nr_slot_rx
=
slot
;
UE_proc
.
gNB_id
=
0
;
dcireq
.
frame
=
frame
;
dcireq
.
slot
=
slot
;
...
...
@@ -1277,7 +1278,6 @@ int main(int argc, char **argv)
phy_procedures_nrUE_RX
(
UE
,
&
UE_proc
,
0
,
&
phy_data
);
//----------------------------------------------------------
...
...
openair1/SIMULATION/NR_PHY/nr_dummy_functions.c
View file @
c31fe381
...
...
@@ -78,11 +78,9 @@ void nr_fill_dl_indication(nr_downlink_indication_t *dl_ind,
fapi_nr_rx_indication_t
*
rx_ind
,
UE_nr_rxtx_proc_t
*
proc
,
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_id
,
void
*
phy_data
)
{}
void
nr_fill_rx_indication
(
fapi_nr_rx_indication_t
*
rx_ind
,
uint8_t
pdu_type
,
uint8_t
gNB_id
,
PHY_VARS_NR_UE
*
ue
,
NR_UE_DLSCH_t
*
dlsch0
,
NR_UE_DLSCH_t
*
dlsch1
,
...
...
openair1/SIMULATION/NR_PHY/pbchsim.c
View file @
c31fe381
...
...
@@ -81,8 +81,7 @@ nrUE_params_t *get_nrUE_params(void) {
void
init_downlink_harq_status
(
NR_DL_UE_HARQ_t
*
dl_harq
)
{}
int
nr_ue_pdcch_procedures
(
uint8_t
gNB_id
,
PHY_VARS_NR_UE
*
ue
,
int
nr_ue_pdcch_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
int32_t
pdcch_est_size
,
int32_t
pdcch_dl_ch_estimates
[][
pdcch_est_size
],
...
...
@@ -94,7 +93,6 @@ 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
gNB_id
,
NR_UE_DLSCH_t
dlsch
[
2
],
int16_t
*
llr
[
2
],
int16_t
*
layer_llr
[
NR_MAX_NB_LAYERS
],
...
...
@@ -104,7 +102,6 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue,
bool
nr_ue_dlsch_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
int
gNB_id
,
NR_UE_DLSCH_t
dlsch
[
2
],
int16_t
*
llr
[
2
])
{
return
false
;
...
...
@@ -762,15 +759,16 @@ int main(int argc, char **argv)
UE
->
symbol_offset
=
nr_get_ssb_start_symbol
(
frame_parms
,
ssb_index
);
int
ssb_slot
=
(
UE
->
symbol_offset
/
14
)
+
(
n_hf
*
(
frame_parms
->
slots_per_frame
>>
1
));
proc
.
nr_slot_rx
=
ssb_slot
;
proc
.
gNB_id
=
0
;
for
(
int
i
=
UE
->
symbol_offset
+
1
;
i
<
UE
->
symbol_offset
+
4
;
i
++
)
{
nr_slot_fep
(
UE
,
&
proc
,
i
%
frame_parms
->
symbols_per_slot
,
ssb_slot
,
rxdataF
);
nr_pbch_channel_estimation
(
UE
,
estimateSz
,
dl_ch_estimates
,
dl_ch_estimates_time
,
&
proc
,
0
,
ssb_slot
,
i
%
frame_parms
->
symbols_per_slot
,
i
-
(
UE
->
symbol_offset
+
1
),
ssb_index
%
8
,
n_hf
,
rxdataF
);
i
%
frame_parms
->
symbols_per_slot
,
i
-
(
UE
->
symbol_offset
+
1
),
ssb_index
%
8
,
n_hf
,
rxdataF
);
}
fapiPbch_t
result
;
...
...
@@ -779,7 +777,6 @@ int main(int argc, char **argv)
estimateSz
,
dl_ch_estimates
,
UE
->
pbch_vars
[
0
],
frame_parms
,
0
,
ssb_index
%
8
,
SISO
,
&
phy_data
,
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
c31fe381
...
...
@@ -304,7 +304,6 @@ int main(int argc, char **argv)
uint16_t
nb_rb
=
50
;
int
Imcs
=
9
;
uint8_t
precod_nbr_layers
=
1
;
int
gNB_id
=
0
;
int
tx_offset
;
int32_t
txlev_sum
=
0
,
atxlev
[
4
];
int
start_rb
=
0
;
...
...
@@ -1101,6 +1100,7 @@ int main(int argc, char **argv)
UE_proc
.
nr_slot_tx
=
slot
;
UE_proc
.
frame_tx
=
frame
;
UE_proc
.
gNB_id
=
0
;
UL_tti_req
->
SFN
=
frame
;
UL_tti_req
->
Slot
=
slot
;
...
...
@@ -1244,7 +1244,7 @@ int main(int argc, char **argv)
/////////////////////////phy_procedures_nr_ue_TX///////////////////////
///////////
phy_procedures_nrUE_TX
(
UE
,
&
UE_proc
,
gNB_id
,
&
phy_data
);
phy_procedures_nrUE_TX
(
UE
,
&
UE_proc
,
&
phy_data
);
if
(
n_trials
==
1
)
{
LOG_M
(
"txsig0.m"
,
"txs0"
,
&
UE
->
common_vars
.
txdata
[
0
][
slot_offset
],
slot_length
,
1
,
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