diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c index 3c81085b0e951016431b0e932257d2b0f4677457..cbba8b39f128e2fce036f1400ec893a5e938b413 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c @@ -585,8 +585,8 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB, int first_layer0; //= dlsch0_harq->first_layer; int Nlayers0; // = dlsch0_harq->Nlayers; - uint8_t mod_order0; // = get_Qm(dlsch0_harq->mcs); - uint8_t mod_order1; //=2; + uint8_t mod_order0=0; // = get_Qm(dlsch0_harq->mcs); + uint8_t mod_order1=0; //=2; uint8_t precoder_index0,precoder_index1; uint8_t *x1=NULL; @@ -2402,17 +2402,12 @@ int dlsch_modulation_SIC(int32_t **sic_buffer, LTE_DL_FRAME_PARMS *frame_parms, uint8_t num_pdcch_symbols, LTE_eNB_DLSCH_t *dlsch0, - LTE_eNB_DLSCH_t *dlsch1, int G) { - uint8_t nsymb; uint8_t harq_pid = dlsch0->current_harq_pid; LTE_DL_eNB_HARQ_t *dlsch0_harq = dlsch0->harq_processes[harq_pid]; - LTE_DL_eNB_HARQ_t *dlsch1_harq; //= dlsch1->harq_processes[harq_pid]; uint32_t i,jj,re_allocated=0; - uint16_t l,rb,re_offset, amp; - uint32_t *rb_alloc = dlsch0_harq->rb_alloc; uint8_t mod_order0 = get_Qm(dlsch0_harq->mcs); uint8_t *x0 = dlsch0_harq->e; uint8_t qam64_table_offset_re = 0; @@ -2439,8 +2434,6 @@ int dlsch_modulation_SIC(int32_t **sic_buffer, switch (mod_order0) { case 2: //QPSK - /* TODO: handle more than 1 antenna */ - //printf("%d(%d) : %d,%d => ",tti_offset,*jj,((int16_t*)&txdataF[0][tti_offset])[0],((int16_t*)&txdataF[0][tti_offset])[1]); ((int16_t*)&sic_buffer[0][i])[0] = (x0[jj]==1) ? (-gain_lin_QPSK) : gain_lin_QPSK; //I //b_i diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index 2dbe592377eac8787e18ef4f02571ee5c2af86c9..23ce81a3566cd894c5cf0dd0de2cad2e70f57e38 100644 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -299,7 +299,6 @@ int32_t dlsch_modulation_SIC(int32_t **sic_buffer, LTE_DL_FRAME_PARMS *frame_parms, uint8_t num_pdcch_symbols, LTE_eNB_DLSCH_t *dlsch0, - LTE_eNB_DLSCH_t *dlsch1, int G); /* \brief This function is the top-level routine for generation of the sub-frame signal (frequency-domain) for MCH. diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c index b8aeae21236a59aefcd9997c9cf83a3d1717e579..0f422cfac144953c7145c65661d84744766b048b 100644 --- a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c +++ b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c @@ -193,7 +193,7 @@ int main(int argc, char **argv) unsigned int coded_bits_per_codeword[2],nsymb,dci_cnt,tbs[2]; unsigned int tx_lev=0, tx_lev_dB=0, round=0, trials, errs[2][4]={{0,0,0,0},{0,0,0,0}}, round_trials[2][4]={{0,0,0,0},{0,0,0,0}}, decoded_in_sic[4]={0,0,0,0}, sic_attempt[4]={0,0,0,0}, round_sic=0; - unsigned int dci_errors=0, dlsch_active=0, num_layers; + unsigned int dci_errors=0, dlsch_active=0; unsigned int resend_one[4]={0,0,0,0}, resend_both[4]={0,0,0,0}, TB0_deact[4]={0,0,0,0}, TB1_deact[4]={0,0,0,0}; int re_allocated; @@ -4094,16 +4094,17 @@ int main(int argc, char **argv) &UE->frame_parms, num_pdcch_symbols, &UE->dlsch_eNB[0][0], - NULL, coded_bits_per_codeword[0]); // write_output("sic_buffer.m","sic", *sic_buffer,re_allocated,1,1); // write_output("rxdataF_comp1.m","rxF_comp1", *UE->pdsch_vars[eNB_id]->rxdataF_comp1[UE->dlsch[0][0]->current_harq_pid][round],14*12*25,1,1); // write_output("rxdataF_rho.m","rho", *UE->pdsch_vars[eNB_id]->dl_ch_rho_ext[UE->dlsch[0][0]->current_harq_pid][round],14*12*25,1,1); + switch (get_Qm(eNB->dlsch[0][1]->harq_processes[0]->mcs)){ + case 2: dlsch_qpsk_llr_SIC(&UE->frame_parms,