Performing a 1024 point real input FFT using a 512 point complex FFT routine

Performing a 1024 point real input FFT using a 512 point complex FFT routine

Post by BobW » Tue, 30 Jun 2009 09:18:14



I'm using a microcontroller (dsPIC30F3013) to do an FFT on some "real" data
(from a microphone) and I don't have enough internal RAM to get the
frequency resolution I need.

I found a forum entry by Rick Lyons as follows:

-quote-
Does the dsPIC33 allow you to perform
512-point FFT on complex-valued input
samples? If so, there's a way to perform
a 1024-point *real-input* FFT using
a 512-point complex FFT routine.
[-Rick-]
-end quote-

The FFT routine I have available does take a complex input (two six *** bit
words), and the existing code merely stuffs zeroes into the imaginary part
of each complex input.

So, can anyone tell me what the trick is for allowing this complex-input FFT
to be more efficient with real input data such that I can effectively cut in
half the input record length I need to use.

Thanks in advance.

Bob
--
== All google group posts are automatically deleted due to spam ==
 
 
 

Performing a 1024 point real input FFT using a 512 point complex FFT routine

Post by emeb » Tue, 30 Jun 2009 09:37:50

On Jun 28, 5:18m, "BobW" < XXXX@XXXXX.COM >


Google is your friend. Try searching on 'real FFT' - the 3rd entry for
me is this which seems useful:

http://www.yqcomputer.com/

Eric

 
 
 

Performing a 1024 point real input FFT using a 512 point complex FFT routine

Post by BobW » Wed, 01 Jul 2009 10:34:08


If anybody is interested, I found the answer. It was in the last place I
looked.

Rick Lyon's book "Understanding Digital Signal Processing" has an excellent
and (relatively) simple description of the technique. It involves a decent
amount of processing beyond the complex FFT, but it's doable.

So, with Rick's help, I think that I can do what I need to do with the
limited RAM that I have available.

Bob
--
== All google group posts are automatically deleted due to spam ==