卷积

维基百科,自由的百科全书
跳转到: 导航, 搜索
跳过字词转换说明
Convolution of two square pulses: the resulting waveform is a triangular pulse. One of the functions (in this case g) is first reflected about \tau=0 and then offset by t, making it g(t-\tau). The area under the resulting product gives the convolution at t. The horizontal axis is \tau for f and g, and t for f\ast g.
Convolution of a square pulse (as input signal) with the impulse response of an RC circuit to obtain the output signal waveform. The integral of their product is the area of the yellow region. In both animations the function g is symmetric, and so is unchanged under reflection.

泛函分析中,卷積(捲積)、旋積摺積,是通过两个函数fg 生成第三个函数的一种数学算子,表徵函数f 与经过翻转和平移的g 的重叠部分的累积。如果将参加卷积的一个函数看作区间指示函数,卷积还可以被看作是“滑動平均”的推广。

目录

[编辑] 简单介绍

卷积是分析数学中一种重要的运算。设:  f(x),g(x)\mathbb{R}上的两个可积函数,作积分:

 \int_{-\infty}^{\infty} f(\tau) g(x - \tau)\, \mathrm{d}\tau

可以证明,关于几乎所有的 x \in (-\infty,\infty) ,上述积分是存在的。这样,随着 x 的不同取值,这个积分就定义了一个新函数h(x),称为函数fg 的卷积,记为h(x)=(f*g)(x)。我們可以輕易验证:(f * g)(x) = (g * f)(x),并且(f * g)(x) 仍为可积函数。这就是说,把卷积代替乘法,L^1(R^1) 空间是一个代数,甚至是巴拿赫代数

卷积与傅里叶变换有着密切的关系。例如两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,利用此一性質,能簡化傅里叶分析中的许多问题。

由卷积得到的函数 f*g 一般要比 fg 都光滑。特别当 g 为具有紧支集的光滑函数,f 为局部可积时,它们的卷积 f * g 也是光滑函数。利用这一性质,对于任意的可积函数 f,都可以简单地构造出一列逼近于 f 的光滑函数列 f_s,这种方法称为函数的光滑化或正则化。

卷积的概念还可以推广到数列、测度以及广义函数上去。

[编辑] 定义

函数fg 的卷积记作f \star g,它是其中一个函数翻转并平移后与另一个函数的乘积的积分,是一个对平移量的函数。

(f \star g )(t) = \int f(\tau) g(t - \tau)\, d\tau

积分区间取决于fg定义域

对于定义在离散域的函数,卷积定义为

(f  \star g)[m] = \sum_n {f[n] g[m - n]}
圖解摺積
  1. 首先將兩個函數都用\tau.來表示。
  2. 對其中一個函數做水平翻轉: g(\tau)g(-\tau).
  3. 加上一個時間偏移量,讓 g(t-\tau) 能沿著 \tau軸滑動。
  4. t從-∞滑動到+∞。兩函數交會時,計算交會範圍中兩函數乘積的積分值。 換句話說,我們是在計算一個滑動的的加權平均值。也就是使用g(-\tau).當做加權函數,來對f(\tau)取加權平均值。
最後得到的波形(未包含在此圖中)就是fg的摺積。

如果f(t)是一個單位脈衝,我們得到的乘積就是g(t)本身,稱為衝激響應

Convolution3.PNG

[编辑] 快速卷积算法

f[n]\, 是有限长度 N ,需要约 N^2 次运算。藉由一些快速算法可以降到  O(N \ln N) 复杂度。

最常见的快速卷积算法是藉由圓周摺積利用快速傅里叶变换。也可藉由其它不包含 FFT 的做法,如数论转换

[编辑] 多元函数卷积

按照翻转、平移、积分的定义,还可以类似的定义多元函数上的积分:

(f  \star g )(t_1,t_2,\cdots,t_n) = \int\int\cdots\int f(\tau_1,\tau_2,\cdots,\tau_n) g(t_1 - \tau_1,t_2 - \tau_2,\cdots,t_n - \tau_n,)\, d\tau_1 d\tau_2 \cdots d\tau_n

[编辑] 性质

各种卷积算子都满足下列性质:

交换律
f \star g = g \star f \,
结合律
f  \star (g \star h) = (f \star g) \star h \,
分配律
f \star (g + h) = (f \star g) + (f \star h) \,
数乘结合律
a (f \star g) = (a f) \star g = f \star (a g) \,

其中a为任意实数(或复数)。

微分定理
\mathcal{D}(f \star g) = \mathcal{D}f \star g = f \star \mathcal{D}g \,

其中Df 表示f微分,如果在离散域中则是指差分算子,包括前向差分与后向差分两种:

  • 前向差分:\mathcal{D}^+f(n) = f(n+1) - f(n)
  • 后向差分:\mathcal{D}^-f(n) = f(n) - f(n-1)

[编辑] 卷积定理

卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即,一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。

 \mathcal{F}(f \star g) =  \mathcal{F} (f) \cdot \mathcal{F} (g)

其中\mathcal{F}(f)表示f傅里叶变换

这一定理对拉普拉斯变换双边拉普拉斯变换Z变换Mellin变换Hartley变换(参见Mellin inversion theorem)等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。

利用卷积定理可以简化卷积的运算量。对于长度为n的序列,按照卷积的定义进行计算,需要做2n-1组对位乘法,其计算复杂度\mathcal{O}(n^2);而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为\mathcal{O}(n\log n)。这一结果可以在快速乘法计算中得到应用。

[编辑] 在群上的卷积

G 是有某 m 测度(例如豪斯多夫空间哈尔测度局部紧致拓扑群),对于Gm-勒贝格可积实数复数函数fg,可定义它们的卷积:

(f \star g)(x) = \int_G f(y)g(xy^{-1})\,dm(y) \,

对于这些群上定义的卷积同样可以给出诸如卷积定理等性质,但是这需要对这些群的表示理论以及调和分析的彼得-外尔定理

[编辑] 应用

卷积在工程和数学上都有很多应用:

  • 统计学中,加权的滑动平均是一种卷积。
  • 概率论中,两个统计独立变量X与Y的和的概率密度函数是X与Y的概率密度函数的卷积。
  • 声学中,回声可以用源声与一个反映各种反射效应的函数的卷积表示。
  • 电子工程与信号处理中,任一个线性系统的输出都可以通过将输入信号与系统函数(系统的冲激响应)做卷积获得。
  • 物理学中,任何一个线性系统(符合叠加原理)都存在卷积。

[编辑] 参见

[编辑] 外部链接

个人工具
名字空间
操作
导航
帮助
工具
其他语言