Commit 83a045ec authored by Elena_Lukashova's avatar Elena_Lukashova

Condition to compute Rank only for TM3, TM4.

parent e7099336
...@@ -479,7 +479,7 @@ void lte_ue_measurements(PHY_VARS_UE *ue, ...@@ -479,7 +479,7 @@ void lte_ue_measurements(PHY_VARS_UE *ue,
int N_RB_DL = frame_parms->N_RB_DL; int N_RB_DL = frame_parms->N_RB_DL;
int rank_tm4; int rank_tm3_tm4;
ue->measurements.nb_antennas_rx = frame_parms->nb_antennas_rx; ue->measurements.nb_antennas_rx = frame_parms->nb_antennas_rx;
...@@ -551,16 +551,17 @@ void lte_ue_measurements(PHY_VARS_UE *ue, ...@@ -551,16 +551,17 @@ void lte_ue_measurements(PHY_VARS_UE *ue,
} //eNB_id } //eNB_id
if (ue->transmission_mode[eNB_id]==4 || ue->transmission_mode[eNB_id]==3){
rank_tm4 = rank_estimation_tm4(&ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][0][4], rank_tm3_tm4 = rank_estimation_tm3_tm4(&ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][0][4],
&ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][2][4], &ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][2][4],
&ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][1][4], &ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][1][4],
&ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][3][4], &ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id][3][4],
N_RB_DL); N_RB_DL);
#ifdef DEBUG_RANK_EST #ifdef DEBUG_RANK_EST
printf("rank tm4 %d\n", rank_tm4); printf("rank tm3 or tm4 %d\n", rank_tm4);
#endif #endif
}
// filter to remove jitter // filter to remove jitter
if (ue->init_averaging == 0) { if (ue->init_averaging == 0) {
...@@ -829,11 +830,11 @@ void lte_ue_measurements_emul(PHY_VARS_UE *ue,uint8_t subframe,uint8_t eNB_id) ...@@ -829,11 +830,11 @@ void lte_ue_measurements_emul(PHY_VARS_UE *ue,uint8_t subframe,uint8_t eNB_id)
//We write a function that takes complement conjugate of the complex channel estimate ch0 and multiplies it with another complex channel estimate ch1 and stores the result in ch0conj_ch1. //We write a function that takes complement conjugate of the complex channel estimate ch0 and multiplies it with another complex channel estimate ch1 and stores the result in ch0conj_ch1.
uint8_t rank_estimation_tm4(int *dl_ch_estimates_00, // please respect the order of channel estimates uint8_t rank_estimation_tm3_tm4 (int *dl_ch_estimates_00, // please respect the order of channel estimates
int *dl_ch_estimates_01, int *dl_ch_estimates_01,
int *dl_ch_estimates_10, int *dl_ch_estimates_10,
int *dl_ch_estimates_11, int *dl_ch_estimates_11,
unsigned short nb_rb) { unsigned short nb_rb) {
int i=0; int i=0;
int rank=1; int rank=1;
......
...@@ -1185,11 +1185,11 @@ void numer(int32_t *Hh_h_00_sq, ...@@ -1185,11 +1185,11 @@ void numer(int32_t *Hh_h_00_sq,
int32_t *num_fin, int32_t *num_fin,
unsigned short nb_rb); unsigned short nb_rb);
uint8_t rank_estimation_tm4(int *dl_ch_estimates_00, uint8_t rank_estimation_tm3_tm4(int *dl_ch_estimates_00,
int *dl_ch_estimates_01, int *dl_ch_estimates_01,
int *dl_ch_estimates_10, int *dl_ch_estimates_10,
int *dl_ch_estimates_11, int *dl_ch_estimates_11,
unsigned short nb_rb); unsigned short nb_rb);
void dlsch_channel_compensation_TM56(int **rxdataF_ext, void dlsch_channel_compensation_TM56(int **rxdataF_ext,
int **dl_ch_estimates_ext, int **dl_ch_estimates_ext,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment