Merge pull request #1190 from vladisslav2011/fft_window_scaling

rx_fft: normalize fft windows
This commit is contained in:
Clayton Smith 2023-02-18 13:18:45 -05:00 committed by GitHub
commit f04d6a1f5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View File

@ -6,6 +6,7 @@
FIXED: Remove empty frame from bottom of I/Q tool window.
FIXED: Sudden scrolling of file list in I/Q tool window.
IMPROVED: AGC performance.
IMPROVED: Apply amplitude normalization to FFT window functions.
2.15.9: Released April 9, 2022

View File

@ -204,6 +204,7 @@ unsigned int rx_fft_c::get_fft_size() const
/*! \brief Set new window type. */
void rx_fft_c::set_window_type(int wintype)
{
float tmp;
if (wintype == d_wintype)
{
/* nothing to do */
@ -219,6 +220,8 @@ void rx_fft_c::set_window_type(int wintype)
d_window.clear();
d_window = gr::fft::window::build((gr::fft::window::win_type)d_wintype, d_fftsize, 6.76);
volk_32f_accumulator_s32f(&tmp, d_window.data(), d_fftsize);
volk_32f_s32f_normalize(d_window.data(), tmp / float(d_fftsize), d_fftsize);
}
/*! \brief Get currently used window type. */
@ -391,6 +394,7 @@ unsigned int rx_fft_f::get_fft_size() const
/*! \brief Set new window type. */
void rx_fft_f::set_window_type(int wintype)
{
float tmp;
if (wintype == d_wintype)
{
/* nothing to do */
@ -406,6 +410,8 @@ void rx_fft_f::set_window_type(int wintype)
d_window.clear();
d_window = gr::fft::window::build((gr::fft::window::win_type)d_wintype, d_fftsize, 6.76);
volk_32f_accumulator_s32f(&tmp, d_window.data(), d_fftsize);
volk_32f_s32f_normalize(d_window.data(), tmp / float(d_fftsize), d_fftsize);
}
/*! \brief Get currently used window type. */