卷积的物理意义_傅里叶变换系列学习(5) ---如何正确理解卷积

本文深入探讨卷积的物理意义,以傅里叶变换系列为背景,详细解释线性时不变系统(LTI)的概念。文章通过离散与连续域的分析,阐述了卷积在信号处理中的作用,揭示了卷积在时间与频率域的关系,并介绍了从离散到连续的转换方法。
摘要由CSDN通过智能技术生成

0e46a8adf545c30436d141461030381f.png

为了进一步阐述傅里叶系列,本章引入了新的知识点,

函数和卷积,为了引入这两个东西,我们又有必要了解一下线性时不变系统(LTI),本章的知识点好像有点多啊。

信号与系统里面的惯例写法:

连续信号:x(t)

离散时间信号:x(nT)

离散信号:x[n]

连续频域:

离散频域:X[n]

以上,n都是整数,其他数是实数。

时域信号都用小写,频域信号都用大写,离散信号用[],非离散信号用()

1. LTI( Linear Time Invariant)

我们只讨论LTI,为什么? 1. 难,一般人研究不了;2. LTI足以应付大部分系统。需要注意的是,如果你在非LTI系统中,那么LTI的特性万万不要轻易使用。

1.1 先看linear

线性,就是线性代数里面的线性。数学家喜欢用公式描述线性变换。

连续信号

对于一个系统,

的响应是
的响应是
,对于输入信号
,如果系统的响应是
,则称系统是线性系统。

离散信号:(把上面的连续信号换成离散信号)

对于一个系统,

的响应是
的响应是
,对于输入信号
,如果系统的响应是
,则称系统是线性系统。

线性的概念,数学上就是输入乘以标量,输出也乘以标量;对于信号来说,输入信号幅度变大多少倍,输出信号也变大多少倍;

线性的概念,还有一个就是叠加的概念;把两个或多个信号叠加,系统的响应等于原先各个信号响应的叠加。

1.2 时不变(Time-invariant)

时不变系统就是系统的响应不依赖于当前的时间。打个比方,我在早晨9点打开电脑,电脑开机,这个响应,跟我晚上10点开机的响应是一样的;电脑不会因为开机的时间不同而响应不同,这就叫时不变。再打个比方,我上午9点开机,系统正常开机;晚上开机的时候,因为电脑进水,开机失败,这样的系统就变成了时变系统了;系统因为时间不一样,对于同一个输入,响应不一样。

数学家还是喜欢用简单就是美的公式描述:

信号

的响应是
,如果
的响应是
,则系统是
时不变系统

对应的

信号

的响应是
,如果
的响应是
,则系统是
时不变系统

离散域的时不变也有的地方称为移不变

当然了,有人会从哲学的高度讲“人不能两次踏入同一条河流”来否认时不变系统。确实,真正的时不变系统只存在于数学公式,现实世界从来都没有严格的时不变系统,因为长期的看,好的必然变坏,生的必然要死去;所以一般都是假设,短期内,系统是时不变系统。

对于系统的其他特性,暂时先不描述,因为暂时没有用到,需要用的时候再描述。

2.

2.1 离散域

信号

先看看离散域的

信号。

离散域的
信号就是一个只在n=0的时候等于1,其他点都等于0的信号,单从数学上看,美得很。

按照定义,对于离散序列x[n], 很容易得到

更进一步,把上面的1换成任意整数:

显然我们可以看到

函数具备的一个明显的特性,筛选特性,筛选想要的序列,滤到其余序列。更一步,我们每次筛选出的序列中的一个,从
筛选到
,然后再把所有筛选出来的累加起来,又得到了原序列。数学表达式就是:

因为

,所以上面的公式进一步写成

来来回回,上面的公式写的就是信号

可以由信号本身与
信号卷积得到。证明过程就在上面,后面我们再看看什么是卷积。

2.2 连续域

函数

当把这个离散域定义得极好信号扩展到连续函数的时候,似乎很难实现。如何定义对于只在0点有值,非0点都是0的函数?在数学上,似乎是一个可去间断点定义成这个样子。这样的定义对于连续函数来说,显然是没有物理意义的。按照这样的定义,函数的能量是0。在连续域里面,因为只有一个可去间断点,所以能量为0。好了,数学家们经过深思熟虑,给了下面的定义:

显然,它是有能量的,但这也是一个相当变态的定义,从积分意义上讲,函数的面积是1,但是它的宽是0,所以这个函数的高应该是无穷大。想象一下,在时间轴上,一个函数, 从

到t=
的时候都是0;t=0的时候,一下子变成无穷大;然后
的时候,这个函数的值又变成了0。
函数就是这么一个函数。

对于这样的函数,在物理上如何实现,又要用极限大法了。定义一个矩形或者是三角形,然后让它的底边长度趋向于0。显然,物理上不存在这样的信号。

在离散域,

信号具备筛选特性;在连续域呢,我们换一个名词,叫做抽样特性。也是类似的

,由于连续域的
函数还有积分为1的特性,所以又有下面的特性

通过

信号,我们可以抽样出函数
在任意时刻的值。

有了

信号,我们可以把x[n],x(t) 和 x(nT)(已量化) 联系起来,离散信号可以又连续信号采样后量化得到(这里暂时忽略一下量化)。

通过采样和量化,连续的模拟信号变成了离散的数字信号,可以通过数字信号的处理方法进行处理,处理完后,再由数字信号重构称模拟信号,这整个过程就是数字信号处理过程。

3.卷积

终于讲到卷积了。卷积好像也是一个学习的难点。

卷积的介绍,还是先从离散域考虑。

3.1 离散卷积

回到2.1节里面描述的公式:

,这个公式显然是成立的,当你把右边的sigma求和展开时,自然等于左边。当时我就说过,这个等式还有一个重要的意义就是它表示一个卷积公式,表示的是序列x[n]和
信号卷积后,还等于自身。

关注这个公式,第一项和第二项的系数和是n,也就是序列x[n]的n,然后等式右边经过卷积运算,k没有了,最后只剩下n。

在此基础上,把序列x[n]输入到系统H,得到的输出是y[n];假设

代入

得到,

因为是线性系统,

表示幅度,所以

,亦即
(这里是因为时不变特性),那么就有了著名的卷积公式:

也可以写成

其中h[n]为系统对

信号的响应,也称h[n]为系统的冲击响应。

下面从字面上解读一下这个公式。

在解读卷积公式之前,先厘清概念,概念不厘清,永远都是稀里糊涂的。

h[n]是表示一个序列还是序列中某个特定的项。对于n的不同理解,卷积的理解也完全不一样。当把h[n]看成一个特定项的时候,有了网上的各种非常精彩的解释,比如掷色子/打肿脸等,核心都是反折,平移,相乘,累加。我再简单重复一遍。

3.1.1 y[n],h[n]标识为某个特定项

在这个前提下,我们举个简单的例子,想象一下下面的图中的输入信号x[n],系统的冲击响应是h[n]。

251f9e300d491a85efa27280125085cc.png

在这个系统中,输入信号有3个有效值,x[0],x[1],x[2]分别表示时刻0,时刻1和时刻2的输入;冲击响应有两个h[0]和h[1],h[0]表示系统0延迟的响应,h[1]表示系统延迟为1的响应。

step 0,计算y[0],我们只需要关注x[0]信号的h[0]的响应x[0]h[0],输入在0时刻,延时为0,所以系统在0时刻的响应y[0]=x[0]h[0];(这里注意到信号的输入时刻与delay的时刻之和为0)

step 1,计算y[1],我们需要关注系统在0时刻的输入x[0]信号,它有一个延迟为1的响应x[0]h[1];系统在1时刻的输入x[1]信号,它有一个延迟为0的响应x[1]h[0];没有其他信号的响应能满足在时刻1有输出,所以y[1]=x[0]h[1]+x[1]h[0](这里注意到信号的输入时刻与delay的时刻之和为1)

step 2,计算y[2],0时刻的输入,由于没有delay为2的响应,所以0输入就不用考虑了;对于时刻1的输入,它的0 delay的响应,显然不会在时刻2到达系统,而对于它的1 delay的响应则对y[2]有贡献x[1]h[1];对于时刻2的输入,它的0 delay的响会在时刻2有输出有贡献,贡献值是x[2]h[0];此外没有其他信号的响应能满足在时刻2有输出,所以y[2]=x[1]h[1]+x[2]h[0](这里注意到信号的输入时刻与delay的时刻之和为2)

step3,以此类推,我们可以得到y[3]=x[2]h[1]+x[3]h[0]。

更进一步,对于时刻n,对该时刻有贡献的响应是...,

,
,
,
,...,
,...,累加起来也就是

3.1.2 y[n],h[n]标识为序列

  1. 在这里,n是一个变量,所以x[n]是一个序列,其他的符号,比如x[k],就认为是某个特定的项。
  2. 有了第一条,我们再看x[n-k],这就是把序列x[n]延时k个单位;相反,x[n+k]就是x[n]序列提前。

c258e8eed3bf8b45f2909c5250df9b8c.png

再来看公式

,从时刻0开始算起,x[0]表示0时刻,强度为x[0]的冲击信号,因为
的冲击响应是h[n],那么强度为x[0]的冲击信号所产生的响应就是x[0]h[n];类似的,x[k]表示k时刻的强度为x[k]的冲击信号,它的响应比如也是要延迟k的单位,即x[k]h[n-k];由数学归纳大法,我们就可以把所有信号的响应都加起来
,...,
,....,即

举个栗子

对于某个系统,冲击响应是

,也就是一个冲击,经过系统后变成了两个冲击 。

依旧使用上面的x[n],然后

,我们一步步的做乘法,然后做加法,得到下面的图片。

46d62169237dddcd456b92a1a4caf066.png

从上面的图中,我们可以看到,x[0]h[n-0]计算得到的是y[0]和y[1]的一部分,x[1]h[n-1]计算得到的是y[1]和y[2]的一部分。可见,在不同前提条件下,对同一个公式我们有不同的理解。真正理解后,其实会发现,两种理解本质是一样的。

换个视角

对于输入时h[n],冲击响应是x[n]的系统,它的输出y[n]是什么?

f38d56f32fa80bce043ad145ad88a89b.png

相当于我们再次复习了一遍图解的过程,大家欣喜的看到

这就是卷积的交换律。

其实,数学家不需要画这么多图,数学家最擅长的就是公式变换,且看:

,令m=n-k,则k=n-m,代入就得到
,所以

简单就是美,数学家从来不需要多余的东西。

另外,对于长度是M和N的序列,卷积后,长度是M+N-1,比如上面的例子,M=2,N=3,卷积后序列有效长度是4。证明很简单,对于长度为M的序列,它需要delay (0次,1次,...,N-1次),最终长度就是M+N-1。

下面再看连续域

3.2 连续卷积

3.2.1 定义

这个小节,我们从定义出发。

对于系统H,

的响应是
,记为

相应的,对于

,系统的响应是

在2.2小节,我们得到了

,在这里继续运用一下数学的小技巧,尝试一下代换:
,我们得到
,由于
,所以

,代入到
就得到

因为我们的系统是线性的,

表示幅度,所以有

又因为我们的系统是时不变的,并且

,所有
,所以继续有

上面的公式就是连续域的卷积公式。

3.2.2 离散到连续,运用极限大法

,先回顾离散公式。换成连续域的时候,我们把输入x[n]序列中的特定项x[k]换成高
宽度为
的小脉冲。对于离散的冲击响应
,它的输入是面积为1的
信号;对应到连续域,我们把面积为1的连续
信号,它的冲击响应是
,所以对照离散公式,一一替换,我们就可以得到
,令
,即可得到

更进一步,如果系统是因果系统(在没有输入的情况下,没有输出,这样的系统就是因果系统),因果系统的t时刻的输出不取决于t时刻之后的输入。

在因果系统下,

这个公式可以这样记忆:系统某个时刻的输入

,对于这个输入相对于时刻0已经delay了
个时间单位,因此它的响应也应该delay相同的时间,就是
,把所有的时刻的输入累加求和,即得。

这个记忆方法,其实,跟我在3.1.2中描述离散卷积的方法,一样。

下次再撩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值