講座その5 データ長とフーリエ変換の関係

y_takeuchi2009-06-06

フーリエ変換のデータ長を2の階乗に限定する事でバタフライ演算によって処理速度を早めたのが、高速フーリエ変換(FFT)です。
scilabでこれがどのように違ってくるかと言うと。
2048点だと0.84secで終わる処理が、2049点にすると1.17secと、遅くなるのが判ります。(CPUがAtom N270の場合)
この差はデータ長が大きくなるほど顕著に違いが出てきます。データ長は周波数分解能にも影響を与えるので、周波数分解能を高くしたい場合はデータ長を大きくしなくてはなりません。

しかし、大抵、サンプリング周波数は100Hzや1000Hz単位で指定されるので、データ長が2048等の2の階乗の値だと、きりのいい分解能に成らなくなります。
そこで、昔に比べて処理速度が劇的に速くなったパソコンの処理能力によって、多少時間がかかろうとも欲しい周波数分解能に成るようにデータ数は2の階乗に限定しないという必要性もあります。
例えば、データ長をサンプリング周波数と同じにすれば1Hz単位になります。