一、向量的卷积运算


给定两个n维向量α=(a0, a1, ..., an-1)T,β=(b0, b1, ..., bn-1)T,则α与β的卷积运算定义为:

α*β=(c0, c1, ..., c2n-2)T,其中

事实上,“卷积”的含义从矩阵αβT的表示即可以看出:不难发现,ck即为第k列副对角线元素之和。形象地讲,对α与β作卷积,就像是将由α与β的元素形成的下述矩阵“面”沿副对角线方向卷了起来得到的“一束”向量。

卷积的蛮力算法的时间复杂度为O(n2)。为提高算法效率,可以采用分治策略,这将在下一篇博文有关快速傅立叶变换的内容中予以介绍。

二、卷积应用


2.1 多项式乘法

卷积运算与多项式乘法是对应的。不难验证,设多项式f(x)=a0+a1x+a2x2+...+am-1xm-1, g(x)=b0+b1x+b2x2+...+bn-1xn-1,则f(x)g(x)得到的多项式的系数列向量就刚好是对f(x)与g(x)的系数列向量的卷积运算的结果。

2.2 信号平滑处理

由于噪声干扰,信号往往需要进行平滑处理。

设信号向量为α=(a0, a1, ..., am-1),权向量β=(b2k, b2k-1, ..., b0)=(w-k, ..., wk)。一个比较常用的权向量的例子是高斯滤波权值向量,其中

这里z用于归一化处理。

运用权向量β与信号向量α的卷积,我们可以实现为信号去噪,得到向量γ=(a'0, a'1, ..., a'm-1),其中

不过,对于边界上的元素,由于缺项无法对齐,经过运算后可能存在误差。

向量的卷积(convolution)运算的更多相关文章

  1. 最容易理解的对卷积(convolution)的解释

    啰嗦开场白 读本科期间,信号与系统里面经常讲到卷积(convolution),自动控制原理里面也会经常有提到卷积.硕士期间又学了线性系统理论与数字信号处理,里面也是各种大把大把卷积的概念.至于最近大火 ...

  2. theano中对图像进行convolution 运算

    (1) 定义计算过程中需要的symbolic expression """ 定义相关的symbolic experssion """ # c ...

  3. matlab中卷积convolution与filter用法

    转自:https://blog.csdn.net/dkcgx/article/details/46652021 转自:https://blog.csdn.net/Reborn_Lee/article/ ...

  4. 什么是卷积convolution

    定义 卷积是两个变量在某范围内相乘后求和的结果.如果卷积的变量是序列x(n)和h(n),则卷积的结果 , 其中星号*表示卷积. 当时序n=0时,序列h(-i)是h(i)的时序i取反的结果:时序取反使得 ...

  5. 第四十篇 入门机器学习——Numpy.array的基本操作——向量及矩阵的运算

    No.1. Numpy.array相较于Python原生List的性能优势 No.2. 将向量或矩阵中的每个元素 + 1 No.2. 将向量或矩阵中的所有元素 - 1 No.3. 将向量或矩阵中的所有 ...

  6. 对卷积(convolution)的理解

    参考文章 https://www.jianshu.com/p/daaaeb718aed https://blog.csdn.net/bitcarmanlee/article/details/54729 ...

  7. 卷积 convolution

    这东西大学学过,然后我忘记了,后来就只记得这个名字了. https://zh.wikipedia.org/wiki/%E5%8D%B7%E7%A7%AF http://www.guokr.com/po ...

  8. [炼丹术]DeepLabv3+训练模型学习总结

    DeepLabv3+训练模型学习总结 一.DeepLabs3+介绍 DeepLabv3是一种语义分割架构,它在DeepLabv2的基础上进行了一些修改.为了处理在多个尺度上分割对象的问题,设计了在级联 ...

  9. 各种卷积类型Convolution

    从最开始的卷积层,发展至今,卷积已不再是当初的卷积,而是一个研究方向.在反卷积这篇博客中,介绍了一些常见的卷积的关系,本篇博客就是要梳理这些有趣的卷积结构. 阅读本篇博客之前,建议将这篇博客结合在一起 ...

随机推荐

  1. vue组件利用formdata图片预览以及上传

    转载修改 在项目中直接新建一个单文件页,复制一下代码即可       upload组件: <template> <div class="vue-uploader" ...

  2. Java toBinaryString()函数探究及Math.abs(-2147483648)=-2147483648原理探究

    toBinaryString()函数 public class Customer { public static void main(String[] args) { int m=-8; System ...

  3. SQL DELETE 语句详解

    SQL DELETE 语句详解   DELETE 语句 DELETE 语句用于删除表中的行. 语法 DELETE FROM 表名称 WHERE 列名称 = 值 Person: LastName Fir ...

  4. JavaScript 设计模式的七大原则(未完成)

    设计模式(面向对象)有七大设计原则,分别是: 开闭原则:对扩展开放,对修改关闭 单一职责原则:每一个类应该专注于做一件事情 里氏替换原则:父类存在的地方,子类是可以替换的 依赖倒转原则:实现尽量依赖抽 ...

  5. redis-sentinel主从复制高可用

    Redis-Sentinel Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端 ...

  6. Python语言:下载上证股票数据程序

    from urllib.request import urlretrieve f = open('SHA.csv', 'r')for line in f: data = line.split(',') ...

  7. Jsの练习-数组常用方法 -slice()

    slice() 返回从原数组指定开始下标到结束下标之间的项组成的新数组. slice()方法可以接收一个或两个参数,即要返回项的起始和结束位置. 在只有一个参数的情况下,slice()方法返回从该参数 ...

  8. obspy下载地震波数据

    Retrieving Data from Data Centers(从数据中心检索数据) PS:此部分提供了使用obspy下载数据的推荐方式,但是由于数据中心和web服务在不断更新变化,所有有些建议可 ...

  9. react native 开发报错

    1:oc对象名是RCTPoctalk 2:js中导入原生方法 3:报错:对象没有定义 出现这样的问题可能是react native 不允许使用“RCT”开头的前缀 4:解决办法:“RCT_EXPORT ...

  10. JavaBasic_12

    类 抽象:对象的共性 类:产生对象的模板(对于属性来讲,类规定有没有属性以及属性类型,具体的属性值因对象的不同而不同) 数据类型:数据集及基于这个数据集的操作 类:我们自定义类型(定义成员变量,基于数 ...