Commit 4bdc6ac5 authored by francescomani's avatar francescomani

minor changes

parent 3377f91b
...@@ -298,15 +298,6 @@ void nr_processULSegment(void* arg) { ...@@ -298,15 +298,6 @@ void nr_processULSegment(void* arg) {
stop_meas(&phy_vars_gNB->ulsch_deinterleaving_stats); stop_meas(&phy_vars_gNB->ulsch_deinterleaving_stats);
/*LOG_D(PHY,"HARQ_PID %d Rate Matching Segment %d (coded bits %d,unpunctured/repeated bits %d, TBS %d, mod_order %d, nb_rb %d, Nl %d, rv %d, round %d)...\n",
harq_pid,r, G,
Kr*3,
ulsch_harq->TBS,
Qm,
nb_rb,
n_layers,
pusch_pdu->pusch_data.rv_index,
ulsch_harq->round);*/
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
...@@ -387,13 +378,13 @@ void nr_processULSegment(void* arg) { ...@@ -387,13 +378,13 @@ void nr_processULSegment(void* arg) {
if (check_crc((uint8_t*)llrProcBuf,length_dec,ulsch_harq->F,crc_type)) { if (check_crc((uint8_t*)llrProcBuf,length_dec,ulsch_harq->F,crc_type)) {
#ifdef PRINT_CRC_CHECK #ifdef PRINT_CRC_CHECK
LOG_I(PHY, "Segment %d CRC OK, iterations %d/%d\n",r,no_iteration_ldpc,max_ldpc_iterations); LOG_I(PHY,"Segment %d CRC OK, iterations %d/%d\n",r,no_iteration_ldpc,max_ldpc_iterations);
#endif #endif
rdata->decodeIterations = no_iteration_ldpc; rdata->decodeIterations = no_iteration_ldpc;
if (rdata->decodeIterations > p_decoderParms->numMaxIter) rdata->decodeIterations--; if (rdata->decodeIterations > p_decoderParms->numMaxIter) rdata->decodeIterations--;
} else { } else {
#ifdef PRINT_CRC_CHECK #ifdef PRINT_CRC_CHECK
LOG_I(PHY, "CRC NOK\n"); LOG_I(PHY,"CRC NOK\n");
#endif #endif
rdata->decodeIterations = max_ldpc_iterations + 1; rdata->decodeIterations = max_ldpc_iterations + 1;
} }
...@@ -480,7 +471,8 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, ...@@ -480,7 +471,8 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
A = (harq_process->TBS)<<3; A = (harq_process->TBS)<<3;
LOG_D(PHY,"ULSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_rb %d, Qm %d, n_layers %d, Coderate %d\n",harq_pid,A,G, mcs, n_layers, nb_rb, Qm, n_layers, R); LOG_D(PHY,"ULSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_rb %d, Qm %d, Coderate %d RV %d round %d\n",
harq_pid, A, G, mcs, n_layers, nb_rb, Qm, R, pusch_pdu->pusch_data.rv_index, harq_process->round);
if (R<1024) if (R<1024)
Coderate = (float) R /(float) 1024; Coderate = (float) R /(float) 1024;
......
...@@ -347,14 +347,12 @@ void nr_ulsch_extract_rbs(int32_t **rxdataF, ...@@ -347,14 +347,12 @@ void nr_ulsch_extract_rbs(int32_t **rxdataF,
if (is_dmrs_symbol == 0) { if (is_dmrs_symbol == 0) {
// //
//rxF[ ((start_re + re)*2) % (frame_parms->ofdm_symbol_size*2)]); //rxF[ ((start_re + re)*2) % (frame_parms->ofdm_symbol_size*2)]);
if (start_re + nb_re_pusch < frame_parms->ofdm_symbol_size) if (start_re + nb_re_pusch < frame_parms->ofdm_symbol_size) {
{
memcpy1((void*)rxF_ext, memcpy1((void*)rxF_ext,
(void*)&rxF[start_re*2], (void*)&rxF[start_re*2],
nb_re_pusch*sizeof(int32_t)); nb_re_pusch*sizeof(int32_t));
} }
else else {
{
int neg_length = frame_parms->ofdm_symbol_size-start_re; int neg_length = frame_parms->ofdm_symbol_size-start_re;
int pos_length = nb_re_pusch-neg_length; int pos_length = nb_re_pusch-neg_length;
memcpy1((void*)rxF_ext,(void*)&rxF[start_re*2],neg_length*sizeof(int32_t)); memcpy1((void*)rxF_ext,(void*)&rxF[start_re*2],neg_length*sizeof(int32_t));
...@@ -373,8 +371,7 @@ void nr_ulsch_extract_rbs(int32_t **rxdataF, ...@@ -373,8 +371,7 @@ void nr_ulsch_extract_rbs(int32_t **rxdataF,
memcpy1((void*)ul_ch0_ext,(void*)ul_ch0,nb_re_pusch*sizeof(int32_t)); memcpy1((void*)ul_ch0_ext,(void*)ul_ch0,nb_re_pusch*sizeof(int32_t));
} }
} }
else else {
{
#ifdef SUPPORT_PMI_MATRIC #ifdef SUPPORT_PMI_MATRIC
for (aatx = 0; aatx < pusch_pdu->nrOfLayers; aatx++) for (aatx = 0; aatx < pusch_pdu->nrOfLayers; aatx++)
#else #else
...@@ -390,26 +387,22 @@ void nr_ulsch_extract_rbs(int32_t **rxdataF, ...@@ -390,26 +387,22 @@ void nr_ulsch_extract_rbs(int32_t **rxdataF,
ul_ch0_ext_index = 0; ul_ch0_ext_index = 0;
ul_ch0_index = 0; ul_ch0_index = 0;
for (re = 0; re < nb_re_pusch; re++) for (re = 0; re < nb_re_pusch; re++) {
{
uint16_t k= start_re+re; uint16_t k= start_re+re;
is_data_re = allowed_xlsch_re_in_dmrs_symbol(k, start_re, frame_parms->ofdm_symbol_size, pusch_pdu->num_dmrs_cdm_grps_no_data, pusch_pdu->dmrs_config_type); is_data_re = allowed_xlsch_re_in_dmrs_symbol(k, start_re, frame_parms->ofdm_symbol_size, pusch_pdu->num_dmrs_cdm_grps_no_data, pusch_pdu->dmrs_config_type);
if (++k >= frame_parms->ofdm_symbol_size) if (++k >= frame_parms->ofdm_symbol_size) {
{
k -= frame_parms->ofdm_symbol_size; k -= frame_parms->ofdm_symbol_size;
} }
#ifdef DEBUG_RB_EXT #ifdef DEBUG_RB_EXT
printf("re = %d, kprime %d, n %d, is_dmrs_symbol = %d, symbol = %d\n", re, k_prime, n, is_dmrs_symbol, symbol); printf("re = %d, is_dmrs_symbol = %d, symbol = %d\n", re, is_dmrs_symbol, symbol);
#endif #endif
/* save only data and respective channel estimates */ /* save only data and respective channel estimates */
if (is_data_re == 1) if (is_data_re == 1) {
{ if (aatx == aarx) {
if (aatx == aarx)
{
rxF_ext[rxF_ext_index] = (rxF[ ((start_re + re)*2) % (frame_parms->ofdm_symbol_size*2)]); rxF_ext[rxF_ext_index] = (rxF[ ((start_re + re)*2) % (frame_parms->ofdm_symbol_size*2)]);
rxF_ext[rxF_ext_index + 1] = (rxF[(((start_re + re)*2) + 1) % (frame_parms->ofdm_symbol_size*2)]); rxF_ext[rxF_ext_index + 1] = (rxF[(((start_re + re)*2) + 1) % (frame_parms->ofdm_symbol_size*2)]);
rxF_ext_index +=2; rxF_ext_index +=2;
...@@ -1206,8 +1199,7 @@ void nr_ulsch_detection_mrc(NR_DL_FRAME_PARMS *frame_parms, ...@@ -1206,8 +1199,7 @@ void nr_ulsch_detection_mrc(NR_DL_FRAME_PARMS *frame_parms,
if (n_rx > 1) if (n_rx > 1)
{ {
#if defined(__x86_64__) || defined(__i386__) #if defined(__x86_64__) || defined(__i386__)
for (int aatx=0; aatx<nrOfLayers; aatx++) for (int aatx=0; aatx<nrOfLayers; aatx++) {
{
int nb_re = nb_rb*12; int nb_re = nb_rb*12;
rxdataF_comp128[0] = (__m128i *)&rxdataF_comp[aatx*frame_parms->nb_antennas_rx][(symbol*(nb_re + off))]; rxdataF_comp128[0] = (__m128i *)&rxdataF_comp[aatx*frame_parms->nb_antennas_rx][(symbol*(nb_re + off))];
...@@ -2002,8 +1994,7 @@ int nr_rx_pusch(PHY_VARS_gNB *gNB, ...@@ -2002,8 +1994,7 @@ int nr_rx_pusch(PHY_VARS_gNB *gNB,
gNB->pusch_vars[ulsch_id]->ulsch_power[aarx] = 0; gNB->pusch_vars[ulsch_id]->ulsch_power[aarx] = 0;
gNB->pusch_vars[ulsch_id]->ulsch_noise_power[aarx] = 0; gNB->pusch_vars[ulsch_id]->ulsch_noise_power[aarx] = 0;
} }
for (aatx = 0; aatx < rel15_ul->nrOfLayers; aatx++) for (aatx = 0; aatx < rel15_ul->nrOfLayers; aatx++) {
{
gNB->pusch_vars[ulsch_id]->ulsch_power[aarx] += signal_energy_nodc( gNB->pusch_vars[ulsch_id]->ulsch_power[aarx] += signal_energy_nodc(
&gNB->pusch_vars[ulsch_id]->ul_ch_estimates[aatx*gNB->frame_parms.nb_antennas_rx+aarx][symbol * frame_parms->ofdm_symbol_size], &gNB->pusch_vars[ulsch_id]->ul_ch_estimates[aatx*gNB->frame_parms.nb_antennas_rx+aarx][symbol * frame_parms->ofdm_symbol_size],
rel15_ul->rb_size * 12); rel15_ul->rb_size * 12);
......
...@@ -243,7 +243,6 @@ nrUE_params_t *get_nrUE_params(void) { ...@@ -243,7 +243,6 @@ nrUE_params_t *get_nrUE_params(void) {
// needed for some functions // needed for some functions
uint16_t n_rnti = 0x1234; uint16_t n_rnti = 0x1234;
openair0_config_t openair0_cfg[MAX_CARDS]; openair0_config_t openair0_cfg[MAX_CARDS];
//const uint8_t nr_rv_round_map[4] = {0, 2, 1, 3};
channel_desc_t *UE2gNB[NUMBER_OF_UE_MAX][NUMBER_OF_gNB_MAX]; channel_desc_t *UE2gNB[NUMBER_OF_UE_MAX][NUMBER_OF_gNB_MAX];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment