实验4 离散时间系统的频域分析
一、实验目的
(1)了解离散系统的零极点与系统因果性和稳定性的关系;
(2)加深对离散系统的频率响应特性基本概念的理解;
(3)熟悉MATLAB中进行离散系统零极点分析的常用子函数;
(4)掌握离散系统幅频响应和相频响应的求解方法。
二、知识点提示
本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是无所谓英语MATLAB相关子函数的使用。
三、实验原理
1.离散时间系统的零极点及零极点分布图
设离散时间系统系统函数为
(4-1)
MATLAB提供了专门用于绘制离散时间系统零极点图的zplane函数:
①zplane函数
格式一:zplane(z, p)
功能:绘制出列向量z中的零点(以符号"○" 表示)和列向量p中的极点(以符号"×"表示),同时画出参考单位圆,并在多阶零点和极点的右上角标出其阶数。如果z和p为矩阵,则zplane以不同的颜色分别绘出z和p各列中的零点和极点。
格式二:zplane(B, A)
功能:绘制出系统函数H(z)的零极点图。其中B和insane是什么意思A为系统函数(4-1)式的分子和分母多项式系数向量。zplane(B, A) 输入的是传递函数模型,函数首先调用root函数以求出它们的零极点。
②roots函数。用于求多项式的根,调用格式:roots(C),其中C为多项式的系数向量,降幂排列。
2.离散系统的频率特性
MATLAB提供了专门用于求离散系统频响特性的丹顶鹤的英文freqz福尔摩斯基本演绎法第二季函数,调用格式如下:
①H = freqz(B,A,W)
欧美文化
功能:计算由向量W(rad)指定的数字频率点上(通常指[0,π]范围的频率)离散系统pool什么意思的频率响应,结果存于H向量中。向量B和A分别为离散系统(4-1)式的分子、分母多项式的系数。
②[H,w] = freqz(B,A,N)
功能:计算出N个频率点上的频率响应存放在向量H中,N个频率点存放在向量W中。N为正整数,freqz函数自动将这N个频率点均匀设置在频率范围[0,π]上。默认W和N时,freqz函数自动选取512个频率点计算。
③[H,w] = freqz(B,A,N,'whole')
功能:计算出N个频率点上的频率响应存放在向量H中,N个频率点存放在向量W中。N为正整数,freqz函数自动将这N个频率点均匀设置在频率范围[0,2π]上。
④[H,F] = freqz(B,A,N,Fs)或[H,F] = freqz(B,A,N,'whole',Fs)
功能:按指定的抽样频率Fs(Hz)及N个频率点,返回频率响应向量H和频率向量Fs(Hz)。
⑤H = freqz(B,A,F,Fs)
功能:计算出指定向量F(Hz)和抽样频率Fs(Hz)的频率响应。
先调用freqz函数计算系统的频率响应,然后利用abs和angle函数及plot函数绘制系统在[0,π]或[0,2π]范围内的频响曲线。
3. 利用圆周卷积定理求系统的输出(线性卷积的FFT算法)
若的列长为,的列长为,计算点圆周卷积时,当时,圆周卷积等于线性卷积。利用圆周卷积定理,计算和的离散傅里叶变换和,求,对求离散傅里叶反变换得,如图4-1所示。其中,计算DFT和IDFT时用快速算法FFT和IFFT。
图4-1线性卷积的FFT算法
四、实验内容
4.1已知离散时间系统的系统函数为
求系统的零极点,画出零极点分布图,判断系统的因果稳定性。
代码:
B=[0.2 0.1 0.3 0.1 0.2];
A=[1 -1.1 1.5 -0.7 0.3];
J=roots(A);
L=roots(B);
J
L
zplane(B,A);
J =
0.2367 + 0.8915i
beef是什么意思
0.2367 - 0.8915i
0.3133 + 0.5045i
0.3133 - 0.5045i
L =
-0.5000 + 0.8660i
-0.5000 - 0.8660i
0.2500 + 0.9682i
0.2500 - 0.9682i
4.2已知离散时间系统的系统函数为
画出系统在频率范围内的幅频响应和相频响应图形。
代码:
B=[0.2 0.1 0.3 0.1 0.2];
A=[1 -1.1 1.5 -0.7 0.3];
[H,W]=freqz(B,A);
subplot(2,1,1);
plot(W/pi,abs(H));
grid;
title('幅频响应');
xlabel('w/pi');
ylabel('Amplitude');
subplot(2,1,2);
plot(W/pi,angle(H));
grid;
title('相频响应');
xlabel('w/pi');
ylabel('Pha');
4.3已知系统的单位脉冲响应,利用freqz函数画出系统在频率范围内的幅频响应和相频响应图形。
代码:
B=[8 4 2 1];
A=[1];
N=length(B);
n=0:N-1;
[H,W]=freqz(B,A,'whole');
subplot(2,1,1);
plot(W/pi,abs(H));
title('幅频响应');
xlabel('W/pi');
ylabel('Amplitude');
grid;
subplot(2,1,2);
plot(W/pi,angle(H));
xlabel('W/pi');
ylabel('Pha');
grid;
4.4已知离散时间系统的系统函数为
画出系统在频率范围内的幅频响应和相频响应图形,并与课本上例2-9进行对比。
代码:
B=[1 0 1];
A=[1 -0.8*sqrt(2) 0.64];
N=length(B);
n=0:N-1;
[H,W]=freqz(B,A,'whole');
subplot(2,1,1);
plot(W/pi,abs(H));abi
title('幅频响应');
xlabel('W/pi');
ylabel('Amplitude');
grid;
subplot(2,1,2);
plot(W/pi,angle(H));
xlabel('W/pi');
ylabel('Pha');
grid;
4.5已知系统单位脉冲响应为,如果输入为,利用圆周卷积定理求系统输出。
代码:
n1=0:1:19;
L1=length(n1);
n2=0:1:9;
L2=length(n2);
l=0:(L1+L2-2);
L=length(l);
hn=[cos(0.5*n1)+sin(0.2*n1),zeros(1,L-L1)];
xn=[exp(0.2*n2),zeros(1,L-L2)];
Hk=fft(hn,L);
Xk=fft(xn,L);
Yk=Xk.*Hk;
yn=ifft(Yk,L);
stem(l,yn,'filled');
五、思考题
4.1 因果稳定的线性时不变离散系统必须满足的充分必要条件是什么?系统函数零极点的位置与系统冲激响应有何关系?对系统的幅度响应有何影响?
答:因果稳定的线性时不变离散系统必须满足的充分必要条件是极点必须全部在单位圆内部。
系统函数零极点的位置与系统冲激响应的关系:
(1)冲激响应波形是指指数衰减还是指数增长或等幅振荡,主要取决于极点位于s左半平面还是右半平面或在虚轴上。
(2)冲激响应波形衰减或增长快慢,主要取决于极点离虚轴的远近。
(3)冲激响应波形振荡的快慢,主要取决于极点离实轴的远近。
对系统的幅度响应的影响:
极点主要影响频率幅度响应的峰值,极点愈靠近单位圆,峰值愈尖锐
4.2 利用MATLAB如何求解离散系统的幅频响应和相频响应?
先求出离散系统的系统函数H(z)
MATLAB提供了专门用于求离散系统频响特性的freqz函数,调用格式如下:
①H = freqz(B,A,W)
功能:计算由向量W(rad)指定的数字频率点上(通常指[0,π]范围的频率)离散系统的频率响应,结果存于H向量中。向量B和A分别为离散系统(4-1)式的分子、分母多项式的系数。
②[H,w] = freqz(B,A,N)
功能:计算出N个频率点上的频率响应存放在向量H中,N个频率点存放在向量W中。N为正整数,freqz函数自动将这N个频率点均匀设置在频率范围[0,π]上。默认W和N时,freqz函数自动选取512个频率点计算。
③[H,w] = freqz(B,A,N,'whole')
功能:计算出N个频率点上的频率响应存放在向量H中,N个频率点存放在向量W中。N为正整数,freqz函数自动将这N个频率点均匀设置在频率范围[0,2π]上。
④[H,F] = freqz(B,A,N,Fs)或[H,F] = freqz(B,A,N,'whole',Fs)
功能:按指定的抽样频率Fs(Hz)及N个频率点,返回频率响应向量H和频率向量Fs(Hz)。
⑤山东中医药大学分数线H = freqz(B,A,F,Fs)
功能:计算出指定向量F(Hz)汉堡包的英文和抽样频率Fs(Hz)的频率响应。
先调用freqz函数计算系统的频率响应,然后利用abs和angle函数及plot函数绘制系统在[0,π]或[0,2π]范围内的频响曲线。
六、实验报告
1、写出实验目的,给出实验程序及仿真结果,要求在关键程序语句后面进行注释;
2、回答思考题。