我有一个内存有限的系统。所以基本上问题是这样的:如果我有(比如说)24KB 的数据空间和 4096 个单精度浮点数(16KB)的数据样本,我可以对数据进行 FFT 吗?更一般地说,执行 FFT 所需的最小数据空间是多少?
FFT 的内存要求
信息处理
fft
2022-01-24 11:50:47
1个回答
FFT 函数就地运行。也就是说,保存输入数据的数组也将用于保存相应的结果。输入数据很复杂,包含 2*fftLen 交错值,如下所示。
可以通过这样一种方式实现 FFT,即它不需要额外的缓冲区,而是使用输入数组的内存进行输出。这种方法通常被称为“就地”计算。从上面的引文中,我认为 CMSIS-DSP 库正是这样做的(尽管没有源代码我们无法确定)。
所以在这种情况下,是的,16 KB 的内存大小就足够了。
可以从蝶形图中理解就地计算是可能的,例如参见此处。
其它你可能感兴趣的问题