ドキュメンテーション

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

ss2zp

状態空間フィルター パラメーターの零点-極-ゲイン型への変換

構文

[z,p,k] = ss2zp(A,B,C,D,i)

説明

ss2zp では、与えられたシステムの状態空間表現が等価な零点-極-ゲイン表現に変換されます。状態空間型システムの零点、極およびゲインは、因数分解型の伝達関数を表します。

[z,p,k] = ss2zp(A,B,C,D,i) では、因数分解形式の伝達関数

H(s)Z(s)P(s)k(sz1)(sz2)(szn)(sp1)(sp2)(spn)

が計算されますが、これは連続時間システム

x˙=Ax+Buy=Cx+Du

i 番目の入力 (BDi 列目を使用) から計算したものです。返される列ベクトル p には、伝達関数の分母係数の極の位置が含まれています。行列 z は、出力 y(C の列) と同数の列で、列に分子の零点を含みます。列ベクトル k は、各分子伝達関数のゲインを含みます。

ss2zp は、離散時間システムに対しても有効です。入力する状態空間システムは、実数でなければなりません。

関数 ss2zp は、MATLAB® 基本モジュールに用意されています。

すべて折りたたむ

以下の伝達関数で定義される離散時間システムを考えてみます。

この伝達関数から直接、零点、極およびゲインを求めます。分子をゼロでパディングして長さを分母と揃えます。

b = [2 3 0];
a = [1 0.4 1];
[z,p,k] = tf2zp(b,a)
z = 2×1

         0
   -1.5000

p = 2×1 complex

  -0.2000 + 0.9798i
  -0.2000 - 0.9798i

k = 2

システムを状態空間形式で表し、ss2zp を使用して零点、極およびゲインを求めます。

[A,B,C,D] = tf2ss(b,a);
[z,p,k] = ss2zp(A,B,C,D,1)
z = 2×1

         0
   -1.5000

p = 2×1 complex

  -0.2000 + 0.9798i
  -0.2000 - 0.9798i

k = 2

アルゴリズム

ss2zp では、A 配列の固有値から極が求められます。零点は、一般化固有値問題の有限解となります。

z = eig([A B;C D], diag([ones(1,n) 0]);

多くの場合このアルゴリズムでは、非常に多数な有限個の零点が作成されます。ss2zp では、これらの多数の零点が無限と見なされます。

ss2zp では、最初のゼロ以外の Markov パラメーターを得ることで、ゲインが求められます。

参考文献

[1] Laub, A. J., and B. C. Moore. “Calculation of Transmission Zeros Using QZ Techniques.” Automatica. Vol. 14, 1978, p. 557.

R2006a より前に導入