卷积

概述

DSP中卷积的物理意义就是信号经过系统后在时间上不断叠加的结果,t时刻卷积的值就是t时刻以及t时刻之前信号对系统产生响应值的总和——加权求和

概率论的角度,举例为 X、Y 两组连续型随机变量,那么令Z=X+Y ,当X、Y两组变量独立时,就能推导出卷积公式了,fz=fx*fy的意义就是在于两组变量叠加出来的概率密度,也就是算两信号X、Y混叠起来的时候的响应。

两个一维向量的卷积(可以参考matlab中conv命令):

可以看出卷积后的向量长度 length(x*y) = length(x)+length(y)-1。二维向量卷积参考命令conv2

LTI系统

线性时不变(LTI,Linear Time Invariant)系统,是输出不会直接随着时间变化的线性系统:

如果输入信号x(t)产生输出y(t),那么对于任意时间延迟的输入x(t+d)将得到相同时间延迟的输出y(t+d)。

线性系统满足 齐次性叠加性,输入信号无时不刻不在被系统加成,而不是只加成一次。

实例:复利

卷积的概念在很多地方会用到,例如:微分方程、傅立叶变换及其应用、图像处理、概率论、卷积神经网络。

例一: 评估一个地区工厂化学药剂的污染(工厂会排放化学物质,化学物质又会挥发散去),药剂的残余量是个卷积。 假设t时刻工厂化学药剂的排放量是f(t) mg,被排放的药物在排放后Δt时刻的残留比率是g(Δt) mg/mg;那么在u时刻,对于t时刻排放出来的药物,它们对应的Δt=u-t,于是u时刻化学药剂的总残余量就是∫f(t)g(u-t)dt,这就是卷积了。

例二,连续复利: 假设银行年利率5%,小明每年往银行存100¥,连续复利计算,5年后小明的总收益:

convolution compound interest

用求和符号来简化这个公式就是:

其中,$f(t)$是小明的存钱函数,$g(t)$是存入银行的每一笔钱的复利计算函数。在这里,小明最终得到的钱就是他的存钱函数和复利计算函数的卷积。

推广到连续函数就是卷积公式:

更多实例见这里:http://blog.sciencenet.cn/home.php?mod=space&uid=287179&do=blog&id=425373

卷积公式

卷积和(convolution sum)公式(用星号 $*$ 表示卷积符号):

一维卷积的时域表示:

二维卷积:

多项式相乘 -> 系数卷积

  • 反褶:一般多项式都是按x的降幂排列,这里将其中一个多项式的各项按x的升幂排列。
  • 平移:将按x的升幂排列的多项式每次向右平移一个项。
  • 相乘:垂直对齐的项分别相乘。
  • 求和:相乘的各结果相加。

杨辉三角,可以由多次卷积生成(matlab代码):

>> x = [1, 1]; y = [1, 1];
>> y = conv(x, y)
>> y = conv(x, y)
...

卷积定理

傅立叶变换有一个推论:

这个公式意思是,一个时域下的复杂信号函数可以分解成多个简单信号函数的和,然后对各个子信号函数做傅里叶变换并再次求和,就求出了原信号的傅里叶变换。这个事实显然很有用处。

但除了加法之外,还有乘法。这时候有一个问题:是否存在某种新的f(t)和g(t)的结合方式,使得f(t)和g(t)结合后的函数的傅里叶变换结果是F(s)G(s)?

可以推导出卷积在频域的表示:

最后的公式,也被叫做卷积定理(Convolution Theorem)。 卷积定理说明,信号f和信号g的卷积的傅里叶变换,等于f、g各自的傅里叶变换的积。

示例:利用卷积计算两个信号的乘积

利用欧拉公式,信号可以分解为类似多项式的形式,如$a_2x^2+a_1x+a_0$,且满足 $x^n=f(n\omega_0)$,则两个信号相乘的结果可以通过卷积计算出来。

假设有两个信号 $f(t)$ 和 $g(t)$,其中,$\omega$ 代表角频率,$t$ 表示时间:

如果按照一般方法直接相乘,会涉及一系列三角函数公式,计算过程非常麻烦。但可以把信号表示成$\sum\left(e^{i\omega}\right)^n$的形式(把信号表示成多项式其实就是傅立叶展开):

另 $x=e^{i\omega}$,则

最后那一步的系数可以通过卷积计算出来: $[1, 5, 6]*[3,2] = [3,17,28,12]$,再将$x=e^{i\omega}$ 代回去,就得到:

一个结论:时域信号乘积,相当于频域卷积。

参考

  • http://bbs.c114.net/thread-394879-1-1.html#pid4546802