数学基础 -- 卷积的定义及使用场景

卷积

卷积(Convolution)是数学和信号处理中的一种运算,主要用于对信号进行滤波、特征提取和模式识别等。其基本原理是通过对一个函数(信号)与另一个函数(滤波器或核)的重叠区域进行加权平均,生成新的函数。卷积的数学表达式通常为:

( f ∗ g ) ( t ) = ∫ − ∞ + ∞ f ( τ ) g ( t − τ ) d τ (f * g)(t) = \int_{-\infty}^{+\infty} f(\tau) g(t - \tau) d\tau (fg)(t)=+f(τ)g(tτ)dτ

其中, f f f g g g 是两个函数, t t t 是卷积的结果函数的自变量。

数学原理

卷积的数学原理基于重叠和加权平均。具体步骤如下:

  1. 翻转:将一个函数(通常是滤波器或核)进行翻转。
  2. 平移:将翻转后的函数在时间轴上移动。
  3. 重叠计算:在每个位置上,计算两个函数的重叠部分的积分或求和(取决于函数是连续还是离散)。
  4. 累加结果:将所有重叠位置的计算结果结合起来,形成新的函数。

在离散情况下,卷积的公式为:

y [ n ] = ∑ m = − ∞ + ∞ x [ m ] h [ n − m ] y[n] = \sum_{m=-\infty}^{+\infty} x[m] h[n - m] y[n]=m=+x[m]h[nm]

其中, x [ n ] x[n] x[n] 是输入信号, h [ n ] h[n] h[n] 是滤波器或核, y [ n ] y[n] y[n] 是卷积结果。

应用场景

卷积在许多领域中有广泛应用,包括:

  1. 信号处理:用于滤波、去噪和特征提取。
  2. 图像处理:在图像滤波、边缘检测和图像增强中使用卷积核(如Sobel、Gaussian等)。
  3. 深度学习:在卷积神经网络(CNN)中,卷积层用于提取图像的特征,识别模式和物体。
  4. 语音处理:在语音识别和合成中用于特征提取和信号增强。
  5. 物理学:在描述物理系统的响应时使用卷积,特别是在线性系统理论中。

卷积示例:信号滤波

假设我们有一个简单的输入信号 f ( t ) f(t) f(t) 和一个滤波器(卷积核) g ( t ) g(t) g(t)

  • 输入信号 f ( t ) f(t) f(t):表示一个简单的离散信号,如以下数值序列:

f = [ 1 , 2 , 3 , 4 , 5 ] f = [1, 2, 3, 4, 5] f=[1,2,3,4,5]

  • 滤波器 g ( t ) g(t) g(t):我们选择一个简单的滤波器,如均值滤波器(3个点的平均):

g = [ 1 3 , 1 3 , 1 3 ] g = \left[\frac{1}{3}, \frac{1}{3}, \frac{1}{3}\right] g=[31,31,31]

卷积计算

在进行卷积计算时,我们会计算 y [ n ] = f [ n ] ∗ g [ n ] y[n] = f[n] * g[n] y[n]=f[n]g[n],即:

y [ n ] = ∑ m f [ m ] g [ n − m ] y[n] = \sum_{m} f[m] g[n - m] y[n]=mf[m]g[nm]

对于上述输入信号和滤波器,我们可以逐步计算卷积结果:

  1. 计算 y [ 0 ] y[0] y[0]
    y [ 0 ] = f [ 0 ] g [ 0 ] = 1 ⋅ 1 3 = 1 3 y[0] = f[0] g[0] = 1 \cdot \frac{1}{3} = \frac{1}{3} y[0]=f[0]g[0]=131=31

  2. 计算 y [ 1 ] y[1] y[1]
    y [ 1 ] = f [ 0 ] g [ 1 ] + f [ 1 ] g [ 0 ] = 1 ⋅ 1 3 + 2 ⋅ 1 3 = 1 3 + 2 3 = 1 y[1] = f[0] g[1] + f[1] g[0] = 1 \cdot \frac{1}{3} + 2 \cdot \frac{1}{3} = \frac{1}{3} + \frac{2}{3} = 1 y[1]=f[0]g[1]+f[1]g[0]=131+231=31+32=1

  3. 计算 y [ 2 ] y[2] y[2]
    y [ 2 ] = f [ 0 ] g [ 2 ] + f [ 1 ] g [ 1 ] + f [ 2 ] g [ 0 ] = 1 ⋅ 1 3 + 2 ⋅ 1 3 + 3 ⋅ 1 3 = 1 3 + 2 3 + 1 = 2 y[2] = f[0] g[2] + f[1] g[1] + f[2] g[0] = 1 \cdot \frac{1}{3} + 2 \cdot \frac{1}{3} + 3 \cdot \frac{1}{3} = \frac{1}{3} + \frac{2}{3} + 1 = 2 y[2]=f[0]g[2]+f[1]g[1]+f[2]g[0]=131+231+331=31+32+1=2

  4. 计算 y [ 3 ] y[3] y[3]
    y [ 3 ] = f [ 1 ] g [ 2 ] + f [ 2 ] g [ 1 ] + f [ 3 ] g [ 0 ] = 2 ⋅ 1 3 + 3 ⋅ 1 3 + 4 ⋅ 1 3 = 2 3 + 1 + 4 3 = 3 y[3] = f[1] g[2] + f[2] g[1] + f[3] g[0] = 2 \cdot \frac{1}{3} + 3 \cdot \frac{1}{3} + 4 \cdot \frac{1}{3} = \frac{2}{3} + 1 + \frac{4}{3} = 3 y[3]=f[1]g[2]+f[2]g[1]+f[3]g[0]=231+331+431=32+1+34=3

  5. 计算 y [ 4 ] y[4] y[4]
    y [ 4 ] = f [ 2 ] g [ 2 ] + f [ 3 ] g [ 1 ] + f [ 4 ] g [ 0 ] = 3 ⋅ 1 3 + 4 ⋅ 1 3 + 5 ⋅ 1 3 = 1 + 4 3 + 5 3 = 5 y[4] = f[2] g[2] + f[3] g[1] + f[4] g[0] = 3 \cdot \frac{1}{3} + 4 \cdot \frac{1}{3} + 5 \cdot \frac{1}{3} = 1 + \frac{4}{3} + \frac{5}{3} = 5 y[4]=f[2]g[2]+f[3]g[1]+f[4]g[0]=331+431+531=1+34+35=5

  6. 计算 y [ 5 ] y[5] y[5]
    y [ 5 ] = f [ 3 ] g [ 2 ] + f [ 4 ] g [ 1 ] = 4 ⋅ 1 3 + 5 ⋅ 1 3 = 4 3 + 5 3 = 3 y[5] = f[3] g[2] + f[4] g[1] = 4 \cdot \frac{1}{3} + 5 \cdot \frac{1}{3} = \frac{4}{3} + \frac{5}{3} = 3 y[5]=f[3]g[2]+f[4]g[1]=431+531=34+35=3

  7. 计算 y [ 6 ] y[6] y[6]
    y [ 6 ] = f [ 4 ] g [ 2 ] = 5 ⋅ 1 3 = 5 3 y[6] = f[4] g[2] = 5 \cdot \frac{1}{3} = \frac{5}{3} y[6]=f[4]g[2]=531=35

最终卷积结果

经过上述计算,卷积结果 y [ n ] y[n] y[n] 为:

y = [ 1 3 , 1 , 2 , 3 , 4 , 3 , 5 3 ] y = \left[\frac{1}{3}, 1, 2, 3, 4, 3, \frac{5}{3}\right] y=[31,1,2,3,4,3,35]

总结

在这个例子中, t − τ t - \tau tτ 的意义在于它定义了在当前计算时刻 n n n 上我们需要考虑的过去信号值。例如,计算 y [ 2 ] y[2] y[2] 时, t t t 表示当前时刻(2),而 τ \tau τ 则表示过去的值。通过这种方式,卷积能够结合输入信号的历史信息,实现滤波、平滑等效果。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值