卷积(二):手算推演 + 代码落地全拆解,吃透卷积计算的每一步细节

发布时间:2026/8/13 14:51:21

卷积(二):手算推演 + 代码落地全拆解,吃透卷积计算的每一步细节
本专栏为信号与系统核心知识点深度解析系列面向电子信息、通信、自动化、计算机等专业学生与工程从业者从本质到落地系统化拆解卷积、傅里叶变换、滤波器等核心内容。本文为专栏第 2 篇承接第一篇《卷积一本质、公式与工程意义全解析》。前言在上一篇中我们建立了卷积的核心认知本质LTI 系统的输出 输入信号与系统冲激响应的卷积是冲激分解 线性叠加的时域体现公式连续卷积积分形式、离散卷积求和形式计算步骤换元→翻转→平移→重叠求和 / 积分工程价值系统求解、信号滤波、物理建模等核心场景很多读者反馈公式看懂了但上手计算就出错也不知道代码里卷积是怎么实现的。本篇我们就从「手动计算实例」到「代码底层实现」完整拆解离散 / 连续卷积的计算全流程补充卷积的核心数学性质厘清计算中的高频易错点为后续快速卷积、频域分析打下扎实基础。一、离散卷积手把手手算全流程 结果验证我们先从离散卷积入手这是数字信号处理、工程代码中最常用的形式。我们用一个具体的有限长序列案例严格按照第一篇提到的「4 步法」完整推演。1.1 案例前提给定两个有限长序列根据有限长序列卷积的长度定理两个长度分别为 N₁、N₂的序列线性卷积结果的长度为 N₁N₂-1。因此本例输出 y[n]长度应为 32-14。验证来源经典《信号与系统》教材郑君里版、奥本海姆版离散卷积章节结论1.2 四步法完整推演离散卷积公式回顾计算口诀换元→翻转→平移→重叠相乘求和步骤 1换元将序列自变量替换为求和哑变量 k得到步骤 2翻转步骤 34逐点平移 重叠相乘求和对每个输出时刻 n将翻转后的序列向右平移 n 位得到 h[n-k]再与 x[k] 对应位置相乘后累加得到当前 n 对应的输出 y[n]。1.3 最终结果与验证最终卷积结果长度为 4符合长度定理。我们可以用「多项式乘法法」快速验证 将两个序列看作多项式的系数x[n]\对应多项式 1 2z 3z^2h[n] 对应多项式 4 5z两式相乘乘积的系数序列与卷积结果完全一致验证计算正确。验证来源离散卷积与多项式乘法的对应关系为信号与系统领域通用验证方法二、连续卷积图解法分段积分完整实例连续卷积的核心难点在于分段区间的判断我们用最经典的「两个矩形脉冲卷积」案例完整拆解图解法的每一步。2.1 案例前提给定两个连续时间矩形脉冲2.2 四步法与分段积分计算口诀换元→翻转→平移→重叠区间积分步骤 1换元将自变量替换为积分哑变量 τ步骤 2翻转步骤 3平移步骤 4分区间积分根据 t 的取值判断 x(τ) 与 h(t-τ) 的重叠区间分段计算积分。2.3 结果总结两个不同宽度矩形脉冲的卷积结果为梯形脉冲结果总宽度为两个脉冲宽度之和213符合连续卷积的持续时间规律。验证来源矩形脉冲卷积结论、连续卷积图解法均源自经典《信号与系统》连续时间卷积章节三、代码实战卷积的编程实现与逐行解析理解了手算逻辑我们再从代码层面落地分别给出 Python 和 MATLAB 版本的卷积实现包含手写朴素版本对应时域 O (N²) 复杂度和官方内置函数逐行注释讲解。3.1 Python 版本实现# 导入numpy数值计算库用于数组运算 import numpy as np def naive_linear_conv(x, h): 功能通过双层循环朴素实现离散线性卷积对应时域O(N²)时间复杂度 参数 x: 一维数组/列表输入信号序列 h: 一维数组/列表系统单位冲激响应序列 返回 y: 一维数组两个序列的完整线性卷积结果 # 获取输入信号序列的长度 len_x len(x) # 获取系统冲激响应序列的长度 len_h len(h) # 根据卷积长度定理计算输出序列的总长度 # 结论来源信号与系统教材有限长序列卷积长度定理 output_len len_x len_h - 1 # 初始化输出序列为全0数组用于后续累加每个移位后的冲激响应 y np.zeros(output_len, dtypenp.float64) # 外层循环遍历输入信号的每一个样本点 for i in range(len_x): # 内层循环遍历冲激响应的每一个样本点 # 物理意义每个输入样本x[i]都会产生一个缩放、移位i位的冲激响应 # 把所有移位后的响应叠加起来就是系统的总输出卷积的本质 for j in range(len_h): # 第i个输入样本产生的响应对应输出序列的ij位置 y[i j] x[i] * h[j] return y # ---------------------- 测试与验证模块 ---------------------- if __name__ __main__: # 定义测试用输入序列与前文手算案例保持一致 x np.array([1, 2, 3]) h np.array([4, 5]) # 调用手写的朴素卷积函数计算结果 y_hand naive_linear_conv(x, h) # 调用numpy官方卷积函数modefull表示计算完整线性卷积 y_np np.convolve(x, h, modefull) # 打印两种方式的计算结果 print(手写朴素卷积结果, y_hand) print(Numpy官方卷积结果, y_np) # 在浮点精度范围内验证两种结果是否一致 print(结果是否一致, np.allclose(y_hand, y_np))代码说明手写版本严格对应时域卷积的 “移位叠加” 本质双层循环的时间复杂度为 \(O(N^2)\)和第一篇提到的时域朴素卷积复杂度完全一致。验证来源时域朴素卷积时间复杂度结论符合算法与信号处理通用结论工程中直接使用numpy.convolve即可底层做了指令集优化效率远高于手写双层循环。3.2 MATLAB 版本实现%% 功能MATLAB环境下离散线性卷积的实现与结果验证 % 清空工作区变量清空命令行窗口 clear; clc; %% 1. 定义测试用序列 x [1, 2, 3]; % 输入信号序列 h [4, 5]; % 系统单位冲激响应序列 %% 2. 调用MATLAB内置conv函数计算卷积 % conv函数默认计算完整线性卷积对应numpy.convolve的full模式 y_builtin conv(x, h); %% 3. 手动实现朴素双层循环卷积 len_x length(x); % 获取输入信号序列的长度 len_h length(h); % 获取冲激响应序列的长度 len_y len_x len_h - 1;% 根据长度定理计算输出序列长度 y_manual zeros(1, len_y);% 初始化输出数组为全0 % 双层循环实现移位叠加 for i 1 : len_x for j 1 : len_h % 注意MATLAB数组下标从1开始因此位置索引为 ij-1 % 对应Python代码中 ij 的位置逻辑是新手高频易错点 y_manual(i j - 1) y_manual(i j - 1) x(i) * h(j); end end %% 4. 结果打印与一致性验证 disp(MATLAB内置conv函数结果); disp(y_builtin); disp(手动实现卷积结果); disp(y_manual); disp(结果是否完全一致); disp(isequal(y_builtin, y_manual));四、卷积的核心数学性质与物理意义卷积的性质不是孤立的数学结论每一条都对应 LTI 系统的物理特性是后续系统分析、滤波器设计的核心依据。1. 交换律公式物理意义对于 LTI 系统输入信号和系统冲激响应互换身份输出结果不变。换句话说把原输入当作冲激响应、原冲激响应当作输入系统输出完全相同。验证来源可通过卷积公式换元直接推导为信号与系统教材卷积性质章节基础结论2. 分配律公式物理意义对应 LTI 系统的线性特性。两个 LTI 系统并联时总系统的冲激响应等于两个子系统冲激响应之和总输出等于两个子系统各自输出的和。3. 结合律公式物理意义对应 LTI 系统的级联特性。多个 LTI 系统串联时总系统的冲激响应等于各级子系统冲激响应的卷积结合交换律可推出LTI 系统级联的顺序不影响最终输出结果。4. 时移性质公式物理意义对应 LTI 系统的时不变特性。输入信号延迟t_0时间输出信号也会同步延迟t_0波形形状不发生任何改变。5. 与单位冲激的卷积公式物理意义单位冲激是卷积运算的单位元。信号和冲激函数卷积等于信号本身这也和冲激响应的定义自洽 —— 系统对冲激输入的输出就是冲激响应h(t)即。五、时域卷积的效率瓶颈与快速卷积入门5.1 时域卷积的性能瓶颈我们在第一篇提到朴素时域卷积的时间复杂度为 O(N^2)。这里给出具体的量级参考当序列长度 N1024 时乘法运算量约为 100 万次当序列长度 N10000 时乘法运算量约为 1 亿次序列长度翻倍运算量翻 4 倍长序列下计算压力极大验证来源算法复杂度分析通用结论数字信号处理领域公认结论在音频处理、图像处理等场景中信号长度动辄几万、几十万时域朴素卷积完全无法满足实时性要求。5.2 快速卷积的核心思路工程中解决这个问题的核心方法是利用傅里叶变换的重要性质时域卷积频域相乘。 快速卷积的流程对输入序列x[n]和冲激响应h[n]分别做快速傅里叶变换FFT得到频域表示频域中两个序列对应点相乘对乘积结果做逆快速傅里叶变换IFFT得到时域卷积结果FFT 的时间复杂度为 O(N log N)因此快速卷积整体复杂度也为 O(N log N)。以 N1024 为例时域朴素卷积约 100 万次运算快速卷积约 1024×10 1 万次运算 效率提升两个数量级序列越长优势越明显。关于快速卷积的细节循环卷积与线性卷积的转换、补零规则、FFT 实现等我们会在专栏第三篇详细讲解本篇先建立核心认知。验证来源快速卷积原理与复杂度结论源自数字信号处理经典教材 FFT 与快速卷积章节六、卷积计算的高频易错点总结结合手算、代码和工程场景整理 4 个最容易踩的坑索引错位问题离散卷积手动计算时要注意 n 的起始点代码中注意 Python0 起始和 MATLAB1 起始的索引差异避免结果整体移位。连续卷积分段边界连续卷积的区间分界点容易漏判或错判通用规律是两个有限时长信号卷积分界点为两个信号的起止时间点的组合总持续时间为两者持续时间之和。混淆线性卷积与循环卷积FFT 天然计算的是循环卷积要得到线性卷积必须做补零处理这是快速卷积最核心的易错点后续会专门拆解。滥用卷积公式只有线性时不变LTI系统的零状态输出才能用卷积计算非线性系统、时变系统均不适用。下篇预告本篇我们彻底吃透了卷积的手算逻辑、代码实现与核心性质。下一篇我们将进入卷积的进阶核心快速卷积FFT 法的原理与实现彻底解决时域卷积的效率问题同时拆解循环卷积与线性卷积的关联与转换。如果本专栏内容对你有帮助欢迎订阅收藏持续更新信号与系统的深度干货。说明卷积公式、手算实例、数学性质、长度定理均为信号与系统经典教材标准结论代码实现为离散卷积标准编程实现逻辑可通过官方函数验证复杂度分析、快速卷积原理为数字信号处理领域通用结论易错点总结基于领域通用学习与工程经验有理论支撑

相关新闻

CentOS 7部署NFS服务:从协议选型到生产环境调优实战

CentOS 7部署NFS服务:从协议选型到生产环境调优实战

2026/8/13 14:51:21

1. 为什么在CentOS 7上部署NFS依然是个好选择 最近在整理公司内部的文件共享方案,发现虽然现在有各种云存储和分布式文件系统,但很多老牌、稳定的服务依然在特定场景下有着不可替代的价值。NFS(Network File System)就是其中之一。…

【计算机网络硬核入门 01】一文彻底搞懂 TCP 与 UDP:从通俗比喻到代码实战,面试 / 开发再也不懵

【计算机网络硬核入门 01】一文彻底搞懂 TCP 与 UDP:从通俗比喻到代码实战,面试 / 开发再也不懵

2026/8/13 14:51:21

专栏定位:本专栏专为计算机网络入门、面试备战、后端 / 前端 / 运维开发基础补牢打造,拒绝堆砌晦涩术语,用「大白话 生活实例 可运行代码」的方式,把每一个核心知识点讲透、讲实。本文是专栏第 1 篇,带你从零分清 TC…

文件备注技术全解析:从元数据到影子文件的跨平台管理方案

文件备注技术全解析:从元数据到影子文件的跨平台管理方案

2026/8/13 14:51:21

1. 先搞清楚“文件备注”到底能解决什么实际问题 给电脑文件挂载备注,听起来是个小功能,但真正用好了,能解决很多实际工作中的痛点。它解决的核心问题是: 如何在文件本身之外,附加一段可搜索、可查看的说明性文字&…

M3U8下载工具深度解析:从多线程原理到批量自动化实践

M3U8下载工具深度解析:从多线程原理到批量自动化实践

2026/8/13 15:41:25

你有没有遇到过这样的场景:想下载一个在线视频,发现它用的是 M3U8 格式,浏览器开发者工具里能看到一串串的.ts文件。你试过用一些现成的工具,要么速度慢得像蜗牛,要么批量处理时动不动就卡死,要么就是界面复…

Vue+SpringBoot实验室耗材管理系统:从设计到部署的全栈实践

Vue+SpringBoot实验室耗材管理系统:从设计到部署的全栈实践

2026/8/13 15:41:25

1. 项目概述与核心价值 实验室耗材管理,这事儿听起来简单,但真干过的人都知道有多头疼。试剂瓶标签模糊、库存数量对不上、领用记录全靠手写本、采购申请流程混乱……这些场景几乎在每个科研实验室都上演过。传统的人工或Excel表格管理方式,在…

B站缓存视频转MP4,5秒无损搞定:m4s-converter 使用全攻略

B站缓存视频转MP4,5秒无损搞定:m4s-converter 使用全攻略

2026/8/13 15:41:25

B站缓存视频转MP4,5秒无损搞定:m4s-converter 使用全攻略 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter B站缓存视频转M…

多Agent协作框架:从原理到实战,构建高效AI智能体系统

多Agent协作框架:从原理到实战,构建高效AI智能体系统

2026/8/13 15:41:25

1. 项目概述:为什么我们需要一个多Agent协作框架? 最近在折腾AI应用开发的朋友,估计都绕不开“Agent”这个概念。从年初开始,各种单Agent应用层出不穷,从能帮你写周报的,到能自动分析数据的,确实…

KiCad Footprint Libraries完整清单:从电阻电容到连接器的1000+封装类型全解析

KiCad Footprint Libraries完整清单:从电阻电容到连接器的1000+封装类型全解析

2026/8/13 15:41:25

KiCad Footprint Libraries完整清单:从电阻电容到连接器的1000封装类型全解析 【免费下载链接】kicad-footprints Official KiCad Footprint Libraries for Kicad version 5 项目地址: https://gitcode.com/gh_mirrors/ki/kicad-footprints KiCad Footprint …

Rust模块系统详解:从mod、use到多文件项目组织

Rust模块系统详解:从mod、use到多文件项目组织

2026/8/13 15:31:24

1. 从“孤岛”到“模块化”:Rust代码组织的核心诉求 刚开始接触Rust时,很多朋友都会遇到一个看似简单却让人困惑的问题:我的代码都写在一个 main.rs 里,现在想分到不同的文件里,该怎么引入?比如&#xff…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/11 8:44:43

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/11 15:57:54

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

2026/8/13 0:00:21

一、开篇:毛利率——电商运营最该盯但最难盯的指标 电商运营中有一个指标,几乎所有老板都会问,但几乎所有运营都回答得不够确定——毛利率。不是"店铺毛利率",而是"每条链接的毛利率""每个品类的毛利率…

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

2026/8/13 0:00:21

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代 一、为什么需要不停机发布? 传统发布方式:停服务 → 替换包 → 启服务。在内部系统里勉强能用,但在SaaS系统中是灾难。 我们的无人售货柜SaaS平台服务全国几千台设备&#…

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

2026/8/13 0:00:21

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案 前言 大家好,我是黒漂技术佬。 线上出 Bug 这种事,就像你正吃着火锅唱着歌,突然接到电话说"柜子门打不开了"。炸不炸?慌不慌?别急&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…