From 0d9f417f7b7632ffa8bf19e51848514e71594761 Mon Sep 17 00:00:00 2001
From: lukashov <elena.lukashova@eurecom.fr>
Date: Mon, 14 Dec 2015 12:32:52 +0100
Subject: [PATCH] Small changes in dlsch_demodulation.c and in dlsim.c
 condition to stop simulation depending on rx_type. dr_offset must be
 calibrated for tm4 again.

---
 cmake_targets/CMakeLists.txt                  |  2 +-
 .../PHY/LTE_TRANSPORT/dlsch_demodulation.c    |  4 ++--
 openair1/SIMULATION/LTE_PHY/dlsim.c           | 23 ++++++++++++-------
 3 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 519d31dedc7..bb5048821b1 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -119,7 +119,7 @@ endmacro(add_list_string_option)
 ####################################################
 # compilation flags
 #############################################
-set (CMAKE_BUILD_TYPE "Debug")
+#set (CMAKE_BUILD_TYPE "Debug")
 if (CMAKE_BUILD_TYPE STREQUAL "")
    set(CMAKE_BUILD_TYPE "RelWithDebInfo")
 endif()
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
index 6f1a05ed4fa..85f05a8be46 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
@@ -428,11 +428,11 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
                                  dlsch0_harq->mimo_mode);
 	    
 	
-	/*if (rx_type>rx_standard) {
+	if (rx_type>rx_standard) {
 	  //	LOG_D(PHY,"llr_offset = %d\n",offset_mumimo_llr_drange[dlsch0_harq->mcs][(dlsch1_harq->mcs>>1)-1]);
 	  lte_ue_pdsch_vars[eNB_id]->log2_maxh = log2_approx(avg[0]) - 13 + offset_mumimo_llr_drange[dlsch0_harq->mcs][(get_Qm(dlsch1_harq->mcs)>>1)-1];
 	}
-	else */
+	else
 	lte_ue_pdsch_vars[eNB_id]->log2_maxh = log2_approx(avg[0])/2;
       }
     
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c
index f2c1d184e62..5ca65656664 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim.c
@@ -820,9 +820,9 @@ int main(int argc, char **argv)
     
     else 
       if (perfect_ce==1)
-		sprintf(csv_fname,"dataout_tx%d_mcs%d_mcsi%d_chan%d_nsimus%d_R%d_abstr_perf_ce.m",transmission_mode,mcs1,mcs2,channel_model,n_frames,num_rounds);
+		sprintf(csv_fname,"dataout_tx%d_rec%d_mcs%d_mcsi%d_chan%d_nsimus%d_R%d_ab_perf_ce.m",transmission_mode,rx_type,mcs1,mcs2,channel_model,n_frames,num_rounds);
  	else
-		 sprintf(csv_fname,"dataout_tx%d_mcs%d_mcsi%d_chan%d_nsimus%d_R%d_abstr.m",transmission_mode,mcs1,mcs2,channel_model,n_frames,num_rounds);
+		 sprintf(csv_fname,"dataout_tx%d_rec%d_mcs%d_mcsi%d_chan%d_nsimus%d_R%d_ab.m",transmission_mode,rx_type,mcs1,mcs2,channel_model,n_frames,num_rounds);
 
      // sprintf(csv_fname,"dataout_tx%d_mcs%d_mcs_interf%d_chan%d_nsimus%d_R%d_abstr_old.m",transmission_mode,mcs1,mcs2,channel_model,n_frames,num_rounds);
     csv_fd = fopen(csv_fname,"w");
@@ -2947,10 +2947,10 @@ n(tikz_fname,"w");
 		  //printf("r_im0 = %d\n",r_im[0][i]);
 		  //printf("r_re1 = %d\n",r_re[1][i]);
 		  //printf("r_im1 = %d\n",r_im[1][i]);
-		  //r_re[0][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][0]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)]);
-		  //r_im[0][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][0]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)+1]);
-		  //r_re[1][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][1]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)]);
-		  //r_im[1][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][1]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)+1]);
+		  // r_re[0][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][0]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)]);
+		  // r_im[0][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][0]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)+1]);
+		  // r_re[1][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][1]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)]);
+		  // r_im[1][i] = ((double)(((short *)PHY_vars_eNB->lte_eNB_common_vars.txdata[eNB_id][1]))[(2*subframe*PHY_vars_UE->lte_frame_parms.samples_per_tti) +(i<<1)+1]);
 		    		    
 		}
      else {
@@ -4306,8 +4306,15 @@ n(tikz_fname,"w");
 	printf("[continue] effective rate : %f  (%2.1f%%,%f)): increase snr \n",rate*effective_rate, 100*effective_rate, rate);
       }
 	
-      if (((double)errs[0][0]/(round_trials[0]))<1e-2 && ((double)errs[1][0]/(round_trials[0]))<1e-2) 
-	break;
+	if (rx_type<rx_IC_dual_stream) {
+         if (((double)errs[0][0]/(round_trials[0]))<1e-2)
+	 break;
+	}
+	else{ 
+	 if (((double)errs[0][0]/(round_trials[0]))<1e-2 && ((double)errs[1][0]/(round_trials[0]))<1e-2)  
+	 break;
+	  
+	}
       
       if (n_frames==1)
 	break;
-- 
GitLab