【转】关于卷积的简单解释

 这里只讲卷积在数组或者序列里的运算。卷积是两个变量在某范围内相乘后求和的结果。如果卷积的变量是序列x(n)和h(n),则卷积的结果

其中星号*表示卷积。当时序n=0时,序列h(-i)是h(i)的时序i取反的结果;时序取反使得h(i)以纵轴为中心翻转180度,所以这种相乘

后求和的计算法称为卷积和,简称卷积。另外,n是使h(-i)位移的量,不同的n对应不同的卷积结果。这是百度百科里的解释。

下面我们看一下知乎里面的简单实例解释:

不推荐用“反转/翻转/反褶/对称”等解释卷积。好好的信号为什么要翻转?导致学生难以理解卷积的物理意义。
这个其实非常简单的概念,国内的大多数教材却没有讲透。

直接看图,不信看不懂。以离散信号为例,连续信号同理。

已知x[0] = a, x[1] = b, x[2]=c

已知y[0] = i, y[1] = j, y[2]=k

下面通过演示求x[n] * y[n]的过程,揭示卷积的物理意义。

第一步,x[n]乘以y[0]并平移到位置0:

第二步,x[n]乘以y[1]并平移到位置1:

第三步,x[n]乘以y[2]并平移到位置2:

最后,把上面三个图叠加,就得到了x[n] * y[n]

简单吧?其实就是平移(没有反褶!)、叠加。

====================================================

在编程里通常对这个得到的新数组进行去头去尾的去值,选取中间完全迭代过的部分作为新的数组,以便下一个阶段的使用。通常得到的卷积后的新数组长度等于:用于卷积的两个数组长度的和减去一,而去头去尾,一般去掉新数组的头和尾各(较短数组长度减一)的值,留下中间完全迭代相加的数,由上图可以看出,卷积后的数组两头的数都是没有完全叠加的数,而中间部分的数则是完全叠加后得到的数值,这个一般用于赋权重来获取赋权后的值。比如:x=[1,2,3,4,5,6,7,8],y=[0.1,0.2,0.3,0.4],那么将x和y进行卷积运算后,得到的就是一个长度为len(x)+len(y)-1=11的数组,那么我们要用的肯定是中间全部赋过权重y的新的值,那么我们去掉头和尾部各3个值,剩下中间那5个值使我们能够使用的新的数组。

注意:这里一定要注意短数组的作用。

====================================================

从这里,可以看到卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。


重复一遍,这就是卷积的意义:加权叠加

对于线性时不变系统,如果知道该系统的单位响应,那么将单位响应和输入信号求卷积,就相当于把输入信号的各个时间点的单位响应 加权叠加,就直接得到了输出信号。


通俗的说:
在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。
这正是单位响应是如此重要的原因。

在输入信号的每个位置,加一个单位响应,就得到了输出信号。
这正是单位响应是如此重要的原因。

在输入信号的每个位置,加一个单位响应,就得到了输出信号。
这正是单位响应是如此重要的原因。


作者:张俊博
链接:https://www.zhihu.com/question/22298352/answer/34267457
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/zz22--/p/7503721.html