help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do YOU handle this disparity in fft?


From: Macy
Subject: Re: How do YOU handle this disparity in fft?
Date: Sun, 16 Feb 2014 08:16:40 -0800

Thank you for your response. 

I tried BOTH of your examples and the first one fits the built-in Hanning 
window.

However, I plotted the difference betyween your two and did not see what you 
describe. The diff went to zero at both ends making the function periodic (?) 
with the difference only being a higher harmonic.

Would you elaborate on what you meant?





--- address@hidden wrote:

From: Brian Kaczynski <address@hidden>
To: Macy <address@hidden>
Cc: octave <address@hidden>
Subject: Re: How do YOU handle this disparity in fft?
Date: Sat, 15 Feb 2014 16:19:25 +0100

As an ADC designer, I recommend a slight modification to the Hanning
window.  It even works well for sigma-delta ADC sequences.

The standard Hanning window is:
w[n] = 0.5*(1-cos(2*pi*n/(N-1)));
where 0 <= n <= N-1

The problem is that this window is not periodic with a period of N so you
get smearing among the frequency bins.  I recommend this window:
w[n] = 0.5*(1-cos(2*pi*(n+0.5)/N));
where 0 <= n <= N-1

This window works much better when you have to resolve a deep null in the
noise spectrum of a signal (as with a sigma-delta ADC output).

I don't think it's possible to identify a single "best" FFT window for all
applications; rather, it's important to know about various windows and what
their weaknesses and strengths are to identify the best window for a given
application.

Generally I don't worry about the signal scaling after the window, since
I'm only interested in relative magnitudes.  It's a good idea to include a
signal of a known size in your time-domain vector so that you can use its
FFT magnitude to "calibrate" the rest of the FFT.

-Brian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]