diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c
index 34c5b0bd2bf798a4892124804577175006db44d8..fb8f73e27641ced2aa14fba4a22f8884f95c056e 100755
--- a/openair1/PHY/INIT/lte_init.c
+++ b/openair1/PHY/INIT/lte_init.c
@@ -1265,7 +1265,11 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
   ue->sinr_CQI_dB = (double*) malloc16_clear( fp->N_RB_DL*12*sizeof(double) );
 
   ue->init_averaging = 1;
-  ue->pdsch_config_dedicated->p_a = dB0; // default value until overwritten by RRCConnectionReconfiguration
+  // default value until overwritten by RRCConnectionReconfiguration
+  if (fp->nb_antenna_ports_eNB==2)
+    ue->pdsch_config_dedicated->p_a = dBm3; 
+  else
+    ue->pdsch_config_dedicated->p_a = dB0; 
 
   // set channel estimation to do linear interpolation in time
   ue->high_speed_flag = 1;
@@ -1552,8 +1556,12 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
 
     for (UE_id=0; UE_id<NUMBER_OF_UE_MAX; UE_id++)
       eNB->UE_stats_ptr[UE_id] = &eNB->UE_stats[UE_id];
-
-    eNB->pdsch_config_dedicated->p_a = dB0; //defaul value until overwritten by RRCConnectionReconfiguration
+    
+    //defaul value until overwritten by RRCConnectionReconfiguration
+    if (fp->nb_antenna_ports_eNB==2)
+      eNB->pdsch_config_dedicated->p_a = dBm3; 
+    else
+      eNB->pdsch_config_dedicated->p_a = dB0; 
 
     init_prach_tables(839);
   } // node_function != NGFI_RRU_IF4p5
diff --git a/openair1/PHY/INIT/lte_param_init.c b/openair1/PHY/INIT/lte_param_init.c
index 4625eba4303eb959494dc28cf34e59eebe42dcf4..f3833b770914737e8b325a2e27bdb9e413a48e3c 100644
--- a/openair1/PHY/INIT/lte_param_init.c
+++ b/openair1/PHY/INIT/lte_param_init.c
@@ -121,9 +121,9 @@ void lte_param_init(unsigned char N_tx_port_eNB,
     UE->pdsch_config_dedicated->p_a  = dB0; // 4 = 0dB
     ((UE->frame_parms).pdsch_config_common).p_b = 0;
   } else { // rho_a = rhob
-    eNB->pdsch_config_dedicated->p_a  = dB0; // 4 = 0dB
+    eNB->pdsch_config_dedicated->p_a  = dBm3; // 4 = 0dB
     ((eNB->frame_parms).pdsch_config_common).p_b = 1;
-    UE->pdsch_config_dedicated->p_a  = dB0; // 4 = 0dB
+    UE->pdsch_config_dedicated->p_a  = dBm3; // 4 = 0dB
     ((UE->frame_parms).pdsch_config_common).p_b = 1;
   }
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
index e89900c2ced76e164f6090042df89e3e0a3435be..3c81085b0e951016431b0e932257d2b0f4677457 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
@@ -814,11 +814,12 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
           ((int16_t*)&tmp_sample2)[1] = (x0[*jj]==1) ? (-gain_lin_QPSK) : gain_lin_QPSK;
           *jj=*jj+1;
 
+	  //gain_lin_QPSK (=amp/sqrt(2)) is already contains the power offset from rho_a/rho_b, so here we do not need divide by sqrt(2) anymore
           // normalization for 2 tx antennas
-          ((int16_t*)&txdataF[0][tti_offset])[0] += (int16_t)((((int16_t*)&tmp_sample1)[0]*ONE_OVER_SQRT2_Q15)>>15);
-          ((int16_t*)&txdataF[0][tti_offset])[1] += (int16_t)((((int16_t*)&tmp_sample1)[1]*ONE_OVER_SQRT2_Q15)>>15);
-          ((int16_t*)&txdataF[1][tti_offset])[0] += (int16_t)((((int16_t*)&tmp_sample2)[0]*ONE_OVER_SQRT2_Q15)>>15);
-          ((int16_t*)&txdataF[1][tti_offset])[1] += (int16_t)((((int16_t*)&tmp_sample2)[1]*ONE_OVER_SQRT2_Q15)>>15);
+          ((int16_t*)&txdataF[0][tti_offset])[0] += (int16_t)((((int16_t*)&tmp_sample1)[0]));
+          ((int16_t*)&txdataF[0][tti_offset])[1] += (int16_t)((((int16_t*)&tmp_sample1)[1]));
+          ((int16_t*)&txdataF[1][tti_offset])[0] += (int16_t)((((int16_t*)&tmp_sample2)[0]));
+          ((int16_t*)&txdataF[1][tti_offset])[1] += (int16_t)((((int16_t*)&tmp_sample2)[1]));
 
         break;
 
@@ -843,11 +844,11 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
             qam16_table_offset_im+=1;
           *jj=*jj+1;
 
-          ((int16_t *)&txdataF[0][tti_offset])[0]+=(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_re])>>15);
-          ((int16_t *)&txdataF[0][tti_offset])[1]+=(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_im])>>15);
-
-    //((int16_t *)&txdataF[0][tti_offset])[0]+=(qam_table_s0[qam16_table_offset_re]*ONE_OVER_SQRT2_Q15)>>15;
-    //((int16_t *)&txdataF[0][tti_offset])[1]+=(qam_table_s0[qam16_table_offset_im]*ONE_OVER_SQRT2_Q15)>>15;
+          //((int16_t *)&txdataF[0][tti_offset])[0]+=(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_re])>>15);
+          //((int16_t *)&txdataF[0][tti_offset])[1]+=(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_im])>>15);
+	  //gain_lin_QPSK (=amp/sqrt(2)) is already contains the power offset from rho_a/rho_b, so here we do not need divide by sqrt(2) anymore
+	  ((int16_t *)&txdataF[0][tti_offset])[0]+=(qam_table_s0[qam16_table_offset_re]);
+	  ((int16_t *)&txdataF[0][tti_offset])[1]+=(qam_table_s0[qam16_table_offset_im]);
 
           // Antenna 1 position n Real part -> -x1*
 
@@ -869,8 +870,11 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
             qam16_table_offset_im+=1;
           *jj=*jj+1;
 
-          ((int16_t *)&txdataF[1][tti_offset])[0]+=-(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_re])>>15);
-          ((int16_t *)&txdataF[1][tti_offset])[1]+=(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_im])>>15);
+          //((int16_t *)&txdataF[1][tti_offset])[0]+=-(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_re])>>15);
+          //((int16_t *)&txdataF[1][tti_offset])[1]+=(int16_t)(((int32_t)amp*qam16_table[qam16_table_offset_im])>>15);
+	  //qam_table_s0 already contains the power offset from rho_a/rho_b, so here we do not need divide by sqrt(2) anymore
+	  ((int16_t *)&txdataF[1][tti_offset])[0]+=-(qam_table_s0[qam16_table_offset_re]);
+	  ((int16_t *)&txdataF[1][tti_offset])[1]+=(qam_table_s0[qam16_table_offset_im]);
 
          //((int16_t *)&txdataF[1][tti_offset])[0]+=-qam_table_s0[qam16_table_offset_re];
          //((int16_t *)&txdataF[1][tti_offset])[1]+=qam_table_s0[qam16_table_offset_im];
@@ -904,8 +908,10 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
 
           //((int16_t *)&txdataF[0][tti_offset])[0]+=(int16_t)(((int32_t)amp*qam64_table[qam64_table_offset_re])>>15);
           //((int16_t *)&txdataF[0][tti_offset])[1]+=(int16_t)(((int32_t)amp*qam64_table[qam64_table_offset_im])>>15);
-          ((int16_t *)&txdataF[0][tti_offset])[0]+=(qam_table_s0[qam64_table_offset_re]*ONE_OVER_SQRT2_Q15)>>15;
-          ((int16_t *)&txdataF[0][tti_offset])[1]+=(qam_table_s0[qam64_table_offset_im]*ONE_OVER_SQRT2_Q15)>>15;
+	  //qam_table_s0 already contains the power offset from rho_a/rho_b, so here we do not need divide by sqrt(2) anymore
+	  ((int16_t *)&txdataF[0][tti_offset])[0]+=(qam_table_s0[qam64_table_offset_re]);
+	  ((int16_t *)&txdataF[0][tti_offset])[1]+=(qam_table_s0[qam64_table_offset_im]);
+
 
           // Antenna 1 => -x1*
           qam64_table_offset_re = 0;
@@ -931,8 +937,10 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
 
           //((int16_t *)&txdataF[1][tti_offset])[0]+=-(int16_t)(((int32_t)amp*qam64_table[qam64_table_offset_re])>>15);
           //((int16_t *)&txdataF[1][tti_offset])[1]+=(int16_t)(((int32_t)amp*qam64_table[qam64_table_offset_im])>>15);
-         ((int16_t *)&txdataF[1][tti_offset])[0]+=-qam_table_s0[qam64_table_offset_re];
-         ((int16_t *)&txdataF[1][tti_offset])[1]+=qam_table_s0[qam64_table_offset_im];
+	  //qam_table_s0 already contains the power offset from rho_a/rho_b, so here we do not need divide by sqrt(2) anymore
+	  ((int16_t *)&txdataF[1][tti_offset])[0]+=-(qam_table_s0[qam64_table_offset_re]);
+	  ((int16_t *)&txdataF[1][tti_offset])[1]+=(qam_table_s0[qam64_table_offset_im]);
+
 
           break;
         }
diff --git a/openair1/PHY/LTE_TRANSPORT/power_control.c b/openair1/PHY/LTE_TRANSPORT/power_control.c
index d82b17a24777f84d981702767907ed19b1d90494..b3e4b132f6413d6d10524b20dd8cbcca76a2beb4 100644
--- a/openair1/PHY/LTE_TRANSPORT/power_control.c
+++ b/openair1/PHY/LTE_TRANSPORT/power_control.c
@@ -35,7 +35,10 @@ double pa_values[8]={-6.0,-4.77,-3.0,-1.77,0.0,1.0,2.0,3.0}; //reported by highe
 
 double get_pa_dB(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated)
 {
-  return(pa_values[pdsch_config_dedicated->p_a]);
+  if (pdsch_config_dedicated)
+    return(pa_values[ pdsch_config_dedicated->p_a]);
+  else
+    return(0.0);
 }
 
 double computeRhoA_eNB(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated,
@@ -43,7 +46,7 @@ double computeRhoA_eNB(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated,
   double rho_a_dB;
   double sqrt_rho_a_lin;
 
-  rho_a_dB = pa_values[ pdsch_config_dedicated->p_a];
+  rho_a_dB = get_pa_dB(pdsch_config_dedicated);
 
   if(!dl_power_off) //if dl_power_offset is 0, this is for MU-interference, TM5
     rho_a_dB-=10*log10(2);
@@ -99,7 +102,7 @@ double computeRhoA_UE(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated,
   double rho_a_dB;
   double sqrt_rho_a_lin;
 
-  rho_a_dB = pa_values[ pdsch_config_dedicated->p_a];
+  rho_a_dB = get_pa_dB(pdsch_config_dedicated);
 
   if(!dl_power_off)
     rho_a_dB-=10*log10(2);
diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index 85c0956866e20886ab357112f4f87c9c7bde2653..9f6215c3f2dc380ee03ce9e5a057688742d6fd5b 100644
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -686,7 +686,7 @@ void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
 				       dci_alloc->format,
 				       &eNB->dlsch_SI,
 				       fp,
-				       eNB->pdsch_config_dedicated,
+				       NULL,
 				       SI_RNTI,
 				       0,
 				       P_RNTI,
@@ -720,7 +720,7 @@ void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
 				       dci_alloc->format,
 				       &eNB->dlsch_ra,
 				       fp,
-				       eNB->pdsch_config_dedicated,
+				       NULL,
 				       SI_RNTI,
 				       dci_alloc->rnti,
 				       P_RNTI,
@@ -770,7 +770,7 @@ void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
 					 dci_alloc->format,
 					 eNB->dlsch[(uint8_t)UE_id],
 					 fp,
-					 eNB->pdsch_config_dedicated,
+					 &eNB->pdsch_config_dedicated[UE_id],
 					 SI_RNTI,
 					 0,
 					 P_RNTI,
@@ -1486,7 +1486,13 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
 			 0);
     }
 
-
+  /*
+  if (frame>=10 && subframe>=9) {
+    write_output("/tmp/txsigF0.m","txsF0", &eNB->common_vars.txdataF[0][0][0],120*eNB->frame_parms.ofdm_symbol_size,1,1);
+    write_output("/tmp/txsigF1.m","txsF1", &eNB->common_vars.txdataF[0][0][0],120*eNB->frame_parms.ofdm_symbol_size,1,1);
+    abort();
+  }
+  */
 
 #ifdef EMOS
   phy_procedures_emos_eNB_TX(subframe, eNB);
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index 5f9a8e0e2a735284cf8b0616ef4f512429a71405..5840006a37ebf6d5772d05efc24fe25b6981d28d 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -1505,7 +1505,10 @@ do_RRCConnectionSetup(
   // PDSCH
   //assign_enum(&physicalConfigDedicated2->pdsch_ConfigDedicated->p_a,
   //        PDSCH_ConfigDedicated__p_a_dB0);
-  physicalConfigDedicated2->pdsch_ConfigDedicated->p_a=   PDSCH_ConfigDedicated__p_a_dB0;
+  if (frame_parms->nb_antenna_ports_eNB==2)
+    physicalConfigDedicated2->pdsch_ConfigDedicated->p_a=   PDSCH_ConfigDedicated__p_a_dB_3;
+  else
+    physicalConfigDedicated2->pdsch_ConfigDedicated->p_a=   PDSCH_ConfigDedicated__p_a_dB0;
 
   // PUCCH
   physicalConfigDedicated2->pucch_ConfigDedicated->ackNackRepetition.present=PUCCH_ConfigDedicated__ackNackRepetition_PR_release;
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
index 5ef5a4f50b6e653a75f1c817cc6eeba3804d9d97..b70a9122ff0d5c6d8cc92ee3fc2085b31a91372b 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
@@ -68,9 +68,9 @@ eNBs =
         srs_ackNackST                                      =;
         srs_MaxUpPts                                       =;*/
 
-        pusch_p0_Nominal                                   = -90;
+        pusch_p0_Nominal                                   = -100;
         pusch_alpha                                        = "AL1";
-        pucch_p0_Nominal                                   = -96;
+        pucch_p0_Nominal                                   = -106;
         msg3_delta_Preamble                                = 6;
         pucch_deltaF_Format1                               = "deltaF2";
         pucch_deltaF_Format1b                              = "deltaF3";
@@ -148,9 +148,9 @@ eNBs =
     {
 
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth1";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.147/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.212/24";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth1";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.147/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.212/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
 
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
index dbd2220cbc22686850f5edb525766842c30fd919..4a89eb86e453ae16b9539d7aa4c130597b2b5a6c 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
@@ -31,7 +31,7 @@ eNBs =
                            tdd_config_s            			      = 0;
  			   prefix_type             			      = "NORMAL";
   			   eutra_band              			      = 7;
-                           downlink_frequency      			      = 2680000000L;
+                           downlink_frequency      			      = 2660000000L;
                            uplink_frequency_offset 			      = -120000000;
   			   Nid_cell					      = 0;
                            N_RB_DL                 			      = 25;
@@ -51,7 +51,7 @@ eNBs =
                            pucch_nCS_AN            			      = 0;
                            pucch_n1_AN             			      = 32;
                            pdsch_referenceSignalPower 			      = -24;
-                           pdsch_p_b                  			      = 0;
+                           pdsch_p_b                  			      = 1;
                            pusch_n_SB                 			      = 1; 
                            pusch_enable64QAM          			      = "DISABLE";
 			   pusch_hoppingMode                                  = "interSubFrame";
@@ -68,9 +68,9 @@ eNBs =
 	                   srs_ackNackST                                      =;
 	                   srs_MaxUpPts                                       =;*/  
 
-	                   pusch_p0_Nominal                                   = -90; 
+	                   pusch_p0_Nominal                                   = -100; 
 	                   pusch_alpha                                        = "AL1";
-	                   pucch_p0_Nominal                                   = -96;
+	                   pucch_p0_Nominal                                   = -106;
 	                   msg3_delta_Preamble                                = 6;
 	                   pucch_deltaF_Format1                               = "deltaF2";
 	                   pucch_deltaF_Format1b                              = "deltaF3";
@@ -138,7 +138,7 @@ eNBs =
     };
     
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.171";
+    mme_ip_address      = ( { ipv4       = "192.168.12.70";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -148,10 +148,10 @@ eNBs =
     NETWORK_INTERFACES : 
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.150/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.212/24";
 
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.150/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.212/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };