[comp.dsp] integer fft/ifft routines

mazer@bek-owl.bek-owl.cns.caltech.edu (Jamie Mazer) (06/01/91)

I have some code that is uses the fft/ifft routines from "Numerical
Recipies in C". I've noticed that their algorithms are not always as
quick as the can be.  So, now I'm looking into hacking up some faster
fft routines and I thought I'd ask for contributions or suggestions
before I waste a lot of time on something that someone's already
hacked up.

My questions are:
  1. How much better can they get? if writing my own is only going to
     give me a tiny speed improvement, then it's not worth it. Speed
     is critical right now, not space, though that may change.
  2. Is it feasible to write a quick and dirty integer fft routine
     that takes advantage of the fact that my data are 12 or 16 bit
     integer waveforms. Is there a standard technique for doing this?
  3. Does anyone have any tips on where to look for algorithms or
     material on this sort of thing? Ideally code or pseudocode, but
     also paper or book references.
     
Sorry if this is some what remedial for this group, but I'm a novice
to this area and while I know what I want to use the routines for,
I'm quite ready to design my own fft algorithm from scratch!!

Please reply to me, I'll post a summary if anyone else turns out to
be interested in this topic.

Thanks,
/Jamie


--
1st: mazer@bek-owl.cns.caltech.edu  /-------------------------------------\
2nd: JMazer@caltech.bitnet         /"Caltech: ... science steals your soul,\
3rd: mazer@smaug.cns.caltech.edu   \  don't come here unless you have to." /
uhg: 818-356-6816                   \-------------------------------------/

tom@syssoft.com (Rodentia) (06/05/91)

I tried e-mail, but it bounced.  All others feel free to reply to the 
following:

# To: mazer@bek-owl.bek-owl.cns.caltech.edu

Please copy me on your summary.  I have some FFT code that I FTP'd from
a server in UK.  It was originally written by someone in New Mexico, I
believe.  
[now known to be Richard Krukar who doesn't appear to be in 
New Mexico anymore].  
It precalculates coeffecients for up to the 512 sample size
case.  It's floating point, so I'd imagine it's not a real screamer.

I could use the world's fastest FFT (not yet sure what I'd do with it, 
but spectrum analysis of sampled sound would keep me busy for awhile), 
so I you get a better source, I would appreciate it.

If you don't already have the FFT code to which I've referred, let me
know and I'll send it off to you (let me know preferred formats and
I'll try to accomodate).  Hope I can help and thanks.

Regards
 -Tom
-- 
Thomas Roden                                      | tom@syssoft.com
Systems and Software, Inc.                        | Voice: (714) 833-1700 x454 
"If the Beagle had sailed here, Darwin would have | FAX:   (714) 833-1900
come up with a different theory altogether." - me |