首页 > 编程知识 正文

数字信号处理卷积公式,信号与系统卷积图解法

时间:2023-05-05 16:25:35 阅读:107537 作者:2932

3359 www.zhi Hu.com/question/22298352

卷积的混乱卷积这个概念,我从以前就开始学了,但是很难理解。 教科书通常有定义,有很多性质,用实例和图形进行说明,但往往不知道为什么是这样设计、那样计算的,其背后的意义是什么。 作为一个学习物理的人,如果不能给出一个公式与实际直观相联系的通俗易懂的说明,也就是背后的“物理”的意义,就会觉得有什么东西不够,而不是真的明白。

教科书中一般定义的函数卷积如下。

连续形式:

离散形式:

另外,还说明了先反转g函数相当于在轴上使g函数从右边向左边打褶,即卷积“缠绕”的由来。

然后,将g函数平移到n,在该位置上将两个函数的对应点相乘并相加。 这个过程是卷积的“积”的过程。

这只是从计算的方法上说明了公式,在数学上无可挑剔,但进一步深究,为什么要反转后平移,这样设计有什么意图? 果然有点费解。

众所周知,已有不少热心网友举例说明了榻榻米卷地毯、扔骰子、耳语、存钱等诸多印象。 读起来觉得非常生动有趣,仔细想想,还有没有解释的地方,可能有缺陷。 或者也许可以改善(这些稍后会进行分析)。

带着问题想了两个晚上,觉得终于有几个问题可以接受了,所以写出来和网友分享,一起学习提高。 错误的地方欢迎评论。

这篇文章主要想说明两个问题。

1 .卷积这个名词怎么解释? “卷”是什么意思? “积”是什么意思?

2 .卷积背后的含义是什么? 我该怎么解释?

的应用场景,为了更好地理解这些问题,首先给出两个典型的应用场景。

1 .信号分析

输入信号f(t )在经过了可以用单位冲击响应函数g(t )来记述线性系统之后,输出的信号应该是什么? 实际上可以通过卷积运算得到输出信号。

2 .图像处理

输入一张图像f(x,y ),对特定设计的卷积核g ) x,y )进行卷积处理,可以获得输出图像模糊、边缘强化等各种效果。

卷积的理解卷积这个名词的理解:两个函数的卷积本质上是指将一个函数反演后滑动重合。

连续时,重合是指两个函数的乘积的积分,离散时为加权相加,为简明起见统称重合。

总体来说,似乎是这样的过程:

翻转——幻灯片3354叠加——幻灯片——叠加——叠加——幻灯片——叠加—— .

多次滑动得到的一系列重合值构成了卷积函数。

卷积的“音量”、的函数的反转、从g(t )变成g )-t )的过程,另外,“卷”中也有为了滑动而玩的哈密瓜。 采纳了网友的lcddfs建议。 如果把卷积翻译成“褶”,这个“褶”字只有反转的意思。

卷积的“积”是指积分/加权加法。

虽然有些文章只强调了幻灯片的重合合计,没有说函数的反转,但我认为是不完整的; 有些文章对“卷”的理解其实是“积”,应该是张冠李戴。

理解卷积的含义:

1 .从“乘积”过程中可以看出,我们得到的叠加值是一个全局概念。 以信号分析为例,卷积的结果不仅与当前时刻的输入信号的响应值有关,还与过去所有时刻的输入信号的响应有关,并考虑了对过去所有输入的效果的累积。 在图像处理中,卷积处理的结果实际上是考虑到各像素周围、以及整个图像的像素,对当前像素进行了某些加权处理。 因此,“乘积”是一个全局概念,或者是将两个函数在时间或空间上混合的“混合”。

2 .那么为什么要进行“卷”? 直接乘法不好吗? 我的理解是,进行“卷”(反转)的目的,实际上是在“积”时施加指定参照什么的制约。 对于信号分析场景,指定在哪个特定时间点前后进行“积”;对于空间分析场景,指定在哪个位置附近进行累积处理。

以下列举几个例子,说明为什么要反转,以及重复加法的意义。

例1 )信号分析如下图所示,输入信号为f(t ),随着时间变化。 系统响应函数为g(t ),图中的响应函数随着时间呈指数下降,其物理意义为,当t=0时有输入时,该输入随着时间的经过逐渐衰减。 换句话说,时刻t=T时,时刻t=0的输入f(0)的值衰减为f )0) g ) t )。

考虑到信号是连续输入的,也就是说,每个时刻都会有新的信号进来。 因此,最终输出的是之前输入的所有信号的累积效果。 如下图所示,在时刻T=10时,输出结果与图中的整个带标记区域有关。 这里,f(10 )是刚输入的,所以其输出结果应该是f ) 10 ) g )0)。 另一方面,时刻t=9的输入f )9)只经过了1小时单位的衰减,所以应该是f )9) g )1)。 这样,成为图中虚线所示的关系。 将这些对应点相乘并累积的是时刻T=10的输出信号值,结果也是时刻T=10的f和g的两个函数的卷积值。

很明显,上面的对应关系看起来很难看,被拧进去了,所以我

们把g函数对折一下,变成了g(-t),这样就好看一些了。看到了吗?这就是为什么卷积要“卷”,要翻转的原因,这是从它的物理意义中给出的。

​​上图虽然没有拧着,已经顺过来了,但看上去还有点错位,所以再进一步平移T个单位,就是下图。它就是本文开始给出的卷积定义的一种图形的表述:

​​所以,在以上计算T时刻的卷积时,要维持的约束就是: t+ (T-t) = T 。这种约束的意义,大家可以自己体会。

例2:丢骰子

在本问题 如何通俗易懂地解释卷积?中排名第一的 xhdxh在中举了一个很好的例子(下面的一些图摘自xhdxh的文章,在此表示感谢),用丢骰子说明了卷积的应用。

要解决的问题是:有两枚骰子,把它们都抛出去,两枚骰子点数加起来为4的概率是多少?

​​分析一下,两枚骰子点数加起来为4的情况有三种情况:1+3=4, 2+2=4, 3+1=4

因此,两枚骰子点数加起来为4的概率为:

​​写成卷积的方式就是:​

​​在这里我想进一步用上面的翻转滑动叠加的逻辑进行解释。

首先,因为两个骰子的点数和是4,为了满足这个约束条件,我们还是把函数 g 翻转一下,然后阴影区域上下对应的数相乘,然后累加,相当于求自变量为4的卷积值,如下图所示:

​​进一步,如此翻转以后,可以方便地进行推广去求两个骰子点数和为 n 时的概率,为f 和 g的卷积 f*g(n),如下图所示:​

​​由上图可以看到,函数 g 的滑动,带来的是点数和的增大。这个例子中对f和g的约束条件就是点数和,它也是卷积函数的自变量。有兴趣还可以算算,如果骰子的每个点数出现的概率是均等的,那么两个骰子的点数和n=7的时候,概率最大。

例3:图像处理

还是引用知乎问题 如何通俗易懂地解释卷积?中 xhdxh的例子。图像可以表示为矩阵形式(下图摘自xhdxh的文章):

对图像的处理函数(如平滑,或者边缘提取),也可以用一个g矩阵来表示,如:

注意,我们在处理平面空间的问题,已经是二维函数了,相当于:

那么函数f和g的在(u,v)处的卷积 该如何计算呢?

​​首先我们在原始图像矩阵中取出(u,v)处的矩阵:

然后将图像处理矩阵翻转(这个翻转有点意思,不是延x轴和y轴两个方向翻转,而是沿右上到左下的对角线翻转,这是为了凑后面的内积公式。),如下:

可对比下图:

计算卷积时,就可以用 和 的内积:

请注意,以上公式有一个特点,做乘法的两个对应变量a,b的下标之和都是(u,v),其目的是对这种加权求和进行一种约束。这也是为什么要将矩阵g进行翻转的原因。以上矩阵下标之所以那么写,并且进行了翻转,是为了让大家更清楚地看到跟卷积的关系。这样做的好处是便于推广,也便于理解其物理意义。实际在计算的时候,都是用翻转以后的矩阵,直接求矩阵内积就可以了。

以上计算的是(u,v)处的卷积,延x轴或者y轴滑动,就可以求出图像中各个位置的卷积,其输出结果是处理以后的图像(即经过平滑、边缘提取等各种处理的图像)。

再深入思考一下,在算图像卷积的时候,我们是直接在原始图像矩阵中取了(u,v)处的矩阵,为什么要取这个位置的矩阵,本质上其实是为了满足以上的约束。因为我们要算(u,v)处的卷积,而g矩阵是3x3的矩阵,要满足下标跟这个3x3矩阵的和是(u,v),只能是取原始图像中以(u,v)为中心的这个3x3矩阵,即图中的阴影区域的矩阵。

推而广之,如果如果g矩阵不是3x3,而是6x6,那我们就要在原始图像中取以(u,v)为中心的6x6矩阵进行计算。由此可见,这种卷积就是把原始图像中的相邻像素都考虑进来,进行混合。相邻的区域范围取决于g矩阵的维度,维度越大,涉及的周边像素越多。而矩阵的设计,则决定了这种混合输出的图像跟原始图像比,究竟是模糊了,还是更锐利了。

比如说,如下图像处理矩阵将使得图像变得更为平滑,显得更模糊,因为它联合周边像素进行了平均处理:

而如下图像处理矩阵将使得像素值变化明显的地方更为明显,强化边缘,而变化平缓的地方没有影响,达到提取边缘的目的:

对一些解释的不同意见

上面一些对卷积的形象解释,如知乎问题卷积为什么叫「卷」积?中 荆哲 ,以及问题 如何通俗易懂地解释卷积?中 xhdxh 等人提出的如下比喻:


​​其实图中“卷”的方向,是沿该方向进行积分求和的方向,并无翻转之意。因此,这种解释,并没有完整描述卷积的含义,对“卷”的理解值得商榷。

一些参考资料

《数字信号处理(第二版)》整齐的大象,北京大学出版社

《信号与系统引论》 朴素的白昼,应启珩,妩媚的红牛,高等教育出版社

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。