ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

yulewalk

再帰型デジタル フィルターの設計

構文

[b,a] = yulewalk(n,f,m)

説明

yulewalk では、指定した周波数応答に最小二乗近似を使用して、再帰型 IIR デジタル フィルターが設計されます。

[b,a] = yulewalk(n,f,m) では、ベクトル fm で与えられる周波数-振幅特性を近似する n 次の IIR フィルターの n+1 個の係数を含んだ行ベクトル ba が返されます。

  • f は、0 ~ 1 の範囲で設定する周波数点のベクトルで、1 はサンプリング周波数の 1/2 (ナイキスト周波数) に対応します。f の最初の点は 0 で最後の点は 1 でなければなりません。中間の点はすべて昇順でなければなりません。周波数点を重複することは可能で、これは、周波数応答のステップに対応します。

  • m は、ベクトル f で指定された点での希望する振幅応答を含むベクトルです。

  • fm は同じ長さでなければなりません。

  • plot(f,m) では、フィルターの形状が表示されます。

出力されるフィルター係数は z の降順になっています。

B(z)A(z)=b(1)+b(2)z1++b(n+1)zna(1)+a(2)z1++a(n+1)zn

周波数応答を設定するときには、通過帯域から阻止帯域への急激な遷移を避けてください。最良のフィルター設計を得るには、遷移領域の勾配をいくつか試さなければならない場合もあります。

すべて折りたたむ

正規化されたカットオフ周波数 0.6 をもつ 8 次のローパス フィルターを設計します。その周波数応答をプロットし、それに、対応する理想的フィルターの応答を重ね合わせます。

f = [0 0.6 0.6 1];
m = [1 1 0 0];
[b,a] = yulewalk(8,f,m);
[h,w] = freqz(b,a,128);

plot(w/pi,abs(h),f,m,'--')
xlabel 'Radian frequency (\omega/\pi)', ylabel Magnitude
legend('Yule-Walker','Ideal'), legend boxoff

アルゴリズム

yulewalk では、時間領域で最小二乗近似が行われます。指定した周波数応答の逆フーリエ変換によって計算された相関係数を使用し、拡張ユール・ウォーカー方程式によって分母係数が計算されます。分子を計算する場合、yulewalk では以下のステップが実行されます。

  1. パワー周波数応答の加法分解に対応する分子多項式が計算されます。

  2. 分子多項式および分母多項式に対応する周波数応答が計算されます。

  3. スペクトル因数分解法を使用して、フィルターのインパルス応答が求められます。

  4. このインパルス応答に対する最小二乗近似により、分子多項式が求められます。

参考文献

[1] Friedlander, B., and Boaz Porat. “The Modified Yule-Walker Method of ARMA Spectral Estimation.” IEEE® Transactions on Aerospace Electronic Systems. Vol. AES-20, Number 2, 1984, pp. 158–173.

拡張機能

R2006a より前に導入