Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

fircls

制約付き最小二乗 FIR マルチバンド フィルターの設計

説明

b = fircls(n,f,amp,up,lo) では、長さ n + 1 の線形位相 FIR フィルターが生成されます。このフィルターの周波数-振幅特性は、ベクトル famp によって与えられる特性と一致します。

fircls(n,f,amp,up,lo,"design_flag") では、フィルター設計のビジュアル表示オプションを設定できます。

すべて折りたたむ

0.4π ラジアン/サンプルの正規化カットオフ周波数をもつ 150 次ローパス フィルターを設計します。最大絶対誤差として 0.02 を通過帯域に、0.01 を阻止帯域に指定します。フィルターの設計誤差と振幅応答を表示します。

n = 150;
f = [0 0.4 1];
a = [1 0];
up = [1.02 0.01];
lo = [0.98 -0.01];
b = fircls(n,f,a,up,lo,"both");
  Bound Violation = 0.0788344298966  
  Bound Violation = 0.0096137744998  
  Bound Violation = 0.0005681345753  
  Bound Violation = 0.0000051519942  
  Bound Violation = 0.0000000348656  

Figure contains 3 axes objects. Axes object 1 contains 3 objects of type line. Axes object 2 contains 3 objects of type line. Axes object 3 contains 3 objects of type line.

  Bound Violation = 0.0000000006231  

範囲の違反は、設計が収束するときに行われる手順の反復を示します。フィルターの振幅応答を表示します。

fvtool(b)

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB) contains an object of type line.

入力引数

すべて折りたたむ

フィルター次数。正の実数スカラーとして指定します。

メモ

関数 fircls では、ナイキスト周波数で通過帯域をもつ構成に対し、常に偶数のフィルター次数が使用されます (ハイパスおよびバンドストップ フィルター)。これは、次数が奇数の場合、ナイキスト周波数での周波数応答が 0 になるためです。n に奇数の値を指定した場合、fircls によりこの値に 1 が加算されます。

正規化周波数点。実数値のベクトルとして指定します。遷移周波数は、[0, 1] の範囲です。ここで、1 はナイキスト周波数に対応します。f の最初の点は 0 でなければならず、最後の点は 1 でなければなりません。周波数は増加する順でなければなりません。

目的とする、区分的に一定な周波数応答振幅。実数値のベクトルとして指定します。amp の長さは、応答の帯域数 length(f)-1 と等しくなります。

各帯域内の周波数応答の上限。amp と同じ長さをもつ実数値のベクトルとして指定します。

各帯域内の周波数応答の下限。amp と同じ長さをもつ実数値のベクトルとして指定します。

メモ

通常、阻止帯域の下側の値は、負として指定されます。阻止帯域で lo0 に設定することにより、非負の周波数応答振幅を得られます。このようなフィルターをスペクトル的に見積もることで、最小位相のフィルターを得られます。

フィルター設計の表示。次のいずれかとして指定します。

  • "trace" — 各反復ステップで、設計誤差をテキストで表示します。

  • "plots" — フィルターの全帯域の振幅応答を示す一連のプロットと、各サブ帯域での振幅応答を示すズーム ビューを表示します。すべてのプロットは、各反復ステップにおいて更新されます。プロットにおける O は新規反復の推定極値であり、X は前の反復の推定極値です。ここで、極値とはフィルターのリップルのピーク (最大および最小) です。対応する O および X をもつリップルのみが等しくなります。

  • "both" — テキスト表示とプロットを共に表示します。

出力引数

すべて折りたたむ

フィルター係数。長さ n + 1 の行ベクトルとして返されます。

アルゴリズム

関数 fircls では、反復最小二乗アルゴリズムを使用して等リップル応答が求められます。このアルゴリズムは、各反復でラグランジュ乗数と Kuhn-Tucker の条件を使用する乗数交換アルゴリズムです。

参照

[1] Selesnick, I. W., M. Lang, and C. S. Burrus. “Constrained Least Square Design of FIR Filters without Specified Transition Bands.” Proceedings of the 1995 International Conference on Acoustics, Speech, and Signal Processing. Vol. 2, 1995, pp. 1260–1263.

[2] Selesnick, I. W., M. Lang, and C. S. Burrus. “Constrained Least Square Design of FIR Filters without Specified Transition Bands.” IEEE® Transactions on Signal Processing. Vol. 44, Number 8, 1996, pp. 1879–1892.

拡張機能

バージョン履歴

R2006a より前に導入

参考

| |