Hi,all I need do a 65536 points FFT with TMS320C64x. Ti's dsplib does include some C callable fft programs (assemble, hand optimized),but it seems the maximal size they can cope with is 32768. If not necessary, I won't write this from beginning. Any comment?

# large size FFT in DSP

Started by ●July 13, 2005

Reply by ●July 13, 20052005-07-13

WGNoise@gmail.com wrote:> Hi,all > I need do a 65536 points FFT with TMS320C64x. Ti's dsplib does > include some C callable fft programs (assemble, hand optimized),but it > seems the maximal size they can cope with is 32768. If not necessary, I > won't write this from beginning. Any comment?By viewing the data as a 32k by 2 matrix, it should be possible to do this using two 32k FFTs of the odd and even points, followed by a series of complex multiplies and 2-point DFTs to combine the results. See the DSP book by Proakis and Manolakis for a description, or just work out the math by hand. John

Reply by ●July 13, 20052005-07-13

WGNoise@gmail.com wrote:> Hi,all > I need do a 65536 points FFT with TMS320C64x. Ti's dsplib does > include some C callable fft programs (assemble, hand optimized),but it > seems the maximal size they can cope with is 32768. If not necessary, I > won't write this from beginning. Any comment?By viewing the data as a 32k by 2 matrix, it should be possible to do this using two 32k FFTs of the odd and even points, followed by a series of complex multiplies and 2-point DFTs to combine the results. See the DSP book by Proakis and Manolakis for a description, or just work out the math by hand. John

Reply by ●July 14, 20052005-07-14

thx for the suggestion, yeah,I do know the partition method which is the FFT base. But now efficiency is very important to me, the Ti dsp library is hand optimized, actually there have one dsp_fft() which **SHOULD** can operate 65536 points FFT according TI's dsplib manual --spru565b.pdf (page 4-14), but the twiddle-factor generator only can cope with no more 32768 points. I think 32768 is some magic number here but I don't know the reason. perhaps I should read the C equivalent codes and rewrite the optimized code for my 65536 points FFT if necessary.