我想从android手机上做fft加速计数据。我选择了jtransform作为fft库。现在我需要一些简单的代码来理解jtranform来编写代码来从加速度计数据中找到fft。 提前致谢
答案 0 :(得分:1)
由于您拥有真实数据,因此您应将这些值传递给realForward
函数,如所述here。将值数组传递给此函数时,它会通过使用FFT系数覆盖此数组来返回结果。
array = new double[arraySize];
...
DoubleFFT_1D dfft = new DoubleFFT_1D(arraySize);
dfft.realForward(array);
您还应该考虑输出包含实部和虚部的事实:
如果arraySize
是偶数
array[2*k] = Re[k], 0 <= k < arraySize/2
array[2*k+1] = Im[k], 0 < k < arraySize/2
array[1] = Re[arraySize/2]
如果arraySize
是奇数,那么
array[2*k] = Re[k], 0 <= k < (arraySize+1)/2
array[2*k+1] = Im[k], 0 < k < (arraySize-1)/2
array[1] = Im[(arraySize-1)/2]