连续时间LTI系统的时域分析
- 格式:doc
- 大小:76.50 KB
- 文档页数:5
MATLAB与信号实验——连续LTI系统的时域分析连续LTI系统的时域分析是信号与系统学中的重要课题。
MATLAB作为一种强大的科学计算软件,提供了丰富的工具和函数来进行信号与系统的分析。
下面将介绍MATLAB在连续LTI系统时域分析中的应用。
首先,我们需要了解连续LTI系统的基本概念。
一个连续域线性时不变系统(LTI系统)可以由它的冲激响应完全描述。
冲激响应是系统对单位冲激信号的响应。
在MATLAB中,可以使用impulse函数来生成单位冲激信号。
假设我们有一个连续LTI系统的冲激响应h(t),我们可以使用conv 函数来计算系统对任意输入信号x(t)的响应y(t)。
conv函数实现了卷积运算,可以将输入信号与冲激响应进行卷积运算得到输出信号。
例如,我们假设一个连续LTI系统的冲激响应为h(t) = exp(-t)u(t),其中u(t)是单位阶跃函数。
我们可以使用以下代码生成输入信号x(t)和计算输出信号y(t):```matlabt=-10:0.1:10;%时间范围x = sin(t); % 输入信号h = exp(-t).*heaviside(t); % 冲激响应y = conv(x, h, 'same'); % 计算输出信号```这段代码首先定义了时间范围t,然后定义了输入信号x(t)和冲激响应h(t)。
接下来,使用conv函数计算输入信号和冲激响应的卷积,设置参数’same’表示输出信号与输入信号长度相同。
最后,得到了输出信号y(t)。
在得到输出信号后,我们可以使用MATLAB的绘图功能来可视化结果。
例如,使用以下代码可以绘制输入信号和输出信号的图像:```matlabfigure;plot(t, x, 'b', 'LineWidth', 2); % 绘制输入信号hold on;plot(t, y, 'r', 'LineWidth', 2); % 绘制输出信号xlabel('时间');ylabel('幅度');legend('输入信号', '输出信号');```除了卷积运算外,MATLAB还提供了许多其他函数来进行连续LTI系统的时域分析。
实验三连续时间LTI系统的时域分析实验报告一、实验目的通过实验三的设计和实现,达到如下目的:1、了解连续时间LTI(线性时不变)系统的性质和概念;2、在时域内对连续时间LTI系统进行分析和研究;3、通过实验的设计和实现,了解连续时间LTI系统的传递函数、共轭-对称性质、单位冲激响应等重要性质。
二、实验原理在常见的线性连续时间系统中,我们知道采用差分方程的形式可以很好地表示出该系统的性质和特点。
但是,在本实验中,我们可以采用微分方程的形式来进行相关的研究。
设系统的输入为 x(t),输出为 y(t),系统的微分方程为:其中,a0、a1、…、an、b0、b1、…、bm为系统的系数,diff^n(x(t))和diff^m(y(t))分别是输入信号和输出信号对时间t的n阶和m阶导数,也可以记为x^(n)(t)和y^(m)(t)。
系统的单位冲激响应函数 h(t)=dy/dx| x(t)=δ(t),则有:其中,h^(i)(t)表示h(t)的第i阶导数定义系统的传递函数为:H(s)=Y(s)/X(s)在时域内,系统的输出y(t)可以表示为:其中,Laplace^-1[·]函数表示Laplace逆变换,即进行s域到t域的转化。
三、实验步骤1、在Simulink中,构建连续时间LTI系统模型,其中系统的微分方程为:y(t)=0.1*x(t)-y(t)+10*dx/dt2、对系统进行单位冲激响应测试,绘制出系统的单位冲激响应函数h(t);4、在S函数中实现系统单位冲激响应函数h(t)的微分方程,并使用ODE45框图绘制出系统单位冲激响应函数h(t)在t=0~10s之间的图像;6、利用数据记录栏,记录系统在不同的参数下的变化曲线、阶跃响应函数u(t)和单位冲激响应函数h(t)的变化规律。
四、实验数据分析1、单位冲激响应测试那么,当输入信号为单位冲激函数δ(t)时,根据系统的微分方程,可以得知输出信号的形式为:即单位冲激响应函数h(t)为一个包含了单位冲激函数δ(t)在内的导数项序列。
MATLAB与信号实验-——-连续LTI系统的时域分析在信号处理中,MATLAB是一个强大的工具,它提供了许多功能,使我们能够模拟和分析各种信号系统。
对于连续LTI系统,时域分析是一个重要的方法,它允许我们直接观察系统的输入和输出信号之间的关系。
下面是一个关于连续LTI系统的时域分析的实验。
一、实验目的本实验的目的是验证连续LTI系统的时域响应,通过使用MATLAB模拟系统,我们可以观察到不同的输入信号产生的输出信号,从而了解系统的特性。
二、实验步骤1.定义系统:首先,我们需要定义我们的连续LTI系统。
这可以通过使用MATLAB中的lti函数来完成。
我们需要提供系统的传递函数,它描述了系统的输入和输出之间的关系。
2.设置输入信号:为了观察系统的行为,我们需要设置一个合适的输入信号。
在MATLAB中,我们可以使用square函数来生成一个方波信号,该信号具有固定的频率和幅度。
3.模拟系统:使用MATLAB的lsim函数,我们可以模拟我们的连续LTI系统。
这个函数将输入信号和系统的传递函数作为参数,然后计算出系统的输出信号。
4.分析结果:我们可以使用MATLAB的图形功能来观察输入和输出信号。
这可以帮助我们理解系统的行为,并验证我们的模型是否正确。
三、实验结果与分析在实验中,我们使用了不同的输入信号(如方波、正弦波等)来测试我们的连续LTI系统。
对于每种输入信号,我们都观察了系统的输出信号,并记录了结果。
通过对比不同的输入和输出信号,我们可以得出以下结论:1.对于方波输入,系统的输出信号是带有延迟的方波,这表明系统对突变信号的响应是瞬时的。
2.对于正弦波输入,系统的输出信号是与输入信号同频同相位的正弦波,这表明系统对正弦波的响应是具有稳定性的。
这些结果验证了连续LTI系统的基本特性:即对于单位阶跃函数(突变信号)的输入,系统的响应是瞬时的;而对于周期性输入(如正弦波),系统的响应具有稳定性。
这些结果与我们在理论上学到的知识相符,从而验证了我们的模型是正确的。
实验二连续时间系统的时域分析一、实验目的通过使用MATLAB 软件对连续时间线性非时变系统的时域特性进行仿真分析,熟悉IT 系统在典型激励下的响应及特征,熟悉相应MATLAB 函数的调用格式和作用,熟悉井掌握用MATLAB 函数求解冲激响应、阶跃响应、零输入响应、零状态响应及全响应的方法。
二、实验原理(一)连续时间系统的时域分析方法 连续时间线性非时变系统(LTI )的输入()t f 与输出()t y 可以用线性常系数微分方程来描述:()()()()()()()()()()t f b t f b t fb t y a t y a t y a t y a m m n n n n 0'10'111++=++++--如果已知系统的输入信号()t f 及系统的初始条件为()()()()()-----0,,0,0,01'''n y y y y ,就可以利用解析方法求出系统的响应。
线性系统的全响应由零输入响应分量和零状态响应分量组成。
零输入响应是指当输入为零时仅由t=0的初始条件产生的系统响应,零状态响应是当初始条件(在t=0)假定为零时仅由0≥t 时的输入产生的系统响应分量。
零输入响应(单极点时)为:()∑==+++=nk t k tn ttx k n e c ec ec ec t y 12121λλλλ f式中,n c c c 、、、 21为任意待定常数,由初始条件确定。
零状态响应为:()()()τττd t h f t y f -=⎰∞∞-此式是对任意输入()t f ,用单位冲激响应()t h 形式表示的零状态响应()t y f 的公式。
已知()t h 就可确定任意输入()t f 的零状态响应()t y f ,即系统对任意输入的响应都可以用单位冲激响应确定。
系统总响应为:()()()()()τττλd t h f ec t y t y t y tnj j f x j -+=+=⎰∑∞∞-=1对于高阶系统,手工计算非常繁琐。
r=conv(h,e);t=-10:l/a:10;PlOt(I.r);title('零状态响应r(t)'); xlabel('t');ylabel('r');零输入程序及仿真建模当UT系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根)Mf)=GeR÷Ge网+••••+”'其中PbP2,,∙∙,Pn是特征方程alλn+a2λn-l+∙∙∙+anλ+an=O的根,它们可以用rool(八)语句求得。
各系数IIIy及其各阶导数的初始值来确定。
对此有G+G+•…+G=NOp l C l+p2C2+--+P ll C n=Dy0PFG+〃2”工+•…3Y写成矩阵形式为:PJC+IY1C J+∙∙∙+PJC=D"*PlPi - P nC*-∣C∣t-∣JU-IP∣Pi…P…V为范德蒙矩阵,在matlab的特殊矩阵库中有Vandero以下面式子为例:√(r)+5y(0+4y(r)=2∕(∕)-4∕(r)y(OJ=l,y(OJ=5:MAT1.AB程序:a=input(,输入分母系数a=[al,a2,...]=');n=length(八)-l;YO=inputC输入初始条件向量YO=[yO,DyO,D2yO,.p=roots(八);V=rot90(vander(p));c=V∖Y0';dt=inρut('dt=');te=inpιιt('te-);t=O:dt:te;y=zeros(1,length(t));fork=kny=y÷c(k)*exp(p(k)*t);endplot(t,y);gridon:xlabel(,t');ylabel('y');litle('零输入响应');程序运行结果:用这个通用程序来解一个三阶系统,运行此程序并输入a=[l,5,4]Y0=[l,5]dt=O.Olte=6结果如下列图:依据图可以分析零输入响应,它的起始值与输入函数无关,只与它的初始状态值有关,其起始值等于y(0_)的值。
信号与系统实验陈述课程名称:信号与系统实验实验项目名称:连续线性时不变系统分析专业班级:姓名:学号:完成时间:年月日一、实验目的1.掌握连续LTI系统的单位冲激响应、单位阶跃响应和任意激励对应响应的求解方法。
2.掌握连续LTI系统的频域分析方法。
3.掌握连续LTI系统的复频域分析方法。
4.掌握连续LTI系统的时域、频域和复频域分析方法的相互转换。
二、实验原理1.连续LTI系统的时域分析(1)连续线性时不变系统的描述设连续线性时不变系统的激励为,响应为,则描述系统的微分方程可暗示为为了在Matlab编程中调用有关函数,我们可以用向量和来暗示该系统,即这里要注意,向量和的元素排列是按微分方程的微分阶次降幂排列,缺项要用0补齐。
(2) 单位冲激响应单位冲激响应是指连续LTI系统在单位冲激信号激励下的零状态响应,因此满足线性常系数微分方程(5.1)及零初始状态,即,依照定义,它也可暗示为对于连续LTI系统,若其输入信号为,冲激响应为,则其零状态响应为可见,能够刻画和表征系统的固有特性,与何种激励无关。
一旦知道了系统的冲激响应,就可求得系统对任何输入信号所发生的零状态响应。
Matlab提供了专门用于求连续系统冲激响应的函数impulse(),该函数还能绘制其时域波形。
(3)单位阶跃响应单位阶跃响应是指连续LTI系统在单位阶跃信号激励下的零状态响应,它可以暗示为Matlab提供了专门用于求连续系统单位阶跃响应的函数step( ),该函数还能绘制其时域波形。
(4)任意激励下的零状态响应已经知道,连续LTI系统可用常系数线性微分方程(5.1)式来描述,Matlab提供的函数lsim( )能对上述微分方程描述的连续LTI系统的响应进行仿真,该函数不但能绘制指定时间范围内的系统响应波形图,而且还能求出系统响应的数值解。
其调用格式有lsim(b,a,x,t)y=lsim(b,a,x,t) :只求出系统的零状态响应的数值解,而不绘制响应曲线需要特别强调的是,Matlab总是把由分子和分母多项式暗示任何系统都当作是因果系统。
实验报告贺鹤 18号实验名称:连续时间LTI系统的时域分析
实验课时:2课时
实验地点:知行楼404
实验时间:2015年5月29日星期五第13周
实验目的及要求:
(一)目的:
1.学会用MATLAB求解连续系统的零状态响应;
2. 学会用MATLAB求解冲激响应及阶跃响应;
3.学会用MATLAB实现连续信号卷积的方法;
(二)要求:
1. 在MATLAB中输入程序,验证实验结果,并将实验结果存入指定存储区域。
2. 对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。
3. 在实验报告中写出完整的自编程序,并给出实验结果。
实验环境:MATLAB
实验内容:(算法、程序、步骤和方法)
1.实验原理
函数lsim 、函数impluse和step、conv( )函数
2.实验内容
(1)题目1:已知描述系统的微分方程和激励信号f(t)如下,试用解析法求系统的零状态响应y(t),并用MATLAB绘出系统零状态响应的时域仿真波形,验证结果是否相同
y’’(t)+ 4y’(t)+4y(t)=f’(t)+3f(t) f(t)= exp(-t))
(t 程序1:
ts=0;te=5;dt=0.01;
sys=tf([1,3],[1,4,4]);
t=ts:dt:te;
f1=(t>=0);
f=exp(-t).*f1;
y=lsim(sys,f,t);
plot(t,y);
xlabel('Time(sec)');
ylabel('y(t)');
(2)题目2:已知描述系统的微分方程如下,试用MATLAB 求系统在0~10秒范围内冲激响应和阶跃响应的数值解,并用绘出系统冲激响应和阶跃响应的时域波形
y ’’(t)+3y ’(t)+2y(t)=f(t)
y ’’(t)+ 2y ’(t)+2y(t)=f ’(t)
程序2:
ts=0;te=10;dt=0.01;
sys=tf([1,1],[2,5,4]);
t=ts:dt:te;
h=impulse(sys,t);
figure;
plot(t,h);
xlabel('Time(sec)');
ylabel('h(t)');
g=step(sys,t);
figure;
plot(t,g);
xlabel('Time(sec)');
ylabel('g(t)');
(3)题目3:画出信号卷积积分)()(21t f t f *的波形,)1()()()(21--==t t t f t f εε 程序3:
dt=0.01; t=-1:dt:2.5;
f1=(t>=0);
f2=(t>=1);
f3=f1-f2;
f4=f3;
f=conv(f3,f4)*dt
n=length(f); tt=(0:n-1)*dt-2;
subplot(221), plot(t,f3), grid on;
axis([-1,2.5,-0.2,1.2]); title('f1(t)'); xlabel('t')
subplot(222), plot(t,f4), grid on;
axis([-1,2.5,-0.2,1.2]); title('f2(t)'); xlabel('t')
subplot(223), plot(tt,f), grid on;
title('f(t)=f1(t)*f2(t)'); xlabel('t')
数据记录和计算:
由于计算水平有限,加之MATLAB运用不成熟,等式不知怎么表达。
所以在此不做过多的分析证明。
如无操作失误,理论值应与实际值相同。
结论(结果):
实验1
实验2
实验3
小结:
通过这次实验,再次熟练了MATLAB软件的使用方法,并且在老师的指导和帮助下完成了对连续时间LTI系统的时域分析。
在这次试验中,不仅学会用MATLAB 求解连续系统的零状态响应,求解冲激响应及阶跃响应,而且还学会用MATLAB 实现连续信号卷积的方法;
指导老师评议:
成绩:指导老师签名:
年月日。