zoukankan      html  css  js  c++  java
  • 卷积理解与思考

    1 卷积的思维原形

      对于具有线性和时不变性的连续时间系统或者离散时间系统,我们在进行信号处理的时候,一个基本的思路就是将原始的时间信号分解成一组基本信号。但问题是我们如何选择一组基本信号,很显然的一点就是我们选择的基本信号要有利于我们后续进行信号分析。为此,产生了两种信号的分解方式:一类是将输入信号分解成复指数(complex exponential)的线性组合,这种方式对应于傅里叶变换(FT);另一类则是将信号分解成一系列延时脉冲的线性组合,这种方法对应于卷积(convolution),下面我们通过一个例子演示下这种分解方式是如何工作的。

      给定如下离散时间信号,记为x[n]
    example_1

      我们可以将其将分解为如下加权延脉冲
    example_2
    example_3
    example_4
    example_5

      将上述以各个单位延时脉冲为基(基础序列)建立起来的信号组合起来,就得得到原始的信号x[n],即有

    x[n]=x[1]δ[n+1]+x[0]δ[n]+x[1]δ[n1]+x[2]δ[n2]=k=+x[k]δ[nk]

      仔细观察上面的求和公式,不就是常见的卷积公式吗?借助线性代数中“基”的思想,我们简单理解下上面这个公式(纯属个人理解):线性代数带给我们的一个重要的思考方式就“基”,如我们通过选定一组基向量,如[0,0,1][0,1,0][1,0,0],我们可以表示欧式三维空间中的任何一点。同理,我们可以将信号x[n]看做是由t=1t=0t=1t=2这4个独立时刻处的4个小离散信号组成,而对这4个小离散信号,又可以进一步分解为某个单位延时脉冲(如δ[n1]),也就是我们在这里选定的”基”和一个加权系数(如x[1])的乘积(类似线性代数中的数乘)。

    2 卷积的定义与性质

      在离散情形下定义为

    x[n]=k=+x[k]δ[nk]

      或者 
    y[n]=k=+x[k]h[nk]=x[n]h[n]

      连续情形下定义为x(t)=+x(τ)δ(tτ)dτ或者y(t)=+x(τ)h(tτ)dτ=x(t)h(t)

    ​  具有如下三个性质:

    ​  (1)交换律:x[n]h[n]=h[n]x[n]或者x(t)h(t)=h(t)x(t)

    ​  (2)结合律:x{h1h2}={xh1}h2

      (3)分配率:x{h1+h2}=xh1+xh2

    ​  交换律为我们提供了一种逆向思维,或者叫正难则反的思考方式;而分配率则是为我们提供了一种分解问题的思维,或者叫降维的思考方式。注意,关于分配率和结合律的说明同时适用于离散情形和连续情形,就像在交换律中展示的那样,这儿采用这种方式只是为了简洁的表示而已,不代表这两个性质不重要。

    3 卷积计算的数学理解

    ​  以一维卷积为例进行理解,一维卷积的定义为
    ​  

    x[n]h[n]=k=+x[k]h[nk]

    ​  可以看做是一个含参积分参数当然是n了。先从数学上理解右边的内容,首先原始信号是h[k],经过对称变换得到h[k],这一步就是对应于信号的反转了,然后平移n个单位得到信号h[nk]=h[k+n],这个积分呢就是对于每一个n所确定的x[n]h[k+n]的对应部分做內积,因为这是离散的序列(即使是连续的信号,通过极限思维仍可将其视为离散的),可以将其视作两个向量之间的內积,这个內积的结果就是对应的该n处的数值了。

    4 卷积运算的物理意义

    ​  对于卷积中信号的反转可以这样来理解,一般我们取x轴正向为右边,即时间流逝的方向,但是也可以取左边为时间流逝的方向啊,对吧。这样取左边为时间流逝的方向的话,我们向右移动信号恰好可以让信号按照时间顺序划过卷积核,也就是我们定义的系统了。

      卷积的物理意义应该是信号反转之后在卷积核上滑动进行操作,而images中的滤波却是卷积核在图像上滑动,这是因为卷积交换律的强势存在,为我们提供了一个转化问题的思维方式,有点像正难则反。

  • 相关阅读:
    谈Delphi编程中“流”的应用 (一)
    Ihtmldocument2接口的使用
    TWebBrowser 异常 invalid floating point operation
    万一的 Delphi 博客 (注意 delphi的新功能)
    正则表达式应用(一)
    查询数据库所有表所有字段的某个值,生成更新代码 (VB)
    正则表达式应用(二)
    让程序支持脚本
    查探对方是否加你为好友
    常用的一些批处理,脚本功能(一)
  • 原文地址:https://www.cnblogs.com/zhiyinglky/p/5805304.html
Copyright © 2011-2022 走看看