我知道你所要做的第一件事是“在文档中寻找它”,问题是文档不清楚它。在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() 呼叫的虚部。
谢谢!