Java 在Libgdx库中使用getSpectrum()
我知道你想到的第一件事是“在文档中查找”,但是文档并不清楚 我使用库获取FFT,并遵循以下简短指南: 当它使用以下各项时,就会出现问题:Java 在Libgdx库中使用getSpectrum(),java,android,libgdx,fft,spectrum,Java,Android,Libgdx,Fft,Spectrum,我知道你想到的第一件事是“在文档中查找”,但是文档并不清楚 我使用库获取FFT,并遵循以下简短指南: 当它使用以下各项时,就会出现问题: fft.forward(array); fft_cpx=fft.getSpectrum(); tmpi = fft.getImaginaryPart(); tmpr = fft.getRealPart(); “fft_cpx”、“tmpi”、“tmpr”都是浮点向量。虽然“tmpi”和“tmpr”用于计算震级,“fft_cpx”不再
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\u cpx=fft.getSpectrum()代码>,它似乎工作正常,但我想知道它是否确实必要,以及getSpectrum()、getReal()和getImmaginary()之间的区别
文件载于:
公共浮点[]getSpectrum()
返回:最后一个FourierTransform.forward()调用的频谱
公共浮点[]getRealPart()
返回:最后一个FourierTransform.forward()调用的实际部分
public float[]getImaginaryPart()
返回:最后一个FourierTransform.forward()的虚部
打电话
谢谢 getSpectrum()返回复数的绝对值
是这样计算的
for (int i = 0; i < spectrum.length; i++) {
spectrum[i] = (float)Math.sqrt(real[i] * real[i] + imag[i] * imag[i]);
}
for(int i=0;i