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] odinokov.livejournal.com 2006-08-01 09:41 pm (UTC)(link)
а паскакалем не замутишь? 8)

[identity profile] psilogic.livejournal.com 2006-08-01 09:52 pm (UTC)(link)
Паскаль ацтой! :o)))
*смущенно* Да и забыл я яго нафик :)

[identity profile] odinokov.livejournal.com 2006-08-01 09:54 pm (UTC)(link)
ох...
а мне ему ещё детишек учить8))

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-01 22:36 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2006-08-02 08:16 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 08:31 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2006-08-02 08:51 (UTC) - Expand

(no subject)

[identity profile] odinokov.livejournal.com - 2006-08-02 08:58 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 09:54 (UTC) - Expand

[identity profile] cybister.livejournal.com 2006-08-02 03:19 am (UTC)(link)
Я тож забыл, но далеко не отстой.
Недвано девушка мне сказала что ей потнесли си-ди со скринсеверами,
и там мой скринсевер (кажися фигуры лисажу в3д... что-то типа).
Под винду ! 4.5кб !!!
На Борланд паскакале. (На турбо кажись при навешивании соответствующих либ тоже пахало).Такие вот пирожки.
Если нужно - поищу, где-то валялось.

[identity profile] ex-neo-is-fl156.livejournal.com 2006-08-02 12:41 am (UTC)(link)
У меня где-то валялось на паскале. Могу посмотреть, если надо.

P.S. FYI: Счастливые читатели Д. Кнута "Искусство Программирования" т.3. могли реализовывать FFT за O(NlogN) ещё задолго до того, как Википедия появилась на свет ;)

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

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 08:29 (UTC) - Expand

[identity profile] odinokov.livejournal.com 2006-08-02 09:31 am (UTC)(link)
срочности нет, просто интерес8)

[identity profile] metaclass.livejournal.com 2006-08-02 08:53 am (UTC)(link)
Перевести что ли на дельфи, все равно ж когда-нибудь понадобится самому...

[identity profile] odinokov.livejournal.com 2006-08-02 08:59 am (UTC)(link)
вот и грю8))

[identity profile] nazarovsky.livejournal.com 2006-08-01 11:09 pm (UTC)(link)
дык это.. а готовую БПФ процедуру использовать и нулями добить до степени двойки религия мешает? :)

[identity profile] psilogic.livejournal.com 2006-08-02 07:17 am (UTC)(link)
Если добить нулями до степени двойки, то в спектре получится бордель, а не только те частоты, которые формировали исходный сигнал. :) Попытка синтезировать длительный сигнал суммированием синусоид из полученного набора частот приведет к тому, что будет периодически возникать тишина в том месте, где забиты нули.

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 08:47 (UTC) - Expand

(no subject)

[identity profile] nazarovsky.livejournal.com - 2006-08-02 08:29 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 08:44 (UTC) - Expand

(no subject)

[identity profile] nazarovsky.livejournal.com - 2006-08-02 18:51 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 20:26 (UTC) - Expand

(no subject)

[identity profile] nazarovsky.livejournal.com - 2006-08-02 21:59 (UTC) - Expand

В порядке саморекламы...

[identity profile] sanitareugen.livejournal.com 2006-08-02 05:27 am (UTC)(link)
dsp-book.narod.ru

Re: В порядке саморекламы...

[identity profile] psilogic.livejournal.com 2006-08-02 07:09 am (UTC)(link)
Твою мать!!!!!!!!!!!!!!!!!
Как давно я искал что-нибудь эдакое!!!!!!!!!!

[identity profile] vorobioff.livejournal.com 2006-08-02 06:30 am (UTC)(link)
Куда я попал???

[identity profile] psilogic.livejournal.com 2006-08-02 07:17 am (UTC)(link)
На процедурку...

[identity profile] metaclass.livejournal.com 2006-08-02 08:09 am (UTC)(link)
в 9 строке fft.cpp #include без имени файла.

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 08:35 (UTC) - Expand

[identity profile] diches.livejournal.com 2006-08-02 08:48 am (UTC)(link)
Звучит как песня из параллельного измерения ))

[identity profile] psilogic.livejournal.com 2006-08-02 09:52 am (UTC)(link)
сплошной профессиональный сленг, да? :)

(no subject)

[identity profile] diches.livejournal.com - 2006-08-02 10:01 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2006-08-02 10:06 (UTC) - Expand

(no subject)

[identity profile] diches.livejournal.com - 2006-08-02 10:02 (UTC) - Expand

[identity profile] kelavrik-0.livejournal.com 2006-08-02 04:02 pm (UTC)(link)
Спасибо, запомнил ссылочку.

[identity profile] ex-travmatu.livejournal.com 2006-08-02 05:58 pm (UTC)(link)
http://fftw.org/

[identity profile] psilogic.livejournal.com 2006-08-02 08:12 pm (UTC)(link)
да я знаю
просто лично мне не хватало, чтобы было все в 1 флаконе: теория, прога, бесплатно и на русском

[identity profile] cunnilinux.livejournal.com 2006-08-13 08:04 am (UTC)(link)
ща попробуйу :)

[identity profile] snzstorm-ru.livejournal.com 2008-04-23 02:59 pm (UTC)(link)
Спасибо! ;)

[identity profile] snzstorm-ru.livejournal.com 2008-04-26 06:38 am (UTC)(link)
мде... С Билдером быстро забывается, что и как =/