一、  定义

离散信号f(n),g(n)的定义如下:

N-----为信号f(n)的长度

s(n)----为卷积结果序列,长度为len(f(n))+len(g(n))-1

以3个元素的信号为例:

f(n) = [1 2 3]; g(n) = [2 3 1];

s(0) = f(0)g(0-0) + f(1)g(0-1)+f(2)g(0-2) = 1*2 + 2*0 + 3*0 =2

s(1) = f(0)g(1-0) + f(1)g(1-1) + f(2)g(1-2) = 1*3 + 2*2 + 3*0 = 7

s(2) = f(0)g(2-0) + f(1)g(2-1) + f(2)g(2-2) =1*1 + 2*3 + 3*2=13

s(3) = f(0)g(3-0) + f(1)g(3-1) + f(2)g(3-2) =1*0 + 2*1 + 3*3=11

s(4) = f(0)g(4-0) + f(1)g(4-1) + f(2)g(4-2) =1*0 + 2*0 + 3*1=3

最终结果为:

s(n) = [2 7 13 11 3]

上述计算图示如下:

在数学里我们知道f(-x)的图像是f(x)对y轴的反转

g(-m)就是把g(m)的序列反转,g(n-m)的意义是把g(-m)平移的n点:

注意,上图中,紫色方框部分对应上面计算的五个值,没有上下重叠的部分,手动补零。

如上图g(m)在信号处理中通常叫做滤波器或掩码,卷积相当于掩码g(m)反转后在信号f(n)上平移求和。Matlab计算卷积的函数为conv,

python代码验证如下:

import numpy as np
x=np.array([1,2,3])
h=np.array([2,3,1])
import scipy.signal
scipy.signal.convolve(x,h)
print scipy.signal.convolve(x,h)

运行结果为:

[ 2  7 13 11  3]

注意:

f序列和g序列的长度不需要一致.

,也就是说,卷积运算时可以交换顺序

一维卷积详细解释(转载+自己笔记)相关推荐

  1. 图像卷积详细解释 常用卷积核解释说明

    神经网络中的卷积层,它的原理就来源于图像卷积 概述 卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨论卷积在数字图像处理中的应用. 在数字图像处理中, 有一种基本的处理方法: ...

  2. Gauss-Newton算法代码详细解释(转载+自己注释)

    这篇博客是对[1]中不详细的地方进行细节上的阐述, 并且每句代码都加了注释,使得更加容易理解 下面的论述(包括伪代码和算法)特指被最小化的目标函数是MSE的时候 需要注意,如果不是MSE为目标函数,那 ...

  3. VAE原理详细解释(读书笔记)

    文章目录 背景 基本思路 VAE原理 结构和计算细节 内容大部分参考<深入浅出图神经网络> 有些细节加入了自己的思考,可能有疏漏错误之处,请各位看官多多指教! 背景 深度学习的优势在于自动 ...

  4. C语言scanf函数详细解释,[转载]C语言printf和scanf函数详细用法

    Printf和Scan函数的使用方法 一 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出 信息.在编写程序时经常会用到此函数.printf()函数的调用格式为: prin ...

  5. 【printf】sprintf字符串转数值、数值转字符,拼接字符,函数详细解释 Printf 打印数值...

    1.数值转成字符: sprintf个函数,如: sprintf(s, "%d", 123); //产生"123" 2.字符串转成数值: while(*BandR ...

  6. Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积)

    Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积) 卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积 ...

  7. Python精讲Numpy基础,大牛笔记详细解释

    https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...

  8. matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释

    总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等, ...

  9. pythonnumpy详解_Python精讲Numpy基础,大牛笔记详细解释

    以前总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门 ...

最新文章

  1. Visual SLAM
  2. Html5浏览器支持
  3. 数据可视化高级部分:如何使用轨迹地图对路径数据进行分析
  4. 给linux下网站目录配置SFTP
  5. 给文本框添加模糊搜索功能(“我记录”MVC框架下实现)
  6. Note for Consulting Handbook5
  7. tkinter 菜单添加事件_Python+tkinter设置Label字体、字号、样式、对齐方式、鼠标形状、响应鼠标事件...
  8. python 逐行读取csv_在R中如何逐行读取CSV文件并将内容识别为正确的数据类型?...
  9. WebApiClient与Asp.net core DI的结合
  10. 数据:以太坊2.0合约新增8032 ETH
  11. EXT2文件系统实现原理
  12. c语言浪漫烟花表白,C语言实战之浪漫烟花表白程序.pdf
  13. Java基础-SSM之Spring的AOP编程
  14. 联想拯救者y7000p加内存条_联想Y7000p加装金百达内存条,内存条细节多图
  15. 高效能人士七个习惯(三)
  16. 迅雷:大步伐向区块链转型,但商业化落地仍是个问题 |追击上市公司
  17. 思维导图工具,如何改默认字体?
  18. 关于Java,你想知道的一切,这里说透了
  19. 编写Java程序,使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的场景(用户充当客户端,QQ 小冰充当服务端)
  20. iPhoneX无导航栏页面适配

热门文章

  1. 《Getting Real》读书笔记
  2. C++为什么使用指针---堆和栈的区别
  3. 收集几个移动平台浏览器的User-Agent
  4. 关于表单回车自动提交的讨论
  5. jqueryonclick事件_jquery动态移除/增加onclick属性详解
  6. java剑姬_ListView和Adapter(文字列表)
  7. java getimage_在Java语言中,为了使用getImage的方法,你需要导入的类是()。
  8. java的优先队列注意事项
  9. MxNet教程:使用一台机器训练1400万张图片
  10. 开发必看 | iOS开发常用设计模式!