免费卷积计算器

输入两个序列后点击 计算 查看卷积结果。

卷积是数学和信号处理中的基本运算,而这款卷积计算器可让您在线快速获得两个序列的卷积。无论您是在探索离散卷积公式,还是在学术或专业工作中需要可靠的序列卷积计算器,该工具都能简化整个过程。以下部分将解释卷积的工作原理、如何应用公式,以及在线序列卷积工具如何为您提供帮助。

什么是卷积?

卷积是一种二元运算,它接受两个序列(或连续函数)并产生第三个序列(或函数)。通常用星号符号 ∗* 表示。在离散情况下,结果的每一项通过索引之和为固定值的项乘积之和得到。该运算出现在众多领域中,包括微分方程、概率论、声学、地球物理学、信号处理和计算机视觉。例如,在信号处理中,如果已知线性时不变系统的脉冲响应,卷积可以预测系统对任意输入的输出。

离散卷积公式

对于两个离散序列 a={a0,a1,a2,… }a = \{a_0, a_1, a_2, \dots\} 和 b={b0,b1,b2,… }b = \{b_0, b_1, b_2, \dots\},它们的卷积 c=a∗bc = a * b 定义为总和

cn=∑k=0nak b n−k,n=0,1,2,…c_n = \sum_{k=0}^{n} a_k \, b_{\,n-k}, \qquad n = 0, 1, 2, \dots

这里索引 nn 遍历可能的索引和。对于有限长度序列,仅在索引 kk 和 n−kn-k 都处于有效范围内时应用公式;超出范围时该项视为零。当 aa 有 NN 项,bb 有 MM 项时,结果序列 cc 的长度为 N+M−1N + M - 1。

展开前几项可看出清晰模式:

c0=a0b0c1=a0b1+a1b0c2=a0b2+a1b1+a2b0c3=a0b3+a1b2+a2b1+a3b0c4=a0b4+a1b3+a2b2+a3b1+a4b0\begin{aligned} c_0 &= a_0 b_0 \\ c_1 &= a_0 b_1 + a_1 b_0 \\ c_2 &= a_0 b_2 + a_1 b_1 + a_2 b_0 \\ c_3 &= a_0 b_3 + a_1 b_2 + a_2 b_1 + a_3 b_0 \\ c_4 &= a_0 b_4 + a_1 b_3 + a_2 b_2 + a_3 b_1 + a_4 b_0 \end{aligned}

依此类推。每个乘积 aibja_i b_j 当且仅当 i+j=ni + j = n 时出现在项 cnc_n 中。

逐步示例:对 [1, 2, 3] 和 [4, 5, 6] 进行卷积

让我们使用上述公式计算卷积:序列 a=[1,2,3]a = [1, 2, 3] 和 b=[4,5,6]b = [4, 5, 6]:

c0=1×4=4c1=1×5+2×4=13c2=1×6+2×5+3×4=28c3=2×6+3×5=27c4=3×6=18\begin{aligned} c_0 &= 1 \times 4 = 4 \\ c_1 &= 1 \times 5 + 2 \times 4 = 13 \\ c_2 &= 1 \times 6 + 2 \times 5 + 3 \times 4 = 28 \\ c_3 &= 2 \times 6 + 3 \times 5 = 27 \\ c_4 &= 3 \times 6 = 18 \end{aligned}

因此,卷积结果为 [4,13,28,27,18][4, 13, 28, 27, 18]。您可以通过序列卷积计算器输入这两个序列(工具支持每个序列最多 15 项)来验证该结果——输入后卷积输出立即显示。

连续函数的卷积

该概念自然延伸到实值函数。对于两个函数 ff 和 gg,它们的卷积 (f∗g)(x)(f * g)(x) 由积分定义

(f∗g)(x)=∫−∞∞f(t) g(x−t) dt.(f * g)(x) = \int_{-\infty}^{\infty} f(t) \, g(x - t) \, dt.

从几何角度来看,函数 gg 首先沿纵轴反射(g(−t)g(-t)),然后平移 xx。卷积在 xx 处的值等于 f(t)f(t) 与反射并平移后的 gg 乘积下的面积。随着 xx 的变化,“窗口”在信号上滑动,突出不同部分。用信号处理术语来说,ff 是输入,gg 充任滤波器(根据滤波器设计可实现模糊或锐化等效果)。

重要的代数性质

卷积具有几个与普通乘法相似的实用性质:

  • 交换律:a∗b=b∗aa * b = b * a —— 两个序列的顺序不影响最终结果。
  • 结合律:a∗(b∗c)=(a∗b)∗ca * (b * c) = (a * b) * c —— 多重卷积可以任意分组。
  • 分配律:a∗(b+c)=a∗b+a∗ca * (b + c) = a * b + a * c。
  • 单位元:序列 δ=[1,0,0,0,… ]\delta = [1, 0, 0, 0, \dots](称为单位样本序列、离散时间脉冲或克罗内克δ函数)充当单位元:δ∗a=a\delta * a = a。任何序列与该脉冲卷积后保持原序列不变。

这些性质使卷积成为理论推导和实践实现中的灵活工具。

概率论中的卷积

卷积最优雅的应用之一出现在概率论中。如果 XX 和 YY 是两个独立随机变量,其概率密度函数(PDF)分别为 fX(x)f_X(x) 和 fY(y)f_Y(y),那么它们的和 Z=X+YZ = X + Y 的 PDF 恰好是各 PDF 的卷积:

fZ(z)=(fX∗fY)(z)=∫−∞∞fX(t) fY(z−t) dt.f_Z(z) = (f_X * f_Y)(z) = \int_{-\infty}^{\infty} f_X(t) \, f_Y(z - t) \, dt.

该定理使分析人员和统计人员可以直接从分量 PDF 确定独立变量之和的分布,而无需使用矩生成函数。

使用在线卷积计算器

操作此卷积计算器十分简单:

  • 输入第一个序列的项(最多 15 个值);输入时更多输入字段会自动出现。
  • 对第二个序列重复相同操作。
  • 计算器会显示完整的卷积结果以及原始输入。

该工具自动处理离散卷积公式,节省时间并消除手动算术错误。非常适合学生验证作业、工程师测试滤波器响应,或任何需要快速计算卷积两个序列的人。无需注册或安装——只需在线访问该工具即可开始计算。

常见问题

1. 离散卷积的公式是什么?

对于两个序列 a 和 b,它们的卷积 c 由 c_n = ∑_{k=0}^{n} a_k * b_{n-k} 给出,其中 n 从 0 开始。当 a 有 N 项、b 有 M 项时,结果序列长度为 N + M - 1。

2. 如何使用这个卷积计算器?

输入第一个序列的项(最多 15 个),然后输入第二个序列的项。更多输入字段会自动出现。该工具会立即显示卷积结果以及输入摘要以供验证。

3. 卷积满足交换律吗?

是的,卷积满足交换律。对于任意两个序列 a 和 b,a * b = b * a。它还满足结合律和分配律,行为与普通乘法非常相似。

4. 卷积的单位元是什么?

离散卷积的单位元是单位样本序列 δ = [1, 0, 0, 0, …]。任何序列与 δ 卷积后保持原序列不变。

使用方法

  1. 在输入字段中输入第一个序列(序列A)作为逗号分隔的数字,例如 '1, 2, 3'。
  2. 在输入字段中输入第二个序列(序列B)作为逗号分隔的数字,例如 '4, 5, 6'。
  3. 点击“计算”按钮立即计算两个序列的卷积。切换“逐步计算”选项以查看中间计算过程。