For example for peak frequency finding, it seems valid to use band-limited interpolation methods on the complex DFT bins, or separately on their real and imaginary parts and to calculate the magnitudes or squared magnitudes of the results. But how about band-limited interpolation of the magnitudes of the bins (I don't think that's valid), or their squared magnitudes (maybe valid)? By valid I mean that perfectly interpolated values should be equal to those found by calculating them from a larger DFT of a zero-padded version of the time-domain signal.
The first approach guarantees a non-negative result, unlike the others if the interpolation is not perfect, see this question about nonnegative or positive band-limited interpolation.
Answer
Interpolated points of the DFT can be computed using a dot-product of a few samples around the peak region with a pre-computed interpolation vector. The interpolation vector is determined by the location of the desired interpolated sample, taking into consideration the amount of zero-padding required, etc., etc.
This technique and the methodology to compute the interpolating vectors is covered in Appendix B of this document:
http://ericjacobsen.org/FTinterp.pdf
I hope that helps a bit.
No comments:
Post a Comment