if the number of samples is the problem, why not make an FFT with 4096 sample? Why is it more complicated than with 256?
The number of samples influences the resolution (frequency / x scale) of the FFT.
Can't increase the number of samples at the moment because of the increase in program size/storage needs:
- TTF coef_table - about 4KB more
- the input and output arrays - about 6KB more
I've replaced the Hanning window lookup table with a function to generate the relevant indexed values at request, but that still isn't enough.
Program size is already somewhat large because GCC does not optimize the code as well as IAR - by far.
Anyway, the functions are in place for using either 256 or 1024 samples, and I can get the 1024 samples FFT running under some circunstances, but don't think it's relevant enough to spend more of my time with it.
Anybody can compile it with 1024 samples FFT support by changing 2 lines of code and uncommenting the needed coef_table values. The code is all there.
If someone wants a better FFT program, a dedicated FFT build can easily be made without issues, that can use 4096 samples.