@@ -459,7 +483,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
dlsch0_harq->mimo_mode,
nb_rb,
lte_ue_pdsch_vars[eNB_id]->log2_maxh0,
lte_ue_pdsch_vars[eNB_id]->log2_maxh1);
lte_ue_pdsch_vars[eNB_id]->log2_maxh1);
/* if (symbol == 5) {
...
...
@@ -469,11 +493,11 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
write_output("rxF_comp_d11.m","rxF_c_d11",<e_ue_pdsch_vars[eNB_id]->rxdataF_comp1[harq_pid][round][1][symbol*frame_parms->N_RB_DL*12],frame_parms->N_RB_DL*12,1,1);//should be QAM
} */
} */
// compute correlation between signal and interference channels (rho12 and rho21)
dlsch_dual_stream_correlation(frame_parms,// this is doing h11'*h12 and h21'*h22
dlsch_dual_stream_correlation(frame_parms,// this is doing h11'*h12 and h21'*h22
symbol,
nb_rb,
lte_ue_pdsch_vars[eNB_id]->dl_ch_estimates_ext,
...
...
@@ -481,17 +505,17 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
@@ -503,7 +527,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
write_output("rho2_1.m","rho2_1",<e_ue_pdsch_vars[eNB_id]->dl_ch_rho2_ext[1][symbol*frame_parms->N_RB_DL*12],frame_parms->N_RB_DL*12,1,1);//should be QAM
} */
} */
}
else{
...
...
@@ -534,11 +558,11 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
// effective channel of desired user is always stronger than interfering eff. channel
@@ -676,20 +701,20 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
(dlsch0_harq->mimo_mode<=DUALSTREAM_PUSCH_PRECODING))){// TM3 or TM4
if(frame_parms->nb_antennas_tx_eNB==2){
dlsch_detection_mrc_TM34(frame_parms,
dlsch_detection_mrc_TM34(frame_parms,
lte_ue_pdsch_vars[eNB_id],
harq_pid,
harq_pid,
dlsch0_harq->round,
symbol,
nb_rb,
1);
symbol,
nb_rb,
1);
/* if (symbol == 5) {
write_output("rho0_mrc.m","rho0_0",<e_ue_pdsch_vars[eNB_id]->dl_ch_rho_ext[harq_pid][round][0][symbol*frame_parms->N_RB_DL*12],frame_parms->N_RB_DL*12,1,1);// should be QAM
write_output("rho2_mrc.m","rho2_0",<e_ue_pdsch_vars[eNB_id]->dl_ch_rho2_ext[0][symbol*frame_parms->N_RB_DL*12],frame_parms->N_RB_DL*12,1,1);//should be almost 0
} */
} */
}
...
...
@@ -748,7 +773,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
switch(dlsch0_harq->Qm){
case2:
if(rx_type==rx_standard){
if((rx_type==rx_standard)||(codeword_TB0=1)){
dlsch_qpsk_llr(frame_parms,
lte_ue_pdsch_vars[eNB_id]->rxdataF_comp0,
lte_ue_pdsch_vars[eNB_id]->llr[0],
...
...
@@ -824,7 +849,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
}
break;
case4:
if(rx_type==rx_standard){
if((rx_type==rx_standard)||(codeword_TB0=1)){
dlsch_16qam_llr(frame_parms,
lte_ue_pdsch_vars[eNB_id]->rxdataF_comp0,
lte_ue_pdsch_vars[eNB_id]->llr[0],
...
...
@@ -833,7 +858,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,