这篇文章能让你明白卷积

1.卷积的含义

在之前的文章里,我引用过一个形象的例子:

比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地(贱贱地)鼓起来一个包,你的脸就是一个系统,而鼓起来的包就是你的脸对巴掌的响应,好,这样就和信号系统建立起来意义对应的联系。下面还需要一些假设来保证论证的严谨:假定你的脸是线性时不变系统,也就是说,无论什么时候老板打你一巴掌,打在你脸的同一位置(这似乎要求你的脸足够光滑,如果你说你长了很多青春痘,甚至整个脸皮处处连续处处不可导,那难度太大了,我就无话可说了哈哈),你的脸上总是会在相同的时间间隔内鼓起来一个相同高度的包来,并且假定以鼓起来的包的大小作为系统输出。好了,那么,下面可以进入核心内容——卷积了! 如果你每天都到地下去打台球,那么老板每天都要扇你一巴掌,不过当老板打你一巴掌后,你5分钟就消肿了,所以时间长了,你甚至就适应这种生活了……如果有一天,老板忍无可忍,以0.5秒的间隔开始不间断的扇你的过程,这样问题就来了,第一次扇你鼓起来的包还没消肿,第二个巴掌就来了,你脸上的包就可能鼓起来两倍高,老板不断扇你,脉冲不断作用在你脸上,效果不断叠加了,这样这些效果就可以求和了,结果就是你脸上的包的高度随时间变化的一个函数了(注意理解);如果老板再狠一点,频率越来越高,以至于你都辨别不清时间间隔了,那么,求和就变成积分了。可以这样理解,在这个过程中的某一固定的时刻,你的脸上的包的鼓起程度和什么有关呢?和之前每次打你都有关!但是各次的贡献是不一样的,越早打的巴掌,贡献越小,所以这就是说,某一时刻的输出是之前很多次输入乘以各自的衰减系数之后的叠加而形成某一点的输出,然后再把不同时刻的输出点放在一起,形成一个函数,这就是卷积,卷积之后的函数就是你脸上的包的大小随时间变化的函数。本来你的包几分钟就可以消肿,可是如果连续打,几个小时也消不了肿了,这难道不是一种平滑过程么?反映到剑桥大学的公式上,f(a)就是第a个巴掌,g(x-a)就是第a个巴掌在x时刻的作用程度,乘起来再叠加就ok了,大家说是不是这个道理呢?我想这个例子已经非常形象了,你对卷积有了更加具体深刻的了解了吗? 转自GSDzone论坛 来源:人人网

今天我们顺着这个思路,继续把卷积讲的更明白一些。

看一下下图,红线的方波代表“打了一巴掌”,蓝线是肿起来的鼓包的高度。假设鼓包一天的时间(24小时)可以完全回复,也就是高度会变为0。

​引申一下,如果老板每隔一天打一巴掌,很容易想到,对应的鼓包会像下图这样:

如果进一步增加扇巴掌的频次,如果时间间隔小于24小时,那么第二次的鼓包就会叠加上上一次没有消除的鼓包高度,对应鼓包高度会像下图这样:

扫描二维码关注公众号,回复: 14574292 查看本文章

24小时内打了10巴掌

我们截取放大其中一个时间点,来看一下某一时刻的“鼓包高度”要怎么求。比如下图中第四个尖峰的蓝点h处的高度,就是4个“巴掌”导致的肿包在各自消退过程中的残留高度之和。

这里为了方便理解,我们引入一个函数g(n),它代表的是打了一巴掌后过了n天之后的肿包残留高度。

比如上述例子里:g(0)=1,因为挨巴掌的一瞬间鼓包高度变成了1;而当n≥1时,g(n)则变为0。注意上述g(n)规则是我们在这个例子里定义的,不同的场合会不尽相同。

在此前提下,h1的值就等于g(0),h2的值等于g(0.1),h3的值等于g(0.2),h4的值等于g(0.3),这不难理解吧。

​此时我们可以将上图再变换一下,将上边的四个时刻的虚线换成一个倒置的虚线,就像下图这样:

​此时,每个尖峰所在时刻对应的虚线幅值分别就是h1~h4,这里也能明白吧。示意图如下图(g(t)的翻转就是“卷积”中的“卷”):

​此时的h_{1}=g(0.3-0.3) , h_{2}=g(0.3-0.2) , h_{3}=g(0.3-0.1) , h_{4}=g(0.3-0)

所以h=g(0.3-0)+g(0.3-0.1)+g(0.3-0.2)+g(0.3-0.3) 

推广一下,假设每间隔\Delta时长打一巴掌,那么对于时刻t,有: (求和的过程就是“卷积”的“积”)

h=g(t)+g(t-\Delta)+g(t-2\Delta)+g(t-3\Delta)...

再将上述结论一般化一下,上述这个结论都是基于每次“挨巴掌”都是鼓起同样高度的包,但是如果我们假设,白天精神状态好,挨一巴掌鼓起来的包小一些,晚上反之会高一些,那么一天之中不同时刻t,“挨巴掌”后的鼓包高度定义为 f(t),那么上式可以推广为:

h=f(0)g(t)+f(\Delta)g(t-\Delta)+f(2\Delta)g(t-2\Delta)+f(3\Delta)g(t-3\Delta)...

一般式(离散形式)就可以写成:

(f*g)(n)=\sum_{\Delta=-\infty}^{\infty}{f(\Delta)g(n-\Delta)}

\Delta 值趋近于无穷小时,上式可以写成积分形式:

(f*g)(n)=\int_{-\infty}^{\infty}{f(\tau)g(n-\tau)}d\tau

2.卷积的重要性质

2.1 性质1-时域的卷积等于频域相乘

此性质在站内有答主说的比较清楚了:

时域信号可以分解成一串不同频率正弦信号的叠加。根据卷积的分配率,两个时域信号的卷积最终可以展开成两两正弦信号的卷积的和。由于不同频率的正弦信号的卷积为0,所以最终只剩下相同频率的正弦信号的卷积。而卷积的结果就是频率不变,幅度相乘。 在频域里边就表现为直接相乘。 作者:一根儿芦苇 链接:https://www.zhihu.com/question/29877892/answer/150456142 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

当然该性质也可以反过来说:频域相乘等于时域的卷积

该性质可以应用于FIR滤波器的设计当中。

比如当我们设计一个通带为[0,f]的低通滤波器时,可以将此低通滤波器频域表达式经过傅里叶拟变换,可以得到滤波器的时域表达式,使用此时域表达式与目标信号计算卷积,就可以实现低通滤波了。

2.2 性质2-频域的卷积等于时域相乘

此性质在我之前的文章里讲到了一个应用场景,即在做故障诊断分析时,理解边频带的形成:

实际实验中齿轮啮合振动信号(高频)和齿轮轴的转频振动信号(低频)的特征频率可能是有多组的,其调制后的频域信号近似于一组频率间隔较大的脉冲函数和一组频率间隔较小的脉冲函数的卷积,从而在频谱上形成若干组围绕啮合频率及其倍频成分两侧的边频族,如下图:

​边频带的形成

图中(a)为高频和低频信号在时域上的调制(相乘),(b)就是在频域上做卷积的结果。


欢迎关注我的专栏与信号处理有关的那些东东。其中讲到了时频域分析、时间序列、神经网络、甚至还有寿命预测。

猜你喜欢

转载自blog.csdn.net/fengzhuqiaoqiu/article/details/125213377