|
これら3つの FFT の相違点を下記にまとめます。
ベースバンド FFT
ベースバンド FFT は一番シンプルなオプションです。ベースバンド FFT 等の FFT は時間領域の入力を受け、周波数領域に出力を返します。「ライン数」はスペクトルにいくつの周波数要素を持つかを示しています。ベースバンド FFT は FFT を行う時間領域でのサンプル数 n の (n/2) のライン数を常に生成します。各ラインの周波数分解能の幅は (Fs / n) に等しくなります。この Fs はサンプリング周波数で、n は時間領域のポイント数です。周波数分解能は (1 / 集録時間) と著わすこともできます。ベースバンド FFT スペクトルの周波数レンジは DC から (Fs / 2) までです。
ベースバンド FFT は広範囲の周波数を取り扱う場合に最善な方法です。オフライン、オンラインのどちらでも処理を行うことが出来ます。(Fs / 2) より小さい周波数レンジを用いたい場合、サブセット FFT もしくはズームFFTを用いることでパフォーマンスの向上を図ることが出来ます。
ベースバンドサブセット FFT
二つ目のオプションとしてベースバンドサブセットの方法があります (以後「サブセット」) 。このサブセット FFT はベースバンド FFT より狭い周波数レンジを返します。最大最小レンジはプログラムで設定可能で、このレンジの中でしかスペクトルの結果を返しません。この FFT の計算結果はベースバンド FFT が同じ周波数分解能によって返す値より強くありません。しかしながらこの改良は 「n 次」 より劣っています。ベースバンド FFT (周波数レンジがDCから(Fs/2)) とサブセットは (Fs / 8) から (Fs / 4) までと考えます。サブセットはこの場合のベースバンドの周波数レンジの 1/4 しかカバーしません。これは大幅なパフォーマンスの向上をもたらしますが、4 の倍数以下でしか向上しません。ベースバンドが生成する周波数分解能で与えられるスペクトルと同じほどのデータをサブセットでも使うことが出来ます。さらに計算時間は向上しますが集録時間は変わりません。
サブセット FFT は狭い周波数レンジに特化している場合に最善な方法です。この場合、ベースバンド FFT よりもよいパフォーマンスをします。ベースバンド FFT と同じように、サブセットもオフライン、オンラインのどちらでも処理を行うことが出来ます。
一般的に FFT を行う場合、サブセットの計算は Discrete Zak Transform (DZT) として知られているアルゴリズムに基づきます。
ズーム FFT
3つ目のオプションはズーム FFT です。サブセット FFT のように、非常に細かい周波数分解能(狭い帯域の解析)でのスペクトルを見ることができ、 処理時間の短縮がされます。サブセットの様に処理時間は短縮されますが、集録時間は変わりません。ズーム FFT アルゴリズムはベースバンド FFT やサブセット FFT よりも多くのデータを必要としており、周波数分解能でスペクトルを生成します。
ズーム FFT は狭い幅での周波数分解能を必要とする場合やオンライン分析、頻繁にデータが更新される場合にお勧めする関数です。ベースバンドやサブセットFFTと違い、ズーム FFT のアルゴリズムは実際の目的とする周波数分解能より小さなサイズの集録ブロックサイズの高速実行ループに置き、内部のステータスを保持します。このような構成で使用する場合、FFT は各繰り返しの際の新しいデータを優先させません。新しいデータは自動的にスペクトルの更新に必要な量になるまで蓄積されます。
ズーム FFT はオーバーラップの機能があります。デフォルトのオーバーラップセッティングは 0% で新しいスペクトルは全て「新しい」 データから計算されます。 オーバーラップセッティングを 75% にすると、以前のスペクトルの75%の「古い」データと、新しい25%のデータを使用します。この設定では新しいデータは 0% オプションよりも4倍の頻度で生成されますが、情報の更新時には一部分しか変更が加わっていないことになります。オーバーラップは長時間のデータ集録などのアプリケーションの際の表示と「インタラクティビティ」の処理向上などにも使われます。
|