实验六信号与系统复频域研究分析.docx
《实验六信号与系统复频域研究分析.docx》由会员分享,可在线阅读,更多相关《实验六信号与系统复频域研究分析.docx(9页珍藏版)》请在冰点文库上搜索。
实验六信号与系统复频域研究分析
实验六-信号与系统复频域分析
————————————————————————————————作者:
————————————————————————————————日期:
实验六信号与系统复频域分析
一、实验目的
1.学会用MATLAB进行部分分式展开;
2.学会用MATLAB分析LTI系统的特性;
3.学会用MATLAB进行Laplace正、反变换。
4.学会用MATLAB画离散系统零极点图;
5.学会用MATLAB分析离散系统的频率特性;
二、实验原理及内容
1.用MATLAB进行部分分式展开
用MATLAB函数residue可以得到复杂有理分式F(s)的部分分式展开式,其调用格式为
其中,num,den分别为F(s)的分子和分母多项式的系数向量,r为部分分式的系数,p为极点,k为F(s)中整式部分的系数,若F(s)为有理真分式,则k为零。
例6-1用部分分式展开法求F(s)的反变换
解:
其MATLAB程序为
formatrat;
num=[1,2];
den=[1,4,3,0];
[r,p]=residue(num,den)
程序中formatrat是将结果数据以分数形式显示
F(s)可展开为
所以,F(s)的反变换为
2.用MATLAB分析LTI系统的特性
系统函数H(s)通常是一个有理分式,其分子和分母均为多项式。
计算H(s)的零极点可以应用MATLAB中的roots函数,求出分子和分母多项式的根,然后用plot命令画图。
在MATLAB中还有一种更简便的方法画系统函数H(s)的零极点分布图,即用pzmap函数画图。
其调用格式为
pzmap(sys)
sys表示LTI系统的模型,要借助tf函数获得,其调用格式为
sys=tf(b,a)
式中,b和a分别为系统函数H(s)的分子和分母多项式的系数向量。
如果已知系统函数H(s),求系统的单位冲激响应h(t)和频率响应
可以用以前介绍过的impulse和freqs函数。
例6-2已知系统函数为
试画出其零极点分布图,求系统的单位冲激响应h(t)和频率响应
,并判断系统是否稳定。
解:
其MATLAB程序如下:
num=[1];
den=[1,2,2,1];
sys=tf(num,den);
figure
(1);pzmap(sys);
t=0:
0.02:
10;
h=impulse(num,den,t);
figure
(2);plot(t,h)
title('ImpulseResponse')
[H,w]=freqs(num,den);
figure(3);plot(w,abs(H))
xlabel('\omega')
title('MagnitudeResponse')
3.用MATLAB进行Laplace正、反变换
MATLAB的符号数学工具箱提供了计算Laplace正、反变换的函数Laplace和ilaplace,其调用格式为
上述两式右端的f和F分别为时域表示式和s域表示式的符号表示,可以应用函数sym实现,其调用格式为
S=sym(A)
式中,A为待分析表示式的字符串,S为符号数字或变量。
例6-3试分别用Laplace和ilaplace函数求
(1)
的Laplace变换;
(2)
的Laplace反变换。
解:
(1)其程序为
f=sym('exp(-t)*sin(a*t)');
F=laplace(f)
或
symsat
F=laplace(exp(-t)*sin(a*t))
(2)其程序为
F=sym('s^2/(s^2+1)');
ft=ilaplace(F)
或
symss
ft=ilaplace(s^2/(s^2+1))
4.离散系统零极点图
离散系统可以用下述差分方程描述:
Z变换后可得系统函数:
用MATLAB提供的root函数可分别求零点和极点,调用格式是
p=[a0,a1…an],q=[b0,b1…bm,0,0…0],补0使二者维数一样。
画零极点图的方法有多种,可以用MATLAB函数[z,p,k]=tf2zp(b,a)和zplane(q,p),也可用plot命令自编一函数ljdt.m,画图时调用。
functionljdt(A,B)
%Thefunctiontodrawthepole-zerodiagramfordiscretesystem
p=roots(A);%求系统极点
q=roots(B);%求系统零点
p=p';%将极点列向量转置为行向量
q=q';%将零点列向量转置为行向量
x=max(abs([pq1]));%确定纵坐标范围
x=x+0.1;
y=x;%确定横坐标范围
clf
holdon
axis([-xx-yy])%确定坐标轴显示范围
w=0:
pi/300:
2*pi;
t=exp(i*w);
plot(t)%画单位园
axis('square')
plot([-xx],[00])%画横坐标轴
plot([00],[-yy])%画纵坐标轴
text(0.1,x,'jIm[z]')
text(y,1/10,'Re[z]')
plot(real(p),imag(p),'x')%画极点
plot(real(q),imag(q),'o')%画零点
title('pole-zerodiagramfordiscretesystem')%标注标题
holdoff
例6-4求系统函数零极点图
a=[3-10001];
b=[11];
ljdt(a,b)
p=roots(a)
q=roots(b)
pa=abs(p)
5.离散系统的频率特性
离散系统的频率特性可由系统函数求出,既令
MATLAB函数freqz可计算频率特性,调用格式是:
[H,W]=freqz(b,a,n),b和a是系统函数分子分母系数,n是
范围n个等份点,默认值512,H是频率响应函数值,W是相应频率点;
[H,W]=freqz(b,a,n,’whole’),n是
范围n个等份点;
freqz(b,a,n),直接画频率响应幅频和相频曲线;
例6-5系统函数
运行如下语句,可得10个频率点的计算结果
A=[10];
B=[1-0.5];
[H,W]=freqz(B,A,10)
继续运行如下语句,可将400个频率点的计算结果用plot语句画幅频和相频曲线
B=[1-0.5];
A=[10];
[H,w]=freqz(B,A,400,'whole');
Hf=abs(H);
Hx=angle(H);
clf
figure
(1)
plot(w,Hf)
title('离散系统幅频特性曲线')
figure
(2)
plot(w,Hx)
title('离散系统相频特性曲线')
还可用freqz语句直接画图,注意区别
A=[10];
B=[1-0.5];
freqz(B,A,400)
例6-6用几何矢量法,自编程序画频率响应
原理:
频率响应
编程流程:
定义Z平面单位圆上k个频率等分点;求出系统函数所有零点和极点到这些等分点的距离;求出系统函数所有零点和极点到这些等分点的矢量的相角;求出单位圆上各
频率等分点的
画指定范围内的幅频与相频。
若要画零极点图,可调用ljdt.m函数。
functiondplxy(k,r,A,B)
%Thefunctiontodrawthefrequencyresponseofdiscretesystem
p=roots(A);%求极点
q=roots(B);%求零点
figure
(1)
ljdt(A,B)%画零极点图
w=0:
l*pi/k:
r*pi;
y=exp(i*w);%定义单位圆上的k个频率等分点
N=length(p);%求极点个数
M=length(q);%求零点个数
yp=ones(N,1)*y;%定义行数为极点个数的单位圆向量
yq=ones(M,1)*y;%定义行数为零点个数的单位圆向量
vp=yp-p*ones(1,r*k+1);%定义极点到单位圆上各点的向量
vq=yq-q*ones(1,r*k+1);%定义零点到单位圆上各点的向量
Ai=abs(vp);%求出极点到单位圆上各点的向量的模
Bj=abs(vq);%求出零点到单位圆上各点的向量的模
Ci=angle(vp);%求出极点到单位圆上各点的向量的相角
Dj=angle(vq);%求出零点到单位圆上各点的向量的相角
fai=sum(Dj,1)-sum(Ci,1);%求系统相频响应
H=prod(Bj,1)./prod(Ai,1);%求系统幅频响应
figure
(2)
plot(w,H);%绘制幅频特性曲线
title('离散系统幅频特性曲线')
xlabel('角频率')
ylabel('幅度')
figure(3)
plot(w,fai)
title('离散系统的相频特性曲线')
xlabel('角频率')
ylabel('相位')
已知系统函数
,画频率响应和零极点图。
A=[1-1/4];
B=[5/4-5/4];
dplxy(500,2,A,B)%绘制系统2π频率范围内500个频率点的幅频和相频特性曲线及零极点图
三、上机实验内容
1.验证实验原理中所述的相关程序;
2.求信号
的拉普拉斯变换
3.求函数
的反变换
4.已知连续系统的系统函数如下,试用MATLAB绘制系统的零极点图,并根据零极点图判断系统的稳定性
5.系统函数是
求频率响应。