Мне нужно выполнить преобразование Фурье для длинного потока данных. Я сделал DFT-файл .c, который работает нормально, недостатком, конечно, является скорость. Это медленный AF.
Я ищу способ выполнить БПФ для длинного потока данных.
Для всех библиотек FFT требуется максимум 1024, 2048 или даже 4096 точек данных.
Я получаю данные от АЦП, который работает на частоте около 128000 Гц, и мне нужно измерять данные в диапазоне от 1 до 10 секунд. Это означает массив от 128 000 до 1 280 000 выборок. В моем коде я проверяю частоты от 0 до 2000. Для расчета sin + cos потребовалось около 400 тиков ядра. Ядро работает на частоте 480 МГц, поэтому стоит около 1 доллара США.
Это означает 2000 частот * 128 000 выборок * 1 us = +/- 256 секунд (4 минуты) анализа на 1 секунду данных.
А если использовать 10 секунд, это будет стоить 40 минут.
Кто-нибудь знает более быстрый способ или решение FFT, которое поддерживает почти "бесконечный" массив данных?