当前位置:
文档之家› 第10章--离散系统的频率响应
第10章--离散系统的频率响应
3
二、实验涉及的MATLAB子函数 实验涉及的 子函数 1.freqz 功能: 功能:用于求解离散时间系统的频率响应函数H(ejω)。 调用格式: 调用格式:
[h,w]=freqz(b,a,n);可得到数字滤波器的n点复 频响应值,这n个点均匀地分布在[0,π]上,并将这n个频 π 点的频率记录在w中,相应的频响值记录在h中。缺省时n= 512。
24 MATLAB程序如下: function[db,mag,pha,grd,w]=freqz-m(b,a); [H,w]=freqz(b,a,1000,′whole′); H=(H(1:501))′;w=(w(1:501))′; mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w); freqz-m子函数是freqz函数的修正函数,可获得幅值响 应(绝对和相对)、相位响应及群迟延响应。式中:
求该系统在0~π频率范围内的相对幅度频率响应与相位 频率响应。
14 MATLAB程序如下: b=[0.1321,0,-0.3963,0,0.3963,0,-0.1321]; a=[1,0,0.34319,0,0.60439,0,0.20407]; freqz(b,a); 以上程序采用了freqz不带输出向量的形式,直接出图。 执行结果如图10-1所示。 由图10-1可见,该系统是一个IIR数字带通滤波器。其 中幅频特性采用归一化的相对幅度值,以分贝( dB)为单位。
26
例10-4 已知离散时间系统的系统函数为
0.1321 + 0.3963 z + 0.3963 z + 0.1321 z H(z) = 1 − 0.34319 z −2 + 0.60439 z −4 − 0.20407 z −6
响应、相位频率响应及群迟延。
−2
−4
−6
求该系统在0~π频率范围内的绝对幅频响应、相对幅频
解 MATLAB程序如下:
b=[0.1321,0,0.3963,0,0.3963,0,0.1321]; a=[1,0,-0.34319,0,0.60439,0,-0.20407];
27 [db,mag,pha,grd,w]=freqz-m(b,a); subplot(2,2,1),plot(w/pi,mag);grid %作绝对幅 度频响图 axis([0,1,1.1*min(mag),1.1*max(mag)]); title(′幅频特性(V)′); subplot(2,2,2),plot(w/pi,pha);grid%作相位频响图 axis([0,1,1.1*min(pha),1.1*max(pha)]); title(′相频特性′); subplot(2,2,3),plot(w/pi,db);grid %作相对幅度 频响图 axis([0,1,-100,5]); title(′幅频特性( dB)′);
系统零极点的位置对系统响应有着非常明显的影响。为 了更清楚地观察零极点对系统的影响,我们选择最简单的一 阶系统为例,且仅选择其中一种情况进行分析。实际情况要 比例题复杂,如零点或极点不在原点、零极点之间的相对位 置等情况。
31
例10-5 观察系统极点的位置对幅频响应的影响。 z − q1 已知一阶离散系统的传递函数为 H(z) = z − p1 ,假
22
图10-3 例10-3系统的幅频响应、相频响应及零极点分布图
23
3.介绍一个求解频率响应的实用程序 介绍一个求解频率响应的实用程序
在实际使用freqz进行离散系统频率响应分析时,通常需 要求解幅频响应、相频响应、群时延,幅频响应又分为绝对 幅频和相对幅频两种表示方法。这里介绍一个求解频率响应 的实用程序freqz_m.m,利用这个程序,可以方便地满足上 述要求。
求该系统在0~π频率范围内,归一化的绝对幅度频率响应、 相对幅度频率响应、相位频率响应及零极点分布图。
20
解 MATLAB程序如下:
b=[0.1,-0.4,0.4,-0.1]; a=[1,0.3,0.55,0.2]; n=(0:500)*pi/500; [h,w]=freqz(b,a,n); db=20*log10(abs(h)); %求系统的相对幅频响应值 绝对幅度频响图 axis([0,1,1.1*min(abs(h)),1.1*max(abs(h))]); title(′幅频特性(V)′); subplot(2,2,1),plot(w/pi,abs(h));grid %作系统的
n =1 m =1 N
M
ቤተ መጻሕፍቲ ባይዱ
则系统的频响函数为
10
H(e jω ) = H(z) z=e jω = K
M
(e jω − c m ) ∏ (e jω − d n ) ∏
n =1 m =1 N
M
=K
∏ Cme
m =1 N n =1
jα m
D n e jβn ∏
= H(e jω ) e jϕ (ωω
11 其中,系统的幅度频响特性为
28 subplot(2,2,4),plot(w/pi,grd);grid %作系统的群 迟延图 title(′群迟延′); 响应曲线见图10-4。
29
图10-4 例10-4用freqz-m子函数求系统的频率响应曲线
30
4.系统零极点的位置对系统频率响应的影响 系统零极点的位置对系统频率响应的影响
13
2.系统的频率响应特性 系统的频率响应特性
MATLAB为求解离散系统的频率响应和连续系统的频 率响应,分别提供了freqz和freqs两个函数,使用方法类似。 本实验主要讨论离散系统的频率响应。
例10-1 已知离散时间系统的系统函数为
0.1321 − 0.3963 z −2 + 0.3963 z −4 − 0.1321 z −6 H(z) = 1 + 0.34319 z −2 + 0.60439 z −4 + 0.20407 z −6
设系统的零点q1在原点,极点p1分别取0.2、0.5、0.8,比较 它们的幅频响应曲线,从中了解系统极点的位置对幅频响应 有何影响。
32
解 MATLAB程序如下:
z=[0]′;k=1; n=(0:500)*pi/500; p1=[0.2]′; %极点在0.2处 [b1,a1]=zp2tf(z,p1,k);%由zpk模式求tf模式b和 a系数 [h1,w]=freqz(b1,a1,n);%求系统的频率响应 subplot(2,3,1),zplane(b1,a1);%作零极点分布图 title(′极点p1=0.2′); %设零点在原点处,k为1
7
4.hold 功能: 功能:在当前轴或图形上多次叠绘多条曲线。 调用格式: 调用格式:
hold 使当前图形具备刷新性质的双向开关。 hold on 使当前轴或图形保持而不被刷新,准备接受此 后将绘制的新曲线。 hold off 使当前轴或图形不再具备不被刷新的性质。
8
5.text 功能: 功能:在图形上标注文字说明。 调用格式: 调用格式:
18
图10-2 例10-2系统的幅度频率响应与相位频率响应
19 由图10-2可见,该系统是一个低通滤波器。其中,幅频 特性采用归一化的绝对幅度值。
例10-3
已知离散时间系统的系统函数为
0.1 − 0.4 z −1 + 0.4 z −2 − 0.1 z −3 H(z) = 1 + 0.3 z −1 + 0.55 z −2 + 0.2 z −3
15
图10-1 例10-1系统的幅度频率响应与相位频率响应
16
例10-2 已知离散时间系统的系统函数,求该系统在
0~π频率范围内归一化的绝对幅度频率响应与相位频率响应。
0.2 + 0.1 z −1 + 0.3 z −2 + 0.1 z −3 + 0.2 z −4 H(z) = 1 − 1.1 z −1 + 1.5 z −2 − 0.7 z −3 + 0.3 z −4
4 [h,f]=freqz(b,a,n,Fs);用于对H(ejω)在[0, Fs/2]上等间隔采样n点,采样点频率及相应频响值分别记 录在f和h中。由用户指定Fs(以Hz为单位)的值。 h=freqz(b,a,w);用于对H(ejω)在[0,2π]上进行 采样,采样频率点由矢量w指定。 h=freqz(b,a,f,Fs);用于对H(ejω)在[0,Fs]上采 样,采样频率点由矢量f指定。 freqz(b,a,n);用于在当前图形窗口中绘制幅频和相 频特性曲线。
解 MATLAB程序如下:
b=[0.2,0.1,0.3,0.1,0.2]; a=[1,-1.1,1.5,-0.7,0.3]; n=(0:500)*pi/500; %在pi的范围内取501个采样点
17 [h,w]=freqz(b,a,n);%求系统的频率响应 subplot(2,1,1),plot(n/pi,abs(h));grid%作系统的幅 度频响图 axis([0,1,1.1*min(abs(h)),1.1*max(abs(h))]); ylabel(′幅度′); subplot(2,1,2),plot(n/pi,angle(h));grid %作系统的 相位频响图 axis([0,1,1.1*min(angle(h)),1.1*max(angle(h))]); ylabel(′相位′);xlabel(′以pi为单位的频率′); 执行结果如图10-2所示。
Text(xt,yt,′string′);在图面上(xt,yt)坐标处书写文字 说明。其中文字说明字符串 必须使用单引号标注。
9
三、实验原理 1.离散系统频率响应的基本概念 离散系统频率响应的基本概念
已知稳定系统传递函数的零-极点增益(zpk)模型为