From 23db2b5225b34e1d9faa8e4058473048e4fa5ec4 Mon Sep 17 00:00:00 2001
From: Florian Kaltenberger <florian.kaltenberger@eurecom.fr>
Date: Mon, 1 Dec 2014 21:50:58 +0000
Subject: [PATCH] removed fix_rounds variable from dlsim.c as it was causing
 unwanted behaviour

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6145 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 openair1/SIMULATION/LTE_PHY/dlsim.c | 31 ++++++++++++-----------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c
index f06e6082ab..e5cfb6ba0d 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim.c
@@ -492,13 +492,11 @@ int main(int argc, char **argv) {
 	break;
       case 'e':
 	num_rounds=1;
-	fix_rounds=1;
 	common_flag = 1;
 	TPC = atoi(optarg);
 	break;
       case 'R':
 	num_rounds=atoi(optarg);
-	fix_rounds=1;
 	break;
       case 'S':
 	subframe=atoi(optarg);
@@ -1617,7 +1615,8 @@ int main(int argc, char **argv) {
 	//if (trials%100==0)
 	eNB2UE[0]->first_run = 1;
 
-	while (round < num_rounds) {
+	ret = PHY_vars_UE->dlsch_ue[0][0]->max_turbo_iterations+1;
+	while ((round < num_rounds) && (ret > PHY_vars_UE->dlsch_ue[0][0]->max_turbo_iterations)) {
 	  //	  printf("Trial %d, round %d\n",trials,round);
 	  round_trials[round]++;
 
@@ -2260,8 +2259,10 @@ int main(int argc, char **argv) {
 		      dci_errors++;
 		      round=5;
 		      errs[0]++;
-		      round_trials[0]++;
-		      //		  printf("DCI error trial %d errs[0] %d\n",trials,errs[0]);
+		      //round_trials[0]++;
+
+		      if (n_frames==1)
+			printf("DCI error trial %d errs[0] %d\n",trials,errs[0]);
 		    }
 		    //		for (i=1;i<=round;i++)
 		    //		  round_trials[i]--;
@@ -2303,12 +2304,12 @@ PHY_vars_UE->lte_ue_pdcch_vars[0]->num_pdcch_symbols,
 		      if (round==0) {
 			dci_errors++;
 			errs[0]++;
-			round_trials[0]++;
+			//round_trials[0]++;
+			round=5;
 
-			if (n_frames==1) {
+			if (n_frames==1) 
 			  printf("DCI misdetection trial %d\n",trials);
-			  round=5;
-			}
+			
 		      }
 		      //		  for (i=1;i<=round;i++)
 		      //		    round_trials[i]--;
@@ -2567,13 +2568,9 @@ PHY_vars_UE->lte_ue_pdcch_vars[0]->num_pdcch_symbols,
 	    iter_trials++;
 	    if (n_frames==1) 
 	      printf("No DLSCH errors found,uncoded ber %f\n",uncoded_ber);
-	    //	    exit(-1);
-	    if (fix_rounds==0)
-	      round=5;
-	    else
-	      round++;
 
 	    PHY_vars_UE->total_TBS[eNB_id] =  PHY_vars_UE->total_TBS[eNB_id] + PHY_vars_UE->dlsch_ue[eNB_id][0]->harq_processes[PHY_vars_UE->dlsch_ue[eNB_id][0]->current_harq_pid]->TBS;
+
 	  }	
 	  else {
 	    errs[round]++;
@@ -2632,10 +2629,7 @@ PHY_vars_UE->lte_ue_pdcch_vars[0]->num_pdcch_symbols,
 	    //	    printf("round %d errors %d/%d\n",round,errs[round],trials);
 
 	    round++;
-		
-	    if (n_frames==1)
-	      printf("DLSCH in error in round %d\n",round);
-		
+	
 	  }
 #ifdef XFORMS
 	  phy_scope_UE(form_ue, 
@@ -2644,6 +2638,7 @@ PHY_vars_UE->lte_ue_pdcch_vars[0]->num_pdcch_symbols,
 		       0,// UE_id
 		       subframe); 
 #endif
+
 	}  //round
 	//      printf("\n");
 
-- 
GitLab