写在前面
首先,本人在本科阶段是电子系的学生,目前正备战考研,但是我不考信号方向的研究生,而且……在备考阶段出了一系列大大小小的事情一再拖累了我的复习进度,导致现在的我连数学第一轮都没有整完还被迫换了专业课(爆哭)……所以这篇文章在真正的大佬面前也许并不专业——事实上,我也不擅长分析信号与系统。
……
于是你们便要问了,作者是不是脑子坏了?自己考研都已经来不及了还搁这发这种毫无水准的烂博文?
不不不,这说来话长,如果有机会的话我还会专门再开一篇博文记录一下自己的“考研事故”,当然了,这篇博文也算是一起事故,当时正刷着积分题,也不知怎么回事,脑海里突然浮现出来卷积这个词……于是我打开了郑君里版的信号与系统,翻开了久违的书面……
泛黄的书皮依然充斥着朴实的格调,但大脑空白的感觉,简直不要太糟糕。
那么,接下来进入正题,你们准备好了吗?
这里先介绍文字定义:
在泛函分析中,卷积、旋积或褶积(英语:Convolution)是通过两个函数f和g生成第三个函数的一种数学算子,表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。
如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是“滑动平均”的推广。
————摘自度娘百科。
卷积方法就是将信号分解为冲击信号之和,借助系统的冲击响应,从而求解系统对于任意激励的零状态响应。
————摘自《信号与系统概论(郑君里版本)》
网上和教科书对卷积的定义很丰富,如果是自学的朋友们建议先看教材或者是其他大佬的博文再来鄙人这逛……
我不知道当你们看完卷积的定义之后那几秒钟,心情是什么样的。
事实上,当年的我初学信号系统,一次新课上了卷积,那次课我没有听明白(我还坐第一排,真是惭愧),我非常想跟上老师的进度,但……已经跟不上了。
那节课老师介绍完卷积的概念,然后马上给我们提供了几个实用小技巧,匆匆记下后便算完成了这次课程。
后来通过了我的学习,我终于知道,所谓卷积就是能量的累积,一个信号通过线性系统的响应,是可以通过它的信号时域表达式,和系统本身的冲击响应作卷积操作得到的。
而具体的步骤,当时老师好像是讲的先翻折,然后移位,再对俩信号重叠部分相乘然后进行积分,而后学了傅里叶变换,拉普拉斯变换,将卷积运算转换成了乘法,自从有了更方便的方法,我便再也没有提及这个问题。
那么问题来了,通过了书本知识点的学习,我知道这样子做的确可以算出卷积,但为什么卷积运算要这样定义呢?凭什么通过这些操作就能得到时域信号作用于系统之后的输出呢?它其中的内涵又是什么呢?
快进到那年的期末考试,索性老师还算仁慈,我们顺利通过……但过了这门课后,我也没彻底想明白卷积为什么要这样子定义,这也是我大学期间第一个没有弄明白的概念,然后可能就是没搞懂前面的概念,后面的知识点就无法做到真正去理解把握,始终感觉离真相总是隔着一层纱那般,于是怀着挫败感结束了这个学期。
而后的数字信号处理,我也学得一塌糊涂,虽然分数看上去似乎还可以,但自己几斤几两还是知道的。
也许是命中注定,让我在某个晚上放下了考研数学资料,再次翻开了信号书,思考起卷积的概念。
额,根据我的理解,这个负无穷到0-积分域表示系统在被人为分析前所积攒的响应(0输入响应前积累的能量),0+到正无穷表示如果我不去停止这个输入,那么这个系统便一直在输出,直到无穷或者是你心血来潮拿着示波器去测一测,对这个积分上限赋予常数值。
事实上,大家在平时基本用不到这样的积分限,更通常的应该是这样的:
看上去顺眼了不少,这个卷积描述了0~t1这段时间内,一个名为f1(t)的激励经过f2(t)系统之后,拿示波器在t1时间点测得的系统输出。
那,为什么不是如下所示的这样呢?
相信有不少初学者,也有我这种想法,串联系统不应该是相乘的关系吗??为什么整那么复杂?!
请不要忘记,卷积的定义式也是相乘的结果,与此不同的是,参与卷积运输的两个函数所对应的时间点并不相同……正是这样,更加让人懵逼……
不过,马上要接近真相了,还请各位耐着性子,听我娓娓道来。
有一个约束,那边是对于线性系统的分析,我们才可以进行卷积操作,否则那将是无意义的,因为这并不满足齐次性,不满足这个性质,则信号就不能简单地被分解为一个个独立的冲激信号了,自然也就无法卷积。
这里给出我们常用的作用:
很明显,这个是用冲击函数实现对时域信号的采样。
在充分了解了冲击函数的性质后,我们可以轻松使得上式等价为下式:
若用冲击信号去不断叠加来表示激励(不同时刻激励点的集合),则有:
如果理解了上面几个式子,那么,继续往下看这张图:
如果你还是没有看懂,也不用担心,接下来我会用严谨的逻辑证明这个等式的成立:
我们都知道:
那么,1/δ(0)与dt构成一对等价无穷小···············(结论1)
而系统函数是冲激响应下的产物,又由于系统函数是线性系统,所以满足齐次性,我们这里用到的是输入增大n倍,输出也增大n倍。
卷积定义式中的每一个微元,根据结论1,都可以表示成这样的形式:
好的,现在我来解释一下上式:等式右边的比例式的含义即为e(τ)占δ(t2-τ)的比例啊!
你δ(t)能量大本事大,可以激励出h(t)这等幅值明显的系统响应,我e(t)在积分微元中虽也为脉冲函数值,但没那么大能量,根据线性特性,那就只能整个等比例缩小版本了,缩小的迷你版本响应函数可不就是h(t2-t)这个系统函数乘以e(τ)/δ(t2-τ)这个比例系数嘛?那无数个我在区间内积分,不就得到了这个时间点的输出激励了?
接下来,我来描述被积函数内的τ和t2-τ的关系,也是初学者最搞不懂的地方:
放心,这次我不会列出让人讨厌的积分号,而是从离散角度去解释这个问题,管中窥豹。
这里假设我们有个卷积从0卷到5,即求某激励经过系统,然后过了5秒之后迅速用示波器测得的输出值。
那么,根据定义式,我们从n=0,1,2,3,4,5离散着看问题:
卷积=
这回你们总该发现了吧!
根据卷积的定义,此刻的输出不光和此刻激励的作用有关,还和此刻激励之前所有时间点的激励都有关,那么:
t=5这个时间点的输出,应该和激励在时间点0,1,2,3,4,5都有关系!答案已经呼之欲出了!
0时刻的激励响应,对5时刻的影响不就是相当于系统函数h(t)在0时刻开始被描绘,随着时间的流逝走啊走,然后取了5时刻的抽样点,再根据齐次性乘以比例系数嘛?其他激励点对5时刻的影响也是如此!
因为你0时刻给了激励,你并不是马上就拿示波器去测幅值的,而是等到5时刻瞬间抄起示波器表笔以迅雷之势测出输出!那这个0时刻给的激励,它对最终幅值的贡献(你突然决定在5时刻拿示波器去测一测输出),必须等到5时刻才能体现出来。
其他点也是如此,1时刻等4秒,2时刻等3秒……最后一个点就不用等了,5时刻给的激励,系统马上给反应,不用等,所以乘的是h(0)!
至此,相信大家已经完全理解了卷积这一运算在信号与系统领域中的意义和作用了,大功告成!
这里我随意找了些教材上的图片:
明明考研时间无多,我为何要写这么一篇大家可能知晓也可能不知晓,但对我考研没有意义的博文呢?
考研,的确是我目前的主要矛盾,但人生不止有考研,生活中也压满了除考研外的泥泞与桎梏。
而CSDN,它几乎每篇博文,都是记录着不同的作者年轻岁月斩破险阻的点点滴滴的智慧结晶,是活着的命运抗争史。而我自己,也可以将迎刃而解的困难记录下来,然后让岁月去见证自身积下跬步的沉淀,毕竟未来如同卷积那般,和古与今的努力都有关系。
我不清楚大佬们写博文的动力,于我,谈不上有什么高深的学术造诣,只是那种突然克服了困难的喜悦,远胜过任课老师的手下留情,也许是这些激励,让我输出了博文。
睡觉去,明天接着复习。