БПФ интерпретация результатов

Я занимаюсь разработкой приложения для 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

0 ответов

Другие вопросы по тегам