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 08:26 pm (UTC)(link)
Гут. А я говорю вот о чем.
Пусть у нас есть сигнал. Ну самый простой, синусоида:



Получаем его спектр, и видим, красивый один пик, по которому заключаем, что там видимо играется одна гармоника одной ноты:



Теперь обнуляем кусок синусоиды справа:



И красивому спектру приходит пипец:



Соответственно понять, какие там частоты, намного труднее.

[identity profile] nazarovsky.livejournal.com 2006-08-02 09:59 pm (UTC)(link)
Ок. В общем, понял...