我想在 Android Studio 中使用 Fast Fourier Transform Java 类。我想创建一个正弦函数,但有一个简单的问题:我的 FFT 函数需要一个 double [] 内部并使用 for cicle 创建一个我无法在内部使用的正弦函数。我的问题是:如何创建一个正弦函数以在我的 FFT 函数中使用它?我是 Android Studio 的新手,可能答案很简单,但我现在不知道。请建议我怎么做。谢谢 这是我的 FFT.java 类:
package com.google.android.gms.samples.vision.face.rPPG.Math;
public class Fft {
public static double FFT(Double[] in, int size, double samplingFrequency) {
double temp = 0;
double POMP = 0;
double frequency;
double[] output = new double[2*size];
for(int i=0;i<output.length;i++)
output[i] = 0;
for(int x=0;x<size;x++){
output[x]=in[x];
}
DoubleFft1d fft = new DoubleFft1d(size);
fft.realForward(output);
for(int x=0;x<2*size;x++){
output[x]= Math.abs(output[x]);
}
for(int p=12; p<size; p++) {// 12 was chosen because it is a minimum frequency that we think people can get to determine heart rate.
if(temp < output[p]) {
temp = output[p];
POMP = p;
}
}
// if (POMP < 12) {
// POMP = 0;
// }
frequency = POMP*samplingFrequency/(2*size);
return frequency;
}
}
心有法竹
相关分类