关于卷积的一些理解

Posted havihouston

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于卷积的一些理解相关的知识,希望对你有一定的参考价值。

 

 

  信号与系统课程中的一个比较核心的思想就是把信号分解成为由很多移位的单位脉冲信号的线性累积,在根据一个单位脉冲通过LTI系统的响应,计算出输入信号对于的输出。这样的一个好处在于,对于所有的LTI系统,就只需要知道这个系统的单位脉冲响应,那么对于任意的输入信号就都能够得到他的输出信号是什么。这就是所谓的分析整个信号的“1”。

  下面是我自己对卷积的计算以及理解的一些想法:

  使用前提 : 

  1、系统是LTI系统,因为线性时不变系统满足

    (1)齐次性 : 

    (2)叠加性 : 这是卷积分解在合成的保证

 

  卷积定义过程

  1、将信号分解为移位的单位脉冲信号的线性叠加

      

    上面的表达式是吧x信号分解到不同的脉冲移位单元上,之后通过线性组合叠加起来。在信号系统中,这种加法是线性的叠加,不是累积。

 

 

 

  2、假设系统一个单位脉冲的单位脉冲相应是h[n],根据LTI系统的齐次性和叠加性质,整个x[n]的的系统响应就是x[n]分解过后的每一个单位脉冲的单位脉冲脉冲响应的线性叠加,即

    

    其中hk[n]表示为系统在k点处的系统响应,这里再说一次这里的k[n]是一组序列,而不是表示的h在n点的值。 由于单位脉冲的值是等于1,所以上式可以简化为如下所示:

   

    这就得到了卷积的公式的原始雏形,由于系统是一个线性时不变系统,hk[n]表示的是系统在k点处的响应,也可以理解为是h[n]的位移k个单位后的序列,即:

   表达式中n-k是应为假设k = 1 ; 那么系统的响应就是右移移位,即h[n - 1].

    为了简化书写,h0[n-k]就简化写为h[n - k ],所以左后的表示式就是

   

 

 

  3、上述卷积公式的理解方式1:卷积在概念上理解就是各个位置上的脉冲响应的叠加,比如说系统的输入为x[n] ; 系统的脉冲响应为h[n],那么对于整个系统的输出就可以表述为

    ... + x[-t]*h[n+t] + ... + x[-5]*h[n+5] + x[-4]*h[n+4] ... + x[0]*h[n] + ... + x[4]*h[n-4] + x[5]*h[n-4] + ... + x[t]*h[n-t] + ...

    x[t]是系统输入的值,而h[n-t]则是整个脉冲响应的移位,之后再把整个都叠加起来。下面是一个历程

    

      

 

     y[n] 的输出是两组移位后的脉冲影响的线性叠加,分解步骤如下图所示:

      

  这是第一种关于卷积的理解,从直观上来总结就是每一个输入位置点对应于一个位置的单位脉冲响应,之后再把这个相应位置点上的单位脉冲输出线性叠加起来就能够得到整个系统的输出响应。

 

  4、第三点上关于卷积的理解是从纯粹的叠加上来理解的,这样虽然方便理解,但是在计算过程中,就需要把每一个点上的脉冲响应都绘制出来在计算,是相当麻烦的,那么就有一种方便计算的另外一种理解方式,如下所示

     上一个观点是站在脉冲响应的基础上观察问题的,新的观点则是站在输出点位置y[n]上去观察这个问题。 

     

    此处开始更换一个角度看这个公式,因为我要求解的是对应n点的值,即求y[n],那么n就是一个固定值,对于上述公式的右边部分就可以理解为是关于k为自变量的序列,所以

    

    这里就变换成为了在k的自变量上对x[k]和h[0-k]做乘法的累积,其中h[-k]就是对h[n]的时间上的翻转,如下所示:

    

   

 

所以这就是关于卷积的另一种理解方式,方便计算。

 

 

 

 

 

 

 

 

 

 

 

以上是关于关于卷积的一些理解的主要内容,如果未能解决你的问题,请参考以下文章

关于快速沃尔什变换(FWT)的一些个人理解

对于CNN中卷积的一些理解

为什么要使用3×3卷积?& 1*1卷积的作用是什么?& 对ResNet结构的一些理解

卷积神经网络

DGL中异构图的一些理解以及异构图卷积HeteroGraphConv的用法

关于caffe的一些笔记