diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c b/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c index 979448f048..097739d142 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c @@ -140,6 +140,7 @@ static bool nr_pbch_detection(const UE_nr_rxtx_proc_t *proc, half_frame_bit, ssb_index, symbol_offset, + frame_parms->samples_per_frame_wCP, rxdataF)) { if (DUMP_PBCH_CH_ESTIMATES) { write_output("pbch_ch_estimates.m", "pbch_ch_estimates", dl_ch_estimates, nb_ant * estimateSz, 1, 1); diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c b/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c index fd848c7522..031e884d63 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c @@ -378,7 +378,8 @@ int nr_rx_pbch(PHY_VARS_NR_UE *ue, int *half_frame_bit, int *ssb_index, int *ret_symbol_offset, - const struct complex16 rxdataF[][frame_parms->samples_per_slot_wCP]) + int rxdataFSize, + const struct complex16 rxdataF[][rxdataFSize]) { int max_h=0; int symbol; diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h b/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h index 0e2100171c..9f46ae38ce 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h @@ -302,7 +302,8 @@ int nr_rx_pbch(PHY_VARS_NR_UE *ue, int *half_frame_bit, int *ssb_index, int *ret_symbol_offset, - const struct complex16 rxdataF[][frame_parms->samples_per_slot_wCP]); + int rxdataFSize, + const struct complex16 rxdataF[][rxdataFSize]); #ifndef modOrder #define modOrder(I_MCS,I_TBS) ((I_MCS-I_TBS)*2+2) // Find modulation order from I_TBS and I_MCS diff --git a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c index 49de880804..a6b86e903b 100644 --- a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c +++ b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c @@ -401,6 +401,7 @@ static int nr_ue_pbch_procedures(PHY_VARS_NR_UE *ue, &hf_frame_bit, &ssb_index, &symb_offset, + ue->frame_parms.samples_per_frame_wCP, rxdataF); if (ret==0) { diff --git a/openair1/SIMULATION/NR_PHY/pbchsim.c b/openair1/SIMULATION/NR_PHY/pbchsim.c index 3967779d98..dfc2463bea 100644 --- a/openair1/SIMULATION/NR_PHY/pbchsim.c +++ b/openair1/SIMULATION/NR_PHY/pbchsim.c @@ -812,7 +812,21 @@ int main(int argc, char **argv) fapiPbch_t result; int ret_ssb_idx; int ret_symbol_offset; - ret = nr_rx_pbch(UE, &proc, true, estimateSz, dl_ch_estimates, frame_parms, ssb_index % 8, frame_parms->ssb_start_subcarrier, Nid_cell, &result, &n_hf, &ret_ssb_idx, &ret_symbol_offset, rxdataF); + ret = nr_rx_pbch(UE, + &proc, + true, + estimateSz, + dl_ch_estimates, + frame_parms, + ssb_index % 8, + frame_parms->ssb_start_subcarrier, + Nid_cell, + &result, + &n_hf, + &ret_ssb_idx, + &ret_symbol_offset, + frame_parms->samples_per_frame_wCP, + rxdataF); if (ret == 0) { // UE->rx_ind.rx_indication_body->mib_pdu.ssb_index; //not yet detected automatically