4

複数の帯域が除去されたときにフィルタの位相がどのように変化するかを理解するために、複数の阻止帯域フィルタを 1 つのフィルタに結合したいと考えています。

この質問は 2 つのフィルターの解決策を提供しますが、2 つ以上のフィルター バンドがある場合はどうなるでしょうか?

これは、個別の各フィルターのゲインと位相を示す画像です。

だから私の質問は:

  1. 5 つの別々の操作でデータをフィルター処理すると、フェーズはどうなりますか
  2. フィルタリング手順を 1 つの手順に結合できますか?

Matlab で butter 関数と freqz 関数を使用しています。

[b,a] = butter(order,cutoff/(fs/2),'high');
[h,w] = freqz(b,a,fs);

ありがとう。

ここに画像の説明を入力

4

2 に答える 2

3

位相と振幅 (dB) が合計されます。Matlab で見たい場合は、フィルターをカスケートする必要があります。たとえば、次のようになります。

% computes the coefficients
[b1,a1]=butter(8,0.6);          
[b2,a2]=butter(8,0.4,'high');   
[b3,a3]=butter(8,0.2,'high');   
% creates the filters
H1=dfilt.df2t(b1,a1);
H2=dfilt.df2t(b2,a2);
H3=dfilt.df2t(b3,a3);
% creates the cascate filter
Hcas=dfilt.cascade(H1,H2,H3)   
% plot    
Hcas.freqz()
于 2013-04-06T00:22:24.857 に答える
2
  1. 畳み込み中に位相効果が蓄積され、合計位相効果はすべてのフィルターの位相効果の合計になります

  2. はい、新しいフィルターを取得するには、それらすべてを畳み込む必要があります: conv(conv(filter1,filter2),filter3)

于 2013-04-05T05:07:11.673 に答える