From 9126c88294f6991fa574f1a47ab953b10ee5f470 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Mon, 6 Aug 2018 16:57:15 +0200 Subject: [PATCH] HACK: let the basic simulator work again A better solution has to be found. --- openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c | 6 +++++ .../PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c | 27 ++++++++++++------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c index ea92dbb560..6f1913ff91 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c @@ -2428,6 +2428,12 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, } + /* TODO: hack, to be removed. The power is too different from + * previous version. Some more work/validation is needed before + * we switch to the new version. + */ + allocate_REs = allocate_REs_in_RB; + switch (mod_order1) { case 2: qam_table_s1 = NULL; diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c index 6e68752cec..f7940c5948 100644 --- a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c +++ b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c @@ -1314,13 +1314,17 @@ void dlsch_channel_compensation(int **rxdataF_ext, } for (aarx=0; aarxnb_antennas_rx; aarx++) { - - dl_ch128 = (__m128i *)&dl_ch_estimates_ext[aatx*frame_parms->nb_antennas_rx + aarx][symbol*frame_parms->N_RB_DL*12]; + /* TODO: hack to be removed. There is crash for 1 antenna case, so + * for 1 antenna case, I put back the value 2 as it was before + * Elena's commit. + */ + int x = frame_parms->nb_antennas_rx > 1 ? frame_parms->nb_antennas_rx : 2; + dl_ch128 = (__m128i *)&dl_ch_estimates_ext[aatx*x + aarx][symbol*frame_parms->N_RB_DL*12]; //print_shorts("dl_ch128[0]=",&dl_ch128[0]);*/ - dl_ch_mag128 = (__m128i *)&dl_ch_mag[aatx*frame_parms->nb_antennas_rx + aarx][symbol*frame_parms->N_RB_DL*12]; - dl_ch_mag128b = (__m128i *)&dl_ch_magb[aatx*frame_parms->nb_antennas_rx + aarx][symbol*frame_parms->N_RB_DL*12]; + dl_ch_mag128 = (__m128i *)&dl_ch_mag[aatx*x + aarx][symbol*frame_parms->N_RB_DL*12]; + dl_ch_mag128b = (__m128i *)&dl_ch_magb[aatx*x + aarx][symbol*frame_parms->N_RB_DL*12]; rxdataF128 = (__m128i *)&rxdataF_ext[aarx][symbol*frame_parms->N_RB_DL*12]; - rxdataF_comp128 = (__m128i *)&rxdataF_comp[aatx*frame_parms->nb_antennas_rx + aarx][symbol*frame_parms->N_RB_DL*12]; + rxdataF_comp128 = (__m128i *)&rxdataF_comp[aatx*x + aarx][symbol*frame_parms->N_RB_DL*12]; for (rb=0; rb2) { @@ -1770,12 +1774,17 @@ void dlsch_channel_compensation_core(int **rxdataF_ext, } for (aarx=0; aarx 1 ? n_rx : 2; - dl_ch128 = (__m128i *)&dl_ch_estimates_ext[aatx*n_rx + aarx][start_point]; - dl_ch_mag128 = (__m128i *)&dl_ch_mag[aatx*n_rx + aarx][start_point]; - dl_ch_mag128b = (__m128i *)&dl_ch_magb[aatx*n_rx + aarx][start_point]; + dl_ch128 = (__m128i *)&dl_ch_estimates_ext[aatx*x + aarx][start_point]; + dl_ch_mag128 = (__m128i *)&dl_ch_mag[aatx*x + aarx][start_point]; + dl_ch_mag128b = (__m128i *)&dl_ch_magb[aatx*x + aarx][start_point]; rxdataF128 = (__m128i *)&rxdataF_ext[aarx][start_point]; - rxdataF_comp128 = (__m128i *)&rxdataF_comp[aatx*n_rx + aarx][start_point]; + rxdataF_comp128 = (__m128i *)&rxdataF_comp[aatx*x + aarx][start_point]; length_mod8 = length&7; if (length_mod8 == 0){