Signal Processing Toolbox | ![]() ![]() |
表示
[r,p,k]=
residuez(b,a) [b,a]=
residuez(r,p,k)
詳細
residuez
は、2つの多項式の比で表される離散時間システムを部分分数展開型、または、剰余型に変換します。また、部分分数展開からオリジナルの多項式係数への逆変換も行います。
は、2つの多項式b(z)とa(z)の比から部分分数展開の剰余、極、直接項を求めます。ベクトル[r,p,k] = residuez(b,a)
b
およびa
は、離散時間システムb(z)/a(z)の多項式の係数をzの次数の降順に設定します。
出力される列ベクトルr
は剰余、列ベクトルp
は極の位置、行ベクトルk
は直接項をそれぞれ含みます。極の数は、つぎのように表されます。
n=
length(a)-1=
length(r)=
length(p)
の場合、直接項の係数ベクトルk
は空になります。そうでない場合には、つぎのようになります。
length(k) =
length(b) - length(a) + 1
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
を求めます。
length(b)>length(a)-1
の場合、deconv
(多項式除算法)を使って、直接項a
を求めます。
p =
roots
(a)
を使って極を求めます。
mpoles
により重複極を求め、その重複度に基づいて極を並べ替えます。
=
piで計算して、剰余を求めます。
S2*
r2=
h - S1*
r1
ここで、r2
には\
を使用します。h
は換算された b(z)/a(z)のインパルス応答で、S1
はその列が非重複根からなる1次システムのインパルス応答である行列で、また、r1
は非重複根の剰余を含んだ列です。行列S2
の各列は、インパルス応答です。 重複度 sjの各根pjについて、S2
は、つぎの各システムのインパルス応答を表す sj列を含みます。
ベクトルh
と行列S1
およびS2
は、n
+
xtra
行をもちます。ここで、n
は根の総数で、内部パラメータxtra
はデフォルトでは1に設定され、連立方程式の冗長度の度合いです。
参考
|
コンボリューション行列 |
|
デコンボリューションおよび多項式除算(MATLAB Function Referenceを参照) |
|
指定した根をもつ多項式(MATLAB Function Referenceを参照) |
|
Prony法を使った時間領域IIRフィルタ設計 |
|
部分分数展開(MATLAB Function Referenceを参照) |
|
多項式の根(MATLAB Function Referenceを参照) |
|
状態空間(State space)型から伝達関数型への変換 |
|
伝達関数型から状態空間(State space)型への変換 |
|
伝達関数型から零点-極-ゲイン型への変換 |
|
零点-極-ゲイン型から状態空間(State space)型への変換 |
参考文献
[1] Oppenheim, A.V., and R.W. Schafer, Digital Signal Processing, Prentice-Hall, Englewood Cliffs, NJ, 1975, pp. 166-170.
![]() | resample | rlevinson | ![]() |