山科大信号与系统实验二 LTI系统的响应
- 格式:doc
- 大小:214.50 KB
- 文档页数:9
信号与系统实验二连续LTI 系统的时域分析————————————————————————————————作者:————————————————————————————————日期:2实验二 连续LTI 系统的时域分析一. 实验目的1. 加深对线性时不变系统中零状态响应概念的理解,掌握其求解方法;2. 掌握求解给定连续系统的冲激响应和阶跃响应的方法。
二. 实验原理1.连续系统零状态响应的数值解线性时不变 (LTI) 连续时间系统用常系数线性微分方程进行描述,系统的零状态响应就是在系统初始状态为零条件下微分方程的解。
MATLAB 控制系统工具箱提供了一个lism 函数来求解连续时间系统的零状态响应,其调用格式为y = lism(sys,f,t)其中t 表示计算系统响应的时间抽样点向量,f 是系统输入信号向量,sys 是LTI 系统模型,用来表示微分方程、状态方程。
在求解微分方程时,微分方程的LTI 系统模型sys 要借助MATLAB 中的tf 函数来获得,其调用格式为sys = tf(b,a)其中a 、b 分别为微分方程左端和右端各项的系统向量。
例如系统方程 (3)(2)(1)(2)(1)2210210()()()()()()()a y t a y t a y t a y t b f t b f t b f t +++=++该方程左边、右边的系数向量分别为3210[,,,]a a a a a =,210[,,]b b b b =。
例1:描述某线性时不变系统的方程为"()4'()4()'()3()y t y t y t f t f t ++=+试求:当()()tf t e t ε-=时,系统的零状态响应()zs y t 。
解:实现所要求运算的m 文件如下,a = [1 4 4]; %将y (t )各阶导数的系数放在向量a 中b = [1 3]; %将f (t )各阶导数的系数放在向量b 中sys = tf(b, a); %求系统模型systd = 0.01; %定义时间间隔t = 0 : td : 10; %定义时间向量f = exp(-t); %将f (t )表示出来y = lsim(sys, f, t); %求系统的零状态响应plot(t, y); %绘出零状态响应的波形xlabel('t(sec)'); %给出x 坐标的标签ylabel('y(t)'); %给出y 坐标的标签grid on %在图上显示方格程序运行结果见图1。
实验二 连续和离散时间LTI 系统的响应及卷积一、实验目的掌握利用Matlab 工具箱求解连续时间系统的冲激响应、阶跃响应,离散时间系统的单位样值响应,理解卷积概念。
二、实验内容1、连续时间系统的冲击响应、阶跃响应a. 利用impulse 函数画出教材P44例2-15: LTI 系统()3()2()dy t y t x t dt+=的冲击响应的波形。
a=[ 1 3];>> b=[2]; >> impulse(b,a);b. 利用step 函数画出教材P45例2-17: LTI 系统1''()3'()2()'()2()2y t y t y t x t x t ++=+的阶跃响应的波形。
a=[1 3 2];>> b=[0.5 2];>> step(b,a)2、离散时间系统的单位样值响应利用impz函数画出教材P48例2-21:--+---=的单位样值响应的图形。
[]3[1]3[2][3][]y n y n y n y n x na=[1 -3 3 -1];>> b=[1];>> impz(b,a)3、连续时间信号卷积画出函数f1(t)=(1+t)[u(t)-u(t-1)]和f2(t)=u(t-1)-u(t-2)的图形,并利用附在后面的sconv.m函数画出卷积积分f1(t)* f2(t)图形。
t=-1:0.01:3;f1=(1+t).*(0.5*sign(t)-0.5*sign(t-1));f2=(0.5*sign(t-1)-0.5*sign(t-2));subplot(2,2,1);plot(t,f1);subplot(2,2,2);plot(t,f2);sconv(f1,f2,t,t,0.01);4、画出教材P60例2-28中h[n]、x[n]的图形(图2-14(a)(b)),并利用conv函数求出卷积x[n]*h[n]并画出图形(图2-14(f))。
实验二 LTI 系统的响应一、 实验目的1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3. 熟悉应用MATLAB 实现求解系统响应的方法二、 实验原理1.连续时间系统在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。
如果系统输入为f (t ),冲激响应为h(t),系统的零状态响应为y (t ),则有:()()()y t h t f t =*。
若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。
但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。
在MATLAB 中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。
lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。
说明:(1)当系统有初始状态时,若使用lsim( )函数求系统的全响应,就要使用系统的状态空间描述法,即首先要根据系统给定的方式,写出描述系统的状态方程和输出方程。
假如系统原来给定的是微分方程或系统函数,则可用相变量法或对角线变量等方法写出系统的状态方程和输出方程。
其转换原理如前面实验四所述。
(2)显然利用lsim( )函数不仅可以分析单输入单输出系统,还可以分析复杂的多输入多输出系统。
例题1: 若某连续系统的输入为e (t ),输出为r (t ),系统的微分方程为:''()5'()6()3'()2()y t y t y t f t f t ++=+① 求该系统的单位冲激响应h (t )及其单位阶跃响应g (t )。
a=[1 5 6];b=[3 2];subplot(2,1,1),impulse(b,a,0:0.01:5); subplot(2,1,2),step(b,a,0:0.01:5);-10123Im pulse ResponseTim e (sec)A m p l i t u d e0.20.40.60.8Step ResponseTim e (sec)A m p l i t u d e② 若2()()tf t e t ε-= 求出系统的零状态响应y(t ) a=[1 5 6];b=[3 2]; t=0:0.01:5; f=exp(-2*t); lsim(b,a,f,t);Linear Sim ulation R esultsTim e (sec)A m p l i t u d e-0.20.20.40.60.811.2例题2 已知一个过阻尼二阶系统的状态方程和输出方程分别为:010'()()()232x t X t f t ⎡⎤⎡⎤=+⎢⎥⎢⎥--⎣⎦⎣⎦, r (t )=[0 1]X (t ) 。
一,实验目的作为根底性实验局部,实验2使我们了解和掌握利用MATLAB对系统进展时域分析的方法,掌握了连续时间系统和离散时间系统下对零状态响应、单位抽样响应的方法,以与求卷积积分和卷积和的方法。
二,实验原理〔1〕连续时间系统时域分析的MATLAB实现。
①连续时间系统的MATLAB表示。
用系统微分方程描述LTI连续系统,然后在matlab中建立模型:b=[b1,b2,……]a=[a1,a2,……]sys=tf(b,a)②连续时间系统的零状态响应。
调用函数lsim(sys,x,t)绘出信号与响应的波形。
③连续时间系统的冲击响应与阶跃响应。
描述系统的单位冲击响应调用impulse函数:impulse(sys)在默认时间X围内绘出系统冲激响应的时域波形。
impulse(sys,T)绘出系统在0~TX围内冲激响应的时域波形。
impulse(sys,ts:tp:te)绘出系统在ts~teX围内,以tp为时间间隔取样的冲击响应波形。
描述系统的单位阶跃响应调用step函数:impulse(sys)impulse(sys,T)impulse(sys,ts:tp:te)〔2〕离散时间系统时域分析的MATLAB实现。
①离散时间系统的MATLAB表示。
用向量b=[b1,b2,……],a=[a1,a2,……]可以表示系统。
②离散时间系统对任意输入的响应。
可以调用函数filter〔b,a,x〕③离散时间系统的单位抽样响应。
可以调用函数impz:impz〔b,a〕在默认时间X围内绘出系统单位抽样响应的时域波形。
impz (b,a,N绘出系统在0~NX围内单位抽样响应的时域波形。
impz(b,a,ns:ne)绘出系统在ns~neX围内的单位抽样响应波形。
〔3〕卷积与卷积积分①离散时间序列的卷积和可以调用函数conv求得两个离散序列的卷积和。
②连续时间信号的卷积积分在取样间隔足够小的情况下,由卷积和近似求得卷积积分。
三,实验内容〔1〕描述模拟低通、高通、带通和带阻滤波器的微分方程如下,试采用MATLAB绘出各系统的单位冲激响应和单位阶跃响应波形。
实验二 连续LTI 系统目的学习利用lsim 求解连续LTI 系统。
相关知识MATLAB 函数lsim函数lsim 能用于如下微分方程表征的连续时间因果LTI 系统的输出进行仿真∑∑===M m m m m N k k k k dt t x d b dt t y d a00)()( (2.1)为了利用lsim ,系数k a 和m b 必须被存入MATLAB 的向量a 和b 中,并且序号在k 和m 上以降次存入。
将(2.1)式用向量a 和b 重新写成∑∑==-+=-+M m m m N k k k dt t x d m M b dt t y d k N a 00)()1()()1( (2.2)向量a 必须包含N+1个元素,可以用对a 补零的办法来处理系数k a 为零的那些系数。
向量b 也必须包含M+1个元素。
然后执行>> y=lsim(b,a,x,t);就可仿真出由向量x 和t 所给出的输入信号时,(2.1)式所描述的系统的响应。
例:由下列一阶微分方程所描述的因果LTI 系统:)()(21)(t x t y dt t dy +-= (2.3) 该系统的单位阶跃响应可仿真计算如下:>> t=[0:10];>> x=ones(1,length(t));>> b=1;>> a=[1 0.5];>> y=lsim(b,a,x,t);>> plot(t,y);其响应为:图中真正代表的阶跃响应为)()t y t-1(2e)(t u=(2.4)-impluse和step可以用于计算连续LTI系统的单位冲激和单位阶跃响应。
如上例,可执行>> t=[0:10];>> b=1;>> a=[1 0.5];>> s=step(b,a,t);>> h=impulse(b,a,t);将会分别在s和h中得到单位阶跃和单位冲激响应。
信号与系统第二次实验报告一、实验目的1、理解掌握LTI系统线性性和时不变性;2、熟悉掌握常用的用于系统时域仿真分析的MATLAB函数;3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的性质;4、掌握利用MATLAB计算卷积编程方法,并利用所编写的MATLAB程序卷积的基本性质。
二、实验仪器信号与系统实验箱一台、双踪示波器一台、计算机一台三、预习要求(一)思考出要验证线性时不变系统基本特征所需要的方法步骤:(二)仿真前先把两信号卷积结果计算一下,画出波形。
四、实验原理及内容(一)线性时不变系统线性性:齐次性和叠加性同时满足1、验证线性性系统在输入信号x1(t)、x2(t)作用时的响应信号分别为y1(t)、y2(t),给定两个常数a,b,当输入型号为x(t)时系统响应信号是y(t),且满足:叠加性:x(t)=x1(t)+x2(t)y(t)=y1(t)+y2(t)齐次性:x(t)=ax1(t)y(t)=ay1(t)如上基本电路,分析过程为:2、验证时不变性输入型号为x(t)时系统响应信号是y(t),对一给定长数t0,当输入信号时x (t-t0)时,系统响应信号为y(t-t0)仍为上图,分析过程为:二、卷积的计算定义在不同时间段的两个矩形脉冲信号并完成卷积运算,分别绘制这两个信号及其卷积的结果图形,图形按照2x2分割成四个字图。
注意观察两个矩形脉冲信号持续时间变化。
(一)矩形信号卷积1、当两个信号脉冲持续时间相同时:①x=u(t+1/2)-u(t-1/2);h=u(t-1)-u(t-2)时的程序图如下:clear allclose allt0=-4; t1=4; dt=0.01;t=t0:dt:t1;x=u(t+1/2)-u(t-1/2);h=u(t-1)-u(t-2);y=dt*conv(x,h);subplot(221)plot(t,x),grid on,title('Signal x(x)'),axis([t0,t1,-0.2,1.2])subplot(222)plot(t,h),grid on,title('Signal h(x)'),axis([t0,t1,-0.2,1.2])subplot(212)t=2*t0:dt:2*t1;plot(t,y),grid on,title('The convolution of x(t) andh(x)'),axis([2*t0,2*t1,-0.1,1.2])xlabel('Time t sec')Signal x(x)Signal h(x)The convolution of x(t) and h(x)Time t sec②x=u(t+1/2)-u(t-1/2);h=u(t-2)-u(t-3)时的程序如下:clear all close allt0=-4; t1=4; dt=0.01; t=t0:dt:t1;x=u(t+1/2)-u(t-1/2); h=u(t-2)-u(t-3); y=dt*conv(x,h); subplot(221)plot(t,x),grid on ,title('Signal x(x)'),axis([t0,t1,-0.2,1.2]) subplot(222)plot(t,h),grid on ,title('Signal h(x)'),axis([t0,t1,-0.2,1.2]) subplot(212) t=2*t0:dt:2*t1;plot(t,y),grid on ,title('The convolution of x(t) and h(x)'),axis([2*t0,2*t1,-0.1,1.2]) xlabel('Time t sec')-4-224Signal x(x)-4-224Signal h(x)-8-6-4-202468The convolution of x(t) and h(x)Time t sec2、当两信号脉冲持续时间不相同时:①x=u(t+1/2)-u(t-1/2); h=u(t-1)-u(t-3)时,程序如下:clear all close allt0=-4; t1=4; dt=0.01; t=t0:dt:t1;x=u(t+1/2)-u(t-1/2); h=u(t-1)-u(t-3); y=dt*conv(x,h); subplot(221)plot(t,x),grid on ,title('Signal x(x)'),axis([t0,t1,-0.2,1.2]) subplot(222)plot(t,h),grid on ,title('Signal h(x)'),axis([t0,t1,-0.2,1.2]) subplot(212) t=2*t0:dt:2*t1;plot(t,y),grid on ,title('The convolution of x(t) and h(x)'),axis([2*t0,2*t1,-0.1,1.2]) xlabel('Time t sec')Signal x(x)Signal h(x)-8-6-4-22468The convolution of x(t) and h(x)Time t sec②x=u(t+1/2)-u(t-1/2);h=u(t+1)-u(t-1)时的程序如下:clear all close allt0=-4; t1=4; dt=0.01; t=t0:dt:t1;x=u(t+1/2)-u(t-1/2); h=u(t+1)-u(t-1); y=dt*conv(x,h); subplot(221)plot(t,x),grid on ,title('Signal x(x)'),axis([t0,t1,-0.2,1.2])subplot(222)plot(t,h),grid on ,title('Signal h(x)'),axis([t0,t1,-0.2,1.2]) subplot(212) t=2*t0:dt:2*t1;plot(t,y),grid on ,title('The convolution of x(t) and h(x)'),axis([2*t0,2*t1,-0.1,1.2]) xlabel('Time t sec')Signal x(x)Signal h(x)The convolution of x(t) and h(x)Time t sec据观察:当两距形脉冲持续时间相同时,卷积得到信号是三角波,脉冲持续时间是矩形波的两倍;当两距形脉冲持续时间不相同时,卷积得到信号是梯形波,脉冲持续时间是两矩形波持续时间的和; 波的幅值不变。
实验二-LTI系统的频域分析信号与系统实验实验2:――连续LTI系统的频域特性及频域分析实验性质:提高性实验级别:必做开课单位:机械电子工程学院学时:2一、实验目的1、掌握连续时间信号的傅里叶变换和傅里叶逆变换的实现方法。
2、掌握傅里叶变换的数值计算方法和绘制信号频谱的方法。
二、实验设备计算机,MATLAB软件三、实验原理1、连续时间LTI系统的频率响应所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response),是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。
图1 连续时间LTI系统的时域及频域图1中x(t)、y(t)分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响应,它们三者之间的关系为:y(t)?x(t)*h(t),由傅里叶变换的时域卷积定理可得到:x(t)X(j?)LTI系统h(t)H(j?)y(t)Y(j?)Y(j?)?X(j?)H(j?)或者: H(j?)?(1)Y(j?) (2)X(j?)H(j?)为系统的频域数学模型,它实际上就是系统的单位冲激响应h(t)的傅里叶变换。
即? H(j?)????j?th(t)edt (3) ?由于H(j?)实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者说是绝对可积(Absolutly integrabel)的话,那么H(j?)一定存在,而且H(j?)通常是复第 1 页/共5页信号与系统实验数,因此,也可以表示成复数的不同表达形式。
在研究系统的频率响应时,更多的是把它表示成极坐标形式:H(j?)?H(j?)ej?(?) (4)上式中,H(j?)称为幅度频率响应(Magnitude response),反映信号经过系统之后,信号各频率分量的幅度发生变化的情况,?(?)称为相位特性(Phase response),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。
实验二连续时间LTI系统的时域分析一、实验目的:1、学会使用符号法求解连续系统的零输入响应和零状态响应2、学会使用数值法求解连续系统的零状态响应3、学会求解连续系统的冲激响应和阶跃响应二、实验原理及实例分析1、连续时间系统零输入响应和零状态响应的符号求解连续时间系统可以使用常系数微分方程来描述,其完全响应由零输入响应和零状态响应组成。
MATLAB符号工具箱提供了dsolve函数,可以实现对常系数微分方程的符号求解,其调用格式为:dsolve(‘eq1,eq2…’,’cond1,cond2,…’,’v’)其中参数eq表示各个微分方程,它与MATLAB符号表达式的输入基本相同,微分和导数的输入是使用Dy,D2y,D3y来表示y的一价导数,二阶导数,三阶导数;参数cond表示初始条件或者起始条件;参数v表示自变量,默认是变量t。
通过使用dslove函数可以求出系统微分方程的零输入响应和零状态响应,进而求出完全响应。
2、连续时间系统零状态响应的数值求解在实际工程中使用较多的是数值求解微分方程。
对于零输入响应来说,其数值解可以通过函数initial 来实现,而该函数中的参量必须是状态变量所描述的系统模型,由于现在还没有学习状态变量相关内容,所以此处不做说明。
对于零状态响应,MATLAB 控制系统工具箱提供了对LTI 系统的零状态响应进行数值仿真的函数lsim ,利用该函数可以求解零初始条件下的微分方程的数值解。
其调用格式为:y=lsim(b,a,f,t),其中t 表示系统响应的时间抽样点向量,f 是系统的输入向量; b 和a 分别为微分方程右端和左端的系数向量,若不带返回参数y ,则直接在屏幕上绘制输入信号x 和响应信号的波形。
例如,对于微分方程)()()()()()()()(0'1''2'''30'1''2'''3t f b t f b t f b f f b t y a t y a t y a t y a +++=+++可以使用32103210[,,,];[,,,]a a a a a b b b b b ==注意,如果微分方程的左端或者右端表达式有缺项,则其向量a 或者b 中对应元素应该为零,不能省略不写。
信号与系统实验报告实验名称:信号与系统实验实验地点:xxxxxxxxxxxxxxxxx软件版本:MATLAB7.0实验时间:2013.xx.xx —2013.xx.xx学号:20xxxxxx姓名:xxxx一、实验目的1.掌握用matlab软件产生基本信号的方法。
2.应用matlab软件实现信号的加,减,乘,反折,移位,尺度变换及卷积运算。
二、实验原理(一)产生信号波形的方法利用 Matlab 软件的信号处理工具箱(Signal Processing Toolbox)中的专用函数产生信号并绘出波形a.产生正弦波t=0:0.01:3*pi;y=sin(2*t);plot(t,y)b.产生叠加随机噪声的正弦波t=0:0.01:3*pi;y=10*sin(2*t);s=y+randn(size(t));plot(t,s)c. 产生周期方波t=0:0.01:1;y=square(4*pi*t);d. 产生周期锯齿波t=(0:0.001:2.5);y=sawtooth(2*pi*30*t);plot(t,y),axis([0 0.2 -1.1])e.产生Sinc 函数x=linspace(-5,5);y=sinc(x);plot(x,y)f.产生指数函数波形x=linspace(0,1,100);y=exp(-x);(二)信号的运算1.加(减)、乘运算 (要求二个信号序列长度相同) .例t=0:0.01:2; f1=exp(-3*t);f2=0.2*sin(4*pi*t); f3=f1+f2; f4=f1.*f2;subplot(2,2,1);plot(t,f1);title('f1(t)');subplot(2,2,2);plot(t,f2);title('f2(t)'); subplot(2,2,3);plot(t,f3);title('f1+f2'); subplot(2,2,4);plot(t,f4);title('f1*f2');2.用 matlab 的符号函数实现信号的反折、移位、尺度变换由f(t)到 f(-at+b)(a>0)步骤:f(t)移位f(t+b)尺度f(at+b)反折f(at+b)例:已知 f(t)=sin(t)/t,试通过反褶、移位、尺度变换由 f(t)的波形得到 f(-2t+3) 的波形syms t ;f=sym('sin(t)/t'); f1=subs(f,t,t+3); f2=subs(f1,t,2*t);f3=subs(f2,t,-t);subplot(2,2,1);ezplot(f,[-8,8]);grid on; subplot(2,2,2);ezplot(f1,[-8,8]);grid on; subplot(2,2,3);ezplot(f2,[-8,8]);grid on; subplot(2,2,4);ezplot(f3,[-8,8]);grid on;tttt(三)卷积运算Y=conv(x,h )实现x,h 二个序列的卷积,假定都是从 n=0 开始.Y 序列的长度为 x,h 序列的长度之和再减1.例1:二个方波信号的卷积y1=[ones(1,20),zeros(1,20)];y2=[ones(1,10),zeros(1,10)];y=conv(y1,y2);n1=1:length(y1);n2=1:length(y2);L=length(y);subplot(3,1,1);plot(n1,y1);axis([1,L,0,2]);subplot(3,1,2);plot(n2,y2);axis([1,L,0,2]);n=1:L;subplot(3,1,3);plot(n,y);axis([1,L,0,20]);例2:二个指数信号的卷积.t=0:0.001:1;y1=exp(-6*t);y2=exp(-3*t);y=conv(y1,y2);l1=length(y1);l2=length(y2);l=length(y);subplot(3,1,1);plot(t,y1);subplot(3,1,2);plot(t,y2);t1=0:0.001:2;subplot(3,1,3);plot(t1,y);三、实验内容1.自选二个简单的信号,进行加、乘、卷积运算. 加乘:y1=[2,4,2,1,4,0,0];y2=[2,2,1,1,3,2,0];n=1:length(y1);subplot(2,2,1);stem(n,y1);subplot(2,2,2);stem(n,y2);subplot(2,2,3);stem(n,y1+y2); subplot(2,2,4);stem(n,y1.*y2);卷积:y1=[2,4,2,1,4,0,0];tcos(t)/ttcos(t+3)/(t+3)tcos(2 t+3)/(2 t+3)tcos(2 t-3)/(-2 t+3)y2=[2,2,1,1,3,2,0]; y=conv(y1,y2); n1=1:length(y1); n2=1:length(y2); L=length(y);subplot(3,1,1);plot(n1,y1);axis([1,L,0,5]); subplot(3,1,2);plot(n2,y2);axis([1,L,0,5]); n=1:L;subplot(3,1,3);plot(n,y);axis([1,L,0,40]);2. 自选一个简单的信号进行反褶、平移、尺度变换运算.syms t ;f=sym('cos(t)/t'); f1=subs(f,t,t+3); f2=subs(f1,t,2*t); f3=subs(f2,t,-t);subplot(2,2,1);ezplot(f,[-8,8]);grid on ; subplot(2,2,2);ezplot(f1,[-8,8]);grid on ; subplot(2,2,3);ezplot(f2,[-8,8]);grid on ; subplot(2,2,4);ezplot(f3,[-8,8]);grid on ;四、实验要求 1.预习实验原理;2.对实验内容编写程序(M 文件),上机运行;3.绘出运算或变换后信号的波形.五、思考题1. Matlab的仿真特点在离散传利叶转换中,由於处理的对象是一些序列,因此非常这合使用电脑来担任计算的工作,而 MathWorks, Inc. 所发展的 MATLAB 数学运算软体,即是这方面非常强而有力的电脑软体,在 MATLAB 上面执行一些数列或矩阵的运算非常方便,而它的程式结构有点类似 BASIC或 C 程式,写起来十分平易近人,而其函式的呼叫又很间单,再加以目前各种视窗上的版本都已推出,编辑程式,执行、观看结果和列印,都可轻鬆的透过视窗的切换及下拉式功能来完成,更值得特别一提是MATLAB 的工具箱 (TOOLBOX) 有 SIGNAL 及 IMAGE 两项法宝,对於我们学习、数位信号处理的过理中,能够提供完备的的辅助。
实验2 LTI系统的时域分析一、实验目的1.掌握利用MATLAB对系统进行时域分析的方法。
2.掌握连续时间系统零状态相应、冲击响应和阶跃响应的求解方法。
3.掌握求解离散时间系统响应、单位抽样响应的方法。
4.加深对卷枳积分和卷积和的理解。
掌握利用计算机进行卷积积分和卷积和计算的方法。
二、实验原理与方法1.连续时间系统时域分析的MATLAB实现1)连续时间系统的MATLAB表示LTI连续系统通常可以由系统微分方程描述,设描述系统的微分方程为:a》%) + a N - iy N■ 1(0 + …+ a oyW =川叫_ 出M - 1)(° + ... + Z)o x(t)则在MATLAB中,可以建立系统模型如下:b = [b M>b M - 1'…A)];a =[%,%_ 1,…,如:sys = tf(b,a);其中,tf是用于创建系统模型的函数,向量a和b是以微分方程求导的降幕次序来排列的,如果有缺项,应用0补齐。
2)连续时间系统的零状态响应零状态响应指系统的初始状态为零,仅由输入信号所引起的响应。
MATLAB提供了一个用于求解零状态响应的函数lism,其调用格式如下:lsim (sys,x,t)绘出输入信号及响应的波形,x和t表示输入信号数值向量及其时间向量。
y=lsim(sys,x, t)这种调用格式不绘出波形,而是返回响应的数值向量。
3)连续时间系统的冲激响应与阶跃响应MATLAB提供了impulse函数来求指定时间I制由模型sys描述的连续时间系统的单位冲激响应。
impulse函数的基本调用格式如下:impulse (sys)在默认的时间围绘出系统冲激响应的时域波形;impulse (sys, T)绘出系统在0〜T围冲激响应的时域波形;impulse (sys, ts: tp:te)绘岀系统在ts〜te閑,以tp为时间间隔取样的冲激响应波形。
[y, t]二impulse (…)这种调用格式不绘出冲激响应波形,而是返回冲激响应的数值向量及其对应的时间向量。
实验三 连续时间LTI 系统的时域分析一、实验目的1.学会用MA TLAB 求解连续系统的零状态响应;2. 学会用MATLAB 求解冲激响应及阶跃响应;3.学会用MA TLAB 实现连续信号卷积的方法;二、实验原理1.连续时间系统零状态响应的数值计算我们知道,LTI 连续系统可用如下所示的线性常系数微分方程来描述, ()()00()()N Mi j ij i j a y t b f t ==∑∑ 在MA TLAB 中,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim 。
其调用格式y=lsim(sys,f,t)式中,t 表示计算系统响应的抽样点向量,f 是系统输入信号向量,sys 是LTI 系统模型,用来表示微分方程,差分方程或状态方程。
其调用格式sys=tf(b,a)式中,b 和a 分别是微分方程的右端和左端系数向量。
例如,对于以下方程: ''''''''''''32103210()()()()()()()()a y t a y t a y t a y t b f t b f t b f t b f t +++=+++可用32103210[,,,];[,,,];a a a a a bb b b b == (,)sys tf b a = 获得其LTI 模型。
注意,如果微分方程的左端或右端表达式中有缺项,则其向量a 或b 中的对应元素应为零,不能省略不写,否则出错。
例3-1 已知某LTI 系统的微分方程为y’’(t)+ 2y’(t)+100y(t)=f(t)其中,'(0)(0)0,()10sin(2)y y f t t π===,求系统的输出y(t).解:显然,这是一个求系统零状态响应的问题。
其MATLAB 计算程序如下: ts=0;te=5;dt=0.01;sys=tf([1],[1,2,100]);t=ts:dt:te;f=10*sin(2*pi*t);y=lsim(sys,f,t);plot(t,y);xlabel('Time(sec)');ylabel('y(t)');2.连续时间系统冲激响应和阶跃响应的求解在MATLAB 中,对于连续LTI 系统的冲激响应和阶跃响应,可分别用控制系统工具箱提供的函数impluse 和step 来求解。
实验二 LTI 系统的响应一、 实验目的1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3. 熟悉应用MATLAB 实现求解系统响应的方法二、 实验原理1.连续时间系统在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。
如果系统输入为f (t ),冲激响应为h(t),系统的零状态响应为y (t ),则有:()()()y t h t f t =*。
若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。
但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。
在MATLAB 中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。
lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。
说明:(1)当系统有初始状态时,若使用lsim( )函数求系统的全响应,就要使用系统的状态空间描述法,即首先要根据系统给定的方式,写出描述系统的状态方程和输出方程。
假如系统原来给定的是微分方程或系统函数,则可用相变量法或对角线变量等方法写出系统的状态方程和输出方程。
其转换原理如前面实验四所述。
(2)显然利用lsim( )函数不仅可以分析单输入单输出系统,还可以分析复杂的多输入多输出系统。
例题1: 若某连续系统的输入为e (t ),输出为r (t ),系统的微分方程为:''()5'()6()3'()2()y t y t y t f t f t ++=+① 求该系统的单位冲激响应h (t )及其单位阶跃响应g (t )。
a=[1 5 6];b=[3 2];subplot(2,1,1),impulse(b,a,0:0.01:5); subplot(2,1,2),step(b,a,0:0.01:5);-10123Im pulse ResponseTim e (sec)A m p l i t u d e0.20.40.60.8Step ResponseTim e (sec)A m p l i t u d e② 若2()()tf t e t ε-= 求出系统的零状态响应y(t ) a=[1 5 6];b=[3 2]; t=0:0.01:5; f=exp(-2*t); lsim(b,a,f,t);Linear Sim ulation R esultsTim e (sec)A m p l i t u d e-0.20.20.40.60.811.2例题2 已知一个过阻尼二阶系统的状态方程和输出方程分别为:010'()()()232x t X t f t ⎡⎤⎡⎤=+⎢⎥⎢⎥--⎣⎦⎣⎦, r (t )=[0 1]X (t ) 。
若系统初始状态为X (0)=[4 -5]T , 求系统在4()3()tf t e t ε-=作用下的全响应。
A=[0 1;-2 -3];B=[0 2]';C=[0 1];D=[0]; x0=[4 -5]'; t=0:0.01:10; f=[3*exp(-4*t)]'; lsim(A,B,C,D,f,t,x0);-5-4-3-2-1123Linear Sim ulation ResultsTim e (sec)A m p l i t u d e2.离散时间系统MATLAB 中为用户提供了专门用于求解离散系统单位函数响应, 并绘制其时域波形的函数impz( )。
同样也提供了求离散系统响应的专用函数filter( ),该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解。
当系统初值不为零时,可以使用dlsim( )函数求出离散系统的全响应,其调用方法与前面连续系统的lsim( )函数相似。
另外,求解离散系统阶跃响应可以通过如下两种方法实现:一种是直接调用专用函数dstep( ),其调用方法与求解连续系统阶跃响应的专用函数step( )的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter( ),只要将其中的激励信号看成是单位阶跃信号ε(k )即可。
例题:已知描述离散系统的差分方程为:()0.25(1)0.5(2)()(1)y k y k y k f k f k --+-=+-,且已知系统输入序列为12()()()kf k k ε=, ① 求出系统的单位函数响应h (k )在-3 ~10离散时间范围内响应波形。
a=[1 -0.25 0.5];b=[1 1 0]; impz(b,a,-3:10);n (samples)A m p l i t ud eImpulse Response② 求出系统零状态响应在0 ~15区间上的样值;并画出输入序列的时域波形以及系统零状态响应的波形a=[1 -0.25 0.5];b=[1 1 0]; k=0:15; f=(1/2).^k; y=filter(b,a,f);subplot(2,1,1),stem(k,f,'filled'); title('输入序列')subplot(2,1,2),stem(k,y,'filled'); title('输出序列')输出序列三、 实验内容1. 已知描述系统的微分方程和激励信号e (t ) 分别如下,试用解析方法求系统的单位冲激响应h(t)和零状态响应r (t ),并用MATLAB 绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同。
①''()4'()4()'()3()y t y t y t f t f t ++=+;()()tf t e t ε-= a=[1 4 4];b=[1 3]; t=0:0.01:5; f=exp(-t);subplot(2,1,1),impulse(b,a,t); title('单位冲激响应'); subplot(2,1,2),lsim(b,a,f,t); title('零状态响应');0.51单位冲激响应Tim e (sec)A m p l i t u d e0.51零状态响应Tim e (sec)A m p l i t u d e②''()2'()26()'()y t y t y t f t ++=;()()f t t ε= a=[1 2 26];b=[1]; t=0:0.01:5; f=stepfun(t,0);subplot(2,1,1),impulse(b,a,t); subplot(2,1,2),lsim(b,a,f,t);③''()4'()3()()y t y t y t f t ++=;2()()tf t e t ε-=a=[1 4 3];b=[1]; t=0:0.01:5; f=exp(-2*t);subplot(2,1,1),impulse(b,a,t); subplot(2,1,2),lsim(b,a,f,t);④如下图所示的电路中,已知1234()R R R ===Ω,121()L L H ==,且两电感上初始电流分别为12(0)2(),(0)0()i A i A ==,如果以电阻3R 上电压()y t 作为系统输出,请求出系统在激励()12()f t t ε=(v )作用下的全响应。
A=[-8 4;4 -8];B=[1 0]';C=[4 -4];D=[0]; X=[2 0]; t=0:0.01:2;f=12*stepfun(t,0); lsim(A,B,C,D,f,t,X);456789101112Linear Sim ulation R esultsTim e (sec)A m p l i t u d e2. 请用MATLAB 分别求出下列差分方程所描述的离散系统,在0~20时间范围内的单位函数响应、阶跃响应和系统零状态响应的数值解,并绘出其波形。
另外,请将理论值与MATLAB 仿真结果在对应点上的值作比较,并说出两者的区别和产生误差的原因。
① ()2(1)(2)()y k y k y k f k +-+-=;14()()f k k ε= a=[1 2 1];b=[1 0 0]; k=0:20;f=(1/4)*stepfun(k,0); y=filter(b,a,f);subplot(3,1,1),impz(b,a,k); title('单位函数响应')subplot(3,1,2),dstep(b,a,k); title('单位阶跃响应')subplot(3,1,3),stem(k,y,'filleed'); title('零输入响应')② (2)0.7(1)0.1()7(2)2(1)y k y k y k f k f k +-++=+-+;()()f k k ε= a=[1 -0.7 0.1];b=[7 -2 0]; k=0:20;f=stepfun(k,0); y=filter(b,a,f);subplot(3,1,1),impz(b,a,k); title('单位函数响应')subplot(3,1,2),dstep(b,a,k); title('单位阶跃响应')subplot(3,1,3),stem(k,y,'filled'); title('零输入响应')③ 5166()(1)(2)()(2)y k y k y k f k f k --+-=--;()()f k k ε=a=[1 -5/6 1/6];b=[1 0 -1]; k=0:20;f=stepfun(k,0); y=filter(b,a,f);subplot(3,1,1),impz(b,a,k); title('单位函数响应')subplot(3,1,2),dstep(b,a,k); title('单位阶跃响应')subplot(3,1,3),stem(k,y,'filleed'); title('零输入响应')④一带通滤波器可由下列差分方程描述:()0.81(2)()(2)y k y k f k f k +-=--, 其中()f k 为系统输入, ()y k 为系统输出。