diff --git a/openair1/PHY/NR_TRANSPORT/nr_prs.c b/openair1/PHY/NR_TRANSPORT/nr_prs.c
index 6326863aad59e090efaf6a7506a15337f1cbdc2d..55111333d865986d5aef12ece8c2cfb704efa0a5 100644
--- a/openair1/PHY/NR_TRANSPORT/nr_prs.c
+++ b/openair1/PHY/NR_TRANSPORT/nr_prs.c
@@ -4,8 +4,8 @@
 #include "PHY/NR_REFSIG/nr_refsig.h"
 #include "PHY/sse_intrin.h"
 
-#define DEBUG_PRS_MOD
-#define DEBUG_PRS_MAP
+//#define DEBUG_PRS_MOD
+//#define DEBUG_PRS_MAP
 
 extern short nr_qpsk_mod_table[8];
 
@@ -29,10 +29,8 @@ int nr_generate_prs(uint32_t **nr_gold_prs,
   int16_t mod_prs[NR_MAX_PRS_LENGTH<<1];
   uint8_t idx=prs_data->NPRSID;
   
-  
    // PRS resource mapping with combsize=k which means PRS symbols exist in every k-th subcarrier in frequency domain
    // According to ts138.211 sec.7.4.1.7.2
-
   for (int l = prs_data->SymbolStart; l < prs_data->SymbolStart + prs_data->NumPRSSymbols; l++) {
 
     int symInd = l-prs_data->SymbolStart;
@@ -50,31 +48,28 @@ int nr_generate_prs(uint32_t **nr_gold_prs,
     }
     
     k = (prs_data->REOffset+k_prime) % prs_data->CombSize + frame_parms->first_carrier_offset ;
-
-    
     
     // QPSK modulation
-    
     for (int m = 0; m < (12/prs_data->CombSize) * prs_data->NumRB; m++) {
       idx = (((nr_gold_prs[l][(m<<1)>>5])>>((m<<1)&0x1f))&3);
       mod_prs[m<<1] = nr_qpsk_mod_table[idx<<1];
       mod_prs[(m<<1)+1] = nr_qpsk_mod_table[(idx<<1) + 1];
       
 #ifdef DEBUG_PRS_MOD
-printf("m %d idx %d gold seq %d mod_prs %d %d\n", m, idx, nr_gold_prs[l][(m<<1)>>5], mod_prs[m<<1], mod_prs[(m<<1)+1]);
+      LOG_D("m %d idx %d gold seq %d mod_prs %d %d\n", m, idx, nr_gold_prs[l][(m<<1)>>5], mod_prs[m<<1], mod_prs[(m<<1)+1]);
 #endif
       
 #ifdef DEBUG_PRS_MAP
-printf("m %d at k %d of l %d reIdx %d\n", m, k, l, (l*frame_parms->ofdm_symbol_size + k)<<1);
+      LOG_D("m %d at k %d of l %d reIdx %d\n", m, k, l, (l*frame_parms->ofdm_symbol_size + k)<<1);
 #endif
       
       ((int16_t *)txdataF)[(l*frame_parms->ofdm_symbol_size + k)<<1]       = (amp * mod_prs[m<<1]) >> 15;
       ((int16_t *)txdataF)[((l*frame_parms->ofdm_symbol_size + k)<<1) + 1] = (amp * mod_prs[(m<<1) + 1]) >> 15;
     
 #ifdef DEBUG_PRS_MAP
-printf("(%d,%d)\n",
-((int16_t *)txdataF)[(l*frame_parms->ofdm_symbol_size + k)<<1],
-((int16_t *)txdataF)[((l*frame_parms->ofdm_symbol_size + k)<<1)+1]);
+      LOG_D("(%d,%d)\n",
+      ((int16_t *)txdataF)[(l*frame_parms->ofdm_symbol_size + k)<<1],
+      ((int16_t *)txdataF)[((l*frame_parms->ofdm_symbol_size + k)<<1)+1]);
 #endif
 
       k = k +  prs_data->CombSize;
@@ -83,8 +78,7 @@ printf("(%d,%d)\n",
         k-=frame_parms->ofdm_symbol_size;
       }
   }
-LOG_M("nr_prs.m", "prs",(int16_t *)&txdataF[0],frame_parms->samples_per_slot_wCP, 1, 1);
-printf("first carrier offset: %d \n",frame_parms->first_carrier_offset);
+  LOG_M("nr_prs.m", "prs",(int16_t *)&txdataF[0],frame_parms->samples_per_slot_wCP, 1, 1);
 
   return 0;
 }
diff --git a/openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c b/openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
index 96b8a956632f138bf96c6a493bf4389c03a4ff37..839ab1d702ae037a199b163641b50d04dcb7eb2e 100644
--- a/openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+++ b/openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
@@ -81,7 +81,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
     //re_offset
     k = re_offset = (prs_cfg->REOffset+k_prime) % prs_cfg->CombSize + frame_params->first_carrier_offset;
   
-    printf("PRS config l %d k_prime %d, re_offset %d :\nprs_cfg->SymbolStart %d\nprs_cfg->NumPRSSymbols %d\nprs_cfg->NumRB %d\nprs_cfg->CombSize %d\n", l, k_prime, re_offset, prs_cfg->SymbolStart, prs_cfg->NumPRSSymbols, prs_cfg->NumRB, prs_cfg->CombSize);
+    LOG_D("PRS config l %d k_prime %d, re_offset %d :\nprs_cfg->SymbolStart %d\nprs_cfg->NumPRSSymbols %d\nprs_cfg->NumRB %d\nprs_cfg->CombSize %d\n", l, k_prime, re_offset, prs_cfg->SymbolStart, prs_cfg->NumPRSSymbols, prs_cfg->NumRB, prs_cfg->CombSize);
    
     // Pilots generation and modulation
     for (int m = 0; m < (12/prs_cfg->CombSize)*prs_cfg->NumRB; m++) 
@@ -121,7 +121,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
           break;
 
         default:
-          printf("nr=prs channel_estimation: k_prime=%d -> ERROR\n",k_prime);
+          LOG_I("nr=prs channel_estimation: k_prime=%d -> ERROR\n",k_prime);
           return(-1);
           break;
       }
@@ -236,7 +236,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
           break;
 
         default:
-          printf("nr=prs channel_estimation: k_prime=%d -> ERROR\n",k_prime);
+          LOG_I("nr=prs channel_estimation: k_prime=%d -> ERROR\n",k_prime);
           return(-1);
           break;
       }
@@ -307,7 +307,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
     }
     else
     {
-      printf("NR_PRS UE Channel EStimation: CombSize other than 2 and 4 are NOT supported currently! Returning");
+      LOG_I("NR_PRS UE Channel EStimation: CombSize other than 2 and 4 are NOT supported currently! Returning");
       return(0); 
     }
 
@@ -316,7 +316,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
     {
       prs_chest[re_offset]   = ch_intrp[re<<1];
       prs_chest[re_offset+1] = ch_intrp[(re<<1)+1];
-      printf("prs_ch[%d] %d %d\n", re_offset, ch_intrp[re<<1], ch_intrp[(re<<1)+1]);
+      LOG_D("prs_ch[%d] %d %d\n", re_offset, ch_intrp[re<<1], ch_intrp[(re<<1)+1]);
       re_offset = (re_offset+1) % frame_params->ofdm_symbol_size;
     }
     
@@ -357,7 +357,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
       break;
 
     default:
-      printf("unsupported ofdm symbol size \n");
+      LOG_I("unsupported ofdm symbol size \n");
       assert(0);
     }
     
@@ -369,9 +369,9 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
     memcpy((int16_t *)&ue->prs_ch_estimates_time[rxAnt][l*frame_params->ofdm_symbol_size + (frame_params->ofdm_symbol_size>>1)], &ch_time[0], (frame_params->ofdm_symbol_size>>1)*sizeof(int32_t));
   } //for l
   
-  LOG_M("rxSigF.m","rxF",&rxdataF[rxAnt][prs_cfg->SymbolStart*frame_params->ofdm_symbol_size], prs_cfg->NumPRSSymbols*frame_params->ofdm_symbol_size,1,1);
-  LOG_M("prsEstF.m","prs_chest",&ue->prs_ch_estimates[rxAnt][prs_cfg->SymbolStart*frame_params->ofdm_symbol_size], prs_cfg->NumPRSSymbols*frame_params->ofdm_symbol_size,1,1);
-  LOG_M("prsEstT.m","prs_chest_time",&ue->prs_ch_estimates_time[rxAnt][prs_cfg->SymbolStart*frame_params->ofdm_symbol_size], prs_cfg->NumPRSSymbols*frame_params->ofdm_symbol_size,1,1);
+  LOG_M("rxSigF.m","rxF",&rxdataF[rxAnt][0], frame_params->symbols_per_slot*frame_params->ofdm_symbol_size,1,1);
+  LOG_M("prsEstF.m","prs_chestF",&ue->prs_ch_estimates[rxAnt][prs_cfg->SymbolStart*frame_params->ofdm_symbol_size], prs_cfg->NumPRSSymbols*frame_params->ofdm_symbol_size,1,1);
+  LOG_M("prsEstT.m","prs_chestT",&ue->prs_ch_estimates_time[rxAnt][prs_cfg->SymbolStart*frame_params->ofdm_symbol_size], prs_cfg->NumPRSSymbols*frame_params->ofdm_symbol_size,1,1);
   
   T(T_UE_PHY_DL_CHANNEL_ESTIMATE, T_INT(0),
     T_INT(proc->frame_rx), T_INT(proc->nr_slot_rx),
diff --git a/openair1/SCHED_NR/phy_procedures_nr_gNB.c b/openair1/SCHED_NR/phy_procedures_nr_gNB.c
index 68e7c40f02bbcb01654315d60b1c70f340fc57ad..11a19cc189edca6297c27630971292da7e46c037 100644
--- a/openair1/SCHED_NR/phy_procedures_nr_gNB.c
+++ b/openair1/SCHED_NR/phy_procedures_nr_gNB.c
@@ -141,7 +141,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame,int slot,nfapi_nr_
                    ssb_start_symbol,
                    n_hf, frame, cfg, fp);
   
-  LOG_M("txsigF0.m","txsF0", gNB->common_vars.txdataF[0],fp->samples_per_subframe_wCP,1,1);
+  LOG_M("txsigF0.m","txsF0", gNB->common_vars.txdataF[txdataF_offset],fp->samples_per_subframe_wCP,1,1);
 }
 
 
diff --git a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
index 0bee6db8f7a85ff4bceb3d95b4e8be0a2c3664b9..321a7b0d5d816ec12d04ff79acef04487069a709 100644
--- a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+++ b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
@@ -1758,7 +1758,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
     {
             nr_slot_fep(ue,
                         proc,
-                        j,
+                        (j%fp->symbols_per_slot),
                         nr_slot_rx);
     }