博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[综] 卷积的物理意义

Posted on 2017-07-31 03:25  编著人  阅读(5665)  评论(0编辑  收藏  举报

卷积的物理意义是什么?

https://www.zhihu.com/question/21686447?nr=1

对于初学者,我推荐用复利的例子来理解卷积可能更直观一些:

小明存入100元钱,年利率是5%,按复利计算(即将每一年所获利息加入本金,以计算下一年的利息),那么在五年之后他能拿到的钱数是100(1+5\%)^5,如下表所示:
将这笔钱存入银行的一年之后,小明又往银行中存入了100元钱,年利率仍为5%,那么这笔钱按复利计算,到了第五年,将收回的钱数是100(1+5\%)^4,我们将这一结果作为新的一行加入上面的表格中:
以此类推,如果小明每年都往银行中存入新的100元钱,那么这个收益表格将是这样的:
可见,最终小明拿到的钱将等于他各年存入的钱分别计算复利之后得到的钱数的总和,即:

用求和符号来简化这个公式,可以得到:
\sum_{i=0}^{5}{f(i)g(5-i)}, \mathrm{where} \ f(i)=100, g(5-i) = (1.05)^{5-i}
在上式中,f(i)为小明的存钱函数,而g(i)为存入银行的每一笔钱的复利计算函数。在这里,小明最终得到的钱就是他的存钱函数和复利计算函数的卷积。
为了更清晰地看到这一点,我们将这个公式推广到连续的情况,也就是说,小明在从0t的这一段时间内,每时每刻都往银行里存钱,他的存钱函数为f(\tau)\ (0\leq \tau\leq t),而银行也对他存入的每一笔钱按复利公式计算收益:g(t-\tau)=(1+5\%)^{t-\tau},则小明到时间t将得到的总钱数为:
\int_{0}^{t} f(\tau)g(t-\tau)d\tau=\int_{0}^{t} f(\tau)(1+5\%)^{t-\tau}d\tau
这也就是卷积的表达式了,上式可以记为(f\ast g)(t)

相信通过上面这个例子,大家应该能够很清晰地记住卷积公式了。下面我们再展开说两句:

如果我们将小明的存款函数视为一个信号发生(也就是激励)的过程,而将复利函数g(t-\tau)视为一个系统对信号的响应函数(也就是响应),那么二者的卷积(f\ast g)(t)就可以看做是在t时刻对系统进行观察,得到的观察结果(也就是输出)将是过去产生的所有信号经过系统的「处理/响应」后得到的结果的叠加,这也就是卷积的物理意义了。

一个关于卷积的血腥的例子:

比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地(贱贱地)鼓起来一个包,你的脸就是一个系统,而鼓起来的包就是你的脸对巴掌的响应,好,这样就和信号系统建立起来意义对应的联系。下面还需要一些假设来保证论证的严谨:假定你的脸是线性时不变系统,也就是说,无论什么时候老板打你一巴掌,打在你脸的同一位置(这似乎要求你的脸足够光滑,如果你说你长了很多青春痘,甚至整个脸皮处处连续处处不可导,那难度太大了,我就无话可说了哈哈),你的脸上总是会在相同的时间间隔内鼓起来一个相同高度的包来,并且假定以鼓起来的包的大小作为系统输出。好了,那么,下面可以进入核心内容——卷积了!
如果你每天都到地下去打台球,那么老板每天都要扇你一巴掌,不过当老板打你一巴掌后,你5分钟就消肿了,所以时间长了,你甚至就适应这种生活了……如果有一天,老板忍无可忍,以0.5秒的间隔开始不间断的扇你的过程,这样问题就来了,第一次扇你鼓起来的包还没消肿,第二个巴掌就来了,你脸上的包就可能鼓起来两倍高,老板不断扇你,脉冲不断作用在你脸上,效果不断叠加了,这样这些效果就可以求和了,结果就是你脸上的包的高度随时间变化的一个函数了(注意理解);如果老板再狠一点,频率越来越高,以至于你都辨别不清时间间隔了,那么,求和就变成积分了。可以这样理解,在这个过程中的某一固定的时刻,你的脸上的包的鼓起程度和什么有关呢?和之前每次打你都有关!但是各次的贡献是不一样的,越早打的巴掌,贡献越小,所以这就是说,某一时刻的输出是之前很多次输入乘以各自的衰减系数之后的叠加而形成某一点的输出,然后再把不同时刻的输出点放在一起,形成一个函数,这就是卷积,卷积之后的函数就是你脸上的包的大小随时间变化的函数。本来你的包几分钟就可以消肿,可是如果连续打,几个小时也消不了肿了,这难道不是一种平滑过程么?反映到剑桥大学的公式上,f(a)就是第a个巴掌,g(x-a)就是第a个巴掌在x时刻的作用程度,乘起来再叠加就ok了,大家说是不是这个道理呢?我想这个例子已经非常形象了,你对卷积有了更加具体深刻的了解了吗?
扔一块石头进湖里,会产生一个水波。

数学上:
好了,这时候水波就是g(t),扔进去的石头就是一个冲击函数。

物理上:
那如果连着扔好多块呢?产生的水波就是一个个石头产生的水波的叠加吧。(图不画了自己脑补吧╮(╯_╰)╭)只是这时候因为扔进去的石头有先后顺序,最近扔进去的那块石头对现在的水波影响比较大咯。(这就是g(t)要反一下的原因,g(t)在t=0处就是石头刚扔进去时候水的反应)

数学上:
这时候这一个个石头就是f(t),然后现在的水波,就是这一块块石头激起的水波的叠加,也就是f(t)与g(t)的卷积,只是这个时候f(t)是一个离散的函数罢了。看,因为我们扔石头是有先后的咯,所以产生的水波叠加实际上就是一个个有时间差的g(t)的简单叠加咯。

物理上:
那那...如果我们不扔石头了,我们...尿尿呢 (/ω・\) ...尿尿也会激起水~~波~~荡~~漾~~吧 _(:3 」∠)_ ...你看我们尿尿的时候,水波会不停地产生呢...

数学上:
这时候呢,我们尿的尿就是一个f(t)了...如果我们尿尿的力道忽大忽小...那么f(t)就会一会变大一会变小。(所以我们可以尿出我们想要的函数f(t)...嗯 (。・`ω´・))然后这时候g(t)是什么呢。。。你可以理解为一滴尿液滴到水里产生的水波呢~~然后这忽大忽小的尿液,在湖里产生了连续不断的水波就是f(t)*g(t),卷积啦!

(貌似暴露了我是一个男生这种事情...女生嘘嘘的时候应该不会观察水波吧...)
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
上面足够解释物理现象中的卷积了。。

物理意义…不知楼主问的是不是卷积在信号系统中输入输出计算的意义。我觉得要想理解好卷积首先要理解好一个和线性代数相关的概念:线性映射。

什么是线性映射呢?
设想有个向量v
通过某种映射可以从v得到w,记为
w
=T(v)
如果对于任意vT都满足线性代数里两条巨基本的性质:
1) T(u+v)=T(u)+T(v)
2) aT(v)=T(av)
那么就称T是一个线性映射,其实就是简单的线性代数嘛

所以如果我们把输入信号和输出信号分别和vw对应起来的话,似乎就是个线性映射系统啊。当然实际上没有这么简单,还多了那么一点东西,所以在信号与系统里,叫做线性时不变(Linear Time-Invariant, LTI)系统。


什么叫时不变呢?以冲击函数为例子说明一下,假设在t=0的位置上有个单位冲击,在某个LTI system中,造成的响应是在t=1到t=2区间上的某种曲线。


时不变的意思就是如果把这个t=0上的单位冲击移动到任意时间点,比如t0去,那么响应的曲线也会响应地移动到t=t0+1到t=t0+2的位置上去。



结合之前线性系统的定义,整个系统是线性的,所以是线性+时不变。



其实从不太严谨的线性代数角度也可以理解线性时不变系统,本质还是线性映射。比如考虑对如下对一个向量的变换:

\[\left( \begin{matrix}
   0  \\
   0  \\
   x  \\
   0  \\
\end{matrix} \right)=\left( \begin{matrix}
   0 & 0 & 0 & 0  \\
   1 & 0 & 0 & 0  \\
   0 & 1 & 0 & 0  \\
   0 & 0 & 1 & 0  \\
\end{matrix} \right)\left( \begin{matrix}
   0  \\
   x  \\
   0  \\
   0  \\
\end{matrix} \right)\]

矩阵的特点是紧贴着对角线下的元素是1,其他的元素都是0,得到的结果是x“向下移”了一个位置。如果我们在输入信号离散的时间轴上取一段,想象每个离散的时间点就是向量的一维,那么可以把这段信号看做一个向量,用一个同样大的具有如上特点的矩阵与这个向量相乘,得到的结果就是这个输入信号在时间轴上向后“移动了”一位,那么如果变换矩阵是如下的形式呢?
\[\left( \begin{matrix}
   0  \\
   0  \\
   0  \\
   x  \\
\end{matrix} \right)=\left( \begin{matrix}
   0 & 0 & 0 & 0  \\
   0 & 0 & 0 & 0  \\
   1 & 0 & 0 & 0  \\
   0 & 1 & 0 & 0  \\
\end{matrix} \right)\left( \begin{matrix}
   0  \\
   x  \\
   0  \\
   0  \\
\end{matrix} \right)\]

可以看到,x移动了两个单位,这似乎就是时间轴上的移动操作啊。那如果变换矩阵再换换样子呢?

\[\left( \begin{matrix}
   0  \\
   0  \\
   ax  \\
   0  \\
\end{matrix} \right)=\left( \begin{matrix}
   0 & 0 & 0 & 0  \\
   a & 0 & 0 & 0  \\
   0 & a & 0 & 0  \\
   0 & 0 & a & 0  \\
\end{matrix} \right)\left( \begin{matrix}
   0  \\
   x  \\
   0  \\
   0  \\
\end{matrix} \right)\]

是不是觉得眼熟,其实这种斜边元素相等形式的矩阵就是一个不严谨的简单的线性时不变系统。更不严谨地说,如果我们把每个时间点都理解成一个向量中的一维的话,矩阵乘法操作的本质就是将这个向量投射到对应的维上,并且矩阵中的每个向量的Norm就是投影之后的系数。


总之,这就是线性时不变,说白了还是线性两个字最重要,于是,卷积求响应就很清晰了,就是简简单单的加法而已:已知冲激信号在输出中的响应的情况下,给定一个输入信号,只要把输入信号看成一个个时间点上的冲激信号的叠加,直接在输出的t时间点上把这所有冲激信号的响应简单加起来,就可以了。

写出来的话就是:

\[f*h\left( t \right)=\sum\limits_{\tau }{f\left( \tau  \right)}h\left( t-\tau  \right)\]

(注意这里t和τ∈N)


对应前面解释来看,其中f(τ)是输入信号在τ位置的值,也就是和单位冲激信号的比值,作为系数,而h(t-τ)则是距离t时刻τ那么多时间点上的一个冲激信号在t时刻所对应的响应。我这里说的都是离散情况举例,连续情况可以脑补推广。总之,不严谨地说,都是线性代数。

有一个挺有意思的例子,我以前在万门大学童哲校长的公开课上看到的:

我们在研究一个人一天24小时肚子里还剩多少东西,记为函数f(t), t\in [0, 24](小时)
我们有如下信息:
  1. 此人吃下去的东西在肚里按指数衰减,即如果他肚子里现在有食物量 1,剩余量按消化时间的变化便是h(t)= e^{-\alpha t} , t\geq 0,其中\alpha为衰减常数;
  2. 此人今天吃饭的量是:在早上7点、中午12点和晚上18点各进餐B_0, B_1, B_2,并假设在其他时间没有吃东西。要写作函数的话,应该是g(t)=B_0\delta \left( t-7 \right) +B_1\delta \left( t-12 \right) +B_2\delta \left( t-18 \right) ,其中\delta (t)是Dirac脉冲函数。如果不熟悉的话,可以认为此人在饭点儿瞬间往肚子里塞那么多食物。
请看图:
图:“消化规律”
可以看到:大概五个小时肚子里的东西就差不多消化完了。

图:“今儿的吃法”

好了,我们现在看考察一下,比如说下午15点,这人肚子里还剩多少东西:
  1. 早饭吃的B_0,经过15-7 =8小时的消化(按指数衰减),还剩B_0e^{-\alpha\cdot \left(15-7\right)} =B_0e^{-\alpha\cdot8} ;
  2. 中饭吃的B_1
,经过15-12 = 3小时的消化,还剩B_1e^{-\alpha\cdot \left(15-12\right)} =B_1e^{-\alpha\cdot3}
  3. 晚饭还没吃呢,自然不算。

加起来就是:f(15)=B_0e^{-\alpha\cdot 8} +B_1e^{-\alpha\cdot3}

考察任意时间t\in [0, 24],就有卷积f(t)=g(t)\ast h(t)=\int_{-\infty}^{\infty}g(\tau)h(t-\tau ) d\tau
你可以仔细看一下,上面t=15的情况可以从这个式子里面导出[注1]。


也请看图:

图:(上)吃法儿; (下)肚里食物量

其实在前面的讨论里面,我们把“吃饭的量”看作输入,“肚子里还剩的食物”看作输出。
并且我们假设:
  • 消化系统是线性的,即:如果(1)按吃法g_1(t)产生肚子里食物量变化f_1(t);并且(2)按吃法g_2(t)产生肚子里食物量变化f_1(t),那么对任意常数a,b,按吃法ag_1(t)+bg_2(t)会产生肚子里食物量变化af_1(t)+bf_2(t).
  • 消化系统是时不变的,即:对任意时间间隔t_0,若按吃法g_1(t)产生肚子里食物量变化f_1(t),则按吃法g_1(t-t_0)将产生肚子里食物量变化f_1(t-t_0).

在这样线性时不变(Linear and Time-Invariant, LTI)系统里,上面的函数:
  1. 此人肚子的”消化规律“h(t)是系统的冲激响应;
  2. 此人今天”吃饭的量“g(t)是激励(输入);
  3. 我们考察的肚子里”还剩的食物量“f(t)是响应(输出)。

任何一个线性时不变系统都可以由冲激响应完全描述。
它的输入输出关系正是卷积:
f(t)=g(t)\ast h(t)=\int_{-\infty}^{\infty}g(\tau)h(t-\tau ) d\tau


/*-----------------------------------------------------------*/

上面有几个参数可以变化,我们来玩一玩:

比如说:这兄弟最近消化不大好,也就是冲激响应里面的衰减系数\alpha 比较小,那么会怎么样呢?

(最近消化不大好)上:吃法儿; 下:肚里食物量
你可以看到前一顿儿还没消化完,就到吃下一顿了。如果按原计划吃,实在要把肚子撑坏。。(峰值大概12,比上面的结果大了很多)

再来:其实咱吃饭不用那么急,一下子就揣肚子里。比如:这兄弟花了半小时吃饭,像这样:

(花半小时吃饭,而且在正常消化状态)上:吃法儿; 下:肚里食物量
你可以看到,峰值(大概8)进一步减小了,细嚼慢咽就是好。

再吃慢一点呢?

(花一个小时吃饭,而且在正常消化状态)上:吃法儿; 下:肚里食物量
嗯,对肚子压力更小一点了。

那么过年的时候是咋样呢?

(过年的时候,每顿花三个小时,吃得多而且肠胃状态不那么好)上:吃法儿; 下:肚里食物量
可以看到,这个峰值和最前面那种瞬间吃好饭的状况差不多了,而且过了半夜还没消化完。
所以,不要暴饮暴食噢!

最后这一部分有点娱乐性质,主要是画图的时候玩儿上了。。哈哈
并且用线性时不变的模型来模拟人吃饭消化,可能有不妥,比如:人的胃不是线性的,因为有总容量的限制,而且估计也不是时不变,因为吃的太多时肚子消化能力大概会变弱。拿这个仅仅用于举例子咯。

希望有帮到你。也请各位朋友赐教!

/*-----------------------------------------------------------*/

[注1]t=15的情况:
激励(输入) g(t)=B_0\delta \left( t-7 \right) +B_1\delta \left( t-12 \right) +B_2\delta \left( t-18 \right)
冲击响应(系统) h(t)= e^{-\alpha t} , t\geq 0
求响应(输出) f\left(t\right) = g\left(t\right) * h\left(t\right)

这里用到:


t = 15时:
注意:
关于卷积的物理意义,我看过以下的三个故事:
故事一:【转自人人】无意在网上看到这篇《大牛讲解信号与系统以及数字信号处理》
故事二:卷积的意义 - yeeman的专栏
故事三:关于卷积的一个血腥的讲解,看完给跪了
这三个故事中,我觉得故事三最生动形象。大概的结论就是系统某一时刻的输出是由无数个单一输入共同作用(叠加)的结果。
我主要学习的是离散时间信号的卷积(和)。我对卷积的理解主要来源于卷积的计算。冲击响应能够表征系统的特性,给定输入信号,通过计算卷积就能够获得输出信号。所以,卷积是定义LTI系统的一种方式。当然,我们还有其他描述系统的方法,例如从频域的角度。系统的频率响应可以告诉我们某个系统是一个低通滤波器或高通滤波器,但是频率响应并没有告诉我们怎么实现这个系统。但是根据卷积,我们可以写出计算机程序实现这个系统。因此,卷积也是一种计算机算法。
卷积的物理意义:

只有线性时不变系统才能导出卷积公式,我们知道线性系统满足齐次性和叠加性,而时不变性其实是指系统的单位冲激响应无论什么时候都不变。实际上,在信号与系统中,卷积就是计算线性时不变系统在信号激励下任意时刻的零状态响应,为了更好理解卷积的物理意义,可以先看一个例子:当一个拳击选手遭到对方连续两次击打身体的同一部位时,第二次被击打时他感觉到的疼痛是第一次被击打所遗留的疼痛与第二次被击打的疼痛之和。下面的文字可能比较长,你要想真正理解卷积的物理意义,还需要你慢慢看完下面的数学推导。
式(3.5-23)中的单位冲激响应h(t)出现了反褶,这与图3.5-4不符,图3.5-4中的每个加权的h(t)都没有反褶,所以,公式(3.5-23)与可实现的物理系统不符。另外,为了更全面一些,我们再看看离散系统:

信号反褶是这样的:信号波形是我们按着信号脉冲出现的先后顺序记录下来的,所以信号波形的左边先出现,而信号反褶恰恰说明哪个信号脉冲先来,则这个脉冲就先进入系统,但是,在计算机上用软件进行科学计算时可以将系统单位冲激响应进行反褶,相应的,此系统可以看成非因果系统。

上述内容是摘自我写的《信号与系统分析和应用》书中的几节内容,希望能对大家有所帮助,并请提出意见和建议。

简单来说就是卷积
\left( f\ast g \right) \left( x \right) =\int_{-\infty }^{+\infty } f\left( \xi  \right) g\left( x-\xi  \right) d\xi
就是x点所受的其它所有ξ点的影响的叠加。

比如信号与系统里,LTI系统的输出就是每个时刻的输入所产生的输出的叠加。
把x(t)送入冲激响应为h(t)的LTI系统得到y(t)。
τ时刻的输入是x(τ);τ时刻附近dτ时间的输入在t时刻产生的输出,就是把h(t)乘一个x(τ)dτ,再平移τ,就是x(τ)h(t-τ)dτ;把所有τ产生的输出叠加就是y(t)
写作
y\left( t \right) =\left( x\ast h \right) \left( t \right) =\int_{-\infty }^{+\infty } x\left( \tau   \right) h\left( t-\tau   \right) d\tau

再如概率论中的全概率公式。
比如已知两个独立的随机变量X和Y的概率密度分布fx(x)和fy(y),求Z=X+Y的密度分布。
考虑X=x的条件下Y=z-x的处概率密度,正是fy(z-x),由全概率公式,此时Z的概率密度就是所有x处fx(x)fy(z-x)叠加。
f_{Z}\left( z\right) =\left( f_{X}\ast f_{Y} \right) \left( z \right) =\int_{-\infty }^{+\infty }  f_{X}\left( x \right)  f_{Y}\left(z-x \right) dx

上面两个例子也可以从傅里叶变换的角度理解,因为傅里叶变换有时域卷积性质。
很多数学公式,为了简洁之美,省略了原来的推导过程,省略了本应该具有不同意义的子参数,而呈现给我们的就是几个字母加上几个符号。每一个公式的出现都应该有其演变过程的,所以当我们直接看其结果,不懂其意义的时候会觉得非常别扭,总感觉一种深深的不安。
在大神们的基础上,简单说下我的理解。以辐射为例,一个人在核试验室工作,需要评定工伤,测量该人的受辐射量。我们假设评定的时间日期为t,人本身是一个系统,输入是每个工作时刻\tau 的辐射量f(\tau ),辐射量衰减函数为g(),但是衰减过程是和时间有关系的,这个时间关系是什么呢?当然是,你从受辐射到测量辐射这一过程的时间间隔(t-\tau ),所以时刻\tau 的辐射衰减函数就是g(t-\tau )。因此在某一时刻的输入(辐射)对于系统(人)的影响输出(体内辐射量)就是函数f\left( \tau  \right) \cdot g\left( t-\tau \right) \cdot d\tau ,而我们现在需要统计当前日期 t 时刻的身体残留辐射量,所以要将以前所受辐射累加起来,得到卷积公式。前提是,人这一系统是线性时不变系统。欢迎大家批评指正。
我想给小明一个嘴巴子
扇他的每个嘴巴子都是一个激励
被扇之后他的脸会肿
肿就是响应
而这个响应会随时间衰减(由系统的特性决定)
所以随时间推移小明的脸会消肿
但是这不够爽 我想他的脸越来越肿
于是我在他的脸还在消肿时候不停地扇
他的脸越来越肿
总体效果等于之前我扇的每个嘴巴子产生的效果在当下这一秒的状态的叠加,就是积分
卷积不是主要用在各种变换吗…把时间区间的变量转化成频率区间的变量,可以压缩图片,降低声音清晰度(把flac变成mp3)什么的…

卷积可以解决这个问题:
已知 如果输入是 冲击函数,输出是 函数 f()。
问 如果输入是 给定的函g(),输出是什么。
输出就是f g卷积一下。

上面是目的。下面是怎么做的。
将 g 在[0 t]时间内的值 按照 f 的变化趋势来个积分。比如在 t 时刻,g 早输入的部分要对应 f 后面的部分。g 晚输入的要对应 f 前面的部分。
g:输入。f:冲击响应。
可以看出,冲击响应是非常重要的一个响应。
wiki上卷积的动态图做得很不错。卷积
最近复习看到卷积这块儿,说说我的理解。
如果随便给你两个函数让你算卷积,其实没什么具体意义,就是用某种规则实现某种运算而已。如果要探究物理意义,那么最好把它放到一个因果稳定的系统(就是从零之后才有值,而且收敛的那种)中,从单位冲击响应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开始的啊。所以看来只有我们才在这儿无聊地拿着两个没有意义的任意的图让你算卷积,然后老师就开始‘先反褶其中一个,再平移其中一个,求它们重叠部分的面积’,哎,只会做题不求甚解,中国的教育说多了都是泪啊~
作为提问者我想对排名第一的答案进行补充,就是正确的理解自然对数e的含义,我觉得理解之后才能更好的理解排名第一的答案。
--------------------------------------------------------------------------------------------------------------------------------------------
我发现贴进来之后公式没了,请大家自动去看原文,最终的原文是英文版,有兴趣的同学直接走英文吧。
--------------------------------------------------------------------------------------------------------------------------------------------
以下全部摘自网络:

1.

e是一个重要的常数,但是我一直不知道,它的真正含义是什么。

它不像π。大家都知道,π代表了圆的周长与直径之比3.14159,可是如果我问你,e代表了什么。你能回答吗?

维基百科说:

"e是自然对数的底数。"

但是,你去看"自然对数",得到的解释却是:

"自然对数是以e为底的对数函数,e是一个无理数,约等于2.718281828。"

这就构成了循环定义,完全没有说e是什么。数学家选择这样一个无理数作为底数,还号称这种对数很"自然",这难道不是很奇怪的事情吗?

2.

昨天我读到一篇好文章,它把这个问题解释得非常清楚,而且一看就懂。

它说,什么是e?简单说,e就是增长的极限。

下面就是它的解释。

3.

假定有一种单细胞生物,它每过24小时分裂一次。

那么很显然,这种生物的数量,每天都会翻一倍。今天是1个,明天就是2个,后天就是4个。我们可以写出一个增长数量的公式:

上式中的x就表示天数。这种生物在x天的总数,就是2的x次方。这个式子可以被改成下面这样:

其中,1表示原有数量,100%表示单位时间内的增长率。

4.

我们继续假定:每过12个小时,也就是分裂进行到一半的时候,新产生的那半个细胞已经可以再次分裂了。

因此,一天24个小时可以分成两个阶段,每一个阶段都在前一个阶段的基础上增长50%。

当这一天结束的时候,我们一共得到了2.25个细胞。其中,1个是原有的,1个是新生的,另外的0.25个是新生细胞分裂到一半的。

如果我们继续修改假设,这种细胞每过8小时就具备独立分裂的能力,也就是将1天分成3个阶段。

那么,最后我们就可以得到大约2.37个细胞。

很自然地,如果我们进一步设想,这种分裂是连续不断进行的,新生细胞每分每秒都具备继续分裂的能力,那么一天最多可以得到多少个细胞呢?

当n趋向无限时,这个式子的极值等于2.718281828...。

因此,当增长率为100%保持不变时,我们在单位时间内最多只能得到2.71828个细胞。数学家把这个数就称为e,它的含义是单位时间内,持续的翻倍增长所能达到的极限值。

这个值是自然增长的极限,因此以e为底的对数,就叫做自然对数。

5.

有了这个值以后,计算银行的复利就非常容易。

假定有一家银行,每年的复利是100%,请问存入100元,一年后可以拿多少钱?

回答就是271.828元,等于100个e。

但是,实际生活中,银行的利息没有这么高,如果利息率只有5%,那么100元存一年可以拿到多少钱呢?

为了便于思考,我们取n等于50:

我们知道,在100%利息率的情况下,n=1000所得到的值非常接近e:

因此,5%利息率就相当于e的20分之一次方:

20分之一正好等于5%的利率率,所以我们可以把公式改写成:

上式的rate就代表增长率。这说明e可以用于任何增长率的计算,前提是它必须是持续不断的复合式增长。

6.

再考虑时间因素,如果把钱在银行里存2年,可以得到多少钱?

在时间t的情况下,通用公式就是:

上式就是计算增长量的万能公式,可以适用于任何时间、任何增长率。

7.

回到上面的例子,如果银行的利息率是5%的复利,请问100元存款翻倍需要多少时间?

计算结果是13.86年:

上式最后一个等号,表明用72除以增长率,可以得到翻倍的大致时间,这就是72法则的来源。



source: 数学常数e的含义

通过傅立叶变换,可以把一个函数映射到频率领域,转换成频谱。
比如光波可以用其空间上的坐标来表示,也可以用光谱来表示。
两个函数的频谱相乘,相当于两个原函数做卷积。
我觉得flappy bird就是一种卷积,哈哈
就两个字 叠加
看了这么多回答,作为搞信号处理的,谈谈我的看法。
其实卷积就是各个时刻的输入信号各自乘以相对应的衰减或增幅,然后叠加在一起作为输出信号输出,这里的衰减或增幅就对应与系统的单位冲激响应。
个人感觉那个血腥的信号例子还是很不错的。
不知道你想具体知道哪方面的。笼统的说 卷积可以计算随时间不断增加而增加的量或者减少的量
一图胜千言,给个直观的理解吧
几何解释

 

**************************************************************************************

如何通俗易懂地解释卷积?

https://www.zhihu.com/question/22298352?rf=21686447

有那么麻烦吗?
不推荐用“反转/翻转/反褶/对称”等解释卷积。好好的信号为什么要翻转?导致学生难以理解卷积的物理意义。
这个其实非常简单的概念,国内的大多数教材却没有讲透。

直接看图,不信看不懂。以离散信号为例,连续信号同理。

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

简单吧?无非是平移(没有反褶!)、叠加。

====================================================

从这里,可以看到卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。


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

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


通俗的说:
在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。
这正是单位响应是如此重要的原因。

在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。
这正是单位响应是如此重要的原因。

在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。
这正是单位响应是如此重要的原因。

看了好多关于卷积的答案,看到这个例子才彻底地理解了这个过程~
关于卷积的一个血腥的讲解
比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地(贱贱地)鼓起来一个包,你的脸就是一个系统,而鼓起来的包就是你的脸对巴掌的响应,好,这样就和信号系统建立起来意义对应的联系。下面还需要一些假设来保证论证的严谨:假定你的脸是线性时不变系统,也就是说,无论什么时候老板打你一巴掌,打在你脸的同一位置(这似乎要求你的脸足够光滑,如果你说你长了很多青春痘,甚至整个脸皮处处连续处处不可导,那难度太大了,我就无话可说了哈哈),你的脸上总是会在相同的时间间隔内鼓起来一个相同高度的包来,并且假定以鼓起来的包的大小作为系统输出。好了,那么,下面可以进入核心内容——卷积了!

如果你每天都到地下去打台球,那么老板每天都要扇你一巴掌,不过当老板打你一巴掌后,你5分钟就消肿了,所以时间长了,你甚至就适应这种生活了……如果有一天,老板忍无可忍,以0.5秒的间隔开始不间断的扇你的过程,这样问题就来了,第一次扇你鼓起来的包还没消肿,第二个巴掌就来了,你脸上的包就可能鼓起来两倍高,老板不断扇你,脉冲不断作用在你脸上,效果不断叠加了,这样这些效果就可以求和了,结果就是你脸上的包的高度随时间变化的一个函数了(注意理解);如果老板再狠一点,频率越来越高,以至于你都辨别不清时间间隔了,那么,求和就变成积分了。可以这样理解,在这个过程中的某一固定的时刻,你的脸上的包的鼓起程度和什么有关呢?和之前每次打你都有关!但是各次的贡献是不一样的,越早打的巴掌,贡献越小,所以这就是说,某一时刻的输出是之前很多次输入乘以各自的衰减系数之后的叠加而形成某一点的输出,然后再把不同时刻的输出点放在一起,形成一个函数,这就是卷积,卷积之后的函数就是你脸上的包的大小随时间变化的函数。本来你的包几分钟就可以消肿,可是如果连续打,几个小时也消不了肿了,这难道不是一种平滑过程么?反映到剑桥大学的公式上,f(a)就是第a个巴掌,g(x-a)就是第a个巴掌在x时刻的作用程度,乘起来再叠加就ok了,大家说是不是这个道理呢?我想这个例子已经非常形象了,你对卷积有了更加具体深刻的了解了吗?
转自GSDzone论坛
来源:人人网
也谈卷积,假如你被别人打了一拳,这一拳会在1小时疼痛消失[这一拳轻重不同,所以虽说都在一个小时消失,但是在1个小时内感觉的疼痛也不一样。设最轻(注意)的一拳在一小时内的疼痛感觉函数为h(t),二倍的最轻力度打你,疼痛感就是2h(t)对吧,f(n)倍最轻力度,就是f(n)h(t)了吧],当别人在一小时内在第一秒,第二秒,第三秒.....第六十秒……动武时,可设f(n)为每次的轻重函数,这就是说在0到2小时内你会感觉疼,那么在这0到2小时的任意一个时刻的疼痛程度Y(t)怎么表示呢?(自己先可以算一下,算出来的话下面的就不用看啦)——肯定是每拳的疼痛效果叠加啦既0到n的f(n)h(t-n)相加,如f(1)h(t-1)+f(2)h(t-2)……,当n很小时,为0.00000001时,就用积分符号啦。n次抽象为τ就是我们平时的f(t)与h(t)的卷积啦!

应题主邀,把我在卷积的物理意义是什么? - 数学的答案搬过来。
——————————————————————————————————————
对于初学者,我推荐用复利的例子来理解卷积可能更好理解一些:

小明存入100元钱,年利率是5%,按复利计算(即将每一年所获利息加入本金,以计算下一年的利息),那么在五年之后他能拿到的钱数是100(1+5\%)^5,如下表所示:
将这笔钱存入银行的一年之后,小明又往银行中存入了100元钱,年利率仍为5%,那么这笔钱按复利计算,到了第五年,将收回的钱数是100(1+5\%)^4,我们将这一结果作为新的一行加入上面的表格中:
以此类推,如果小明每年都往银行中存入新的100元钱,那么这个收益表格将是这样的:
可见,最终小明拿到的钱将等于他各年存入的钱分别计算复利之后得到的钱数的总和,即:

用求和符号来简化这个公式,可以得到:
\sum_{i=0}^{5}{f(i)g(5-i)}, \mathrm{where} \ f(i)=100, g(5-i) = (1.05)^{5-i}
在上式中,f(i)为小明的存钱函数,而g(i)为存入银行的每一笔钱的复利计算函数。在这里,小明最终得到的钱就是他的存钱函数和复利计算函数的卷积。
为了更清晰地看到这一点,我们将这个公式推广到连续的情况,也就是说,小明在从0t的这一段时间内,每时每刻都往银行里存钱,他的存钱函数为f(\tau)\ (0\leq \tau\leq t),而银行也对他存入的每一笔钱按复利公式计算收益:g(t-\tau)=(1+5\%)^{t-\tau},则小明到时间t将得到的总钱数为:
\int_{0}^{t} f(\tau)g(t-\tau)d\tau=\int_{0}^{t} f(\tau)(1+5\%)^{t-\tau}d\tau
这也就是卷积的表达式了,上式可以记为(f\ast g)(t)

相信通过上面这个例子,大家应该能够很清晰地记住卷积公式了。下面我们再展开说两句:
如果我们将小明的存款函数视为一个信号发生(也就是激励)的过程,而将复利函数g(t-\tau)视为一个系统对信号的响应函数(也就是响应),那么二者的卷积(f\ast g)(t)就可以看做是在t时刻对系统进行观察,得到的观察结果(也就是输出)将是过去产生的所有信号经过系统的「处理/响应」后得到的结果的叠加,这也就是卷积的物理意义了。

最近在看Feedback Control of Dynamic Systems,趁此机会复习了一下卷积。

先看下图,左边是输入信号,右边是输出信号:

(a)中,输入信号p(t)经过系统后得到输出信号h(t);
(b)中,输入信号较之于(a)延迟了τ,表示为p(t-τ),由于是LTI(线性时不变系统),输出信号也延迟τ,变为h(t-τ);
(c)、(d)两图阐释了LTI的叠加原理:若以p(t)+p(t-τ)为输入,则输出为h(t)+h(t-τ);

假设现在有一个输入信号u(t),将其表示为若干个我们刚刚见过的p(t)的叠加



那么u(t)通过上文的系统后,会得到什么呢?
假设可得y(t),根据叠加原理:


但我们仍有一些不太满意的地方,用p(t)表示的u(t)并不是精确的u(t)啊,那些小长条的面积比u(t)的面积可少了不少呢。除非Δ尽可能的小,长条尽可能的窄。

诶,这不就是积分么?

所以:

这就是卷积,与其理解成翻转,不如理解成延迟后叠加。







20170708更新并纠正部分细节。


补充一下

的答案。

 

想要形象地理解卷积这个数学概念,那么思路当然是找它的“实际应用”,最容易想到的例子就是它对动态系统的输入输出关系的描述了。许多答主提到了“打脸”的例子,非常形象,就不复述了。

以下略纠结,嫌麻烦可以跳过直接看图。


之前我对

答案的有部分理解是不准确的;现在看来他对 a 的定义确实有问题(感谢 指出)。顺便提一下, 的答案引用了Franklin的那本经典教材,但是我越来越感觉它讲卷积的那部分并没有写得很清楚,比如它和配图和文字就对不上号,徒增了理解的难度。我尽量梳理一遍吧。

 

首先是单位脉冲\delta(t)和单位脉冲响应 h(t) 的定义,大家应该都懂我就不啰嗦了。(注意 \delta(t) 的“面积”为 1 。)再是定义 p_\Delta(t)h_\Delta(t) ,当 \Delta\rightarrow0 时趋近于 \delta(t)h(t) 。(同样注意 p_\Delta(t) 的高度为 \frac{1}{\Delta} ,面积为 1 。)

一个输入信号可以拆成很多 p_\Delta(t) 的和,即 u\left(t\right)\approx\cdots+u\left(0\right)p_{\Delta}\left(t\right)\Delta+u\left(\Delta\right)p_{\Delta}\left(t-\Delta\right)\Delta+u\left(2\Delta\right)p_{\Delta}\left(t-2\Delta\right)\Delta+\cdots (所以

的答案确实少了个 \Delta

 

输出即 y\left(t\right)\approx\cdots+u\left(0\right)h_{\Delta}\left(t\right)\Delta+u\left(\Delta\right)h_{\Delta}\left(t-\Delta\right)\Delta+u\left(2\Delta\right)h_{\Delta}\left(t-2\Delta\right)\Delta+\cdots

取极限写成积分形式即 y\left(t\right)=\int_{-\infty}^{\infty}u\left(\tau\right)h\left(t-\tau\right)d\tau

注意不要忘了 d\tau ,因为我们是要跟单位脉冲比较面积,即 u(\tau)d\tau1 的多少倍。


纠结部分完。

有了这个基础,再去理解卷积的公式就没那么intimidating了。放张图,心血来潮随手画的,但愿能顶个卵用。



另外,对于实际系统(因果系统),由于未来的打脸( \tau>t )不会造成现在的脸肿,所以积分上限设为 t 就行了;此外我们还一般假设 t=0 之前没人打脸并且脸也不肿,所以积分下限设为 0 就行了。因此

y(t)=\int^t_0u(\tau)h(t-\tau)d\tau

最近又彻底理解了一下卷积,发现和一些主流的思路有些不同。不过个人觉得这个思路非常好理解,而且这个解释的优势在于直观理解而且不会产生“时间反卷”的奇怪反直觉现象。欢迎大家讨论。
首先,定义一下符号:h(x)=(f*g)(x)
卷积定义式如下:


从信号处理的角度讲,首先将上面定义中所有的x改为t并理解为时间。这样就是用一个激励信号f(t)去不完美地获取系统g(t)的响应信息。这种不完美体现在f(t)不是delta函数,具体说是两点,其一时宽度不为零,这样就不能简单确定信号发射的时间点(这不是一个完美的瞬时时刻),其二是强度也存在分布。卷积的问题是:当理论上的完美响应g(t)和这个不完美的激励信号f(t)都已知的情况下如何获取这个不完美的结果h(t)?这个不完美的结果h(t)就称之为f(t)和g(t)的卷积。

为了回答卷积为什么写成定义的样子,具体分析如下:

如果f(t)是完美宽度的,那么h(t)=f(0)*g(t)(没错,这里*是普通的乘积)就应该是结果了。也就是说仅仅是把g(t)乘以一个常数f(0)而已,而g(t)的形状严格不变。而且注意,这里激励的时间是没有误差的,从激励信号开始给出的时候开始计时(定义了完美的时间零点),得到的h(t)相对于g(t)就是完美的,没有时间延迟,只有一个f(0)的常数造成绝对强度的f(0)倍,而f(0)也是已知的,所以g(t)= h(t)/f(0) 或者h(t)=f(0)*g(t)。

现在的问题是激励信号f(t)不完美,那么就把激励信号f(t)分解为一系列的delta函数,如上图。这些delta函数的宽度都是完美的(宽为微分dt,是瞬时的),但是他们的高度不同(或者说有不同的权重),称之为“加权delta函数”。

下面,定义f(0)为时间零点,那么当f(0)这个加权delta函数激励的时候,扫描是完美的,时间上精确地定义了,强度上只是乘以了f(0)这个常数而已,这和上面说的完美扫描完全一模一样。但是f(1)这个加权delta函数激励的时候,扫描是不同而且不完美的,强度变了,变成f(1)倍而不是f(0)倍了,而且时间上因为f(1)自己出发的时候就晚了1秒,所以得到的这个h(t)分量的结果肯定也不完美,应该正好晚了1秒,就是说应该是g(t)这个函数平移1秒,也就是g(t-1),再乘以f(1)就对了,就是h(1)这个分量了。这样以此类推,每个加权delta函数激励的时候都有一个时间差,这个时间差就定义为tau。对于每一个tau,都有一个强度加倍因子叫做f(tau),还有一个时间差,叫做tau,所以最后得到的这个分量(或者说贡献)h(tau)就是等于f(tao)*g(t-tau)。这个式子就模拟了f(tau)这个加权delta函数扫描g(t)的过程以及得到的结果h(tau)。

最后,把这些h(tau)加起来,就是积分,也就是定义式了。
卷积的物理意义:

只有线性时不变系统才能导出卷积公式,我们知道线性系统满足齐次性和叠加性,而时不变性其实是指系统的单位冲激响应无论什么时候都不变。实际上,在信号与系统中,卷积就是计算线性时不变系统在信号激励下任意时刻的零状态响应,为了更好理解卷积的物理意义,可以先看一个例子:当一个拳击选手遭到对方连续两次击打身体的同一部位时,第二次被击打时他感觉到的疼痛是第一次被击打所遗留的疼痛与第二次被击打的疼痛之和。下面的文字可能比较长,你要想真正理解卷积的物理意义,还需要你慢慢看完下面的数学推导。
式(3.5-23)中的单位冲激响应h(t)出现了反褶,这与图3.5-4不符,图3.5-4中的每个加权的h(t)都没有反褶,所以,公式(3.5-23)与可实现的物理系统不符。另外,为了更全面一些,我们再看看离散系统:

信号反褶是这样的:信号波形是我们按着信号脉冲出现的先后顺序记录下来的,所以信号波形的左边先出现,而信号反褶恰恰说明哪个信号脉冲先来,则这个脉冲就先进入系统,但是,在计算机上用软件进行科学计算时可以将系统单位冲激响应进行反褶,相应的,此系统可以看成非因果系统。

上述内容是摘自我写的《信号与系统分析和应用》书中的几节内容,希望能对大家有所帮助,并请提出意见和建议。
等车无聊答了玩,班门弄斧求轻喷...我先后一共在四个场景下遇到过卷积:1. 微分方程,2. 傅立叶变换及其应用,3. 概率论,4. 卷积神经网。在不同场景的应用前面的人已经答的很好了,我先不展开了,讲一下我印象最深刻的一个简单理解,是微分方程公开课上prof举的一个栗子,和上面打人的栗子其实差不多,不过这个更现实,故事细节有点模糊,记不清的地方只能凭脑补了。。大概就是他的女儿是做环保的,有一次她接到一个项目,评估一个地区工厂化学药剂的污染(工厂会排放化学物质,化学物质又会挥发散去),然后建模狮告诉她药剂的残余量是个卷积。她不懂就去问她爸爸,prof就给她解释了。假设t时刻工厂化学药剂的排放量是f(t) mg,被排放的药物在排放后Δt时刻的残留比率是g(Δt) mg/mg;那么在u时刻,对于t时刻排放出来的药物,它们对应的Δt=u-t,于是u时刻化学药剂的总残余量就是∫f(t)g(u-t)dt,这就是卷积了。
卷积在信号与系统这门课程里面使用得比较多,可以说卷积就是信号与系统这门课程的一道坎,把卷积的概念弄清楚了,信号与系统其他一些概念都很明了了。因此,结合信号系统来更为形象地理解什么是卷积。
  • 系统
从一些生活中的例子说起吧。往一片平静的水面投入一块石头,水面的涟漪随时间推移扩散开去,慢慢地水面又恢复平静。如果把水面看做一个“系统”的话,投入石块就相当于给这个“系统”一个“激励”,水面产生波纹就相当于这个“系统”的“响应”。又比如敲锣,当外力敲打锣面产生“激励”,锣面的“响应”就是产生振动发出声音,由于阻力作用,声音越来越弱。其实,系统在生活中无处不在,把这些例子抽象出来,就可以用这个图来表示:
  • 响应
既然已经把系统抽象成这么一个接受输入,产生输出的“黑盒子”。那么,我们研究这个“黑盒子”特性一个很重要的办法就是给这个系统一个输入,然后去测量系统的输出是怎样的,进而分析出系统的特性。通常是在t=0时刻,往系统的输入断加入一个记为 \delta (t) 单位冲激信号:

测得系统的响应为:

类似于敲锣的例子,敲打锣面就是上面第一幅图所示的冲激信号,锣面发生振动的幅度就如同上面第二幅图所示。 通过这种方法反映了系统的特性,如果用一个输入-输出对应的函数来表示系统,上面这个图形对应的函数就称为系统函数。当然,实际的系统输入并不是一个的单位冲激信号这么简单,但无论多么复杂的输入信号,我们都可以将其分解为一个个连续的冲激信号,下面3幅图就分别显示了t=0s,t=0.2s,t=0.4s时给系统输入单位冲激信号,系统的响应:
由于3个单位冲激信号有0.2s的延时,因此系统的3个响应图形也响应有0.2s的延时,最后我们将蓝、红、绿3个响应图形相加起来就得到了3个单位冲激信号通过系统的输出:
  • 卷积
前面所讲从系统的抽象以及系统的响应都是概念性的,那么系统输入和输出的数值具体怎么计算,这时卷积就派上用场了。卷积可以理解为一种计算系统输入和输出数值的工具,用符号'*'表示卷积,那么就得到关系式:输入*系统=输出。上面的图2在t=0.4s时的数值,是由图1中蓝、红、绿分别对应的3个单位冲激响应相加得来,蓝、红、绿3个信号进入系统的时间分别为:t=0s,t=0.2s,t=0.4s,仔细观察,在图1中3个冲激信号对应系统响应的值分别为系统响应在t=0.4s,t=0.2s,t=0s的值,对应的时间顺序刚好相反,这就揭示的卷积的计算方法:翻转、平移、相乘、积分(或求和),(看到维基百科有个很好的动态图:卷积)。归纳的讲,t时刻卷积的值就是t时刻以及t时刻之前信号对系统产生响应值的总和。
就“通俗易懂”这个要求而言,我觉得最通俗易懂、小学生都能理解的解释是:
竖!式!乘!法!
任何一个信号的响应可以分解为冲击响应加权的积分,这个加权项就是你要求响应的信号。卷积运算就是让你需要求响应的信号的每个小区间与冲击响应的每个小区间△(X)对应相乘,每个冲击响应又有延迟项,才导致的积分中有平移的项,其实就是实现时域求信号响应的过程。具体的还是参考郑君里的信号与系统那一章的讲解吧。
有一个不太严格的理解:
(\sum_{n=1}^{\infty}{a_nx^n})(\sum_{n=1}^{\infty}{b_nx^n})=\sum_{n=1}^{\infty}(\sum_{k=1}^{n}a_kb_{n-k})x^n
x^n是“基”,a_n是在这个基上的展开系数。两个多项式乘积的在基上展开的系数就是两个多项式各自在基上展开系数的卷积。
x^n对应着频率不同的\exp(ikt),系数对应着其傅里叶变换。自然就是乘积的傅里叶变换等于傅里叶变换的卷积了。

带权的积分,和希尔伯特空间有点关联,可以帮助理解。

卷积,就是信号B与信号A错开时间的内积,错开的时间长度就是卷积结果的自变量。

很喜欢唐常杰老师的解释:科学网—辐射、服碘、补盐、空袭和卷积-----教学难点讨论之一

公式有错位,推荐在源链接中看

另外推线唐老师的系列文章:科学网—从这里开始 -----系列博文的入口及其DIY



幼童背古诗文的感觉,来自数学系的同学觉得卷积是小菜一碟,随手就写出卷积定义
F(t)= ∫ f(τ)g(t-τ)dτ (积分限从-∞ 到+∞)
  并指出这是含参积分,t是参数,觉得浅而又显,无须解释。而部分(例如来自工科和医学专业的)选修数据挖掘的学生,还是觉得稍有点难,说:相关公式能默写、能推导、能通过考试,自己还是觉得不踏实,觉得没有真正理解;发明者是怎样想出来的?有何直观背景?用在哪些场合?
  一言以蔽之,在逻辑上认可,而直观上迷茫。好像很小的时候背诵古诗文那种感觉。
  鉴于数学老师已经讲解过理论推导,作为一种补充,这里用生活实例做一些直观解释,给出一个大框架和物理直观,为叙述简单,忽略一些细节。需要说明,直观的解释仅用于辅助理解,不能取代严格的描述和证明。

几个时髦(但可能不很贴切)的例子.
  辐射:设某核电站事故中,某工作人员每天到抢险现场工作T分钟,接受一定剂量的辐射,辐射会自然地衰减,如此工作N天,总的辐射量用什么计算工具来(粗略地)估计?回答:可以用卷积。
  服碘:某人为了防辐射,自己找来碘片,每天口服若干,体内碘残量会随人体代谢衰减,N天后体内积累的碘残量如何(粗略地)估计?还是卷积;(后面科普部分将给出简单的推导过程);
  补盐:某人为了反辐射,抢购来碘盐,每餐口服若干,体内盐残量会随人体代谢衰减。N天后体内积累的盐量和碘残量如何(粗略地)估计?可以用卷积;
  空袭:某多国部队每隔N小时对桀骜不驯的某地区或国家实行间歇性空中打击,每次打击后,其物理破坏和心理震慑作用会随时间衰减(例如,被打方会组织抢修,心里承受度增加等等),如此进行M天后,累积的打击总效果如何(粗略地)估计?还是可以用卷积。
  还有其他例子,如长期服药的血药浓度,长期吸入污染物在人体内的积累,吸烟或喝咖啡的积累效应,多次喷洒农药的残留量,等等,也可以用卷积来估计。
  上面的有些例子可能不很贴切,有几个原因:,
  (a)卷积是积分运算,处理对象要求是可以积分的函数,在工程中,一般对应于连续现象而不是离散对象;把离散对象当做连续的现象处理,只能粗略估计。
  (b)社会问题,政治问题比较复杂,即使加上很多假定,也只是框架性的估算。
  但是,有计算、有依据的估计总比算命先生的神仙数字可信。

难懂之因:为了数学美,拆卸了脚手架。 教科书书常用“定义—定理”的体系,先给出数学定义,然后给出若干性质, 从公式 到 公式,逐步推导。有的教科书采用用信号“反褶、平移、相乘、积分”给出几何解释,属于用数学解释数学,提问者不满足这种解释。
  这不是当年发明卷积的大师们的“需求–猜想—发现—证明—应用”的路径,大师们建设好“卷积”大厦后,为了数学美,拆卸了脚手架,现在人们看到的是炼成的钢铁,看不出钢铁是怎样炼成的。造成了部分非数学专业学生的一个难点。

一次输液引出的班门弄斧 一次偶感风寒,服药未愈,转作静脉滴注,无聊地望着那药液慢腾腾地滴,忽然灵感一闪:
  (1)这是一个可离散观察的连续过程。透明玻璃管构成了可视化的界面,能离散地对药滴计数,而下面是相对稳定的液柱高度,保证了药液连续(有点脉动)地注入静脉,比较适合积分处理;(口服和注射,就相对离散,结果就更粗略一些)。
  (2)药动学有个术语血药浓度,怎样来保证血药浓度在安全阈值之下,又在有效阈值之上呢?
  立刻在草稿本上写划,哇噻,原来可以用卷积!而且只需要简单的积分知识。于是,对此常问难点,有了一个易懂的直观解释。正是:小恙滴注,焉知非福?
  下面将叙述这次双重的(数学与医学)的班门弄斧,疏漏之处,请专家指正。

静脉滴注与体内药物浓度 为简单又不失一般性,给出下列符号和假定:
  从t=0开始,每隔τ秒,输入药物一次(离散化是为了简单);药量随时间变化, 在时刻t时的那次给药量为f(t),关注的时刻点为 t=0, τ,2τ,3τ,…


一滴药液的在体内衰减规律 药物以多种方式代谢(衰减),按假设,在τ1时的那滴药液含药量f(τ1),当时间流逝到t时刻,假设那一滴药物在体内的残量是f(τ1) g(t,τ1),其中g(t,τ1)称为衰减因子函数,怎么找出衰减因子的具体结构呢?药动学中有两种衰减方式 :

(a)零级动力学消除,即恒速消除,如乙醇血浓>0.05 mg/ml时,较简单;

(b)一级动力学消除,即恒比消除,消除速度与血药浓度成正比,如乙醇血浓<0.05 mg/ml时的衰减规律,这也类似于简单热传导中散热速度与温差成正比。

设在τ时刻 ,输入一滴药,药量为f(τ), 根据一级动力学消除,建立最简单的微分方程 ;

dg/dt =-kg

考虑t=τ时不衰减的初始条件,容易求得 g=e-k(t-τ)

为下面方便,把衰减因子改写为

g(t-τ)= e-k(t-τ)

于是,在τ>0时,给药一次,药量为f(τ),

当t为2τ时,血药浓度降到 f(τ)*g(t-τ)= f(τ)*g(τ)= f(τ)(1/ek)

当t为3τ时,血药浓度降到 f(τ)*g(t-τ) = f(τ)*g(2τ)= f(τ)(1/e2k)

当t为4τ时,血药浓度降到 f(τ)*g(t-τ) = f(τ)*g(3τ)= f(τ)(1/e3k )

可见,只给药一滴,血药浓度衰减很快,难以治疗那种要与病毒或细菌打持久战的疾病。

多次密集给药 或连续给药 上面是只在τ>0时,给药一次,现在,让τ动起来,n次给药,给药时间依次取τ1, τ2,….. τn ;则n次密集给药后,当时间流逝到t时的血药浓度是

j f(τj)*g(t-τj) ( 对 j=1,2,….. n 求和)

前面说过,静脉滴注是一个可离散观察的连续过程。,所以,上面的和式可写为积分形式,即卷积

F(t)= f(τ)g(t-τ)dτ

曲线光滑工具 当f(τ)是脉冲函数时(例如考察一滴药引发的血药浓度),曲线显得不够光滑,而卷积F(t)是多次脉冲的(平均)累积效应,或可视为是一种加权平均,所以,F(t)的曲线就光滑一些,所以,医生要考察N小时的滴注效果,而不察几分钟或一滴药的效果。选择适当的g(t-τ)函数,(例如,3/2次方衰减型、平方衰减性、指数衰减型、周期兼指数衰减型,...),可用卷积作为突出不同加权方式的曲线光滑工具。

比较光滑、不是陡升陡降的血药浓度曲线表明,静脉滴注能较好地控制血药浓度;这大概也是有些医生和病人喜欢它的原因;当然,如果过分依赖静脉滴注,则减少了免疫系统的锻炼机会,所以很多医生主张,如果服药能解决问题,就不要滴注。

更多的应用实例 卷积的结果可辅助人们定量地协调脉动式输入 f(τ) 和 衰减g(t-τ) 这一对矛盾,使得累积效应F(t)= ∫ f(τ)g(t-τ)dτ 在控制范围内。

例如,研究干预规则,(例如,叶酸干预新生儿脑畸形缺陷),干预为f(τ),复杂的衰减g(t-τ),总的干预效果可否用卷积来粗略描述?
  再例如,制定正确的给药剂量和周期,例如照医嘱摄入碘或盐;
  又例如,制定空中打击方案的强度和频度,常识告诉人们,足够的强度和密度才能有效打击。卷积作为工具,或许可定量计算出最经济打击强度和密度。而被打击的一方,可计算出足够的衰减因子,使得能在被轰炸后有效恢复;战争是铁血与智慧的较量,当双方的铁与血差不多时,如《孙子.计篇》所说,“多算胜,少算不胜”,而卷积只不过在众多的计算方法基础上,增加了一个算法,仅此而已,

最近,在这个不平静的世界上,有一场空袭和反空袭的较量,不知持续多久?10天,100天,还是200天?研究军事的专家或许可用卷积做个模型。

武侠小说中,有时候看见一方逐步投入兵力,使用添油战术,好像是多次服药,每次都没有服够量,血药浓度低于有效门限。被逐次歼灭。

卷积并不神秘,它有其退化版,例如水池一面进水,一面放水,求瞬时水量。当进水匀速且放水速度服从零级或一级动力学消除规律时,偶尔也作为中小学生的数学奥赛题,基础好的聪明学生能用初等方法计算。但当进水是1+sin(t)这样的脉动函数,或更复杂的函数时,就只能用卷积了。


从概率论的角度来理解吧,举例为X Y 两组连续型随机变量,那么令Z=X+Y ,当X Y两组变量独立时,就能推导出卷积公式了,fz=fx*fy的意义就是在于两组变量叠加出来的概率密度,也就是算两信号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开始的啊。所以看来只有我们才在这儿无聊地拿着两个没有意义的任意的图让你算卷积,然后老师就开始‘先反褶其中一个,再平移其中一个,求它们重叠部分的面积’,哎,只会做题不求甚解,中国的教育说多了都是泪啊~
呵呵,我用有一个故事来解释卷积!够通俗吧~~
张三刚刚应聘到了一个电子产品公司做测试人员,他没有学过"信号与系统"这门课程。
一天,他拿到了一个产品,开发人员告诉他,产品有一个输入端,有一个输出端,有限的输入信号只会产生有限的输出。
然后,经理让张三测试当输入sin(t)(t<1秒)信号的时候(有信号发生器),该产品输出什么样的波形。张三照做了,花了一个波形图。
"很好!"经理说。然后经理给了张三一叠A4纸: "这里有几千种信号,都用公式说明了,输入信号的持续时间也是确定的。你分别测试以下我们产品的输出波形是什么吧!"
这下张三懵了,他在心理想"上帝,帮帮我把,我怎么画出这些波形图呢?"
于是上帝出现了: "张三,你只要做一次测试,就能用数学的方法,画出所有输入波形对应的输出波形"。
上帝接着说:"给产品一个脉冲信号,能量是1焦耳,输出的波形图画出来!"
张三照办了,"然后呢?" 上帝又说,"对于某个输入波形,你想象把它微分成无数个小的脉冲,输入给产品,叠加出来的结果就是你的输出波形。你可以想象这些小脉冲排着队进入你的产品,每个产生一个小的输出,你画出时序图的时候,输入信号的波形好像是反过来进入系统的。"
张三领悟了:" 哦,输出的结果就积分出来啦!感谢上帝。这个方法叫什么名字呢?"
上帝说:"叫卷积!"
可以看一下维基里面的:卷积 图示,非常形象,可以理解为加权求和。
也可以这么理解,对于一个信号,你要计算t=4时刻其影响,但是t=0,1,2,3时刻的影响也对t=4有影响,只是在t=4时,它们的影响已经比较小了,所以也要考虑它们的影响不过要把它们的影响赋予一个小的权重。