从信号处理认识卷积
跟随祖师爷奥本海姆学的。
1. 线性时不变系统
线性时不变系统具有这样的特性: 对输入的线性组合的响应是单个响应的相同的线性组合。时不变性的性质表明系统对时间原点不敏感。更具体地说,如果输入在时间上移动了一定的量,那么输出也简单地移动了相同的量(系统对输入的处理不随时间变化)。

线性的重要性体现在,对于系统输入信号可以分解为一些线性组合的基本的输入信号,那么响应可以被构造成对应每一个基本输入的线性组合。
信号(或函数)可以以多种方式分解为基本信号的线性组合。例如,我们可以考虑用多项式形式表示一个函数的泰勒级数展开式。然而,在我们处理信号和系统的背景下,在展开式中选择基本信号是特别重要的,以便在某种意义上响应易于计算。对于线性和时不变的系统,有两个特别有用的选择来处理这些基本信号:延迟脉冲和复指数 。
由于任意序列可以表示为延迟脉冲的线性组合,因此线性时不变系统的输出可以表示为系统对延时脉冲响应的相同线性组合。具体来说,由于时不变性,一旦已知一个脉冲在任意时间点的响应,那对任意时间点下一个脉冲的响应也是已知的。
(看完全文再来看这段)在连续时间条件下进行卷积时,过程与离散时间条件下基本相同,只是在连续时间条件下,信号首先被表示为窄矩形的线性组合(基本上是时间函数的阶梯逼近)。当这些矩形的宽度变得无穷小时,它们的行为就像脉冲。这些矩形的叠加形成极限形式的原始时间函数变成了一个积分,将一个线性时不变系统的输出表示为延时脉冲响应的线性组合也变成了一个积分。得到的积分被称为卷积积分,在其性质上类似于离散时间信号和系统的卷积和。
2. 单位脉冲信号
2.1 离散时间信号
离散时间单位阶跃和单位脉冲序列。

2.2 连续时间信号
将连续时间单位脉冲解释为具有单位面积且脉冲宽度接近零的矩形脉冲的极限形式。

3. 离散时间信号的输出响应
3.1 输入信号的分解
将一个一般的离散信号表示为加权的,延迟的单位脉冲的叠加。首先要明确这里的\delta[n-k]是什么意思——延时k时刻的脉冲函数,其在k时刻值为1,其他时刻值为0。

3.2 输入信号的响应
这里的信号组合是指将刚才分解的信号的响应进行求和,即将系统输出表示为延时单位脉冲响应的加权和。
此时的x[0],x[1],x[-1],x[-2]相当于一个权重,下图中分别对应0时刻,1时刻…的乘以权重的脉冲响应,对于线性时不变系统的输出就是它们之和。至于为什么某一时刻的脉冲响应是很多点,这主要是因为研究的系统是记忆系统 。

下图中\delta[n-k]的响应为h_k[n],即从第k时刻开始的响应函数,一般记作h[n-k]。

3.3 小结
对于x[n]这个离散时间信号,我们求其响应的过程分解成了一系列延时脉冲的线性组合,从而得到线性时不变系统的响应表达式,这称为卷积 ;如果把输入分解成复指数的线性组合,就对应着傅里叶分析 。
这就完成了一个转化,把求一个陌生输入信号响应的过程转化成了我们熟悉的求延时单位脉冲响应的加权和的问题。
4. 连续时间信号的输出响应
4.1 输入信号的分解
将连续时间信号近似为加权、延迟、矩形脉冲的线性组合。图中的\delta_\Delta[t]意思是,在\Delta这个微小区间内,\delta[t]的函数表达式。

关键是如何理解下图中的t和τ,可以看到τ对应着积分前的k\Delta,所以\delta[t-τ]是延时τ的脉冲函数,而t对应着x(t)中的t,意味着信号的输入持续到 t时刻,我们此时关注t时刻的响应,而因为系统是具有记忆性的,t时刻的输出响应也和t时刻之前的输入有关。通过这个含有延时脉冲函数的积分表达式表示原来输入信号x(t),两者是等价的。

4.2 输入信号的响应
在线性时不变系统中有:

4.3 小结
分析下上图的推导过程:
- 首先列出新得到的由延时脉冲表示的输入信号;
- 对于线性系统,原来x(t)对应的输出可以由求和项中的每一项对应的输出响应再加权求和得到,即\delta_\Delta(t-k\Delta)的响应为h_{k\Delta}(t)(延时k\Delta的脉冲响应);
- 利用系统的时不变性,延时k\Delta再有一个脉冲信号\delta(t)输入和在源信号输入点(可以认为0时刻处)输入一个\delta(t-k\Delta)的效果是一模一样的,所以响应h_{k\Delta}(t)=h_{O}(t-k\Delta)。
为什么 \delta_\Delta(t-k\Delta)的响应首先表示成了h_{k\Delta}(t)而不是直接表示成h_{O}(t-k\Delta)?
应该这样表示是更加顺理成章的,\delta_\Delta(t-k\Delta)代表延时(k\Delta)的脉冲信号,而其他时刻都是0,在图像显示的就是(k\Delta)时刻开始的响应函数,相当于将函数h_{O}(t)进行了平移,而通常首先得到的函数是没有进行平移的函数h_{O}(t)。
上面的分析的结果就是卷积运算,算是对卷积的由来梳理了一遍。总之要有这样的观念:某个时刻的系统输出不仅与当前时刻的输入有关也受之前时刻的输入影响,我们要求一个系统对任意一个信号的响应,只需知道它对单位脉冲的响应就行。
5. 另一种角度思考
下面是祖师爷原话。
大家想想我们已经把连续函数分解成各个矩形,然后每一个这种矩形分别产生一个单个响应然后这些单个响应被叠加在一起,当我们讨论这一过程时,我们通过近似法用这些矩形来表示一条光滑曲线。我再次强调一下这里定会有很多考点,但是思考一下我们已经做的很有意义的事情,我们已经成功做到能利用线性和时不变性将系统表示成0时刻的脉冲信号经过该系统后的响应,所以对于一个线性时不变系统这其实是相当神奇的,如果你知道它对一个在t=0或n=0时的脉冲信号的响应(这取决于是离散时间系统还是连续时间系统),然后实际上根据离散时间系统的卷积和,或者连续时间系统的卷积积分得到对应于任意输入的响应。
将卷积积分解释为输入表示法中每个矩形脉冲的响应的叠加,如下图所示。

离散时间LTI(inear time-invariant systems )系统(线性时不变系统)的卷积和与连续时间的卷积积分的比较。

计算一个单位阶跃输入和一个系统脉冲响应 的卷积和。这个系统脉冲响应是n> 0的衰减指数。已知一个在n=0时的脉冲信号的响应函数,通过平移,对称可以得到n\neq0下的脉冲信号的响应函数,然后再根据离散时间系统的卷积和得到对应于任意输入的响应。这里也印证了4.3小结的内容。这里的意思直接看最后的结论部分。

计算连续时间下的一个单位阶跃输入和一个系统脉冲响应 的卷积积分。这个系统脉冲响应是n> 0的衰减指数。

想不清楚的时候就回到上面的信号分解处理过程。
也可以再听祖师爷亲自讲Here。
6. 结论
总之,在信号处理中,我们已知任意一个输入信号假设为x(t),和系统对单位脉冲的响应h_O(t),现在系统对x(t)的响应就可以表示为y(t)=\int_{-\infin}^tx(\tau)h_O(t-\tau)d\tau=x(t)*h_O(t)。
我们用图像表示这个过程。
先将h_O(\tau)沿着y轴对称,接着向右平移t,得到h_O(t-\tau),如下图所示。然后将不断平移的h_O(t-\tau)与输入信号x(t)图像重叠的部分,微小区间内进行相乘求和运算。

我们将t换成具体的数字来看卷积的过程。当x(\tau)=1时,y(t)=\int_{-\infin}^th_O(t-\tau)d\tau,随着t的变化,其实就相当于不断对h_O(t-\tau)进行积分运算。

