From c87b39050145167bca3c0d52cc266365cc9752c1 Mon Sep 17 00:00:00 2001 From: francescomani Date: Thu, 15 Aug 2024 16:06:47 +0200 Subject: [PATCH] code formatting --- openair1/PHY/NR_REFSIG/dmrs_nr.c | 12 +- .../PHY/NR_TRANSPORT/nr_ulsch_demodulation.c | 126 ++++++++---------- 2 files changed, 64 insertions(+), 74 deletions(-) diff --git a/openair1/PHY/NR_REFSIG/dmrs_nr.c b/openair1/PHY/NR_REFSIG/dmrs_nr.c index 377eb4d89b..4d5ed0fe63 100644 --- a/openair1/PHY/NR_REFSIG/dmrs_nr.c +++ b/openair1/PHY/NR_REFSIG/dmrs_nr.c @@ -299,7 +299,7 @@ uint16_t get_dmrs_freq_idx_ul(uint16_t n, uint8_t k_prime, uint8_t delta, uint8_ int8_t get_next_dmrs_symbol_in_slot(uint16_t ul_dmrs_symb_pos, uint8_t counter, uint8_t end_symbol) { for(uint8_t symbol = counter; symbol < end_symbol; symbol++) { - if((ul_dmrs_symb_pos >> symbol) & 0x01 ) { + if((ul_dmrs_symb_pos >> symbol) & 0x01) { return symbol; } } @@ -318,23 +318,23 @@ uint8_t get_dmrs_symbols_in_slot(uint16_t l_prime_mask, uint16_t nb_symb, uint8 } /* return the position of valid dmrs symbol in a slot for channel compensation */ -int8_t get_valid_dmrs_idx_for_channel_est(uint16_t dmrs_symb_pos, uint8_t counter) +int8_t get_valid_dmrs_idx_for_channel_est(uint16_t dmrs_symb_pos, uint8_t counter) { int8_t symbIdx = -1; /* if current symbol is DMRS then return this index */ - if(is_dmrs_symbol(counter, dmrs_symb_pos ) ==1) { + if(is_dmrs_symbol(counter, dmrs_symb_pos) == 1) { return counter; } /* find previous DMRS symbol */ - for(int8_t symbol = counter;symbol >=0 ; symbol--) { - if((1< 0) { + for(int8_t symbol = counter; symbol >= 0 ; symbol--) { + if((1 << symbol & dmrs_symb_pos) > 0) { symbIdx = symbol; break; } } /* if there is no previous dmrs available then find the next possible*/ if(symbIdx == -1) { - symbIdx = get_next_dmrs_symbol_in_slot(dmrs_symb_pos,counter,15); + symbIdx = get_next_dmrs_symbol_in_slot(dmrs_symb_pos, counter, 15); } return symbIdx; } diff --git a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c index bc33592b3a..b8f88125ee 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c +++ b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c @@ -276,16 +276,16 @@ void nr_idft(int32_t *z, uint32_t Msc_PUSCH) } -static void nr_ulsch_extract_rbs (c16_t* const rxdataF, - c16_t* const chF, - c16_t *rxFext, - c16_t *chFext, - int rxoffset, - int choffset, - int aarx, - int is_dmrs_symbol, - nfapi_nr_pusch_pdu_t *pusch_pdu, - NR_DL_FRAME_PARMS *frame_parms) +static void nr_ulsch_extract_rbs(c16_t* const rxdataF, + c16_t* const chF, + c16_t *rxFext, + c16_t *chFext, + int rxoffset, + int choffset, + int aarx, + int is_dmrs_symbol, + nfapi_nr_pusch_pdu_t *pusch_pdu, + NR_DL_FRAME_PARMS *frame_parms) { uint8_t delta = 0; @@ -301,8 +301,7 @@ static void nr_ulsch_extract_rbs (c16_t* const rxdataF, if (is_dmrs_symbol == 0) { if (start_re + nb_re_pusch <= frame_parms->ofdm_symbol_size) memcpy(rxF_ext, &rxF[start_re], nb_re_pusch * sizeof(c16_t)); - else - { + else { int neg_length = frame_parms->ofdm_symbol_size - start_re; int pos_length = nb_re_pusch - neg_length; memcpy(rxF_ext, &rxF[start_re], neg_length * sizeof(c16_t)); @@ -310,57 +309,47 @@ static void nr_ulsch_extract_rbs (c16_t* const rxdataF, } memcpy(ul_ch0_ext, ul_ch0, nb_re_pusch * sizeof(c16_t)); } - else if (pusch_pdu->dmrs_config_type == pusch_dmrs_type1) // 6 REs / PRB - { + else if (pusch_pdu->dmrs_config_type == pusch_dmrs_type1) { // 6 REs / PRB AssertFatal(delta == 0 || delta == 1, "Illegal delta %d\n",delta); c16_t *rxF32 = &rxF[start_re]; if (start_re + nb_re_pusch < frame_parms->ofdm_symbol_size) { - for (int idx = 1 - delta; idx < nb_re_pusch; idx += 2) - { + for (int idx = 1 - delta; idx < nb_re_pusch; idx += 2) { *rxF_ext++ = rxF32[idx]; *ul_ch0_ext++ = ul_ch0[idx]; } } - else // handle the two pieces around DC - { + else { // handle the two pieces around DC int neg_length = frame_parms->ofdm_symbol_size - start_re; int pos_length = nb_re_pusch - neg_length; int idx, idx2; - for (idx = 1 - delta; idx < neg_length; idx += 2) - { + for (idx = 1 - delta; idx < neg_length; idx += 2) { *rxF_ext++ = rxF32[idx]; *ul_ch0_ext++= ul_ch0[idx]; } rxF32 = rxF; idx2 = idx; - for (idx = 1 - delta; idx < pos_length; idx += 2, idx2 += 2) - { + for (idx = 1 - delta; idx < pos_length; idx += 2, idx2 += 2) { *rxF_ext++ = rxF32[idx]; *ul_ch0_ext++ = ul_ch0[idx2]; } } } - else if (pusch_pdu->dmrs_config_type == pusch_dmrs_type2) // 8 REs / PRB - { + else if (pusch_pdu->dmrs_config_type == pusch_dmrs_type2) { // 8 REs / PRB AssertFatal(delta==0||delta==2||delta==4,"Illegal delta %d\n",delta); - if (start_re + nb_re_pusch < frame_parms->ofdm_symbol_size) - { - for (int idx = 0; idx < nb_re_pusch; idx ++) - { + if (start_re + nb_re_pusch < frame_parms->ofdm_symbol_size) { + for (int idx = 0; idx < nb_re_pusch; idx ++) { if (idx % 6 == 2 * delta || idx % 6 == 2 * delta + 1) continue; *rxF_ext++ = rxF[idx]; *ul_ch0_ext++ = ul_ch0[idx]; } } - else - { + else { int neg_length = frame_parms->ofdm_symbol_size - start_re; int pos_length = nb_re_pusch - neg_length; c16_t *rxF64 = &rxF[start_re]; int idx, idx2; - for (idx = 0; idx < neg_length; idx ++) - { + for (idx = 0; idx < neg_length; idx ++) { if (idx % 6 == 2 * delta || idx % 6 == 2 * delta + 1) continue; *rxF_ext++ = rxF64[idx]; @@ -368,8 +357,7 @@ static void nr_ulsch_extract_rbs (c16_t* const rxdataF, } rxF64 = rxF; idx2 = idx; - for (idx = 0; idx < pos_length; idx++, idx2++) - { + for (idx = 0; idx < pos_length; idx++, idx2++) { if (idx % 6 == 2 * delta || idx % 6 == 2 * delta + 1) continue; *rxF_ext++ = rxF64[idx]; @@ -1293,15 +1281,15 @@ static void inner_rx(PHY_VARS_gNB *gNB, for (int aarx = 0; aarx < nb_rx_ant; aarx++) { for (int aatx = 0; aatx < nb_layer; aatx++) { nr_ulsch_extract_rbs(rxF[aarx], - (c16_t *)pusch_vars->ul_ch_estimates[aatx * nb_rx_ant + aarx], - rxFext[aarx], - chFext[aatx][aarx], - soffset+(symbol * frame_parms->ofdm_symbol_size), - dmrs_symbol * frame_parms->ofdm_symbol_size, - aarx, - dmrs_symbol_flag, - rel15_ul, - frame_parms); + (c16_t *)pusch_vars->ul_ch_estimates[aatx * nb_rx_ant + aarx], + rxFext[aarx], + chFext[aatx][aarx], + soffset+(symbol * frame_parms->ofdm_symbol_size), + dmrs_symbol * frame_parms->ofdm_symbol_size, + aarx, + dmrs_symbol_flag, + rel15_ul, + frame_parms); } } c16_t rho[nb_layer][nb_layer][buffer_length] __attribute__((aligned(32))); @@ -1369,10 +1357,10 @@ static void inner_rx(PHY_VARS_gNB *gNB, else { nr_ulsch_mmse_2layers(frame_parms, (int32_t **)pusch_vars->rxdataF_comp, - (int **)rxF_ch_maga, - (int **)rxF_ch_magb, - (int **)rxF_ch_magc, - (int **)chFext, + (int **)rxF_ch_maga, + (int **)rxF_ch_magb, + (int **)rxF_ch_magc, + (int **)chFext, rel15_ul->rb_size, frame_parms->nb_antennas_rx, rel15_ul->qam_mod_order, @@ -1427,14 +1415,14 @@ static void nr_pusch_symbol_processing(void *arg) ulsch_id, slot, frame_parms, - pusch_vars, + pusch_vars, rel15_ul, - gNB->common_vars.rxdataF, - (c16_t**)gNB->pusch_vars[ulsch_id].ul_ch_estimates, + gNB->common_vars.rxdataF, + (c16_t**)gNB->pusch_vars[ulsch_id].ul_ch_estimates, rdata->llr_layers, soffset, gNB->pusch_vars[ulsch_id].ul_valid_re_per_slot[symbol], - symbol, + symbol, gNB->pusch_vars[ulsch_id].log2_maxh, rdata->nvar); @@ -1502,9 +1490,9 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, } // measure the SNR from the channel estimation nr_gnb_measurements(gNB, - &gNB->ulsch[ulsch_id], - pusch_vars, - symbol, + &gNB->ulsch[ulsch_id], + pusch_vars, + symbol, rel15_ul->nrOfLayers); allocCast2D(n0_subband_power, unsigned int, @@ -1586,10 +1574,13 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, int nb_re_pusch = 0, meas_symbol = -1; for(meas_symbol = rel15_ul->start_symbol_index; meas_symbol < end_symbol; meas_symbol++) - if ((nb_re_pusch = get_nb_re_pusch(frame_parms,rel15_ul,meas_symbol)) > 0) + if ((nb_re_pusch = get_nb_re_pusch(frame_parms, rel15_ul, meas_symbol)) > 0) break; - AssertFatal(nb_re_pusch>0 && meas_symbol>=0,"nb_re_pusch %d cannot be 0 or meas_symbol %d cannot be negative here\n",nb_re_pusch,meas_symbol); + AssertFatal(nb_re_pusch > 0 && meas_symbol >= 0, + "nb_re_pusch %d cannot be 0 or meas_symbol %d cannot be negative here\n", + nb_re_pusch, + meas_symbol); // extract the first dmrs for the channel level computation // extract the data in the OFDM frame, to the start of the array @@ -1605,15 +1596,15 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, for (int aarx = 0; aarx < frame_parms->nb_antennas_rx; aarx++) for (int aatx = 0; aatx < rel15_ul->nrOfLayers; aatx++) nr_ulsch_extract_rbs(gNB->common_vars.rxdataF[aarx], - (c16_t *)pusch_vars->ul_ch_estimates[aatx * frame_parms->nb_antennas_rx + aarx], - (c16_t*)&pusch_vars->rxdataF_ext[aarx][meas_symbol * nb_re_pusch], - (c16_t*)&pusch_vars->ul_ch_estimates_ext[aatx*frame_parms->nb_antennas_rx+aarx][meas_symbol * nb_re_pusch], - soffset + meas_symbol * frame_parms->ofdm_symbol_size, - dmrs_symbol * frame_parms->ofdm_symbol_size, - aarx, - (rel15_ul->ul_dmrs_symb_pos >> meas_symbol) & 0x01, - rel15_ul, - frame_parms); + (c16_t*)pusch_vars->ul_ch_estimates[aatx * frame_parms->nb_antennas_rx + aarx], + (c16_t*)&pusch_vars->rxdataF_ext[aarx][meas_symbol * nb_re_pusch], + (c16_t*)&pusch_vars->ul_ch_estimates_ext[aatx * frame_parms->nb_antennas_rx+aarx][meas_symbol * nb_re_pusch], + soffset + meas_symbol * frame_parms->ofdm_symbol_size, + dmrs_symbol * frame_parms->ofdm_symbol_size, + aarx, + (rel15_ul->ul_dmrs_symb_pos >> meas_symbol) & 0x01, + rel15_ul, + frame_parms); int avgs = 0; int avg[frame_parms->nb_antennas_rx*rel15_ul->nrOfLayers]; @@ -1657,10 +1648,9 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB, start_meas(&gNB->rx_pusch_symbol_processing_stats); int numSymbols = gNB->num_pusch_symbols_per_thread; - for(uint8_t symbol = rel15_ul->start_symbol_index; symbol < end_symbol; symbol += numSymbols) - { + for(uint8_t symbol = rel15_ul->start_symbol_index; symbol < end_symbol; symbol += numSymbols) { int total_res = 0; - for (int s = 0; s < numSymbols;s++) { + for (int s = 0; s < numSymbols; s++) { pusch_vars->ul_valid_re_per_slot[symbol+s] = get_nb_re_pusch(frame_parms,rel15_ul,symbol+s); pusch_vars->llr_offset[symbol+s] = ((symbol+s) == rel15_ul->start_symbol_index) ? 0 :