diff --git a/openair1/PHY/LTE_TRANSPORT/defs.h b/openair1/PHY/LTE_TRANSPORT/defs.h
index e2076a3a63a44831126fee44c73b8696d8d3610a..aedd996ad38d171de12fe6fa14ecc7cd68e0150d 100644
--- a/openair1/PHY/LTE_TRANSPORT/defs.h
+++ b/openair1/PHY/LTE_TRANSPORT/defs.h
@@ -487,7 +487,8 @@ typedef struct {
   /// aggregate physical states every n millisecond
   int32_t aggregation_period_ms; 
   /// a set of lists used for localization
-  struct list loc_rss_list, loc_rssi_list, loc_subcarrier_rss_list, loc_timing_advance_list, loc_timing_update_list;
+  struct list loc_rss_list[10], loc_rssi_list[10], loc_subcarrier_rss_list[10], loc_timing_advance_list[10], loc_timing_update_list[10];
+  struct list tot_loc_rss_list, tot_loc_rssi_list, tot_loc_subcarrier_rss_list, tot_loc_timing_advance_list, tot_loc_timing_update_list;
 #endif 
 } LTE_eNB_ULSCH_t;
 
diff --git a/openair1/SCHED/phy_procedures_lte_common.c b/openair1/SCHED/phy_procedures_lte_common.c
index d98b614cbd847a34cab212b8559d32ba86bccef3..7c3832c34b9e44b5f6d1b66f19d399288190afa1 100755
--- a/openair1/SCHED/phy_procedures_lte_common.c
+++ b/openair1/SCHED/phy_procedures_lte_common.c
@@ -579,21 +579,21 @@ double aggregate_eNB_UE_localization_stats(PHY_VARS_eNB *phy_vars_eNB, int8_t UE
     current_timestamp_ms = ts.tv_sec * 1000 + ts.tv_usec / 1000;
   
     
-      LOG_F(LOCALIZE, "PHY: [UE %x/%d -> eNB %d], timestamp %d, "
+      LOG_D(LOCALIZE, " PHY: [UE %x/%d -> eNB %d], timestamp %d, "
           "frame %d, subframe %d"
           "UE Tx power %d dBm, "
           "RSSI ant1 %d dBm, "
           "RSSI ant2 %d dBm, "
           "pwr ant1 %d dBm, "
           "pwr ant2 %d dBm, "
-          "Rx gain %d dBm, "
+          "Rx gain %d dB, "
           "TA %d, "
           "TA update %d, "
           "DL_CQI (%d,%d), "
           "Wideband CQI (%d,%d), "
-          "DL Subband CQI[13] %s \n"
-          "timestamp %d, (%d active subcarrier) %s \n"
-          ,phy_vars_eNB->dlsch_eNB[(uint32_t)UE_id][0]->rnti, UE_id, Mod_id, current_timestamp_ms,
+          "DL Subband CQI[13] %s \n",
+//          "timestamp %d, (%d active subcarrier) %s \n"
+          phy_vars_eNB->dlsch_eNB[(uint32_t)UE_id][0]->rnti, UE_id, Mod_id, current_timestamp_ms,
           frame,subframe,
           UE_tx_power_dB,
           phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UL_rssi[0],
@@ -606,7 +606,8 @@ double aggregate_eNB_UE_localization_stats(PHY_VARS_eNB *phy_vars_eNB, int8_t UE
           phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].DL_cqi[0],phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].DL_cqi[1],
           phy_vars_eNB->PHY_measurements_eNB[Mod_id].wideband_cqi_dB[(uint32_t)UE_id][0],
           phy_vars_eNB->PHY_measurements_eNB[Mod_id].wideband_cqi_dB[(uint32_t)UE_id][1],
-          cqis,
+          cqis);
+      LOG_D(LOCALIZE, " PHY: timestamp %d, (%d active subcarrier) %s \n",
           current_timestamp_ms,
           phy_vars_eNB->lte_eNB_pusch_vars[(uint32_t)UE_id]->active_subcarrier, 
           sub_powers);
@@ -628,33 +629,77 @@ double aggregate_eNB_UE_localization_stats(PHY_VARS_eNB *phy_vars_eNB, int8_t UE
           break;
        }  
 
-      if ((current_timestamp_ms - ref_timestamp_ms > phy_vars_eNB->ulsch_eNB[UE_id+1]->aggregation_period_ms) && 
-              (phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list.size != 0)) {
-          // check the size of one list to be sure there was a message transmitted during the defined aggregation period
-          median_power = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list);
-          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list);
-          median_rssi = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list);
-          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list);
-          median_subcarrier_rss = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list);
-          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list);
-          median_TA = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list);
-          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list);       
-          median_TA_update = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list);
-          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list);   
+      if ((current_timestamp_ms - ref_timestamp_ms > phy_vars_eNB->ulsch_eNB[UE_id+1]->aggregation_period_ms)) {
+        // check the size of one list to be sure there was a message transmitted during the defined aggregation period
+ 
+        // make the reference timestamp == current timestamp
+         phy_vars_eNB->ulsch_eNB[UE_id+1]->reference_timestamp_ms = current_timestamp_ms;
+	 int i;
+	 for (i=0; i<10; i++) {
+           median_power = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list[i]);
+           del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list[i]);
+           median_rssi = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list[i]);
+           del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list[i]);
+           median_subcarrier_rss = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list[i]);
+           del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list[i]);
+           median_TA = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list[i]);
+           del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list[i]);
+           median_TA_update = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list[i]);
+           del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list[i]);
+
+	   if (median_power != 0)
+	       push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rss_list,median_power);
+           if (median_rssi != 0)
+	       push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rssi_list,median_rssi);
+           if (median_subcarrier_rss != 0)
+	       push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_subcarrier_rss_list,median_subcarrier_rss);
+           if (median_TA != 0)
+	       push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_advance_list,median_TA);
+           if (median_TA_update != 0)
+    	       push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_update_list,median_TA_update);
+
+           initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list[i]);
+           initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list[i]);
+           initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list[i]);
+           initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list[i]);
+           initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list[i]);
+	  }
+
+          median_power = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rss_list);
+          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rss_list);
+          median_rssi = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rssi_list);
+          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rssi_list);
+          median_subcarrier_rss = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_subcarrier_rss_list);
+          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_subcarrier_rss_list);
+          median_TA = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_advance_list);
+          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_advance_list);
+          median_TA_update = calculate_median(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_update_list);
+          del(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_update_list);
+
+          initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rss_list);
+          initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_subcarrier_rss_list);
+          initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_rssi_list);
+          initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_advance_list);
+          initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->tot_loc_timing_update_list);
 
           double alpha = 2, power_distance, time_distance;
-          power_distance = pow(10, ((UE_tx_power_dB - (median_subcarrier_rss - phy_vars_eNB->rx_total_gain_eNB_dB))/(20.0*alpha)));
-          time_distance = (double) 299792458*(phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UE_timing_offset)/(sys_bw*1000000);
+	  // distance = 10^((Ptx - Prx - A)/10alpha), A is a constance experimentally evaluated
+	  // A includes the rx gain (phy_vars_eNB->rx_total_gain_eNB_dB) and hardware calibration
+          power_distance = pow(10, ((UE_tx_power_dB - median_power - phy_vars_eNB->rx_total_gain_eNB_dB + 133)/(10.0*alpha)));
+	  /* current measurements shows constant UE_timing_offset = 18
+	     and timing_advance_update = 11 at 1m. at 5m, timing_advance_update = 12*/
+	  //time_distance = (double) 299792458*(phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].timing_advance_update)/(sys_bw*1000000);
+	  time_distance = (double) fabs(phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].timing_advance_update - 11) * 4.89;//  (3 x 108 x 1 / (15000 x 2048)) / 2 = 4.89 m
 
           phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].distance.time_based = time_distance;
           phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].distance.power_based = power_distance;
 
-          LOG_D(LOCALIZE, " PHY [UE %x/%d -> eNB %d], timestamp %d, "
+          LOG_D(LOCALIZE, " PHY agg [UE %x/%d -> eNB %d], timestamp %d, "
             "frame %d, subframe %d "
             "UE Tx power %d dBm, "
             "median RSSI %d dBm, "
             "median Power %d dBm, "
-            "Rx gain %d dBm, "
+            "Rx gain %d dB, "
             "power estimated r = %0.3f, "
             " TA %d, update %d "
             "TA estimated r = %0.3f\n"
@@ -668,27 +713,19 @@ double aggregate_eNB_UE_localization_stats(PHY_VARS_eNB *phy_vars_eNB, int8_t UE
             phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UE_timing_offset, median_TA_update, 
             time_distance); 
 
-            initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list);
-            initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list);        
-            initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list);
-            initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list);
-            initialize(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list);
-            
-            // make the reference timestamp == current timestamp
-            phy_vars_eNB->ulsch_eNB[UE_id+1]->reference_timestamp_ms = current_timestamp_ms;
             return 0;
       }
       else {
           avg_power = (dB_fixed(phy_vars_eNB->lte_eNB_pusch_vars[(uint32_t)UE_id]->ulsch_power[0]) + dB_fixed(phy_vars_eNB->lte_eNB_pusch_vars[(uint32_t)UE_id]->ulsch_power[1]))/2;
           avg_rssi = (phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UL_rssi[0] + phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UL_rssi[1])/2;
 
-          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list,avg_power);
-          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list,avg_rssi);
+          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rss_list[subframe],avg_power);
+          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_rssi_list[subframe],avg_rssi);
           for (i=0;i<phy_vars_eNB->lte_eNB_pusch_vars[(uint32_t)UE_id]->active_subcarrier;i++) {
-              push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list, phy_vars_eNB->lte_eNB_pusch_vars[(uint32_t)UE_id]->subcarrier_power[i]);
+              push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_subcarrier_rss_list[subframe], phy_vars_eNB->lte_eNB_pusch_vars[(uint32_t)UE_id]->subcarrier_power[i]);
           }       
-          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list, phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UE_timing_offset);
-          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list, phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].timing_advance_update);
+          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_advance_list[subframe], phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UE_timing_offset);
+          push_front(&phy_vars_eNB->ulsch_eNB[UE_id+1]->loc_timing_update_list[subframe], phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].timing_advance_update);
           return -1;
       }      
 }
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
index e08c1b603104e02625c6262d34e830658e466a46..a7d455bd7f14c47610cdbab205908773c5d1454c 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
@@ -27,8 +27,8 @@
 
  *******************************************************************************/
 
-/*! \file eNB_scheduler_primitives.c
- * \brief primitives used by eNB for BCH, RACH, ULSCH, DLSCH scheduling
+/*! \file eNB_scheduler_RAs.c
+ * \brief primitives used for random access
  * \author  Navid Nikaein and Raymond Knopp
  * \date 2010 - 2014
  * \email: navid.nikaein@eurecom.fr
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 0783f9733e7dae73f1c420233e888acd5b9662e5..e7ccdbe944febf70e03e580f582726c202b09b1f 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -1144,6 +1144,10 @@ void ue_get_sdu(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_t subf
       num_sdus = 0;
   }
 
+  // if the RLC AM is used, then RLC will only provide 2 bytes for ACK
+  // in this case, we sould add bsr
+
+
   // DCCH1
   if (UE_mac_inst[module_idP].scheduling_info.LCID_status[DCCH1] == LCID_NOT_EMPTY) {
 
diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c
index 8c1d0a388a834f2eef74c4c73ffe3cfdcf91d8ec..e5ca0d4fe603291edda92e4678565445908aec34 100644
--- a/openair2/RRC/LITE/rrc_common.c
+++ b/openair2/RRC/LITE/rrc_common.c
@@ -48,6 +48,10 @@
 #include "asn1_msg.h"
 #include "pdcp.h"
 
+#ifdef LOCALIZATION 
+#include <sys/time.h>
+#endif
+
 #define DEBUG_RRC 1
 extern eNB_MAC_INST *eNB_mac_inst;
 extern UE_MAC_INST *UE_mac_inst;
diff --git a/openair2/UTIL/LISTS/list.c b/openair2/UTIL/LISTS/list.c
index 44310192084c1c244311e0e4986e50365657c036..51b7e84cd0f403ae082d1ba43ee12848cbad6ebc 100755
--- a/openair2/UTIL/LISTS/list.c
+++ b/openair2/UTIL/LISTS/list.c
@@ -304,10 +304,11 @@ del(struct list* z) {
 	struct node* cur;
 	struct node* x = z->head;
 	
-	while(x) {
+	while((x != NULL) && (z->size > 0)) {
 		cur = x;
 		x = x->next;
 		free(cur);
+		z->size--;
 	}
 
 	z->head = NULL;
@@ -410,14 +411,16 @@ int compare (const void * a, const void * b)
 */
 int32_t calculate_median(struct list *loc_list) {
     int32_t median = 0;    
-    double* table = (double*) malloc(loc_list->size * sizeof(double));
-    totable(table, loc_list);
-    /// sort the table in ascending way
-    qsort (table, loc_list->size, sizeof(double), &compare);
-    /// median is the value at middle the sorted table
-    /// Q1 is the value at 1/4 the sorted table
-    /// Q3 is the value at 3/4 the sorted table
-    median = table[loc_list->size/2];
-    free(table);
+    if (loc_list->size > 0) {
+      double* table = (double*) malloc(loc_list->size * sizeof(double));
+      totable(table, loc_list);
+      /// sort the table in ascending way
+      qsort (table, loc_list->size, sizeof(double), &compare);
+      /// median is the value at middle the sorted table
+      /// Q1 is the value at 1/4 the sorted table
+      /// Q3 is the value at 3/4 the sorted table
+      median = table[loc_list->size/2];
+      free(table);
+    }
     return median;
 }
diff --git a/targets/RT/USER/Makefile b/targets/RT/USER/Makefile
index fa9b5ee3b31176cb5bc7f749a4d80ebc100f785c..2017e250fc41b03fb23ac90e13ac1d57a85fef3f 100644
--- a/targets/RT/USER/Makefile
+++ b/targets/RT/USER/Makefile
@@ -45,6 +45,8 @@ ifeq ($(DEBUG),1)
 CFLAGS += -g -ggdb
 #CFLAGS += -DRRC_MSG_PRINT
 #CFLAGS += -DPDCP_MSG_PRINT
+else 
+CFLAGS += -O2 
 endif
 
 ifdef ($(MSG_PRINT),1)
@@ -58,6 +60,14 @@ ifndef RTAI
 RTAI=1
 endif
 
+ifeq ($(LOCALIZATION), 1)
+CFLAGS += -DLOCALIZATION
+endif
+
+ifeq ($(LINUX_LIST), 1)
+CFLAGS += -DLINUX_LIST
+endif
+
 ifeq ($(RTAI),1)
 CFLAGS += -DENABLE_RTAI_CLOCK
 CFLAGS += -DCONFIG_RTAI_LXRT_INLINE  #remend the RTAI warning
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 6c0d2f3bf18f8f02584d952d9f819ac14443212d..b4d531c44a894f6259295595895b7bfd2efe8cbf 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -3406,6 +3406,10 @@ int main(int argc, char **argv) {
       set_comp_log(OSA,    osa_log_level,   osa_log_verbosity, 1);
 #endif
 #endif
+#ifdef LOCALIZATION
+      set_comp_log(LOCALIZE, LOG_DEBUG, LOG_LOW, 1);
+      set_component_filelog(LOCALIZE);
+#endif 
       set_comp_log(ENB_APP, LOG_INFO, LOG_HIGH, 1);
       set_comp_log(OTG,     LOG_INFO,   LOG_HIGH, 1);
       if (online_log_messages == 1) { 
diff --git a/targets/SIMU/USER/init_lte.c b/targets/SIMU/USER/init_lte.c
index 76ecb01be005351263d4c14459ba34b8c1769c9a..03ae5376d31c61c272736d9e35b2fd0b62c12d04 100644
--- a/targets/SIMU/USER/init_lte.c
+++ b/targets/SIMU/USER/init_lte.c
@@ -33,6 +33,7 @@
 #include <stdint.h>
 #include <stdio.h>
 #include <time.h>
+#include <sys/time.h>
 
 #include "init_lte.h"
 
@@ -98,11 +99,19 @@ PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
     struct timeval ts;
     gettimeofday(&ts, NULL);
     PHY_vars_eNB->ulsch_eNB[1+i]->reference_timestamp_ms = ts.tv_sec * 1000 + ts.tv_usec / 1000;
-    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_rss_list);
-    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_rssi_list);
-    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_subcarrier_rss_list);
-    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_timing_advance_list);    
-    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_timing_update_list);    
+    int j;
+    for (j=0; j<10; j++) {
+      initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_rss_list[j]);
+      initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_rssi_list[j]);
+      initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_subcarrier_rss_list[j]);
+      initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_timing_advance_list[j]);
+      initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->loc_timing_update_list[j]);
+    }
+    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->tot_loc_rss_list);
+    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->tot_loc_rssi_list);
+    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->tot_loc_subcarrier_rss_list);
+    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->tot_loc_timing_advance_list);
+    initialize(&PHY_vars_eNB->ulsch_eNB[1+i]->tot_loc_timing_update_list);
 #endif    
   }