diff --git a/openair1/PHY/MODULATION/nr_modulation.c b/openair1/PHY/MODULATION/nr_modulation.c index 3643264c8758e4a07ac815ca05aef57f4ea6697c..57bca9e2ec1e259e1b82699ad1951bb57b0a6d29 100644 --- a/openair1/PHY/MODULATION/nr_modulation.c +++ b/openair1/PHY/MODULATION/nr_modulation.c @@ -24,7 +24,7 @@ extern short nr_mod_table[NR_MOD_TABLE_SIZE_SHORT]; void nr_modulation(uint32_t *in, - uint16_t length, + uint32_t length, uint16_t mod_order, int16_t *out) { diff --git a/openair1/PHY/MODULATION/nr_modulation.h b/openair1/PHY/MODULATION/nr_modulation.h index 3b37d8e7694ca5029da5eab59b73b545ac94cb69..8a6abd5de5a93d5ee650528552c446d89294a201 100644 --- a/openair1/PHY/MODULATION/nr_modulation.h +++ b/openair1/PHY/MODULATION/nr_modulation.h @@ -37,7 +37,7 @@ */ void nr_modulation(uint32_t *in, - uint16_t length, + uint32_t length, uint16_t mod_order, int16_t *out); @@ -93,4 +93,4 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms, */ void nr_dft(int32_t *z,int32_t *d, uint32_t Msc_PUSCH); -#endif \ No newline at end of file +#endif diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci.c b/openair1/PHY/NR_TRANSPORT/nr_dci.c index 2ac7823d458047716120fdbeace2edf7cc00e775..6b891339135ab49b5c5ece6223cab45c8d95993d 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dci.c +++ b/openair1/PHY/NR_TRANSPORT/nr_dci.c @@ -130,7 +130,7 @@ uint16_t nr_get_dci_size(nfapi_nr_dci_format_e format, } void nr_pdcch_scrambling(uint32_t *in, - uint16_t size, + uint32_t size, uint32_t Nid, uint32_t n_RNTI, uint32_t *out) { @@ -187,9 +187,9 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars, dci_idx = 0; LOG_D(PHY, "Coreset starting subcarrier %d on symbol %d (%d symbols)\n", cset_start_sc, cset_start_symb, cset_nsymb); // DMRS length is per OFDM symbol - uint16_t dmrs_length = (pdcch_params.precoder_granularity == NFAPI_NR_CSET_ALL_CONTIGUOUS_RBS)? + uint32_t dmrs_length = (pdcch_params.precoder_granularity == NFAPI_NR_CSET_ALL_CONTIGUOUS_RBS)? (pdcch_params.n_rb*6) : (dci_alloc.L*36/cset_nsymb); //2(QPSK)*3(per RB)*6(REG per CCE) - uint16_t encoded_length = dci_alloc.L*108; //2(QPSK)*9(per RB)*6(REG per CCE) + uint32_t encoded_length = dci_alloc.L*108; //2(QPSK)*9(per RB)*6(REG per CCE) LOG_D(PHY, "DMRS length per symbol %d\t DCI encoded length %d\n", dmrs_length, encoded_length); dmrs_length += pdcch_params.rb_offset*6; // To accommodate more DMRS symbols in case of rb offset diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci.h b/openair1/PHY/NR_TRANSPORT/nr_dci.h index f246eaf18e2e210bd754cd5f34c675b4d85b223f..71f8dc561770501f8ce88fddff9040b14ef0f65c 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dci.h +++ b/openair1/PHY/NR_TRANSPORT/nr_dci.h @@ -38,7 +38,7 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars, nfapi_nr_config_request_t config); void nr_pdcch_scrambling(uint32_t *in, - uint16_t size, + uint32_t size, uint32_t Nid, uint32_t n_RNTI, uint32_t *out); diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c index 6c938349d8782f9c5e07bb14be53e9bc811e709f..665e9a690cfad491357cc4483347ca785275d8d9 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c @@ -39,11 +39,11 @@ //#define DEBUG_DLSCH_MAPPING void nr_pdsch_codeword_scrambling(uint8_t *in, - uint16_t size, - uint8_t q, - uint32_t Nid, - uint32_t n_RNTI, - uint32_t* out) { + uint32_t size, + uint8_t q, + uint32_t Nid, + uint32_t n_RNTI, + uint32_t* out) { uint8_t reset, b_idx; uint32_t x1, x2, s=0; @@ -88,7 +88,7 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t *dlsch, int8_t Wf[2], Wt[2], l0, l_prime[2], delta; uint16_t nb_symbols = rel15->nb_mod_symbols; uint8_t Qm = rel15->modulation_order; - uint16_t encoded_length = nb_symbols*Qm; + uint32_t encoded_length = nb_symbols*Qm; /// CRC, coding, interleaving and rate matching AssertFatal(harq->pdu!=NULL,"harq->pdu is null\n"); @@ -121,11 +121,12 @@ printf("\n"); pdcch_params.scrambling_id : config->sch_config.physical_cell_id.value; for (int q=0; q<rel15->nb_codewords; q++) nr_pdsch_codeword_scrambling(harq->f, - encoded_length, - q, - Nid, - n_RNTI, - scrambled_output[q]); + encoded_length, + q, + Nid, + n_RNTI, + scrambled_output[q]); + stop_meas(dlsch_scrambling_stats); #ifdef DEBUG_DLSCH printf("PDSCH scrambling:\n"); diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.h b/openair1/PHY/NR_TRANSPORT/nr_dlsch.h index 3419be30faa9f5e5eeaf21924e5e65350ad3462d..d982a17ea72f8aa5ac6d4504269e295817223608 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.h +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.h @@ -54,11 +54,11 @@ void nr_get_rbg_list(uint32_t bitmap, uint8_t n_rbg, uint8_t* rbg_list); void nr_get_PRG_parms(NR_BWP_PARMS* bwp, NR_gNB_DCI_ALLOC_t dci_alloc, uint8_t prb_bundling_type); void nr_pdsch_codeword_scrambling(uint8_t *in, - uint16_t size, - uint8_t q, - uint32_t Nid, - uint32_t n_RNTI, - uint32_t* out); + uint32_t size, + uint8_t q, + uint32_t Nid, + uint32_t n_RNTI, + uint32_t* out); void nr_fill_dlsch(PHY_VARS_gNB *gNB, int frame, 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 6c14aa8b56879138b9b51d47e17107d904cf27bc..7559115a290c4a6760a00dba7589ed63bd6df192 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h @@ -1064,7 +1064,7 @@ int nr_ulsch_encoding(NR_UE_ULSCH_t *ulsch, */ void nr_pusch_codeword_scrambling(uint8_t *in, - uint16_t size, + uint32_t size, uint32_t Nid, uint32_t n_RNTI, uint32_t* out); diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c index 7429e16b1fc740bd6e3f90d5e1261a3517c0b126..f8c9c83e78c7cd820bc62833a6728849fe2d42e8 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c @@ -46,7 +46,7 @@ //#define DEBUG_PUSCH_MAPPING void nr_pusch_codeword_scrambling(uint8_t *in, - uint16_t size, + uint32_t size, uint32_t Nid, uint32_t n_RNTI, uint32_t* out) { @@ -90,7 +90,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, uint8_t thread_id, int gNB_id) { - unsigned int available_bits; + uint32_t available_bits; uint8_t mod_order, cwd_index, num_of_codewords; uint32_t scrambled_output[NR_MAX_NB_CODEWORDS][NR_MAX_PDSCH_ENCODED_LENGTH>>5]; uint32_t ***pusch_dmrs;