DSPRelated.com
Forums

Zoom-FFT algorithm

Started by Michal Kvasnicka January 10, 2005
Dear colleagues,

I am looking for detailed description of the "zoom-fft" algorithm and its
effective implementation in C/C++, Fortran or Matlab.
Thanks in advance,

Michal


Michal Kvasnicka wrote:
> Dear colleagues, > > I am looking for detailed description of the "zoom-fft" algorithm and its > effective implementation in C/C++, Fortran or Matlab. > Thanks in advance, > > Michal > >
Rick Lyons' book "Understanding DSP" has a good description. My only beef (maybe 3rd edition, Rick?) is that he leaves the details of the low-pass/band-pass filter as an exercise to the reader. Without care, the cost of the filtering could outweigh the gains from the smaller FFT. I'd suggest multirate decimation -- Mark Borgerding.
You could look up Chirp FFT.

Robert

"Michal Kvasnicka" <michal.kvasnicka@No_s_Pam.quick.cz> wrote:

>Dear colleagues, > >I am looking for detailed description of the "zoom-fft" algorithm and its >effective implementation in C/C++, Fortran or Matlab. >Thanks in advance, > >Michal >
( modify address for return mail ) www.numbersusa.com www.americanpatrol.com
I am not sure that Chirp FFT is the same as Zomm FFT, see for example:
http://www.numerix-dsp.com/zoomfft.html

Michal
<r_obert@REMOVE_THIS.hotmail.com> p&#4294967295;se v diskusn&#4294967295;m pr&#4294967295;spevku
news:rde6u0t4pfpgjla9t1ogkftnskplcnn2ug@4ax.com...
> You could look up Chirp FFT. > > Robert > > "Michal Kvasnicka" <michal.kvasnicka@No_s_Pam.quick.cz> wrote: > > >Dear colleagues, > > > >I am looking for detailed description of the "zoom-fft" algorithm and its > >effective implementation in C/C++, Fortran or Matlab. > >Thanks in advance, > > > >Michal > > > > > ( modify address for return mail ) > > www.numbersusa.com > www.americanpatrol.com
Could you recommend me some good starting point for "multirate decimation"?

The basic question is:
Is Zoom FFT generally faster than standard FFT if I am looking only for
narrow band part of spectrum?

Michal
"Mark Borgerding" <mark@borgerding.net> p&#4294967295;se v diskusn&#4294967295;m pr&#4294967295;spevku
news:HcDEd.82573$mA3.259@fe2.columbus.rr.com...
> Michal Kvasnicka wrote: > > Dear colleagues, > > > > I am looking for detailed description of the "zoom-fft" algorithm and
its
> > effective implementation in C/C++, Fortran or Matlab. > > Thanks in advance, > > > > Michal > > > > > > Rick Lyons' book "Understanding DSP" has a good description. > > My only beef (maybe 3rd edition, Rick?) is that he leaves the details of > the low-pass/band-pass filter as an exercise to the reader. Without > care, the cost of the filtering could outweigh the gains from the > smaller FFT. > > I'd suggest multirate decimation > > -- Mark Borgerding.
Michal Kvasnicka wrote:
> I am not sure that Chirp FFT is the same as Zomm FFT, see for
example:
> http://www.numerix-dsp.com/zoomfft.html > > Michal > <r_obert@REMOVE_THIS.hotmail.com> p&#4294967295;se v diskusn&#4294967295;m pr&#4294967295;spevku > news:rde6u0t4pfpgjla9t1ogkftnskplcnn2ug@4ax.com... >> You could look up Chirp FFT. >> >> Robert >> >> "Michal Kvasnicka" <michal.kvasnicka@No_s_Pam.quick.cz> wrote: >> >>> Dear colleagues, >>> >>> I am looking for detailed description of the "zoom-fft" algorithm >>> and its effective implementation in C/C++, Fortran or Matlab. >>> Thanks in advance, >>> >>> Michal >>> >> >> >> ( modify address for return mail ) >> >> www.numbersusa.com >> www.americanpatrol.com
From this description it seems closely related to what used (?) to be called "complex demodulation". The only ref I have to hand relates to its use in estimating bispectra: MG Godfrey (1965) An exploratory study of the bi-spectrum of ecomomic time-series, Applied Statistics, 14 (1), 48-69. This does give a first-principles outline of the approach. David Jones
I am still can not believe to fact, that is not possible to find any
freeware code (matlab, fortran, C) which implemented zoom-fft algorithm.

Who knows any freeware code or detailed description of the zoom-fft
algorithm???

Michal

"David Jones" <dajxxx@ceh.ac.uk> p&#4294967295;&#4294967295;e v diskusn&#4294967295;m p&#4294967295;&#4294967295;sp&#4294967295;vku
news:41e3a2b1$1@news.nwl.ac.uk...
> Michal Kvasnicka wrote: > > I am not sure that Chirp FFT is the same as Zomm FFT, see for > example: > > http://www.numerix-dsp.com/zoomfft.html > > > > Michal > > <r_obert@REMOVE_THIS.hotmail.com> p&#4294967295;se v diskusn&#4294967295;m pr&#4294967295;spevku > > news:rde6u0t4pfpgjla9t1ogkftnskplcnn2ug@4ax.com... > >> You could look up Chirp FFT. > >> > >> Robert > >> > >> "Michal Kvasnicka" <michal.kvasnicka@No_s_Pam.quick.cz> wrote: > >> > >>> Dear colleagues, > >>> > >>> I am looking for detailed description of the "zoom-fft" algorithm > >>> and its effective implementation in C/C++, Fortran or Matlab. > >>> Thanks in advance, > >>> > >>> Michal > >>> > >> > >> > >> ( modify address for return mail ) > >> > >> www.numbersusa.com > >> www.americanpatrol.com > > From this description it seems closely related to what used (?) to be > called "complex demodulation". The only ref I have to hand relates to > its use in estimating bispectra: > > MG Godfrey (1965) An exploratory study of the bi-spectrum of ecomomic > time-series, Applied Statistics, 14 (1), 48-69. > > This does give a first-principles outline of the approach. > > David Jones > >
"Michal Kvasnicka" <michal.kvasnicka@No_s_Pam.quick.cz> wrote in message
news:crvq24$1shj$1@ns.felk.cvut.cz...
> I am not sure that Chirp FFT is the same as Zomm FFT, see for example: > http://www.numerix-dsp.com/zoomfft.html
My understanding of the NumerixDSP ZoomFFT function is that it does uses quadrature frequency mixing to downconvert the area of interest to 'baseband' I/Q and then performs the FFT on that baseband. Although I haven't used that particular function within the NumerixDSP library, I have used several other parts of the library and it takes the donkey work out of re-inventing the wheel, especially if you develop cross-platform: it's convenient to be able to write and test stuff on the laptop first, and then implement it on the target platform later. Cheers, Howard
Yes, NumerixDSP is really good solution, but in this time I am looking for
any freeware code before I buy something better.

So, do you know any freeware code for the zoom-fft???

Michal
"Howard Long" <howard@howardlongxxx.com> p&#4294967295;&#4294967295;e v diskusn&#4294967295;m p&#4294967295;&#4294967295;sp&#4294967295;vku
news:cs0v2e$95e$1@hercules.btinternet.com...
> "Michal Kvasnicka" <michal.kvasnicka@No_s_Pam.quick.cz> wrote in message > news:crvq24$1shj$1@ns.felk.cvut.cz... > > I am not sure that Chirp FFT is the same as Zomm FFT, see for example: > > http://www.numerix-dsp.com/zoomfft.html > > My understanding of the NumerixDSP ZoomFFT function is that it does uses > quadrature frequency mixing to downconvert the area of interest to > 'baseband' I/Q and then performs the FFT on that baseband. > > Although I haven't used that particular function within the NumerixDSP > library, I have used several other parts of the library and it takes the > donkey work out of re-inventing the wheel, especially if you develop > cross-platform: it's convenient to be able to write and test stuff on the > laptop first, and then implement it on the target platform later. > > Cheers, Howard > >
I could be mistaken, but it looks like all the freeware you need is the
FFTW.  The decimation and filtering is easliy implemented in a dozen or
so lines of c-code.  As for the filter coefficients, just use matlab to
find them and then incorporate them into your code.  I am guessing that
the whole thing, driver and all, should come in at less than 200 lines
of code.






Michal Kvasnicka wrote:
> I am still can not believe to fact, that is not possible to find any > freeware code (matlab, fortran, C) which implemented zoom-fft
algorithm.
> > Who knows any freeware code or detailed description of the zoom-fft > algorithm??? > > Michal > > "David Jones" <dajxxx@ceh.ac.uk> p=ED=B9e v diskusn=EDm p=F8=EDsp=ECvku > news:41e3a2b1$1@news.nwl.ac.uk... > > Michal Kvasnicka wrote: > > > I am not sure that Chirp FFT is the same as Zomm FFT, see for > > example: > > > http://www.numerix-dsp.com/zoomfft.html > > > > > > Michal > > > <r_obert@REMOVE_THIS.hotmail.com> p=EDse v diskusn=EDm pr=EDspevku > > > news:rde6u0t4pfpgjla9t1ogkftnskplcnn2ug@4ax.com... > > >> You could look up Chirp FFT. > > >> > > >> Robert > > >> > > >> "Michal Kvasnicka" <michal.kvasnicka@No_s_Pam.quick.cz> wrote: > > >> > > >>> Dear colleagues, > > >>> > > >>> I am looking for detailed description of the "zoom-fft"
algorithm
> > >>> and its effective implementation in C/C++, Fortran or Matlab. > > >>> Thanks in advance, > > >>> > > >>> Michal > > >>> > > >> > > >> > > >> ( modify address for return mail ) > > >> > > >> www.numbersusa.com > > >> www.americanpatrol.com > > > > From this description it seems closely related to what used (?) to
be
> > called "complex demodulation". The only ref I have to hand relates
to
> > its use in estimating bispectra: > > > > MG Godfrey (1965) An exploratory study of the bi-spectrum of
ecomomic
> > time-series, Applied Statistics, 14 (1), 48-69. > > > > This does give a first-principles outline of the approach. > > > > David Jones > > > >