-1-0.500.511.522.53-0.200.20.40.60.81-1012345020406080100120单位冲击信号δ(t)实验二用MATLAB处理连续系统数学模型一、实验目的1.学会LTI系统模型的建立;2.掌握相关函数的调用格式及作用;3.掌握连续信号的基本运算。二、实验设备计算机一台,装有MATLAB软件三、实验原理及基本操作1.典型信号(1)阶跃信号10()00tuttt=-1:0.01:3;f=t>0;plot(t,f);axis([-1,3,-0.2,1.2]);注:参见函数Heaviside(2)单位冲激信号定义冲激函数functionchongji(t1,t2,t0)dt=0.01;t=t1:dt:t2;n=length(t);x=zeros(1,n);x(1,(t0-t1)/dt+1)=1/dt;stairs(t,x);axis([t1,t2,0,1.2/dt])title('单位冲击信号δ(t)')图中调用的是chongji(-1,5,0);可以试着给别的t1,t2,t0,可以得到δ(t-t0)的波形。注:参见函数dirac2.连续信号的时域基本运算相加、相乘、移位、反折、尺度变换、倒相已知信号)]2()2([)21()(ttttf,用matlab求f(t+2),f(t-2),f(-t),f(2t),-f(t),并绘出时域波形。symstf=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))')subplot(2,3,1);ezplot(f,[-3,3])title('f(t)')y1=subs(f,t,t+2)subplot(2,3,2),ezplot(y1,[-5,1])title('f(t+2)')y2=subs(f,t,t-2)subplot(2,3,3),ezplot(y2,[-1,5])title('f(t-2)')y3=subs(f,t,-t)subplot(2,3,4),ezplot(y3,[-3,3])title('f(-t)')y4=subs(f,t,2*t)subplot(2,3,5),ezplot(y4,[-2,2])title('f(2t)')y5=-fsubplot(2,3,6),ezplot(y5,[-3,3])title('-f')-5-4-3-2-1012345050100150x=exp(t)-5-4-3-2-1012345050100150y=x(-t)-20200.511.52tf(t)-4-2000.511.52tf(t+2)02400.511.52tf(t-2)-20200.511.52tf(-t)-20200.511.52tf(2t)-202-2-1.5-1-0.50t-f注:Matlab提供了函数fliplr()实现信号的左右翻转,其调用格式为y=fliplr(x)。如:t=-5:0.001:5;x=exp(t);y=fliplr(x);figuresubplot(211)plot(t,x)title('x=exp(t)');subplot(212)plot(t,y);title('y=x(-t)');3.卷积运算卷积是信号与系统中一个最基本、也是最重要的概念之一。在时域中,对于LTI连续时间系统,其零状态响应等于输入信号与系统冲激响应的卷积;MATLAB信号处理工具箱提供了一个计算两个离散序列卷积和的函数conv。设向量a、b代表待卷积的两个序列,则c=conv(a,b)就是a与b卷积后得到的新序列。两个序列卷积以后,一般而言所得新序列的时间范围、序列长度都会发生变化。例如设f1(n)长度为5,-3≤n≤1;f2(n)长度为7,2≤n≤8;则卷积后得到的新序列长度为11,-1≤n≤9。但是用conv函数求出卷积后没有给出新序列所对应的时间变量。为此,要根据被卷积序列的时间变量产生一个对应新序列的时间变量。对于连续卷积,我们用离散卷积来代替连续卷积,只要取样时间间隔足够小时,就可得到满意的效果。,令(为整数),则(*)由(*)式,连续卷积积分可由离散卷积和近似代替,只要取样时间间隔足够小,就可以得到高精度卷积积分的数值计算。例:求f1(t)与f2(t)的卷积cleart1=0:0.01:1;f1=2*ones(1,length(t1));t2=0:0.01:2;f2=t2;y=0.01*conv(f1,f2);t=0:0.01:3;figureplot(t,y)grid4.系统模型的建立00.511.522.5300.511.522.533.5ty(t)Matalb提供了函数tf()来建立LTI系统的传递函数模型,例:由一阶微分方程描述的系统为1010'()()'()()artartbetbet,则调用函数:sys=tf(b,a)可以得到该系统的传递函数模型,其中10[,]aaa,10[,]bbb。例1:(3)()2''()2'()3()2''()'()()rtrtrtrtetetet,求其传递函数模型键入:b=[211];a=[1223];sys=tf(b,a);结果:Transferfunction:2s^2+s+1---------------------s^3+2s^2+2s+35.传递函数的化简建立零极点的系统传递函数,Matlab利用zpk(z,p,k)函数。Z,p,k分别为零点、极点矩阵和常系数。化简零极点传递函数用tf(Fs)函数,Fs为零极点函数表达式。例:将(1)(2)()8(3)(4)(5)ssFsssss用Matlab语言表示出来,并用tf(Fs)函数化简。键入:z=[-1-2];p=[0-3-4-5];k=8;Fs=zpk(z,p,k);tf(Fs);则运行结果为:Zero/pole/gain:8(s+1)(s+2)-------------------s(s+3)(s+4)(s+5)Transferfunction:8s^2+24s+16----------------------------s^4+12s^3+47s^2+60s6.多项式运算多项式求根...