zoukankan      html  css  js  c++  java
  • 什么是卷积?

    以离散信号为例,连续信号同理。 

    已知 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]:  

    简单吧?无非是平移(没有反褶!)、叠加。
    从这里,可以看到卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数
    (如:输入信号)上的加权叠加。

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

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

    通俗的说:
    在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。
    这正是单位响应是如此重要的原因。这种做法和通常教材上的区别在于:书上先反褶再平移,把输入信号当作一个整体,一次算出一个时间点的响应值;而楼主把信号拆开,一次算出一个信号在所有时间的响应值,再把各个信号相加。两者本质上是相同的。

    卷积的另外解释 

    卷积表示为 

     使用离散数列来理解卷积会更形象一点,我们把 y(n)的序列表示成,这是系统响应出来的信号。 同理,的对应时刻的序列为,其实我们如果没有学过信号与系统,就常识来讲,系统的响应不仅与当前时刻系统的输入有关,也跟之前若干时刻的输入有关,因为我们可以理解为这是之前时刻的输入信号经过一种过程(这种过程可以是递减,削弱,或其他)对现在时刻系统输出的影响,那么显然,我们计算系统输出时就必须考虑现在时刻的信号输入的响应以及之前若干时刻信号输入的响应之“残留”影响的一个叠加效果。

    假设0时刻系统响应为,若其在1时刻时,此种响应未改变,则1时刻的响应就变成了,叫序列的累加和(与序列的和不一样)。但常常系统中不是这样的,因为0时刻的响应不太可能在1时刻仍旧未变化,那么怎么表述这种变化呢,就通过h(t)这个响应函数与x(0)相乘来表述,表述为,具体表达式不用多管,只要记着有大概这种关系,引入这个函数就能够表述在1时刻究竟削弱了多少,然后削弱后的值才是在1时刻的真实值,再通过累加和运算,才得到真实的系统响应。 

    再拓展点,某时刻的系统响应往往不一定是由当前时刻和前一时刻这两个响应决定的,也可能是再加上前前时刻,前前前时刻,前前前前时刻,等等,那么怎么约束这个范围呢,就是通过对这个函数在表达式中变化后的中的m的范围来约束的。即说白了,就是当前时刻的系统响应与多少个之前时刻的响应的“残留影响”有关。 

    当考虑这些因素后,就可以描述成一个系统响应了,而这些因素通过一个表达式(卷积)即描述出来不得不说是数学的巧妙和迷人之处了。

    卷积的数学定义

    前面讲了这么多,我们看看教科书上对卷积的数学定义。 

    多个重要的光学效应可以用卷积的名词来描述。

    让我们使用一维的连续方程来测试这个概念。

    两个方程f(x)和g(x)的卷积,写为f(x)*g(x),如下以积分定义

    卷积的应用

    用一个模板和一幅图像进行卷积,对于图像上的一个点,让模板的原点和该点重合,然后模板上的点和图像上对应的点相乘,然后各点的积相加,就得到了该点的卷积值。对图像上的每个点都这样处理。由于大多数模板都是对称的,所以模板不旋转。卷积是一种积分运算,用来求两个曲线重叠区域面积。可以看作加权求和,可以用来消除噪声、特征增强。

    把一个点的像素值用它周围的点的像素值的加权平均代替。卷积是一种线性运算,图像处理中常见的 mask 运算都是卷积,广泛应用于图像滤波。

    卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理中的卷积定理。利用该定理,可以将时间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT 等快速算法,实现有效的计算,节省运算代价。

  • 相关阅读:
    软件工程概论作业二 电梯调度思路 信1205班 刘权毅 董文轩
    软件工程概论作业一 信1205班 20122561 董文轩
    团队开发第三天(董文轩,苏康奖,常晓杨,刘权毅,刘梦辉,刘若凡)
    软件工程概论作业三 信1205班 董文轩 刘权毅
    IDEA 搭建spring+maven+mybatis+mysql+junit+log4j2
    什么时候需要实现序列化Serializable
    IDEA如何查看maven依赖冲突
    Docker for windows : 安装linux
    Mybatis 分页
    POI java操作OFFICE产品
  • 原文地址:https://www.cnblogs.com/2008nmj/p/8778425.html
Copyright © 2011-2022 走看看