您所在位置:网站首页 > 海量文档
 > 计算机 > matlab
实验五连续时间信号与系统的复频域分析的MATLAB实现.doc7页
本文档一共被下载:次,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
实验五连续时间信号与系统的复频域分析的MATLAB实现
[]
掌握极点分布。
掌握系统冲激响应的MATLAB实现。
用MATLAB实现已知系统零极点分布,求系统频率响应,并绘制其幅频响应曲线
一. 系统函数零极点分布图的MATLAB实现
系统函数的零点和极点位置可以用MATLAB的多项式求根函数roots( )来求得。
用roots( )函数求得系统函数H(s)的零极点后,就可以用plot命令在复平面上绘
制出系统函数的零极点图。
例1、已知连续时间系统的系统函数如下所示,试用MATLAB绘出系统的零极点
分布图,并判断系统是否稳定。
解: MATLAB程序如下:
A=[1 7 17 17 6];
B=[1 0 -4];
p=roots(A);
q=roots(B);
p=p';
q=q';
x=max(abs([p q]));
x=x+0.1;
y=x;
clf
hold on
axis([-x x -y y]);
axis('square')
plot([-x x],[0 0])
plot([0 0],[-y y])
plot(real(p),imag(p),'x')
plot(real(q),imag(q),'o')
title('连续时间系统的零极点图')
text(0.2,x-0.2,'虚轴')
text(y-0.2,0.2,'实轴')
上述命令绘制的系统零极点图如图1所示:
由图可以看出,该系统的极点-1(二重),-2,-3均落在s的左半平面,故该
系统是稳定的。
二. 系统冲激响应的MATLAB实现
解: MATLAB程序如下:
a=[1 3 2 0];
b=[1 4];
[r,p,k]=residue(b,a)
impulse(b,a)
运行结果为:
r =
1
-3
2
p =
-2
-1
0
k =
[ ]
可见,系统函数有三个实极点,可以根据程序运行结果直接写出系统的冲激响
应为:
由时域波形可以看出,当时间t趋于无穷大时,并不趋于零而是趋于一个有限
值,故该系统是临界稳定。另一方面,由于系统有极点位于s平面的原点处,这也
可以判断该系统是临界稳定的。
三. 矢量作图法绘制系统频率响应曲线的MATLAB实现
用MATLAB实现已知系统零极点分布,求系统频率响应,并绘制其幅频响应曲线
的程序流程如下:
(1)定义包含系统所有零点和极点位置的行向量q和p。
(2)定义绘制系统频率响应曲线的频率范围向量f1和f2,频率抽样间隔k,并
产生频率等分点向量f。
(3)求出系统所有零点和极点到这些等分点的距离。
解:(1)根据系统零极点分析的几何矢量分析法的原理绘制幅频响应曲线,其
MATLAB程序如下:
q=[0 0];
p=[-100 -200];
p=p';
q=q';
f=0:0.1:1000;
w=f*(2*pi);
y=i*w;
n=length(p);
m=length(q);
if n==0
yq=ones(m,1)*y;
vq=yq-q*ones(1,length(w));
bj=abs(vq);
ai=1;
elseif m==0
yp=ones(n,1)*y;
vp=yp-p*ones(1,length(w));
aj=abs(vp);
bj=1;
else
yp=ones(n,1)*y;
yq=ones(m,1)*y;
vp=yp-p*ones(1,length(w));
vq=yq-q*ones(1,length(w));
ai=abs(vp);
bj=abs(vq);
end
Hw=prod(bj,1)./prod(ai,1);
plot(f,Hw);
title('连续时间系统幅频响应曲线')
xlabel('频率w(单位:赫兹)')
ylabel
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:
验证码:
匿名?
发表评论