firls
最小二乗線形位相 FIR フィルターの設計
説明
例
入力引数
出力引数
詳細
アルゴリズム
firls
は、線形位相 FIR フィルターを設計します。これは、目的とする一連の周波数帯域で、理想的な区分線形関数とフィルターの振幅応答の間の重み付き積分二乗誤差を最小にします。
参考文献[2]には、firls
の背景となる理論的手法が説明されています。この関数は、MATLAB® の \
演算子を使用して線形方程式系を解きます。n 次のフィルターの場合、方程式系の解にはサイズ L の内積正方行列が含まれます。ここで、n が奇数のときは L = (n–1)/2 + 1、n が偶数のときは L = n/2 + 1 です。
入力引数 f と a は、フィルターの周波数-振幅特性を指定します。
f は、0 ~ 1 の範囲で指定される周波数点のペアのベクトルで、1 はナイキスト周波数に対応します。周波数は増加する順でなければなりません。重複した周波数点を指定できます。
a は、f で指定した点で目的の振幅を含むベクトルです。
k が奇数の場合、(f(k), f(k+1)) 両点間の周波数における目的の振幅関数は、点 (f(k), a(k)) と点 (f(k+1), a(k+1)) を結ぶ線分です。
k が偶数の場合、(f(k), f(k+1)) 両点間の周波数における目的の振幅関数は指定されません。これらは遷移 ("don't care") 領域です。
f と a は、同じ長さです。この長さは、偶数でなければなりません。
目的の振幅応答を定義する際のベクトル f と a の関係は、以下の Figure のようになります。
関数 firls
は、I 型、II 型、III 型、および IV 型の線形位相フィルターを設計します。I 型と II 型は、それぞれ n が偶数と奇数の場合の既定フィルターですが、'hilbert'
と 'differentiator'
のフラグを付けると、III 型 (n が偶数の場合) と IV 型 (n が奇数の場合) のフィルターが作成されます。さまざまなフィルター タイプには、それぞれ異なる対称性と周波数応答に関する制約があります (詳細については、参考文献[1]を参照してください)。
線形位相フィルター タイプ | フィルター次数 | 係数の対称性 | f=0 での応答 H(f) | f=1 (ナイキスト) での応答 H(f) |
---|---|---|---|---|
I 型 | 偶数 | 制約なし | 制約なし | |
II 型 | 奇数 | 制約なし | H(1) = 0 | |
III 型 | 偶数 | H(0) = 0 | H(1) = 0 | |
IV 型 | 奇数 | H(0) = 0 | 制約なし |
参照
[1] Oppenheim, Alan V., and Ronald W. Schafer, with John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999.
[2] Parks, Thomas W., and C. Sidney Burrus. Digital Filter Design. Hoboken, NJ: John Wiley & Sons, 1987, pp. 54–83.