zoukankan      html  css  js  c++  java
  • 在定义卷积时为什么要对其中一个函数进行翻转

    在卷积的定义中为什么函数g(τ)要先翻转为g(-τ)再平移为g(x-τ)而不是直接记作g(τ-x)这样做有什么好处么?

    我知道问一个概念的定义就好像问"妈妈"为什么要叫"妈妈"一样。但我始终觉得这样的定义有些别扭。想知道这样做背后的意义。

    不要试图直接从公式上去思考"翻转"的意义,回到问题的起源,你就会豁然开朗了。

    打个比方,往平静的水面里面扔石头。我们把水面的反应看作是一种冲击响应。水面在t=0时刻石头丢进去的时候会激起高度为h(0)的波纹,但水面不会立马归于平静,随着时间的流逝,波纹幅度会越来越小,在t=1时刻,幅度衰减为h(1), 在t=2时刻,幅度衰减为h(2)……直到一段时间后,水面重复归于平静。

    从时间轴上来看,我们只在t=0时刻丢了一块石头,其它时刻并没有做任何事,但在t=1,2….时刻,水面是不平静的,这是因为过去(t=0时刻)的作用一直持续到了现在。

    那么,问题来了:

    如果我们在t=1时刻也丢入一块石子呢?此时t=0时刻的影响还没有消失(水面还没有恢复平静)新的石子又丢进来了,那么现在激起的波浪有多高呢?答案是当前激起的波浪与t=0时刻残余的影响的叠加。那么t=0时刻对t=1时刻的残余影响有多大呢?

    为了便于说明,接下来我们作一下两个假设:

    1. 水面对于"单位石块"的响应是固定的

    2. 丢一个两倍于的"单位石块"的石块激起的波纹高度是丢一个石块的两倍(即系统满足线性叠加原理)

    现在我们来计算每一时刻的波浪有多高:

    • t=0时刻:

    y(0)=x(0)*h(0);

    • t=1时刻:

    当前石块引起的影响x(1)*h(0);

    t=0时刻石块x(0)引起的残余影响x(0)*h(1);

    y(1)=x(1)*h(0)+ x(0)*h(1);

    • t=2时刻:

    当前石块引起的影响x(2)*h(0);

    t=0时刻石块x(0)引起的残余影响x(0)*h(2);

    t=1时刻石块x(1)引起的残余影响x(1)*h(1);

    y(2)=x(2)*h(0)+ x(1)*h(1)+x(0)*h(2);

    ……

    • t=N时刻:

    当前石块引起的影响x(N)*h(0);

    t=0时刻石块x(0)引起的残余影响x(0)*h(N);

    t=1时刻石块x(1)引起的残余影响x(1)*h(N-1);

    y(N)=x(N)*h(0)+ x(N-1)*h(1)+x(N-2)*h(2)+…+x(0)*h(N);

    这就是离散卷积的公式了

    理解了上面的问题,下面我们来看看"翻转"是怎么回事:

    当我们每次要丢石子时,站在当前的时间点,系统的对我们的回应都是h(0),时间轴之后的(h(1),h(2).....)都是对未来的影响。而整体的回应要加上过去对于现在的残余影响。

    现在我们来观察t=4这个时刻。

    站在t=0时刻看他对于未来(t=4)时刻(从现在往后4秒)的影响,可见是x(0)*h(4)

    站在t=1时刻看他对于未来(t=4)时刻的影响(从现在往后3秒),可见是x(1)*h(3)

    站在t=2时刻看他对于未来(t=4)时刻的影响(从现在往后2秒),可见是x(2)*h(2)

    站在t=3时刻看他对于未来(t=4)时刻的影响(从现在往后1秒),可见是x(3)*h(1)

    所以所谓的翻转只是因为你站立的现在是过去的未来,而因为h(t)始终不变,故h(1)其实是前一秒的h(1),而前一秒的h(1)就是现在,所以从当前x(4)的角度往左看,你看到的是过去的作用。h(t)未翻转前,当从h(0)往右看,你看到的是现在对于未来的影响,当翻转h(t)之后,从h(0)往左看,你依次看到的越来越远的过去对现在的影响,而这个影响,与从x=4向左看的作用影响相对应(都是越来越远的过去),作用与作用的响应就对应起来了,这一切的本质,是因为你站立的时间观察点和方向在变。

  • 相关阅读:
    php接收二进制文件转换成图片
    浅述WinForm多线程编程与Control.Invoke的应用
    精典策略模式
    js数组的操作详解
    PHP常用类
    收藏:五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
    在 Windows 上部署 Qt 应用程序
    解决 MinGW5.14 编译 QT4.4.3 报错的问题
    懒人制作 deb 包
    NET 自定义配置文件 Configuration
  • 原文地址:https://www.cnblogs.com/hdk1993/p/8893966.html
Copyright © 2011-2022 走看看