Быстрое преобразование Фурье - PullRequest
10 голосов
/ 10 марта 2011

Мне нужно умножить два полинома, каждый из которых имеет малые интегральные коэффициенты.Мне нужна быстрая процедура FFT в C / C ++, которая может их свести.Я видел несколько библиотек, но они кажутся слишком большими по нескольким файлам.Важно то, что мне нужен код, который не слишком длинный и может быть очень легко использован и скомпилирован в один файл .c/.cpp.

  1. БПФ следует оптимизировать для реальных входных данных, по крайней мере, если не маленькие целые числа.
  2. Реализация Radix 4, если она доступна, тоже подойдет.
  3. Компиляция не требует специальных флагов компиляции, поскольку компиляция программы должна выполняться во внешней среде, которой я не могу управлять.

Тот, который очень хорошо соответствует моим потребностям:1012 * здесь .Но мне нужно что-то в два раза быстрее.

Ответы [ 3 ]

15 голосов
/ 10 марта 2011

Для простой и удобной реализации FFT попробуйте KissFFT .Если вам нужна абсолютная максимальная производительность, и вы не возражаете против небольшой сложности, тогда она должна быть FFTW .

2 голосов
/ 10 марта 2011

Я адаптировал функцию smbFft из этого примера на DspDimension к моим потребностям в прошлом.

0 голосов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...