理解卷积是DSP学习者面临的最大挑战。在了解了系统的定义、类型和脉冲响应之后,我们会想知道是否有一种方法可以根据给定的输入信号来确定系统的输出信号。卷积就是这个问题的答案,前提是系统是线性和时不变的(LTI)。 我们首先讨论实信号和具有实冲激响应的LTI系统。复信号和系统的情况将在后面讨论。 实信号的卷积假设我们有一个任意信号。通过以下推理,可以将分解为一系列缩放和移位的单位冲激。我们将与移位了m个样本的单位冲激相乘,由于在除了n=m的地方都等于0,这意味着当n不等于m时,所有的值都会乘以0;而当n等于m时,则乘以1。因此,最终的序列会在n=m处出现一个冲激,其值等于。这个过程在下面的图中清晰地说明了。 这可以用数学符号表示为: 用不同的延迟重复相同的步骤,我们得到 在这一时刻,我们提取了值。因此,如果我们将这种乘法在所有可能的延迟上重复进行,并将所有产生的信号相加在一起,那么得到的结果将是序列本身。 简言之,上述方程说明s[n]可以写成一系列缩放的单位冲激的总和,其中每个单位冲激的幅度为s[m]。这种总和的一个示例如下图所示。 想象一下,当它作为输入提供给具有冲激响应的LTI系统时会发生什么。 这会产生一个输入-输出序列,如下所示: 在上述过程中,我们得到了一个著名的卷积方程,描述了输入经过具有冲激响应的LTI系统后的输出: 上述求和是针对每个n从到进行计算的。在本文中,卷积操作用符号表示, 注意到 这可以通过将代入方程(2)中来验证,从而得到,进而得到。 卷积表示法 请记住,尽管在关于复数的文章中卷积和信号的共轭都用表示,但在上下文中区别总是明显的。当用于卷积时,它会出现在两个信号之间作为一个操作符,例如,。另一方面,当用于共轭时,它会出现在信号的上标位置,例如,。 卷积是一个非常合乎逻辑和简单的过程,但许多DSP学习者可能会因为解释的方式而感到困惑。就像我们在转换信号时所做的那样,我们将描述一种传统方法和另一种更直观的方法。 传统方法 大多数教科书在定义了卷积方程后,建议按照以下步骤来实现它。对于每个单独的时间偏移n, 【翻转】将方程重排为,将冲激响应视为变量m的函数,并围绕翻转得到。 【移动】为了得到时间偏移n的,当n为正时,将向右移动n个单位,当n为负时,将其向左移动。 【相乘】逐点将序列与序列相乘,得到一个乘积序列。 【求和】 将上述乘积序列的所有值相加,得到时间n处的卷积输出。 【重复】 针对每个可能的n值,重复上述步骤。 图中展示了两个信号s[n]=[2 −1 1]和h[n]=[−1 1 2]之间的卷积示例,显示了每个n处的结果。 请注意上面信号表示的变化。实际上,信号s[n]和h[n]是时间索引n的函数,但是在卷积方程中,这两个信号都用时间索引m表示。另一方面,在进行逐点乘积之前,使用n来表示对h[−m]进行的时间移位。输出r[n] 也是时间索引n的函数,这是应用到h[−m]上的移位效果。 接下来,我们转向更直观的方法,这种方法不需要对信号进行翻转。 直观方法 还有另一种理解卷积的方法。实际上,它是建立在推导卷积方程式(2) 的基础上的,即寻找输出r[n]如下: 让我们解决与上图相同的示例,其中s[n]=[2 −1 1]和h[n]=[−1 1 2]。表格如下所示。 这种方法在下图中有所说明。从实现的角度来看,这两种方法之间没有区别。 翻转脉冲响应的奇异情况 《本杰明·巴顿的奇异情况》是一部2008年的美国电影,取材于一个非凡的故事,讲述了一个人倒着生活的惊人经历。他出生时是一个老人,随着时间的推移变得越来越年轻,直到他在死亡时变成了一个婴儿。 将脉冲响应向后运行以执行卷积让我想起了那个故事。与奇异案例不同,DSP历史上存在一个有趣的惯例,将两个信号之间的卷积视为其中一个信号的翻转版本在另一个信号上滑动。混淆之处在于之前描述的直观形成方式不适用于连续时间系统,其中卷积被定义为 很显然,在这种情况下,无法简单地通过缩放的简单偏移来实现。 性质 以下是卷积的一些重要特性。 【长度】从上面的图中我们可以看到,当s[n]和h[n]的长度都是3个样本时,结果信号r[n]的长度为5。这是一个通用规则: 【第一个样本】 结果的第一个样本由以下给出: 由于单个单位冲激δ[n]只能生成一个冲激响应h[n]的实例,单位冲激对冲激响应的卷积结果就是冲激响应本身。这个结果是通用的,对于任何信号s[n]都成立。 复数正弦波的重要性在关于频率响应的文章中,我们提出了两个关于单位冲激输入的频域输出和复数正弦波意义的问题。为了探讨这些问题,让我们用一个实数冲激响应h[n](即)激发一个LTI系统,输入为一个复数正弦波s[n],其中 其中k/N是离散频率的任意值,其范围在[−0.5,+0.5)之间。输出由输入和系统冲激响应的卷积得到,如下: 最后一个等式是根据方程(4)得到的。接着,输出的I和Q分量被表达为: 利用恒等式展开和, 对实数h[n],, 根据复数乘法规则,可以明显看出上述方程是系统的频率响应H[k]和输入复数正弦波s[n]的乘积,如下: 对于复脉冲响应,也存在类似的结果。关于上述方程可能会引起混淆,即如何将时间域信号s[n]与频域信号H[k]相乘。但实际上,这并不是方程的含义。在这里,s[n]不是一个任意的输入信号,而是一个具有离散频率k/N的特定复正弦波。方程的含义仅仅是说,如果以此为输入,系统在离散频率k/N处的频率响应将缩放相同的复正弦波并出现在输出中。明确地说, 从上述方程中可以得出的重要结论是,LTI 系统对其输入处的复正弦波的输出响应实际上就是在相同频率下的相同复正弦波,但振幅和相位可能会有所不同。以下的说明解答了文章开头提出的问题。 为什么要用复杂正弦波? 由于 LTI 系统对复正弦波的响应是相同的复正弦波,只是振幅和相位发生了变化,为了了解 LTI 系统在频域中的响应情况,最合理的方法是用复正弦波在每个可能的频率上探测系统的输入。这意味着形成一个具有N个相等振幅的复正弦波的输入信号。通过这种方式,可以检查系统在所有可用频率分量上的输出振幅和相位,并了解系统如何处理每个可能的复正弦波。频率响应的振幅和相位分别称为振幅响应和相位响应。 从以上讨论中还可以得出一个结论,即系统的时间域脉冲响应和频率域频率响应是等效的两种描述方式。 复信号的卷积将复信号s[n]输入到具有复数冲击响应h[n]的系统中进行卷积,可以通过将方程(2)写成IQ形式来理解。其定义方式与如下类似: 并且可以分解为: 实际计算可以写成: 由于恒等式,I 表达式中的负号表示两个对齐轴项的相位实际上是相加的。显然,该恒等式仅在以上方程中当幅度可以作为公共项提取时才适用,但相位对齐的概念仍然成立。同样,恒等式意味着两个交叉轴项的相位也在 Q 表达式中相加。因此,复杂卷积可以描述为一个过程,其中
这些计算如下图所示。 卷积和频域理解了卷积的直观和数学含义后,我们想要看到这一过程在频域中的解释。具体来说,对于r[n]=s[n]∗h[n]的DFT是什么?为了回答这个问题,我们希望将DFT定义应用于方程式(2)的结果。然而,我们在关于离散傅里叶变换的文章中看到,时间域和频域序列在范围内定义,DFT使用循环移位,这是由于频域采样导致的固有周期性造成的。这导致了循环卷积。 两个信号之间的循环卷积,用 ⊛ 表示,与常规卷积非常相似,只是翻转和时间移位是循环的。 让我们来计算一下结果信号的离散傅立叶变换。我们主要关注实信号,因为处理复信号的推导方式类似。由于在这里我们的信号r[n]是实数信号,所以等于r[n],而等于 0。根据离散傅立叶变换的定义,频域中的I分量可以表达为: 利用这个恒等式 上面的方程可以改写为 由于在这个推导中s[n]和h[n]都是实数,因此,而对于sin(⋅)也存在类似的恒等式, 对于 Q 分量的类似计算得到 将上述两个方程结合起来, 因此,我们得到了一个在大多数数字信号处理应用中被广泛利用的极其重要的结果。 时域卷积相当于频域相乘 对于离散信号,两个信号在时域中的循环卷积等同于这些信号在频域中的相乘。 上述关系适用于实信号和复信号。 逆向关系也是成立的。对于离散信号,两个时域信号的相乘导致它们在频域中的循环卷积。 上述结论实际上是通过对连续信号的常规卷积进行证明得到的。由于我们在这里限制自己只处理离散域,因此我们只涉及循环卷积和对应的离散傅立叶变换。 总结以上以下几点概括了我们迄今为止所学到的内容。
|
|
来自: 西北望msm66g9f > 《培训》