フーリエによるデータフィルタリング

DFTによるフィルタリングの特徴画像 Tips & Tricks - フィルタリングされた入力信号と元の入力信号を示す。

最近のサポートに関する問い合わせが、このニュースレターのテーマとなった。 そのユーザーは、フーリエ変換を使って、振幅が最も大きいK個の周波数成分だけを使った信号のフィルタリングを希望していた。

プロセス

NumXL DFTウィザードは、低K成分を使用して信号を再構成することにより、高周波ノイズ成分を除去し、より滑らかな信号を生成するローパスフィルタリングをサポートしています。

この図では、NumXL Fourier Transform Wizard ダイアログの'オプション'タブを示し、入力信号を再構成するために最初のN成分を使用するローパスフィルタリングのパラメータを定義するセクションをハイライトしています。

残念ながら、最初のK成分が最も振幅の大きい成分であることを確信することはできないので、ウィザードを目的に使うことはできない。 目的を達成するために、まずフーリエ・スペクトルを生成する:

図では、最初の110成分を使った入力データのフーリエ変換(つまりDFT/FFT)振幅を示している。

次に、振幅が最も大きいN成分(例えばN=11)を特定し、それらの成分のみを含む新しいDFTスペクトルを導出し、残りはゼロに設定する:

この図では、フーリエ変換(つまりDFT/FFT)の振幅を修正したプロットを示しているが、これは振幅値の低い成分をすべて取り除いた(つまりゼロにした)ためである。

ここで、修正されたDFTスペクトルとIDFT関数を使えば、フィルタリングされた信号を再構成することができる。

この図では、元の入力信号と、(最も振幅の大きいDFT成分を用いて)フィルター処理された出力信号の両方を示している。

結論

本号では、フーリエ変換を用いて周波数領域で簡単なフィルターを実装するためのいくつかの手順を示した。 このテクニックを使えば、ほとんど手を加えることなく、より洗練されたフィルター関数を幅広く構築することができる。

フーリエ変換の位相部分には触れず、そのままにしてあることに注意。 位相に影響を与えるフィルター関数を実装したい場合は、修正DFTスペクトルの位相と各成分の振幅の変化を考慮する必要があります。

フーリエ変換関数の詳細については、以下をクリックしてください。 これ!

  添付ファイル

コメント

サインインしてコメントを残してください。

この記事は役に立ちましたか?
2人中2人がこの記事が役に立ったと言っています