0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简谈卷积

FPGA学习交流 2019-11-01 17:35 次阅读

大家好,之前有文章说到信号处理,说到卷积,那今天咱们来聊一聊卷积。


关于卷积,之前在大学时候学信号与系统的时候就感觉理解的不是很深刻,我于是心想一定要把卷积完全搞明白。经过一段时间的思考之后,有一些很有趣的体会和大家分享。据说卷积这种运算式物理学家发明的,在实际中用得不亦乐乎,而数学家却一直没有把运算的意义彻底搞明白。仔细品以下,还是有那么点滋味的。


下面先看一下剑桥大学的教科书对卷积的定义:

image.png

我们都知道这个公式,但是它有什么物理意义呢,平时我们用卷积做过很多事情,信号处理时,输出函数是输入函数和系统函数的卷积,在图像处理时,两组幅分辨率不同的图卷积之后得到的互相平滑的图像可以方便处理。卷积甚至可以用在考试作弊中,为了让照片同时像两个人,只要把两人的图像卷积处理即可,这就是一种平滑的过程,可是我们怎么才能真正把公式和实际建立起一种联系呢,也就是说,我们能不能从生活中找到一种很方便且具体的例子来表达公式的物理意义呢?


那下面咱们就来看一看详细的卷积本质以及物理意义的介绍

1 来源


卷积其实就是为冲击函数诞生的。“冲击函数”是狄拉克为了解决一些瞬间作用的物理现象而提出的符号。古人曰:“说一堆大道理不如举一个好例子”,冲量这一物理现象很能说明“冲击函数”。在t时间内对一物体作用F的力,倘若作用时间t很小,作用力F很大,但让Ft的乘积不变,即冲量不变。于是在用t做横坐标、F做纵坐标的坐标系中,就如同一个面积不变的长方形,底边被挤的窄窄的,高度被挤的高高的,在数学中它可以被挤到无限高,但即使它无限瘦、无限高、但它仍然保持面积不变(它没有被挤没!),为了证实它的存在,可以对它进行积分,积分就是求面积嘛!于是“卷积”这个数学怪物就这样诞生了。


卷积是“信号与系统”中论述系统对输入信号的响应而提出的。


2 意义


信号处理是将一个信号空间映射到另外一个信号空间,通常就是时域到频域,(还有z域,s域),信号的能量就是函数的范数(信号与函数等同的概念),大家都知道有个Paserval定理就是说映射前后范数不变,在数学中就叫保范映射,实际上信号处理中的变换基本都是保范映射,只要Paserval定理成立就是保范映射(就是能量不变的映射)。


信号处理中如何出现卷积的。假设B是一个系统,其t时刻的输入为x(t),输出为y(t),系统的响应函数为h(t),按理说,输出与输入的关系应该为


Y(t)=h(t)x(t),


然而,实际的情况是,系统的输出不仅与系统在t时刻的响应有关,还与它在t时刻之前的响应有关,不过系统有个衰减过程,所以t1(


y(s)=∫x(t)h(s-t)dt,


离散情况下就是级数了。


3 计算


卷积是一种积分运算,它可以用来描述线性时不变系统的输入和输出的关系:即输出可以通过输入和一个表征系统特性的函数(冲激响应函数)进行卷积运算得到。(以下用$符号表示从负无穷大到正无穷大的积分)


1)一维卷积:


y(t)=g(k)*x(k)=$g(k)x(t-k)


先把函数x(k)相对于原点反折,然后向右移动距离t,然后两个函数相乘再积分,就得到了在t处的输出。对每个t值重复上述过程,就得到了输出曲线。


2)二维卷积:


h(x,y)=f(u,v)*g(u,v)=$$f(u,v)g(x-u,y-v)


先将g(u,v)绕其原点旋转180度,然后平移其原点,u轴上像上平移x, v轴上像上平移y。然后两个函数相乘积分,得到一个点处的输出。


4 幽默笑话——谈卷积的物理意义


有一个七品县令,喜欢用打板子来惩戒那些市井无赖,而且有个惯例:如果没犯大罪,只打一板,释放回家,以示爱民如子。


有一个无赖,想出人头地却没啥指望,心想:既然扬不了善名,出恶名也成啊。怎么出恶名?炒作呗!怎么炒作?找名人呀!他自然想到了他的行政长官——县令。


无赖于是光天化日之下,站在县衙门前撒了一泡尿,后果是可想而知地,自然被请进大堂挨了一板子,然后昂首挺胸回家,躺了一天,嘿!身上啥事也没有!第二天如法炮制,全然不顾行政长管的仁慈和衙门的体面,第三天、第四天......每天去县衙门领一个板子回来,还喜气洋洋地,坚持一个月之久!这无赖的名气已经和衙门口的臭气一样,传遍八方了!


县令大人噤着鼻子,呆呆地盯着案子上的惊堂木,拧着眉头思考一个问题:这三十个大板子怎么不好使捏?......想当初,本老爷金榜题名时,数学可是得了满分,今天好歹要解决这个问题:


——人(系统!)挨板子(脉冲!)以后,会有什么表现(输出!)?


——费话,疼呗!


——我问的是:会有什么表现?


——看疼到啥程度。像这无赖的体格,每天挨一个板子啥事都不会有,连哼一下都不可能,你也看到他那得意洋洋的嘴脸了(输出0);如果一次连揍他十个板子,他可能会皱皱眉头,咬咬牙,硬挺着不哼(输出1);揍到二十个板子,他会疼得脸部扭曲,象猪似地哼哼(输出3);揍到三十个板子,他可能会象驴似地嚎叫,一把鼻涕一把泪地求你饶他一命(输出5);揍到四十个板子,他会大小便失禁,勉强哼出声来(输出1);揍到五十个板子,他连哼一下都不可能(输出0)——死啦!


县令铺开坐标纸,以打板子的个数作为X轴,以哼哼的程度(输出)为Y轴,绘制了一条曲线:


——呜呼呀!这曲线像一座高山,弄不懂。为啥那个无赖连挨了三十天大板却不喊绕命呀?


—— 呵呵,你打一次的时间间隔(Δτ=24小时)太长了,所以那个无赖承受的痛苦程度一天一利索,没有叠加,始终是一个常数;如果缩短打板子的时间间隔(建议Δτ=0.5秒),那他的痛苦程度可就迅速叠加了;等到这无赖挨三十个大板(t=30)时,痛苦程度达到了他能喊叫的极限,会收到最好的惩戒效果,再多打就显示不出您的仁慈了。


——还是不太明白,时间间隔小,为什么痛苦程度会叠加呢?


——这与人(线性时不变系统)对板子(脉冲、输入、激励)的响应有关。什么是响应?人挨一个板子后,疼痛的感觉会在一天(假设的,因人而异)内慢慢消失(衰减),而不可能突然消失。这样一来,只要打板子的时间间隔很小,每一个板子引起的疼痛都来不及完全衰减,都会对最终的痛苦程度有不同的贡献:


t个大板子造成的痛苦程度=Σ(第τ个大板子引起的痛苦*衰减系数)


[衰减系数是(t-τ)的函数,仔细品味]


数学表达为:y(t)=∫T(τ)H(t-τ)


——拿人的痛苦来说卷积的事,太残忍了。除了人以外,其他事物也符合这条规律吗?


——呵呵,县令大人毕竟仁慈。其实除人之外,很多事情也遵循此道。好好想一想,铁丝为什么弯曲一次不折,快速弯曲多次却会轻易折掉呢?


——恩,一时还弄不清,容本官慢慢想来——但有一点是明确地——来人啊,将撒尿的那个无赖抓来,狠打40大板!


也可以这样理解:T(τ)即第τ个板子,H(t-τ)就是第τ个板子引起的痛苦到t时刻的痛苦程度,所有板子加起来就是∫T(τ)H(t-τ)


4 卷积在具体学科中的应用


图像处理:用一个模板和一幅图像进行卷积,对于图像上的一个点,让模板的原点和该点重合,然后模板上的点和图像上对应的点相乘,然后各点的积相加,就得到了该点的卷积值。对图像上的每个点都这样处理。由于大多数模板都是对称的,所以模板不旋转。卷积是一种积分运算,用来求两个曲线重叠区域面积。可以看作加权求和,可以用来消除噪声、特征增强。


把一个点的像素值用它周围的点的像素值的加权平均代替。


卷积是一种线性运算,图像处理中常见的mask运算都是卷积,广泛应用于图像滤波。


卷积在数据处理中用来平滑,卷积有平滑效应和展宽效应.


电路学:卷积法的原理是根据线性定常电路的性质(齐次性、叠加性、时不变性、积分性等),借助电路的单位冲激响应h(t),求解系统响应的工具,系统的激励一般都可以表示为冲击函数和激励的函数的卷积,而卷积为高等数学中的积分概念。概念中冲击函数的幅度是由每个矩形微元的面积决定的。


卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理中的卷积定理。利用该定理,可以将时间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT等快速算法,实现有效的计算,节省运算代价。


信号处理:


1)卷积实质上是对信号进行滤波;


2)卷积就是用冲击函数表示激励函数,然后根据冲击响应求解系统的零状态响应。


卷积是求和(积分)。对于线性时不变的系统,输入可以分解成很多强度不同的冲激的和的形式(对于时域就是积分),那么输出也就是这些冲激分别作用到系统产生的响应的和(或者积分)。所以卷积的物理意义就是表达了时域中输入,系统冲激响应,以及输出之间的关系。


信号角度:卷积代表了线性系统对输入信号的响应方式,其输出就等于系统冲击函数和信号输入的卷积,只有符合叠加原理的系统,才有系统冲击函数的概念,从而卷积成为系统对输入在数学上运算的必然形式,冲击函数实际上是该问题的格林函数解。点激励源作为强加激励,求解某个线性问题的解,得到的格林函数即是系统冲击响应.所以在线性系统中,系统冲击响应与卷积存在着必然的联系。


数学:来说卷积就是定义两个函数的一种乘法,或者是一种反映两个序列或函数之间的运算方法。对离散序列来说就是两个多项式的乘法。物理意义就是冲激响应的线性叠加,所谓冲激响应可以看作是一个函数,另一个函数按冲激信号正交展开。


在现实中:卷积代表的是将一种信号搬移到另一频率中,比如调制,这是频率卷。


物理:卷积可代表某种系统对某个物理量或输入的调制或污染。


在现实中:卷积代表的是将一种信号搬移到另一频率中,比如调制,这是频率卷。


形象比喻:卷积我觉得就象一把锉刀,它主要是把一些非光滑的函数或算子光滑化。


信号处理的任务就是寻找和信号集合对应的一个集合,然后在另外一个集合中分析信号,Fourier变换就是一种,它建立了时域中每个信号函数与频域中的每个频谱函数的一一对应关系,这是元素之间的对应。那么运算之间的对应呢,在时域的加法对应频域中的加法,这就是FT线性性的体现;那么时域的乘法对应什么呢,最后得到的那个表达式我们就把它叫卷积,就是对应的频域的卷积。


简单来说,卷积是一种重叠关系,也就是说,所得到的结果反映了两个卷积函数的重叠部分。所以,用一个已知频段的函数卷积另一个频段很宽的函数,也就是对后者进行了滤波,后者跟前者重叠的频段才能很好地通过这个filter.


5 卷积与多项式


信号处理中的一个重要运算是卷积.初学卷积的时候,往往是在连续的情形,两个函数f(x),g(x)的卷积,是∫f(u)g(x-u)du。当然,证明卷积的一些性质并不困难,比如交换,结合等等,但是对于卷积运算的来处,初学者就不甚了了。


其实,从离散的情形看卷积,或许更加清楚,对于两个序列f[n],g[n],一般可以将其卷积定义为s[x]= ∑f[k]g[x-k]。


卷积的一个典型例子,其实就是初中就学过的多项式相乘的运算。


比如(x*x+3*x+2)(2*x+5)一般计算顺序如下:


(x*x+3*x+2)(2*x+5)


= (x*x+3*x+2)*2*x+(x*x+3*x+2)*5

= 2*x*x*x+3*2*x*x+2*2*x+ 5*x*x+3*5*x+10

然后合并同类项的系数,


2x*x*x


3*2+1*5x*x


2*2+3*5x


2*5

2*x*x*x+11*x*x+19*x+10


实际上,从线性代数可以知道,多项式构成一个向量空间,其基底可选为{1,x,x*x,x*x*x,...}如此,则任何多项式均可与无穷维空间中的一个坐标向量相对应,如,(x*x+3*x+2)对应于(1 3 2),(2*x+5)对应于(2,5)。线性空间中没有定义两个向量间的卷积运算,而只有加法、数乘两种运算,而实际上,多项式的乘法,就无法在线性空间中说明,可见线性空间的理论多么局限了。但如果按照我们上面对向量卷积的定义来处理坐标向量,(1 3 2)*(2 5)则有(1 3 2)*(2 5)=(2 11 19 10)。


回到多项式的表示上来,(x*x+3*x+2)(2*x+5)=2*x*x*x+11*x*x+19*x+10,结果跟我们用传统办法得到的是完全一样的.换句话,多项式相乘,相当于系数向量的卷积.其实道理也很简单,卷积运算实际上是分别求 x*x*x ,x*x,x,1的系数,也就是说,他把加法和求和杂合在一起做了。(传统的办法是先做乘法,然后在合并同类项的时候才作加法)以x*x的系数为例,得到x*x,或者是用x*x乘5,或者是用3x乘2x,也就是


2 3 1

_ 2 5

6+5=11


其实,这正是向量的内积.如此则,卷积运算,可以看作是一串内积运算.既然是一串内积运算,则我们可以试图用矩阵表示上述过程。

[ 2 3 1 0 0 0]

[ 0 2 3 1 0 0]==A

[ 0 0 2 3 1 0]

[ 0 0 0 2 3 1]

[0 0 2 5 0 0]' == x

b= Ax=[ 2 11 19 10]'


采用行的观点看Ax,则b的每行都是一个内积。A的每一行都是序列[23 1]的一个移动位置。显然,在这个特定的背景下,我们知道,卷积满足交换,结合等定律,因为,众所周知的,多项式的乘法满足交换律,结合律.在一般情形下,其实也成立.


在这里,我们发现多项式,除了构成特定的线性空间外,基与基之间还存在某种特殊的联系,正是这种联系,给予多项式空间以特殊的性质.


在学向量的时候,一般都会举这个例子,甲有三个苹果,5个橘子,乙有5个苹果,三个橘子,则共有几个苹果,橘子。老师反复告诫,橘子就是橘子,苹果就是苹果,可不能混在一起。所以有(3,5)+(5,3)=(8,8).是的,橘子和苹果无论怎么加,都不会出什么问题的,但是,如果考虑橘子乘橘子,或者橘子乘苹果,这问题就不大容易说清了。


又如复数,如果仅仅定义复数为数对(a,b),仅仅在线性空间的层面看待C2,那就未免太简单了。实际上,只要加上一条(a,b)*(c,d)=(ac-bd,ad+bc)。则情况马上改观,复变函数的内容多么丰富多彩,是众所周知的。另外,回想信号处理里面的一条基本定理,频率域的乘积,相当于时域或空域信号的卷积.恰好和这里的情形完全对等.这后面存在什么样的隐态联系,需要继续参详.


从这里看,高等的卷积运算其实不过是一种初等的运算的抽象而已.中学学过的数学里面,其实还蕴涵着许多高深的内容(比如交换代数)。温故而知新,斯言不谬.其实这道理一点也不复杂,人类繁衍了多少万年了,但过去n多年,人们只知道男女媾精,乃能繁衍后代。精子,卵子的发现,生殖机制的研究,也就是最近多少年的事情。


孔子说,道在人伦日用中,看来我们应该多用审视的眼光看待周围,乃至自身,才能知其然,而知其所以然。


参考资料

http://hi.baidu.com/a__g/blog/item/10873722cab331ac4723e8f7.html

http://blog.chinaunix.net/u2/76475/showart_1682636.html


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 离散卷积
    +关注

    关注

    0

    文章

    2

    浏览量

    1374
收藏 人收藏

    评论

    相关推荐

    三角脉冲信号的卷积

    简 介: 根据信号与系统答疑过程中,学生对于三角形信号卷积结果的疑惑,给出了相应的数值、理论、以及频谱分析的解答。特别是后面频谱分析部分也是由另外参加答疑的同学提出的。之所以这个题目会产生
    的头像 发表于 12-18 16:19 888次阅读
    三角脉冲信号的<b class='flag-5'>卷积</b>

    卷积神经网络主要包括哪些 卷积神经网络组成部分

    卷积神经网络主要包括哪些 卷积神经网络组成部分 卷积神经网络(CNN)是一类广泛应用于计算机视觉、自然语言处理等领域的人工神经网络。它具有良好的空间特征学习能力,能够处理具有二维或三维形状的输入数据
    的头像 发表于 08-21 17:15 1094次阅读

    卷积神经网络基本结构 卷积神经网络主要包括什么

    卷积神经网络基本结构 卷积神经网络主要包括什么 卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习模型,广泛用于图像识别、自然语言处理、语音识别等领域
    的头像 发表于 08-21 16:57 4727次阅读

    卷积神经网络算法三大类

    卷积神经网络算法三大类 卷积神经网络(Convolutional Neural Network,简称CNN)是一种常用的人工神经网络,它的主要应用领域是图像识别和计算机视觉方面。CNN通过卷积
    的头像 发表于 08-21 16:50 846次阅读

    卷积神经网络算法是机器算法吗

    卷积神经网络算法是机器算法吗  卷积神经网络算法是机器算法的一种,它通常被用于图像、语音、文本等数据的处理和分类。随着深度学习的兴起,卷积神经网络逐渐成为了图像、语音等领域中最热门的算法之一。
    的头像 发表于 08-21 16:49 517次阅读

    卷积神经网络的介绍 什么是卷积神经网络算法

    卷积神经网络的介绍 什么是卷积神经网络算法 卷积神经网络涉及的关键技术 卷积神经网络(Convolutional Neural Network,CNN)是一种用于图像分类、物体识别、语
    的头像 发表于 08-21 16:49 1425次阅读

    卷积神经网络层级结构 卷积神经网络的卷积层讲解

    卷积神经网络层级结构 卷积神经网络的卷积层讲解 卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的神经网络模型,在许多视觉相关的任务中
    的头像 发表于 08-21 16:49 4382次阅读

    卷积神经网络的基本原理 卷积神经网络发展 卷积神经网络三大特点

    卷积神经网络的基本原理 卷积神经网络发展历程 卷积神经网络三大特点  卷积神经网络的基本原理 卷积神经网络(Convolutional Ne
    的头像 发表于 08-21 16:49 1435次阅读

    卷积神经网络三大特点

    卷积神经网络三大特点  卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,其具有三大特点:局部感知、参数共享和下采样。 一、局部感知 卷积神经网络
    的头像 发表于 08-21 16:49 3577次阅读

    卷积神经网络概述 卷积神经网络的特点 cnn卷积神经网络的优点

    卷积神经网络概述 卷积神经网络的特点 cnn卷积神经网络的优点  卷积神经网络(Convolutional neural network,CNN)是一种基于深度学习技术的神经网络,由于
    的头像 发表于 08-21 16:41 1931次阅读

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法 卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的人工神经网络,是深度学习技术的
    的头像 发表于 08-17 16:30 913次阅读

    FFT卷积是什么?FFT卷积基本过程描述

    信号与系统基础之卷积定理:频域乘积相当于时域卷积,千万不要问我什么,可以去看看教材上的公式推导。
    的头像 发表于 07-04 11:42 1644次阅读
    FFT<b class='flag-5'>卷积</b>是什么?FFT<b class='flag-5'>卷积</b>基本过程描述

    深度学习中的各种卷积原理解析

    从技术上讲,信号处理中的去卷积卷积运算的逆运算。但这里却不是这种运算。因此,某些作者强烈反对将转置卷积称为去卷积
    发表于 07-01 10:24 551次阅读
    深度学习中的各种<b class='flag-5'>卷积</b>原理解析

    卷积神经网络结构组成与解释

    来源:机器学习算法那些事卷积神经网络是以卷积层为主的深度网路结构,网络结构包括有卷积层、激活层、BN层、池化层、FC层、损失层等。卷积操作是对图像和滤波矩阵做内积(元素相乘再求和)的操
    的头像 发表于 06-28 10:05 2076次阅读
    <b class='flag-5'>卷积</b>神经网络结构组成与解释

    卷积—幽默笑话卷积

    和大侠简单聊一聊卷积,话不多说,上货。 关于卷积,之前在大学时候学信号与系统的时候就感觉理解的不是很深刻,我于是心想一定要把卷积完全搞明白。经过一段时间的思考之后,有一些很有趣的体会和大家
    发表于 05-25 18:08