Forums

longer FFT v. shorter FFT with interpolation

Started by Gilead May 9, 2007
I need to analyze the magnitude spectra of some data sets.  Every data
vector will have 128 or fewer complex samples.  I window all the data
using a Chebyshev window with a certain level of relative sidelobe
attenuation.  Normally, I zero pad the windowed data and take a 128-pt
FFT.  Now I'm experimenting with longer FFTs (256 and 512) in an
attempt to get a higher resolution look at the spectrum.  I'm
wondering about the benefits of taking a longer FFT versus merely
interpolating between the bins of a shorter FFT.  For example, might
the difference between the results of each method be significant
enough to warrant using the longer FFT (even if it's computationally
expensive)?  Also, if I were to interpolate, what are some good
methods for doing it? Linear?

I'm sure the answer is "It depends on what you're doing."  I'm new to
this and am hoping you guys can get me to thinking about what the
tradeoffs are and what questions I need to be asking myself in order
to decide what to do.  Thanks.

On 10 May, 01:44, Gilead <Gilead.Tisch...@gmail.com> wrote:
> I need to analyze the magnitude spectra of some data sets. Every data > vector will have 128 or fewer complex samples. I window all the data > using a Chebyshev window with a certain level of relative sidelobe > attenuation. Normally, I zero pad the windowed data and take a 128-pt > FFT. Now I'm experimenting with longer FFTs (256 and 512) in an > attempt to get a higher resolution look at the spectrum.
Be very careful about how you use the terms. "Resolution" can mean one of two things: - Be able to separate two sines close together - Be able to pin-point the frequency of one sine By zero-padding you can (some times, depending on noise and a couple of other factors) be able to estimate the frequency of your sinusoidal better than with the raw data. You will, however, not be a ble to separate two sinusoidals in the zero-padded spectrum if they were not separable in the original spectrum.
> I'm > wondering about the benefits of taking a longer FFT versus merely > interpolating between the bins of a shorter FFT. For example, might > the difference between the results of each method be significant > enough to warrant using the longer FFT (even if it's computationally > expensive)? Also, if I were to interpolate, what are some good > methods for doing it? Linear?
Zero padding the data prior to computing the DFT *is* to interpolate the spectrum. Rune
On 10 May 2007 09:26:15 -0700, Rune Allnor <allnor@tele.ntnu.no>
wrote:

>On 10 May, 01:44, Gilead <Gilead.Tisch...@gmail.com> wrote: >> I need to analyze the magnitude spectra of some data sets. Every data >> vector will have 128 or fewer complex samples. I window all the data >> using a Chebyshev window with a certain level of relative sidelobe >> attenuation. Normally, I zero pad the windowed data and take a 128-pt >> FFT. Now I'm experimenting with longer FFTs (256 and 512) in an >> attempt to get a higher resolution look at the spectrum. > >Be very careful about how you use the terms. "Resolution" can mean >one of two things: > >- Be able to separate two sines close together >- Be able to pin-point the frequency of one sine > >By zero-padding you can (some times, depending on noise and >a couple of other factors) be able to estimate the frequency >of your sinusoidal better than with the raw data. You will, >however, not be a ble to separate two sinusoidals in the >zero-padded spectrum if they were not separable in the >original spectrum. > >> I'm >> wondering about the benefits of taking a longer FFT versus merely >> interpolating between the bins of a shorter FFT. For example, might >> the difference between the results of each method be significant >> enough to warrant using the longer FFT (even if it's computationally >> expensive)? Also, if I were to interpolate, what are some good >> methods for doing it? Linear? > >Zero padding the data prior to computing the DFT *is* to interpolate >the spectrum. > >Rune
Hi Rune, those were good answers. [-Rick-]