最近は、ブログの投稿のモチベがなぜか上がっています。
ローパスフィルタにはFIRとIIR方式の二種がありますが,FIRの場合について書きます。
まず、カットオフ周波数 PI/2 :正規化された周波数で設定します(-PI ~ PI )。
実周波数は wc/Tsample [rad/s] となります。
サンプリング定理から、[ PI/Tsample実周波数、PI正規化周波数] までしか、判別不可であり、エイリアシング問題が起こらないとすると、
カットオフ周波数 PI/2 でLPFを設計し、白色ノイズにLPFを通しFFTすると、正規化周波数PI/2(全体の1/4)までが残ることになります。
上図のような適当なデータをDFT(ほぼFFT)したものをLPFに通していきます。
上図は元データです。
これは次数40のLPFのインパルス応答です。DTFTすると
となります。PI/2 =1.56 あたりでちゃんとカットされています。DTFTは以前書いた記事に乗ってます。convolで畳み込むと
見た感じ元データと変わってないですが
FFTした結果を見るともくろみ通り全体の1/4あたりでカットされています。
フィルタ次数を変えずに正規化カットオフ周波数をPI/16にすると、上はインパルス応答
下はDTFT結果
サイドローブが表れ始めていますがPI/16= 0.196 あたりでカットされるはずです。ちょっと微妙なところですね。畳み込み、FFTすると
なんとなく傾向のようなものが見えるようになりました。実際このデータはラジコンにつけた加速度センサーの値のため最初の立ち上がりは動き出しで、その後定常速に移行し、停止という流れがある程度読み取れます。次数40のフィルタを使用したため最初の40個のデータは使えないですね。当然ですが、元データの最大値が±40000程度あったものがLPFを通して+40~-1200に落ちています。このデータは使い物になるのか、少し疑問が残ります。
fftした結果も約 50/1000 = 1/20 と 1/16に近い割合でカットしてくれています。素晴らしい!!ただ、ここまでカットオフ周波数が低いとサイドローブの影響が強く出てしまいます。FIRではなく、バタワースフィルタを使用してみようと思います。
ローパスフィルタにはFIRとIIR方式の二種がありますが,FIRの場合について書きます。
まず、カットオフ周波数 PI/2 :正規化された周波数で設定します(-PI ~ PI )。
実周波数は wc/Tsample [rad/s] となります。
サンプリング定理から、[ PI/Tsample実周波数、PI正規化周波数] までしか、判別不可であり、エイリアシング問題が起こらないとすると、
カットオフ周波数は[ PI/Tsample実周波数、PI正規化周波数]
以内で設定します。カットオフ周波数 PI/2 でLPFを設計し、白色ノイズにLPFを通しFFTすると、正規化周波数PI/2(全体の1/4)までが残ることになります。

上図のような適当なデータをDFT(ほぼFFT)したものをLPFに通していきます。
上図は元データです。
これは次数40のLPFのインパルス応答です。DTFTすると
となります。PI/2 =1.56 あたりでちゃんとカットされています。DTFTは以前書いた記事に乗ってます。convolで畳み込むと
見た感じ元データと変わってないですが
FFTした結果を見るともくろみ通り全体の1/4あたりでカットされています。
フィルタ次数を変えずに正規化カットオフ周波数をPI/16にすると、上はインパルス応答
下はDTFT結果
サイドローブが表れ始めていますがPI/16= 0.196 あたりでカットされるはずです。ちょっと微妙なところですね。畳み込み、FFTすると
なんとなく傾向のようなものが見えるようになりました。実際このデータはラジコンにつけた加速度センサーの値のため最初の立ち上がりは動き出しで、その後定常速に移行し、停止という流れがある程度読み取れます。次数40のフィルタを使用したため最初の40個のデータは使えないですね。当然ですが、元データの最大値が±40000程度あったものがLPFを通して+40~-1200に落ちています。このデータは使い物になるのか、少し疑問が残ります。
fftした結果も約 50/1000 = 1/20 と 1/16に近い割合でカットしてくれています。素晴らしい!!ただ、ここまでカットオフ周波数が低いとサイドローブの影響が強く出てしまいます。FIRではなく、バタワースフィルタを使用してみようと思います。
コメント
コメントを投稿