卓晴老师,我一直没想明白一个问题,为什么卷积要先反转再滑动呢?不翻转为什么不行?
▲ 孔乙己:回字有四种写法|插图来自网络
的确,对于两个信号之间的卷积运算,可以理解为对其中任意个信号进行“反褶”、“平移”、“相乘”、“积分(累加)”,最后得到卷积结果:
相比之下,相关运算就没有其中的“反褶”部分。但是,对于复值信号,需要对后面的信号取共轭[1]
卷积运算满足一些代数性质,比如交换律、结合律、分配率,但相关运算不满足。
到现在为止,我们只是讨论了这两个运算究竟哪里不一样,即卷积需要先反褶,再滑动,而相关运算不需要反褶。但你还在问第二个问题:不反褶不行吗?
首先,如果参与运算两个实数信号中,有一个信号为偶函数,那么它们的卷积运算就和相关运算相同了。即可以不进行反褶。但为什么要引入带有反褶运算的卷积呢?
在应用中,相关运算主要描述的是信号与信号之间的相似关系,而卷积运算描述的是信号与系统之间的关系。
相关运算中的核心积分运算是描述了两个信号之间的内积:
在线性空间中也可以引出两个信号之间的相似程度的度量,相关运算的结果反映了两个信号之间在不同的延迟情况下的相似性。因此可以通过寻找相关结果的峰值确定两个信号之间的延迟关系。
卷积则是刻画了一个线性时不变系统的零状态响应与系统的输入信号和系统的单位冲激响应信号之间的关系。利用信号可以分解成冲激信号的叠加:
在利用系统的线性+时不变特性,可以得到系统的输出就等于的卷积。
这其中的简单推导在任何一本讲解信号与系统教材中都有。因此引入带有反褶的卷积运算是为了刻画信号与系统之间的关系的。
正是由于引入了卷积运算,所以对于任何一个线性时不变系统,都可以将其与一个信号(系统的单位冲激响应)一一对应起来。信号与系统达到了完美的统一。
由此,你可能还要问:为什么系统的响应中,输入 x(t)需要与单位冲激响应 h(t)进行卷积运算?,只是进行相关不行吗?
进行相关运算时,参与运算的两个信号是对等的,它们的变量都反映了信号随着时间的过程演变的情况。但进行卷积运算时,其中一个信号是系统的单位冲激响应,运算结果中的变量反映了系统输出结果所在的时刻,站在时刻,考察输入信号的不同时间的取值是如何累计出系统的输出的。因此,对于信号而言,它们的变量是,而不是。
对于时刻的信号所产生的结果,只需经过延迟的时间,便到达了时刻了,即。将所有的所产生的结果进行积分,便可以得到系统在时刻的取值了。
文字显得枯燥,一图抵千言。下面是郑君里[2]教授的教材中对此进行的图片描述。还是挺形象的。
▲ 信号的分解与系统的零状态响应
在中国科学网[3]也有很多教授对系统输出的卷积运算中的反褶进行了很好的讨论,比如曹广福老师在我来说卷积
中,讨论了连续和离散时间卷积运算,并把离散卷积看成级数运算。许志强在卷积是什么?
的博文中,将卷积看成加权平均积。王一哲在卷积的理解及应用
中给出了很多图形方面的解释。
所以,你提到的卷积运算中的奇怪的反褶过程,实际上引起过很多人的疑问以及对此的讨论。
可能最后,你还要问:既然,卷积运算和相关运算这么相近,为什么非要定义这个卷积,直接就定义成反褶+相关不就行了吗?
这个话就长了,虽然根据 奥卡姆剃刀原理
[4],可以尽可能减少概念、定理的数量来满足数学上的精简需求。但在工程中,人们还是喜欢偷懒。更有甚者,还采用挂羊头,卖狗肉的做法,对一些本质相同的运算,委以不同的名称,虽然还达不到扰乱视听的,但也是一种约定俗称,比如像 离散周期序列傅里叶级数分解(DTFS)、离散傅里叶变换(DFT)、 快速傅里叶变换(FFT)**本质上的数学概念是一样的。
这样也没什么不好的,就连孔乙己都知道“回”字有四种写法[5]呢。
▲ 康熙字典中的四种回字写法
参考资料
[1]共轭: 复数呈现共轭关系是指它们的实部相同,虚部相反
[2]郑君里: 937 年至 2019 年 4 月 14 日),1961 年毕业于清华大学无线电系。曾任清华大学电子工程系教授、通信与信息系统专业博士生导师。中国电子学会电路与系统学会委员、中国神经网络委员会委员。
[3]中国科学网: http://www.sciencenet.cn/
[4]奥卡姆剃刀原理:https://baike.baidu.com/item/%E5%A5%A5%E5%8D%A1%E5%A7%86%E5%89%83%E5%88%80%E5%8E%9F%E7%90%86/10900565?fr=aladdin
[5]回字有四种写法: https://guoxue.ifeng.com/a/20161210/50395689_0.shtml