Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

zplane

離散時間システムの極-零点プロット

説明

zplane(z,p) では、列ベクトル z で指定された零点と、列ベクトル p で指定された極が、現在の Figure ウィンドウにプロットされます。記号 'o' は零点を、記号 'x' は極をそれぞれ表します。このプロットには、参考のための単位円が重ねられています。

zp が行列の場合、zplane では、零点と極が zp の列で別の色でプロットされます。

zplane(b,a) では ba が行ベクトルの場合、まず、roots を使用して分子係数 b と分母係数 a によって表現される伝達関数の零点と極が求められます。

[hz,hp,ht] = zplane(___) では、零点のラインのハンドル番号 hz と極のラインのハンドル番号 hp のベクトルが返されます。ht は、複数の零点または極があるときに表示される軸/単位円ラインやテキスト オブジェクトへのハンドル番号のベクトルです。

zplane(d) は、デジタル フィルター d により示される伝達関数の零点と極を求めます。d を周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。

[vz,vp,vk] = zplane(d) は、デジタル フィルター d に対応する零点 vz、極 vp、およびゲイン vk を返します。

すべて折りたたむ

1,000 Hz でサンプリングしたデータに対して、カットオフ周波数が 200 Hz、通過帯域リップルが 3 dB、阻止帯域の減衰量が 30 dB の 4 次楕円ローパス デジタル フィルターの極と零点をプロットします。

[z,p,k] = ellip(4,3,30,200/500);
zplane(z,p)
grid
title('4th-Order Elliptic Lowpass Digital Filter')

designfilt を使用して同じフィルターを作成します。zplane を使用して極と零点をプロットします。

d = designfilt('lowpassiir','FilterOrder',4,'PassbandFrequency',200, ...
               'PassbandRipple',3,'StopbandAttenuation',30, ...
               'DesignMethod','ellip','SampleRate',1000);
zplane(d)

20 dB の阻止帯域の減衰量をもつ 8 次のチェビシェフ II 型バンドパス フィルターを設計します。阻止帯域のエッジ周波数を π/8 ラジアン/サンプルおよび 5π/8 ラジアン/サンプルとして指定します。

[b,a] = cheby2(8/2,20,[1 5]/8);

zplane を使用して伝達関数の極と零点をプロットします。

zplane(b,a)

フィルターのゼロ位相応答を可視化します。単位円と極および零点の位置を重ね合わせます。

[hw,fw] = zerophase(b,a,1024,"whole");

z = roots(b);
p = roots(a);

plot3(cos(fw),sin(fw),hw)
hold on
plot3(cos(fw),sin(fw),zeros(size(fw)),'--')
plot3(real(z),imag(z),zeros(size(z)),'o')
plot3(real(p),imag(p),zeros(size(p)),'x')
hold off
xlabel("Real")
ylabel("Imaginary")
view(35,40)
grid

入力引数

すべて折りたたむ

零点と極。列ベクトルまたは行列として指定します。zp が行列の場合、zplane では、零点と極が zp の列で別の色でプロットされます。

データ型: single | double
複素数のサポート: あり

伝達関数の係数。行ベクトルで指定します。伝達関数は、z–1 に関して定義されます。

H(z)=B(z)A(z)=b(1)+b(2)z1++b(n+1)zna(1)+a(2)z1++a(m+1)zm

例: b = [1 3 3 1]/6a = [3 0 1 0]/3 は、正規化された 3 dB の周波数 0.5π ラジアン/サンプルをもつ 3 次のバタワース フィルターを指定します。

データ型: single | double
複素数のサポート: あり

デジタル フィルター。digitalFilter オブジェクトで指定します。デジタル フィルターを周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。

例: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) は、正規化された 3 dB の周波数 0.5π ラジアン/サンプルをもつ 3 次のバタワース フィルターを指定します。

出力引数

すべて折りたたむ

極-零点プロットの、0 のライン hz と極のライン hp までのハンドル番号のベクトル。ht は、複数の零点または極があるときに表示される軸/単位円ラインやテキスト オブジェクトへのハンドル番号のベクトルです。零点と極がいずれも存在しない場合は、hzhp が両方とも空行列 [] に設定されます。

デジタル フィルター d の零点、極、およびゲイン。列ベクトルおよびスカラーとして返されます。

ヒント

  • zplane の自動スケーリングをオーバーライドするには、

    axis([xmin xmax ymin ymax])

    zplane を呼び出した後に、以下のステートメントのいずれかを使用します。このスケーリングは、零点や極に、他のものと比べて極端に大きさが異なるものが 1 つ以上存在する場合に、他と区別するのに有効な方法です。

バージョン履歴

R2006a より前に導入

すべて展開する