ストップバンドフィルターが他の周波数を減衰させるのはなぜですか?


12

2トーン信号のコードは次のとおりです。ストップバンドを使用して高いトーンを除去し、信号をフィルター係数で畳み込んだ後、周波数領域で前(青)と後(赤)をプロットします。 。

このコードをMatlabに入れると、フィルターによって高い周波数が正常に削除されたことがはっきりとわかりますが、何らかの理由で低い周波数の振幅が半分にカットされ、フィルター係数の数を増やすと、曲線全体が平らになるほど、これが起こるのはなぜですか?そして、ストップバンドが外側に伝播しないように、どうすればそれを防ぐことができますか?画像とコードは次のとおりです。

ここに画像の説明を入力してください

fSampling = 8000;
tSampling = 1 / fSampling;

t = 0:tSampling:0.005;
F0 = 1000;
F1 = 3000;

xt = sin(2 * pi * F0 * t)+ sin(2 * pi * F1 * t);
ht = fir1(40、.25、 'stop');
yt = conv(xt、ht);

fAxis = -4000:125:4000-125;

xF = fft(xt、64);
MagXF = fftshift(abs(xF));

plot(fAxis、MagXF);
つかまっている

yF = fft(yt、64);
MagYF = fftshift(abs(yF));

plot(fAxis、MagYF、 'r')

1
本質的に不完全なバンドパス/バンドストップフィルタリングは、常に放っておきたいスペクトルの領域に影響します。それは獣の性質です。
ダニエルRヒックス

1
うーん...これに対抗する方法はありますか?または、より適切な別の比較的単純なフィルターですか?ノッチフィルターについてはあまり知りませんが、それらは本当に狭帯域ストップフィルターであり、Matlabにはそれらのコマンドがあることを知っています。
ザウバートランク

2
私が言ったように、それは固有のものです。フィルターを設計することは、一部のパラメーターを他のパラメーターを犠牲にして(そして費用を犠牲にして)最適化するという点で常にトレードオフです。
ダニエルRヒックス

回答:


12

フィルターは、完全な矩形関数である通過帯域を実際に実現できないため、周波数応答に固有の「ロールオフ」が常にあります。ローパスフィルターの場合、周波数応答の大きさが-3dBに低下するポイントは通過帯域と呼ばれ、それを超えるすべてはストップバンドと呼ばれます(技術的には、コーナー周波数を超えるすべてのものですが、コーナー周波数は-3dBレベルです)。周波数応答が通過帯域を超えて減衰する速度は、フィルターの長さに依存します。

フィルターの周波数応答をht見ると、1000 Hzで-6dBに低下していることがわかります。

ここに画像の説明を入力してください

したがって、フィルタリング後にパワーが6dB低下することは理にかなっています。これは、図では振幅が半分になっているように見えます。

fir1使用した関数のドキュメントをご覧になった方は、これにも気付いたでしょう(強調)。

B = fir1(N,Wn)N次のローパスFIRデジタルフィルターを設計し、フィルター係数を長さN+1ベクトルで返しますB。カットオフ周波数Wnは 、サンプルレートの半分に対応するの間0 < Wn < 1.0である必要があります1.0。フィルタBは実数であり、位相は線形です。 Wnでのフィルターの正規化ゲインは-6 dBです。

ここで、長方形に非常に近い応答でよりシャープなフィルターを作成するには、IIRフィルターを使用する必要があります。IIRフィルターには、安定性などの問題が多数ありますが、間違いなくオプションです。非常に鋭い角を与える離散型2 2次セクションIIRフィルターの実装に関するいくつかのアイデアについては、ここ私の答えを見ることができます。この例はバンドパスフィルター用ですが、そこで使用される関数のドキュメントを読んで、自分でローパスバージョンを実装できます。


1

信号がフィルター遷移の内側または外側にある場合、フィルターが「決定」するのに時間がかかります。1つの解決策は、2つのテスト信号の中間など、目的の信号からフィルター遷移を移動することです。テストケースでは、不完全な決定によって歪む信号はほとんどありません。


0

使用する

ht = fir1(40,.5,'stop');

代わりに、F0での減衰が非常に低く、F1での減衰が非常に高くなります。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.