FFTとフーリエ変換
昨今のデジタル信号処理の進歩はすさまじいですが、デジタル信号処理の代表選手といえば、やはり FFT (Fast Fourier Transform)ではないでしょうか。ご承知とは思いますが、信号を時間領域から周波数領域へ変換するもので、スペクトル解析などに使われるものです。ごく簡単に言うと、デジタルでフーリエ変換を行うのですが、デジタル・フーリエ変換ではなくFFTなのです。単にデジタルで(正確に言えば離散的に)フーリエ変換を行うものは、FFTほど有名ではありませんが、DFT(Discrete Fourier Transform)として存在しています。
では何故、FFTだけがもてはやされるのでしょうか。それは、その名の通り、速いからなのです。FFT と DFT は、デジタルで、すなわち離散信号に対してフーリエ変換を行うという点では両者に違いはありません。その基本となる式は以下の通り共通です。
では、FFT と DFT の違いはなにかというと、上の式を実際に計算するやり方なのです。FFT は、その点数(上の式のN)を2のべき乗に制限することで、必要とされる演算量を大幅に小さくしたものです。その削減率は、おおざっぱにいうと、N2 に対して2N x log2(N)ですから、1024 点の場合、約 1/100 になります。FFT が発明された 1969 年には、当時のコンピュータの性能を考えると、画期的なことでした。コンピュータの性能が飛躍的に向上した現在でさえ、というか向上したことで、短時間に多くのスペクトル解析を行い、リアルタイムで制御を行うなどの要求がますます増加してくるので、FFT の重要性が色褪せることはないと思います。
しかし、FFT は万能のものではありません。DFT であっても、2のべき乗という足かせが外れただけで、その本質は変わりません。というのは、ある点数で制限されているということです。例えば、音声信号の1周期を取り出して、それに何らかの方法でサンプリング周波数を変更して1周期が 256 点に収まるようにしてFFT を行い、スペクトルを取り出す場合を考えてみましょう。高調波成分も十分ですので、これを基に音声を合成すると、さぞや完璧に音声が再現されると思いきや、出てくる音は腑抜けたオルガンというところでしょう。これは、FFT あるいは DFT が悪いのではなく、音声のような複雑なものを1周期に代表させてしまおうということが問題なのです。音声信号は、音が震えていたりする、すなわち基本周期よりも低い成分あるいは、基本周期の整数倍でない音が含まれているからこそ、声としての表情がでるのです。これは楽器においても同じです。楽器の1周期をサンプリングして、そのまま繰り返しても、なんの楽器かを判定するのは難しいと思います。
つまり、ある波形1周期を解析するということについて、FFT/DFT は素晴らしい道具ですが、1周期を解析するだけで十分かというとことが問題なのです。すなわち、FFT/DFT は世の中の多くのもの(手法)と同じように、現実のある側面を切り出し、それを解析する道具としては、素晴らしいのですが、前提条件を見誤るととんでもないことになってしまいます。しかし、だからといって、それで FFT の価値が下がるわけではありません。物事を単純なものに還元して、そのひとつひとつを正しく分析していくのが、科学の基本ですから。
リンク切れなどの不具合が発見されましたら、ご面倒とは存じますが、
web_master@tasignal.comまでご連絡ください。
Copyright(C) 2004, TA Signal Processings, Inc. All rights reserved.