БПФ интерпретация результатов
Я занимаюсь разработкой приложения для Android, которое распознает деятельность человека. Я уже использую Apache Commons для расчета своих возможностей во временной области. Теперь я хочу использовать метод быстрого преобразования Фурье библиотеки для преобразования данных моей временной области (необработанных значений xyz) из акселерометра в частотную область. Я не уверен, как интерпретировать результат. Правильно ли я интерпретировать результат как ячейку, соответствующую каждой частоте, для значений X (например) на каждой из этих частот?
Вот код, который у меня есть:
public class MyFFT {
public static void computeFFT(double[] input) {
FastFourierTransformer transformer = new FastFourierTransformer(DftNormalization.STANDARD);
Complex[] complexResults = transformer.transform(input, TransformType.FORWARD);
for(Complex c:complexResults){
System.out.println(c.getReal());
}
System.out.println(complexResults.toString());
}
}
И его использование:
public class main {
public static void main(String[] args) {
double[] xValues = new double[]{0.5,1.5,1.2,0.5,0.8,1.5,1.9,2.9};
MyFFT.computeFFT(xValues);
}
}
Выход:
10.8
1.3970562748477138
-1.7999999999999998
-1.9970562748477145
-2.0
-1.9970562748477139
-1.7999999999999998
1.3970562748477144