【转】卷积的本质及物理意义(全面理解卷积)

转自:卷积的本质及物理意义(全面理解卷积)_彼岸花-CSDN博客_卷积的物理意义

卷积的本质及物理意义

提示:对卷积的理解分为三部分讲解1)信号的角度2)数学家的理解(外行)3)与多项式的关系

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(<t)时刻的输入对输出的影响通常可以表示为x(t)h(t-t1),这个过程可能是离散的,也可能是连续的,所以t时刻的输出应该为t时刻之前系统响应函数在各个时刻响应的叠加,这就是卷积,用数学公式表示就是

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://blog.chinaunix.net/u2/76475/showart_1682636.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对象结构

根对象&#xff1a;领域模型中的聚合根。代表了领域模型中一个完整的领域概念&#xff0c;如订单。子对象&#xff1a;从属于另一个对象&#xff08;父对象&#xff09;&#xff0c;是父对象的一部分。子对象的生命周期小于等于父对象的生命周期&#xff0c;如订单项。友元对象…

【转】pthread mutex 基本用法

转自&#xff1a;pthread mutex 基本用法 | feng 言 feng 语 锁是程序中经常需要用到的机制&#xff0c;尤其是多线程的程序中&#xff0c;如果没有锁的帮助&#xff0c;线程间的同 步就会非常麻烦甚至不可能。pthread中提供了mutex互斥量这种锁&#xff0c;在 linux 下经常 用…

交易机项目工作日志--2013-1-31

今天要在王哥新作的板子上实现关机功能。 当按关机键时&#xff0c;GPH0_1管脚发出中断型号&#xff0c;我检测到后给GPH0_0管脚置高电平来实现关机。 所以在系统启动和运行时&#xff0c;要保证GPH0_0管脚始终维持低电平&#xff0c;否测就关机了。 但开发板提供的bsp有一个电…

【转】软件工程能力漫谈:比质量更重要的,是项目管理能力

转自&#xff1a;软件工程能力漫谈&#xff1a;比质量更重要的&#xff0c;是项目管理能力 | ArchSummit 章淼老师在软件工程能力方面&#xff0c;积累了多年的经验&#xff0c;这个话题他之前也分享过多次&#xff0c;整体上内容有修改调整。 章老师博士毕业后在清华待了 12…

浅尝EffectiveCSharp_1

Item 1: 使用属性,避免可访问的数据成员 Use Properties Instead of Accessible Data Members 属性允许你创建一个想可访问数据的接口,而且仍然有使用方法的所有优点.Properties enable you to create an interface that acts like data access but still has all the benefit…

WINCE驱动编写

一般我们在驱动程序中需用LocalAlloc保留一块存储空间&#xff0c;然后用LocalCopy将I/O端口映射到该地址上&#xff0c;以后就可以访问该保留下来的地址了。 而对中断的处理各种设备不尽相同。如果是一个内置设备&#xff08;Built In&#xff09;&#xff0c;一般在oalintr.h…

【转】DICOM文件格式剖析(初识)

转自&#xff1a;DICOM文件格式剖析&#xff08;初识&#xff09;_MoreThinker的博客-CSDN博客_dicom格式 初识DICOM&#xff08;适合初学者&#xff09; 初识DICOM文件&#xff0c;发现网上的资料有点少&#xff0c;大部分的资料都不全&#xff0c;在这里做一下总结&#xf…

SVN各个状态:A C D M G U R I具体含义

svn status命令查看svn状态 ?&#xff1a;不在svn的控制中 A&#xff1a;add&#xff0c;新增 C&#xff1a;conflict&#xff0c;冲突; tc以他们改得为准 D&#xff1a;delete&#xff0c;删除 M&#xff1a;modify&#xff0c;本地已经修改 G&#xff1a;modify and merGed…

WINCE Driver 心得总结

一&#xff0e; Windows CE的驱动程序的区分 1&#xff0e;从加载以及接口方式来区分 可以分为本机设备驱动&#xff08;Built-In Driver&#xff09;、可加载驱动&#xff08;Loadable Driver&#xff09;以及混合型驱动。 &#xff08;1&#xff09;本机设备驱动 本机设备驱动…

【转】进阶 JavaScript 必知的 33 个点【进阶必备】

转自&#xff1a;进阶 JavaScript 必知的 33 个点【进阶必备】 进阶 JavaScript 必知的 33 个点【进阶必备】 Original 前端小菜鸡之菜鸡互啄 前端开发爱好者 2022-04-11 08:32 收录于话题#javaScript进阶1个 点击下方“前端开发爱好者”&#xff0c;选择“设为星标” 第一…

Struts配置

Struts应用采用两个基于XML的配置文件来配置&#xff0c;分别是web.xml和struts-cofig.xml文件。web.xml文件是配置所有web应用的而struts-config.xml文件是struts专用的配置文件,事实上也是可以根据需要给这个配置文件起其他名称的. Web应用的发布描述文件:web应用发布描述文件…

【转】开发者需要了解的领域特定语言(DSL)

转自&#xff1a;开发者需要了解的领域特定语言&#xff08;DSL&#xff09; - 知乎 领域特定语言是在特定领域下用于特定上下文的语言。作为开发者&#xff0c;很有必要了解领域特定语言的含义&#xff0c;以及为什么要使用特定领域语言。 领域特定语言domain-specific lang…

POJ 2240题(Floyd)

//使用Floyd的变形实现//这就是个套汇的问题&#xff0c;可以用Floyd求最大环&#xff0c;然后判断是不是大于1。#include <cstdio>#include <string>#include <map>using namespace std;map<string,int> MAP;double value[31][31];double rate;double…

【转】自动化构建、自动化部署发布一览

转自&#xff1a;自动化构建、自动化部署发布一览 - 知乎 在软件系统开发的过程中&#xff0c;一个项目工程通常会包含很多的代码文件、配置文件、第三方文件、图片、样式文件等等&#xff0c;是如何将这些文件有效的组装起来最终形成一个可以流畅使用的应用程序的呢&#xff…

承博士:让云计算落地生根的中国云计算平台

2010-01-22 09:48:41 [0评论 ] 金蝶中间件秉承自主创新&#xff0c;努力打造自主知识产权的云计算平台;金蝶Apusic云计算解决方案是为大型企业和组织提供私有云的解决方案&#xff0c;通过云计算中间件平台&#xff0c;为云计算提供落地的务实价值。金蝶中间件与国际厂商合作&…

【转】g++以及gcc的区别

转自&#xff1a;g以及gcc的区别 - 知乎 GCC &#xff0c;gcc 和g&#xff1a; 一直没搞清这几个东西的概念&#xff0c;搜了半天看到了一个不错的解释&#xff0c;所以大致记录一下&#xff0c;以免以后再忘记&#xff0c;链接。&#xff08;原谅没找到原文出处&#xff09;…

Microsoft Windows CE .NET 中的中断体系结构

概述 通过 Microsoft Windows CE .NET&#xff0c;Microsoft 已经升级了 Windows CE 的中断体系结构。该操作系统 (OS) 所具有的处理共享中断的能力极大地扩展了 Windows CE .NET 支持许多中断体系结构的能力。本文从原始设备制造商 (OEM) 和应用程序开发人员的角度探讨了处理…

微软企业库5.0学习笔记(三十三)数据访问模块

前言 鉴于企业库5.0已经发布正式版&#xff0c;同时有广大读者的要求&#xff08;臭屁一下&#xff0c;o(∩_∩)o...&#xff09;&#xff0c;后面文章的内容和代码将基于Enterprise Library5.0和Unity2.0来写&#xff0c;感谢大家的一贯支持。 正文 数据库访问模块都能实现哪些…

ARM中断分析之一:中断控制器和CPU、外设的关系

“中断控制器”也是CPU众多外设中的一个&#xff0c;不同的是&#xff0c;它一方面接收其它外设中断引脚的输入&#xff0c;另一方面&#xff0c;它会发出中断信号给CPU。下图是一张中断控制器外设的框图&#xff0c;s3c2410的框图。 为了把中断控制器、CPU、外设联系起来&…

【转】Jenkins项目常用三种构建类型风格详解

转自&#xff1a;Jenkins项目常用三种构建类型风格详解_ぃ小小宇宙的博客-CSDN博客_jenkins项目类型 Jenkins构建的项目类型介绍 jenkins 的安装配置请参考&#xff1a;《jenkins war包安装部署&#xff0c;tomcatJDKmaven》 Jenkins中自动构建项目的类型有很多&#xff0c;…