向量的卷积(convolution)运算

一、向量的卷积运算


给定两个n维向量α=(a0, a1, ..., an-1)T,β=(b0, b1, ..., bn-1)T,则α与β的卷积运算定义为:

α*β=(c0, c1, ..., c2n-2)T,其中

事实上,“卷积”的含义从矩阵αβT的表示即可以看出:不难发现,ck即为第k列副对角线元素之和。形象地讲,对α与β作卷积,就像是将由α与β的元素形成的下述矩阵“面”沿副对角线方向卷了起来得到的“一束”向量。

卷积的蛮力算法的时间复杂度为O(n2)。为提高算法效率,可以用插值法,这将在下一篇博文有关快速傅立叶变换的内容中予以介绍。

二、卷积应用


2.1 多项式乘法

卷积运算与多项式乘法是对应的。不难验证,设多项式f(x)=a0+a1x+a2x2+...+am-1xm-1, g(x)=b0+b1x+b2x2+...+bn-1xn-1,则f(x)g(x)得到的多项式的系数列向量就刚好是对f(x)与g(x)的系数列向量的卷积运算的结果。

2.2 信号平滑处理

由于噪声干扰,信号往往需要进行平滑处理。

设信号向量为α=(a0, a1, ..., am-1),权向量β=(b2k, b2k-1, ..., b0)=(w-k, ..., wk)。一个比较常用的权向量的例子是高斯滤波权值向量,其中

这里z用于归一化处理。

运用权向量β与信号向量α的卷积,我们可以实现为信号去噪,得到向量γ=(a'0, a'1, ..., a'm-1),其中

不过,对于边界上的元素,由于缺项无法对齐,经过运算后可能存在误差。

猜你喜欢

转载自www.cnblogs.com/Jeffrey-Y/p/10316729.html