ドキュメンテーション

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

tf2zp

伝達関数のフィルター パラメーターの零点-極-ゲイン形式への変換

構文

[z,p,k] = tf2zp(b,a)

説明

tf2zp では、連続時間伝達関数の零点、極、ゲインが求められます。

メモ:

連続時間伝達関数などの、正の s のべき乗 (s2 + s + 1) を扱う場合は、tf2zp を使用します。同様の関数 tf2zpk は、逆べき乗で表す伝達関数 (1 + z-1 + z-2) を扱う場合に便利です。この伝達関数は、デジタル信号処理で一般に使用されます。

[z,p,k] = tf2zp(b,a) では、伝達関数パラメーター ba から零点の行列 z、極のベクトル p、ゲインに関連付けられたベクトル k が求められます。

  • 分子多項式は、行列 b の列になります。

  • 分母多項式は、ベクトル a の形式になります。

SIMO 連続時間システムが次の多項式伝達関数型で与えられています。

H(s)=B(s)A(s)=b1sn1++bn1s+bna1sm1++am1s+am

ここで tf2zp の出力を使用して、因数分解した次の SIMO (単入力多出力) 伝達関数型を作成できます。

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

次に、tf2zp の入出力引数を説明します。

  • ベクトル a では、s (z-1) の降べきの順の分母多項式 A(s) (または A(z)) の係数が指定されます。

  • 行列 b の i 行目は、i 番目の分子多項式の係数を示します。これは B(s) または B(z) の i 行目です。指定する b の行数は、出力と同じ数にします。

  • 連続時間システムの場合、b の列数 nb は、ベクトル a の長さ na 以下でなければなりません。

  • 離散時間システムの場合、b の列数 nb は、ベクトル a の長さ na と等しくなければなりません。ベクトル baの長さが等しくない場合は、関数 eqtflength を使用して同じ長さにできます。長さが等しい場合は、行列 b の分子を (場合によっては分母ベクトル a も) ゼロでパディングします。

  • 零点の位置は、行列 z の列の形で返されます。列の数は、b の行数と同じになります。

  • 極の位置が列ベクトル p に、各分子伝達関数のゲインがベクトル k に返されます。

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

すべて折りたたむ

次の伝達関数をもつシステムを生成します。

H(s)=2s2+3ss2+12s+14=2(s-0)(s-(-32))(s--122(1-j))(s--122(1+j))

このシステムの零点、極、ゲインを求めます。eqtflength を使用して、分子と分母が同じ長さをもつようにします。極と零点をプロットし、それらが予想された位置にあることを確認します。

b = [2 3];
a = [1 1/sqrt(2) 1/4];
fvtool(b,a,'polezero')
[b,a] = eqtflength(b,a);
[z,p,k] = tf2zp(b,a)
z = 2×1

         0
   -1.5000

p = 2×1 complex

  -0.3536 + 0.3536i
  -0.3536 - 0.3536i

k = 2
text(real(z)+.1,imag(z),'Zero')
text(real(p)+.1,imag(p),'Pole')

R2006a より前に導入