From 4b77dda67ba12385df80a346d46f7d155b9f5354 Mon Sep 17 00:00:00 2001
From: Raymond Knopp <raymond.knopp@eurecom.fr>
Date: Fri, 30 Sep 2016 23:01:31 -0700
Subject: [PATCH] some changes in pucchsim to remove warnings. sanity check in
 turbo_decoder.

---
 .../CODING/3gpplte_turbo_decoder_sse_8bit.c   |  5 +++++
 openair1/PHY/LTE_TRANSPORT/pucch.c            |  7 +++++--
 openair1/SIMULATION/LTE_PHY/pucchsim.c        | 21 ++++++++++++-------
 3 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
index 99ac8cbf38..9d9ba961c2 100644
--- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
+++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
@@ -493,6 +493,11 @@ void compute_beta8(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sho
 
 #endif
 
+  if (frame_length > 6143) {
+    LOG_E(PHY,"compute_beta: frame_length %d\n",frame_length);
+    return;
+  }
+
   // we are supposed to run compute_alpha just before compute_beta
   // so the initial states of backward computation can be set from last value of alpha states (forward computation)
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c
index 7787ddfcf3..97a6ab7016 100644
--- a/openair1/PHY/LTE_TRANSPORT/pucch.c
+++ b/openair1/PHY/LTE_TRANSPORT/pucch.c
@@ -47,7 +47,7 @@
 #include "T.h"
 
 //uint8_t ncs_cell[20][7];
-//#define DEBUG_PUCCH_TX
+#define DEBUG_PUCCH_TX
 //#define DEBUG_PUCCH_RX
 
 int16_t cfo_pucch_np[24*7] = {20787,-25330,27244,-18205,31356,-9512,32767,0,31356,9511,27244,18204,20787,25329,
@@ -190,6 +190,9 @@ void generate_pucch1x(int32_t **txdataF,
   else {
     d = (frame_parms->Ncp==0) ? 2 : 0;
     h= (nprime0+d)%(c*Nprime_div_deltaPUCCH_Shift);
+#ifdef DEBUG_PUCCH_TX
+    printf("[PHY] PUCCH: h %d, d %d\n",h,d);
+#endif
     nprime1 = (h/c) + (h%c)*Nprime_div_deltaPUCCH_Shift;
   }
 
@@ -208,7 +211,7 @@ void generate_pucch1x(int32_t **txdataF,
     n_oc1<<=1;
 
 #ifdef DEBUG_PUCCH_TX
-  printf("[PHY] PUCCH: noc0 %d noc11 %d\n",n_oc0,n_oc1);
+  printf("[PHY] PUCCH: noc0 %d noc1 %d\n",n_oc0,n_oc1);
 #endif
 
   nprime=nprime0;
diff --git a/openair1/SIMULATION/LTE_PHY/pucchsim.c b/openair1/SIMULATION/LTE_PHY/pucchsim.c
index 4f9b8f9a88..e246b423ef 100644
--- a/openair1/SIMULATION/LTE_PHY/pucchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pucchsim.c
@@ -66,7 +66,11 @@ int main(int argc, char **argv)
   uint8_t snr1set=0;
   //mod_sym_t **txdataF;
   int **txdata;
-  double s_re[2][30720],s_im[2][30720],r_re[2][30720],r_im[2][30720];
+  double s_re0[30720],s_re1[30720],s_im0[30720],s_im1[30720],r_re0[30720],r_im0[30720],r_re1[30720],r_im1[30720];
+  double *s_re[2]={s_re0,s_re1};
+  double *s_im[2]={s_im0,s_im1};
+  double *r_re[2]={r_re0,r_re1};
+  double *r_im[2]={r_im0,r_im1};
   double ricean_factor=0.0000005,iqim=0.0;
 
   int trial, n_trials, ntrials=1, n_errors;
@@ -352,12 +356,15 @@ int main(int argc, char **argv)
 
   init_ncs_cell(&UE->frame_parms,UE->ncs_cell);
 
-  eNB->frame_parms.pucch_config_common.deltaPUCCH_Shift = 1;
-  eNB->frame_parms.pucch_config_common.nRB_CQI          = 0;
-  eNB->frame_parms.pucch_config_common.nCS_AN           = 0;
-  UE->frame_parms.pucch_config_common.deltaPUCCH_Shift = 1;
-  UE->frame_parms.pucch_config_common.nRB_CQI          = 0;
-  UE->frame_parms.pucch_config_common.nCS_AN           = 0;
+  init_ul_hopping(&eNB->frame_parms);
+  init_ul_hopping(&UE->frame_parms);
+
+  eNB->frame_parms.pucch_config_common.deltaPUCCH_Shift = 2;
+  eNB->frame_parms.pucch_config_common.nRB_CQI          = 4;
+  eNB->frame_parms.pucch_config_common.nCS_AN           = 6;
+  UE->frame_parms.pucch_config_common.deltaPUCCH_Shift = 2;
+  UE->frame_parms.pucch_config_common.nRB_CQI          = 4;
+  UE->frame_parms.pucch_config_common.nCS_AN           = 6;
 
   pucch_payload = 0;
 
-- 
GitLab