我一直在阅读有关FTT和使用JTransform的所有帖子。我有一个真实数据,其大小为N.我想将其传递给FFT,以便我可以计算每个频率的幅度。
我在matlab中使用FFT函数完成了它,我试图在Java中做同样的事情。我的问题是:
使用RealForward还是RealForwardFull?或者可能用0 imag创建另一个数组并将其传递给复杂的前锋? 由此产生的FTT有多大?
答案 0 :(得分:2)
当你计算实数N元素数组的DFT时,你的结果将是一个复数的N元素数组。现在看JTransform文档,在Jtransforms中这些复数表示为一对2实数(一个代表实部,另一个代表虚数),因此你的FFT结果实际上是FFT输入的两倍。
RealForwardFull计算数组的FFT并返回所有FFT系数,而RealForward只返回系数的一半.RealForward可能满足一些人的需求是因为FFT具有对称属性,因此只知道一半的系数您可以使用FFT的对称属性获得其余系数。