通过MCP连接 →

输入计算

数学公式

广告

结果

卷积结果:

4, 13, 28, 27, 18

第一个序列 1,2,3
第二个序列 4,5,6

卷积计算器能做什么

这款卷积计算器可以计算两个有限数列的离散卷积(discrete convolution)。卷积是信号处理、图像滤波、概率论以及多项式乘法中的核心运算。有了它,你不必再一项一项地手算求和——只需输入两个序列,工具便会立即返回合并后的输出序列。

如何使用

只需填写两个输入框:

  • 第一个序列——你的输入信号或第一组数字,用英文逗号分隔(例如 1, 2, 3)。
  • 第二个序列——你的第二个信号、卷积核或滤波器,同样用逗号分隔(例如 0, 1, 0.5)。

支持小数和负数。计算器会按逗号拆分每一项、去除多余空格,并在计算前将每一项转换为数值。

公式解析

离散卷积的定义如下:

$$(\text{Seq}_1 * \text{Seq}_2)[i] = \sum_{j=\max(0,\,i-m+1)}^{\min(i,\,n-1)} \text{Seq}_1[j]\cdot \text{Seq}_2[i-j]$$

对于长度分别为 \(n\) 和 \(m\) 的两个有限序列,结果恰好包含 \(n + m - 1\) 个数值。每个输出值 \(y[i]\) 都是所有乘积 \(x[j]\cdot h[i-j]\) 之和(前提是下标都落在各自序列的有效范围内)。通俗地说,这个工具会让一个序列在另一个序列上不断滑动,对重叠的项相乘,并在每次平移时把它们加起来。

Advertisement
离散卷积示意图:将两个序列翻转并滑动重叠,生成一个输出序列
卷积将一个序列翻转后沿另一个序列滑动,在每次移位时对重叠部分的乘积求和。

实例演示

设第一个序列为 1, 2, 3,第二个序列为 0, 1, 0.5。此时 \(n = 3\)、\(m = 3\),因此结果共有 \(3 + 3 - 1 = 5\) 个数值:

  • \(y[0] = 1\cdot 0 = 0\)
  • \(y[1] = 1\cdot 1 + 2\cdot 0 = 1\)
  • \(y[2] = 1\cdot 0.5 + 2\cdot 1 + 3\cdot 0 = 2.5\)
  • \(y[3] = 2\cdot 0.5 + 3\cdot 1 = 4\)
  • \(y[4] = 3\cdot 0.5 = 1.5\)

所以输出结果为 0, 1, 2.5, 4, 1.5

三幅杆状图,分别显示输入序列、第二个序列以及更长的卷积输出结果
输出比任一输入都长,长度为 \(n + m - 1\)。

常见问题

输出序列有多长?始终等于第一个序列的长度加上第二个序列的长度再减一(\(n + m - 1\))。

两个序列的先后顺序会影响结果吗?不会。卷积满足交换律,因此交换两个输入得到的结果序列完全相同。

可以用它来做多项式乘法吗?可以。如果把每个序列看作一个多项式的系数,那么卷积的输出就是它们乘积的系数——这不仅适用于信号处理,也是代数运算中的一个实用捷径。

最后更新: