Calibrating offset for TM1 and introducing LUT interf_unaw_shift_tm1_mcs. LUT valid for mcs<=13,
to be completed in the next commit.
This commit is contained in:
@@ -65,8 +65,10 @@ uint8_t interf_unaw_shift0=0;
|
|||||||
uint8_t interf_unaw_shift1=0;
|
uint8_t interf_unaw_shift1=0;
|
||||||
uint8_t interf_unaw_shift=0;
|
uint8_t interf_unaw_shift=0;
|
||||||
//inferference-free case
|
//inferference-free case
|
||||||
unsigned char interf_unaw_shift_mcs[29]={5, 3, 4, 3, 3, 2, 1, 1, 2, 0, 1, 1, 1, 1, 0, 0,
|
unsigned char interf_unaw_shift_tm4_mcs[29]={5, 3, 4, 3, 3, 2, 1, 1, 2, 0, 1, 1, 1, 1, 0, 0,
|
||||||
1, 1, 1, 1, 0, 2, 1, 0, 1, 0, 1, 0, 0} ;
|
1, 1, 1, 1, 0, 2, 1, 0, 1, 0, 1, 0, 0} ;
|
||||||
|
unsigned char interf_unaw_shift_tm1_mcs[29]={5, 5, 4, 3, 3, 3, 2, 2, 4, 4, 2, 3, 3, 3, 0, 0,
|
||||||
|
1, 1, 1, 1, 0, 2, 1, 0, 1, 0, 1, 0, 0} ; // this is valid only till mcs13
|
||||||
|
|
||||||
/*
|
/*
|
||||||
//original values from sebastion + same hand tuning
|
//original values from sebastion + same hand tuning
|
||||||
@@ -320,7 +322,8 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
|
|||||||
avgs = cmax(avgs,avg[(aatx<<1)+aarx]);
|
avgs = cmax(avgs,avg[(aatx<<1)+aarx]);
|
||||||
// avgs = cmax(avgs,avg[(aarx<<1)+aatx]);
|
// avgs = cmax(avgs,avg[(aarx<<1)+aatx]);
|
||||||
|
|
||||||
lte_ue_pdsch_vars[eNB_id]->log2_maxh = (log2_approx(avgs)/2) + interf_unaw_shift;
|
lte_ue_pdsch_vars[eNB_id]->log2_maxh = (log2_approx(avgs)/2) + interf_unaw_shift_tm1_mcs[dlsch0_harq->mcs];
|
||||||
|
// printf(" TM1 shift = %d\n",interf_unaw_shift_tm1_mcs[dlsch0_harq->mcs]);
|
||||||
// + log2_approx(frame_parms->nb_antennas_tx_eNB-1) //-1 because log2_approx counts the number of bits
|
// + log2_approx(frame_parms->nb_antennas_tx_eNB-1) //-1 because log2_approx counts the number of bits
|
||||||
// + log2_approx(frame_parms->nb_antennas_rx-1);
|
// + log2_approx(frame_parms->nb_antennas_rx-1);
|
||||||
|
|
||||||
@@ -441,10 +444,10 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
// to avoid tails in SNR/BLER curves
|
// to avoid tails in SNR/BLER curves
|
||||||
lte_ue_pdsch_vars[eNB_id]->log2_maxh0 = (log2_approx(avg[0])/2)+interf_unaw_shift_mcs[dlsch0_harq->mcs];
|
lte_ue_pdsch_vars[eNB_id]->log2_maxh0 = (log2_approx(avg[0])/2)+interf_unaw_shift_tm4_mcs[dlsch0_harq->mcs];
|
||||||
//printf("I-UA shift layer1 = %d\n",interf_unaw_shift_mcs[dlsch0_harq->mcs]);
|
//printf("TM4 I-UA shift layer1 = %d\n",interf_unaw_shift_tm4_mcs[dlsch0_harq->mcs]);
|
||||||
lte_ue_pdsch_vars[eNB_id]->log2_maxh1 = (log2_approx(avg[0])/2)+interf_unaw_shift_mcs[dlsch1_harq->mcs];
|
lte_ue_pdsch_vars[eNB_id]->log2_maxh1 = (log2_approx(avg[0])/2)+interf_unaw_shift_tm4_mcs[dlsch1_harq->mcs];
|
||||||
//printf("I-UA shift layer2 = %d\n",interf_unaw_shift_mcs[dlsch1_harq->mcs] );
|
//printf("TM4 I-UA shift layer2 = %d\n",interf_unaw_shift_tm4_mcs[dlsch1_harq->mcs] );
|
||||||
}
|
}
|
||||||
|
|
||||||
dlsch_channel_compensation_TM34(frame_parms,
|
dlsch_channel_compensation_TM34(frame_parms,
|
||||||
|
|||||||
Reference in New Issue
Block a user