I have an application requiring a 1d DFT to be taken on a regular spaced
frequency grid which covers a narrow range of frequencies. I'm wondering about efficient ways to do this. If the number of frequency bins is small, probably the most efficient approach is to directly compute the DFT. Another possibility would be to filter and decimate the signal to the range of interest where an FFT could be applied. I wonder if there are some other possibilities? I was discovered NFFT, which doesn't appear to directly apply, but shows me there are many tricks I haven't learned. _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
Am 16.05.2014 um 14:55 schrieb Neal Becker <[hidden email]>: > I have an application requiring a 1d DFT to be taken on a regular spaced > frequency grid which covers a narrow range of frequencies. I'm wondering about > efficient ways to do this. > > If the number of frequency bins is small, probably the most efficient approach > is to directly compute the DFT. > > Another possibility would be to filter and decimate the signal to the range of > interest where an FFT could be applied. > > I wonder if there are some other possibilities? I was discovered NFFT, which > doesn't appear to directly apply, but shows me there are many tricks I haven't > learned. You can also use the chirp-z or Bluestein-FFT algorithm to get a narrow part of the spectrum on a finer grid than with a conventional FFT (interpolating the spectrum). Gives more beaitiful results, but it is as costly as an FFT, probably not what you are looking for. Gregor _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
Gregor Thalhammer wrote:
> > Am 16.05.2014 um 14:55 schrieb Neal Becker <[hidden email]>: > >> I have an application requiring a 1d DFT to be taken on a regular spaced >> frequency grid which covers a narrow range of frequencies. I'm wondering >> about efficient ways to do this. >> >> If the number of frequency bins is small, probably the most efficient >> approach is to directly compute the DFT. >> >> Another possibility would be to filter and decimate the signal to the range >> of interest where an FFT could be applied. >> >> I wonder if there are some other possibilities? I was discovered NFFT, which >> doesn't appear to directly apply, but shows me there are many tricks I >> haven't learned. > > You can also use the chirp-z or Bluestein-FFT algorithm to get a narrow part > of the spectrum on a finer grid than with a conventional FFT (interpolating > the spectrum). Gives more beaitiful results, but it is as costly as an FFT, > probably not what you are looking for. > > Gregor I found some nice zoomfft code in an old post: http://scipy-user.10969.n7.nabble.com/Chirp-Z-transform-td9556.html _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user |
Free forum by Nabble | Edit this page |