[comp.dsp] log frequency fft

ted@nmsu.edu (Ted Dunning) (09/26/89)

In article <9520001@hpsad.HP.COM> toma@hpsad.HP.COM (Tom Anderson) writes:


   It seems like you need a logarithmic frequency axis.  I have often
   wished for an FFT type algorithm with logarithmic frequency spacings.
   Does anyone know of one?

just do the conventional fourier transform at the frequencies of
interest.  since there will be roughly log n of these frequencies, the
overall cost will be n log n just like the fast transform.  in
addition, you can drop some points from the lower frequency transforms
and make them faster still (that is, update the lower frequency points
more slowly).

what this sort of transform loses is the reconstruction characteristic
of the equally spaced transform; you won't be able to recreate the
input given the transformed value.  it might still be useful for
display purposes, but i would guess that you would rather have the
power in a number of disjoint frequency bands.


--
ted@nmsu.edu
			remember, when extensions and subsets are outlawed,
			only outlaws will have extensions or subsets

davem@polya.Stanford.EDU (David K. Mellinger) (09/27/89)

>In article <9520001@hpsad.HP.COM> toma@hpsad.HP.COM (Tom Anderson) writes:
>
>   It seems like you need a logarithmic frequency axis.  I have often
>   wished for an FFT type algorithm with logarithmic frequency spacings.
>   Does anyone know of one?

Try looking at "An Algorithm and Architecture for Constant-Q Spectrum
Analysis," by Gary W. Schwede.  "Q" refers to the ratio of bandwidth
to frequency, sometimes called the "quality" of a filter.
Constant Q <==> logarithmic frequency.

The paper is in the Proceedings of the IEEE International Conference
on Acoustics, Speech, and Signal Processing (ICASSP), April 1983, pp.
1384-1387.
				Dave Mellinger
				davem@cs.Stanford.EDU