理解jtransform

时间:2012-03-05 05:01:05

标签: java android accelerometer fft

我想从android手机上做fft加速计数据。我选择了jtransform作为fft库。现在我需要一些简单的代码来理解jtranform来编写代码来从加速度计数据中找到fft。                                                                      提前致谢

1 个答案:

答案 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]