fixes issue 40
This commit is contained in:
@@ -303,8 +303,8 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
10*log10(rx_pwr*(double)frame_parms->N_RB_DL*12),next_slot,next_slot>>1);
|
||||
LOG_D(OCM,"[SIM][DL] UE %d : rx_pwr (noise) -132 dBm/RE (N0fs = %.1f dBm, N0B = %.1f dBm) for slot %d (subframe %d)\n",
|
||||
UE_id,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->BW*1e6)-174,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->BW*1e6*12*frame_parms->N_RB_DL/(double)frame_parms->ofdm_symbol_size)-174,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate*1e6)-174,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate*1e6*12*frame_parms->N_RB_DL/(double)frame_parms->ofdm_symbol_size)-174,
|
||||
next_slot,next_slot>>1);
|
||||
#endif
|
||||
|
||||
@@ -342,7 +342,7 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
r_im0,
|
||||
nb_antennas_rx,
|
||||
frame_parms->samples_per_tti>>1,
|
||||
1e3/eNB2UE[eNB_id][UE_id][CC_id]->BW, // sampling time (ns)
|
||||
1e3/eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate, // sampling time (ns)
|
||||
(double)PHY_vars_UE_g[UE_id][CC_id]->rx_total_gain_dB - 66.227); // rx_gain (dB) (66.227 = 20*log10(pow2(11)) = gain from the adc that will be applied later)
|
||||
|
||||
#ifdef DEBUG_SIM
|
||||
@@ -584,7 +584,7 @@ void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double
|
||||
r_im,
|
||||
nb_antennas_rx,
|
||||
frame_parms->samples_per_tti>>1,
|
||||
1e3/UE2eNB[0][eNB_id][CC_id]->BW, // sampling time (ns)
|
||||
1e3/UE2eNB[0][eNB_id][CC_id]->sampling_rate, // sampling time (ns)
|
||||
(double)PHY_vars_eNB_g[eNB_id][CC_id]->rx_total_gain_eNB_dB - 66.227); // rx_gain (dB) (66.227 = 20*log10(pow2(11)) = gain from the adc that will be applied later)
|
||||
|
||||
#ifdef DEBUG_SIM
|
||||
|
||||
@@ -1122,24 +1122,28 @@ void init_ocm(void)
|
||||
else
|
||||
*/
|
||||
|
||||
eNB2UE[eNB_id][UE_id][CC_id] = new_channel_desc_scm(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
oai_emulation.environment_system_config.system_bandwidth_MB,
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
eNB2UE[eNB_id][UE_id][CC_id] =
|
||||
new_channel_desc_scm(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL),
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
random_channel(eNB2UE[eNB_id][UE_id][CC_id],abstraction_flag);
|
||||
LOG_D(OCM,"[SIM] Initializing channel (%s, %d) from UE %d to eNB %d\n", oai_emulation.environment_system_config.fading.small_scale.selected_option,
|
||||
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),UE_id, eNB_id);
|
||||
|
||||
UE2eNB[UE_id][eNB_id][CC_id] = new_channel_desc_scm(PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
oai_emulation.environment_system_config.system_bandwidth_MB,
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
UE2eNB[UE_id][eNB_id][CC_id] =
|
||||
new_channel_desc_scm(PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL),
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
|
||||
random_channel(UE2eNB[UE_id][eNB_id][CC_id],abstraction_flag);
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ void init_snr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *ue_dat
|
||||
uint8_t qq;
|
||||
|
||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->BW*1e6); //value in dBm
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->sampling_rate*1e6); //value in dBm
|
||||
|
||||
//for (aarx=0; aarx<eNB2UE->nb_rx; aarx++)
|
||||
*N0 = thermal_noise + ue_data->rx_noise_level;//? all the element have the same noise level?????
|
||||
@@ -496,7 +496,7 @@ void init_snr_up(channel_desc_t* UE2eNB, node_desc_t *enb_data, node_desc_t *ue_
|
||||
|
||||
// nb_rb = phy_vars_eNB->ulsch_eNB[UE_id]->harq_processes[harq_pid]->nb_rb;
|
||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
||||
thermal_noise = -174 + 10*log10(UE2eNB->BW*1e6); //value in dBm
|
||||
thermal_noise = -174 + 10*log10(UE2eNB->sampling_rate*1e6); //value in dBm
|
||||
*N0 = thermal_noise + enb_data->rx_noise_level;//? all the element have the same noise level?????
|
||||
double lambda ;
|
||||
double residual;
|
||||
@@ -557,7 +557,7 @@ void calculate_sinr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *
|
||||
short count;
|
||||
|
||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->BW*1e6); //value in dBm
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->sampling_rate*1e6); //value in dBm
|
||||
|
||||
for (count = 0; count < 12 * nb_rb; count++) {
|
||||
sir = enb_data->tx_power_dBm
|
||||
|
||||
Reference in New Issue
Block a user