ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

residue

部分分数展開と多項式係数間の変換

構文

[r,p,k] = residue(b,a)
[b,a] = residue(r,p,k)

説明

関数 residue は、多項式の商から極 - 留数表現への変換および逆変換を行います。

[r,p,k] = residue(b,a) は、次の型の 2 つの多項式 b(s) と a(s) の比を部分分数展開して、留数、極、直接項を求めます。

b(s)a(s)=b1sm+b2sm1+b3sm2++bm+1a1sn+a2sn1+a3sn2++an+1

ここで、bj と aj は、入力ベクトル baj 番目の要素です。

[b,a] = residue(r,p,k) は、部分分数展開を係数 ba による多項式に変換します。

定義

重根がない場合は、次のようになります。

b(s)a(s)=r1sp1+r2sp2++rnspn+k(s)

極の個数 n は、次のようになります。

n = length(a)-1 = length(r) = length(p)

直接項の係数ベクトルは、length(b) < length(a) の場合空になります。その他の場合は次のようになります。

length(k) = length(b)-length(a)+1

p(j) = ... = p(j+m-1) が多重度 m の極の場合、展開は次の型の項を含むことになります。

rjspj+rj+1(spj)2++rj+m1(spj)m.

引数

b,a

s の降べきの順で多項式の係数を指定するベクトル

r

留数の列ベクトル

p

極の列ベクトル

k

直接項の行ベクトル

制限

数値的に、多項式の比からの部分分数展開は、不良設定問題になります。分母多項式 a(s) が重根をもつ多項式に近い場合、丸め誤差を含むデータの小さな変化が、極や留数の結果を大きく変化させます。状態空間または零点-極表現を使った問題の定式化の方が好ましいといえます。

2 つの多項式の比が、以下のようであるとします。

b(s)a(s)=5s3+3s22s+74s3+8s+3

このとき、以下のようになります。

b = [ 5 3 -2 7]
a = [-4 0 8 3]

また、次のように部分分数展開を計算できます。

[r, p, k] = residue(b,a)

r =
   -1.4167
   -0.6653
    1.3320

p =
    1.5737
   -1.1644
   -0.4093

k =
   -1.2500

ここで、部分分数展開を多項式の係数に変換し直します。

[b,a] = residue(r,p,k)

b =
   -1.2500   -0.7500    0.5000   -1.7500

a =
    1.0000   -0.0000   -2.0000   -0.7500

結果は、次のように表現できます。

b(s)a(s)=1.25s30.75s2+0.50s1.75s32.00s0.75.

結果は、分母の係数を求めるために正規化されていることに注意してください。

詳細

すべて折りたたむ

アルゴリズム

まず、roots で極を求めます。次に分数が適切でない場合は、直接項 kdeconv を使って多項式の長除法で求めます。最後に、留数は削除される個々の根で多項式を計算して求めます。根に対して、M ファイル resi2 は重根の位置での留数を計算します。

参照

[1] Oppenheim, A.V. and R.W. Schafer, Digital Signal Processing, Prentice-Hall, 1975, p. 56.

参考

| |

この情報は役に立ちましたか?