Forums

FFTW on DSP

Started by bngguy November 18, 2005
Hello All,
               I'm planning to use FFTW library on the DSP....has
anybody used it with code composer studio to generate the coff file for
the DSP ??..please share your experiences

Thanks
bngguy

I woould suggest that you use the manufacturer's optimized FFT vice FFTW.  
FFTW is designed for general purpose processors.  The chip maker will have 
special code that takes advantage of all the special hardware designed into 
the DSP chip.  FFTs execution speed is a major marketing number so all chip 
vendors that I am aware put lots of effort into getting the best possible 
speed.  That code is frequently available for free and I believe that is true 
for TI chips..

In article <1132362414.852758.320060@o13g2000cwo.googlegroups.com>, "bngguy" 
<bngguy@gmail.com> wrote:
>Hello All, > I'm planning to use FFTW library on the DSP....has >anybody used it with code composer studio to generate the coff file for >the DSP ??..please share your experiences > >Thanks >bngguy >
Hello John,
                 Thank your for your response.I'm using a TMS320C6713
based custom target board and for some reason the fft library / code i
downloaded from Texas instruments website doesn't work for more than 4k
points ....i'm looking at 16k points at the minimum...i would
appreciate any pointers in this direction.

Thanks
Aravind

"bngguy" <bngguy@gmail.com> wrote in message
news:1132687420.044033.78640@o13g2000cwo.googlegroups.com...
> Hello John, > Thank your for your response.I'm using a TMS320C6713 > based custom target board and for some reason the fft library / code i > downloaded from Texas instruments website doesn't work for more than 4k > points ....i'm looking at 16k points at the minimum...i would > appreciate any pointers in this direction.
This is more than likely due to restrictions on internal memory (fast memory) in that processor. The library may also be limiting your largest fft size (again due to memory and/or architectural limitations). You could take a speed penalty and get the library code to work on a larger fft size with minimal changes to the library source (I'm sure this is available). Trying to get fftw to work on a specialized DSP like the TI chip is not something I'd recommend (although it is written in Ansi C and should technically work well if your compiler is good enough). Contact TI and see if they have modified versions of their library to support larger FFT lengths.
> Thanks > Aravind >
Did you look at the code to determine why the FFT ssize is limited to 4096 
points?  I don't have the FFT source code for the 6713 and finding it on the 
TI web site is not as easy (read damned near impossible) as it used to be.

The assembler is hard to read for DSPs in general and VLIW DSPs in particular. 
 Check to see if the limit is hardcode in a way that would allow you to change 
that limit and recompile the code.

Sometimes, the FFT size is limited by the size of the internal twiddle factor 
lookup table.  You may need to provide your own for a larger FFT size so you 
might check the assembler to see if it's required.  The 6713 cache is large 
enough (if you don't have the 6713B) to put that lookup table on the chip and 
the data as well.