杂谈卷积

在卷积的定义中为什么函数g(τ)要先翻转为g(-τ)再平移为g(x-τ)而不是直接记作g(τ-x)这样做有什么好处么?我知道问一个概念的定义就好像问“妈妈”为什么要叫“妈妈”一样。但我始终觉得这样的定义有些别扭。想知道这样做背后的意义。数学中微子不要试图直接从公式上去思考“翻转”的意义,回到问题的起源,你就会豁然开朗了

在卷积的定义中为什么函数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向左看的作用影响相对应(都是越来越远的过去),作用与作用的响应就对应起来了,这一切的本质,是因为你站立的时间观察点和方向在变。

好像有点绕,其实@林麦讲的蛮清楚的了,借用了他的图,题主自己体会一下

 

Zhu Alex

文字来解释就是:卷积的其中一方参与者是冲击响应,它所描述的的曲线方向与时间流逝一致。而卷积的输出等于以前的信号效果累加,这个累加必然从当前时间点逆时间流逝方向进行的。很显然,离当前时间越近,那个输入残留在系统中的回响就越大。

知乎用户,伪善度 ★★★★☆

两个函数,翻转其中一个,再滑动求积分,叫卷积(convultion);不翻转就滑动求积分,叫做互相关(cross-correlation)。如果其中之一是偶函数,那么卷积和互相关效果相同。从定义上看,翻转这个操作就是一步操作而已,具体的物理意义只能在应用中找到。

最直观的理解就是:卷积是拉链操作。请想象一条拉链:把它底端固定在一起,上边左右完全拉开,扯直,使得固定端处于中心,那么左边这半条的顶端,相对于右边半条来说完全相反。而当你保持其中一边不动,把拉链拉起来的操作,会使得另一边翻转过来(当然拉链其实是旋转),也就是乘了 -1。

以信号处理为例,卷积意味着把输入信号在时间轴上翻转,然后跟信号处理系统的描述方程(冲激响应)叠加积分。为什么要翻转?因为这样才符合现实:输入信号的 0 秒先跟冲激响应的 0 秒叠加,然后输入信号的 1 秒和冲激响应的 1 秒叠加,以此类推。当你把这两个函数分别画出来上下并列的时候,它们就好象合并的拉链,0 点处在同一侧,而卷积实际上是要把它们画在同一个轴上滑动,同时却必须保证输入信号的 0 点先遇到冲激响应函数的 0 点——怎么办呢?就好像拉链被拉开了:翻转一下。

版权声明:本文为博主原创文章,未经博主允许不得转载。

在卷积的定义中为什么函数g(τ)要先翻转为g(-τ)再平移为g(x-τ)而不是直接记作g(τ-x)这样做有什么好处么?我知道问一个概念的定义就好像问“妈妈”为什么要叫“妈妈”一样。但我始终觉得这样的定义有些别扭。想知道这样做背后的意义。数学中微子不要试图直接从公式上去思考“翻转”的意义,回到问题的起源,你就会豁然开朗了

在卷积的定义中为什么函数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向左看的作用影响相对应(都是越来越远的过去),作用与作用的响应就对应起来了,这一切的本质,是因为你站立的时间观察点和方向在变。

好像有点绕,其实@林麦讲的蛮清楚的了,借用了他的图,题主自己体会一下

 

Zhu Alex

文字来解释就是:卷积的其中一方参与者是冲击响应,它所描述的的曲线方向与时间流逝一致。而卷积的输出等于以前的信号效果累加,这个累加必然从当前时间点逆时间流逝方向进行的。很显然,离当前时间越近,那个输入残留在系统中的回响就越大。

知乎用户,伪善度 ★★★★☆

两个函数,翻转其中一个,再滑动求积分,叫卷积(convultion);不翻转就滑动求积分,叫做互相关(cross-correlation)。如果其中之一是偶函数,那么卷积和互相关效果相同。从定义上看,翻转这个操作就是一步操作而已,具体的物理意义只能在应用中找到。

最直观的理解就是:卷积是拉链操作。请想象一条拉链:把它底端固定在一起,上边左右完全拉开,扯直,使得固定端处于中心,那么左边这半条的顶端,相对于右边半条来说完全相反。而当你保持其中一边不动,把拉链拉起来的操作,会使得另一边翻转过来(当然拉链其实是旋转),也就是乘了 -1。

以信号处理为例,卷积意味着把输入信号在时间轴上翻转,然后跟信号处理系统的描述方程(冲激响应)叠加积分。为什么要翻转?因为这样才符合现实:输入信号的 0 秒先跟冲激响应的 0 秒叠加,然后输入信号的 1 秒和冲激响应的 1 秒叠加,以此类推。当你把这两个函数分别画出来上下并列的时候,它们就好象合并的拉链,0 点处在同一侧,而卷积实际上是要把它们画在同一个轴上滑动,同时却必须保证输入信号的 0 点先遇到冲激响应函数的 0 点——怎么办呢?就好像拉链被拉开了:翻转一下。

匿名用户

渔:以知两个独立随机变量 X,Y 的概率分布分别为 f,g,试求 X+Y 的概率分布。

林麦,怕什么真理无穷,进一寸有一寸的喜

最近复习看到卷积这块儿,说说我的理解。
如果随便给你两个函数让你算卷积,其实没什么具体意义,就是用某种规则实现某种运算而已。如果要探究物理意义,那么最好把它放到一个因果稳定的系统(就是从零之后才有值,而且收敛的那种)中,从单位冲击响应h(t)来看。我们都知道,将给定的一个函数x(t)与系统的h(t)卷积,得到的就是输出y(t),这利用了LSI系统满足的叠加定理。下面解释为什么卷积一下子就是输出。
(1)对h(t)的一种理解是:它表征影响因子。所谓影响因子就是你给了一个输入,它在不同时间产生的影响力大小。首先要明白,当我们算某个时刻的响应的时候,它不仅与这个时刻的输入有关,还与之间所有在这个时刻存在影响因子的输入有关。例如,我们要求t=4时刻的输入y(4),那么
y(4)=x(4)h(0)+x(3)h(1)+x(2)h(2)+x(1)h(3)+x(0)h(4),注意,这个式子是错误的,正确的应该是无数时刻的积分,这里只领会精义就行了。看下面的图,相同颜色的是对应的输入与对应在t=4时刻的影响因子,x(4)当然对应的影响因子最大为h(0),x(3)对应的影响因子就相对小了为h(1),····x(0)对应的影响因子最小为h(4).它正好就是h(-t+4),就是反褶后右移4。为什么要反褶呢,因为隔着t=4越近的输入对应的影响因子在h(t)中隔的t=4越远,而且从上面的式子也能看出,括号里对应时刻的和为4,正好也是平移的大小。所以说,卷积的工程意义就是指示了某个系统的响应特性,也就是在某时刻给个输入delta(t),它接下来会做出什么反应,反应持续多久,h(t)就表征了这些,也就是在不同时刻的影响因子。
(2)以前有个讲卷积的例子还不错。比如你一次性打一个人50大板,估计他就over了,而如果分五年打完这50大板,估计他还能活蹦乱跳的(当然不排除他由于心理恐惧提前崩溃了)。为什么呢,这还是影响因子的问题。当你一次性打完的时候,几乎所有的都在以最大的影响因子叠加,超过了他的最大抗打能了,系统崩溃。当你分五年打完的时候,每次他去受打的时候,以前的伤已经痊愈了,不再有影响因子,当然在他的抗打能力之内。其实你在发送信息的时候也一样,如果隔老长时间发一个符号,解调的时候轻松多了,因为前面的对它基本没有干扰了。但是代价是可想而知的,就像求县老爷五年内打完你五十大板的难度一样。
(3)有个事儿做工程的时候一定要明白,就是你想算某个时刻,不能单看某个时刻,还得看它的前前后后。比如通信原理里讲到的码间串扰,你会发现前面无数个时刻的拖尾在影响着你算的时刻,好在抽样函数有个很好的特性就是它在kπ处有零点而且它有对称性,这样可以通过恰当的设计,抽样
解调出来。这种特性也有它好的一面,例如抽样恢复的内插函数就是利用了许多个这样的抽样函数的叠加。其实这可以看成是相关性,预测编码的时候就是利用前面的影响预测出下一刻的输出···
(4)我之前用matlab求卷积的时候特别不理解为什么conv函数都默认从t=0开始,而无法给出输入序列的位置信息也不让你输入序列的位置信息。这么牛的一帮人为啥就不写个适应性强点儿的卷积函数呢。后来我明白了,因为我们工程上做的因果系统,所以h(t)必然是从0开始有值的,而你的输入也是从0开始的,所以默认当然就是从t=0开始的啊。所以看来只有我们才在这儿无聊地拿着两个没有意义的任意的图让你算卷积,然后老师就开始‘先反褶其中一个,再平移其中一个,求它们重叠部分的面积’,哎,只会做题不求甚解,中国的教育说多了都是泪啊~

twqq,学电子的

 

补充Duane 从信号处理的角度来讲讲卷积的物理意义。

卷积的来历就是利用线性系统对冲激信号(delta)的响应来求解一般信号激励下系统的响应。那么直观的想法就是把一般信号分解为冲击信号来表示,恰好冲击信号Δ(t)与激励信号x(t)有如下关系:

也就是说,激励信号x(t)可以分解为无数冲击信号Δ(t)之和来表示,那么,

由系统对冲击信号的响应:H[Δ(t)]=h(t)

在信号处理中,我们把上式就叫做卷积积分,写成x(t)*h(t),这样一来也才方便理解为什么相关运算可以写成x(t)*h(-t)。

在郑君里老师的教材上,就是用这个方法引入的卷积,通过物理意义看起来就好理解多了。

所以不要去纠结为什么信号会反褶,这是由冲击信号与一般信号的关系决定的!

总结来讲,卷积的物理意义在于把一般信号分解为冲击信号的和,借助系统对冲击信号的响应h(t),来表示系统对一般信号激励的响应,此时也是系统对该激励的零状态响应。

 

知乎用户,design / data science

科学网—辐射、服碘、补盐、空袭和卷积

看看上面那个链接就知道了,那个用翻转解释并不直观,x作为参数(卷积后得到的函数的参数)可以看作某一个时间, τ用来表示所有x之前的时间,所以(x-τ)就是x与τ的时间差,如果把g理解为衰减函数,f理解为信号强度,那么g(x-τ)就是时间差为x-τ时候的衰减程度,或者说,τ时刻的信号在x时刻的衰减程度。所以,f(τ)g(x-τ)就是在τ时刻产生的信号在x时刻的强度。

因为信号在x之前的任意τ时刻都可能产生,所以把f(τ)g(x-τ)对所有的τ进行积分,就得到了x时刻之前所有的信号考虑了衰减以后的叠加强度。

losuital,会成为程序员的

摘自网络文章:中科院研究生院暑期讲座材料, 2008年6月 希望对你有帮助
卷积的表达式为y(t) =∫abx(t-τ)h(τ)dτ。我们的教科书中总是这样解说的:在每个时间点t,将x(τ)翻转为x(-τ),再平移为x(t-τ),与h(τ)乘积的结果,求面积,就得到卷积的结果。这个解说是没错的,并且因为x(τ)要被翻转,成为“卷积”这个称呼的来源。但问题是,这个解释符合物理事实吗?或者说在物理上的一个卷积过程,要求一个物理量在时间上(或空间上)必须被翻转吗?这显然不是事实!现在的问题出在哪里?问题出在刚才的解说仅仅是一个数学解说。另一种解说就没有这样的困难:将x(t)平移一个时间量τ成为x(t-τ),乘在τ处的函数值h(τ),取遍定义h(τ)的所有τ,将乘积累积起来,就得到卷积的结果。后一种解释其实是最老的解释:叠加原理。正是按照这种解释,可以构造出用物理硬件实施卷积计算的卷积器。“翻转”这个概念应该说造成了某些负面后果。例如,考虑两个外形不同的多边形(你不妨在纸上画一个任意的三角形和一个任意的四边形,假定图形内数值是1,图形外是0),这两个图形卷积后,结果是什么外形?你可以试图通过上面的两种解释从概念上得到结果。你会发现,从“翻转”解释出发会使你头痛,而从后一种解释得到结果就很直观和容易。不要小看了这里的问题,它联系着某些深入的数学:代数几何、多项式代数和分配函数理论。 

Duanex,电气工程,科幻迷

 

其实知道了卷积的来源问题就很容易理解了。
人们知道线性系统具有叠加性,即线性组合的输入经过系统后变成线性组合的输出。所以最开始,人们想将一个信号(激励)像傅里叶级数一样分解成基本的信号,基本的信号形式有complex exp复指数(包括sin,cos和exp)step阶跃和impulse脉冲三种。这样,将任意信号都可以化为最基本的信号形式。
卷积的概念就是从把信号分解为加权脉冲而来。具体的出现过程是,以离散为例:将x(n)分解为一组加权的,延时脉冲的线性组合。即sum x(k)delta(n-k),注意delta的定义是括号内为0时,值为1。所以x(k)delta(n-k)就是,当n=k时等于x(k),其余为0(这里就知道了翻转和平移这两个动作的来源)。
激励x(n)=sum x(k)delta(n-k),经过线性系统后,delta(n-k)的响应是h(n-k),即系统的固有响应。第一段说过叠加性,线性组合的输入经过线性系统得到线性组合的输出。所以把这些响应叠加就是全部的x(n)产生的响应。也就是激励x(n)=sum x(k)delta(n-k)产生的响应是y(n)=sum x(k)h(n-k)。把这个叫做卷积。对于连续变量,延迟脉冲换作有dx宽度的矩形脉冲。
卷积的意义是,测出系统的单位冲激响应h(t),就知道任意x(t)的响应y(t)。

 

ZX Huo

看了其他回答,感觉大家对卷积都有独到、准确的理解,我也尝试从我的角度来回答一篇,算是依靠大量上下文消歧义吧,希望有利于题主理解这个问题。
卷积是一种积分变换,抽象自线性系统。什么是线性系统?考虑这样一个系统,时间序列f(t)是输入,时间序列g(t)是输出,当输入更改为a\cdot f(t) + b时,输出也变成a \cdot g(t) + bab都是常数),这就是线性系统,即,该系统的操作(将f映射到g)对由f的线性空间是封闭的。事实上,描述从原始信号到观测量的变化,我们通常使用的名词是调制,即modulation. 它的数学形式是
g(\omega)=\int_{-\infty}^{+\infty} f(x) p(x,\omega) dx
其中x是信号函数定义域的坐标变量,\omega是观测数据函数定义域的坐标变量,两个域未必是相同的,甚至未必是同胚的。p(x,\omega)可以理解成是使用的观测设备或者系统的响应函数,描述的是系统对信号定义域中x一点的单位强度的脉冲信号在观测数据\omega处给出的响应。
上面描述的调制也可以称作广义的shift-variant convolution,即移变卷积。即,系统在不同的状态(我们一般用系统状态标记观测数据,所以观测数据定义域的坐标变量\omega就是系统的状态参数)对同一位置的单位脉冲信号给出的响应不同。
而题主关注的卷积是狭义上的平移不变卷积,即系统的响应与系统的绝对状态无关,而只和系统相对于单位脉冲的状态有关。于是我们需要构造一个新的核函数(调制核函数、卷积核函数,都是描述积分变换对信号操作的函数)
h(\omega)=p(x=0,\omega)\text{,}\\h(\omega-x)=p(x,\omega)\text{,}\quad\forall x
这里,将\omegax都按照相同向量空间的向量理解,\omega-x就很容易理解:从x出发指向\omega的向量,因此积分变换变形为
g(\omega)=\int_{-\infty}^{+\infty}f(x)h(\omega-x)dx
这样定义的新的核函数h(\omega)是有实践意义的,即位于x=0的单位脉冲信号对应的观测数据,可见,新的核函数是定义在观测数据定义域的(虽然这种情况下观测数据定义域与信号定义域是同胚的),这样定义的核函数可以在受控的实验中直接标定出来(对参考位置的脉冲信号直接进行观测,观测数据即为核函数)。
既然题主的问题是“为什么要翻转再积分”,那么我们就看一下如果不翻转会是什么情形
g(\omega)=\int_{-\infty}^{+\infty}f(x)c(x-\omega)dx
这时积分核函数c(x)=p(x,\omega=0)事实上是“系统处于状态\omega=0时,信号函数不同位置对观测结果的贡献权重”,亦即信号与系统初始状态的线性相关性。
可见,到底是否反转,在数学上很难找到实质性的区别,区别存在于实际应用场合的约定俗成。

耘非,物理系本科

纯粹为了自己好理解,我在这mark一下。我看了几个回答,然后综合了一下,得到了自己最容易理解的答案。
h是系统输入单位冲激函数时的输出(即单位脉冲响应),这个响应随时间变化而变化,他本质上反映的是系统对输入做出的反应的特性的变化。要求某时刻的输出,肯定要把以前的输入对该时刻产生的影响叠加起来。比如说y(4),就x(4)来说,系统对他的反应没有因为时间而产生变化,因为这个信号刚刚输入到系统中,系统给他的反应特性是最原始的h(0)。最开始的输入是x(0),这个输入信号经过四秒对y(4),产生了影响,这时h已经变成了h(4)。同样,x(1)经过3秒才对x(4)产生影响,单位脉冲响应h(3)以此类推。(所有的信号刚输入时,系统给的反应特性都是最原始的h(0))

季锐航

学渣飘过 看了上面大家说的自己也有一点见解 和大家分享一下。其实卷积就是求离散系统某一时刻de输出 我们zhidao 万事的结果都有原因 以前你干过什么 等等 所以现在的输出也有一部分之前的原因 那么为什么卷积要那么翻转再平移呢 其实他的物理概念很清晰 现在在零时刻输入信号 那它对接下来的离散时间点都会有大小不同的影响幅值 那么现在我要求t=k时刻的输出 我们知道输入有x1 x2 x3 …x(k)而x1输入在t=k时刻的影响为h(k) 接下来 x2在t=k时刻的影响是h(k-1)因为对于每一个信号她的输入对应的对系统输出的影响都是一样的 而x1 x2他们对应的h也是一样的 但是在x2时刻对应的零时刻其实就是x1在t=2
时刻的影响 所以从数学上分析也是能理解的。 第一次回答问题 希望对大家有用!

nan hu,物理化学博士生

我的直观理解:假设一个在时间轴上越来越强的激励信号过来激励你了(你可以想象信号长得想y=t在一定定义域下的样子),那么你首先感受到的是最弱的激励,然后越来越强的激励,对吧?弱信号先到来的意思其实就是弱信号在某时间t激励的时候强信号要等一会儿在来,那么强信号现在在忙什么?答案是它在激励t更小的时刻,正在来的路上。这样,一个小时刻对应一个强激励,一个大时刻对应一个弱激励,咦?这不是正好反过来了么。其实我也觉得很神奇。

刘鸿浩,总之先找到时光机

这个问题我以前也是一直不太能理解,也看了很多解释,包括著名的血腥讲解:关于卷积的一个血腥的讲解,看完给跪了,还是觉得不够直观,最近终于略有心得,整理一下发上来以供参考。
我的例子也比较暴力,只是把问题离散化,看起来更直观一些:
首先,小明的一生,不考虑其他因素,只考虑他一生中挨过几个巴掌,设为一个离散函数f(t):
我们假设t为时间,那么由上面的函数可以看出小明在t=3的时刻挨了一巴掌;
其次,我们考察一般人猛的挨一巴掌的效果,第一反应大概是晕,然后反应过来觉得卧槽好疼,然后过一会儿肿了,那我们把这个效果也写成一个与时间t相关的函数g(x):
那么问题来了,知道了小明的一生,知道了挨巴掌的效果,那么怎么求小明一生中挨巴掌后的效果呢?我们设其为h(x),套用卷积公式:

由于f(t)在除了t=3的时候,值都为0,于是上个式子可以化简为:
容易求出结果:
显然,小明被打后效果也是->晕,疼,肿...
那么假如卷积公式不做x-t翻转呢?


结果却是这样:
完全与实际情况颠倒了过来~

对于小明挨了多次打的效果,还有连续函数,道理也是相同,只是推导起来就略微复杂,看起来也没这么直观,就不罗列公式了。

佚名,网络安全 戒色论者

画画图比较直观. 例如: 第i秒的输出除了和第i秒的输入有关,还和第i-1秒的输出后衰减有关. 
翻转一下,在计算某个时刻的输出时候,因为是是求积分(求和),当然就会带上那个时刻前面的输出的贡献. 这就是为什么要翻转了.

posted @ 2017-07-24 14:08  天马行空——艾灵  阅读(800)  评论(0编辑  收藏  举报