Small changes in precoder to max MI 1stream
This commit is contained in:
@@ -639,7 +639,7 @@ void lte_ue_measurements(PHY_VARS_UE *phy_vars_ue,
|
|||||||
pmi128_im = _mm_add_epi32(pmi128_im,mmtmpPMI1);
|
pmi128_im = _mm_add_epi32(pmi128_im,mmtmpPMI1);
|
||||||
// print_ints(" pmi128_im 0 ",&pmi128_im);
|
// print_ints(" pmi128_im 0 ",&pmi128_im);
|
||||||
|
|
||||||
mmtmpPMI0 = _mm_xor_si128(mmtmpPMI0,mmtmpPMI0);
|
/* mmtmpPMI0 = _mm_xor_si128(mmtmpPMI0,mmtmpPMI0);
|
||||||
mmtmpPMI1 = _mm_xor_si128(mmtmpPMI1,mmtmpPMI1);
|
mmtmpPMI1 = _mm_xor_si128(mmtmpPMI1,mmtmpPMI1);
|
||||||
|
|
||||||
mmtmpPMI0 = _mm_madd_epi16(dl_ch0_128[1],dl_ch1_128[1]);
|
mmtmpPMI0 = _mm_madd_epi16(dl_ch0_128[1],dl_ch1_128[1]);
|
||||||
@@ -656,7 +656,7 @@ void lte_ue_measurements(PHY_VARS_UE *phy_vars_ue,
|
|||||||
pmi128_re = _mm_add_epi32(pmi128_re,mmtmpPMI0);
|
pmi128_re = _mm_add_epi32(pmi128_re,mmtmpPMI0);
|
||||||
// print_ints(" pmi128_re 1",&pmi128_re);
|
// print_ints(" pmi128_re 1",&pmi128_re);
|
||||||
pmi128_im = _mm_add_epi32(pmi128_im,mmtmpPMI1);
|
pmi128_im = _mm_add_epi32(pmi128_im,mmtmpPMI1);
|
||||||
//print_ints(" pmi128_im 1 ",&pmi128_im);
|
//print_ints(" pmi128_im 1 ",&pmi128_im);*/
|
||||||
|
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
|
|
||||||
|
|||||||
@@ -5881,7 +5881,7 @@ uint16_t quantize_subband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,int nb_rb)
|
|||||||
pmi_im += meas->subband_pmi_im[eNB_id][i][aarx];
|
pmi_im += meas->subband_pmi_im[eNB_id][i][aarx];
|
||||||
//printf("meas->subband_pmi_im[eNB_id][i][%d]=%d\n",aarx, meas->subband_pmi_im[eNB_id][i][aarx]);
|
//printf("meas->subband_pmi_im[eNB_id][i][%d]=%d\n",aarx, meas->subband_pmi_im[eNB_id][i][aarx]);
|
||||||
}
|
}
|
||||||
if (((pmi_re >= pmi_im) && (pmi_re >= -pmi_im)) || ((pmi_re < pmi_im) && (pmi_re < -pmi_im)))
|
if (((pmi_re >= pmi_im) && (pmi_re >= -pmi_im)) || ((pmi_re >= pmi_im) && (pmi_re <= -pmi_im)))
|
||||||
pmiq = PMI_2A_R1_11;
|
pmiq = PMI_2A_R1_11;
|
||||||
else
|
else
|
||||||
pmiq = PMI_2A_R1_1j;
|
pmiq = PMI_2A_R1_1j;
|
||||||
|
|||||||
@@ -790,14 +790,14 @@ int main(int argc, char **argv)
|
|||||||
sprintf(bler_fname,"bler_tx%d_rec%d_chan%d_nrx%d_mcs%d_mcsi%d_u%d_imod%d.csv",transmission_mode,rx_type,channel_model,n_rx,mcs1,mcs_i,rx_type,i_mod);
|
sprintf(bler_fname,"bler_tx%d_rec%d_chan%d_nrx%d_mcs%d_mcsi%d_u%d_imod%d.csv",transmission_mode,rx_type,channel_model,n_rx,mcs1,mcs_i,rx_type,i_mod);
|
||||||
else if (abstx == 1)
|
else if (abstx == 1)
|
||||||
if (perfect_ce==1)
|
if (perfect_ce==1)
|
||||||
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_ab_pce_sh%d_sumnormdif.csv",transmission_mode,rx_type,channel_model,n_frames, n_rx,mcs1, mcs2,interf_unaw_shift );
|
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_ab_pce_sh%d_sumnormdifprec.csv",transmission_mode,rx_type,channel_model,n_frames, n_rx,mcs1, mcs2,interf_unaw_shift );
|
||||||
else
|
else
|
||||||
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_ab_sh%d_d2_sumnormdif.csv",transmission_mode,rx_type,channel_model, n_frames, n_rx,mcs1, mcs2,interf_unaw_shift );
|
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_ab_sh%d_d2_sumnormdifprec.csv",transmission_mode,rx_type,channel_model, n_frames, n_rx,mcs1, mcs2,interf_unaw_shift );
|
||||||
else //abstx=0
|
else //abstx=0
|
||||||
if (perfect_ce==1)
|
if (perfect_ce==1)
|
||||||
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_pce_sh%d_d2_sumnormdif.csv",transmission_mode,rx_type,channel_model,n_frames, n_rx,mcs1, mcs2, interf_unaw_shift);
|
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_pce_sh%d_d2_sumnormdifprec.csv",transmission_mode,rx_type,channel_model,n_frames, n_rx,mcs1, mcs2, interf_unaw_shift);
|
||||||
else
|
else
|
||||||
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_sh%d_d2_sumnormdif.csv",transmission_mode,rx_type,channel_model,n_frames,n_rx,mcs1, mcs2, interf_unaw_shift);
|
sprintf(bler_fname,"bler_tx%d_r%d_ch%d_%d_nrx%d_mcs%d_mcsi%d_sh%d_d2_sumnormdifprec.csv",transmission_mode,rx_type,channel_model,n_frames,n_rx,mcs1, mcs2, interf_unaw_shift);
|
||||||
|
|
||||||
bler_fd = fopen(bler_fname,"w");
|
bler_fd = fopen(bler_fname,"w");
|
||||||
if (bler_fd==NULL) {
|
if (bler_fd==NULL) {
|
||||||
@@ -833,9 +833,9 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
else
|
else
|
||||||
if (perfect_ce==1)
|
if (perfect_ce==1)
|
||||||
sprintf(csv_fname,"dout_tx%d_r%d_mcs%d_mcsi%d_ch%d_ns%d_R%d_pce_sh%d_d2_%d_sumnormdif_ms.m",transmission_mode,rx_type,mcs1,mcs2,channel_model,n_frames,num_rounds, interf_unaw_shift, n_ch_rlz);
|
sprintf(csv_fname,"dout_tx%d_r%d_mcs%d_mcsi%d_ch%d_ns%d_R%d_pce_sh%d_d2_%d_sumnormdifprec.m",transmission_mode,rx_type,mcs1,mcs2,channel_model,n_frames,num_rounds, interf_unaw_shift, n_ch_rlz);
|
||||||
else
|
else
|
||||||
sprintf(csv_fname,"dout_tx%d_r%d_mcs%d_mcsi%d_ch%d_ns%d_R%d_sh%d_d2_%d_sumnormdif_ms.m",transmission_mode,rx_type,mcs1,mcs2,channel_model,n_frames,num_rounds, interf_unaw_shift, n_ch_rlz);
|
sprintf(csv_fname,"dout_tx%d_r%d_mcs%d_mcsi%d_ch%d_ns%d_R%d_sh%d_d2_%d_sumnormdifprec.m",transmission_mode,rx_type,mcs1,mcs2,channel_model,n_frames,num_rounds, interf_unaw_shift, n_ch_rlz);
|
||||||
|
|
||||||
csv_fd = fopen(csv_fname,"w");
|
csv_fd = fopen(csv_fname,"w");
|
||||||
fprintf(csv_fd,"data_all%d=[",mcs1);
|
fprintf(csv_fd,"data_all%d=[",mcs1);
|
||||||
|
|||||||
Reference in New Issue
Block a user