傅里叶变换具有非常广泛的应用,但是也有明显的缺点,就是对函数的要求太苛刻,主要便现在:
解决这些问题的办法是引入拉普拉斯变换,拉普拉斯变换可以说是信息机电类专业本科阶段知识的极限了,控制,通信,电气,甚至机械都难逃它罪恶的魔爪,它比把大象放进冰箱复杂多了。
拉普拉斯变换是在傅里叶变换的基础上引入的,现在考虑对一个任意函数进行傅里叶变换,为了使之在区间有定义,给它乘以单位阶跃函数,为了容易满足绝对可积条件,再乘以衰减因子,然后对函数进行傅里叶变换.
其中,,, 拉普拉斯变换记为:
可见,的拉普拉斯变换就是的傅里叶变换,上式是函数的拉普拉斯变换的一般定义式,其中参数是一个复数,实部为正.
的拉普拉斯变换记为
称为像函数,为原函数.
的主要作用是把一个定义域内绝对不可积的函数”掰弯“,从而让它变得绝对可积,方法是乘以一个变化率比函数更大更高阶的无穷小,下图形象展示了指数函数是如何掰弯一个高次幂函数的。
可以看到,级的幂函数在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,说明此点没有频率分量.
这幅动图说明了拉普拉斯变换和傅里叶变换的深刻联系.
本文受到了这篇文章的启发.
文章浏览阅读3.4w次,点赞85次,收藏742次。以管理员的方式运行下载模式 高速改为低速模式_k210图像识别
文章浏览阅读3.1k次。Unity开启多个协程往往造成卡顿,因此需要每完成一个协程再新开启一个协程。for (int i = 0; i < result.result.Count; i++) { try { BaseStation responses = JsonMapper.ToObject<BaseStation>(JsonMapper.ToJson(result.result[i])); ..._unity 多个协程
文章浏览阅读410次。一、配置文件二、创建一个实体类,切换数据库三、切换数据库的代码_springmvc+mybatis配置多个数据库
文章浏览阅读675次。我司打算搞个地图应用,领导发给我一份ppt,里面有个前端的技术架构图:what!前端技术都进化得这么复杂啦?就搞一个前端,至于用到这么多框架?就问你晕不晕!底部的es6,fetch是基础的语法,这个没什么好讲的。arcgis jsapi,是地图服务接口,也没什么好说的。webpack,打包工具,还行吧。顶部的echarts,经常用,很好用,不错。但ant design是蚂蚁金服的东东,与r..._阿里 前端框架 乌米
文章浏览阅读64次。下面是微软提供的在线打开ClearType 网址,装好插件之后按提示一步一步的点下去。发现还是比较爽的。呵呵~http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx转载于:https://www.cnblogs.com/zwwon/archive/2007/07/10/812598.html..._chrome 英文和数字显示cleartype
文章浏览阅读125次。之前看了一篇文章《我们为什么要尝试前后端分离》,深有同感,并有了下面的评论:我最近也和前端同事在讨论这个问题,比如有时候前端写好页面给后端了,然后后端把这些页面拆分成很多的 views,有时候还会在这些 view 中写一些 c# 代码,突然有一天前端页面的样式出错了,但前端那里并没有问题,然后后端把前端叫过来,说你在我这里调吧,因为你没有后端的调试环境,然后前端就会很不爽,然后。。。你懂的!..._/template/pc/skin/js/jquery.js
文章浏览阅读8.9k次。processlist命令的输出结果显示了有哪些线程在运行可以帮助识别出有问题的查询语句,两种方式使用这个命令。 1. 进入mysql/bin目录下输入mysql admin processlist; 2. 启动mysql,输入show processlist; 如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户..._show processlist 能显示sql 语句吗
文章浏览阅读156次。原标题:颤抖 | 小学生都开始学Python了,十年后你还有工作么?今 日 摘 要AI火爆全球,Python技能需求达到174%!小学生已经开始学Python,还成为高考必备项目,十年后你还有工作么?今日活动:Python数据学习交流群进群福利:超过10万人下载的10本最火数据书籍+ 1000+Python高清教学视频+ Python数据分析工具书+ 名企导师专场AI & Python专场讲座德勤...
文章浏览阅读1.1w次。鸟哥的Linux私房菜0、计算机概论0.1、电脑:辅助人脑的好工具(什么是电脑?什么是计算机a3)0.1.1、电脑硬件的五大单元(电脑硬件大致可分为三个部分b3)(什么是CPU a4)(CPU主要的组成部分b4)(算术逻辑单元的功能c4)(控制单元的功能d4)(CPU读取的数据来源e4)(电脑硬件的五个组成部分f4)(数据在内存流动的基本知识g4)0.1.2、一切设计的起点:CPU架构(常见的两种CPU架构a5)(世界上使用最广的CPU b5)(常见的RISC指令集CPU c5)(常见的CISC指_好了a18第四
文章浏览阅读3.8k次。卡莱特5A接收卡调屏步骤卡莱特5A接收卡支持千兆网卡和发送卡两种发送方式,两种方式在5A接收卡的设置方面步骤相似,本文将讲述在千兆网卡发送条件下,5A接收卡的参数设置步骤。一、硬件连接1、发送卡连接图详见《卡莱特发送卡设备连接操作》2、千兆网卡连接图千兆网卡连接拓扑图千兆网卡硬件连接注意事项:a)电脑网卡必须是千兆网卡;b)电脑千兆网卡驱动必须安装正确;c)千兆网卡与5A接收卡、5A接收卡之间的网..._卡莱特指示灯
文章浏览阅读299次。众所周知,在多页面应用程序中,页面的跳转是通过路由或导航器来实现的。在0.44版本之前,开发者可以直接使用官方提供的Navigator组件来实现页面的跳转,不过从0.44版本开始,Navigator被官方从react native的核心组件库中剥离出来,放到react-native-deprecated-custom-components的模块中。 如果开发者需要继续使用Navigator,则需要..._react navigate(-1) url不生效
文章浏览阅读109次。作者:JiawuZhang出品:JiawuLab(ID:jiawulab)微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码、逻辑分析,达到python学习目的。大家好,我是JiawuZhang,本期微项目是——事件倒计时。项目介绍“11月11日0点0分0秒!”你是不是也在等着这个时间?看看电视,玩玩手机,刷刷购物车,只为等着这个时间到来。图片来自网络我老婆也是这..._python倒计时60秒