|
Question: Thank you very much Jagadeesh. That's the kind of info that I was looking for. It seems that, ultimately, in the C6x world real valued FFT computation needs to be carried out through the "packing" method (two real FFT input arrays packed into the real and imaginary parts of a complex FFT input). Answer: Once again it is my pleasure to share any info I know.The C6x does not require two real input arrays to do the real FFT. This is not true, in fact if you look at the app note, it shows two methods: a) Using two real FFT arrays and performing calculations, this method is elegenat but incurrs longer latency as you have to buffer up to two real arrays or frames worth, if you are doing frame based processing. b) I like this method as it treats a N point real FFT as a N/2 point complex sequence, resulting in savings of twiddle factors and reduced latency. Question: The difference in the C6x is that radix-4 is optimum (generally higher radix results in smaller number of multiply and adds required, the C3x, however, is! more suited to radix-2). Answer: This is true, and DSP processors that have more registers tend to support radix-4 ccomfortably. In fact the C64x can support digit-reversed and bit-reversed addressing for free along with the FFT. The C62x was one of the first to support radix-4 FFT. I am not mentioning this on my own, take a look at Meyer and Schawrz paper in IEEE about FFT implementations on DSP architectures. Even the C62x uses all the 32 registers to support radix-4, but none the less it does. Question: I was under the impression that you could not do the packing trick in the reverse direction (IFFT), but on first glance, the App. Note you mentioned shows that it is possible, which is great! Answer: The way the real FFT is done, it performs a complex multiply and calculates a sum and difference using the symmetry properties, on the results of the N/2 complex FFT. Hence it applies a post twiddle on the FFT and IFFT, to compute the real FFT, but I believe the math in both these post twiddle factors are the inverse operations of each other. I have worked through the equations in the app note, and know that this is true. I can discuss further if you have any questions. Regards Jagadeesh Sankaran |
Real FFT/IFFT on C6711
Started by ●March 11, 2002
Reply by ●March 14, 20022002-03-14






