傅里叶变换具有非常广泛的应用,但是也有明显的缺点,就是对函数
的要求太苛刻,主要便现在:
- 要求函数在绝对可积,即满足, 傅里叶变换存在.这个条件要求当,,事实上,很多函数都不满足这个条件,比如,正弦和余弦函数,单位阶跃函数等.
- 要求函数必须在整个区间有定义,对于定义在区间的函数,比如以时间t为变量的函数,则无法进行傅里叶变换.
解决这些问题的办法是引入拉普拉斯变换,拉普拉斯变换可以说是信息机电类专业本科阶段知识的极限了,控制,通信,电气,甚至机械都难逃它罪恶的魔爪,它比把大象放进冰箱复杂多了。
拉普拉斯变换的定义:
拉普拉斯变换是在傅里叶变换的基础上引入的,现在考虑对一个任意函数
进行傅里叶变换,为了使之在
区间有定义,给它乘以单位阶跃函数
,为了容易满足绝对可积条件,再乘以衰减因子
,然后对函数
进行傅里叶变换.
其中,
,
, 拉普拉斯变换记为:
可见,
的拉普拉斯变换就是
的傅里叶变换,上式是函数
的拉普拉斯变换的一般定义式,其中参数
是一个复数,实部为正.
的拉普拉斯变换记为
称
为像函数,
为原函数.
的主要作用是把一个定义域内绝对不可积的函数”掰弯“,从而让它变得绝对可积,方法是乘以一个变化率比函数更大更高阶的无穷小,下图形象展示了指数函数是如何掰弯一个高次幂函数的。
可以看到,
级的幂函数在n还没取到2的时候竟然已经被掰弯的不成样子了,可以看出
还是蛮给力的,在指数函数绝对的实力面前,幂级数还是不堪一击的。
相对于傅里叶变换,拉普拉斯变换存在的条件要弱的多,因为指数因子
的加入使积分变得更容易收敛.绝对可积不在必要,但这并不意味着任意一个函数都存在拉普拉斯变换而无需任何条件,事实上,拉普拉斯变换存在的充分条件可以表述为:
- 函数在区间上是分段连续的.
- 存在正常数和,对于所有的,使得成立,则函数对于所有的,存在拉普拉斯变换,即:
证明:
例如对于下面的分段连续函数
定义域是
,再区间
和
均连续,在
点不连续.
由于
上是连续的,所以
在这个区间也是连续的,于是第一个积分存在.为了证明第二个积分存在,需要利用条件
.
实际问题中的大部分函数都满足laplace变换的充分条件,而不满足fourier变换中绝对可积条件的
,
,
等函数,现在都满足上述拉普拉斯变换存在的条件:
与fourier变换类似,上面的两个条件是充分的,但不是必要的,有的函数尽管不满足上面的条件,但仍然存在拉普拉斯变换.
拉普拉斯逆变换公式-反演积分公式推导
由拉普拉斯变换和傅里叶变换的关系可知,函数
当
在积分区间
变化时候,
在
上变化,所以积分式可以化为:
换公式总结为:
拉普拉斯反变换积分路径是复平面一条直线,它的实部为
,也就是复平面上
的一条直线.如果
在直线
上有奇点,则要求
,也就是要求
大于
所有奇点的正实部.
如下图:
换句话说,如果
,说明时域的信号如此发散,以至于必须乘以一个
的衰减信号才能满足绝对可积的条件.在控制系统稳定性分析中,如果特征根的实部大于零,那就麻烦大了,说明系统存在
的模态信号分量输出,系统不稳定.由于
所以:
因为
是常量,所以
反演积分公式从形式上看,是一堆堆的向量进行积分后,得到一个时域的实数信号,学过复数我们知道,概率上来讲,一堆随机的复数相加结果是实数,基本上是不可能的,虚部很难保证恰好消掉。但反演积分却必须保证消掉虚部,因为时域信号一定是实数嘛。
我们从形式上看一下为什么反演化积分结果一定是没有虚部的,根据上面的推导:
s是复数,对于函数 :
来讲,根据复数性质:
由于
不变,积分虚部关于实轴对称,对于每个s的积分,都有互为共轭的两个s取值,所以积分过程中,累计虚部一定可以消去,最终的积分值是不带虚部的。
先看一个直观一点的例子,以单位阶跃信号
为例,它的拉普拉斯变换为:
拉普拉斯变换在形式上非常有特点,它把积分变成倒数,又把微分变成幂乘, 所以,有的时候也被称为拉普拉斯算子。
它的图象是:
取正实部的部分:
如果要算反变换,相当于沿着
的平面与F(s)的交线取路径积分,当
不断变化是,积分曲线扫过整个拉普拉斯平面。不过积分结果和积分曲线的选择没有关系,沿着任何一条线进行积分的结果都是相同的,最终都是拉普拉斯变换代表的时域信号。
可以任意取,都不会影响反变换的结果,只要积分路径在F(s)的存在域中。
时域结果为单位阶跃函数。
这个积分要用到复变函数中的留数定理来算,公式有多复杂,结果就有多让人惊讶,我一直怀疑书本在骗我,以至于多年后我很还想找一个类似于傅里叶变换圆环那样的可视化方法来说明这个结果,无奈功力还是未到,只能先借助于python mpmath(pip/pip3 install mpmath) 库的 invertlaplace函数说明,它的结果确实是1.
from mpmath import *
mp.dps = 15; mp.pretty = True
tt = [0.001, 0.01, 0.1, 1, 10, 9793792345]
fp = lambda p: 1/(p)
ft = lambda t: 1
print invertlaplace(fp,tt[0],method='talbot')
print invertlaplace(fp,tt[1],method='talbot')
print invertlaplace(fp,tt[2],method='talbot')
print invertlaplace(fp,tt[3],method='talbot')
print invertlaplace(fp,tt[4],method='talbot')
print invertlaplace(fp,tt[5],method='talbot')
运行结果:
可以看到,在时间点[0.001, 0.01, 0.1, 1, 10, 9793792345]处,积分值固定为1,猜测mpmath库里面用了数值计算方法来计算积分值,如果是这样的话,说明公式没有骗我们。
利用wolframalpha求积分工具,可以得到上式子的不定积分(定积分需要单独收费。。。)
从形式上,可以看到确实出现
可以和积分式前面的额系数相抵消的情况,虽然无法得到精确结果,但我们可以大胆猜测,这个结果就是常数1.
(思考此问题有一段时间了,还是感觉无法像周期函数傅立叶变换那样画圆的方式来说明拉普拉斯变换,原因可能和对偶性有关,周期<-->离散,非周期<-->非离散(连续),连续<-->非周期在时间域和频率域之间是对偶的,所以对于时间域为连续非周期的的拉普拉斯原函数,变换后一定是非周期且连续的拉普拉斯变换结果,既然频率域是连续的,当然无法表示为离散的频率点的圆周旋转了。)
时域 | ||
周期 | 非周期 | |
连续 | 频域离散非周期(傅立叶变换) | 频域连续非周期(小波变换) |
非连续(离散) | 频域离散周期(数字信号处理FFT) | 频域连续周期(没见过) |
频域 | ||
周期 | 非周期 | |
连续 | 时域离散非周期(没见过) | 时域连续非周期(小波变换) |
非连续(离散) | 时域离散周期(数字信号处理FFT) | 时域连续周期(傅立叶变换) |
Matlab绘制此函数的模曲面图,可以看到,因为是模曲面,相位为0,所以全图红色。
matlab代码:
z = cplxgrid(30);
subplot(1,1,1);
cplxmap(z,abs(z.^(-1)));%幂函数z^n
colorbar('vert');
title('复幂函数');
和傅里叶变换的关系:
拉普拉斯变换和逆变换的公式:
对比傅里叶变换的公式:
可以看到形式上几乎完全相同,排除积分区间的因素,当拉普拉斯的积分变量中
,取
时,拉普拉斯变换就变为傅里叶变换.所以,我们先看一下傅里叶变换的几何意义.
周函数的傅里叶变换叫做傅里叶级数,它的复数形式是:
公式
看起来有些奇怪,
是复数,
也是复数,而
是实信号,复述乘在一起,再做累加怎么就变成实数了?
复指数函数
可以表示一个连续旋转的圆,当
时,他表示一组按照不同频率旋转的单位圆,而
则表示对应单位圆的幅度因子和初始相位,也可以认为是某种形式的坐标,如下图所示:
注意到
,当
时,
代表逆时针旋转的圆,当
时,表示的是顺时针旋转的圆,任意时刻,
和
代表的两个单位圆旋转角速度相同,旋转方向相反。
再回头看看
也就是说,
互为共轭,
决定了旋转元的半径系数和初始相位,互为共轭的两个负数作为
和
的系数,则再任意时刻
和
旋转速度相同,方向相反,相位相反,所以互为共轭,对于
是这样,对于
也都是如此,所以,综合起来的效果
代表沿着时间轴分布的无穷多个小圆的旋转的叠加,由于虚部互相抵消,只留下实数部分,实部叠加的结果,就是
.
关于初始相位互为共轭的两个相同角频率的向量和,虚部消去,只剩下实部,可以用下图说明:
上图说明,
和
两个旋转的圆合成后只在实轴上有投影,虚轴上的投影为0.为了解释方便,上图使用了二维坐标系展示
函数的特点,实际上,由于
的结果是复数,包含两个维度,再加上自变量
,一共有三个维度,需要在三维坐标系中才能展示全图,在三维坐标系中,
是一个螺旋曲线,如下图所示:
从不同的角度看,螺旋线在二维平面中的投影就变成了正弦或者余弦:
正弦:
你能看到上图中所有的维度么?还是你只能看到圆周上转动的点?你看不到螺旋。
以方波信号的傅里叶分解为例,我们看一下这些无穷多个向量的叠加效果,图中每一小段就可以认为
代表的一个向量(实际上只有正频率部分,复频率没有绘制出来,原因是如果加上负频率后,终点只会上下浮动了,虚部表示的转动部分再图上就看不出来了,看着附图,忽略掉虚部投影即可。我们只关心一个方向上的投影就能绘制出原图,就是因为另一个方向上的投影已经被负频率 ”中和“ 掉了).
向量的魔法:
这个就是傅里叶级数和傅里叶变换的几何直观描述。
本质上,拉普拉斯的几何描述和傅里叶变换没有区别,只是由于
因子的存在,在单位圆的半径的表示上有所区别。转动的单位圆则完全一样。
将逆变换转换形式:
其中
其中
分别为分子和分母关于s多项式的最高阶次,由于现实世界中任何信号都是因果信号,并且具有惯性,所以一定满足
.
则进一步化为:
是单位圆,我们很熟悉,再来看这个复杂一些的多项式分式
由于
是常数, 所以整个分式可以看成是角频率
的函数:
由于
,当
时,
所以,拉普拉斯逆变换的效果和傅里叶逆变换类似,它的时域波形也是由无数个半径逐渐减小的频域圆”组装“而成的。
从一个更复杂一些的例子中看傅里叶变换和拉普拉斯变换的联系:
信号
其拉氏变换为:
傅里叶变换为:
其扫过的区域的三维立体曲面即是拉普拉斯变换的结果,每一条黑色轨迹都是原函数乘以衰减因子之后的傅里叶变换。
拉普拉斯变换要求取的衰减因子
,所以,实际的拉普拉斯模图像为半幅,也就是
的部分:
再回头看一下此函数的傅里叶变换,先看f(t)的图像:
可以看出在自变量趋大的过程中,函数的值趋于0,看上去满足绝对可积的条件,我们对其进行积分试试:
其密度谱是:
和上图的半幅拉普拉斯变换的界面曲线做一下对比,是不是很像? 实际上它们完全一样,所以,傅里叶变换可以看成是拉普拉斯变换在
时候的特例。
如果我们尝试把
改成
的形式,并让m值在一定范围内变化,得到如下变化的拉普拉斯图像,注意到当m=0的时候,拉普拉斯变换与yoz平面的截面出现两个尖峰,它恰好对应的是
的在s取实部为0时候的拉普拉斯变换,也就是sin(t)的傅里叶变换,而且正弦函数的傅里叶变换恰好是在正频率和负频率位置处的两个尖峰,这说明在谐振频率处,系统的输出幅值可以达到无穷大,而在其他频率点为0,说明此点没有频率分量.
这幅动图说明了拉普拉斯变换和傅里叶变换的深刻联系.
常见函数的laplace变换手搓推导:
本文受到了这篇文章的启发.