我是fft的新手。我将Matlab中的代码转换为java/c以在Android设备中使用。我可以使用纯java java fft lib(如Jtransform和Jwave)来做到这一点,但我想使用FFTS(https://github.com/anthonix/ffts)获得本机性能,但输出结果不一样,我不知道为什么。我阅读了Matlab网站上他们所说的缩放比例(http://www.mathworks.com/matlabcentral/answers/15770-scaling-the-fft-and-the-ifft),但我无法找到缩放比例来匹配两个结果值。FFTS FFT和Matlab FFT之间的不同结果值
我更新输出: Matlab的:
x = [0,1,2,3,4,5,6,7]
X=fft(x,8);
28.0000000000000 + 0.00000000000000i
-4.00000000000000 + 9.65685424949238i
-4.00000000000000 + 4.00000000000000i
-4.00000000000000 + 1.65685424949238i
-4.00000000000000 + 0.00000000000000i
-4.00000000000000 - 1.65685424949238i
-4.00000000000000 - 4.00000000000000i
-4.00000000000000 - 9.65685424949238i
FFTS:
FFTS fft = FFTS.real(FFTS.FORWARD, 8);
fft.execute(x,output);
28.000000 + 0.000000i
-4.000000 + 9.656855i
-4.000000 + 4.000000i
-4.000000 + 1.656854i
0.000000 + 0.000000i
0.000000 + 0.000000i
0.000000 + 0.000000i
0.000000 + 0.000000i
你有一个小的测试输出(例如8点FFT)从FFTS和Matlab? – SleuthEye
@SleuthEye我已经更新了这个问题。 – DzungPV