绘制离散系统零极点图.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

绘制离散系统零极点图:zplane() 滤波器

绘制离散系统零极点图:zplane()

zplane(Z,P) 以单位圆为基准绘制零极点图,在图中以'o'表示零点,以'x'表示极点,如果存在重零极点,则在它们的右上方显示其数目。如果零极点是用矩阵来表示,在不同行内的零极点用不同的颜

色来表示。

zplane(B, A) 输入的是传递函数模型,则函数将首先调用root

函数以求出它们的零极点。

[H1, H2, H3]=zplane(Z,P) 函数返回图形对象的句柄。其中,H1返回的是零点线的句柄;H2返回的是极点线的句柄;H3返回的是轴和单位圆线条句柄。如果有重零极点,它还包括显示在其右上方

的文本句柄。

例:设计一个数字椭圆带阻滤波器,具体要求是:通带截止频率是

wp1=1500Hz,wp2=2500Hz,阻带截止频率是ws1=1000Hz,ws2=3000Hz,在通带内的最大衰减为0.5dB,在阻带内的最小衰减

为60dB

程序设计如下:

wp1=1500; wp2=2500; ws1=1000; ws2=3000; Fs=100

00Hz;

rp=0.5; rs=60;

wp=[wp1,wp2]; ws=[ws1,ws2];

[n,wn]=ellipord(wp/(Fs/2), ws/(Fs/2), rp, rs);

[num,den]=ellip(n, rp, rs, wn, 'stop');

[H, W]=freqz(num, den);

figure;

plot(W*Fs/(2*pi), abs(H)); grid;

xlabel('频率/Hz');

ylabel('幅值');

figure;

impz(num, den);

figure;

grpdelay(num, den);

figure;

zplane(num, den);

FREQZ 是计算数字滤波器的频率响应的函数

[H,W] = FREQZ(B,A,N) returns the N-point complex

frequency response

vector H and the N-point frequency vector W in

radians/sample of

the filter:

函数的输出:a.滤波器的频率响应H(N点) b.频率向量W(N 点,且单位为弧度)

其中,滤波器形式如下:

given numerator and denominator coefficients in vectors B and

A. The

frequency response is evaluated at N points equally spaced

around the

upper half of the unit circle. If N isn't specified, it defaults

to 512.

滤波器的系数:

分子为B,分母为A

频率向量W,是均匀分布在滤波器的上半区,即:0:pi,这些点上的频率响应都将通过此函数计算出来。

举例:

假设滤波器的系数A=1,B=【1 1/2 1/3 1/4】;通过FREQZ函数

便可以得到此滤波器的频率特性

其中,需要考察的是H和W的长度,看是否符合我们设置的N。

[H,W] = FREQZ(B,A,N,'whole') uses N points around the whole

unit circle.

函数给出了滤波器的双边频率特性,是N点的

H = FREQZ(B,A,W) returns the frequency response at

frequencies

designated in vector W, in radians/sample (normally

between 0 and pi).

函数的输出依然是滤波器的频率响应H,只不过这个H是限定了范围的,不再是全频率(0:pi)上的了,这个范围由W来指定,

单位是弧度。

举例:W=【0.5pi----pi】,下图中,红线部分便是此函数的输出,

可见,只描述了【0.5pi----pi】之间的频率响应。

[H,F] = FREQZ(B,A,N,Fs) and [H,F] =

FREQZ(B,A,N,'whole',Fs) return

frequency vector F (in Hz), where Fs is the sampling

frequency (in Hz).

注意下图的横坐标与程序中fs的关系

H = FREQZ(B,A,F,Fs) returns the complex frequency

response at the

frequencies designated in vector F (in Hz), where Fs is the

sampling

frequency (in Hz).

FREQZ(B,A,...) with no output arguments plots the

magnitude and

unwrapped phase of the filter in the current figure window.

相关文档
最新文档