関数 > 変換とフィルタ > 例: dftr を使用したローパスフィルタ
例: dftr を使用したローパスフィルタ
変換領域で乗算することで、ボックスカー信号にローパス Hanning ウィンドウフィルタを適用します。ボックスカー信号は、幅 40、中心が 100 の単一矩形パルスです。この信号をローパスフィルタに通すとそのコーナーが平滑化されます。
1. サンプル点の数を定義します。
クリックしてこの式をコピー
クリックしてこの式をコピー
2. boxcar 関数を定義してプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
3. 実際の信号にdftr関数を適用します。
クリックしてこの式をコピー
共役対称複素ベクトル全体を返すdft関数とは異なり、dftr 関数はベクトルの最初の (N/2+1) 成分を返します。
クリックしてこの式をコピー
クリックしてこの式をコピー
4. B ベクトルをプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
ボックスカーがsinc関数に変換されます。
5. この変換に Hanning ウィンドウを適用して、低周波情報だけを残します。
クリックしてこの式をコピー
クリックしてこの式をコピー
cos関数によって、低周波の端の 1 から中域周波数の 0 (ここではインデックス 16 で設定) に滑らかに遷移しています。
6. 変換後の関数にフィルタ関数を掛け合わせます。
クリックしてこの式をコピー
7. 返された積をプロットします。
クリックしてこの式をコピー
8. idftr 関数を使用して、ウィンドウ処理された周波数情報の逆変換を取得します。
クリックしてこの式をコピー
9. 結果のフィルタされた信号と元のボックスカー信号をプロットします。
クリックしてこの式をコピー
矩形パルスの端の鋭い遷移 (高周波) が丸められ、これによってフィルタを通過した信号が時間的に広がっています。
これは役に立ちましたか?