混合基底のFFTルーチン(DLL + ソース)
FFT(Fast Fourier Transform)は実験結果等の解析に大変有用ですが、多くの場合データ数は2のべき乗でなければなりません。しかし、データ数が2のべき乗になることはありそうでなかなかありません。サンプリング周波数を100とか200とかでとるともうだめです。
その場合は、あきらめてDFT(Discrete Fourier Transform)を使用することが多いようです。しかし、DFTは現在の計算機パワーをもってしても、データ数が増えてくるとそれなりに時間がかかります。
そこで、混合基数を用いてデータ数が2のべき乗でもなくても使えるようなそれほど大掛かりでない、手軽なFFTプログラムを作ってみました。
具体的にはデータ数の約数を探してそれで割っていきます(例えばデータ数が100だったら2で割って2で割って5で割って最終的には長さ5のDFTに帰着する)。変換をほどこすデータが実数の場合と複素数の場合の両方を用意してあります。中では両方とも複素数演算を行う同じルーチンを使っていますので、インターフェースだけの違いです。
ソフト名: | FFTMR |
---|---|
動作OS: | Windows Me/2000/NT/98/95 |
機種: | 汎用 |
種類: | フリーソフト |
作者: | hi64 |