实验三 连续时间LTI系统的时域分析报告
- 格式:doc
- 大小:158.00 KB
- 文档页数:9
. .实验三 连续时间LTI 系统的频域分析一、实验目的1、掌握系统频率响应特性的概念及其物理意义;2、掌握系统频率响应特性的计算方法和特性曲线的绘制方法,理解具有不同频率响应特性的滤波器对信号的滤波作用;3、学习和掌握幅度特性、相位特性以及群延时的物理意义;4、掌握用MATLAB 语言进行系统频响特性分析的方法。
基本要求:掌握LTI 连续和离散时间系统的频域数学模型和频域数学模型的MATLAB 描述方法,深刻理解LTI 系统的频率响应特性的物理意义,理解滤波和滤波器的概念,掌握利用MATLAB 计算和绘制LTI 系统频率响应特性曲线中的编程。
二、实验原理及方法1 连续时间LTI 系统的频率响应所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response ),是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。
上图中x(t)、y(t)分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响应,它们三者之间的关系为:)(*)()(t h t x t y =,由傅里叶变换的时域卷积定理可得到:)()()(ωωωj H j X j Y =3.1或者: )()()(ωωωj X j Y j H =3.2)(ωj H 为系统的频域数学模型,它实际上就是系统的单位冲激响应h(t)的傅里叶变换。
即⎰∞∞--=dt e t h j H tj ωω)()( 3.3 由于H(j )实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者说是绝对可积(Absolutly integrabel )的话,那么H(j )一定存在,而且H(j )通常是复数,连续时间LTI 系统的时域及频域分析图系统LTI )(t h )(ωj H )(t y )(ωj X )(ωj Y )(t x坐标形式:)()()(ωϕωωj ej H j H = 3.4上式中,)j (ωH 称为幅度频率相应(Magnitude response ),反映信号经过系统之后,信号各频率分量的幅度发生变化的情况,)(ωϕ称为相位特性(Phase response ),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。
实验三连续时间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)在内的导数项序列。
连续LTI 系统的时域分析 1、 实验目的(1) 熟悉连续LTI 系统在典型激励信号下的响应及其特征(2) 掌握连续LTI 系统单位冲激响应的求解方法 (3) 掌握用卷积法计算连续时间系统的零状态响应(4) 掌握matlab 相关函数的调用格式和作用 (5) 能够用matlab 对系统进行时域分析 2、 实验原理对于一般的n 阶LTI 连续系统,其微分方程的形式可以写成()(1)(1)()(1)(1)110110()()...()()()()...()()n n m m n m m y t a y t a y t a y t b f t b f t b f t b f t ----++++=++++式中系数均为常数,y(t)为系统的相应变量,f(t)为系统的激励信号 对于一个动态系统而言,其响应不仅与激励有关,还与系统的初始状态有关,对于线性系统通常分为零输入响应和零状态响应两部分。
对于低阶系统一般可以通过解析法得到响应,但是对于高阶系统,手工计算比较困难,利用matlab 强大的计算功能就能方便的得到系统的冲激响应、阶跃响应、零输入响应、零状态响应和全响应。
(1) 直接求解法 涉及的函数有impulse(冲激响应),step (阶跃响应),roots (零输入响应),lsim(零状态响应)等,在matlab 中,要求以系数向量的形式输入系统的微分方程,因此在使用前必须对系统的微分方程进行变换,得到其传递函数,分别用向量a 和b 表示分母多项式和分子多项式的系统(按S 的降幂排列) (2) 卷积计算法 用卷积积分极端线性时不变系统的零状态响应。
若对于LTI 系统,则系统的冲激响应为h(t),当输入为f(t)时系统的零状态响应()()()()*()zs y t f h t d f t h t τττ+∞-∞=-=⎰若系统为因果系统,则输入信号从t=0时加入,上式变为 0()()()yzs t f h t d τττ∞=-⎰3、 涉及的matlab 函数 (1) lsim 函数 功能:计算并画出系统在任意输入下的零状态响应 调用格式:lsim(b,a,x,t)其中b 和a 是由描述系统的微分方程的系数决定的表示该系统的两个行向量,x 和t 是表示输入信号的行向量(t 表示输入信号时间范围的向量,x 表示输入信号在向量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系统的基本特性:即对于单位阶跃函数(突变信号)的输入,系统的响应是瞬时的;而对于周期性输入(如正弦波),系统的响应具有稳定性。
这些结果与我们在理论上学到的知识相符,从而验证了我们的模型是正确的。
实验三 连续时间LTI 系统的频域分析一、实验目的1、掌握系统频率响应特性的概念及其物理意义;2、掌握系统频率响应特性的计算方法与特性曲线的绘制方法,理解具有不同频率响应特性的滤波器对信号的滤波作用;3、学习与掌握幅度特性、相位特性以及群延时的物理意义;4、掌握用MA TLAB 语言进行系统频响特性分析的方法。
基本要求:掌握LTI 连续与离散时间系统的频域数学模型与频域数学模型的MATLAB 描述方法,深刻理解LTI 系统的频率响应特性的物理意义,理解滤波与滤波器的概念,掌握利用MATLAB 计算与绘制LTI 系统频率响应特性曲线中的编程。
二、实验原理及方法1 连续时间LTI 系统的频率响应所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response),就是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况与响应的相位随频率的变化情况两个方面。
上图中x(t)、y(t)分别为系统的时域激励信号与响应信号,h(t)就是系统的单位冲激响应,它们三者之间的关系为:)(*)()(t h t x t y =,由傅里叶变换的时域卷积定理可得到:)()()(ωωωj H j X j Y =3、1或者: )()()(ωωωj X j Y j H =3、2)(ωj H 为系统的频域数学模型,它实际上就就是系统的单位冲激响应h(t)的傅里叶变换。
即⎰∞∞--=dt e t h j H tj ωω)()( 3、3由于H(j ω)实际上就是系统单位冲激响应h(t)的傅里叶变换,如果h(t)就是收敛的,或者说就是绝对可积(Absolutly integrabel)的话,那么H(j ω)一定存在,而且H(j ω)通常就是复数,因此,也可以表示成复数的不同表达形式。
在研究系统的频率响应时,更多的就是把它表示成极坐标形式:)()()(ωϕωωj ej H j H = 3、4上式中,)j (ωH 称为幅度频率相应(Magnitude response),反映信号经过系统之后,信号各频率分量的幅度发生变化的情况,)(ωϕ称为相位特性(Phase response),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。
实验三线性时不变连续系统的时域分析一、实验目的1.加深对线性时不变系统中零状态响应概念的理解,掌握其求解方法;2.掌握求解给定连续系统的冲激响应和阶跃响应的方法。
二、实验原理1. 线性时不变(LTI) 连续时间系统用常系数线性微分方程进行描述,系统的零状态响应就是在系统初始状态为零条件下微分方程的解。
MATLAB控制系统工具箱提供了一个lsim函数来求解连续时间系统的零状态响应。
设系统方程为:,该方程左边、右边的系数向量分别为,,所对应的系统模型sys可借助MATLAB中的tf函数得到:sys = tf(b, a) .这样,系统的零状态响应为:y = lsim(sys, f, t) ,其中f是输入信号向量,t是与f对应的时间变量。
2. 连续系统的冲激响应、阶跃响应分别是输入信号为和所对应的零状态响应。
MATLAB控制系统工具箱专门提供了两个函数求解连续系统的冲激响应和阶跃响应。
冲激响应:y = impulse(sys, t) ;阶跃响应:y = step(sys, t) .其中sys, t的含义同上。
三、程序示例示例1:已知系统的微分方程为,。
求零状态响应。
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); %求系统的零状态响应yplot(t, y); %绘出零状态响应的波形xlabel('t(sec)'); % 这行代码是给出x坐标的标签ylabel('y(t)'); % 这行代码是给出y坐标的标签grid on % 这行代码是在图上显示方格程序运行结果见下图。
示例2:利用impulse 函数和step 函数,求连续系统冲激响应和阶跃响应。
实验三 连续时间LTI 系统的时域分析一、实验目的1.学会用MATLAB 求解连续系统的零状态响应; 2. 学会用MATLAB 求解冲激响应及阶跃响应; 3.学会用MATLAB 实现连续信号卷积的方法;二、实验原理1.连续时间系统零状态响应的数值计算我们知道,LTI 连续系统可用如下所示的线性常系数微分方程来描述,()()0()()NMi j i j i j a yt b f t ===∑∑在MATLAB 中,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数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 b b 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 来求解。
上机实验2 连续LTI系统的时域分析一、实验目的(1)熟悉LTI系统在典型激励信号的响应及其特性;(2)熟悉连续LTI系统单位冲激响应的求解方法;(3)重点掌握用卷积计算连续时间系统的零状态响应;(4)熟悉MATLAB相关函数的调用格式及作用;(5)会用MATLAB寸系统进行时域分析。
二、实验原理连续时间系统可用如下的线性常系数微分方程来描述:a n y n(t) a n 1y n 1(t) ... a0y(t)b m f(m)(t) ... b0 f(t)(n 1)y(0 ),...,y (0 )其中,n m ,系统的初始条件为系统的响应一般包括两部分,即由当前输入所产生的响应(零状态响应)和由历史输入(初始状态)所生产的响应(零输入响应)。
寸于低阶系统,一般可以通过解析的方法得到响应,但是寸与高阶的系统,手工计算比较困难,这时MATLAB 强大的计算功能就比较容易确定系统的各种响应,如冲击响应,阶跃,零状态响应,全响应等。
1、直接求解法涉及到的MATLAB函数有:impulse(冲击响应)、step(阶跃)、roots(零状态下响应)、lsim(零状态响应)等。
在MATLAB中,要以系统向量的形式输入系统的微分方程,因此在使用前必须寸系统的微分方程进行变换,得到其传递函数。
其分别用向量a,b表示分母多项式和分子多项式的系数(按照s的降幕排列)。
2、卷积计算法跟据系统的单位冲激响应,里用卷积计算的方法,也可以计算任意输入状态下系统的零状态响应。
设一个线性零状态系统,已知系统的单位冲激响应为h(t),当系统的激励信号为f(t)时,系统的零状态响应为:yzs t f h t d f t h d也可简记为 f t ht由于计算机采用的数值计算,因此系统的零状态响应也可以用离散序列卷积和近似为y zs(k) f (n)h(k n)T f (k) h(k)zsn式中y zs(k)、f(k)和h(k)分别对应以T为时间间隔对连续时间信号y zs(k)、f (k)和h(k) 进行采样得到的离散序列。
电子信息工程系实验报告成绩:课程名称:计算机仿真技术指导教师(签名):实验项目名称:实验4 信号与系统仿真—连续时间LTI系统的时域分析实验时间:2011-11-22 班级:电信092 姓名:XXX 学号:910706201一、实验目的:学会运用MATLAB符号求解连续系统的零输入响应和零状态响应;学会运用MATLAB数值求解连续系统的零状态响应;学会运用MATLAB求解连续系统的冲激响应和阶跃响应;思考运用MATLAB卷积积分法求解系统的零状态响应。
二、实验环境:硬件:PC机,PII以上 CPU,内存1G;软件:Matlab7.1三、实验原理:连续时间系统零状态响应的数值求解:对于零状态响应,MATLAB控制系统工具箱提供了对LTI系统的零状态响应进行数值仿真的函数lsim,该函数可求解零初始条件下微分方程的数值解,语句格式为:y=lsim(sys,f,t)其中,t表示计算系统响应的时间抽样点向量;f是系统的输入信号向量;sys表示LTI系统模型,用来表示微分方程、差分方程或者状态方程。
在求微分方程时,sys是由MATLAB的tf函数根据微分方程系数生成的系统函数对象,其语句格式为:sys = tf(b,a)其中,b和a分别为微分方程右端和左端的系数向量。
例如,对于微分方程可用;;获得其LTI模型。
注意,如果微分方程的左端或右端表达式中有缺项,则其向量a 或者b中对应的元素应为0,不能省略不写,否则会出错。
连续时间系统冲激响应和阶跃响应的求解:在MATLAB中,对于连续LTI系统的冲激响应和阶跃响应的数值解,可分别用控制系统工具箱提供的函数impulse和step来求解。
其语句格式分别为:y = impulse(sys,t);y = step(sys,t);其中,t表示计算机系统响应的时间抽样点向量,sys表示LTI系统模型。
四、实验内容及过程:1.1、已知系统的微分方程和激励信号如下,试用MATLAB命令绘出系统零状态响应的时域仿真波形图。
XXXXXXXX大学(计算机网络)实验报告实验名称连续时间系统的时域分析实验时间年月日专业XX学号预习操作座位号教师签名总评一、实验目的:1、熟悉连续时间系统的线性和时不变性质。
2、掌握线性时不变系统的单位冲激响应的概念。
3、掌握线性时不变系统的微分方程描述方法与其MATLAB编程的求解方法。
二、实验原理:(一)线性时不变(LTI)系统在分析连续时间系统时,有关系统的两个重要的性质就是线性(Linearity)和时不变性(Time-invariance)。
所谓线性是指系统同时满足齐次性和可加性。
这可以用下面的方法来描述。
假设系统在输入信号x1(t)时的响应为y1(t),在输入信号x2(t)时的响应信号为y2(t),给定两个常数a和b,如果当输入信号为x(t)时系统的响应信号为y(t),且满足x(t) = x1(t) + x2(t) (a)图3-3 用Hanning窗加权后方波FS的跃变点附近的Gibbs现象的消除y(t) = y1(t) + y2(t) (b)则该系统具有可加性(Additivity)。
如果满足x(t) = ax1(t) (a)y(t) = ay1(t) (b)则该系统具有齐次性(Homogeneity )。
如果系统同时具有可加性和齐次性则系统是线性。
假设系统在输入信号x(t)时的响应为y(t),对一个给定时间常数t 0,如果当输入信号为x(t-t0)时,系统的响应为y(t-t0)的话,则该系统具有时不变性。
同时具有线性和时不变性的系统,叫做线性时不变系统,简称LTI 系统。
(二)LTI 系统的微分方程描述线性常系数微分方程是描述LTI 系统的一种时域模型。
一个连续时间LTI 系统,它的输入信号x(t)和输出信号y(t)的关系可以用下面的微分方程来表达。
∑∑===M k k k k Nk k k k dt t x d b dt t y d a 00)()((1) 在MATLAB 中,我们可用向量a=[a N ,a N-1,……a 1,a 0]和b=[b N ,b N-1,……b 1,b 0] 来表示该系统,其中a 和b 分别为(1)式中方程左右两端的系数向量。
实验二连续时间系统的时域分析一、实验目的通过使用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对于高阶系统,手工计算非常繁琐。
一、课程设计题目:基于 MATLAB 的连续时间LTI 系统的时域分析二、基本要求:① 掌握连续时不变信号处理的基本概念、基本理论和基本方法; ② 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法; ③ 学会用 MATLAB 对信号进行分析和处理;④ 编程实现卷积积分或卷积和,零输入响应,零状态响应; ⑤ 撰写课程设计论文,用信号处理基本理论分析结果。
三、设计方法与步骤:一般的连续时间系统分析有以下几个步骤: ①求解系统的零输入响应; ②求解系统的零状态响应; ③求解系统的全响应; ④分析系统的卷积;⑤画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法.1.连续时间系统的零输入响应描述n 阶线性时不变(LTI )连续系统的微分方程为:已知y 及各阶导数的初始值为y(0),y (1)(0),… y (n-1)(0), 求系统的零输入响应。
建模当LIT 系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根)其中p 1,p 2,…,p n 是特征方程a 1λn +a 2λn-1+…+a n λ+a n =0的根,它们可以用root(a)语句求得。
各系数 由y 及其各阶导数的初始值来确定。
对此有………………………………………………………………………………………写成矩阵形式为: P 1n-1C 1+ P 2n-1C 2+…+ P n n-1C n =D n-1y 01121111n n m n n m m n n m d y d y dy d u du a a a a y b b b u dtdt dt dt dt -++-++⋅⋅⋅⋅⋅++=+⋅⋅⋅⋅++即V•C=Y0其解为:C=V\Y0式中V为德蒙矩阵,在matlab的特殊矩阵库中有vander。
以下面式子为例:y(0_)=1,y(0_)=5;MATLAB程序:a=input('输入分母系数a=[a1,a2,...]=');n=length(a)-1;Y0=input('输入初始条件向量 Y0=[y0,Dy0,D2y0,...]=');p=roots(a);V=rot90(vander(p));c=V\Y0';dt=input('dt=');te=input('te=');t=0:dt:te;y=zeros(1,length(t));for k=1:n y=y+c(k)*exp(p(k)*t);endplot(t,y);gridxlabel('t') ;ylabel('y');title('零输入响应');程序运行结果:用这个通用程序来解一个三阶系统,运行此程序并输入a=[1,5,4] Y0=[1,5] dt=0.01 te=6结果如下图:根据图可以分析零输入响应,它的起始值与输入函数无关,只与它的初始状态值有关,其起始值等于y(0_)的值。
实验三连续时间L TI系统的时域分析实验报告实验三连续时间LTI系统的时域分析一、实验目的1、学会使用符号法求解连续系统的零输入响应和零状态响应2、学会使用数值法求解连续系统的零状态响应3、学会求解连续系统的冲激响应和阶跃响应二、实验原理及实例分析1、连续时间系统零输入响应和零状态响应的符号求解连续时间系统可以使用常系数微分方程来描述,其完全响应由零输入响应和零状态响应组成。
MATLAB符号工具箱提供了dsolve函数,可以实现对常系数微分方程的符号求解,其调用格式为:dsolve(‘eq1,eq2…’,’cond1,cond2,…’,’v’)其中参数eq表示各个微分方程,它与MATLAB符号表达式的输入基本相同,微分和导数的输入是使用Dy,D2y,D3y来表示y的一价导数,二阶导数,三阶导数;参数cond表示初始条件或者起始条件;参数v表示自变量,默认是变量t。
通过使用dsolve函数可以求出系统微分方程的零输入响应和零状态响应,进而求出完全响应。
2、连续时间系统零状态响应的数值求解在实际工程中使用较多的是数值求解微分方程。
对于零输入响应来说,其数值解可以通过函数initial来实现,而该函数中的参量必须是状态变量所描述的系统模型,由于现在还没有学习状态变量相关内容,所以此处不做说明。
对于零状态响应,MATLAB控制系统工具箱提供了对LTI系统的零状态响应进行数值仿真的函数lsim,利用该函数可以求解零初始条件下的微分方程的数值解。
其调用格式为:y=lsim(sys,f,t),其中t表示系统响应的时间抽样点向量,f是系统的输入向量;sys表示LTI系统模型,用来表示微分方程、差分方程或状态方程。
在求解微分方程时,sys是有tf函数根据微分方程系数生成的系统函数对象,其语句格式为:sys=tf(a,b)。
其中,a和b分别为微分方程右端和左端的系数向量。
例如,对于微分方程a3y'''(t)?a2y''(t)?a1y'(t)?a0y(t)?b3f'''(f)?b2f''(t)?b1f'(t)?b0f(t) 可以使用a?[a3,a2,a1,a0];b?[b3,b2,b1,b0];sys?tf(b,a)获得其LTI模型。
实验三 连续时间LTI 系统的频域分析一、实验目的1、掌握系统频率响应特性的概念及其物理意义;2、掌握系统频率响应特性的计算方法和特性曲线的绘制方法,理解具有不同频率响应特性的滤波器对信号的滤波作用;3、学习和掌握幅度特性、相位特性以及群延时的物理意义;4、掌握用MATLAB 语言进行系统频响特性分析的方法。
基本要求:掌握LTI 连续和离散时间系统的频域数学模型和频域数学模型的MATLAB 描述方法,深刻理解LTI 系统的频率响应特性的物理意义,理解滤波和滤波器的概念,掌握利用MATLAB 计算和绘制LTI 系统频率响应特性曲线中的编程。
二、实验原理及方法1 连续时间LTI 系统的频率响应所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response ),是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。
上图中x(t)、y(t)分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响应,它们三者之间的关系为:)(*)()(t h t x t y =,由傅里叶变换的时域卷积定理可得到:)()()(ωωωj H j X j Y =3.1或者: )()()(ωωωj X j Y j H =3.2)(ωj H 为系统的频域数学模型,它实际上就是系统的单位冲激响应h(t)的傅里叶变换。
即⎰∞∞--=dt et h j H tj ωω)()( 3.3由于H(j ω)实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者说是绝对可积(Absolutly integrabel )的话,那么H(j ω)一定存在,而且H(j ω)通常是复数,因此,也可以表示成复数的不同表达形式。
在研究系统的频率响应时,更多的是把它表示成极坐标形式:)()()(ωϕωωj ej H j H = 3.4上式中,)j (ωH 称为幅度频率相应(Magnitude response ),反映信号经过系统之后,信号各频率分量的幅度发生变化的情况,)(ωϕ称为相位特性(Phase response ),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。
实验三 连续时间LTI 系统的时域分析 一、实验目的1.学会用MA TLAB 求解连续系统的零状态响应; 2. 学会用MATLAB 求解冲激响应及阶跃响应; 3.学会用MA TLAB 实现连续信号卷积的方法; 二、实验原理1.连续时间系统零状态响应的数值计算我们知道,LTI 连续系统可用如下所示的线性常系数微分方程来描述,()()0()()NMi j i j i j a yt 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 b b 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 来求解。
其调用格式为 y=impluse(sys,t)y=step(sys,t)式中,t 表示计算系统响应的抽样点向量,sys 是LTI 系统模型。
例3-2已知某LTI 系统的微分方程为 y’’(t)+ 2y’(t)+100y(t)=10f(t)求系统的冲激响应和阶跃响应的波形. 解:ts=0;te=5;dt=0.01; sys=tf([10],[1,2,100]);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. 用MATLAB 实现连续时间信号的卷积信号的卷积运算有符号算法和数值算法,此处采用数值计算法,需调用MATLAB 的conv( )函数近似计算信号的卷积积分。
连续信号的卷积积分定义是τττd t f f t f t f t f ⎰∞∞--=*=)()()()()(2121如果对连续信号)(1t f 和)(2t f 进行等时间间隔∆均匀抽样,则)(1t f 和)(2t f 分别变为离散时间信号)(1∆m f 和)(2∆m f 。
其中,m 为整数。
当∆足够小时,)(1∆m f 和)(2∆m f 既为连续时间信号)(1t f 和)(2t f 。
因此连续时间信号卷积积分可表示为∑⎰∞-∞=→∆∞∞-∆⋅∆-⋅∆=-=*=m m t fm f d t f f t f t f t f )()()()()()()(2102121limτττ采用数值计算时,只求当∆=n t 时卷积积分)(t f 的值)(∆n f ,其中,n 为整数,既∑∑∞-∞=∞-∞=∆-⋅∆∆=∆⋅∆-∆⋅∆=∆m m m n f m f m n fm f n f ])[()()()()(2121其中,∑∞-∞=∆-⋅∆m m n fm f ])[()(21实际就是离散序列)(1∆m f 和)(2∆m f 的卷积和。
当∆足够小时,序列)(∆n f 就是连续信号)(t f 的数值近似,既)]()([)()(21n f n f n f t f *∆=∆≈上式表明,连续信号)(1t f 和)(2t f 的卷积,可用各自抽样后的离散时间序列的卷积再乘以抽样间隔∆。
抽样间隔∆越小,误差越小。
例3-3用数值计算法求)2()()(1--=t t t f εε与)()(32t e t f tε-=的卷积积分。
解:因为)()(32t et f tε-=是一个持续时间无限长的信号,而计算机数值计算不可能计算真正的无限长信号,所以在进行)(2t f 的抽样离散化时,所取的时间范围让)(2t f 衰减到足够小就可以了,本例取5.2=t 。
程序是dt=0.01; t=-1:dt:2.5; f1=(t>=0); f2=(t>=2); f3=f1-f2f4=exp(-3*t).*f1; f=conv(f3,f4)*dtn=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')y=(1/3-1./3*exp(-3*t)).*f1-(1/3-1./3*exp(-3*(t-2))).*f2; subplot(224), plot(t,y), grid on title('f(t)=f1(t)*f2(t)'); xlabel('t')由于)(1t f 和)(2t f 的时间范围都是从t=-1开始,所以卷积结果的时间范围从 t=-2开始,增量还是取样间隔∆,这就是语句tt=(0:n-1)*dt-2的由来。
三、上机实验内容1. 验证实验原理中所述的相关程序2. 已知描述系统的微分方程和激励信号f(t)如下,试用解析法求系统的零状态响应y(t),并用MATLAB 绘出系统零状态响应的时域仿真波形,验证结果是否相同 y ’’(t)+ 4y’(t)+4y(t)=f’(t)+3f(t) f(t)= exp(-t))(t ε ts=0;te=5;dt=0.01; f1=(t>=0);sys=tf([1 3],[1 4 4]);t=ts:dt:te;f=exp(-t).*f1;y=lsim(sys,f,t);plot(t,y);xlabel('Time(sec)');ylabel('y(t)');3.已知描述系统的微分方程如下,试用MA TLAB求系统在0~10秒范围内冲激响应和阶跃响应的数值解,并用绘出系统冲激响应和阶跃响应的时域波形y’’(t)+3y’(t)+2y(t)=f(t)(1):t=0:0.01:5;n=[1 3 2];m=[1];sys=tf(m,n);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)');y’’(t)+ 2y’(t)+2y(t)=f’(t)t=0:0.01:5;n=[1 2 2];m=[1 0];sys=tf(m,n);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)');4.画出信号卷积积分)()(21t f t f *的波形,)1()()()(21--==t t t f t f εε dt=0.01; t=-1:dt:3; f1=(t>=0); f2=(t>=1); f3=f1-f2;f=conv(f3,f3)*dt; n=length(f); tt=(0:n-1)*dt-2; subplot(221); plot(t,f1); grid on;axis([-1,3,-0.2,1.2]); title('f1(t)'); xlabel('t') subplot(222); plot(t,f2); grid on;axis([-1,3,-0.2,1.2]); title('f2(t)'); xlabel('t') subplot(223); plot(t,f3); grid on;axis([-1,3,-0.2,1.2]); title('f3(t)'); xlabel('t'); subplot(224); plot(tt,f); grid on;title('f(t)=f3(t)*f3(t)'); xlabel('t');四、实验要求1. 在MATLAB中输入程序,验证实验结果,并将实验结果存入指定存储区域。
2. 对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。