实验讲义五b

2020-02-21 22:14

实验五 连续线性时不变系统分析

一、 实验目的

1.

掌握连续LTI系统单位冲激响应、单位阶跃响应和任意激励对应的响应的求解方法;

掌握连续LTI系统的频域分析方法; 掌握连续LTI系统的复频域分析方法;

掌握连续LTI系统时域、频域和复频域分析方法的相互转换。

2. 3. 4.

二、 实验原理及编程准备 1 连续LTI系统的时域分析 (1)单位冲激响应

impulse(b,a) impulse(b,a,t)

y=impulse(b,a, t):不绘制冲激响应波形,只计算数值解

(2)单位阶跃响应

step(b,a) step(b,a,t) step(b,a,t1:p:t2)

y=step(b,a,t1:p:t2):不绘制阶跃响应波形,只计算数值解

(3)任意激励下的零状态响应

连续LTI系统可用常系数线性微分方程(5.1)式来描述,可用lsim( )求其零状态响应

67

lsim(sys,u,t) [y,t] = lsim(sys,u,t) [y,t,x] = lsim(sys,u,t)

其中 sys=tf(b,a)为系统函数对象,u为输入矩阵,t为时间向量。 (4)卷积积分

卷积积分也是LTI系统求解零状态响应的重要工具之一。

假设系统的输入信号为e(t),单位冲激响应为h(t),则系统的零状态响应r(t)为:

??y(t)????e(?)h(t??)d?

对连续时间系统,matlab不提供卷积函数,只能用离散卷积近似实现。

若有两个连续信号e(t)和h(t)进行卷积,首先要对这两个信号进行采样,设采样时间间隔为?t,则采样后得到两个离散序列e(n??t)和h(n??t),然后构造相应的两个时间向量n1和n2(n1和n2的元素不再是整数,而是采样时间间隔?t的整数倍),接着调用计算离散卷积和的函数conv( )计算连续卷积积分y(t)的近似向量y(n??t)。

需要说明的是,函数conv()只能计算离散卷积和的数值,用函数conv()作两个信号的卷积积分时,应该在这个函数之前乘以时间步长方能得到正确的结果。也就是说,正确的语句形式应为:

y = ?t*conv(e,h)。

对于定义在不同时间段的两个时限信号e(t),t0 ≤ t ≤ t1,和h(t),t2 ≤ t ≤ t3。 如果用y(t)来表示它们的卷积结果,则y(t)的持续时间范围要比x(t)或h(t)要长,其时间范围为t0+t2 ≤ t ≤ t1+t3。这个特点很重要,利用这个特点,在处理信号在时间上的位置时,可以很容易地将信号的函数值与时间轴的位置和长度关系保持一致性。

下面给出任意时间段信号的卷积函数,tx为表示x存在时间的向量,ty同理。

function [y,ty] = conv_m(x,tx,h,th,ts)

tyb = tx(1)+th(1); tye = tx(end) + th(end); ty = tyb :ts:tye;

68

y = ts*conv(x,h); %测试代码

ts=0.01; tx=-1:ts:2; th=0:ts:3; x=double(tx>=0); h=exp(-th);

[y ty]=conv_m(x,tx,h,th,ts); plot(ty,y)

(5)任意激励下的全响应

线性系统的全响应y(t)可以分解为自由响应(齐次解)和强迫响应(特解),也可以分解为零输入响应和零状态响应,即

y(t)?yh(t)?yp(t)?yzi(t)?yzs(t)

Matlab提供了求连续系统响应的函数dsolve( ),其调用格式有 dsolve(‘eqn1’,‘eqn2’,…,‘初始条件’,‘自变量’):

解符号形式的微分方程,输入参数可以是n个微分方程,也可以是初始条件。值得注意的是,无论是输入参数还是输出参数都是符号形式的变量。可以求微分方程的通解或定解问题,可求零输入解和零状态解。

例5-1 描述某线性时不变系统的微分方程为

y''(t)?3y'(t)?2y(t)?f'(t)?2f(t)

且f(t)?t2,y(0?)?1,y'(0?)?1;试求系统的全响应,并指出其零输入响

69

应、零状态响应自由响应与强迫响应。

通过解微分方程得到的全响应为

t?0y(t)?t2?2t?2?e?t?2e?2t?3e?t?2e?2t?2e?t?t2?2t?2,强迫响应(稳态响应)自由响应(瞬态响应)零输入响应零状态响应Matlab参考程序: b=[1 2];a=[1 3 2]; dt=0.01;t=0:dt:5;x=t.^2; h=impulse(b,a,t); s=step(b,a,t); yzs1=dt.*conv(x,h); yzs2=lsim(b,a,x,t); figure(1) subplot(211)

plot(t,3*exp(-t)-2*exp(-2*t));title('零输入响应'); subplot(212)

plot(t,-2*exp(-t)+t.^2-2*t+2);title('零状态响应'); figure(2) subplot(221)

plot(t,h);title('单位冲激响应'); subplot(222)

plot(t,s);title('单位阶跃响应'); subplot(223)

70

plot(t,yzs1(1:length(t)));title('卷积积分计算的零输入响应'); subplot(224)

plot(t,yzs2);title('lsim函数计算的零状态响应');

y=dsolve('D2y+3*Dy+2*y=2*t+2*t^2','y(0)=1,Dy(0)=1') yzi=dsolve('D2y+3*Dy+2*y=0','y(0)=1,Dy(0)=1') yzs=dsolve('D2y+3*Dy+2*y=2*t+2*t^2','y(0)=0,Dy(0)=0') t=0:0.01:5; subplot(221)

ezplot(y,[0 5]);title('全响应'); subplot(222)

ezplot(yzi,[0 5]);title('零输入响应'); subplot(223)

ezplot(yzs,[0 5]);title('零状态响应');

2 连续LTI系统的频域分析

(1)系统的频率响应

Matlab提供了专门用于求连续系统频率响应的函数freqs(),其调用格式如下:

[H,w] = freqs(b,a):b和a仍是式(5.2)和(5.3)所定义的连续时间LTI系统的微分方程右边的和左边的系数向量,返回的频率响应为各频率点的样点值(复数)存放在H中,系统默认的样点数目为200点;

71


实验讲义五b.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2008-2009第二学期 统计学 考试试卷A卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: