绘制离散系统零极点图.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.