Gab*_*rer 10 java android fft spectrum libgdx
我知道你要做的第一件事是"在文档中寻找它",问题是文档不清楚它.
我使用该库来获取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();
Run Code Online (Sandbox Code Playgroud)
"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
public float [] getSpectrum()
返回:最后一个FourierTransform.forward()调用的频谱.
public float [] getRealPart()
返回:最后一个FourierTransform.forward()调用的实部.
public float [] getImaginaryPart()
返回:最后一个FourierTransform.forward()调用的虚部.
谢谢!
小智 1
getSpectrum() 返回复数的绝对值。
是这样计算的
for (int i = 0; i < spectrum.length; i++) {
spectrum[i] = (float)Math.sqrt(real[i] * real[i] + imag[i] * imag[i]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |