我是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