Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

lp2bp

ローパス アナログ フィルターからバンドパス アナログ フィルターへの変換

説明

[bt,at] = lp2bp(b,a,Wo,Bw) では、(行ベクトル b および a により指定された) 多項式係数によって与えられるアナログ ローパス フィルターのプロトタイプが、中心周波数 Wo と帯域幅 Bw をもつバンドパス フィルターに変換されます。入力システムはアナログ フィルターのプロトタイプでなければなりません。

[At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw) は、(行列 ABC、および D により指定された) 連続時間状態空間ローパス フィルターのプロトタイプを、中心周波数 Wo、帯域幅 Bw のバンドパス フィルターに変換します。入力システムはアナログ フィルターのプロトタイプでなければなりません。

すべて折りたたむ

14 次のローパス バタワース アナログ フィルターのプロトタイプを設計します。

n = 14;
[z,p,k] = buttap(n);

プロトタイプを伝達関数形式に変換します。その振幅応答と周波数応答を表示します。

[b,a] = zp2tf(z,p,k);
freqs(b,a)

Figure contains 2 axes objects. Axes object 1 with xlabel Frequency (rad/s), ylabel Phase (degrees) contains an object of type line. Axes object 2 with xlabel Frequency (rad/s), ylabel Magnitude contains an object of type line.

プロトタイプを 30 ~ 100 Hz の通過帯域をもつバンドパス フィルターに変換します。中心周波数と帯域幅を rad/s 単位で指定します。

fl = 30;
fh = 100;

Wo = 2*pi*sqrt(fl*fh); % center frequency
Bw = 2*pi*(fh-fl); % bandwidth

[bt,at] = lp2bp(b,a,Wo,Bw);

変換後のフィルターの振幅応答と周波数応答を表示します。

freqs(bt,at)

Figure contains 2 axes objects. Axes object 1 with xlabel Frequency (rad/s), ylabel Phase (degrees) contains an object of type line. Axes object 2 with xlabel Frequency (rad/s), ylabel Magnitude contains an object of type line.

入力引数

すべて折りたたむ

プロトタイプの分子と分母の係数。行ベクトルとして指定します。ba は、プロトタイプの分子と分母の係数を s の次数の降べきの順に指定します。

B(s)A(s)=b(1)sn++b(n)s+b(n+1)a(1)sm++a(m)s+a(m+1)

データ型: single | double

プロトタイプの状態空間表現。行列として指定します。状態空間の行列は状態ベクトル x、入力 u、出力 y を以下の式により表します。

x˙=Ax+Buy=Cx+Du

データ型: single | double

中心周波数。スカラーとして指定します。低い方の帯域エッジ w1 と高い方の帯域エッジ w2 をもつフィルターでは、Wo = sqrt(w1*w2) が使用されます。Wo を rad/s 単位で表します。

データ型: single | double

帯域幅。スカラーとして指定します。低い方の帯域エッジ w1 と高い方の帯域エッジ w2 をもつフィルターでは、Bw = w2w1 が使用されます。Bw を rad/s 単位で表します。

データ型: single | double

出力引数

すべて折りたたむ

変換後の分子と分母の係数。行ベクトルとして返されます。

変換後の状態空間表現。行列として返されます。

アルゴリズム

lp2bp では、1 rad/s のカットオフ角周波数をもつアナログ ローパス フィルターのプロトタイプが、望ましい帯域幅と中心周波数をもつバンドパス フィルターに変換されます。この変換は、関数 buttercheby1cheby2、および ellip のデジタル フィルター設計の 1 ステップです。

lp2bp は、標準的なアナログ フィルター周波数変換の高精度な状態空間形式の公式です。次の状態空間システムを考えます。

x˙=Ax+Buy=Cx+Du

ここで、u は入力、x は状態ベクトル、y は出力です。最初の方程式 (初期条件を 0 と仮定) のラプラス変換は、次のようになります。

sX(s)=AX(s)+BU(s)

このとき、バンドパス フィルターが中心周波数 ω0 と帯域幅 Bw をもつ場合、標準の s 領域の変換は、以下のようになります。

s=Q(p2+1)/p

ここでは Q = ω0/Bw および p = s/ω0 です。これをラプラス変換した状態空間方程式の s に代入し、演算子 p を d/dt と考えます。

Qx¨+Qx=A˙x+Bu˙

または

Qx¨A˙xBu˙=Qx

次に、以下のように定義します。

Qω˙=Qx

これを代入すると次式が導かれます。

Qx˙=Ax+Qω+Bu

最後の 2 つの方程式により、状態方程式が得られます。これらを標準型で記述し、p で表される時間または周波数スケーリングを回復するために ω0 微分方程式に乗算して、バンドパス フィルターの状態行列が求められます。

Q=ω0Bw

At=ω0[AQeye(ma,m);eye(ma,m)zeros(ma,m)]

Bt=ω0[BQ;zeros(ma,n)]

Ct=[Czeros(mc,ma)]

Dt=D

ここで、[ma,m]=size(A) です。

lp2bp では、次の 2 つの異なる線形システム表現で変換を行えます。伝達関数形式および状態空間形式。lp2bp への入力が伝達関数形式の場合は、このアルゴリズムを適用する前に状態空間形式に変換されます。

拡張機能

バージョン履歴

R2006a より前に導入