我们正参考“TIDM-FILTERING-SIGNALPROCESSING”设计,这个例子的代码是完成"256-point complex FFT",
我们需要改成“512-point comples FFT”,但是在“LEARAM”上出现问题。
看资料上,LEA模块变量必须定义在LEARAM内,必须小于4k字节,不能大于3783字节(0x3ac7-0x2c00 = 0x0ec7),是这样吗?
例子代码中定义的LEA变量:
struct FftData_s
{
_q15 input[VECTOR_SIZE*2];
_q15 samples[VECTOR_SIZE*2];
_q15 hamming[VECTOR_SIZE];
} fftDataParam;
VECTOR_SIZE=256,总共占用 2560字节(256*2*2+256*2*2+256*2)
我们要做512点FFT时需要将 VECTOR_SIZE改成512
这样变量占用内存就大于4k字节了。即使将AD采样只要一路采样
struct FftData_s
{
_q15 input[VECTOR_SIZE*2];
_q15 samples[VECTOR_SIZE];
_q15 hamming[VECTOR_SIZE];
} fftDataParam;
改成这样的结构,VECTOR_SIZE = 512,占用的内存正好4K字节。(512*2*2+512*2+512*2= 4096)
这样还是超过LEARAM的范围了,编译还是会报错。
请问这种情况有什么解决办法呢?是不用汉明窗吗?