opto1k@jetson.uh.edu (A JETSON News User) (01/09/91)
Hello, I have a question about frequency bins from discrete FFT. Please respond by email. From what I understand, bin k corresponds to frequency f(k) = (k * SR)/N (Hz), where k = 0, 1, ..., N/2, and SR is the sampling rate in Hz; N is the sample size So, given a sample of 512 points sampled at 1024 Hz, the frequency bins are 0, 2, 4, 6, 8, 10, ..., 512 Hz. Now, if I pad 512 zeros to the end of the data points, I have 1024 samples sampled at 1024 Hz, and the frequency bins will be 0, 1, 2, 3, ... 512 Hz. This seems to increase the DFFT frequency resolution. But I remember I read from a text book somewhere that says it isn't so (I forget which book that is); the padding is just a way of interpolation. Is it true? If the padding is just an interpolation, is it acceptable to use the values to calculate the amplitudes of the harmonics (not PSD) at 1 Hz, 3 Hz, etc.? If it is not acceptable mathematically, is there a way to find what I want at those frequencies? No, this is not a class homework. I have large amount of data from an experiement which cannot be redone. Any help would be appreciated. Thanks in advance. ___ Tong Ho University of Houston College of Optometry Email: opto1k@jetson.uh.edu
bobc@hplsla.HP.COM (Bob Cutler) (01/11/91)
>This seems to increase the DFFT frequency resolution. But I remember I read >from a text book somewhere that says it isn't so (I forget which book that is); >the padding is just a way of interpolation. Is it true? > In a sense, it is. The best way to think about this problem is to imagine that you had all 1024 samples to begin with and then applied a rectangular window 512 points wide. This multiplication in the frequency domain corresponds to a convolution in the frequency domain. To understand how the windowing is going to affect your data, you need to consider the window shape (in the frequency domain). For example, a rectangular window has a sin(x)/x type of response. Narrow windows (in the time domain) are generally fat in the frequency domain. So, in the frequency domain, a 512 point rectangular window would be twice as wide (i.e. cover twice as many bins) as a 1024 point window. In this example the nulls in the sinc(x) function would be two bins apart instead of one bin apart.. >If the padding is just an interpolation, is it acceptable to use the values >to calculate the amplitudes of the harmonics (not PSD) at 1 Hz, 3 Hz, etc.? > >If it is not acceptable mathematically, is there a way to find what I want at >those frequencies? > It sounds as though you're more interested in amplitude accuracy that frequency resoltion. If this is the case, then you don't even really need to go to a double width FFT. Just select a window function that emphasises amplitude accuracy. With the appropriate window, it won't matter if the spectral line does not land on a frequency bin. Don't forget to apply a gain correction for the selected window if you're interested in the absolute levels of each harmonic. Bob Cutler KE7ZJ Hewlett-Packard Lake Stevens Instrument Division
bobc@hplsla.HP.COM (Bob Cutler) (01/11/91)
/ hplsla:comp.dsp / bobc@hplsla.HP.COM (Bob Cutler) / 1:25 pm Jan 10, 1991 / >This seems to increase the DFFT frequency resolution. But I remember I read >from a text book somewhere that says it isn't so (I forget which book that is); >the padding is just a way of interpolation. Is it true? > window 512 points wide. This multiplication in the frequency domain ^^^^^^^^^ This should be 'multiplication in the time domain'. Sorry for the confusion.