- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 连续系统分析
一、实验目的
深刻理解连续时间系统的系统函数在分析连续系统的时域特性、频域特性及稳定性中的重要作用及意义,掌握根据系统函数的零极点设计简单的滤波器的方法。掌握利用MATLAB分析连续系统的时域响应、频响特性和零极点的基本方法。
二、 实验原理
MATLAB提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。
1. 连续系统的时域响应
连续时间LTI系统可用如下的线性常系数微分方程来描述:
。
已知输入信号x(t)以及系统初始状态,就可以求出系统的响应。MATLAB提供了微分方程的数值计算的函数,可以计算上述n阶微分方程描述的连续系统的响应,包括系统的单位冲激响应、单位阶跃响应、零输入响应、零状态响应和完全响应。
在调用MATLAB函数时,需要利用连续系统对应的系数函数。对微分方程进行Laplace变换即可得系统函数:
在MATLAB中可使用向量和向量分别保存分母多项式和分子多项式的系数:
这些系数均按s的降幂直至s0排列。
(1) 连续系统的单位冲激响应h(t)的计算
impulse(sys)计算并画出系统的冲激响应。参数:sys可由函数tf(b,a)获得。其中:
h=impulse(sys, t): 计算并画出系统在向量t定义的区间上的冲激响应,向量h保存对应区间的系统冲激响应的输出值。
(2) 连续系统的单位阶跃响应g(t)的计算
step(sys): 计算并画出系统的阶跃响应。参数:sys可由函数tf(b,a)获得。其中:
g=step(sys, t): 计算并画出系统在向量t定义的区间上的阶跃响应,向量g保存对应区间的系统阶跃响应的输出值。
(3) 连续系统的零状态响应y(t)的计算
lsim(sys, x, t) 计算并画出系统的零状态响应。参数: sys可由函数tf(b,a)获得,
x为输入信号,
t为定义的时间向量。
2.连续系统的系统函数零极点分析
连续LTI系统的系统函数H(s)可以表示为部分分式形式:
设,且H(s)的极点pi全部为单极点,则:
系统函数H(s)的极点pi决定了冲激响应h(t)的基本形式,而零点和极点共同确定了冲激响应h(t)的幅值。
MATLAB中提供了roots函数计算系统的零极点,提供了pzmap函数绘制连续系统的零极点分布图。
3.连续系统的频率响应
若连续因果LTI连续系统的系统函数H(s)的极点全部位于S左半平面,则系统的频率响应可由H(s)求出,即
MATLAB中freqs函数可以分析连续系统的频响,格式如下:
H=freqs(b,a,w): 计算系统在指定频率点向量w上的频响H;w为频率点向量。
[H,w]=freqs(b,a) : 自动选取200个频率点计算频率响应。
三.实验内容
1. 已知描述连续系统的微分方程为,输入,初始状态,计算该系统的响应,并与理论结果比较,列出系统响应分析的步骤。
实验代码:
a=[1 10];
b=[2];
[A B C D]=tf2ss(b,a);
sys=ss(A,B,C,D);
t=0:0.001:5;
xt=t0;
sta=[1];
y=lsim(sys,xt,t,sta);
subplot(3,1,1);
plot(t,y);
xlabel(t);
title(系统完全响应y(t));
subplot(3,1,2);
plot(t,y,-b);
hold on
yt=4/5*exp(-10*t)+1/5;
plot(t,yt,:r);
legend(数值计算,理论计算);
hold off
xlabel(t);
subplot(3,1,3);
k=y-yt;
plot(t,k);
k(1)
title(误差);
实验结果:
结果分析:
理论值y(t)=0.8*exp(-10t)*u(t)+0.2。程序运行出的结果与理论预期结果相差较大误差随时间增大而变小,初始值相差最大,终值基本相同。
2. 已知连续时间系统的系统函数为,求输入分别为,,时,系统地输出,并与理论结果比较。
实验代码:
a=[1,3,2,0];
b=[4,1];
sys=tf(b,a);
t=0:0.001:5;
x1=t0;
x2=(sin(t)).*(t0);
x3=(exp(-t)).*(t0);
y1=lsim(sys,x1,t);
y2=lsim(sys,x2,t);
y3=lsim(sys,x3,t);
subplot(3,1,1);
plot(t,y1);
xlabel(t);
title(X(t)=u(t))
文档评论(0)