一维卷积详细解释(转载+自己笔记)
一、 定义
离散信号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序列的长度不需要一致.
,也就是说,卷积运算时可以交换顺序
一维卷积详细解释(转载+自己笔记)相关推荐
- 图像卷积详细解释 常用卷积核解释说明
神经网络中的卷积层,它的原理就来源于图像卷积 概述 卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨论卷积在数字图像处理中的应用. 在数字图像处理中, 有一种基本的处理方法: ...
- Gauss-Newton算法代码详细解释(转载+自己注释)
这篇博客是对[1]中不详细的地方进行细节上的阐述, 并且每句代码都加了注释,使得更加容易理解 下面的论述(包括伪代码和算法)特指被最小化的目标函数是MSE的时候 需要注意,如果不是MSE为目标函数,那 ...
- VAE原理详细解释(读书笔记)
文章目录 背景 基本思路 VAE原理 结构和计算细节 内容大部分参考<深入浅出图神经网络> 有些细节加入了自己的思考,可能有疏漏错误之处,请各位看官多多指教! 背景 深度学习的优势在于自动 ...
- C语言scanf函数详细解释,[转载]C语言printf和scanf函数详细用法
Printf和Scan函数的使用方法 一 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出 信息.在编写程序时经常会用到此函数.printf()函数的调用格式为: prin ...
- 【printf】sprintf字符串转数值、数值转字符,拼接字符,函数详细解释 Printf 打印数值...
1.数值转成字符: sprintf个函数,如: sprintf(s, "%d", 123); //产生"123" 2.字符串转成数值: while(*BandR ...
- Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积)
Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积) 卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积 ...
- Python精讲Numpy基础,大牛笔记详细解释
https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...
- matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释
总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等, ...
- pythonnumpy详解_Python精讲Numpy基础,大牛笔记详细解释
以前总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门 ...
最新文章
- Visual SLAM
- Html5浏览器支持
- 数据可视化高级部分:如何使用轨迹地图对路径数据进行分析
- 给linux下网站目录配置SFTP
- 给文本框添加模糊搜索功能(“我记录”MVC框架下实现)
- Note for Consulting Handbook5
- tkinter 菜单添加事件_Python+tkinter设置Label字体、字号、样式、对齐方式、鼠标形状、响应鼠标事件...
- python 逐行读取csv_在R中如何逐行读取CSV文件并将内容识别为正确的数据类型?...
- WebApiClient与Asp.net core DI的结合
- 数据:以太坊2.0合约新增8032 ETH
- EXT2文件系统实现原理
- c语言浪漫烟花表白,C语言实战之浪漫烟花表白程序.pdf
- Java基础-SSM之Spring的AOP编程
- 联想拯救者y7000p加内存条_联想Y7000p加装金百达内存条,内存条细节多图
- 高效能人士七个习惯(三)
- 迅雷:大步伐向区块链转型,但商业化落地仍是个问题 |追击上市公司
- 思维导图工具,如何改默认字体?
- 关于Java,你想知道的一切,这里说透了
- 编写Java程序,使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的场景(用户充当客户端,QQ 小冰充当服务端)
- iPhoneX无导航栏页面适配
热门文章
- 《Getting Real》读书笔记
- C++为什么使用指针---堆和栈的区别
- 收集几个移动平台浏览器的User-Agent
- 关于表单回车自动提交的讨论
- jqueryonclick事件_jquery动态移除/增加onclick属性详解
- java剑姬_ListView和Adapter(文字列表)
- java getimage_在Java语言中,为了使用getImage的方法,你需要导入的类是()。
- java的优先队列注意事项
- MxNet教程:使用一台机器训练1400万张图片
- 开发必看 | iOS开发常用设计模式!