2012-03-05 34 views
4

我想做一個來自android phone的加速度計數據的fft。我選擇了jtransform作爲fft庫。現在我需要一些簡單的代碼來理解jtranform來編寫代碼以從加速度計數據中找到fft。 在此先感謝瞭解jtransform

回答

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]