psilogic: (pingpong)
psilogic ([personal profile] psilogic) wrote2006-08-02 01:04 am

Быстрое преобразование Фурье (халява)

Все-таки Википедия рулит. Надыбал там то, о чем давно мечтал:
математические выкладки, позволяющие делать преобразование Фурье за время порядка N log(N). Причем, для произвольного N, а не только для степени двойки.

Поковырявшись с ними, поразбиравшись, пооптимизировав, родил описалово, как, что и почему, а главное - файлец на C++ с готовым работающим модулем, который не требует никаких специальных библиотек.

http://psi-logic.shadanakar.org/fft/fftf.htm

Можете юзать - ибо халява :)

[identity profile] psilogic.livejournal.com 2006-08-02 07:13 am (UTC)(link)
Только для числа отсчетов, равного степени двойки. Знаменитый алгоритм Кули-Тьюки. Здесь не о нем.

[identity profile] sanitareugen.livejournal.com 2006-08-02 07:31 am (UTC)(link)
Поищите ещё Винограда.
Есть в Гольденберг, Матюшкин, Поляк. "Цифровая обработка сигналов".

[identity profile] ex-neo-is-fl156.livejournal.com 2006-08-02 07:57 am (UTC)(link)
Да, не обратил внимание вначале.
Тогда это действительно ценно. Спасибо.

У меня к Вам два вопроса (чисто из любопытства)

1. Для какого приложения Вы заинтересовались FFT в данный момент?

2. Что означает слово "freeware", написанное Вами в исходниках - это в смысле GPL / Open Source, или в смысле "делайте что хотите бесплатно" (в т.ч. можно копирайтить derived code, зарабатывать миллиарды, используя этот код, ни копейки Вам не заплатив, и т.п.)?

[identity profile] psilogic.livejournal.com 2006-08-02 08:29 am (UTC)(link)
Кстати, заглянул в 3-й том и увидел, что вы меня наипали. Не видно там вообще упоминания Фурье. Разве что я плохо искал.

[identity profile] ex-neo-is-fl156.livejournal.com 2006-08-02 04:48 pm (UTC)(link)
У меня нет под рукой Кнута. Похоже, я просто ошибся томом. Думаю, FFT должен быть во втором томе ("получисленные алгоритмы") где-то в разделе про быстрое умножение длинных чисел.