Commit 4c48d915 authored by Rakesh Mundlamuri's avatar Rakesh Mundlamuri

Fix issues detected using address sanitizer

parent 0b197891
...@@ -588,7 +588,7 @@ int main(int argc, char *argv[]) ...@@ -588,7 +588,7 @@ int main(int argc, char *argv[])
int16_t timing_advance_offset_nsec[n_rx]; int16_t timing_advance_offset_nsec[n_rx];
int srs_est; int srs_est;
c16_t srs_estimated_channel_freq[n_rx][N_ap][ofdm_symbol_size * N_symb_SRS] __attribute__((aligned(32))); c16_t srs_estimated_channel_freq[n_rx][N_ap][ofdm_symbol_size * N_symb_SRS] __attribute__((aligned(32)));
c16_t srs_estimated_channel_time[n_rx][N_ap][ofdm_symbol_size] __attribute__((aligned(32))); c16_t srs_estimated_channel_time[n_rx][N_ap][NR_SRS_IDFT_OVERSAMP_FACTOR * ofdm_symbol_size] __attribute__((aligned(32)));
nr_srs_rx_procedures(gNB, nr_srs_rx_procedures(gNB,
frame, frame,
...@@ -624,6 +624,18 @@ int main(int argc, char *argv[]) ...@@ -624,6 +624,18 @@ int main(int argc, char *argv[])
float SRS_SNR_dB = 10 * log10(sum_srs_snr / n_trials); float SRS_SNR_dB = 10 * log10(sum_srs_snr / n_trials);
printf("Actual SNR : %f, Estimated SNR from SRS %f (dB), TA offset success rate %f %%\n", SNR, SRS_SNR_dB, tao_ns_rate * 100); printf("Actual SNR : %f, Estimated SNR from SRS %f (dB), TA offset success rate %f %%\n", SNR, SRS_SNR_dB, tao_ns_rate * 100);
if (print_perf == 1) {
printf("\ngNB RX\n");
printDistribution(&gNB->rx_srs_stats, table_rx, "RX SRS time");
printStatIndent(&gNB->generate_srs_stats, "Generate SRS sequence time");
printStatIndent(&gNB->get_srs_signal_stats, "Get SRS signal time");
printStatIndent(&gNB->srs_channel_estimation_stats, "SRS channel estimation time");
printStatIndent(&gNB->srs_timing_advance_stats, "SRS timing advance estimation time");
printf("\n");
}
free(table_rx);
int srs_ret = 1; int srs_ret = 1;
if (SNR > 30 && SRS_SNR_dB > 30) { if (SNR > 30 && SRS_SNR_dB > 30) {
srs_ret = 0; srs_ret = 0;
...@@ -638,16 +650,6 @@ int main(int argc, char *argv[]) ...@@ -638,16 +650,6 @@ int main(int argc, char *argv[])
break; break;
} }
if (print_perf == 1) {
printf("\ngNB RX\n");
printDistribution(&gNB->rx_srs_stats, table_rx, "RX SRS time");
printStatIndent(&gNB->generate_srs_stats, "Generate SRS sequence time");
printStatIndent(&gNB->get_srs_signal_stats, "Get SRS signal time");
printStatIndent(&gNB->srs_channel_estimation_stats, "SRS channel estimation time");
printStatIndent(&gNB->srs_timing_advance_stats, "SRS timing advance estimation time");
printf("\n");
}
} // SNR loop } // SNR loop
printf("*************\n"); printf("*************\n");
...@@ -659,33 +661,27 @@ int main(int argc, char *argv[]) ...@@ -659,33 +661,27 @@ int main(int argc, char *argv[])
for (i = 0; i < n_tx; i++) { for (i = 0; i < n_tx; i++) {
free(s_re[i]); free(s_re[i]);
free(s_im[i]); free(s_im[i]);
free(txdata[i]);
free(txdataF[i]);
} }
free(s_re);
free(s_im);
free(txdata);
free(txdataF);
for (i = 0; i < n_rx; i++) { for (i = 0; i < n_rx; i++) {
free(r_re[i]); free(r_re[i]);
free(r_im[i]); free(r_im[i]);
free(rxdata[i]);
free(gNB->common_vars.rxdataF[0][i]);
} }
free(s_re);
free(s_im);
free(r_re); free(r_re);
free(r_im); free(r_im);
for (i = 0; i < n_rx; i++) {
free(rxdata[i]);
}
free(rxdata); free(rxdata);
for (i = 0; i < n_tx; i++) {
free(txdata[i]);
}
free(txdata);
for (i = 0; i < n_tx; i++) {
free(txdataF[i]);
}
free(txdataF);
phy_free_nr_gNB(gNB); phy_free_nr_gNB(gNB);
free_channel_desc_scm(UE2gNB);
free_and_zero(UE->nr_srs_info); free_and_zero(UE->nr_srs_info);
free(gNB->RU_list[0]); free(gNB->RU_list[0]);
free(UE); free(UE);
......
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