Signal Processing Toolbox    
bilinear

アナログ-ディジタルフィルタ変換用の双一次変換

表示

詳細

双1次変換とは、変数の数学的なマッピングです。ディジタルフィルタ処理では、これは、s(アナログ)平面をz(ディジタル)平面にマッピングする標準的な方法です。双1次変換は、古典的なフィルタ設計手法を使って設計されたアナログフィルタを離散の等価なフィルタに変換します。

双1次変換では、次式によりs平面をz平面にマッピングします。

この変換では、次式を使って、j軸を単位円周上(exp(j)に繰り返しマッピングします。ここで、は、-からで、は-からの範囲です。

bilinearには、プリワーピングを設定するオプションパラメータFpを付加することができます。Fpは、"基準"周波数、すなわちマッピング処理の前後で周波数応答が正確に一致する周波数をヘルツ単位で示します。プリワーピングモードでは、双1次変換は、次式によりs平面をz平面にマッピングします。

プリワーピングオプションを付加すると、bilinearは次式を使って、j軸を単位円周上(exp(j)に繰り返しマッピングします。ここで、は、-からで、は-から+の範囲です。

プリワーピングモードでは、bilinears平面の周波数2fs(ラジアン/秒)を、z平面の2fp(ラジアン/秒)に一致させます。

関数bilinearは、3つの異なる線形システム表現(零点-極-ゲイン、伝達関数、および状態空間型)で機能します。

零点-極-ゲイン

[zd,pd,kd] = bilinear(z,p,k,fs) および

[zd,pd,kd] = bilinear(z,p,k,fs,Fp) は、zp、およびkで設定されるs領域の伝達関数を離散の等価な関数に変換します。入力zおよびpは零点と極を含む列ベクトルで、kはスカラゲインです。fsは、ヘルツ単位のサンプリング周波数です。bilinearは、列ベクトルzdpdとスカラkdに、離散の等価な関数を出力します。Fpは、プリワーピングに関するオプションの基準周波数をヘルツ単位で表したものです。

伝達関数

[numd,dend] = bilinear(num,den,fs) および

[numd,dend] = bilinear(num,den,fs,Fp) は、numおよびdenによって与えられるs領域伝達関数を離散の等価な関数に変換します。行ベクトルnumおよびdenは、つぎのように分子および分母の係数をsの次数の降順にそれぞれ設定します。

fsは、ヘルツ単位のサンプリング周波数です。bilinearは、離散の等価な関数を行ベクトルnumdおよびdendz の次数の降順(z-1の昇順)に出力します。Fpは、プリワーピングに関するオプションの基準周波数をヘルツ単位で表したものです。

状態空間

[Ad,Bd,Cd,Dd] = bilinear(A,B,C,D,fs) および

[Ad,Bd,Cd,Dd] = bilinear(A,B,C,D,fs,Fp) は、行列ABCDの連続系状態空間システム

を、つぎの離散系システムに変換します。

fsは、ヘルツ単位のサンプリング周波数です。bilinearは、離散の等価なシステムを行列AdBdCdDdに出力します。Fpは、プリワーピングに関するオプションの基準周波数をヘルツ単位で表したものです。

アルゴリズム

bilinearは、与えられた入力線形システムの形式に応じて、2つのアルゴリズムのどちらかを使用します。一つのアルゴリズムは、零点-極-ゲイン型を処理し、もう一つのアルゴリズムは、状態空間型を処理します。伝達関数表現の場合には、bilinearは、まず状態空間型に変換してから、この変換を実行し、得られた状態空間システムを伝達関数型に逆変換します。

零点-極-ゲインアルゴリズム

零点-極-ゲイン型のシステムの場合、bilinearは、つぎの4つのステップを実行します。

  1. Fpが存在する場合、k = 2*pi*Fp/tan(pi*Fp/fs)とし、存在しない場合、k = 2*fsとします。
  2. つぎのステートメントを使って、±∞で零点を除去します。
  3. つぎのステートメントを使って、零点、極、およびゲインを変換します。
  4. -1で余分な零点を付加し、得られるシステムの分子の次数と分母の次数が等しくなるようにします。

状態空間アルゴリズム

状態空間型のシステムの場合、bilinearは、つぎの2つのステップを実行します。

  1. Fpが存在する場合、k = 2*pi*Fp/tan(pi*Fp/fs)とし、存在しない場合、k = 2*fsとします。
  2. 次式により、ABC、およびDを使って、AdBdCd、およびDdを計算します。

bilinearは、通常のMATLABステートメントを使って、これらの関係を実現します。スカラrは任意です。bilinearは、結果求まるシステム中で、良好な量子化ノイズを保証するため、sqrt(2/k)を使います。

診断

bilinearは、分子の次数が分母の次数以下であることを必要とします。他の場合には、bilinearは、つぎのメッセージを表示します。

bilinearに線形システムの零点-極-ゲイン型と伝達関数型を区別させるには、最初の2 displaysつの入力引数が同じ向きのベクトルでなければなりません。他の場合には、bilinearは、つぎのメッセージを表示します。

参考
impinvar
アナログ/ディジタルフィルタ変換のインパルス不変応答法
lp2bp
ローパスフィルタからバンドパスアナログフィルタへの変換
lp2bs
ローパスフィルタからバンドストップアナログフィルタへの変換
lp2hp
ローパスフィルタからハイパスアナログフィルタへの変換
lp2lp
ローパスフィルタからローパスアナログフィルタへの変換

参考文献

[1] Parks, T.W., and C.S. Burrus. Digital Filter Design. New York: John Wiley & Sons, 1987. Pgs. 209-213.

[2] Oppenheim, A.V., and R.W. Schafer. Discrete-Time Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1989. Pgs. 415-430.


 besself blackman