Signal Processing Toolbox    
residuez

z-変換での部分分数展開

表示

詳細

residuezは、2つの多項式の比で表される離散時間システムを部分分数展開型、または、剰余型に変換します。また、部分分数展開からオリジナルの多項式係数への逆変換も行います。

[r,p,k] = residuez(b,a) は、2つの多項式b(z)とa(z)の比から部分分数展開の剰余、極、直接項を求めます。ベクトルbおよびaは、離散時間システムb(z)/a(z)の多項式の係数をzの次数の降順に設定します。

重根がなく、かつ、a>n-1の場合、つぎのようになります。

出力される列ベクトルrは剰余、列ベクトルpは極の位置、行ベクトルkは直接項をそれぞれ含みます。極の数は、つぎのように表されます。

の場合、直接項の係数ベクトルkは空になります。そうでない場合には、つぎのようになります。

p(j) = ... = p(j+s-1)が、重複度sの極の場合、展開はつぎの型の項を含みます。

3つの入力引数と2つの出力引数を設定した[b,a] = residuez(r,p,k)は、部分分数展開を行ベクトルbおよびaに係数をもつ多項式に変換します。

MATLAB基本モジュールの関数residueは、residuezと非常に似ています。これは、residuezの場合のz領域の離散時間ではなく、Laplace領域(参考文献[1]を参照)の連続時間の部分分数展開を計算します。

アルゴリズム

residuezは、つぎのようにMATLABの基本モジュール関数と部分分数展開法を適用して、bおよびaからr, p, kを求めます。

  1. length(b)>length(a)-1の場合、deconv(多項式除算法)を使って、直接項aを求めます。
  2. p = roots(a)を使って極を求めます。
  3. mpolesにより重複極を求め、その重複度に基づいて極を並べ替えます。
  4. 重複根でない極piに対して、1/(1-piz-1)をb(z)/a(z)に乗算し、求まる有理関数をz = piで計算して、剰余を求めます。
  5. 重複極に対して、剰余は、次式から求められます。

    ここで、r2には\を使用します。hは換算された b(z)/a(z)のインパルス応答で、S1はその列が非重複根からなる1次システムのインパルス応答である行列で、また、r1は非重複根の剰余を含んだ列です。行列S2の各列は、インパルス応答です。 重複度 sjの各根pjについて、S2は、つぎの各システムのインパルス応答を表す sj列を含みます。

ベクトルhと行列S1およびS2は、n + xtra行をもちます。ここで、nは根の総数で、内部パラメータxtraはデフォルトでは1に設定され、連立方程式の冗長度の度合いです。

参考
convmtx
コンボリューション行列
deconv
デコンボリューションおよび多項式除算(MATLAB Function Referenceを参照)
poly
指定した根をもつ多項式(MATLAB Function Referenceを参照)
prony
Prony法を使った時間領域IIRフィルタ設計
residue
部分分数展開(MATLAB Function Referenceを参照)
roots
多項式の根(MATLAB Function Referenceを参照)
ss2tf
状態空間(State space)型から伝達関数型への変換
tf2ss
伝達関数型から状態空間(State space)型への変換
tf2zp
伝達関数型から零点-極-ゲイン型への変換
zp2ss
零点-極-ゲイン型から状態空間(State space)型への変換

参考文献

[1] Oppenheim, A.V., and R.W. Schafer, Digital Signal Processing, Prentice-Hall, Englewood Cliffs, NJ, 1975, pp. 166-170.


 resample rlevinson