FFTWがマジ速いと言う事
- カテゴリ:パソコン/インターネット
- 2012/03/14 00:14:43
所謂高速フーリエ変換はサンプル数が 2**n (2のn乗)しかサポートしていない。と思い込んでいた。自分で一周期だけ切り出した音声データのDFTを取りたくて、地道に改造して5倍くらいは速くなった。
これ以上の高速化は、アルゴリズムの見直ししかないですが、数学的に考えないと駄目なので自力では無理。色々と資料を漁ってたら、一般的な整数での高速化手法にぶち当たった。
●PFA (Prime Factor Algorithm)
https://moodle.yokkaichi-u.ac.jp/mod/page/view.php?id=6225
でも、式だけでは自力実装は無理。ora 数学力の無さが、恨めしい。しかし、ちょっこと調べるだけでこんなのに当たるくらいなので、西側で一番速いと言われるFFTWなら普通の整数もサポートしててもおかしくないのではと、見てみた。
サンプル数が素数の時は世界一速い!!
のだそうな。ww 使いこなしが大変そうで、オーバースペックな気もするけど、これ使えれば、もっと速くしたいなんて気になる事はないだろうから勉強してみましょう。
サンプル数が少なければ、自前ルーチンと大差はつかないだろうけど、一回比べてみないとな。
●FFTW@Wiki
http://www32.atwiki.jp/amaeda/
ご本家はMITだったんだな。ご本家の方のFAQはアメリカ人に良くある、Geekジョーク交じりでなかなか楽しい。FFTW(the Fastest Fourier Transform in the West)の西って何よ? の答えが、笑ける。