From 4df26768b8f447fa0ad9b869ef6bd9ac32cfe0a4 Mon Sep 17 00:00:00 2001
From: HOAI SON DANG <sondh8@viettel.com.vn>
Date: Fri, 15 Feb 2019 16:19:08 +0700
Subject: [PATCH] Format astyle for modified file

---
 ci-scripts/astyle-options.txt                 |    0
 openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c       | 1197 +++++++++--------
 .../NR_UE_PHY/unit_tests/src/pss_util_test.c  |  175 +--
 .../unit_tests/src/pucch_uci_generator_test.c |   65 +-
 4 files changed, 757 insertions(+), 680 deletions(-)
 mode change 100644 => 100755 ci-scripts/astyle-options.txt

diff --git a/ci-scripts/astyle-options.txt b/ci-scripts/astyle-options.txt
old mode 100644
new mode 100755
diff --git a/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c b/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
index de594ee3bf..2327a5036b 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
@@ -25,7 +25,7 @@
 * \date 2018
 * \version 0.1
 * \company Eurecom
-* \email: 
+* \email:
 * \note
 * \warning
 */
@@ -33,7 +33,7 @@
 #include "PHY/impl_defs_nr.h"
 #include "PHY/defs_nr_common.h"
 #include "PHY/defs_nr_UE.h"
-//#include "PHY/extern.h" 
+//#include "PHY/extern.h"
 //#include "LAYER2/MAC/extern.h"
 #include "PHY/NR_UE_TRANSPORT/pucch_nr.h"
 #include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
@@ -49,25 +49,25 @@
 //#define ONE_OVER_SQRT2 23170 // 32767/sqrt(2) = 23170 (ONE_OVER_SQRT2)
 
 void nr_group_sequence_hopping (//pucch_GroupHopping_t ue->pucch_config_common_nr.puch_GroupHopping,
-                                //uint8_t PUCCH_GroupHopping,
-                                PHY_VARS_NR_UE *ue,
-                                //uint32_t n_id,
-                                uint8_t n_hop,
-                                int nr_tti_tx,
-                                uint8_t *u,
-                                uint8_t *v) {
-/*
- * Implements TS 38.211 subclause 6.3.2.2.1 Group and sequence hopping
- * The following variables are set by higher layers:
- *    - PUCCH_GroupHopping:
- *    - n_id: higher-layer parameter hoppingId
- *    - n_hop: frequency hopping index
- *             if intra-slot frequency hopping is disabled by the higher-layer parameter PUCCH-frequency-hopping
- *                n_hop=0
- *             if frequency hopping is enabled by the higher-layer parameter PUCCH-frequency-hopping
- *                n_hop=0 for the first hop
- *                n_hop=1 for the second hop
- */
+  //uint8_t PUCCH_GroupHopping,
+  PHY_VARS_NR_UE *ue,
+  //uint32_t n_id,
+  uint8_t n_hop,
+  int nr_tti_tx,
+  uint8_t *u,
+  uint8_t *v) {
+  /*
+   * Implements TS 38.211 subclause 6.3.2.2.1 Group and sequence hopping
+   * The following variables are set by higher layers:
+   *    - PUCCH_GroupHopping:
+   *    - n_id: higher-layer parameter hoppingId
+   *    - n_hop: frequency hopping index
+   *             if intra-slot frequency hopping is disabled by the higher-layer parameter PUCCH-frequency-hopping
+   *                n_hop=0
+   *             if frequency hopping is enabled by the higher-layer parameter PUCCH-frequency-hopping
+   *                n_hop=0 for the first hop
+   *                n_hop=1 for the second hop
+   */
   // depending on the value of the PUCCH_GroupHopping, we will obtain different values for u,v
   pucch_GroupHopping_t PUCCH_GroupHopping = ue->pucch_config_common_nr->pucch_GroupHopping; // from higher layers FIXME!!!
   // n_id defined as per TS 38.211 subclause 6.3.2.2.1 (is given by the higher-layer parameter hoppingId)
@@ -75,16 +75,12 @@ void nr_group_sequence_hopping (//pucch_GroupHopping_t ue->pucch_config_common_n
   // Cell-Specific scrambling ID for group hoppping and sequence hopping if enabled
   // Corresponds to L1 parameter 'HoppingID' (see 38.211, section 6.3.2.2) BIT STRING (SIZE (10))
   uint16_t n_id = ue->pucch_config_common_nr->hoppingId; // from higher layers FIXME!!!
-
-
-  #ifdef DEBUG_NR_PUCCH_TX
-    // initialization to be removed
-    PUCCH_GroupHopping=neither;
-    n_id=10;
-    printf("\t\t [nr_group_sequence_hopping] initialization PUCCH_GroupHopping=%d, n_id=%d -> variable initializations TO BE REMOVED\n",PUCCH_GroupHopping,n_id);
-  #endif
-
-
+#ifdef DEBUG_NR_PUCCH_TX
+  // initialization to be removed
+  PUCCH_GroupHopping=neither;
+  n_id=10;
+  printf("\t\t [nr_group_sequence_hopping] initialization PUCCH_GroupHopping=%d, n_id=%d -> variable initializations TO BE REMOVED\n",PUCCH_GroupHopping,n_id);
+#endif
   uint8_t f_ss=0,f_gh=0;
   *u=0;
   *v=0;
@@ -92,49 +88,53 @@ void nr_group_sequence_hopping (//pucch_GroupHopping_t ue->pucch_config_common_n
   uint32_t x1,s = lte_gold_generic(&x1, &c_init, 1); // TS 38.211 Subclause 5.2.1
   int l = 32, minShift = ((2*nr_tti_tx+n_hop)<<3);
   int tmpShift =0;
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t\t [nr_group_sequence_hopping] calculating u,v -> ");
+#endif
 
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t\t [nr_group_sequence_hopping] calculating u,v -> ");
-  #endif
-
-  if (PUCCH_GroupHopping == neither){ // PUCCH_GroupHopping 'neither'
+  if (PUCCH_GroupHopping == neither) { // PUCCH_GroupHopping 'neither'
     f_ss = n_id%30;
   }
-  if (PUCCH_GroupHopping == enable){ // PUCCH_GroupHopping 'enabled'
-	  for (int m=0; m<8; m++){
-		  while(minShift >= l){
-			  s = lte_gold_generic(&x1, &c_init, 0);
-			  l = l+32;
-		  }
-		  tmpShift = (minShift&((1<<5)-1)); //minShift%32;
-		  f_gh = f_gh + ((1<<m)*((uint8_t)((s>>tmpShift)&1)));
-		  minShift ++;
-	  }
-	  f_gh = f_gh%30;
-	  f_ss = n_id%30;
-
-/*    for (int m=0; m<8; m++){
-      f_gh = f_gh + ((1<<m)*((uint8_t)((s>>(8*(2*nr_tti_tx+n_hop)+m))&1))); // Not sure we have to use nr_tti_tx FIXME!!!
+
+  if (PUCCH_GroupHopping == enable) { // PUCCH_GroupHopping 'enabled'
+    for (int m=0; m<8; m++) {
+      while(minShift >= l) {
+        s = lte_gold_generic(&x1, &c_init, 0);
+        l = l+32;
+      }
+
+      tmpShift = (minShift&((1<<5)-1)); //minShift%32;
+      f_gh = f_gh + ((1<<m)*((uint8_t)((s>>tmpShift)&1)));
+      minShift ++;
     }
+
     f_gh = f_gh%30;
-    f_ss = n_id%30;*/
+    f_ss = n_id%30;
+    /*    for (int m=0; m<8; m++){
+          f_gh = f_gh + ((1<<m)*((uint8_t)((s>>(8*(2*nr_tti_tx+n_hop)+m))&1))); // Not sure we have to use nr_tti_tx FIXME!!!
+        }
+        f_gh = f_gh%30;
+        f_ss = n_id%30;*/
   }
-  if (PUCCH_GroupHopping == disable){ // PUCCH_GroupHopping 'disabled'
+
+  if (PUCCH_GroupHopping == disable) { // PUCCH_GroupHopping 'disabled'
     f_ss = n_id%30;
     l = 32, minShift = (2*nr_tti_tx+n_hop);
-    while(minShift >= l){
-    	s = lte_gold_generic(&x1, &c_init, 0);
-    	l = l+32;
+
+    while(minShift >= l) {
+      s = lte_gold_generic(&x1, &c_init, 0);
+      l = l+32;
     }
+
     tmpShift = (minShift&((1<<5)-1)); //minShift%32;
     *v = (uint8_t)((s>>tmpShift)&1);
-
-//    *v = (uint8_t)((s>>(2*nr_tti_tx+n_hop))&1); // Not sure we have to use nr_tti_tx FIXME!!!
+    //    *v = (uint8_t)((s>>(2*nr_tti_tx+n_hop))&1); // Not sure we have to use nr_tti_tx FIXME!!!
   }
+
   *u = (f_gh+f_ss)%30;
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("%d,%d\n",*u,*v);
-  #endif
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("%d,%d\n",*u,*v);
+#endif
 }
 
 double nr_cyclic_shift_hopping(PHY_VARS_NR_UE *ue,
@@ -143,48 +143,47 @@ double nr_cyclic_shift_hopping(PHY_VARS_NR_UE *ue,
                                uint8_t lnormal,
                                uint8_t lprime,
                                int nr_tti_tx) {
-/*
- * Implements TS 38.211 subclause 6.3.2.2.2 Cyclic shift hopping
- *     - n_id: higher-layer parameter hoppingId
- *     - m0: provided by higher layer parameter PUCCH-F0-F1-initial-cyclic-shift of PUCCH-F0-resource-config
- *     - mcs: mcs=0 except for PUCCH format 0 when it depends on information to be transmitted according to TS 38.213 subclause 9.2
- *     - lnormal: lnormal is the OFDM symbol number in the PUCCH transmission where l=0 corresponds to the first OFDM symbol of the PUCCH transmission
- *     - lprime: lprime is the index of the OFDM symbol in the slot that corresponds to the first OFDM symbol of the PUCCH transmission in the slot given by [5, TS 38.213]
- */
+  /*
+   * Implements TS 38.211 subclause 6.3.2.2.2 Cyclic shift hopping
+   *     - n_id: higher-layer parameter hoppingId
+   *     - m0: provided by higher layer parameter PUCCH-F0-F1-initial-cyclic-shift of PUCCH-F0-resource-config
+   *     - mcs: mcs=0 except for PUCCH format 0 when it depends on information to be transmitted according to TS 38.213 subclause 9.2
+   *     - lnormal: lnormal is the OFDM symbol number in the PUCCH transmission where l=0 corresponds to the first OFDM symbol of the PUCCH transmission
+   *     - lprime: lprime is the index of the OFDM symbol in the slot that corresponds to the first OFDM symbol of the PUCCH transmission in the slot given by [5, TS 38.213]
+   */
   // alpha_init initialized to 2*PI/12=0.5235987756
   double alpha = 0.5235987756;
   uint32_t c_init = ue->pucch_config_common_nr->hoppingId; // we initialize c_init again to calculate n_cs
-
-  #ifdef DEBUG_NR_PUCCH_TX
-    // initialization to be remo.ved
-    c_init=10;
-    printf("\t\t [nr_cyclic_shift_hopping] initialization c_init=%d -> variable initialization TO BE REMOVED\n",c_init);
-  #endif
-
+#ifdef DEBUG_NR_PUCCH_TX
+  // initialization to be remo.ved
+  c_init=10;
+  printf("\t\t [nr_cyclic_shift_hopping] initialization c_init=%d -> variable initialization TO BE REMOVED\n",c_init);
+#endif
   uint32_t x1,s = lte_gold_generic(&x1, &c_init, 1); // TS 38.211 Subclause 5.2.1
   uint8_t n_cs=0;
-
   int l = 32, minShift = (14*8*nr_tti_tx )+ 8*(lnormal+lprime);
   int tmpShift =0;
-
 #ifdef DEBUG_NR_PUCCH_TX
   printf("\t\t [nr_cyclic_shift_hopping] calculating alpha (cyclic shift) using c_init=%d -> \n",c_init);
 #endif
-  for (int m=0; m<8; m++){
-	  while(minShift >= l){
-		  s = lte_gold_generic(&x1, &c_init, 0);
-		  l = l+32;
-	  }
-	  tmpShift = (minShift&((1<<5)-1)); //minShift%32;
-	  minShift ++;
-	  n_cs = n_cs+((1<<m)*((uint8_t)((s>>tmpShift)&1)));
+
+  for (int m=0; m<8; m++) {
+    while(minShift >= l) {
+      s = lte_gold_generic(&x1, &c_init, 0);
+      l = l+32;
+    }
+
+    tmpShift = (minShift&((1<<5)-1)); //minShift%32;
+    minShift ++;
+    n_cs = n_cs+((1<<m)*((uint8_t)((s>>tmpShift)&1)));
     // calculating n_cs (Not sure we have to use nr_tti_tx FIXME!!!)
     // n_cs = n_cs+((1<<m)*((uint8_t)((s>>((14*8*nr_tti_tx) + 8*(lnormal+lprime) + m))&1)));
   }
+
   alpha = (alpha * (double)((m0+mcs+n_cs)%12));
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("n_cs=%d -> %lf\n",n_cs,alpha);
-  #endif
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("n_cs=%d -> %lf\n",n_cs,alpha);
+#endif
   return(alpha);
 }
 void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
@@ -198,18 +197,16 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
                         uint8_t nrofSymbols,
                         uint8_t startingSymbolIndex,
                         uint16_t startingPRB) {
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch0] start function at slot(nr_tti_tx)=%d\n",nr_tti_tx);
-  #endif
-
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t [nr_generate_pucch0] start function at slot(nr_tti_tx)=%d\n",nr_tti_tx);
+#endif
   /*
    * Implement TS 38.211 Subclause 6.3.2.3.1 Sequence generation
    *
    */
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch0] sequence generation\n");
-  #endif
-
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t [nr_generate_pucch0] sequence generation\n");
+#endif
   /*
    * Defining cyclic shift hopping TS 38.211 Subclause 6.3.2.2.2
    */
@@ -221,13 +218,11 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
   //uint8_t lprime;
   // mcs is provided by TC 38.213 subclauses 9.2.3, 9.2.4, 9.2.5 FIXME!
   //uint8_t mcs;
-
   /*
    * in TS 38.213 Subclause 9.2.1 it is said that:
    * for PUCCH format 0 or PUCCH format 1, the index of the cyclic shift
    * is indicated by higher layer parameter PUCCH-F0-F1-initial-cyclic-shift
    */
-
   /*
    * Implementing TS 38.211 Subclause 6.3.2.3.1, the sequence x(n) shall be generated according to:
    * x(l*12+n) = r_u_v_alpha_delta(n)
@@ -241,70 +236,78 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
   //              n_hop = 1 for second hop
   uint8_t n_hop = 0;
   //uint8_t PUCCH_Frequency_Hopping; // from higher layers FIXME!!
-
 #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch0] sequence generation: variable initialization for test\n");
+  printf("\t [nr_generate_pucch0] sequence generation: variable initialization for test\n");
 #endif
-
   // x_n contains the sequence r_u_v_alpha_delta(n)
   int16_t x_n_re[24],x_n_im[24];
+
   // we proceed to calculate alpha according to TS 38.211 Subclause 6.3.2.2.2
-  for (int l=0; l<nrofSymbols; l++){
+  for (int l=0; l<nrofSymbols; l++) {
     // if frequency hopping is enabled n_hop = 1 for second hop. Not sure frequency hopping concerns format 0. FIXME!!!
     // if ((PUCCH_Frequency_Hopping == 1)&&(l == (nrofSymbols-1))) n_hop = 1;
     nr_group_sequence_hopping(ue,n_hop,nr_tti_tx,&u,&v); // calculating u and v value
     alpha = nr_cyclic_shift_hopping(ue,m0,mcs,l,startingSymbolIndex,nr_tti_tx);
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch0] sequence generation \tu=%d \tv=%d \talpha=%lf \t(for symbol l=%d)\n",u,v,alpha,l);
-    #endif
-    for (int n=0; n<12; n++){
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch0] sequence generation \tu=%d \tv=%d \talpha=%lf \t(for symbol l=%d)\n",u,v,alpha,l);
+#endif
+
+    for (int n=0; n<12; n++) {
       x_n_re[(12*l)+n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15)
-                                  - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of base sequence shifted by alpha
+                                    - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of base sequence shifted by alpha
       x_n_im[(12*l)+n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15)
-                                  + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of base sequence shifted by alpha
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch0] sequence generation \tu=%d \tv=%d \talpha=%lf \tx_n(l=%d,n=%d)=(%d,%d)\n",
-                u,v,alpha,l,n,x_n_re[(12*l)+n],x_n_im[(12*l)+n]);
-      #endif
+                                    + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of base sequence shifted by alpha
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch0] sequence generation \tu=%d \tv=%d \talpha=%lf \tx_n(l=%d,n=%d)=(%d,%d)\n",
+             u,v,alpha,l,n,x_n_re[(12*l)+n],x_n_im[(12*l)+n]);
+#endif
     }
   }
+
   /*
    * Implementing TS 38.211 Subclause 6.3.2.3.2 Mapping to physical resources FIXME!
    */
   //int32_t *txptr;
   uint32_t re_offset=0;
+
   for (int l=0; l<nrofSymbols; l++) {
     if ((startingPRB <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is lower band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     if ((startingPRB >= (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is upper band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(startingPRB-(frame_parms->N_RB_DL>>1)));
     }
+
     if ((startingPRB <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is lower band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     if ((startingPRB >  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is upper band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(startingPRB-(frame_parms->N_RB_DL>>1))) + 6;
     }
+
     if ((startingPRB == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB contains DC
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     //txptr = &txdataF[0][re_offset];
-    for (int n=0; n<12; n++){
+    for (int n=0; n<12; n++) {
       if ((n==6) && (startingPRB == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) {
         // if number RBs in bandwidth is odd  and current PRB contains DC, we need to recalculate the offset when n=6 (for second half PRB)
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size);
       }
+
       ((int16_t *)&txdataF[0][re_offset])[0] = (int16_t)(((int32_t)(amp) * x_n_re[(12*l)+n])>>15);
       ((int16_t *)&txdataF[0][re_offset])[1] = (int16_t)(((int32_t)(amp) * x_n_im[(12*l)+n])>>15);
       //((int16_t *)txptr[0][re_offset])[0] = (int16_t)((int32_t)amp * x_n_re[(12*l)+n])>>15;
       //((int16_t *)txptr[0][re_offset])[1] = (int16_t)((int32_t)amp * x_n_im[(12*l)+n])>>15;
       //txptr[re_offset] = (x_n_re[(12*l)+n]<<16) + x_n_im[(12*l)+n];
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch0] mapping to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \ttxptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
-                amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,re_offset,
-                l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch0] mapping to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \ttxptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
+             amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,re_offset,
+             l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
       re_offset++;
     }
   }
@@ -326,41 +329,45 @@ void nr_generate_pucch1(PHY_VARS_NR_UE *ue,
                         uint8_t nr_bit) {
 #ifdef DEBUG_NR_PUCCH_TX
   printf("\t [nr_generate_pucch1] start function at slot(nr_tti_tx)=%d payload=%d m0=%d nrofSymbols=%d startingSymbolIndex=%d startingPRB=%d startingPRB_intraSlotHopping=%d timeDomainOCC=%d nr_bit=%d\n",
-          nr_tti_tx,payload,m0,nrofSymbols,startingSymbolIndex,startingPRB,startingPRB_intraSlotHopping,timeDomainOCC,nr_bit);
+         nr_tti_tx,payload,m0,nrofSymbols,startingSymbolIndex,startingPRB,startingPRB_intraSlotHopping,timeDomainOCC,nr_bit);
 #endif
-
   /*
    * Implement TS 38.211 Subclause 6.3.2.4.1 Sequence modulation
    *
    */
   // complex-valued symbol d_re, d_im containing complex-valued symbol d(0):
   int16_t d_re=0, d_im=0;
+
   if (nr_bit == 1) { // using BPSK if M_bit=1 according to TC 38.211 Subclause 5.1.2
     d_re = (payload&1)==0 ? (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15) : -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     d_im = (payload&1)==0 ? (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15) : -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
   }
+
   if (nr_bit == 2) { // using QPSK if M_bit=2 according to TC 38.211 Subclause 5.1.2
     if (((payload&1)==0) && (((payload>>1)&1)==0)) {
       d_re =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15); // 32767/sqrt(2) = 23170 (ONE_OVER_SQRT2)
       d_im =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((payload&1)==0) && (((payload>>1)&1)==1)) {
       d_re =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((payload&1)==1) && (((payload>>1)&1)==0)) {
       d_re = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((payload&1)==1) && (((payload>>1)&1)==1)) {
       d_re = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
   }
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch1] sequence modulation: payload=%x \tde_re=%d \tde_im=%d\n",payload,d_re,d_im);
-  #endif
 
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t [nr_generate_pucch1] sequence modulation: payload=%x \tde_re=%d \tde_im=%d\n",payload,d_re,d_im);
+#endif
   /*
    * Defining cyclic shift hopping TS 38.211 Subclause 6.3.2.2.2
    */
@@ -380,7 +387,6 @@ void nr_generate_pucch1(PHY_VARS_NR_UE *ue,
    * for PUCCH format 0 or PUCCH format 1, the index of the cyclic shift
    * is indicated by higher layer parameter PUCCH-F0-F1-initial-cyclic-shift
    */
-
   /*
    * the complex-valued symbol d_0 shall be multiplied with a sequence r_u_v_alpha_delta(n): y(n) = d_0 * r_u_v_alpha_delta(n)
    */
@@ -397,57 +403,63 @@ void nr_generate_pucch1(PHY_VARS_NR_UE *ue,
   // otherwise no intra-slot frequency hopping shall be assumed
   //uint8_t PUCCH_Frequency_Hopping = 0 ; // from higher layers
   uint8_t intraSlotFrequencyHopping = 0;
-  if (startingPRB != startingPRB_intraSlotHopping){
+
+  if (startingPRB != startingPRB_intraSlotHopping) {
     intraSlotFrequencyHopping=1;
   }
+
 #ifdef DEBUG_NR_PUCCH_TX
   printf("\t [nr_generate_pucch1] intraSlotFrequencyHopping = %d \n",intraSlotFrequencyHopping);
 #endif
-/*
- * Implementing TS 38.211 Subclause 6.3.2.4.2 Mapping to physical resources
- */
+  /*
+   * Implementing TS 38.211 Subclause 6.3.2.4.2 Mapping to physical resources
+   */
   //int32_t *txptr;
   uint32_t re_offset=0;
   int i=0;
-  #define MAX_SIZE_Z 168 // this value has to be calculated from mprime*12*table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_noHop[pucch_symbol_length]+m*12+n
+#define MAX_SIZE_Z 168 // this value has to be calculated from mprime*12*table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_noHop[pucch_symbol_length]+m*12+n
   int16_t z_re[MAX_SIZE_Z],z_im[MAX_SIZE_Z];
   int16_t z_dmrs_re[MAX_SIZE_Z],z_dmrs_im[MAX_SIZE_Z];
 
   for (int l=0; l<nrofSymbols; l++) {
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch1] for symbol l=%d, lprime=%d\n",
-              l,lprime);
-    #endif
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch1] for symbol l=%d, lprime=%d\n",
+           l,lprime);
+#endif
     // y_n contains the complex value d multiplied by the sequence r_u_v
     int16_t y_n_re[12],y_n_im[12];
+
     if ((intraSlotFrequencyHopping == 1) && (l >= (int)floor(nrofSymbols/2))) n_hop = 1; // n_hop = 1 for second hop
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch1] entering function nr_group_sequence_hopping with n_hop=%d, nr_tti_tx=%d\n",
-              n_hop,nr_tti_tx);
-    #endif
+
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch1] entering function nr_group_sequence_hopping with n_hop=%d, nr_tti_tx=%d\n",
+           n_hop,nr_tti_tx);
+#endif
     nr_group_sequence_hopping(ue,n_hop,nr_tti_tx,&u,&v); // calculating u and v value
     alpha = nr_cyclic_shift_hopping(ue,m0,mcs,l,lprime,nr_tti_tx);
-    for (int n=0; n<12; n++){
+
+    for (int n=0; n<12; n++) {
       r_u_v_alpha_delta_re[n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15)
-                                         - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of base sequence shifted by alpha
+                                           - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of base sequence shifted by alpha
       r_u_v_alpha_delta_im[n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15)
-                                         + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of base sequence shifted by alpha
+                                           + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of base sequence shifted by alpha
       r_u_v_alpha_delta_dmrs_re[n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15)
-                                              - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of DMRS base sequence shifted by alpha
+                                     - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of DMRS base sequence shifted by alpha
       r_u_v_alpha_delta_dmrs_im[n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15)
-                                              + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of DMRS base sequence shifted by alpha
+                                     + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of DMRS base sequence shifted by alpha
       r_u_v_alpha_delta_dmrs_re[n] = (int16_t)(((int32_t)(amp*r_u_v_alpha_delta_dmrs_re[n]))>>15);
       r_u_v_alpha_delta_dmrs_im[n] = (int16_t)(((int32_t)(amp*r_u_v_alpha_delta_dmrs_im[n]))>>15);
       // PUCCH sequence = DM-RS sequence multiplied by d(0)
       y_n_re[n]               = (int16_t)(((((int32_t)(r_u_v_alpha_delta_re[n])*d_re)>>15)
-                                         - (((int32_t)(r_u_v_alpha_delta_im[n])*d_im)>>15))); // Re part of y(n)
+                                           - (((int32_t)(r_u_v_alpha_delta_im[n])*d_im)>>15))); // Re part of y(n)
       y_n_im[n]               = (int16_t)(((((int32_t)(r_u_v_alpha_delta_re[n])*d_im)>>15)
-                                         + (((int32_t)(r_u_v_alpha_delta_im[n])*d_re)>>15))); // Im part of y(n)
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch1] sequence generation \tu=%d \tv=%d \talpha=%lf \tr_u_v_alpha_delta[n=%d]=(%d,%d) \ty_n[n=%d]=(%d,%d)\n",
-            u,v,alpha,n,r_u_v_alpha_delta_re[n],r_u_v_alpha_delta_im[n],n,y_n_re[n],y_n_im[n]);
-      #endif
+                                           + (((int32_t)(r_u_v_alpha_delta_im[n])*d_re)>>15))); // Im part of y(n)
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch1] sequence generation \tu=%d \tv=%d \talpha=%lf \tr_u_v_alpha_delta[n=%d]=(%d,%d) \ty_n[n=%d]=(%d,%d)\n",
+             u,v,alpha,n,r_u_v_alpha_delta_re[n],r_u_v_alpha_delta_im[n],n,y_n_re[n],y_n_im[n]);
+#endif
     }
+
     /*
      * The block of complex-valued symbols y(n) shall be block-wise spread with the orthogonal sequence wi(m)
      * (defined in table_6_3_2_4_1_2_Wi_Re and table_6_3_2_4_1_2_Wi_Im)
@@ -473,202 +485,222 @@ void nr_generate_pucch1(PHY_VARS_NR_UE *ue,
     uint8_t N_SF_mprime0_PUCCH_DMRS_1;
     // mprime is 0 if no intra-slot hopping / mprime is {0,1} if intra-slot hopping
     uint8_t mprime = 0;
+
     if (intraSlotFrequencyHopping == 0) { // intra-slot hopping disabled
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d, intra-slot hopping disabled\n",
-                intraSlotFrequencyHopping);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d, intra-slot hopping disabled\n",
+             intraSlotFrequencyHopping);
+#endif
       N_SF_mprime_PUCCH_1       =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled (PUCCH)
       N_SF_mprime_PUCCH_DMRS_1  = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled (DM-RS)
       N_SF_mprime0_PUCCH_1      =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled mprime = 0 (PUCCH)
       N_SF_mprime0_PUCCH_DMRS_1 = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled mprime = 0 (DM-RS)
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch1] w_index = %d, N_SF_mprime_PUCCH_1 = %d, N_SF_mprime_PUCCH_DMRS_1 = %d, N_SF_mprime0_PUCCH_1 = %d, N_SF_mprime0_PUCCH_DMRS_1 = %d\n",
-                 w_index, N_SF_mprime_PUCCH_1,N_SF_mprime_PUCCH_DMRS_1,N_SF_mprime0_PUCCH_1,N_SF_mprime0_PUCCH_DMRS_1);
-      #endif
-      for (int m=0; m < N_SF_mprime_PUCCH_1; m++){
-        for (int n=0; n<12 ; n++){
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch1] w_index = %d, N_SF_mprime_PUCCH_1 = %d, N_SF_mprime_PUCCH_DMRS_1 = %d, N_SF_mprime0_PUCCH_1 = %d, N_SF_mprime0_PUCCH_DMRS_1 = %d\n",
+             w_index, N_SF_mprime_PUCCH_1,N_SF_mprime_PUCCH_DMRS_1,N_SF_mprime0_PUCCH_1,N_SF_mprime0_PUCCH_DMRS_1);
+#endif
+
+      for (int m=0; m < N_SF_mprime_PUCCH_1; m++) {
+        for (int n=0; n<12 ; n++) {
           z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15)
-                                                                              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
+              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
           z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15)
-                                                                              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
-                    mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
-                    table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],
-                    table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],
-                    z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
-          #endif
+              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
+                 mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
+                 table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],
+                 table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],
+                 z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
+#endif
         }
       }
-      for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++){
-        for (int n=0; n<12 ; n++){
+
+      for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++) {
+        for (int n=0; n<12 ; n++) {
           z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_re[n])>>15)
-                                                                              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_im[n])>>15));
+              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_im[n])>>15));
           z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_im[n])>>15)
-                                                                              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_re[n])>>15));
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
-                    mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
-                    table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],
-                    table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],
-                    z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
-          #endif
+              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_re[n])>>15));
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
+                 mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
+                 table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],
+                 table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],
+                 z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
+#endif
         }
       }
     }
+
     if (intraSlotFrequencyHopping == 1) { // intra-slot hopping enabled
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d, intra-slot hopping enabled\n",
-                intraSlotFrequencyHopping);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d, intra-slot hopping enabled\n",
+             intraSlotFrequencyHopping);
+#endif
       N_SF_mprime_PUCCH_1       =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (PUCCH)
       N_SF_mprime_PUCCH_DMRS_1  = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (DM-RS)
       N_SF_mprime0_PUCCH_1      =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (PUCCH)
       N_SF_mprime0_PUCCH_DMRS_1 = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (DM-RS)
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch1] w_index = %d, N_SF_mprime_PUCCH_1 = %d, N_SF_mprime_PUCCH_DMRS_1 = %d, N_SF_mprime0_PUCCH_1 = %d, N_SF_mprime0_PUCCH_DMRS_1 = %d\n",
-                 w_index, N_SF_mprime_PUCCH_1,N_SF_mprime_PUCCH_DMRS_1,N_SF_mprime0_PUCCH_1,N_SF_mprime0_PUCCH_DMRS_1);
-      #endif
-      for (int m=0; m < N_SF_mprime_PUCCH_1; m++){
-      for (mprime = 0; mprime<2; mprime++){ // mprime can get values {0,1}
-        for (int m=0; m < N_SF_mprime_PUCCH_1; m++){
-          for (int n=0; n<12 ; n++){
-            z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15)
-                                                                                - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
-            z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15)
-                                                                                + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
-#ifdef DEBUG_NR_PUCCH_TX
-  printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
-          mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
-          table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],
-          table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],
-          z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch1] w_index = %d, N_SF_mprime_PUCCH_1 = %d, N_SF_mprime_PUCCH_DMRS_1 = %d, N_SF_mprime0_PUCCH_1 = %d, N_SF_mprime0_PUCCH_DMRS_1 = %d\n",
+             w_index, N_SF_mprime_PUCCH_1,N_SF_mprime_PUCCH_DMRS_1,N_SF_mprime0_PUCCH_1,N_SF_mprime0_PUCCH_DMRS_1);
+#endif
+
+      for (int m=0; m < N_SF_mprime_PUCCH_1; m++) {
+        for (mprime = 0; mprime<2; mprime++) { // mprime can get values {0,1}
+          for (int m=0; m < N_SF_mprime_PUCCH_1; m++) {
+            for (int n=0; n<12 ; n++) {
+              z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15)
+                  - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
+              z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15)
+                  + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
+#ifdef DEBUG_NR_PUCCH_TX
+              printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
+                     mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
+                     table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],
+                     table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],
+                     z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
 #endif
+            }
           }
-        }
-        for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++){
-          for (int n=0; n<12 ; n++){
-            z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_re[n])>>15)
-                                                                                - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_im[n])>>15));
-            z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_im[n])>>15)
-                                                                                + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_re[n])>>15));
-#ifdef DEBUG_NR_PUCCH_TX
-  printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
-          mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
-          table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],
-          table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],
-          z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
+
+          for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++) {
+            for (int n=0; n<12 ; n++) {
+              z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_re[n])>>15)
+                  - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_im[n])>>15));
+              z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_im[n])>>15)
+                  + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_dmrs_re[n])>>15));
+#ifdef DEBUG_NR_PUCCH_TX
+              printf("\t [nr_generate_pucch1] block-wise spread with wi(m) (mprime=%d, m=%d, n=%d) z[%d] = ((%d * %d - %d * %d), (%d * %d + %d * %d)) = (%d,%d)\n",
+                     mprime, m, n, (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
+                     table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],
+                     table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],r_u_v_alpha_delta_dmrs_re[n],
+                     z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
 #endif
+            }
           }
+
+          N_SF_mprime_PUCCH_1       =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_m1Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 1 (PUCCH)
+          N_SF_mprime_PUCCH_DMRS_1  = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_m1Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 1 (DM-RS)
         }
-        N_SF_mprime_PUCCH_1       =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_m1Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 1 (PUCCH)
-        N_SF_mprime_PUCCH_DMRS_1  = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_m1Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 1 (DM-RS)
-      }
       }
     }
+
     if ((intraSlotFrequencyHopping == 1) && (l<floor(nrofSymbols/2))) { // intra-slot hopping enabled, we need to calculate new offset PRB
       startingPRB = startingPRB + startingPRB_intraSlotHopping;
     }
+
     if ((startingPRB <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is lower band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     if ((startingPRB >= (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is upper band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(startingPRB-(frame_parms->N_RB_DL>>1)));
     }
+
     if ((startingPRB <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is lower band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     if ((startingPRB >  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is upper band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(startingPRB-(frame_parms->N_RB_DL>>1))) + 6;
     }
+
     if ((startingPRB == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB contains DC
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
 
-
     //txptr = &txdataF[0][re_offset];
-    for (int n=0; n<12; n++){
+    for (int n=0; n<12; n++) {
       if ((n==6) && (startingPRB == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) {
         // if number RBs in bandwidth is odd  and current PRB contains DC, we need to recalculate the offset when n=6 (for second half PRB)
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size);
       }
+
       if (l%2 == 1) { // mapping PUCCH according to TS38.211 subclause 6.4.1.3.1
         ((int16_t *)&txdataF[0][re_offset])[0] = z_re[i+n];
         ((int16_t *)&txdataF[0][re_offset])[1] = z_im[i+n];
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch1] mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
-                  amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
-                  l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch1] mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
+               amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
+               l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
       }
+
       if (l%2 == 0) { // mapping DM-RS signal according to TS38.211 subclause 6.4.1.3.1
         ((int16_t *)&txdataF[0][re_offset])[0] = z_dmrs_re[i+n];
         ((int16_t *)&txdataF[0][re_offset])[1] = z_dmrs_im[i+n];
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch1] mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
-                  amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
-                  l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch1] mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
+               amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
+               l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
       }
+
       re_offset++;
     }
+
     if (l%2 == 1) i+=12;
   }
 }
 
 #if 0
 void nr_generate_pucch1_old(PHY_VARS_NR_UE *ue,
-                        int32_t **txdataF,
-                        NR_DL_FRAME_PARMS *frame_parms,
-                        PUCCH_CONFIG_DEDICATED *pucch_config_dedicated,
-                        uint64_t payload,
-                        int16_t amp,
-                        int nr_tti_tx,
-                        uint8_t m0,
-                        uint8_t nrofSymbols,
-                        uint8_t startingSymbolIndex,
-                        uint16_t startingPRB,
-                        uint16_t startingPRB_intraSlotHopping,
-                        uint8_t timeDomainOCC,
-                        uint8_t nr_bit) {
+                            int32_t **txdataF,
+                            NR_DL_FRAME_PARMS *frame_parms,
+                            PUCCH_CONFIG_DEDICATED *pucch_config_dedicated,
+                            uint64_t payload,
+                            int16_t amp,
+                            int nr_tti_tx,
+                            uint8_t m0,
+                            uint8_t nrofSymbols,
+                            uint8_t startingSymbolIndex,
+                            uint16_t startingPRB,
+                            uint16_t startingPRB_intraSlotHopping,
+                            uint8_t timeDomainOCC,
+                            uint8_t nr_bit) {
 #ifdef DEBUG_NR_PUCCH_TX
   printf("\t [nr_generate_pucch1] start function at slot(nr_tti_tx)=%d payload=%d m0=%d nrofSymbols=%d startingSymbolIndex=%d startingPRB=%d startingPRB_intraSlotHopping=%d timeDomainOCC=%d nr_bit=%d\n",
-          nr_tti_tx,payload,m0,nrofSymbols,startingSymbolIndex,startingPRB,startingPRB_intraSlotHopping,timeDomainOCC,nr_bit);
+         nr_tti_tx,payload,m0,nrofSymbols,startingSymbolIndex,startingPRB,startingPRB_intraSlotHopping,timeDomainOCC,nr_bit);
 #endif
-
   /*
    * Implement TS 38.211 Subclause 6.3.2.4.1 Sequence modulation
    *
    */
   // complex-valued symbol d_re, d_im containing complex-valued symbol d(0):
   int16_t d_re, d_im;
+
   if (nr_bit == 1) { // using BPSK if M_bit=1 according to TC 38.211 Subclause 5.1.2
     d_re = (payload&1)==0 ? (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15) : -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     d_im = (payload&1)==0 ? (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15) : -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
   }
+
   if (nr_bit == 2) { // using QPSK if M_bit=2 according to TC 38.211 Subclause 5.1.2
     if (((payload&1)==0) && (((payload>>1)&1)==0)) {
       d_re =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15); // 32767/sqrt(2) = 23170 (ONE_OVER_SQRT2)
       d_im =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((payload&1)==0) && (((payload>>1)&1)==1)) {
       d_re =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((payload&1)==1) && (((payload>>1)&1)==0)) {
       d_re = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((payload&1)==1) && (((payload>>1)&1)==1)) {
       d_re = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
   }
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch1] sequence modulation: payload=%x \tde_re=%d \tde_im=%d\n",payload,d_re,d_im);
-  #endif
 
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t [nr_generate_pucch1] sequence modulation: payload=%x \tde_re=%d \tde_im=%d\n",payload,d_re,d_im);
+#endif
   /*
    * Defining cyclic shift hopping TS 38.211 Subclause 6.3.2.2.2
    */
@@ -688,7 +720,6 @@ void nr_generate_pucch1_old(PHY_VARS_NR_UE *ue,
    * for PUCCH format 0 or PUCCH format 1, the index of the cyclic shift
    * is indicated by higher layer parameter PUCCH-F0-F1-initial-cyclic-shift
    */
-
   /*
    * the complex-valued symbol d_0 shall be multiplied with a sequence r_u_v_alpha_delta(n): y(n) = d_0 * r_u_v_alpha_delta(n)
    */
@@ -705,11 +736,12 @@ void nr_generate_pucch1_old(PHY_VARS_NR_UE *ue,
   // otherwise no intra-slot frequency hopping shall be assumed
   //uint8_t PUCCH_Frequency_Hopping = 0 ; // from higher layers
   uint8_t intraSlotFrequencyHopping = 0;
-  if (startingPRB != startingPRB_intraSlotHopping){
+
+  if (startingPRB != startingPRB_intraSlotHopping) {
     intraSlotFrequencyHopping=1;
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch1] intraSlotFrequencyHopping=%d \n",intraSlotFrequencyHopping);
-    #endif
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch1] intraSlotFrequencyHopping=%d \n",intraSlotFrequencyHopping);
+#endif
     // n_hop = 1 for second hop;
     // FIXME
     // When hopping will be activated we have to implement this function differently as PUCH signal generation depends on n_hop value for u,v calculation
@@ -717,30 +749,32 @@ void nr_generate_pucch1_old(PHY_VARS_NR_UE *ue,
 
   // y_n contains the complex value d multiplied by the sequence r_u_v
   int16_t y_n_re[12],y_n_im[12];
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch1] entering function nr_group_sequence_hopping with n_hop=%d, nr_tti_tx=%d\n",
-            n_hop,nr_tti_tx);
-  #endif
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t [nr_generate_pucch1] entering function nr_group_sequence_hopping with n_hop=%d, nr_tti_tx=%d\n",
+         n_hop,nr_tti_tx);
+#endif
   nr_group_sequence_hopping(ue,n_hop,nr_tti_tx,&u,&v); // calculating u and v value
   alpha = nr_cyclic_shift_hopping(ue,m0,mcs,lnormal,lprime,nr_tti_tx);
-  for (int n=0; n<12; n++){
+
+  for (int n=0; n<12; n++) {
     r_u_v_alpha_delta_re[n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15)
-                                       - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of base sequence shifted by alpha
+                                         - (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15))); // Re part of base sequence shifted by alpha
     r_u_v_alpha_delta_im[n] = (int16_t)(((((int32_t)(round(32767*cos(alpha*n))) * table_5_2_2_2_2_Im[u][n])>>15)
-                                       + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of base sequence shifted by alpha
+                                         + (((int32_t)(round(32767*sin(alpha*n))) * table_5_2_2_2_2_Re[u][n])>>15))); // Im part of base sequence shifted by alpha
     // PUCCH sequence = DM-RS sequence multiplied by d(0)
     y_n_re[n]               = (int16_t)(((((int32_t)(r_u_v_alpha_delta_re[n])*d_re)>>15)
-                                       - (((int32_t)(r_u_v_alpha_delta_im[n])*d_im)>>15))); // Re part of y(n)
+                                         - (((int32_t)(r_u_v_alpha_delta_im[n])*d_im)>>15))); // Re part of y(n)
     y_n_im[n]               = (int16_t)(((((int32_t)(r_u_v_alpha_delta_re[n])*d_im)>>15)
-                                       + (((int32_t)(r_u_v_alpha_delta_im[n])*d_re)>>15))); // Im part of y(n)
+                                         + (((int32_t)(r_u_v_alpha_delta_im[n])*d_re)>>15))); // Im part of y(n)
     // DM-RS sequence
     r_u_v_alpha_delta_re[n] = (int16_t)(((int32_t)amp*r_u_v_alpha_delta_re[n])>>15);
     r_u_v_alpha_delta_im[n] = (int16_t)(((int32_t)amp*r_u_v_alpha_delta_im[n])>>15);
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch1] sequence generation \tu=%d \tv=%d \talpha=%lf \tr_u_v_alpha_delta[n=%d]=(%d,%d) \ty_n[n=%d]=(%d,%d)\n",
-          u,v,alpha,n,r_u_v_alpha_delta_re[n],r_u_v_alpha_delta_im[n],n,y_n_re[n],y_n_im[n]);
-    #endif
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch1] sequence generation \tu=%d \tv=%d \talpha=%lf \tr_u_v_alpha_delta[n=%d]=(%d,%d) \ty_n[n=%d]=(%d,%d)\n",
+           u,v,alpha,n,r_u_v_alpha_delta_re[n],r_u_v_alpha_delta_im[n],n,y_n_re[n],y_n_im[n]);
+#endif
   }
+
   /*
    * The block of complex-valued symbols y(n) shall be block-wise spread with the orthogonal sequence wi(m)
    * (defined in table_6_3_2_4_1_2_Wi_Re and table_6_3_2_4_1_2_Wi_Im)
@@ -770,124 +804,144 @@ void nr_generate_pucch1_old(PHY_VARS_NR_UE *ue,
   uint8_t N_SF_mprime0_PUCCH_DMRS_1;
   // mprime is 0 if no intra-slot hopping / mprime is {0,1} if intra-slot hopping
   uint8_t mprime = 0;
+
   if (intraSlotFrequencyHopping == 0) { // intra-slot hopping disabled
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d\n",
-              intraSlotFrequencyHopping);
-    #endif
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d\n",
+           intraSlotFrequencyHopping);
+#endif
     N_SF_mprime_PUCCH_1       =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled (PUCCH)
     N_SF_mprime_PUCCH_DMRS_1  = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled (DM-RS)
     N_SF_mprime0_PUCCH_1      =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled mprime = 0 (PUCCH)
     N_SF_mprime0_PUCCH_DMRS_1 = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_noHop[nrofSymbols-1]; // only if intra-slot hopping not enabled mprime = 0 (DM-RS)
-    for (int m=0; m < N_SF_mprime_PUCCH_1; m++){
-      for (int n=0; n<12 ; n++){
+
+    for (int m=0; m < N_SF_mprime_PUCCH_1; m++) {
+      for (int n=0; n<12 ; n++) {
         z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15)
-                                                                            - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
+            - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
         z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15)
-                                                                            + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t\t z_pucch[%d] \t= ((%d \t* %d \t-%d \t* %d),   (%d \t* %d \t+%d \t*%d))    = (%d,%d)\n",
-                  (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
-                  table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],
-                  table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],
-                  z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
-        #endif
+            + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t\t z_pucch[%d] \t= ((%d \t* %d \t-%d \t* %d),   (%d \t* %d \t+%d \t*%d))    = (%d,%d)\n",
+               (mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n,
+               table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],
+               table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m],y_n_im[n],table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m],y_n_re[n],
+               z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
+#endif
       }
     }
-    for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++){
-      for (int n=0; n<12 ; n++){
+
+    for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++) {
+      for (int n=0; n<12 ; n++) {
         z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_re[n])>>15)
-                                                                            - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_im[n])>>15));
+            - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_im[n])>>15));
         z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_im[n])>>15)
-                                                                            + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_re[n])>>15));
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t\t z_dm-rs[%d] = ((),()) =(%d,%d)\n",
-                  (mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n,z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
-        #endif
+            + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_re[n])>>15));
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t\t z_dm-rs[%d] = ((),()) =(%d,%d)\n",
+               (mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n,z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n],z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]);
+#endif
       }
     }
   }
+
   if (intraSlotFrequencyHopping == 1) { // intra-slot hopping enabled
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d\n",
-              intraSlotFrequencyHopping);
-    #endif
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch1] block-wise spread with the orthogonal sequence wi(m) if intraSlotFrequencyHopping = %d\n",
+           intraSlotFrequencyHopping);
+#endif
     N_SF_mprime_PUCCH_1       =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (PUCCH)
     N_SF_mprime_PUCCH_DMRS_1  = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (DM-RS)
     N_SF_mprime0_PUCCH_1      =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (PUCCH)
     N_SF_mprime0_PUCCH_DMRS_1 = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_m0Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 0 (DM-RS)
-    for (mprime = 0; mprime<2; mprime++){ // mprime can get values {0,1}
-      for (int m=0; m < N_SF_mprime_PUCCH_1; m++){
-        for (int n=0; n<12 ; n++){
+
+    for (mprime = 0; mprime<2; mprime++) { // mprime can get values {0,1}
+      for (int m=0; m < N_SF_mprime_PUCCH_1; m++) {
+        for (int n=0; n<12 ; n++) {
           z_re[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15)
-                                                                              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
+              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15));
           z_im[(mprime*12*N_SF_mprime0_PUCCH_1)+(m*12)+n]           = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*y_n_im[n])>>15)
-                                                                              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
+              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*y_n_re[n])>>15));
         }
       }
-      for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++){
-        for (int n=0; n<12 ; n++){
+
+      for (int m=0; m < N_SF_mprime_PUCCH_DMRS_1; m++) {
+        for (int n=0; n<12 ; n++) {
           z_dmrs_re[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_re[n])>>15)
-                                                                              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_im[n])>>15));
+              - (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_im[n])>>15));
           z_dmrs_im[(mprime*12*N_SF_mprime0_PUCCH_DMRS_1)+(m*12)+n] = (int16_t)((((int32_t)(table_6_3_2_4_1_2_Wi_Re[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_im[n])>>15)
-                                                                              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_re[n])>>15));
+              + (((int32_t)(table_6_3_2_4_1_2_Wi_Im[N_SF_mprime_PUCCH_1][w_index][m])*r_u_v_alpha_delta_re[n])>>15));
         }
       }
+
       N_SF_mprime_PUCCH_1       =   table_6_3_2_4_1_1_N_SF_mprime_PUCCH_1_m1Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 1 (PUCCH)
       N_SF_mprime_PUCCH_DMRS_1  = table_6_4_1_3_1_1_1_N_SF_mprime_PUCCH_1_m1Hop[nrofSymbols-1]; // only if intra-slot hopping enabled mprime = 1 (DM-RS)
     }
   }
-/*
- * Implementing TS 38.211 Subclause 6.3.2.4.2 Mapping to physical resources
- */
+
+  /*
+   * Implementing TS 38.211 Subclause 6.3.2.4.2 Mapping to physical resources
+   */
   int32_t *txptr;
   uint32_t re_offset;
   int i=0;
+
   for (int l=0; l<nrofSymbols; l++) {
     if ((intraSlotFrequencyHopping == 1) && (l<floor(nrofSymbols/2))) { // intra-slot hopping enabled, we need to calculate new PRB, FIXME!!!
       startingPRB = startingPRB + startingPRB_intraSlotHopping;
     }
+
     if ((startingPRB <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is lower band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     if ((startingPRB >= (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is upper band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(startingPRB-(frame_parms->N_RB_DL>>1)));
     }
+
     if ((startingPRB <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is lower band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     if ((startingPRB >  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is upper band
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(startingPRB-(frame_parms->N_RB_DL>>1))) + 6;
     }
+
     if ((startingPRB == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB contains DC
       re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
     }
+
     txptr = &txdataF[0][re_offset];
-    for (int n=0; n<12; n++){
+
+    for (int n=0; n<12; n++) {
       if ((n==6) && (startingPRB == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) {
         // if number RBs in bandwidth is odd  and current PRB contains DC, we need to recalculate the offset when n=6 (for second half PRB)
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size);
       }
+
       if (l%2 == 1) { // mapping PUCCH according to TS38.211 subclause 6.4.1.3.1
         ((int16_t *)&txdataF[0][re_offset])[0] = z_re[i+n];
         ((int16_t *)&txdataF[0][re_offset])[1] = z_im[i+n];
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch1] mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
-                  amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
-                  l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch1] mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
+               amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
+               l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
       }
+
       if (l%2 == 0) { // mapping DM-RS signal according to TS38.211 subclause 6.4.1.3.1
         ((int16_t *)&txdataF[0][re_offset])[0] = z_dmrs_re[i+n];
         ((int16_t *)&txdataF[0][re_offset])[1] = z_dmrs_im[i+n];
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch1] mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
-                  amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
-                  l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch1] mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
+               amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+n,re_offset,
+               l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
       }
+
       re_offset++;
     }
+
     if (l%2 == 1) i+=12;
   }
 }
@@ -895,28 +949,28 @@ void nr_generate_pucch1_old(PHY_VARS_NR_UE *ue,
 
 inline void nr_pucch2_3_4_scrambling(uint16_t M_bit,uint16_t rnti,uint16_t n_id,uint32_t B,uint8_t *btilde) __attribute__((always_inline));
 inline void nr_pucch2_3_4_scrambling(uint16_t M_bit,uint16_t rnti,uint16_t n_id,uint32_t B,uint8_t *btilde) {
-
-	uint32_t x1, x2, s=0;
-	int i;
-	uint8_t c;
-	// c_init=nRNTI*2^15+n_id according to TS 38.211 Subclause 6.3.2.6.1
-	//x2 = (rnti) + ((uint32_t)(1+nr_tti_tx)<<16)*(1+(fp->Nid_cell<<1));
-	x2 = ((rnti)<<15)+n_id;
-	s = lte_gold_generic(&x1, &x2, 1);
+  uint32_t x1, x2, s=0;
+  int i;
+  uint8_t c;
+  // c_init=nRNTI*2^15+n_id according to TS 38.211 Subclause 6.3.2.6.1
+  //x2 = (rnti) + ((uint32_t)(1+nr_tti_tx)<<16)*(1+(fp->Nid_cell<<1));
+  x2 = ((rnti)<<15)+n_id;
+  s = lte_gold_generic(&x1, &x2, 1);
 #ifdef DEBUG_NR_PUCCH_TX
-	printf("\t\t [nr_pucch2_3_4_scrambling] gold sequence s=%lx\n",s);
+  printf("\t\t [nr_pucch2_3_4_scrambling] gold sequence s=%lx\n",s);
 #endif
-	for (i=0;i<M_bit;i++) {
-		c = (uint8_t)((s>>i)&1);
-		btilde[i] = (((B>>i)&1) ^ c);
+
+  for (i=0; i<M_bit; i++) {
+    c = (uint8_t)((s>>i)&1);
+    btilde[i] = (((B>>i)&1) ^ c);
 #ifdef DEBUG_NR_PUCCH_TX
-		//printf("\t\t\t btilde[%d]=%lx from scrambled bit %d\n",i,btilde[i],((B>>i)&1));
+    //printf("\t\t\t btilde[%d]=%lx from scrambled bit %d\n",i,btilde[i],((B>>i)&1));
 #endif
-	}
+  }
+
 #ifdef DEBUG_NR_PUCCH_TX
-	printf("\t\t [nr_pucch2_3_4_scrambling] scrambling M_bit=%d bits\n", M_bit);
+  printf("\t\t [nr_pucch2_3_4_scrambling] scrambling M_bit=%d bits\n", M_bit);
 #endif
-
 }
 void nr_uci_encoding(uint64_t payload,
                      uint8_t nr_bit,
@@ -933,79 +987,90 @@ void nr_uci_encoding(uint64_t payload,
    * Implementing TS 38.212 Subclause 6.3.1.2
    *
    */
-
   // A is the payload size, to be provided in function call
   uint8_t A = nr_bit;
   // L is the CRC size
   uint8_t L;
   // E is the rate matching output sequence length as given in TS 38.212 subclause 6.3.1.4.1
   uint16_t E=0,E_init;
+
   if (fmt == pucch_format2_nr) E = 16*nrofSymbols*nrofPRB;
-  if (fmt == pucch_format3_nr){
+
+  if (fmt == pucch_format3_nr) {
     E_init = (is_pi_over_2_bpsk_enabled == 0) ? 24:12;
+
     if (nrofSymbols == 4) {
       E = (intraSlotFrequencyHopping == 0)?(E_init*(nrofSymbols-1)*nrofPRB):((E_init*(nrofSymbols-1)*nrofPRB));
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("format 3 nrofSymbols =4 and E_init=%d,E=%d\n",E_init,E);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("format 3 nrofSymbols =4 and E_init=%d,E=%d\n",E_init,E);
+#endif
     }
+
     if (nrofSymbols > 4)  {
       E = E_init*(nrofSymbols-2)*nrofPRB;
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("format 3 nrofSymbols >4 and E_init=%d,E = %d\n",E_init,E);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("format 3 nrofSymbols >4 and E_init=%d,E = %d\n",E_init,E);
+#endif
     }
+
     if (nrofSymbols > 9)  {
       E = (add_dmrs == 0)?(E_init*(nrofSymbols-2)*nrofPRB):((E_init*(nrofSymbols-4)*nrofPRB));
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("format 3 nrofSymbols >9 and E_init=%d,E = %d\n",E_init,E);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("format 3 nrofSymbols >9 and E_init=%d,E = %d\n",E_init,E);
+#endif
     }
   }
-  if (fmt == pucch_format4_nr){
+
+  if (fmt == pucch_format4_nr) {
     E_init = (is_pi_over_2_bpsk_enabled == 0) ? 24:12;
+
     if (nrofSymbols == 4) {
       E = (intraSlotFrequencyHopping == 0)?(E_init*(nrofSymbols-1)/n_SF_PUCCH_s):((E_init*(nrofSymbols-1)/n_SF_PUCCH_s));
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("format 4 nrofSymbols =4 and E_init=%d,E=%d\n",E_init,E);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("format 4 nrofSymbols =4 and E_init=%d,E=%d\n",E_init,E);
+#endif
     }
+
     if (nrofSymbols > 4)  {
       E = E_init*(nrofSymbols-2)/n_SF_PUCCH_s;
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("format 4 nrofSymbols >4 and E_init=%d,E = %d\n",E_init,E);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("format 4 nrofSymbols >4 and E_init=%d,E = %d\n",E_init,E);
+#endif
     }
+
     if (nrofSymbols > 9)  {
       E = (add_dmrs == 0)?(E_init*(nrofSymbols-2)/n_SF_PUCCH_s):((E_init*(nrofSymbols-4)/n_SF_PUCCH_s));
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("format 4 nrofSymbols >9 and E_init=%d,E = %d\n",E_init,E);
-      #endif
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("format 4 nrofSymbols >9 and E_init=%d,E = %d\n",E_init,E);
+#endif
     }
   }
+
   *M_bit = E;
   int I_seg;
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t\t [nr_uci_encoding] start function with fmt=%d, encoding A=%d bits into M_bit=%d (where nrofSymbols=%d,nrofPRB=%d)\n",fmt,A,*M_bit,nrofSymbols,nrofPRB);
-  #endif
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t\t [nr_uci_encoding] start function with fmt=%d, encoding A=%d bits into M_bit=%d (where nrofSymbols=%d,nrofPRB=%d)\n",fmt,A,*M_bit,nrofSymbols,nrofPRB);
+#endif
 
-  if (A<=11){
+  if (A<=11) {
     // procedure in subclause 6.3.1.2.2 (UCI encoded by channel coding of small block lengths -> subclause 6.3.1.3.2)
     // CRC bits are not attached, and coding small block lengths (subclause 5.3.3)
-  } else if (A>=12){
+  } else if (A>=12) {
     // procedure in subclause 6.3.1.2.1 (UCI encoded by Polar code -> subclause 6.3.1.3.1)
-    if ((A>=360 && E>=1088)||(A>=1013)){
+    if ((A>=360 && E>=1088)||(A>=1013)) {
       I_seg = 1;
     } else {
       I_seg = 0;
     }
-    if (A>=20){
+
+    if (A>=20) {
       // parity bits (subclause 5.2.1) computed by setting L=11 and using generator polynomial gCRC11(D) (subclause 5.1)
       L=11;
-    } else if (A<=19){
+    } else if (A<=19) {
       // parity bits (subclause 5.2.1) computed by setting L=6  and using generator polynomial gCRC6(D)  (subclause 5.1)
       L=6;
     }
+
     // code block segmentation and CRC attachment is performed according to subclause 5.2.1
     // polar coding subclause 5.3.1
   }
@@ -1024,15 +1089,14 @@ void nr_generate_pucch2(PHY_VARS_NR_UE *ue,
                         uint8_t nrofPRB,
                         uint16_t startingPRB,
                         uint8_t nr_bit) {
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch2] start function at slot(nr_tti_tx)=%d  with payload=%d and nr_bit=%d\n",nr_tti_tx, payload, nr_bit);
-  #endif
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t [nr_generate_pucch2] start function at slot(nr_tti_tx)=%d  with payload=%d and nr_bit=%d\n",nr_tti_tx, payload, nr_bit);
+#endif
   // b is the block of bits transmitted on the physical channel after payload coding
   uint64_t b;
   // M_bit is the number of bits of block b (payload after encoding)
   uint16_t M_bit;
   nr_uci_encoding(payload,nr_bit,pucch_format2_nr,0,nrofSymbols,nrofPRB,1,0,0,&b,&M_bit);
-
   /*
    * Implementing TS 38.211
    * Subclauses 6.3.2.5.1 Scrambling (PUCCH format 2)
@@ -1045,53 +1109,52 @@ void nr_generate_pucch2(PHY_VARS_NR_UE *ue,
    * n_id = {0,1,...,1023}  equals the higher-layer parameter Data-scrambling-Identity if configured
    * n_id = N_ID_cell       if higher layer parameter not configured
    */
-
   uint8_t *btilde = malloc(sizeof(int8_t)*M_bit);
   // rnti is given by the C-RNTI
   uint16_t rnti=crnti, n_id=0;
 #ifdef DEBUG_NR_PUCCH_TX
   printf("\t [nr_generate_pucch2] rnti = %d ,\n",rnti);
 #endif
-
   /*
    * Implementing TS 38.211 Subclause 6.3.2.5.1 scrambling format 2
    */
   nr_pucch2_3_4_scrambling(M_bit,rnti,n_id,b,btilde);
-
   /*
    * Implementing TS 38.211 Subclause 6.3.2.5.2 modulation format 2
    * btilde shall be modulated as described in subclause 5.1 using QPSK
    * resulting in a block of complex-valued modulation symbols d(0),...,d(m_symbol) where m_symbol=M_bit/2
    */
-
-//#define ONE_OVER_SQRT2_S 23171 // 32767/sqrt(2) = 23170 (ONE_OVER_SQRT2)
-
+  //#define ONE_OVER_SQRT2_S 23171 // 32767/sqrt(2) = 23170 (ONE_OVER_SQRT2)
   // complex-valued symbol d(0)
   int16_t *d_re = malloc(sizeof(int16_t)*M_bit);
   int16_t *d_im = malloc(sizeof(int16_t)*M_bit);
   uint16_t m_symbol = (M_bit%2==0) ? M_bit/2 : floor(M_bit/2)+1;
-  for (int i=0; i < m_symbol; i++){ // QPSK modulation subclause 5.1.3
+
+  for (int i=0; i < m_symbol; i++) { // QPSK modulation subclause 5.1.3
     if (((btilde[2*i]&1)==0) && ((btilde[(2*i)+1]&1)==0)) {
       d_re[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((btilde[2*i]&1)==0) && ((btilde[(2*i)+1]&1)==1)) {
       d_re[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((btilde[2*i]&1)==1) && ((btilde[(2*i)+1]&1)==0)) {
       d_re[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
+
     if (((btilde[2*i]&1)==1) && ((btilde[(2*i)+1]&1)==1)) {
       d_re[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       d_im[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
     }
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch2] modulation of bit pair btilde(%d,%d), m_symbol=%d, d(%d)=(%d,%d)\n",(btilde[2*i]&1),(btilde[(2*i)+1]&1),m_symbol,i,d_re[i],d_im[i]);
-    #endif
-  }
 
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch2] modulation of bit pair btilde(%d,%d), m_symbol=%d, d(%d)=(%d,%d)\n",(btilde[2*i]&1),(btilde[(2*i)+1]&1),m_symbol,i,d_re[i],d_im[i]);
+#endif
+  }
 
   /*
    * Implementing TS 38.211 Subclause 6.3.2.5.3 Mapping to physical resources
@@ -1101,62 +1164,75 @@ void nr_generate_pucch2(PHY_VARS_NR_UE *ue,
   uint32_t x1, x2, s=0;
   int i=0;
   int m=0;
+
   for (int l=0; l<nrofSymbols; l++) {
     x2 = (((1<<17)*((14*nr_tti_tx) + (l+startingSymbolIndex) + 1)*((2*n_id) + 1)) + (2*n_id))%(1<<31); // c_init calculation according to TS38.211 subclause
     s = lte_gold_generic(&x1, &x2, 1);
     m = 0;
-    for (int rb=0; rb<nrofPRB; rb++){
+
+    for (int rb=0; rb<nrofPRB; rb++) {
       //startingPRB = startingPRB + rb;
       if (((rb+startingPRB) <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is lower band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(rb+startingPRB)) + frame_parms->first_carrier_offset;
       }
+
       if (((rb+startingPRB) >= (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is upper band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*((rb+startingPRB)-(frame_parms->N_RB_DL>>1)));
       }
+
       if (((rb+startingPRB) <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is lower band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(rb+startingPRB)) + frame_parms->first_carrier_offset;
       }
+
       if (((rb+startingPRB) >  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is upper band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*((rb+startingPRB)-(frame_parms->N_RB_DL>>1))) + 6;
       }
+
       if (((rb+startingPRB) == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB contains DC
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(rb+startingPRB)) + frame_parms->first_carrier_offset;
       }
+
       //txptr = &txdataF[0][re_offset];
       int k=0;
       int kk=0;
-      for (int n=0; n<12; n++){
+
+      for (int n=0; n<12; n++) {
         if ((n==6) && ((rb+startingPRB) == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) {
           // if number RBs in bandwidth is odd  and current PRB contains DC, we need to recalculate the offset when n=6 (for second half PRB)
           re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size);
         }
+
         if (n%3 != 1) { // mapping PUCCH according to TS38.211 subclause 6.3.2.5.3
           ((int16_t *)&txdataF[0][re_offset])[0] = d_re[i+k];
           ((int16_t *)&txdataF[0][re_offset])[1] = d_im[i+k];
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch2] (n=%d,i=%d) mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
-                    n,i,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+k,re_offset,
-                    l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-          #endif
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch2] (n=%d,i=%d) mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
+                 n,i,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+k,re_offset,
+                 l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
           k++;
         }
+
         if (n%3 == 1) { // mapping DM-RS signal according to TS38.211 subclause 6.4.1.3.2
           ((int16_t *)&txdataF[0][re_offset])[0] = (int16_t)((int32_t)(amp*ONE_OVER_SQRT2*(1-(2*((uint8_t)((s>>(2*m))&1)))))>>15);
           ((int16_t *)&txdataF[0][re_offset])[1] = (int16_t)((int32_t)(amp*ONE_OVER_SQRT2*(1-(2*((uint8_t)((s>>((2*m)+1))&1)))))>>15);
           m++;
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch2] (n=%d,i=%d) mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
-                    n,i,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+kk,re_offset,
-                    l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-          #endif
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch2] (n=%d,i=%d) mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
+                 n,i,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,i+kk,re_offset,
+                 l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
           kk++;
         }
+
         re_offset++;
       }
+
       i+=8;
-      if ((m&((1<<4)-1))==0){
-    	  s = lte_gold_generic(&x1, &x2, 0);
-    	  m = 0;
+
+      if ((m&((1<<4)-1))==0) {
+        s = lte_gold_generic(&x1, &x2, 0);
+        m = 0;
       }
     }
   }
@@ -1179,10 +1255,9 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
                           uint8_t nr_bit,
                           uint8_t occ_length_format4,
                           uint8_t occ_index_format4) {
-
-  #ifdef DEBUG_NR_PUCCH_TX
-    printf("\t [nr_generate_pucch3_4] start function at slot(nr_tti_tx)=%d with payload=%d and nr_bit=%d\n", nr_tti_tx, payload, nr_bit);
-  #endif
+#ifdef DEBUG_NR_PUCCH_TX
+  printf("\t [nr_generate_pucch3_4] start function at slot(nr_tti_tx)=%d with payload=%d and nr_bit=%d\n", nr_tti_tx, payload, nr_bit);
+#endif
   // b is the block of bits transmitted on the physical channel after payload coding
   uint64_t b;
   // M_bit is the number of bits of block b (payload after encoding)
@@ -1195,19 +1270,21 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
   // otherwise no intra-slot frequency hopping shall be assumed
   //uint8_t PUCCH_Frequency_Hopping = 0 ; // from higher layers
   uint8_t intraSlotFrequencyHopping = 0;
-  if (startingPRB != startingPRB_intraSlotHopping){
+
+  if (startingPRB != startingPRB_intraSlotHopping) {
     intraSlotFrequencyHopping=1;
-    #ifdef DEBUG_NR_PUCCH_TX
-      printf("\t [nr_generate_pucch3_4] intraSlotFrequencyHopping=%d \n",intraSlotFrequencyHopping);
-    #endif
+#ifdef DEBUG_NR_PUCCH_TX
+    printf("\t [nr_generate_pucch3_4] intraSlotFrequencyHopping=%d \n",intraSlotFrequencyHopping);
+#endif
   }
+
   // add_dmrs indicates if we are using or not Additional DM-RS for formats 3 and 4. From higher layers. FIXME!!!
   uint8_t add_dmrs = 0;
+
   //nrofPRB = 2; // only for test purposes
   if (fmt == pucch_format4_nr) nrofPRB = 1;
 
   nr_uci_encoding(payload,nr_bit,fmt,is_pi_over_2_bpsk_enabled,nrofSymbols,nrofPRB,n_SF_PUCCH_s,intraSlotFrequencyHopping,add_dmrs,&b,&M_bit);
-
   /*
    * Implementing TS 38.211
    * Subclauses 6.3.2.6.1 Scrambling (PUCCH formats 3 and 4)
@@ -1220,19 +1297,16 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
    * n_id = {0,1,...,1023}  equals the higher-layer parameter Data-scrambling-Identity if configured
    * n_id = N_ID_cell       if higher layer parameter not configured
    */
-
   uint8_t *btilde = malloc(sizeof(int8_t)*M_bit);
   // rnti is given by the C-RNTI
   uint16_t rnti=crnti, n_id=0;
 #ifdef DEBUG_NR_PUCCH_TX
   printf("\t [nr_generate_pucch3_4] rnti = %d ,\n",rnti);
 #endif
-
   /*
    * Implementing TS 38.211 Subclause 6.3.2.6.1 scrambling formats 3 and 4
    */
   nr_pucch2_3_4_scrambling(M_bit,rnti,n_id,b,btilde);
-
   /*
    * Implementing TS 38.211 Subclause 6.3.2.6.2 modulation formats 3 and 4
    *
@@ -1243,53 +1317,64 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
   int16_t *d_re = malloc(sizeof(int16_t)*M_bit);
   int16_t *d_im = malloc(sizeof(int16_t)*M_bit);
   uint16_t m_symbol = (M_bit%2==0) ? M_bit/2 : floor(M_bit/2)+1;
-  if (is_pi_over_2_bpsk_enabled == 0){
+
+  if (is_pi_over_2_bpsk_enabled == 0) {
     // using QPSK if PUCCH format 3,4 and pi/2-BPSK is not configured, according to subclause 6.3.2.6.2
-    for (int i=0; i < m_symbol; i++){ // QPSK modulation subclause 5.1.3
+    for (int i=0; i < m_symbol; i++) { // QPSK modulation subclause 5.1.3
       if (((btilde[2*i]&1)==0) && ((btilde[(2*i)+1]&1)==0)) {
         d_re[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
+
       if (((btilde[2*i]&1)==0) && ((btilde[(2*i)+1]&1)==1)) {
         d_re[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
+
       if (((btilde[2*i]&1)==1) && ((btilde[(2*i)+1]&1)==0)) {
         d_re[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
+
       if (((btilde[2*i]&1)==1) && ((btilde[(2*i)+1]&1)==1)) {
         d_re[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
-    #ifdef DEBUG_NR_PUCCH_TX
+
+#ifdef DEBUG_NR_PUCCH_TX
       printf("\t [nr_generate_pucch3_4] modulation QPSK of bit pair btilde(%d,%d), m_symbol=%d, d(%d)=(%d,%d)\n",(btilde[2*i]&1),(btilde[(2*i)+1]&1),m_symbol,i,d_re[i],d_im[i]);
-    #endif
+#endif
     }
   }
-  if (is_pi_over_2_bpsk_enabled == 1){
+
+  if (is_pi_over_2_bpsk_enabled == 1) {
     // using PI/2-BPSK if PUCCH format 3,4 and pi/2-BPSK is configured, according to subclause 6.3.2.6.2
     m_symbol = M_bit;
-    for (int i=0; i<m_symbol; i++){ // PI/2-BPSK modulation subclause 5.1.1
-      if (((btilde[i]&1)==0) && (i%2 == 0)){
+
+    for (int i=0; i<m_symbol; i++) { // PI/2-BPSK modulation subclause 5.1.1
+      if (((btilde[i]&1)==0) && (i%2 == 0)) {
         d_re[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
-      if (((btilde[i]&1)==0) && (i%2 == 1)){
+
+      if (((btilde[i]&1)==0) && (i%2 == 1)) {
         d_re[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
-      if (((btilde[i]&1)==1) && (i%2 == 0)){
+
+      if (((btilde[i]&1)==1) && (i%2 == 0)) {
         d_re[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
-      if (((btilde[i]&1)==1) && (i%2 == 1)){
+
+      if (((btilde[i]&1)==1) && (i%2 == 1)) {
         d_re[i] =  (int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
         d_im[i] = -(int16_t)(((int32_t)amp*ONE_OVER_SQRT2)>>15);
       }
-    #ifdef DEBUG_NR_PUCCH_TX
+
+#ifdef DEBUG_NR_PUCCH_TX
       printf("\t [nr_generate_pucch3_4] modulation PI/2-BPSK of bit btilde(%d), m_symbol=%d, d(%d)=(%d,%d)\n",(btilde[i]&1),m_symbol,i,d_re[i],d_im[i]);
-    #endif
+#endif
     }
   }
 
@@ -1308,67 +1393,76 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
   // Re part orthogonal sequences w_n(k) for PUCCH format 4 when N_SF_PUCCH4 = 2 (Table 6.3.2.6.3-1)
   // k={0,..11} n={0,1,2,3}
   // parameter PUCCH-F4-preDFT-OCC-index set of {0,1,2,3} -> n
-   uint16_t table_6_3_2_6_3_1_Wn_Re[2][12] = {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
-                                              {1, 1, 1, 1, 1, 1,-1,-1,-1,-1,-1,-1}};
+  uint16_t table_6_3_2_6_3_1_Wn_Re[2][12] = {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+    {1, 1, 1, 1, 1, 1,-1,-1,-1,-1,-1,-1}
+  };
   // Im part orthogonal sequences w_n(k) for PUCCH format 4 when N_SF_PUCCH4 = 2 (Table 6.3.2.6.3-1)
   // k={0,..11} n={0,1}
   uint16_t table_6_3_2_6_3_1_Wn_Im[2][12] = {{0,0,0,0,0,0,0,0,0,0,0,0},
-                                             {0,0,0,0,0,0,0,0,0,0,0,0}};
+    {0,0,0,0,0,0,0,0,0,0,0,0}
+  };
   // Re part orthogonal sequences w_n(k) for PUCCH format 4 when N_SF_PUCCH4 = 4 (Table 6.3.2.6.3-2)
   // k={0,..11} n={0,1,2.3}
   uint16_t table_6_3_2_6_3_2_Wn_Re[4][12] = {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
-                                             {1, 1, 1, 0, 0, 0,-1,-1,-1, 0, 0, 0},
-                                             {1, 1, 1,-1,-1,-1, 1, 1, 1,-1,-1,-1},
-                                             {1, 1, 1, 0, 0, 0,-1,-1,-1, 0, 0, 0}};
+    {1, 1, 1, 0, 0, 0,-1,-1,-1, 0, 0, 0},
+    {1, 1, 1,-1,-1,-1, 1, 1, 1,-1,-1,-1},
+    {1, 1, 1, 0, 0, 0,-1,-1,-1, 0, 0, 0}
+  };
   // Im part orthogonal sequences w_n(k) for PUCCH format 4 when N_SF_PUCCH4 = 4 (Table 6.3.2.6.3-2)
   // k={0,..11} n={0,1,2,3}
   uint16_t table_6_3_2_6_3_2_Wn_Im[4][12] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-                                             {0, 0, 0,-1,-1,-1, 0, 0, 0, 1, 1, 1},
-                                             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-                                             {0, 0, 0, 1, 1, 1, 0, 0, 0,-1,-1,-1}};
+    {0, 0, 0,-1,-1,-1, 0, 0, 0, 1, 1, 1},
+    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+    {0, 0, 0, 1, 1, 1, 0, 0, 0,-1,-1,-1}
+  };
   //uint8_t occ_Length = occ_length_format4; // higher layer parameter occ-Length
   uint8_t occ_Index  = occ_index_format4;  // higher layer parameter occ-Index
-//occ_Index = 1; //only for testing purposes; to be removed FIXME!!!
-  if (fmt == pucch_format3_nr){ // no block-wise spreading for format 3
+
+  //occ_Index = 1; //only for testing purposes; to be removed FIXME!!!
+  if (fmt == pucch_format3_nr) { // no block-wise spreading for format 3
     n_SF_PUCCH_s = 1;
-    for (int l=0; l < floor(m_symbol/(12*nrofPRB)); l++){
-      for (int k=0; k < (12*nrofPRB); k++){
+
+    for (int l=0; l < floor(m_symbol/(12*nrofPRB)); l++) {
+      for (int k=0; k < (12*nrofPRB); k++) {
         y_n_re[l*(12*nrofPRB)+k] = d_re[l*(12*nrofPRB)+k];
         y_n_im[l*(12*nrofPRB)+k] = d_im[l*(12*nrofPRB)+k];
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch3_4] block-wise spreading for format 3 (no block-wise spreading): (l,k)=(%d,%d)\ty_n(%d)   = \t(d_re=%d, d_im=%d)\n",
-                  l,k,l*(12*nrofPRB)+k,d_re[l*(12*nrofPRB)+k],d_im[l*(12*nrofPRB)+k]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch3_4] block-wise spreading for format 3 (no block-wise spreading): (l,k)=(%d,%d)\ty_n(%d)   = \t(d_re=%d, d_im=%d)\n",
+               l,k,l*(12*nrofPRB)+k,d_re[l*(12*nrofPRB)+k],d_im[l*(12*nrofPRB)+k]);
+#endif
       }
     }
   }
-  if (fmt == pucch_format4_nr){
+
+  if (fmt == pucch_format4_nr) {
     nrofPRB = 1;
-    for (int l=0; l < floor((n_SF_PUCCH_s*m_symbol)/(12*nrofPRB)); l++){
-      for (int k=0; k < (12*nrofPRB); k++){
-        if (n_SF_PUCCH_s == 2){
+
+    for (int l=0; l < floor((n_SF_PUCCH_s*m_symbol)/(12*nrofPRB)); l++) {
+      for (int k=0; k < (12*nrofPRB); k++) {
+        if (n_SF_PUCCH_s == 2) {
           y_n_re[l*(12*nrofPRB)+k] = (uint16_t)(((uint32_t)d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_1_Wn_Re[occ_Index][k])
-                                              - ((uint32_t)d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_1_Wn_Im[occ_Index][k]));
+                                                - ((uint32_t)d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_1_Wn_Im[occ_Index][k]));
           y_n_im[l*(12*nrofPRB)+k] = (uint16_t)(((uint32_t)d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_1_Wn_Re[occ_Index][k])
-                                              + ((uint32_t)d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_1_Wn_Im[occ_Index][k]));
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch3_4] block-wise spreading for format 4 (n_SF_PUCCH_s 2) (occ_Index=%d): (l,k)=(%d,%d)\ty_n(%d)   = \t(d_re=%d, d_im=%d)\n",
-                    occ_Index,l,k,l*(12*nrofPRB)+k,y_n_re[l*(12*nrofPRB)+k],y_n_im[l*(12*nrofPRB)+k]);
-//            printf("\t\t d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] = %d\n",d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)]);
-//            printf("\t\t d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] = %d\n",d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)]);
-//            printf("\t\t table_6_3_2_6_3_1_Wn_Re[%d][%d] = %d\n",occ_Index,k,table_6_3_2_6_3_1_Wn_Re[occ_Index][k]);
-//            printf("\t\t table_6_3_2_6_3_1_Wn_Im[%d][%d] = %d\n",occ_Index,k,table_6_3_2_6_3_1_Wn_Im[occ_Index][k]);
-          #endif
+                                                + ((uint32_t)d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_1_Wn_Im[occ_Index][k]));
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch3_4] block-wise spreading for format 4 (n_SF_PUCCH_s 2) (occ_Index=%d): (l,k)=(%d,%d)\ty_n(%d)   = \t(d_re=%d, d_im=%d)\n",
+                 occ_Index,l,k,l*(12*nrofPRB)+k,y_n_re[l*(12*nrofPRB)+k],y_n_im[l*(12*nrofPRB)+k]);
+          //            printf("\t\t d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] = %d\n",d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)]);
+          //            printf("\t\t d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] = %d\n",d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)]);
+          //            printf("\t\t table_6_3_2_6_3_1_Wn_Re[%d][%d] = %d\n",occ_Index,k,table_6_3_2_6_3_1_Wn_Re[occ_Index][k]);
+          //            printf("\t\t table_6_3_2_6_3_1_Wn_Im[%d][%d] = %d\n",occ_Index,k,table_6_3_2_6_3_1_Wn_Im[occ_Index][k]);
+#endif
         }
-        if (n_SF_PUCCH_s == 4){
+
+        if (n_SF_PUCCH_s == 4) {
           y_n_re[l*(12*nrofPRB)+k] = (uint16_t)(((uint32_t)d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_2_Wn_Re[occ_Index][k])
-                                              - ((uint32_t)d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_2_Wn_Im[occ_Index][k]));
+                                                - ((uint32_t)d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_2_Wn_Im[occ_Index][k]));
           y_n_im[l*(12*nrofPRB)+k] = (uint16_t)(((uint32_t)d_im[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_2_Wn_Re[occ_Index][k])
-                                              + ((uint32_t)d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_2_Wn_Im[occ_Index][k]));
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch3_4] block-wise spreading for format 4 (n_SF_PUCCH_s 4) (occ_Index=%d): (l,k)=(%d,%d)\ty_n(%d)   = \t(d_re=%d, d_im=%d)\n",
-                    occ_Index,l,k,l*(12*nrofPRB)+k,y_n_re[l*(12*nrofPRB)+k],y_n_im[l*(12*nrofPRB)+k]);
-          #endif
+                                                + ((uint32_t)d_re[l*(12*nrofPRB/n_SF_PUCCH_s)+k%(12*nrofPRB/n_SF_PUCCH_s)] * table_6_3_2_6_3_2_Wn_Im[occ_Index][k]));
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch3_4] block-wise spreading for format 4 (n_SF_PUCCH_s 4) (occ_Index=%d): (l,k)=(%d,%d)\ty_n(%d)   = \t(d_re=%d, d_im=%d)\n",
+                 occ_Index,l,k,l*(12*nrofPRB)+k,y_n_re[l*(12*nrofPRB)+k],y_n_im[l*(12*nrofPRB)+k]);
+#endif
         }
       }
     }
@@ -1379,37 +1473,40 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
    */
   int16_t *z_re = malloc(sizeof(int16_t)*4*M_bit); // 4 is the maximum number n_SF_PUCCH_s
   int16_t *z_im = malloc(sizeof(int16_t)*4*M_bit);
-  #define M_PI 3.14159265358979323846 // pi
+#define M_PI 3.14159265358979323846 // pi
+
   //int16_t inv_sqrt_nrofPRBs = (int16_t)round(32767/sqrt(12*nrofPRB));
-  for (int l=0; l<floor((n_SF_PUCCH_s*m_symbol)/(12*nrofPRB)); l++){
-    for (int k=0; k<(12*nrofPRB); k++){
+  for (int l=0; l<floor((n_SF_PUCCH_s*m_symbol)/(12*nrofPRB)); l++) {
+    for (int k=0; k<(12*nrofPRB); k++) {
       z_re[l*(12*nrofPRB)+k] = 0;
       z_im[l*(12*nrofPRB)+k] = 0;
-//      int16_t z_re_tmp[240] = {0};
-//      int16_t z_im_tmp[240] = {0};
-      for (int m=0; m<(12*nrofPRB); m++){
+
+      //      int16_t z_re_tmp[240] = {0};
+      //      int16_t z_im_tmp[240] = {0};
+      for (int m=0; m<(12*nrofPRB); m++) {
         //z_re[l*(12*nrofPRB)+k] = y_n_re[l*(12*nrofPRB)+m] * (int16_t)(round(32767*cos((2*M_PI*m*k)/(12*nrofPRB))));
-//        z_re_tmp[m] = (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
-//                + (((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
-//        z_im_tmp[m] = (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
-//                - (((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
+        //        z_re_tmp[m] = (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
+        //                + (((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
+        //        z_im_tmp[m] = (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
+        //                - (((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
         z_re[l*(12*nrofPRB)+k] = z_re[l*(12*nrofPRB)+k]
-                               + (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
-                                                                                           + (((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
+                                 + (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
+                                              + (((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
         z_im[l*(12*nrofPRB)+k] = z_im[l*(12*nrofPRB)+k]
-                               + (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
-                                                                                           - (((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
-        #ifdef DEBUG_NR_PUCCH_TX
-//        printf("\t\t z_re_tmp[%d] = %d\n",m,z_re_tmp[m]);
-//        printf("\t\t z_im_tmp[%d] = %d\n",m,z_im_tmp[m]);
-//          printf("\t [nr_generate_pucch3_4] transform precoding for formats 3 and 4: (l,k,m)=(%d,%d,%d)\tz(%d)   = \t(%d, %d)\n",
-//                  l,k,m,l*(12*nrofPRB)+k,z_re[l*(12*nrofPRB)+k],z_im[l*(12*nrofPRB)+k]);
-        #endif
+                                 + (int16_t)(((int32_t)round(32767/sqrt(12*nrofPRB))*(int16_t)((((int32_t)y_n_im[l*(12*nrofPRB)+m] * (int16_t)round(32767 * cos(2*M_PI*m*k/(12*nrofPRB))))>>15)
+                                              - (((int32_t)y_n_re[l*(12*nrofPRB)+m] * (int16_t)round(32767 * sin(2*M_PI*m*k/(12*nrofPRB))))>>15)))>>15);
+#ifdef DEBUG_NR_PUCCH_TX
+        //        printf("\t\t z_re_tmp[%d] = %d\n",m,z_re_tmp[m]);
+        //        printf("\t\t z_im_tmp[%d] = %d\n",m,z_im_tmp[m]);
+        //          printf("\t [nr_generate_pucch3_4] transform precoding for formats 3 and 4: (l,k,m)=(%d,%d,%d)\tz(%d)   = \t(%d, %d)\n",
+        //                  l,k,m,l*(12*nrofPRB)+k,z_re[l*(12*nrofPRB)+k],z_im[l*(12*nrofPRB)+k]);
+#endif
       }
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("\t [nr_generate_pucch3_4] transform precoding for formats 3 and 4: (l,k)=(%d,%d)\tz(%d)   = \t(%d, %d)\n",
-                l,k,l*(12*nrofPRB)+k,z_re[l*(12*nrofPRB)+k],z_im[l*(12*nrofPRB)+k]);
-      #endif
+
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("\t [nr_generate_pucch3_4] transform precoding for formats 3 and 4: (l,k)=(%d,%d)\tz(%d)   = \t(%d, %d)\n",
+             l,k,l*(12*nrofPRB)+k,z_re[l*(12*nrofPRB)+k],z_im[l*(12*nrofPRB)+k]);
+#endif
     }
   }
 
@@ -1431,160 +1528,178 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
   // m0 is the cyclic shift index calculated depending on the Orthogonal sequence index n, according to table 6.4.1.3.3.1-1 from TS 38.211 subclause 6.4.1.3.3.1
   uint8_t m0;
   uint8_t mcs=0;
+
   if (fmt == pucch_format3_nr) m0 = 0;
+
   if (fmt == pucch_format4_nr) {
     if (n_SF_PUCCH_s == 2) {
       m0 = (occ_Index == 0) ? 0 : 6;
     }
+
     if (n_SF_PUCCH_s == 4) {
       m0 = (occ_Index == 3) ? 9 : ((occ_Index == 2) ? 3 : ((occ_Index == 1) ? 6 : 0));
     }
   }
+
   double alpha;
   uint8_t N_ZC = 12*nrofPRB;
   int16_t *r_u_v_base_re        = malloc(sizeof(int16_t)*12*nrofPRB);
   int16_t *r_u_v_base_im        = malloc(sizeof(int16_t)*12*nrofPRB);
   //int16_t *r_u_v_alpha_delta_re = malloc(sizeof(int16_t)*12*nrofPRB);
   //int16_t *r_u_v_alpha_delta_im = malloc(sizeof(int16_t)*12*nrofPRB);
-
   // Next we proceed to mapping to physical resources according to TS 38.211, subclause 6.3.2.6.5 dor PUCCH formats 3 and 4 and subclause 6.4.1.3.3.2 for DM-RS
   //int32_t *txptr;
   uint32_t re_offset=0;
   //uint32_t x1, x2, s=0;
   // intraSlotFrequencyHopping
   // uint8_t intraSlotFrequencyHopping = 0;
-  uint8_t table_6_4_1_3_3_2_1_dmrs_positions[11][14] ={
-  {(intraSlotFrequencyHopping==0)?0:1,(intraSlotFrequencyHopping==0)?1:0,(intraSlotFrequencyHopping==0)?0:1,0,0,0,0,0,0,0,0,0,0,0}, // PUCCH length = 4
-  {1,0,0,1,0,0,0,0,0,0,0,0,0,0}, // PUCCH length = 5
-  {0,1,0,0,1,0,0,0,0,0,0,0,0,0}, // PUCCH length = 6
-  {0,1,0,0,1,0,0,0,0,0,0,0,0,0}, // PUCCH length = 7
-  {0,1,0,0,0,1,0,0,0,0,0,0,0,0}, // PUCCH length = 8
-  {0,1,0,0,0,0,1,0,0,0,0,0,0,0}, // PUCCH length = 9
-  {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),(add_dmrs==0?0:1),0,0,0,0,0}, // PUCCH length = 10
-  {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,0,0}, // PUCCH length = 11
-  {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,0}, // PUCCH length = 12
-  {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),0,(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0}, // PUCCH length = 13
-  {0,(add_dmrs==0?0:1),0,(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),0,(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0}  // PUCCH length = 14
+  uint8_t table_6_4_1_3_3_2_1_dmrs_positions[11][14] = {
+    {(intraSlotFrequencyHopping==0)?0:1,(intraSlotFrequencyHopping==0)?1:0,(intraSlotFrequencyHopping==0)?0:1,0,0,0,0,0,0,0,0,0,0,0}, // PUCCH length = 4
+    {1,0,0,1,0,0,0,0,0,0,0,0,0,0}, // PUCCH length = 5
+    {0,1,0,0,1,0,0,0,0,0,0,0,0,0}, // PUCCH length = 6
+    {0,1,0,0,1,0,0,0,0,0,0,0,0,0}, // PUCCH length = 7
+    {0,1,0,0,0,1,0,0,0,0,0,0,0,0}, // PUCCH length = 8
+    {0,1,0,0,0,0,1,0,0,0,0,0,0,0}, // PUCCH length = 9
+    {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),(add_dmrs==0?0:1),0,0,0,0,0}, // PUCCH length = 10
+    {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,0,0}, // PUCCH length = 11
+    {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,0}, // PUCCH length = 12
+    {0,(add_dmrs==0?0:1),(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),0,(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0}, // PUCCH length = 13
+    {0,(add_dmrs==0?0:1),0,(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0,0,(add_dmrs==0?0:1),0,(add_dmrs==0?1:0),0,(add_dmrs==0?0:1),0}  // PUCCH length = 14
   };
   uint16_t k=0;
-  for (int l=0; l<nrofSymbols; l++) {
 
+  for (int l=0; l<nrofSymbols; l++) {
     if ((intraSlotFrequencyHopping == 1) && (l >= (int)floor(nrofSymbols/2))) n_hop = 1; // n_hop = 1 for second hop
-    nr_group_sequence_hopping(ue,n_hop,nr_tti_tx,&u,&v); // calculating u and v value
 
+    nr_group_sequence_hopping(ue,n_hop,nr_tti_tx,&u,&v); // calculating u and v value
 
     // Next we proceed to calculate base sequence for DM-RS signal, according to TS 38.211 subclause 6.4.1.33
     if (nrofPRB >= 3) { // TS 38.211 subclause 5.2.2.1 (Base sequences of length 36 or larger) applies
       int i = 4;
+
       while (list_of_prime_numbers[i] < (12*nrofPRB)) i++;
+
       N_ZC = list_of_prime_numbers[i+1]; // N_ZC is given by the largest prime number such that N_ZC < (12*nrofPRB)
       double q_base = (N_ZC*(u+1))/31;
       int8_t q = (uint8_t)floor(q_base + (1/2));
       q = ((uint8_t)floor(2*q_base)%2 == 0 ? q+v : q-v);
-      for (int n=0; n<(12*nrofPRB); n++){
+
+      for (int n=0; n<(12*nrofPRB); n++) {
         r_u_v_base_re[n] =  (int16_t)(((int32_t)amp*(int16_t)(32767*cos(M_PI*q*(n%N_ZC)*((n%N_ZC)+1)/N_ZC)))>>15);
         r_u_v_base_im[n] = -(int16_t)(((int32_t)amp*(int16_t)(32767*sin(M_PI*q*(n%N_ZC)*((n%N_ZC)+1)/N_ZC)))>>15);
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch3_4] generation DM-RS base sequence when nrofPRB=%d >= 3: r_u_v_base[n=%d]=(%d,%d)\n",
-                  nrofPRB,n,r_u_v_base_re[n],r_u_v_base_im[n]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch3_4] generation DM-RS base sequence when nrofPRB=%d >= 3: r_u_v_base[n=%d]=(%d,%d)\n",
+               nrofPRB,n,r_u_v_base_re[n],r_u_v_base_im[n]);
+#endif
       }
     }
+
     if (nrofPRB == 2) { // TS 38.211 subclause 5.2.2.2 (Base sequences of length less than 36 using table 5.2.2.2-4) applies
-      for (int n=0; n<(12*nrofPRB); n++){
+      for (int n=0; n<(12*nrofPRB); n++) {
         r_u_v_base_re[n] =  (int16_t)(((int32_t)amp*table_5_2_2_2_4_Re[u][n])>>15);
         r_u_v_base_im[n] =  (int16_t)(((int32_t)amp*table_5_2_2_2_4_Im[u][n])>>15);
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch3_4] generation DM-RS base sequence when nrofPRB=%d == 2: r_u_v_base[n=%d]=(%d,%d)\n",
-                  nrofPRB,n,r_u_v_base_re[n],r_u_v_base_im[n]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch3_4] generation DM-RS base sequence when nrofPRB=%d == 2: r_u_v_base[n=%d]=(%d,%d)\n",
+               nrofPRB,n,r_u_v_base_re[n],r_u_v_base_im[n]);
+#endif
       }
     }
+
     if (nrofPRB == 1) { // TS 38.211 subclause 5.2.2.2 (Base sequences of length less than 36 using table 5.2.2.2-2) applies
-      for (int n=0; n<(12*nrofPRB); n++){
+      for (int n=0; n<(12*nrofPRB); n++) {
         r_u_v_base_re[n] =  (int16_t)(((int32_t)amp*table_5_2_2_2_2_Re[u][n])>>15);
         r_u_v_base_im[n] =  (int16_t)(((int32_t)amp*table_5_2_2_2_2_Im[u][n])>>15);
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("\t [nr_generate_pucch3_4] generation DM-RS base sequence when nrofPRB=%d == 1: r_u_v_base[n=%d]=(%d,%d)\n",
-                  nrofPRB,n,r_u_v_base_re[n],r_u_v_base_im[n]);
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("\t [nr_generate_pucch3_4] generation DM-RS base sequence when nrofPRB=%d == 1: r_u_v_base[n=%d]=(%d,%d)\n",
+               nrofPRB,n,r_u_v_base_re[n],r_u_v_base_im[n]);
+#endif
       }
     }
 
-
-
     uint16_t j=0;
     alpha = nr_cyclic_shift_hopping(ue,m0,mcs,l,startingSymbolIndex,nr_tti_tx);
-    for (int rb=0; rb<nrofPRB; rb++){
+
+    for (int rb=0; rb<nrofPRB; rb++) {
       if ((intraSlotFrequencyHopping == 1) && (l<floor(nrofSymbols/2))) { // intra-slot hopping enabled, we need to calculate new offset PRB
         startingPRB = startingPRB + startingPRB_intraSlotHopping;
       }
+
       //startingPRB = startingPRB + rb;
       if (((rb+startingPRB) <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is lower band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(rb+startingPRB)) + frame_parms->first_carrier_offset;
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("1   ");
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("1   ");
+#endif
       }
+
       if (((rb+startingPRB) >= (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 0)) { // if number RBs in bandwidth is even and current PRB is upper band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*((rb+startingPRB)-(frame_parms->N_RB_DL>>1)));
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("2   ");
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("2   ");
+#endif
       }
+
       if (((rb+startingPRB) <  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is lower band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(rb+startingPRB)) + frame_parms->first_carrier_offset;
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("3   ");
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("3   ");
+#endif
       }
+
       if (((rb+startingPRB) >  (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB is upper band
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*((rb+startingPRB)-(frame_parms->N_RB_DL>>1))) + 6;
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("4   ");
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("4   ");
+#endif
       }
+
       if (((rb+startingPRB) == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) { // if number RBs in bandwidth is odd  and current PRB contains DC
         re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*(rb+startingPRB)) + frame_parms->first_carrier_offset;
-        #ifdef DEBUG_NR_PUCCH_TX
-          printf("5   ");
-        #endif
+#ifdef DEBUG_NR_PUCCH_TX
+        printf("5   ");
+#endif
       }
-      #ifdef DEBUG_NR_PUCCH_TX
-        printf("re_offset=%d,(rb+startingPRB)=%d\n",re_offset,(rb+startingPRB));
-      #endif
+
+#ifdef DEBUG_NR_PUCCH_TX
+      printf("re_offset=%d,(rb+startingPRB)=%d\n",re_offset,(rb+startingPRB));
+#endif
+
       //txptr = &txdataF[0][re_offset];
-      for (int n=0; n<12; n++){
+      for (int n=0; n<12; n++) {
         if ((n==6) && ((rb+startingPRB) == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) {
           // if number RBs in bandwidth is odd  and current PRB contains DC, we need to recalculate the offset when n=6 (for second half PRB)
           re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size);
         }
+
         if (table_6_4_1_3_3_2_1_dmrs_positions[nrofSymbols-4][l] == 0) { // mapping PUCCH according to TS38.211 subclause 6.3.2.5.3
           ((int16_t *)&txdataF[0][re_offset])[0] = z_re[n+k];
           ((int16_t *)&txdataF[0][re_offset])[1] = z_im[n+k];
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch3_4] (l=%d,rb=%d,n=%d,k=%d) mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(z(l=%d,n=%d)=(%d,%d))\n",
-                    l,rb,n,k,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,n+k,re_offset,
-                    l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-          #endif
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch3_4] (l=%d,rb=%d,n=%d,k=%d) mapping PUCCH to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_pucch[%d]=txptr(%d)=(z(l=%d,n=%d)=(%d,%d))\n",
+                 l,rb,n,k,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,n+k,re_offset,
+                 l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
         }
+
         if (table_6_4_1_3_3_2_1_dmrs_positions[nrofSymbols-4][l] == 1) { // mapping DM-RS signal according to TS38.211 subclause 6.4.1.3.2
           ((int16_t *)&txdataF[0][re_offset])[0] = (int16_t)((((int32_t)(32767*cos(alpha*((n+j)%N_ZC)))*r_u_v_base_re[n+j])>>15)
-                                                           - (((int32_t)(32767*sin(alpha*((n+j)%N_ZC)))*r_u_v_base_im[n+j])>>15));
+              - (((int32_t)(32767*sin(alpha*((n+j)%N_ZC)))*r_u_v_base_im[n+j])>>15));
           ((int16_t *)&txdataF[0][re_offset])[1] = (int16_t)((((int32_t)(32767*cos(alpha*((n+j)%N_ZC)))*r_u_v_base_im[n+j])>>15)
-                                                           + (((int32_t)(32767*sin(alpha*((n+j)%N_ZC)))*r_u_v_base_re[n+j])>>15));
-          #ifdef DEBUG_NR_PUCCH_TX
-            printf("\t [nr_generate_pucch3_4] (l=%d,rb=%d,n=%d,j=%d) mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(r_u_v(l=%d,n=%d)=(%d,%d))\n",
-                    l,rb,n,j,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,n+j,re_offset,
-                    l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
-          #endif
+              + (((int32_t)(32767*sin(alpha*((n+j)%N_ZC)))*r_u_v_base_re[n+j])>>15));
+#ifdef DEBUG_NR_PUCCH_TX
+          printf("\t [nr_generate_pucch3_4] (l=%d,rb=%d,n=%d,j=%d) mapping DM-RS to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \tz_dm-rs[%d]=txptr(%d)=(r_u_v(l=%d,n=%d)=(%d,%d))\n",
+                 l,rb,n,j,amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,n+j,re_offset,
+                 l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
+#endif
         }
+
         re_offset++;
       }
+
       if (table_6_4_1_3_3_2_1_dmrs_positions[nrofSymbols-4][l] == 0) k+=12;
+
       if (table_6_4_1_3_3_2_1_dmrs_positions[nrofSymbols-4][l] == 1) j+=12;
     }
   }
-
 }
 
diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c
index b0f52ddaea..9a4df025c7 100644
--- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c
+++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c
@@ -66,7 +66,7 @@
 /*************** LOCAL VARIABLES***********************************/
 
 static  nfapi_config_request_t  config_t;
-static  nfapi_config_request_t* config =&config_t;
+static  nfapi_config_request_t *config =&config_t;
 
 /*************** FUNCTIONS ****************************************/
 
@@ -86,8 +86,7 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue, int nb_connected_eNB, uint8_t abstract
 *
 *********************************************************************/
 
-void phase_shift_samples(int16_t *samples, int length, int16_t phase_shift_re, int16_t phase_shift_im)
-{
+void phase_shift_samples(int16_t *samples, int length, int16_t phase_shift_re, int16_t phase_shift_im) {
   int16_t sample_re, sample_im;
 
   for (int i = 0; i < length; i++) {
@@ -112,22 +111,23 @@ void phase_shift_samples(int16_t *samples, int length, int16_t phase_shift_re, i
 *
 *********************************************************************/
 
-void display_data(int pss_sequence_number, int16_t *rxdata, int position)
-{
+void display_data(int pss_sequence_number, int16_t *rxdata, int position) {
 #ifdef DEBUG_TEST_PSS
   int16_t *pss_sequence[NUMBER_PSS_SEQUENCE] = {primary_synch0_time, primary_synch1_time, primary_synch2_time};
   int16_t *pss_sequence_time = pss_sequence[pss_sequence_number];
   printf("   pss %6d             data \n", pss_sequence_number);
+
   for (int i = 0; i < 4; i++) {
     if (pss_sequence_number < NUMBER_PSS_SEQUENCE) {
       printf("[i %6d] : %4d       [i %6d] : %8i     at address : %p \n", i, pss_sequence_time[2*i], (i + position), rxdata[2*i + (position*2)],  &(rxdata[2*i + (position*2)]));
       printf("[q %6d] : %4d       [q %6d] : %8i     at address : %p \n", i, pss_sequence_time[2*i+1], (i + position), rxdata[2*i + 1 + (position*2)],  &(rxdata[2*i + 1 + (position*2)]));
-    }
-    else {
+    } else {
       printf("[i %6d] : Undef      [i %6d] : %8i     at address : %p \n", i, (i + position), rxdata[2*i + (position*2)], &(rxdata[2*i + (position*2)]));
       printf("[q %6d] : Undef      [q %6d] : %8i     at address : %p \n", i, (i + position), rxdata[2*i + 1 + (position*2)], &(rxdata[2*i + 1 + (position*2)]));
     }
-  }nr_init_frame_parms
+  }
+
+  nr_init_frame_parms
   printf("    ...             ... \n");
 #else
   (void) pss_sequence_number;
@@ -149,11 +149,9 @@ void display_data(int pss_sequence_number, int16_t *rxdata, int position)
 *
 *********************************************************************/
 
-void display_test_configuration_pss(int position, int pss_sequence_number)
-{
+void display_test_configuration_pss(int position, int pss_sequence_number) {
   const char next_test_text[]  = "------------------------------------------------\n";
   const char test_text_pss[]       = "Test nr pss with Nid2 %i at position %i \n";
-
   printf(next_test_text);
   printf(test_text_pss, pss_sequence_number, position);
 }
@@ -171,8 +169,7 @@ void display_test_configuration_pss(int position, int pss_sequence_number)
 *
 *********************************************************************/
 
-void display_test_configuration_sss(int sss_sequence_number)
-{
+void display_test_configuration_sss(int sss_sequence_number) {
   const char test_text_sss[]       = "Test nr sss with Nid1 %i \n";
   printf(test_text_sss, sss_sequence_number);
 }
@@ -191,8 +188,7 @@ void display_test_configuration_sss(int sss_sequence_number)
 *
 *********************************************************************/
 
-void undefined_function(const char *function)
-{
+void undefined_function(const char *function) {
   printf("%s undefined \n", function);
   printf("Warning: function \"%s\" has been replaced by an empty function for avoiding undefined function error at build \n", function);
 }
@@ -210,34 +206,22 @@ void undefined_function(const char *function)
 *********************************************************************/
 
 int init_test(unsigned char N_tx, unsigned char N_rx, unsigned char transmission_mode,
-              unsigned char extended_prefix_flag, uint8_t frame_type, uint16_t Nid_cell, uint8_t N_RB_DL)
-{
+              unsigned char extended_prefix_flag, uint8_t frame_type, uint16_t Nid_cell, uint8_t N_RB_DL) {
   (void) transmission_mode;
   NR_DL_FRAME_PARMS *frame_parms;
-
   int log_level = OAILOG_TRACE;
-
   logInit();
-
   // enable these lines if you need debug info
   //set_comp_log(PHY,LOG_DEBUG,LOG_HIGH,1);
   set_glog(log_level);
-
 #ifndef NR_UNIT_TEST
-
   cpuf = get_cpu_freq_GHz();
-
   //LOG_I(PHY, "[CONFIG] Test of UE synchronisation \n");
-
   set_component_filelog(USIM);  // file located in /tmp/testSynchroue.txt
-
 #endif
-
   //randominit(0);
   //set_taus_seed(0);
-
   printf("Start lte_param_init, frame_type %d, extended_prefix %d\n",frame_type,extended_prefix_flag);
-
   PHY_vars_UE = malloc(sizeof(PHY_VARS_NR_UE));
   bzero(PHY_vars_UE, sizeof(PHY_VARS_NR_UE));
 
@@ -245,7 +229,6 @@ int init_test(unsigned char N_tx, unsigned char N_rx, unsigned char transmission
     return(-1);
 
   frame_parms = &(PHY_vars_UE->frame_parms);
-
   frame_parms->N_RB_DL              = N_RB_DL;   //50 for 10MHz and 25 for 5 MHz
   frame_parms->N_RB_UL              = N_RB_DL;
   frame_parms->Ncp                  = extended_prefix_flag;
@@ -257,41 +240,35 @@ int init_test(unsigned char N_tx, unsigned char N_rx, unsigned char transmission
   frame_parms->nb_antenna_ports_eNB = 1;
   frame_parms->threequarter_fs      = 0;
   frame_parms->numerology_index     = NUMEROLOGY_INDEX_MAX_NR;
-
   int mu = 1;
   int n_ssb_crb = 0;
   int ssb_subcarrier_offset = 0;
   nr_init_frame_parms_ue(frame_parms, mu, extended_prefix_flag, N_RB_DL, n_ssb_crb, ssb_subcarrier_offset);
-
   PHY_vars_UE->frame_parms.Nid_cell = (3 * N_ID_1_NUMBER) + N_ID_2_NUMBER; /* set to unvalid value */
 
   //phy_init_nr_top(frame_parms);
 
-  if (init_nr_ue_signal(PHY_vars_UE, 1, 0) != 0)
-  {
+  if (init_nr_ue_signal(PHY_vars_UE, 1, 0) != 0) {
     LOG_E(PHY,"Error at UE NR initialisation : at line %d in function %s of file %s \n", LINE_FILE , __func__, FILE_NAME);
     return (0);
   }
 
-/* dummy initialisation of global structure PHY_vars_UE_g */
-
+  /* dummy initialisation of global structure PHY_vars_UE_g */
   unsigned char NB_UE_INST=1;
-
-  PHY_vars_UE_g = (PHY_VARS_NR_UE***)calloc( NB_UE_INST, sizeof(PHY_VARS_NR_UE**));
-
-   for (int UE_id=0; UE_id<NB_UE_INST; UE_id++) {
-     PHY_vars_UE_g[UE_id] = (PHY_VARS_NR_UE**) calloc( MAX_NUM_CCs, sizeof(PHY_VARS_NR_UE*));
-
-     for (int CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
-       //(frame_parms[CC_id])->nb_antennas_tx     = 1;
-       //(frame_parms[CC_id])->nb_antennas_rx     = nb_antennas_rx_ue;
-       // PHY_vars_UE_g[UE_id][CC_id] = init_lte_UE(frame_parms[CC_id], UE_id,abstraction_flag);
-
-       PHY_vars_UE_g[UE_id][CC_id] = calloc(1, sizeof(PHY_VARS_NR_UE));
-       PHY_vars_UE_g[UE_id][CC_id]->Mod_id=UE_id;
-       PHY_vars_UE_g[UE_id][CC_id]->CC_id=CC_id;
-     }
-   }
+  PHY_vars_UE_g = (PHY_VARS_NR_UE ** *)calloc( NB_UE_INST, sizeof(PHY_VARS_NR_UE **));
+
+  for (int UE_id=0; UE_id<NB_UE_INST; UE_id++) {
+    PHY_vars_UE_g[UE_id] = (PHY_VARS_NR_UE **) calloc( MAX_NUM_CCs, sizeof(PHY_VARS_NR_UE *));
+
+    for (int CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
+      //(frame_parms[CC_id])->nb_antennas_tx     = 1;
+      //(frame_parms[CC_id])->nb_antennas_rx     = nb_antennas_rx_ue;
+      // PHY_vars_UE_g[UE_id][CC_id] = init_lte_UE(frame_parms[CC_id], UE_id,abstraction_flag);
+      PHY_vars_UE_g[UE_id][CC_id] = calloc(1, sizeof(PHY_VARS_NR_UE));
+      PHY_vars_UE_g[UE_id][CC_id]->Mod_id=UE_id;
+      PHY_vars_UE_g[UE_id][CC_id]->CC_id=CC_id;
+    }
+  }
 
   return (0);
 }
@@ -321,73 +298,66 @@ typedef enum {
 #define  FREQUENCY_15_MHZ        (15360000L)
 #define  FREQUENCY               (FREQUENCY_15_MHZ)    /* to generate a frequency with a sampling of 30,72 MHz  5 gives 770 KHz, 20 gives 1,5 MHz, 40 gives 3 MHz */
 
-void set_random_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int amp)
-{
-NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms);
-int samples_for_frame = (LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*frame_parms->samples_per_tti);
-int16_t random;
-int16_t *data_p;
-random_data_format_t data_format = SINUSOIDAL_DATA;
-
+void set_random_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int amp) {
+  NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms);
+  int samples_for_frame = (LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*frame_parms->samples_per_tti);
+  int16_t random;
+  int16_t *data_p;
+  random_data_format_t data_format = SINUSOIDAL_DATA;
   /* reinitialise random for always getting same data */
   srand(0);
-
   double n = 0;
 
-  for (int aa=0;aa<PHY_vars_UE->frame_parms.nb_antennas_rx;aa++) {
-
+  for (int aa=0; aa<PHY_vars_UE->frame_parms.nb_antennas_rx; aa++) {
     data_p = (int16_t *) &(PHY_vars_UE->common_vars.rxdata[aa][0]);
-
     int frequency_switch = samples_for_frame/LTE_NUMBER_OF_SUBFRAMES_PER_FRAME;
     int frequency_step = 0;
     double beat = (2*M_PI*FREQUENCY_15_MHZ)/(SAMPLING_RATE);
 
     for (int i=0; i< samples_for_frame; i++) {
       switch(data_format) {
-        case ZERO_DATA:
-        {
+        case ZERO_DATA: {
           /* all data are forced to zero */
           random = 0;
           break;
         }
-        case SINUSOIDAL_DATA:
-        {
+
+        case SINUSOIDAL_DATA: {
           /* sinusoidal signal */
           n = cos(beat*i);
           random =  n * (amp * SCALING_SINUSOIDAL_DATA);
           frequency_step++;
+
           if (frequency_step == frequency_switch) {
             beat = beat/2;  /* frequency is divided by 2 */
             //printf("frequency %f at %d\n", (beat/2*M_PI), i);
-        	frequency_step = 0;
+            frequency_step = 0;
           }
+
           //printf("%d : cos %d %d \n", i, n, random);
           break;
         }
-        case RANDOM_DATA:
-        {
+
+        case RANDOM_DATA: {
           /* random data can take any value between -SHRT_MAX and SHRT_MAX */
           /* in this case one can use maxim value for uint16 because there is no saturation */
-          #define SCALING_RANDOM_DATA       (24)      /* 48 is max value without decimation */
-          #define RANDOM_MAX_AMP            (amp * SCALING_RANDOM_DATA)
-
+#define SCALING_RANDOM_DATA       (24)      /* 48 is max value without decimation */
+#define RANDOM_MAX_AMP            (amp * SCALING_RANDOM_DATA)
           random = ((rand() % RANDOM_MAX_AMP) - RANDOM_MAX_AMP/2);
           break;
         }
-        case RANDOM_MAX_DATA:
-        {
+
+        case RANDOM_MAX_DATA: {
           /* random data can take only two value (-RANDOM_MAX) or RANDOM_MAX */
           /* In this case saturation can occur with value of scaling_value greater than 23 */
-          #define SCALING_RANDOM_MAX_DATA   (8)
-          #define RANDOM_VALUE              (amp * SCALING_RANDOM_DATA)
-
+#define SCALING_RANDOM_MAX_DATA   (8)
+#define RANDOM_VALUE              (amp * SCALING_RANDOM_DATA)
           const int random_number[2] = {-1,+1};
-
           random = random_number[rand()%2] * RANDOM_VALUE;
           break;
         }
-        default:
-        {
+
+        default: {
           printf("Format of data is undefined \n");
           assert(0);
           break;
@@ -396,12 +366,13 @@ random_data_format_t data_format = SINUSOIDAL_DATA;
 
       data_p[2*i] = random;
       data_p[2*i+1] = random;
-
 #if 0
+
       if (i < 10) {
-    	printf("random %d \n", random);
+        printf("random %d \n", random);
         printf("data[%d] : %d  %d at address %p \n", i, data_p[2*i], data_p[2*i+1], &data_p[2*i]);
       }
+
 #endif
     }
   }
@@ -421,23 +392,22 @@ random_data_format_t data_format = SINUSOIDAL_DATA;
 *
 *********************************************************************/
 
-int set_pss_in_rx_buffer_from_external_buffer(PHY_VARS_NR_UE *PHY_vars_UE, short *input_buffer)
-{
+int set_pss_in_rx_buffer_from_external_buffer(PHY_VARS_NR_UE *PHY_vars_UE, short *input_buffer) {
   NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms);
   int samples_for_frame = LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*frame_parms->samples_per_subframe; /* both i and q */
 
-  for (int aa=0;aa<PHY_vars_UE->frame_parms.nb_antennas_rx;aa++) {
+  for (int aa=0; aa<PHY_vars_UE->frame_parms.nb_antennas_rx; aa++) {
     for (int i = 0; i < samples_for_frame; i++) {
-	 ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[2*i] = input_buffer[2*i];      /* real part */
-	 ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[2*i+1] = input_buffer[2*i+1];  /* imaginary part */
+      ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[2*i] = input_buffer[2*i];     /* real part */
+      ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[2*i+1] = input_buffer[2*i+1]; /* imaginary part */
     }
   }
 
   /* check that sequence has been properly copied */
-  for (int aa=0;aa<PHY_vars_UE->frame_parms.nb_antennas_rx;aa++) {
+  for (int aa=0; aa<PHY_vars_UE->frame_parms.nb_antennas_rx; aa++) {
     for (int i=0; i<samples_for_frame; i++) {
-      if ((input_buffer[2*i] != ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[2*i])
-       || (input_buffer[2*i+1] != ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[2*i+1])) {
+      if ((input_buffer[2*i] != ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[2*i])
+          || (input_buffer[2*i+1] != ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[2*i+1])) {
         printf("Sequence pss was not properly copied into received buffer at index %d \n", i);
         exit(-1);
       }
@@ -469,15 +439,13 @@ int set_pss_in_rx_buffer_from_external_buffer(PHY_VARS_NR_UE *PHY_vars_UE, short
 *
 *********************************************************************/
 
-int set_pss_in_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number)
-{
+int set_pss_in_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number) {
   NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms);
   int samples_for_frame = frame_parms->samples_per_frame;
   int16_t *pss_sequence_time;
 
   if ((position_symbol > samples_for_frame)
-  || ((position_symbol + frame_parms->ofdm_symbol_size) > samples_for_frame))
-  {
+      || ((position_symbol + frame_parms->ofdm_symbol_size) > samples_for_frame)) {
     printf("This pss sequence can not be fully written in the received window \n");
     return (-1);
   }
@@ -489,18 +457,18 @@ int set_pss_in_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int p
 
   pss_sequence_time = primary_synchro_time_nr[pss_sequence_number];
 
-  for (int aa=0;aa<PHY_vars_UE->frame_parms.nb_antennas_rx;aa++) {
+  for (int aa=0; aa<PHY_vars_UE->frame_parms.nb_antennas_rx; aa++) {
     for (int i = 0; i < frame_parms->ofdm_symbol_size; i++) {
-      ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i)] = pss_sequence_time[2*i];      /* real part */
-      ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i+1)] = pss_sequence_time[2*i+1];  /* imaginary part */
+      ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i)] = pss_sequence_time[2*i];     /* real part */
+      ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i+1)] = pss_sequence_time[2*i+1]; /* imaginary part */
     }
   }
 
   /* check that sequence has been properly copied */
-  for (int aa=0;aa<PHY_vars_UE->frame_parms.nb_antennas_rx;aa++) {
+  for (int aa=0; aa<PHY_vars_UE->frame_parms.nb_antennas_rx; aa++) {
     for (int i=0; i<(frame_parms->ofdm_symbol_size); i++) {
-      if ((pss_sequence_time[2*i] != ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i)])
-       || (pss_sequence_time[2*i+1] != ((int16_t*)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i+1)])) {
+      if ((pss_sequence_time[2*i] != ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i)])
+          || (pss_sequence_time[2*i+1] != ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i+1)])) {
         printf("Sequence pss was not properly copied into received buffer at index %d \n", i);
         exit(-1);
       }
@@ -528,11 +496,9 @@ int set_pss_in_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int p
 *
 *********************************************************************/
 
-void set_sequence_pss(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number)
-{
+void set_sequence_pss(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number) {
   NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms);
   int samples_for_frame = frame_parms->samples_per_frame;
-
   /* initialise received ue data with random */
   set_random_rx_buffer(PHY_vars_UE, AMP);
 
@@ -546,6 +512,7 @@ void set_sequence_pss(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_
       printf("This position for pss sequence %d is not supported because it exceeds the frame length %d!\n", position_symbol, samples_for_frame);
       exit(0);
     }
+
     if (set_pss_in_rx_buffer(PHY_vars_UE, position_symbol, pss_sequence_number) != 0)
       printf("Warning: pss sequence can not be properly written into received buffer !\n");
   }
diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pucch_uci_generator_test.c b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pucch_uci_generator_test.c
index 494aa5fef4..ab3ede4b8f 100644
--- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pucch_uci_generator_test.c
+++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pucch_uci_generator_test.c
@@ -17,38 +17,37 @@
 #define TST_THREAD_ID                      (0)
 
 
-int test_pucch_generators(PHY_VARS_NR_UE *ue)
-{
+int test_pucch_generators(PHY_VARS_NR_UE *ue) {
   int gNB_id = TST_GNB_ID_0;
   int thread_number = TST_THREAD_ID;
   int TB_identifier = 0;
   int v_return = 0;
-
   pucch_format_nr_t format = pucch_format2_nr;
   uint8_t  starting_symbol_index;
   uint8_t nb_symbols_total = 4;
   uint16_t starting_prb = 0;;  /* it can be considered as first  hop on case of pucch hopping */
   uint16_t second_hop = 0;     /* second part for pucch for hopping */
   uint8_t  nb_of_prbs = 1;
-  switch (format){
-  case pucch_format0_nr:
-	  nb_symbols_total 		= 2;
-	  nb_of_prbs 			= 1;
-	  starting_symbol_index = 0;
-	  break;
-  case pucch_format1_nr:
-	  nb_symbols_total 		= 5;
-	  nb_of_prbs 			= 1;
-	  starting_symbol_index = 0;
-	  break;
-  case pucch_format2_nr:
-	  nb_symbols_total 		= 2;
-	  nb_of_prbs 			= 16;
-	  starting_symbol_index = 0;
-
-	  break;
-  }
 
+  switch (format) {
+    case pucch_format0_nr:
+      nb_symbols_total    = 2;
+      nb_of_prbs      = 1;
+      starting_symbol_index = 0;
+      break;
+
+    case pucch_format1_nr:
+      nb_symbols_total    = 5;
+      nb_of_prbs      = 1;
+      starting_symbol_index = 0;
+      break;
+
+    case pucch_format2_nr:
+      nb_symbols_total    = 2;
+      nb_of_prbs      = 16;
+      starting_symbol_index = 0;
+      break;
+  }
 
   int m_0 = 0;                 /* format 0 only */
   int m_CS = 0;                /* for all format except for format 0 */
@@ -61,9 +60,9 @@ int test_pucch_generators(PHY_VARS_NR_UE *ue)
   int tx_amp = 512;
   int nr_tti_tx = 0;
   int N_UCI = 0;      /* size in bits for Uplink Control Information */
+
   switch(format) {
-    case pucch_format0_nr:
-    {
+    case pucch_format0_nr: {
       nr_generate_pucch0(ue,ue->common_vars.txdataF,
                          &ue->frame_parms,
                          &ue->pucch_config_dedicated_nr[gNB_id],
@@ -76,8 +75,8 @@ int test_pucch_generators(PHY_VARS_NR_UE *ue)
                          starting_prb);
       break;
     }
-    case pucch_format1_nr:
-    {
+
+    case pucch_format1_nr: {
       nr_generate_pucch1(ue,ue->common_vars.txdataF,
                          &ue->frame_parms,
                          &ue->pucch_config_dedicated_nr[gNB_id],
@@ -93,8 +92,8 @@ int test_pucch_generators(PHY_VARS_NR_UE *ue)
                          (uint8_t)N_UCI);
       break;
     }
-    case pucch_format2_nr:
-    {
+
+    case pucch_format2_nr: {
       nr_generate_pucch2(ue,
                          ue->pdcch_vars[ue->current_thread_id[nr_tti_tx]][gNB_id]->crnti,
                          ue->common_vars.txdataF,
@@ -110,9 +109,9 @@ int test_pucch_generators(PHY_VARS_NR_UE *ue)
                          (uint8_t)N_UCI);
       break;
     }
+
     case pucch_format3_nr:
-    case pucch_format4_nr:
-    {
+    case pucch_format4_nr: {
       nr_generate_pucch3_4(ue,
                            ue->pdcch_vars[ue->current_thread_id[nr_tti_tx]][gNB_id]->crnti,
                            ue->common_vars.txdataF,
@@ -138,8 +137,7 @@ int test_pucch_generators(PHY_VARS_NR_UE *ue)
 }
 
 
-int main(int argc, char *argv[])
-{
+int main(int argc, char *argv[]) {
   uint8_t transmission_mode = 1;
   uint8_t nb_antennas_tx = 1;
   uint8_t nb_antennas_rx = 1;
@@ -149,7 +147,6 @@ int main(int argc, char *argv[])
   int Nid_cell[] = {(3*1+3)};
   VOID_PARAMETER argc;
   VOID_PARAMETER argv;
-
   printf(" PUCCH TEST \n");
   printf("-----------\n");
 
@@ -160,12 +157,10 @@ int main(int argc, char *argv[])
 
   if (test_pucch_generators(PHY_vars_UE) != 0) {
     printf("\nTest PUCCH is fail \n");
-  }
-  else {
+  } else {
     printf("\nTest PUCCH is pass \n");
   }
 
   free_context_synchro_nr();
-
   return(0);
 }
-- 
2.26.2