我知道你所要做的第一件事是「在文檔中尋找它」,問題是文檔不清楚它。在Libgdx庫中使用getSpectrum()
我使用該庫來獲得FFT和我從這個簡短的指南開始: http://www.digiphd.com/android-java-reconstruction-fast-fourier-transform-real-signal-libgdx-fft/
的問題是,它使用:
fft.forward(array);
fft_cpx=fft.getSpectrum();
tmpi = fft.getImaginaryPart();
tmpr = fft.getRealPart();
兩個 「fft_cpx」, 「TMPI」,「TMPR 「是浮動向量。雖然「tmpi」和「tmpr」用於計算幅度,但「fft_cpx」不再使用。
我認爲getSpectrum()是getReal和getImmaginary的聯合,但是值都是不同的。 也許getSpectrum是複雜的值,但它們的表示是什麼?
我嘗試沒有這行代碼fft_cpx=fft.getSpectrum();
它似乎工作正確,但我想知道是否有必要和getSpectrum()和getReal()或getImmaginary()之間的區別是什麼。
這裏是單證: http://libgdx-android.com/docs/api/com/badlogic/gdx/audio/analysis/FFT.html
公衆持股量[] getSpectrum()
返回:最後FourierTransform.forward()調用的頻譜。
公衆持股量[] getRealPart()
返回:最後FourierTransform.forward()調用的實部。
公共浮[] getImaginaryPart()
返回:最後FourierTransform.forward() 呼叫的虛部。
謝謝!