From 5f9fc55e45a31d37a33db20cf6ae89b253c7f5b2 Mon Sep 17 00:00:00 2001
From: Jacques <jacques.tricoire@tcl.com>
Date: Thu, 30 Aug 2018 17:40:01 +0200
Subject: [PATCH] nr ue : pucch cyclic shift for format 0 & 1

---
 openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c       |  58 ++++---
 openair1/SCHED_NR_UE/pucch_uci_ue_nr.c        |  28 ++--
 .../build/reflogs/pucch_uci_test.txt          | 144 +++++++++---------
 .../NR_UE_PHY/unit_tests/build/run_tests.sh   |  16 +-
 4 files changed, 133 insertions(+), 113 deletions(-)

diff --git a/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c b/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
index 55490ff23e8..efd1bda9703 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
@@ -40,8 +40,10 @@
 #include "UTIL/LOG/vcd_signal_dumper.h"
 
 #include "T.h"
-#define DEBUG_PUCCH_TX
-#define DEBUG_NR_PUCCH_TX
+#ifndef NR_UNIT_TEST
+  #define DEBUG_PUCCH_TX
+  #define DEBUG_NR_PUCCH_TX
+#endif
 #define ONE_OVER_SQRT2 23170 // 32767/sqrt(2) = 23170 (ONE_OVER_SQRT2)
 
   /*
@@ -337,7 +339,9 @@ void nr_group_sequence_hopping (//pucch_GroupHopping_t ue->pucch_config_common_n
 //////////////////////////////////////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);
+  #ifdef DEBUG_NR_PUCCH_TX
+    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
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
@@ -390,7 +394,9 @@ double nr_cyclic_shift_hopping(PHY_VARS_NR_UE *ue,
 
   //////////////////////////////////////initialization to be removed///////////////////////////////////////////////////////////
     c_init=10;
-    printf("\t\t [nr_cyclic_shift_hopping] initialization c_init=%d -> variable initialization TO BE REMOVED\n",c_init);
+    #ifdef DEBUG_NR_PUCCH_TX
+      printf("\t\t [nr_cyclic_shift_hopping] initialization c_init=%d -> variable initialization TO BE REMOVED\n",c_init);
+    #endif
   /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
@@ -415,6 +421,7 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
                         PUCCH_CONFIG_DEDICATED *pucch_config_dedicated,
                         int16_t amp,
                         int nr_tti_tx,
+                        uint8_t m0,
                         uint8_t mcs,
                         uint8_t nrofSymbols,
                         uint8_t startingSymbolIndex,
@@ -441,8 +448,6 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
    */
   // alpha is cyclic shift
   double alpha;
-  // m0 is provided by higher layer parameter PUCCH-F0-F1-initial-cyclic-shift of PUCCH-F0-resource-config
-  uint8_t m0;
   // lnormal is the OFDM symbol number in the PUCCH transmission where l=0 corresponds to the first OFDM symbol of the PUCCH transmission
   uint8_t lnormal;
   // 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]
@@ -470,15 +475,9 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
   uint8_t n_hop = 0;
   //uint8_t PUCCH_Frequency_Hopping; // from higher layers FIXME!!
 
-  /////////////////////////////////////////////////////////// initializing some variables for test
-    m0=0;
-//    PUCCH_GroupHopping=0;
-//    n_id=10;
-    //PUCCH_Frequency_Hopping = 0;
 #ifdef DEBUG_NR_PUCCH_TX
     printf("\t [nr_generate_pucch0] sequence generation: variable initialization for test\n");
 #endif
-  /////////////////////////////////////////////////////// ending variables initialization for test
 
   // x_n contains the sequence r_u_v_alpha_delta(n)
   int16_t x_n_re[24],x_n_im[24];
@@ -550,6 +549,7 @@ void nr_generate_pucch1(PHY_VARS_NR_UE *ue,
                         uint64_t payload,
                         int16_t amp,
                         int nr_tti_tx,
+                        uint8_t m0,
                         uint8_t nrofSymbols,
                         uint8_t startingSymbolIndex,
                         uint16_t startingPRB,
@@ -557,8 +557,8 @@ void nr_generate_pucch1(PHY_VARS_NR_UE *ue,
                         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\n",nr_tti_tx);
-	  printf("\t [nr_generate_pucch1] startingPRB=%d startingPRB_intraSlotHopping=%d\n",startingPRB,startingPRB_intraSlotHopping);
+  printf("\t [nr_generate_pucch1] start function at slot(nr_tti_tx)=%d\n",nr_tti_tx);
+  printf("\t [nr_generate_pucch1] startingPRB=%d startingPRB_intraSlotHopping=%d\n",startingPRB,startingPRB_intraSlotHopping);
 #endif
 
   /*
@@ -646,8 +646,6 @@ void nr_generate_pucch1(PHY_VARS_NR_UE *ue,
    */
   // alpha is cyclic shift
   double alpha;
-  // m0 is provided by higher layer parameter PUCCH-F0-F1-initial-cyclic-shift of PUCCH-F0-resource-config
-  uint8_t m0;
   // lnormal is the OFDM symbol number in the PUCCH transmission where l=0 corresponds to the first OFDM symbol of the PUCCH transmission
   uint8_t lnormal = 0 ;
   // 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]
@@ -882,7 +880,7 @@ inline void nr_pucch2_3_4_scrambling(uint16_t M_bit,uint16_t rnti,uint16_t n_id,
   for (i=0;i<M_bit;i++) {
     c = (uint8_t)((s>>i)&1);
     btilde[i] = (((B>>i)&1) ^ c);
-    #ifndef DEBUG_NR_PUCCH_TX
+    #ifdef DEBUG_NR_PUCCH_TX
       printf("\t\t\t btilde[%d]=%lx from scrambled bit %d\n",i,btilde[i],((B>>i)&1));
     #endif
   }
@@ -1338,7 +1336,7 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
         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);
-        #ifndef DEBUG_NR_PUCCH_TX
+        #ifdef DEBUG_NR_PUCCH_TX
           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
@@ -1453,25 +1451,37 @@ void nr_generate_pucch3_4(PHY_VARS_NR_UE *ue,
       //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;
-        printf("1   ");
+        #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)));
-        printf("2   ");
+        #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;
-        printf("3   ");
+        #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;
-        printf("4   ");
+        #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;
-        printf("5   ");
+        #ifdef DEBUG_NR_PUCCH_TX
+          printf("5   ");
+        #endif
       }
-      printf("re_offset=%d,(rb+startingPRB)=%d\n",re_offset,(rb+startingPRB));
+      #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++){
         if ((n==6) && ((rb+startingPRB) == (frame_parms->N_RB_DL>>1)) && ((frame_parms->N_RB_DL & 1) == 1)) {
diff --git a/openair1/SCHED_NR_UE/pucch_uci_ue_nr.c b/openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
index 2db4a7a70f9..151fae2fbb1 100644
--- a/openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
+++ b/openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
@@ -228,10 +228,10 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
   uint8_t nb_symbols_total = 0;
   uint8_t  nb_symbols = 0;
   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 */
+  uint16_t second_hop = 0;     /* second part for pucch for hopping */
   uint8_t  nb_of_prbs = 0;
-  int m_0 = 0;         /* format 0 only */
-  int m_CS = 0;     /* for all format except for format 0 */
+  int m_0 = 0;                 /* format 0 only */
+  int m_CS = 0;                /* for all format except for format 0 */
   int index_additional_dmrs = I_PUCCH_NO_ADDITIONAL_DMRS;
   int index_hopping = I_PUCCH_NO_HOPPING;
   int time_domain_occ = 0;
@@ -494,7 +494,7 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
   tx_amp = get_tx_amp(pucch_tx_power,
                       ue->tx_power_max_dBm,
                       ue->frame_parms.N_RB_UL,
-					  nb_of_prbs);
+                      nb_of_prbs);
 #else
   tx_amp = AMP;
 #endif
@@ -505,10 +505,11 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
       nr_generate_pucch0(ue,ue->common_vars.txdataF,
                          &ue->frame_parms,
                          &ue->pucch_config_dedicated_nr[gNB_id],
-						 tx_amp,
+                         tx_amp,
                          nr_tti_tx,
+                         (uint8_t)m_0,
                          (uint8_t)m_CS,
-						 nb_symbols_total,
+                         nb_symbols_total,
                          starting_symbol_index,
                          starting_prb);
       break;
@@ -519,9 +520,10 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
                          &ue->frame_parms,
                          &ue->pucch_config_dedicated_nr[gNB_id],
                          pucch_payload,
-						 tx_amp,
+                         tx_amp,
                          nr_tti_tx,
-						 nb_symbols_total,
+                         (uint8_t)m_0,
+                         nb_symbols_total,
                          starting_symbol_index,
                          starting_prb,
                          second_hop,
@@ -535,9 +537,9 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
                          &ue->frame_parms,
                          &ue->pucch_config_dedicated_nr[gNB_id],
                          pucch_payload,
-						 tx_amp,
+                         tx_amp,
                          nr_tti_tx,
-						 nb_symbols_total,
+                         nb_symbols_total,
                          starting_symbol_index,
                          nb_of_prbs,
                          starting_prb,
@@ -552,13 +554,13 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
                            format,
                            &ue->pucch_config_dedicated_nr[gNB_id],
                            pucch_payload,
-						   tx_amp,
+                           tx_amp,
                            nr_tti_tx,
-						   nb_symbols_total,
+                           nb_symbols_total,
                            starting_symbol_index,
                            nb_of_prbs,
                            starting_prb,
-						   second_hop,
+                           second_hop,
                            (uint8_t)N_UCI,
                            (uint8_t)occ_length,
                            (uint8_t)occ_Index);
diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pucch_uci_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pucch_uci_test.txt
index f83c3d9922f..d14373675cf 100644
--- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pucch_uci_test.txt
+++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pucch_uci_test.txt
@@ -56,50 +56,50 @@ Set pucch common configuration
 
   => Test : PUCCH format from common config in prach mode: one positive downlink ACKnowledgment 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
-PUCCH format 0 nb symbols 2 uci size 1 selected format 0 
+PUCCH format 0 nb symbols total 2 uci size 1 selected format 0 
 PUCCH common configuration with index 1 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 2 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 12 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 12 ) 
 PUCCH ( starting_prb : 0 ) ( second_hop : 99 ) ( m_0 : 4 ) ( m_CS : 6 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
 
   => Test : PUCCH format from common config in prach mode: one negative downlink ACKnowledgment 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
-PUCCH format 0 nb symbols 2 uci size 1 selected format 0 
+PUCCH format 0 nb symbols total 2 uci size 1 selected format 0 
 PUCCH common configuration with index 1 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 2 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 12 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 12 ) 
 PUCCH ( starting_prb : 0 ) ( second_hop : 99 ) ( m_0 : 4 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
 
   => Test : PUCCH format from common config in dedicated mode: two positive downlink ACKnowledgments 
 PUCCH power n(2) = ( V(2) - U(2) )mod4 * N_TB(1) + N(2) 
-PUCCH format 1 nb symbols 4 uci size 2 selected format 1 
+PUCCH format 1 nb symbols total 4 uci size 2 selected format 1 
 PUCCH common configuration with index 3 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 2 data 0x02 ) ( ack length 2 data 0x02 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 4 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 10 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 4 ) ( nb symbols : 4 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 10 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 98 ) ( m_0 : 6 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 9 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 4 ) ( G_b_f_c : 0 ) 
 
   => Test : PUCCH format from common config in dedicated mode: one positive and one negative downlink ACKnowledgments 
 PUCCH power n(2) = ( V(2) - U(2) )mod4 * N_TB(1) + N(2) 
-PUCCH format 1 nb symbols 4 uci size 2 selected format 1 
+PUCCH format 1 nb symbols total 4 uci size 2 selected format 1 
 PUCCH common configuration with index 3 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 2 data 0x00 ) ( ack length 2 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 4 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 10 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 4 ) ( nb symbols : 4 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 10 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 98 ) ( m_0 : 6 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 9 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 4 ) ( G_b_f_c : 0 ) 
 
   => Test : PUCCH format from common config in dedicated mode: two negative downlink ACKnowledgments 
 PUCCH power n(2) = ( V(2) - U(2) )mod4 * N_TB(1) + N(2) 
-PUCCH format 1 nb symbols 4 uci size 2 selected format 1 
+PUCCH format 1 nb symbols total 4 uci size 2 selected format 1 
 PUCCH common configuration with index 3 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 2 data 0x00 ) ( ack length 2 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 4 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 10 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 4 ) ( nb symbols : 4 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 10 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 98 ) ( m_0 : 6 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 9 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 4 ) ( G_b_f_c : 0 ) 
@@ -126,10 +126,10 @@ PUCCH found resource set 0
   => Test : PUCCH format from dedicated config with 1 transport block : with 1 downlink ACKnowledgments and pucch resource indicator 0 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
 PUCCH found resource set 0 
-PUCCH format 0 nb symbols 1 uci size 1 selected format 0 
+PUCCH format 0 nb symbols total 1 uci size 1 selected format 0 
 PUCCH dedicated configuration with resource index 0 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 6 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -137,10 +137,10 @@ PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block : with 1 downlink ACKnowledgments and pucch resource indicator 5 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
 PUCCH found resource set 0 
-PUCCH format 1 nb symbols 9 uci size 1 selected format 1 
+PUCCH format 1 nb symbols total 9 uci size 1 selected format 1 
 PUCCH dedicated configuration with resource index 5 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 1 data 0x01 ) ( ack length 1 data 0x01 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 9 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 9 ) ( nb symbols : 9 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 0 ) ( time_domain_occ 5 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 5 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
@@ -148,10 +148,10 @@ PUCCH ( Tx power : 5 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block : with 2 downlink ACKnowledgments and pucch resource indicator 1 
 PUCCH power n(2) = ( V(2) - U(2) )mod4 * N_TB(1) + N(2) 
 PUCCH found resource set 0 
-PUCCH format 1 nb symbols 5 uci size 2 selected format 1 
+PUCCH format 1 nb symbols total 5 uci size 2 selected format 1 
 PUCCH dedicated configuration with resource index 1 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 2 data 0x03 ) ( ack length 2 data 0x03 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 5 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 0 ) ( time_domain_occ 1 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -159,10 +159,10 @@ PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block : with 2 downlink ACKnowledgments and pucch resource indicator 0 
 PUCCH power n(2) = ( V(2) - U(2) )mod4 * N_TB(1) + N(2) 
 PUCCH found resource set 0 
-PUCCH format 0 nb symbols 1 uci size 2 selected format 0 
+PUCCH format 0 nb symbols total 1 uci size 2 selected format 0 
 PUCCH dedicated configuration with resource index 0 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 6 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -170,11 +170,11 @@ PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block : with 3 downlink ACKnowledgments and pucch resource indicator 1 
 PUCCH power n(3) = ( V(3) - U(3) )mod4 * N_TB(1) + N(3) 
 PUCCH found resource set 1 
-PUCCH format 3 nb symbols 5 uci size 3 selected format 3 
+PUCCH format 3 nb symbols total 5 uci size 3 selected format 3 
 PUCCH dedicated configuration with resource index 9 
 PUCCH Adjust number of prb : (N_UCI : 3 ) (payload_in_bits : 18) (N_sc_ctrl_RB : 12) (nb_symbols : 3) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 3 data 0x07 ) ( ack length 3 data 0x07 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 3 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 1 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 5 ) ( nb symbols : 3 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 1 ) 
 PUCCH ( starting_prb : 2 ) ( second_hop : 2 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -3 ) ( G_b_f_c : 0 ) 
@@ -182,11 +182,11 @@ PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block : with 3 downlink ACKnowledgments and pucch resource indicator 3 
 PUCCH power n(3) = ( V(3) - U(3) )mod4 * N_TB(1) + N(3) 
 PUCCH found resource set 1 
-PUCCH format 2 nb symbols 2 uci size 3 selected format 2 
+PUCCH format 2 nb symbols total 2 uci size 3 selected format 2 
 PUCCH dedicated configuration with resource index 11 
 PUCCH Adjust number of prb : (N_UCI : 3 ) (payload_in_bits : 4) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 3 data 0x07 ) ( ack length 3 data 0x07 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 1 ) 
+PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 1 ) 
 PUCCH ( starting_prb : 2 ) ( second_hop : 2 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 3 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
@@ -194,11 +194,11 @@ PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block : with 4 downlink ACKnowledgments and pucch resource indicator 5 
 PUCCH power n(4) = ( V(4) - U(4) )mod4 * N_TB(1) + N(4) 
 PUCCH found resource set 2 
-PUCCH format 4 nb symbols 9 uci size 4 selected format 3 
+PUCCH format 4 nb symbols total 9 uci size 4 selected format 3 
 PUCCH dedicated configuration with resource index 21 
 PUCCH Number of pucch format 4 in subframe 4 is 1 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 4 data 0x0f ) ( ack length 4 data 0x0f ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 4 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 7 ) ( max code rate*100 : 35 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 4 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 9 ) ( nb symbols : 7 ) ( max code rate*100 : 35 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 15 ) ( occ_Index : 16 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 3 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 5 ) ( DELTA_TF : -5 ) ( G_b_f_c : 0 ) 
@@ -206,11 +206,11 @@ PUCCH ( Tx power : 3 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block : with 4 downlink ACKnowledgments and pucch resource indicator 7 
 PUCCH power n(4) = ( V(4) - U(4) )mod4 * N_TB(1) + N(4) 
 PUCCH found resource set 2 
-PUCCH format 3 nb symbols 11 uci size 4 selected format 3 
+PUCCH format 3 nb symbols total 11 uci size 4 selected format 3 
 PUCCH dedicated configuration with resource index 23 
 PUCCH Adjust number of prb : (N_UCI : 4 ) (payload_in_bits : 54) (N_sc_ctrl_RB : 12) (nb_symbols : 9) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 4 data 0x0f ) ( ack length 4 data 0x0f ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 9 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 11 ) ( nb symbols : 9 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 1 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -6 ) ( G_b_f_c : 0 ) 
@@ -218,11 +218,11 @@ PUCCH ( Tx power : 1 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 1 transport block and missed PDSCH : with 6 downlink ACKnowledgments and pucch resource indicator 5 
 PUCCH power n(4) = ( V(4) - U(2) )mod4 * N_TB(1) + N(2) 
 PUCCH found resource set 2 
-PUCCH format 4 nb symbols 9 uci size 4 selected format 3 
+PUCCH format 4 nb symbols total 9 uci size 4 selected format 3 
 PUCCH dedicated configuration with resource index 21 
 PUCCH Number of pucch format 4 in subframe 4 is 2 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 4 data 0x0a ) ( ack length 4 data 0x0a ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 4 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 7 ) ( max code rate*100 : 35 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 4 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 9 ) ( nb symbols : 7 ) ( max code rate*100 : 35 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 15 ) ( occ_Index : 16 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 5 ) ( DELTA_TF : -2 ) ( G_b_f_c : 0 ) 
@@ -232,10 +232,10 @@ PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 1 downlink ACKnowledgments and pucch resource indicator 0 
 PUCCH power n(2) = ( V(1) - U(1) )mod4 * N_TB(2) + N(2) 
 PUCCH found resource set 0 
-PUCCH format 0 nb symbols 1 uci size 2 selected format 0 
+PUCCH format 0 nb symbols total 1 uci size 2 selected format 0 
 PUCCH dedicated configuration with resource index 0 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 6 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -243,10 +243,10 @@ PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 1 downlink ACKnowledgments and pucch resource indicator 1 
 PUCCH power n(2) = ( V(1) - U(1) )mod4 * N_TB(2) + N(2) 
 PUCCH found resource set 0 
-PUCCH format 1 nb symbols 5 uci size 2 selected format 1 
+PUCCH format 1 nb symbols total 5 uci size 2 selected format 1 
 PUCCH dedicated configuration with resource index 1 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 2 data 0x03 ) ( ack length 2 data 0x03 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 5 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 0 ) ( time_domain_occ 1 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -254,11 +254,11 @@ PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 2 downlink ACKnowledgments and pucch resource indicator 3 
 PUCCH power n(4) = ( V(2) - U(2) )mod4 * N_TB(2) + N(4) 
 PUCCH found resource set 2 
-PUCCH format 2 nb symbols 2 uci size 4 selected format 2 
+PUCCH format 2 nb symbols total 2 uci size 4 selected format 2 
 PUCCH dedicated configuration with resource index 19 
 PUCCH Adjust number of prb : (N_UCI : 4 ) (payload_in_bits : 4) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 4 data 0x0f ) ( ack length 4 data 0x0f ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 3 ) ( DELTA_TF : 1 ) ( G_b_f_c : 0 ) 
@@ -266,11 +266,11 @@ PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 2 downlink ACKnowledgments and pucch resource indicator 7 
 PUCCH power n(4) = ( V(2) - U(2) )mod4 * N_TB(2) + N(4) 
 PUCCH found resource set 2 
-PUCCH format 3 nb symbols 11 uci size 4 selected format 3 
+PUCCH format 3 nb symbols total 11 uci size 4 selected format 3 
 PUCCH dedicated configuration with resource index 23 
 PUCCH Adjust number of prb : (N_UCI : 4 ) (payload_in_bits : 54) (N_sc_ctrl_RB : 12) (nb_symbols : 9) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 4 data 0x0f ) ( ack length 4 data 0x0f ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 9 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 11 ) ( nb symbols : 9 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 1 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -6 ) ( G_b_f_c : 0 ) 
@@ -278,11 +278,11 @@ PUCCH ( Tx power : 1 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 3 downlink ACKnowledgments and pucch resource indicator 2 
 PUCCH power n(6) = ( V(3) - U(3) )mod4 * N_TB(2) + N(6) 
 PUCCH found resource set 3 
-PUCCH format 4 nb symbols 6 uci size 6 selected format 3 
+PUCCH format 4 nb symbols total 6 uci size 6 selected format 3 
 PUCCH dedicated configuration with resource index 26 
 PUCCH Number of pucch format 4 in subframe 4 is 3 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 6 data 0x3f ) ( ack length 6 data 0x3f ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 4 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 4 ) ( max code rate*100 : 35 ) ( starting_symbol_index : 3 ) 
+PUCCH ( format : 4 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 6 ) ( nb symbols : 4 ) ( max code rate*100 : 35 ) ( starting_symbol_index : 3 ) 
 PUCCH ( starting_prb : 4 ) ( second_hop : 4 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 12 ) ( occ_Index : 13 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 11 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 5 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -290,11 +290,11 @@ PUCCH ( Tx power : 11 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 3 downlink ACKnowledgments and pucch resource indicator 4 
 PUCCH power n(6) = ( V(3) - U(3) )mod4 * N_TB(2) + N(6) 
 PUCCH found resource set 3 
-PUCCH format 3 nb symbols 8 uci size 6 selected format 3 
+PUCCH format 3 nb symbols total 8 uci size 6 selected format 3 
 PUCCH dedicated configuration with resource index 28 
 PUCCH Adjust number of prb : (N_UCI : 6 ) (payload_in_bits : 36) (N_sc_ctrl_RB : 12) (nb_symbols : 6) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 6 data 0x3f ) ( ack length 6 data 0x3f ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 6 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 8 ) ( nb symbols : 6 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
 PUCCH ( starting_prb : 4 ) ( second_hop : 4 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -3 ) ( G_b_f_c : 0 ) 
@@ -302,11 +302,11 @@ PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 4 downlink ACKnowledgments and pucch resource indicator 4 
 PUCCH power n(8) = ( V(4) - U(4) )mod4 * N_TB(2) + N(8) 
 PUCCH found resource set 3 
-PUCCH format 3 nb symbols 8 uci size 8 selected format 3 
+PUCCH format 3 nb symbols total 8 uci size 8 selected format 3 
 PUCCH dedicated configuration with resource index 28 
 PUCCH Adjust number of prb : (N_UCI : 8 ) (payload_in_bits : 36) (N_sc_ctrl_RB : 12) (nb_symbols : 6) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 8 data 0xff ) ( ack length 8 data 0xff ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 6 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 8 ) ( nb symbols : 6 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
 PUCCH ( starting_prb : 4 ) ( second_hop : 4 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -1 ) ( G_b_f_c : 0 ) 
@@ -314,11 +314,11 @@ PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks : with 4 downlink ACKnowledgments and pucch resource indicator 6 
 PUCCH power n(8) = ( V(4) - U(4) )mod4 * N_TB(2) + N(8) 
 PUCCH found resource set 3 
-PUCCH format 3 nb symbols 10 uci size 8 selected format 3 
+PUCCH format 3 nb symbols total 10 uci size 8 selected format 3 
 PUCCH dedicated configuration with resource index 30 
 PUCCH Adjust number of prb : (N_UCI : 8 ) (payload_in_bits : 48) (N_sc_ctrl_RB : 12) (nb_symbols : 8) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 8 data 0xff ) ( ack length 8 data 0xff ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 8 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 10 ) ( nb symbols : 8 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
 PUCCH ( starting_prb : 4 ) ( second_hop : 4 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -3 ) ( G_b_f_c : 0 ) 
@@ -326,11 +326,11 @@ PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks and 1 missed PDSCH : with 4 downlink ACKnowledgments and pucch resource indicator 4 
 PUCCH power n(8) = ( V(4) - U(3) )mod4 * N_TB(2) + N(6) 
 PUCCH found resource set 3 
-PUCCH format 3 nb symbols 10 uci size 8 selected format 3 
+PUCCH format 3 nb symbols total 10 uci size 8 selected format 3 
 PUCCH dedicated configuration with resource index 30 
 PUCCH Adjust number of prb : (N_UCI : 8 ) (payload_in_bits : 48) (N_sc_ctrl_RB : 12) (nb_symbols : 8) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 8 data 0xfc ) ( ack length 8 data 0xfc ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 8 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 10 ) ( nb symbols : 8 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
 PUCCH ( starting_prb : 4 ) ( second_hop : 4 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -3 ) ( G_b_f_c : 0 ) 
@@ -338,11 +338,11 @@ PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with 2 transport blocks and 2 missed PDSCH : with 4 downlink ACKnowledgments and pucch resource indicator 4 
 PUCCH power n(8) = ( V(4) - U(2) )mod4 * N_TB(2) + N(4) 
 PUCCH found resource set 3 
-PUCCH format 3 nb symbols 10 uci size 8 selected format 3 
+PUCCH format 3 nb symbols total 10 uci size 8 selected format 3 
 PUCCH dedicated configuration with resource index 30 
 PUCCH Adjust number of prb : (N_UCI : 8 ) (payload_in_bits : 48) (N_sc_ctrl_RB : 12) (nb_symbols : 8) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 8 data 0xcc ) ( ack length 8 data 0xcc ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 8 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 10 ) ( nb symbols : 8 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
 PUCCH ( starting_prb : 4 ) ( second_hop : 4 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -3 ) ( G_b_f_c : 0 ) 
@@ -355,20 +355,20 @@ PUCCH No feedback AbsSubframe 0.4
 
   => Test : PUCCH format 0 from dedicated config with only a positive scheduling request 
 PUCCH found resource set 0 
-PUCCH format 0 nb symbols 1 uci size 1 selected format 0 
+PUCCH format 0 nb symbols total 1 uci size 1 selected format 0 
 PUCCH dedicated configuration with resource index 0 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
 
   => Test : PUCCH format 1 from dedicated config with only a positive scheduling request 
 PUCCH found resource set 0 
-PUCCH format 1 nb symbols 5 uci size 1 selected format 1 
+PUCCH format 1 nb symbols total 5 uci size 1 selected format 1 
 PUCCH dedicated configuration with resource index 1 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 1 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 1 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 5 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 0 ) ( time_domain_occ 1 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -378,10 +378,10 @@ PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with a negative scheduling request and a positive ack 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
 PUCCH found resource set 0 
-PUCCH format 0 nb symbols 1 uci size 2 selected format 0 
+PUCCH format 0 nb symbols total 1 uci size 2 selected format 0 
 PUCCH dedicated configuration with resource index 0 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -389,10 +389,10 @@ PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with a positive scheduling request and a positive ack 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
 PUCCH found resource set 0 
-PUCCH format 0 nb symbols 1 uci size 2 selected format 0 
+PUCCH format 0 nb symbols total 1 uci size 2 selected format 0 
 PUCCH dedicated configuration with resource index 0 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 0 data 0x00 ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 0 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 1 ) ( nb symbols : 1 ) ( max code rate*100 : 0 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 9 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 1 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -400,10 +400,10 @@ PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with a positive scheduling request and a positive ack 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
 PUCCH found resource set 0 
-PUCCH format 1 nb symbols 5 uci size 2 selected format 1 
+PUCCH format 1 nb symbols total 5 uci size 2 selected format 1 
 PUCCH dedicated configuration with resource index 1 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 2 data 0x01 ) ( ack length 1 data 0x01 ) ( sr length 1 value 0 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
+PUCCH ( format : 1 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 5 ) ( nb symbols : 5 ) ( max code rate*100 : 8 ) ( starting_symbol_index : 0 ) 
 PUCCH ( starting_prb : 1 ) ( second_hop : 1 ) ( m_0 : 2 ) ( m_CS : 0 ) ( time_domain_occ 1 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 2 ) ( DELTA_TF : 3 ) ( G_b_f_c : 0 ) 
@@ -411,10 +411,10 @@ PUCCH ( Tx power : 8 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with a positive scheduling request and two positive acks 
 PUCCH power n(2) = ( V(2) - U(2) )mod4 * N_TB(1) + N(2) 
 PUCCH found resource set 1 
-PUCCH format 2 nb symbols 2 uci size 3 selected format 2 
+PUCCH format 2 nb symbols total 2 uci size 3 selected format 2 
 PUCCH dedicated configuration with resource index 8 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 3 data 0x07 ) ( ack length 2 data 0x03 ) ( sr length 1 value 1 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 1 ) 
+PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 1 ) 
 PUCCH ( starting_prb : 2 ) ( second_hop : 2 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 3 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
@@ -422,11 +422,11 @@ PUCCH ( Tx power : 6 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with a positive scheduling request and two positive acks 
 PUCCH power n(2) = ( V(2) - U(2) )mod4 * N_TB(1) + N(2) 
 PUCCH found resource set 1 
-PUCCH format 3 nb symbols 5 uci size 3 selected format 3 
+PUCCH format 3 nb symbols total 5 uci size 3 selected format 3 
 PUCCH dedicated configuration with resource index 9 
 PUCCH Adjust number of prb : (N_UCI : 3 ) (payload_in_bits : 18) (N_sc_ctrl_RB : 12) (nb_symbols : 3) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 3 data 0x07 ) ( ack length 2 data 0x03 ) ( sr length 1 value 1 ) ( csi length 0 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 3 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 1 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 5 ) ( nb symbols : 3 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 1 ) 
 PUCCH ( starting_prb : 2 ) ( second_hop : 2 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -3 ) ( G_b_f_c : 0 ) 
@@ -435,11 +435,11 @@ PUCCH ( Tx power : 4 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
 
   => Test : PUCCH format from dedicated config with CSI alone 
 PUCCH found resource set 2 
-PUCCH format 2 nb symbols 2 uci size 4 selected format 2 
+PUCCH format 2 nb symbols total 2 uci size 4 selected format 2 
 PUCCH dedicated configuration with resource index 16 
 PUCCH Adjust number of prb : (N_UCI : 4 ) (payload_in_bits : 4) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 4 data 0x0e ) ( ack length 0 data 0x00 ) ( sr length 0 value 0 ) ( csi length 4 data : 0x0e ) 
-PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 3 ) ( DELTA_TF : 1 ) ( G_b_f_c : 0 ) 
@@ -447,12 +447,12 @@ PUCCH ( Tx power : 7 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with ACK and CSI 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
 PUCCH found resource set 2 
-PUCCH format 2 nb symbols 2 uci size 5 selected format 2 
+PUCCH format 2 nb symbols total 2 uci size 5 selected format 2 
 PUCCH dedicated configuration with resource index 19 
 PUCCH Adjust number of prb : (N_UCI : 5 ) (payload_in_bits : 4) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH Adjust number of prb : (N_UCI : 5 ) (payload_in_bits : 9) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 5 data 0x1d ) ( ack length 1 data 0x01 ) ( sr length 0 value 0 ) ( csi length 4 data : 0x0e ) 
-PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 2 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 9 dBm ) ( 10Log(...) : 3 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 3 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
@@ -460,35 +460,35 @@ PUCCH ( Tx power : 9 dBm ) ( 10Log(...) : 3 ) ( from Path Loss : 0 ) ( delta_F_P
   => Test : PUCCH format from dedicated config with ACK, negative SR and CSI 
 PUCCH power n(1) = ( V(1) - U(1) )mod4 * N_TB(1) + N(1) 
 PUCCH found resource set 3 
-PUCCH format 3 nb symbols 7 uci size 6 selected format 3 
+PUCCH format 3 nb symbols total 7 uci size 6 selected format 3 
 PUCCH dedicated configuration with resource index 27 
 PUCCH Adjust number of prb : (N_UCI : 2 ) (payload_in_bits : 30) (N_sc_ctrl_RB : 12) (nb_symbols : 5) (Q_m : 2) (max_code_rate*100 : 25) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 2 data 0x01 ) ( ack length 1 data 0x01 ) ( sr length 1 value 0 ) ( csi length 4 data : 0x00 ) 
-PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols : 5 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
+PUCCH ( format : 3 ) ( modulation :  QPSK  ) ( nb prb : 1 ) ( nb symbols total: 7 ) ( nb symbols : 5 ) ( max code rate*100 : 25 ) ( starting_symbol_index : 3 ) 
 PUCCH ( starting_prb : 4 ) ( second_hop : 4 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 1 dBm ) ( 10Log(...) : 0 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 4 ) ( DELTA_TF : -6 ) ( G_b_f_c : 0 ) 
 
   => Test : PUCCH format from dedicated config with negative SR and CSI 
 PUCCH found resource set 2 
-PUCCH format 2 nb symbols 2 uci size 5 selected format 2 
+PUCCH format 2 nb symbols total 2 uci size 5 selected format 2 
 PUCCH dedicated configuration with resource index 16 
 PUCCH Adjust number of prb : (N_UCI : 5 ) (payload_in_bits : 4) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH Adjust number of prb : (N_UCI : 5 ) (payload_in_bits : 9) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 5 data 0x1c ) ( ack length 0 data 0x00 ) ( sr length 1 value 0 ) ( csi length 4 data : 0x0e ) 
-PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 2 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 9 dBm ) ( 10Log(...) : 3 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 3 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
 
   => Test : PUCCH format from dedicated config with positive SR and CSI 
 PUCCH found resource set 2 
-PUCCH format 2 nb symbols 2 uci size 5 selected format 2 
+PUCCH format 2 nb symbols total 2 uci size 5 selected format 2 
 PUCCH dedicated configuration with resource index 16 
 PUCCH Adjust number of prb : (N_UCI : 5 ) (payload_in_bits : 4) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH Adjust number of prb : (N_UCI : 5 ) (payload_in_bits : 9) (N_sc_ctrl_RB : 8) (nb_symbols : 2) (Q_m : 2) (max_code_rate*100 : 15) 
 PUCCH ( AbsSubframe : 0.4 ) ( total payload size 5 data 0x1d ) ( ack length 0 data 0x00 ) ( sr length 1 value 1 ) ( csi length 4 data : 0x0e ) 
-PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
+PUCCH ( format : 2 ) ( modulation :  QPSK  ) ( nb prb : 2 ) ( nb symbols total: 2 ) ( nb symbols : 2 ) ( max code rate*100 : 15 ) ( starting_symbol_index : 2 ) 
 PUCCH ( starting_prb : 3 ) ( second_hop : 3 ) ( m_0 : 0 ) ( m_CS : 0 ) ( time_domain_occ 0 ) (occ_length : 0 ) ( occ_Index : 0 ) 
 [PHY][D][get_PL] get_PL : Frame 0 : rsrp 0.000000 dBm/RE (-inf), eNB power 0 dBm/RE
 PUCCH ( Tx power : 9 dBm ) ( 10Log(...) : 3 ) ( from Path Loss : 0 ) ( delta_F_PUCCH : 3 ) ( DELTA_TF : 0 ) ( G_b_f_c : 0 ) 
diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh
index a9bbdc22f7e..81894ed7260 100755
--- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh
+++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh
@@ -55,6 +55,9 @@ RUN_MELD="yes"
 # for removing files
 REMOVE="rm -f"
 COMPARE="cmp"
+TESTS_RUN=0
+TESTS_PASS=0
+TESTS_FAIL=0
 
 #----------------------------------------------------------------------------
 # List of tests
@@ -94,7 +97,7 @@ do
       echo "Option of run_test script"
       echo "-b : No Build of unit tests"
       echo "-c : No check for unit test"
-      echo "-r : No run of unit tests"
+      echo "-e : No run of unit tests"
       echo "-m : No run of meld tool"
       exit
       BUILD_TEST="no"
@@ -180,11 +183,11 @@ for file in $tst_files
 
     if [ $EXECUTE_TEST == "yes" ] 
     then
-       echo "rm $RESULT_DIR/$RESULT_TEST_FILE"
+      echo "rm $RESULT_DIR/$RESULT_TEST_FILE"
       rm $RESULT_DIR/$RESULT_TEST_FILE
       echo "$EXECUTABLE_DIR/$file > $RESULT_DIR/$RESULT_TEST_FILE"
       $EXECUTABLE_DIR/$file > $RESULT_DIR/$RESULT_TEST_FILE    
-      
+      TESTS_RUN=$((TESTS_RUN+1))
     fi
     
     if [ $CHECK_TEST == "yes" ] 
@@ -201,8 +204,10 @@ for file in $tst_files
         then
         	echo "Test $file is PASS"
             echo "Same logging file for $file"
+            TESTS_PASS=$((TESTS_PASS+1))
         else
           echo "Test $file is FAIL"
+          TESTS_FAIL=$((TESTS_FAIL+1))
       echo "Difference of logging file for scenario $file"          
           let "num_diff=$num_diff + 1"
           if  [ $RUN_MELD == "yes" ]
@@ -225,7 +230,8 @@ for file in $tst_files
     
     if [ $SINGLE_TEST == "yes" ] 
     then
-      exit
+      echo "Test $file has been executed"
+      break
     fi
   done
 
@@ -234,4 +240,6 @@ then
   echo "There are $num_diff result files which are different"
 fi
 
+  echo " tests run : $TESTS_RUN pass : $TESTS_PASS fail : $TESTS_FAIL" 
+
 # end of script
-- 
GitLab