MATLABでfirls関数はどのように使えばよいですか?
MATLABでは、firls関数は最適線形位相フィルタの設計に使用されます。与えられた周波数応答の要求と窓関数の種類に基づいて、最適なフィルタ係数を計算します。
firls関数の構文は次のようになります。
h = firls(n、f、a)
n はフィルタ次数(偶数限定)、f は周波数点のベクトルで、周波数応答の指定、a は振幅応答のベクトルで、対応する周波数点でのゲインを表す。
さらに、fとaは同じ長さでなくてはならず、fの要素は昇順になっている必要があります。
firls 関数はオプションの重み付けパラメータ w を取り、周波数ポイントの重みを指定できます。既定では、すべての周波数ポイントの重みは 1 です。
この関数はフィルターの係数 h (長さ n+1 のベクトル) を返します。freqz 関数を使用してフィルターの周波数応答をプロットできます。
例えば、以下のコードは、次数30の最適低域通過フィルタを設計します。
n = 30; % フィルタ次数
f = [0, 0.2, 0.4, 1]; % 周波数ポイント
a = [1, 1, 0, 0]; % 振幅応答
h = fir(n, f, a) ; % フィルタ係数の計算
freqz(h) % 周波数応答プロットの描画