Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change the default FFT window #291

Open
towsey opened this issue Feb 17, 2020 · 3 comments
Open

Change the default FFT window #291

towsey opened this issue Feb 17, 2020 · 3 comments
Assignees

Comments

@towsey
Copy link
Contributor

towsey commented Feb 17, 2020

Currently the default FFT window is the Hamming window.
This default is set in the class SpectrogramSettings at line 29:
public string WindowFunction { get; set; } = WindowFunctions.HAMMING.ToString();

Recent experience indicates that this window is not as good as the Hanning window.
The default should be change d to Hanning. However, because the FFT window is used early in the signal processing sequence, this change may cause multiple tests to fail.

@atruskie
Copy link
Member

Can you show the effect of the different window function please? Add a couple of pictures into the response.
I believe you said resampling in combination with hamming causes side band effects?

We'll go ahead with this change but after .Net Core branch is merged in

@towsey
Copy link
Contributor Author

towsey commented Feb 19, 2020

Here is an example of the Hamming window with detection of Plains Wanderer calls.
PlainsWanderer_S4A05034_20171117_190702__Hamming

Here is an example of the Hann
PlainsWanderer_S4A05034_20171117_190702__Hanning
ing window with detection of Plains Wanderer calls.

The Hanning window offers a cleaner spectrogram and therefore better detection of Plains Wanderer whistles.

@towsey
Copy link
Contributor Author

towsey commented Feb 20, 2020

I have run both Hanning and Hamming windows on a frequently used test recording from Hendra Brisbane and can see no difference between the resulting spectrograms. So it would appear that the major difference arises only for recordings that have been resampled either up or down. Due to the significant difference in the resampled situation, I therefore propose that we switch to HANNING window as default. This may or may not result in a number of breaking unit tests depending on how many use a resampled signal.

towsey added a commit that referenced this issue Jul 30, 2020
Issue #291 Have set the default FFT window to Hanning for calculation of all summary and spectral indices.
However left the Test methods using HAMMING window so do not have to make changes to the output.
towsey added a commit that referenced this issue Aug 14, 2020
Issue #291 Change from Hamming to Hanning window casuses significant differences in dB values - more than be adjusted for by chaning test sensitivity.
towsey added a commit that referenced this issue Aug 14, 2020
towsey added a commit that referenced this issue Aug 14, 2020
towsey added a commit that referenced this issue Aug 14, 2020
atruskie pushed a commit that referenced this issue Aug 17, 2020
Issue #291 Have set the default FFT window to Hanning for calculation of all summary and spectral indices.
However left the Test methods using HAMMING window so do not have to make changes to the output.
atruskie pushed a commit that referenced this issue Aug 17, 2020
Issue #291 Change from Hamming to Hanning window casuses significant differences in dB values - more than be adjusted for by chaning test sensitivity.
atruskie pushed a commit that referenced this issue Aug 17, 2020
atruskie pushed a commit that referenced this issue Aug 17, 2020
atruskie pushed a commit that referenced this issue Aug 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants