基于Matlab的信号与系统实验指导 下载本文

内容发布更新时间 : 2024/5/2 2:53:02星期一 下面是文章的全部内容请认真阅读。

实验七 拉普拉斯变换(LT)

一、实验目的

1、学会运用MATLAB求拉普拉斯变换(LT) 2、学会运用MATLAB求拉普拉斯反变换(ILT) 二、实验原理及实例分析

LT是分析连续信号与系统的重要方法。运用LT可以将连续LTI系统的时域模型简便地进行变换,经求解在还原为时域解。从数学角度看,LT是求解常系数线性微分方程的工具。由LT导出的系统函数对系统特性分析也具有重要意义。 (一)拉普拉斯变换(LT)

对于一些不满足绝对可积条件的时域信号,是不存在傅里叶变换的。为了使更多的函数存在变换,并简化某些变换形式或运算过程,引入衰减因子e??t,其中,?为任

??t??tf(t)ef(t)e意实数,使得满足绝对可积条件,从而求的傅里叶变换,即把频域扩

展为复频域。

F(s)??f(t)e?stdtf(t)??连续时间信号的LT定义为: ……………………(*)

f(t)?1??j?stF(s)eds???j?2?j ……………………(**)

??ILT定义为:

式(*)和(**)构成了拉普拉斯变换对,F(s)称为f(t)的像函数,而f(t)称为F(s)的原函数。可以将拉普拉斯变换理解为广义的傅里叶变换。

考虑到实际问题,人们用物理手段和实验方法所能记录和处理的一切信号都是有起始时刻的,对于这类单边信号或因果信号,我们引入单边LT,定义为:

F(s)????0?f(t)e?stdt

如果连续信号f(t)可用符号表达式表示,则可用MATLAB的符号数学工具箱中的

(f)。 laplace函数来实现其单边LT,其语句格式为:L?laplace式中L返回的是默认符号为自变量s的符号表达式,f则为时域符号表达式,可通

过sym函数来定义。

?t例1:用MATLAB的laplace函数求f(t)?esin(at)u(t)的FT。

解:MATLAB的源程序为: >>f=sym(‘exp(-t)*sin(a*t)’); >>L=laplace(f) 或

>>syms a t

>>L=laplace(exp(-t)*sin(a*t));

(f,v)。它返回的函数L是关于符号对laplace函数另一种语句格式为:L?laplace象v的函数,而不是默认的s。对上例中如果要求FT后的表达式自变量为v,则MATLAB源程序为:

>>syms a t v >>f=exp(-t)*sin(a*t); >>L=laplace(f,v)

[注:请自行验证结果正确与否] (二)拉普拉斯反变换(ILT)

1、基于MATLAB符号数学工具箱实现ILT

如果连续信号f(t)可用符号表达式表示,则可用MATLAB的符号数学工具箱中的

(L)。 ilaplace函数来实现其ILT,其语句格式为:f?ilaplace式中f返回的是默认符号为自变量t的符号表达式,L则为s域符号表达式,也可通过sym函数来定义。

s2F(s)?2s?1的ILT。 例2:试用MATLAB的ilaplace函数求

解:MATLAB源程序为:

>>F=sym(‘s^2/(s^2+1)’); >>ft=ilaplace(F) 或

>>syms s

>>ft=ilaplace(s^2/(s^2+1)) [注:请自行验证结果正确与否]

2、基于MATLAB部分分式展开法实现ILT

用MATLAB函数residue可得到复杂有理式F(s)的部分分式展开式,其语句格式为:[r,p,k]?residue(B,A)

其中B、A分别表示F(s)的分子和分母多项式的系数向量;r为部分分式的系数;p为极点;k为F(s)中整式部分的系数。若F(s)为有理真分式,则k为0。

F(s)?s?2s3?4s2?3s的ILT。

例3:利用MATLAB部分分式展开法求解:MATLAB源程序为: >>format rat; >>B=[1,2]; >>A=[1,4,3,0]; >>[r,p]=residue(B,A)

程序中的format rat是将结果数据以分数的形式表示,其运行结果为: r= -1/6

-1/2 2/3 p=

-3

-1 0

从上述结果可知,F(s)有3个单实极点,即p1??3,p2??1,p3?0,其对应部分分

F(s)?2/3?1/2?1/6??ss?1s?3。所

式展开系数为:-1/6、-1/2、2/3。因此,F(s)可展开为:

1?21?f(t)???e?t?e?3t?,(t?0?)6?32?以,F(s)的反变换为:

F(s)?s?2s(s?1)3的ILT。

例4:利用MATLAB部分分式展开法求

解:F(s)的分母不是标准的多项式形式,可利用MATLAB的conv函数将因子相乘的形式转换为多项式的形式,其MATLAB源程序为:

>>B=[1,-2];

>>A=conv(conv([1,0],[1,1]),conv([1,1,[1,1]])); >>[r,p]=residue(B,A) 程序运行结果(略)

F(s)?223?2???s?1(s?1)2(s?1)3s

根据程序运行结果,F(s )可展开为:

?t?t2?t所以,F(s)的ILT为:f(t)?(2e?2te?1.5te?2)u(t)

(三)拉普拉斯变换法求解微分方程

拉普拉斯变换法是分析连续LTI系统的重要手段。LT将时域中的常系数线性微分方程,变换为复频域中的线性代数方程,而且系统的起始条件同时体现在该代数方程中,因而大大简化了微分方程的求解。借助MATLAB符号数学工具箱实现拉普拉斯正反变换的方法可以求解微分方程,即求得系统的完全响应。

例5:已知某连续LTI系统的微分方程为:y??(t)?3y?(t)?2y(t)?x(t),且已知激

?2t励信号x(t)?4eu(t),起始条件为y(0?)?3,y?(0?)?4,求系统的零输入响应、零状

态响应和全响应。

解:对原方程两边进行拉普拉斯变换,并利用起始条件,得:

s2Y(s)?sy(0?)?y?(0?)?3[sY(s)?y(0?)]?2Y(s)?X(s) 将起始条件及激励变换代入整理可得:

Y(s)?3s?13X(s)?s2?3s?2s2?3s?2

其中,第一项为零输入响应的拉普拉斯变换,第二项为零状态响应的拉普拉斯变换。利用MATLAB求其时域解,源程序如下:

>>syms t s

>>Yzis=(3*s+13)/(s^2+3*s+2); >>yzi=ilaplace(Yzis) yzi=

-7*exp(-2*t)+10*exp(t) >>xt=4*exp(-2*t)*Heaviside(t); >>Xs=laplace(xt); >>Yzss=Xs/(s^2+3*s+2); >>yzs=ilaplace(Yzss) yzs=

4*(-1-t)*exp(-2*t)+4*exp(-t) >>yt=simplify(yzi+yzs) yt=

-11*exp(-2*t)+14*exp(-t)-4*t*exp(-2*t)

?t?2ty(t)?(10e?7e)u(t) zi系统的零输入响应为:

?t?t?2ty(t)?(4e?4te?4e)u(t) 系统的零状态响应为:zs?t?2t?2t系统的完全响应为:y(t)?yzi(t)?yzs(t)?(14e?4te?11e)u(t)