卷积的公式我背得滚瓜烂熟。你要让我计算一个卷积,我也算得出来。但是你要问我啥时候应该用卷积,我还真不知道,卷积用来干嘛的呢?
先看卷积的公式:
这是个啥啊,两个函数的乘积再做积分,有点像傅里叶正变换,也是2个函数乘积再做积分。是不是暗示着这二者之间的联系。
是的,这两者都是看世界不同的方式。
傅里叶变换是把函数看成是三角函数(正弦和/或余弦函数)线性组合。
而卷积是把函数看成是很多个格子的组合
卷积怎么就是这些小格子的组合了呢?这里要引入一个新的函数--阶跃函数。
对 做
或者
操作,则会使图像移动:
如果用2个阶跃函数做差,则留下一个小格子:
我们再用无数个这样的小格子,可以组成原函数。于是原函数可以写成如下形式:
n代表是第几个格子,又因为阶跃函数的高度总是1,所以需要乘以个,
可以看成是第
个小格子的高。
再对上面的公式做一点小变换,我们对后面那一坨,乘以一个,再除以
,则有
假设足够的小,后面那一坨实际就是阶跃函数
在
时刻的导数:
我们把这个导数写成:
g函数被称为冲击函数:只在0处有值,其他地方都是0
再把累加换成积分,换成
,于是就有了:
实际我们看出来,卷积和傅里叶变换是等价,都是对于函数的2种不同的分解。不同的地方在于,傅里叶变换是把函数分解成三角函数(正弦和/或余弦函数)线性组合,而卷积是无限多个小格子的组合。傅里叶分解是在频域中分解,卷积是在时域中分解,其实是一回事。所以我们说:
时域上的乘积相当于频域上的卷积(卷积定理)
注:单位冲击函数的傅里叶变换后,只存在直流分量,且为1
回到文章开始的问题中来,卷积可以干什么?傅里叶变换能做的事情,卷积都能做。比如滤波、去噪、边缘检测等.
那么新的问题来了,不用冲击函数行不行,要是用其他的函数是啥意思呢。请看我另一篇文章。