Scan build: Result of operation is garbage or undefined
This commit is contained in:
@@ -634,10 +634,21 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB,
|
||||
|
||||
c16_t srs_ls_estimated_channel[frame_parms->ofdm_symbol_size*(1<<srs_pdu->num_symbols)];
|
||||
uint32_t noise_power_per_rb[srs_pdu->bwp_size];
|
||||
int16_t ch_real[frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS];
|
||||
int16_t ch_imag[frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS];
|
||||
int16_t noise_real[frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS];
|
||||
int16_t noise_imag[frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS];
|
||||
|
||||
const uint32_t arr_len = frame_parms->nb_antennas_rx * N_ap * M_sc_b_SRS;
|
||||
|
||||
int16_t ch_real[arr_len];
|
||||
memset(ch_real, 0, arr_len * sizeof(int16_t));
|
||||
|
||||
int16_t ch_imag[arr_len];
|
||||
memset(ch_imag, 0, arr_len * sizeof(int16_t));
|
||||
|
||||
int16_t noise_real[arr_len];
|
||||
memset(noise_real, 0, arr_len * sizeof(int16_t));
|
||||
|
||||
int16_t noise_imag[arr_len];
|
||||
memset(noise_imag, 0, arr_len * sizeof(int16_t));
|
||||
|
||||
int16_t ls_estimated[2];
|
||||
|
||||
uint8_t mem_offset = ((16 - ((long)&srs_estimated_channel_freq[0][0][subcarrier_offset + nr_srs_info->k_0_p[0][0]])) & 0xF) >> 2; // >> 2 <=> /sizeof(int32_t)
|
||||
@@ -836,8 +847,7 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB,
|
||||
} // for (int ant = 0; ant < frame_parms->nb_antennas_rx; ant++)
|
||||
|
||||
// Compute signal power
|
||||
uint32_t signal_power = calc_power(ch_real,frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS)
|
||||
+ calc_power(ch_imag,frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS);
|
||||
uint32_t signal_power = calc_power(ch_real, arr_len) + calc_power(ch_imag, arr_len);
|
||||
|
||||
#ifdef SRS_DEBUG
|
||||
LOG_I(NR_PHY,"signal_power = %u\n", signal_power);
|
||||
@@ -890,8 +900,7 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB,
|
||||
|
||||
} // for (int rb = 0; rb < m_SRS_b; rb++)
|
||||
|
||||
uint32_t noise_power = max(calc_power(noise_real,frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS)
|
||||
+ calc_power(noise_imag,frame_parms->nb_antennas_rx*N_ap*M_sc_b_SRS), 1);
|
||||
const uint32_t noise_power = max(calc_power(noise_real, arr_len) + calc_power(noise_imag, arr_len), 1);
|
||||
|
||||
*snr = dB_fixed((int32_t)((signal_power<<factor_bits)/(noise_power))) - factor_dB;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user