ドキュメンテーション

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

ss2zp

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

構文

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

説明

[z,p,k] = ss2zp(A,B,C,D) は、与えられた連続時間システムまたは離散時間システムの状態空間表現

x˙=Ax+Buy=Cx+Du

を、零点、極およびゲインが因数分解型の伝達関数を表す、等価な零点-極-ゲイン表現

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

に変換します。

[z,p,k] = ss2zp(A,B,C,D,ni) は、システムに複数の入力があり、ni 番目の入力に単位インパルスが与えられていることを示します。

すべて折りたたむ

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

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

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

入力引数

すべて折りたたむ

状態行列。システムに r 個の入力と q 個の出力があり、n 個の状態変数により記述される場合、A は n 行 n 列になります。

データ型: single | double

状態空間への入力行列。システムに r 個の入力と q 個の出力があり、n 個の状態変数により記述される場合、B は n 行 r 列になります。

データ型: single | double

状態空間への入力行列。システムに r 個の入力と q 個の出力があり、n 個の状態変数により記述される場合、C は q 行 n 列になります。

データ型: single | double

直達行列。システムに r 個の入力と q 個の出力があり、n 個の状態変数により記述される場合、D は q 行 r 列になります。

データ型: single | double

入力インデックス。整数スカラーとして指定します。システムに r 個の入力がある場合は、ss2zp を後続の引数 ni = 1,..., r と共に使用して、ni 番目の入力に適用される単位インパルスに対する応答を計算します。この引数を指定すると、ss2zpB および Dni 番目の列を使用します。

データ型: single | double

出力引数

すべて折りたたむ

システムの零点。行列として返されます。z は、列に分子の零点を含みます。z には、出力 (C の行) と同数の列があります。

システムの極。列ベクトルとして返されます。p は、伝達関数の分母係数の極位置を含みます。

システムのゲイン。列ベクトルとして返されます。k は、各分子伝達関数のゲインを含みます。

アルゴリズム

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 より前に導入