[SciPy-User] DFT over narrow frequency range

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[SciPy-User] DFT over narrow frequency range

Neal Becker
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
Reply | Threaded
Open this post in threaded view
|

Re: DFT over narrow frequency range

Gregor Thalhammer-2

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
Reply | Threaded
Open this post in threaded view
|

Re: DFT over narrow frequency range

Neal Becker
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