mirror of
https://github.com/gqrx-sdr/gqrx.git
synced 2024-09-21 02:37:12 +00:00
Merge pull request #1190 from vladisslav2011/fft_window_scaling
rx_fft: normalize fft windows
This commit is contained in:
commit
f04d6a1f5c
@ -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
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user