Каковы функции FFT Window? - PullRequest
       4

Каковы функции FFT Window?

1 голос
/ 09 октября 2011

Я пишу приложение для Win32, используя только вызовы C ++ и WinApi. Мне нужно запустить БПФ с 8192 точками и более 20 мс данных WAVEFORMATEX. Каков наиболее эффективный метод для достижения этой цели?

Ответы [ 3 ]

3 голосов
/ 09 октября 2011

Прошло много времени, но я вспоминаю эту библиотеку кодов как очень быструю и простую для компиляции:

http://fftw.org/

2 голосов
/ 09 октября 2011

KISSFFT это не Windows API, как таковой. Однако он достаточно мал, чтобы красиво встраиваться в любой проект - около 30 Кбайт исходного кода ANSI C для базового преобразования «комплекс в комплекс». В отличие от других супер-крошечных библиотек FFT, он быстрый, многофункциональный, точный и может использоваться в многопоточной программе.

Одной из ключевых особенностей является то, что KISSFFT может делать смешанные осциллограммы (кратные 2,3,5 - самые быстрые). Другие функции «на болтах» доступны в каталоге инструментов. Используйте только те фрагменты, которые вам нужны: многомерное преобразование, реальное оптимизированное преобразование (т.е. половинный спектр), быстрая свертка и т. Д.

Скорость , как правило, достаточно быстрая для большинства приложений - не так быстро, как библиотеки fftw или вендора, но быстрее, чем сборка оставшейся части.

Точность

KISSFFT такая же, как и у любой библиотеки FFT.

Лицензия - 3, пункт BSD , которая может легально использоваться в коммерческом приложении на одном конце спектра или в приложении GPL на другом конце. Это просто требует простой атрибуции в документах.

2 голосов
/ 09 октября 2011

Как мы уже уточнили в комментариях, документация MSDN для функций XDSP может иметь отношение к вам.

Функции, кажется, не принимают WAVEFORMATEX напрямую, ноесли вы можете преобразовать его в соответствующий формат, вы можете использовать FFT, чтобы делать то, что вы хотите.

Обратите внимание, что это часть DirectX SDK, поэтому вы вводите новую зависимость.

...