目录(?)[+]

卷积

图示两个方形脉冲波的卷积。其中函数 "g" 首先对  反射,接着平移 "t" ,成为  。那么重叠部份的面积就相当于 "t" 处的卷积,其中横坐标代表待积变量  以及新函数  的自变量 "t" 。

图示方形脉冲波和指数衰退的脉冲波的卷积(后者可能出现于 RC电路中),同样地重叠部份面积就相当于 "t" 处的卷积。注意到因为 "g" 是对称的,所以在这两张图中,反射并不会改变它的形状。

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

目录

  • 1 简单介绍
  • 2 定义
    • 2.1 计算卷积的方法

      • 2.1.1 方法1 直接计算
      • 2.1.2 方法2 快速傅里叶转换(FFT)
      • 2.1.3 方法3 分段卷积(sectioned convolution)
      • 2.1.4 应用时机
        • 2.1.4.1 例子
    • 2.2 多元函数卷积
  • 3 性质
  • 4 卷积定理
  • 5 在群上的卷积
  • 6 应用
  • 7 参见
  • 8 外部链接

简单介绍

卷积是分析数学中一种重要的运算。设:  ,上的两个可积函数,作积分:

可以证明,关于几乎所有的  ,上述积分是存在的。这样,随着  的不同取值,这个积分就定义了一个新函数,称为函数 与 的卷积,记为。我们可以轻易验证:,并且 仍为可积函数。这就是说,把卷积代替乘法, 空间是一个代数,甚至是巴拿赫代数。

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

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

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

定义

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

积分区间取决于f 与g 的定义域。

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

图解卷积

  1. 首先将两个函数都用来表示。
  2. 对其中一个函数做水平翻转:  →
  3. 加上一个时间偏移量,让  能沿着  轴滑动。
  4. t从-∞滑动到+∞。两函数交会时,计算交会范围中两函数乘积的积分值。 换句话说,我们是在计算一个滑动的的加权平均值。也就是使用当做加权函数,来对取加权平均值。
最后得到的波形(未包含在此图中)就是fg的卷积。

如果f(t)是一个单位脉冲,我们得到的乘积就是g(t)本身,称为冲激响应 。

计算卷积的方法

当  为有限长度  ,  为有限长度  的信号,计算卷积  有三种主要的方法,分别为 1.直接计算(Direct Method) 2.快速傅里叶转换(FFT) 和 3.分段卷积 (sectioned convolution)。方法1是直接利用定义来计算卷积,而方法2和3都是用到了FFT来快速计算卷积。也有不需要用到FFT的作法,如使用数论转换。

方法1 直接计算
  • 作法: 利用卷积的定义
  •  和  皆为实数信号,则需要  个乘法。
  •  和  皆为更一般性的复数信号,不使用复数乘法的快速算法,会需要  个乘法;但若使用复数乘法的快速算法,则可简化至 个乘法。
因此,使用定义直接计算卷积的复杂度为  。
方法2 快速傅里叶转换(FFT)
  • 概念:由于两个离散信号在时域(time domain)做卷积相当于这两个信号的离散傅里叶转换在频域(frequency domain)做相乘:
,可以看出在频域的计算较简单。
  • 作法: 因此这个方法即是先将信号从时域转成频域:
,于是
,最后再将频域信号转回时域,就完成了卷积的计算:
总共做了 2 次 DFT 和 1 次 IDFT。
  • 特别注意 DFT 和 IDFT 的点数  要满足  。
  • 由于 DFT 有快速算法 FFT,所以运算量为 
  • 假设 点 DFT 的乘法量为  , 和  为一般性的复数信号,并使用复数乘法的快速算法,则共需要 个乘法。
方法3 分段卷积(sectioned convolution)
  • 概念: 将  切成好几段,每一段分别和  做卷积后,再将结果相加。
  • 作法: 先将  切成每段长度为  的区段 (),假设共切成S段:
Section 1: 
Section 2: 
Section r: 
Section S: 
为各个section的和
因此,
每一小段作卷积则是采用方法2,先将时域信号转到频域相乘,再转回时域:
  • 总共只需要做 点 FFT  次,因为  只需要做一次FFT。
  • 假设 点 DFT 的乘法量为  , 和  为一般性的复数信号,并使用复数乘法的快速算法,则共需要 个乘法。
  • 运算量: 
  • 运算复杂度:  ,和  呈线性,较方法2小。

应用时机

以上三种方法皆可用来计算卷积,其差别在于所需总体乘法量不同。基于运算量以及效率的考量,在计算卷积时,通常会选择所需总体乘法量较少的方法。

以下根据  和  的长度(  )分成5类,并列出适合使用的方法:

  1.  为一非常小的整数 - 直接计算
  2.  - 快速傅里叶转换
  3.  - 分段卷积
  4.  - 快速傅里叶转换
  5.  为一非常小的整数 - 直接计算

基本上,以上只是粗略的分类。在实际应用时,最好还是算出三种方法所需的总乘法量,再选择其中最有效率的方法来计算卷积。

例子

Q1: 当  ,适合用哪种方法计算卷积?

Ans:

方法1: 所需乘法量为 
方法2:  ,而2016点的DFT最少乘法数  ,所以总乘法量为 
方法3:

若切成 8 块(),则。选,则总乘法量为  ,比方法1和2少了很多。
但是若要找到最少的乘法量,必须依照以下步骤

(1)先找出  : 解  : 
(2)由 算出点数在  附近的DFT所需最少的乘法量,选择DFT的点数
(3)最后由 算出 
因此,

(1)由运算量对  的偏微分为0而求出 
(2),所以选择101点 DFT 附近点数乘法量最少的点数  或 
(3-1)当  ,总乘法量为  。
(3-2)当  ,总乘法量为  。
由此可知,切成 20 块会有较好的效率,而所需总乘法量为 21480。
  • 因此,当,所需总乘法量: 分段卷积 < 快速傅里叶转换 < 直接计算。故,此时选择使用分段卷积来计算卷积最适合。

Q2: 当  ,适合用哪种方法计算卷积?

Ans:

方法1: 所需乘法量为 
方法2:  ,选择1026点 DFT 附近点数乘法量最少的点数,

因此,所需乘法量为 
方法3:

(1)由运算量对  的偏微分为0而求出 
(2),所以选择7点 DFT 附近点数乘法量最少的点数  或  或  。
(3-1)当  ,总乘法量为  。
(3-2)当  ,总乘法量为  。
(3-3)当  ,总乘法量为  。
由此可知,切成 171 块会有较好的效率,而所需总乘法量为 5476。
  • 因此,当,所需总乘法量: 分段卷积 < 直接计算 < 快速傅里叶转换。故,此时选择使用分段卷积来计算卷积最适合。
  • 虽然当  是个很小的正整数时,大致上适合使用直接计算。但实际上还是将3个方法所需的乘法量都算出来,才能知道用哪种方法可以达到最高的效率。

Q3: 当  ,适合用哪种方法计算卷积?

Ans:

方法1: 所需乘法量为 
方法2:  ,选择1026点 DFT 附近点数乘法量最少的点数,

因此,所需乘法量为 
方法3:

(1)由运算量对  的偏微分为0而求出 
(2),所以选择1623点 DFT 附近点数乘法量最少的点数  。
(3)当  ,总乘法量为  。
由此可知,此时切成一段,就跟方法2一样,所需总乘法量为 44232。
  • 因此,当,所需总乘法量: 快速傅里叶转换 = 分段卷积 < 直接计算。故,此时选择使用分段卷积来计算卷积最适合。
多元函数卷积

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

性质

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

交换律
结合律
分配律
数乘结合律

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

微分定理

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

  • 前向差分:
  • 后向差分:

卷积定理

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

其中表示f 的傅里叶变换。

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

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

在群上的卷积

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

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

应用

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

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

参见

  • 反卷积
  • 傅里叶变换

数字信号处理中卷积的图形化动态解释相关推荐

  1. 数字信号处理中卷积的计算

    数字信号处理的一条原则呢就是把信号分解成一个一个的脉冲信号,输入到系统之后得到输出响应,再把这些输出响应做一个线性的叠加就可以得到真是的响应了.这一点是非常重要的,不管是卷积还是傅里叶变换,本质就是这 ...

  2. 用MATLAB绘制国债NSS模型,Matlab在数字信号处理中的运用.ppt

    <Matlab在数字信号处理中的运用.ppt>由会员分享,可在线阅读,更多相关<Matlab在数字信号处理中的运用.ppt(68页珍藏版)>请在装配图网上搜索. 1.第七讲 M ...

  3. 数字信号处理中的 SIMD

    系列文章目录 数字信号处理中的 SIMD Neon intrinsics 简明教程 文章目录 系列文章目录 0. 1. 前言 2. SIMD 是什么 3. SIMD 伪代码示例 4. SIMD 是如何 ...

  4. 数字信号处理中的自相关和互相关计算和物理意义(二)

    在信号处理中,经常要研究两个信号的相似性,或者一个信号经过一段时间延迟后自身的相似性,以便实现信号检测.识别与提取等. 可用于研究信号相似性的方法称为相关,该方法的核心概念是相关函数和互相关函数. 1 ...

  5. 开放数字世界中的复杂图数据挑战 —— 以教育与开源场景为例

    摘要:开源开放的数字世界开始成为时代的潮流,云原生.数据中台.智能PRA开始成为数字世界中的新一代中流砥柱.随着第四范式的普遍流行,各个行业中的数字化转型都会带了海量的具有无限关联的复杂图数据.本报告 ...

  6. 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )

    文章目录 一.Matlab 卷积和多项式乘法 conv 函数 二.使用 matlab 代码求卷积并绘图 一.Matlab 卷积和多项式乘法 conv 函数 Matlab 文档地址 : https:// ...

  7. 归一化数字角频率_数字信号处理中的各种频率

    在学习数字信号处理时,很多种频率很容易搞混淆,有模拟/数字/频率/角频率等等,也不是特别清楚不同频率之间的关系,希望这篇文件可以为各种频率来个了结. 4种频率及其数量关系 实际物理频率表示物理信号的真 ...

  8. 数字信号处理中的归一化频率

    4种频率及其数量关系 实际物理频率表示AD采集物理信号的频率,fs为采样频率,由奈奎斯特采样定理可以知道,fs必须≥信号最高频率的2倍才不会发生信号混叠,因此fs能采样到的信号最高频率为fs/2. 角 ...

  9. 有十五个数按由大到小顺序存放在一个数组中_「图形化编程」前导知识-数组(一)...

    今天我们来学习一个新的概念-数组.这节课将通过一个小程序讲解数组的基本概念-数组的长度和下标 定义 数组指的是有序元素的集合,数组中的每个元素具有相同的类型,按照顺序排列的形式组织在一起.我们可以把数 ...

最新文章

  1. 不可错过的 GAN 资源:教程、视频、代码实现、89 篇论文下载
  2. SAP Spartacus TypeScript源代码中的三个点用法
  3. Vue表单类的父子组件数据传递示例_vue.js_脚本之家
  4. 从真实项目中抠出来的设计模式——第三篇:责任链模式
  5. 2019.01.24【NOIP普及组】模拟赛C组
  6. axios请求本地的json文件在打包部署到子目录域名下,路径找不到
  7. nginx中的location指令
  8. Python入门进阶篇(六)字典的介绍
  9. hdu5927Auxiliary Set
  10. 基于mpvue的toast组件
  11. mysql是怎样工作的_MySQL系列:一句SQL,MySQL是怎么工作的?
  12. echart 全国地图 下钻省、市、区
  13. 一款超好用的PDF阅读器:智器阅读
  14. 计算机网络网线颜色,网络线接法-各种网线的分类和区别-电气资讯 - 电工屋
  15. java希腊字母表怎么打印_java 命令行窗口输出希腊字母表
  16. 彻底了解Windows XP操作系统登录类型
  17. 2014年十大云计算发展趋势分析及预测
  18. Android 支付宝sdk接入问题:不能唤起支付宝客户端,或者偶然唤起支付客户端
  19. 一款支持http与dubbo协议互相转换的网关
  20. linux安装百度网盘rpm,Deepin、Ubuntu下安装百度网盘baidunetdisk_linux_2.0.1.rpm的方法

热门文章

  1. 2021年春季学期-信号与系统-第十三次作业参考答案-第九小题
  2. Thonny开发环境中显示数据曲线
  3. 无线电能接收初步测试
  4. 对ZNNT-5NM力矩传感器进行标定
  5. python 代理ip验证_python爬虫成长之路(二):抓取代理IP并多线程验证
  6. python 倒计时功能怎么用print实现_python 实现倒计时功能(gui界面)
  7. mysql下载之后找不见_Win7系统中安装mysql后找不到服务或出现找不到指定文件怎么办?...
  8. 华为老机器可以升级鸿蒙,鸿蒙OS手机将至,华为手机用户提问,老款机器能升级吗?...
  9. Java实用教程 课堂测试(2021C++补考题目)
  10. bitcoin全节点部署及bitcoind bitcoin-cli命令使用解释