On Wed, 14 Mar 2007, Charles R Harris wrote:
> On 3/14/07, Ray Schumacher <[EMAIL PROTECTED]> wrote: > > > > What I had been doing is a 2048 N full real_FFT with a Hann window, and > > further analyzing the side lobe/bin energy (via linear interp) to try to > > more precisely determine the f within the peak's bin. (How legitimately > > valuable that is I'm not sure... IANAM) > > > That's usually fine. You might want to zero fill to get more samples through > the band. It would help if you gave the sample frequency in Hz too. Anyway, > unless time is important, I would just zero fill by a factor of 4-8 and > transform. You can get the same effect with a chirp-z transform, but again > this is depends on how much programming work you want to do. If you just > have a couple of lines in the band that you want to locate you could also > try maximum entropy methods. Or do 1) explicit multipy by the transform matrix but only use a few rows. but evaluate the transform matrix on a frequency grid finer than the 1/(2048*tsamp) that is actually independent. Then fit sin(f)/f to the power spectrum. Either of these should give better interpolation than linear. I've seen this done (and pass peer review) to determine pulsar frequencies. I also remain unconvinced that interpolation provides a better result, but that can be determined by analyzing fake data with a known frequency. If you're trying to determine the significance of the result, the fit should somehow take into account the fact that the interpolated data points are not real degrees of freedom. But your power estimates are already not independent since you've applied a Hann window. Probably should also fit to the line response of a Hann window rather than sin(f)/f. Plus something (flat?) for the noise. You could determine the real # of degrees of freedom by simulating the procedure many times (with noise) and fitting a chisquare function to the distribution of fit chisquare values that you see. This would also give an empirical estimate of how well you were determining the frequency, which is probably better than mucking about with degrees of freedom, anyway. w _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion