前面通过 Ken 与 Roy 的对话,我们知道一个信号(严格而言是周期信号)可以用许许多多的正(余)弦波加在一起来表示。而对于不同的信号,这些正(余)信号波的振幅和频率不尽相同,因此,一个信号实际上对应一系列的振幅和频率,正如前面所述,这个振幅和频率的集合就是所谓的频谱(或者任何你喜欢的可以表示相同意义的名称)。总而言之,有了信号在频域空间上的定义,我们可以讨论许多有趣的问题。今天,我们将介绍信号处理中很重要的概念--滤波。一如既往,问题由 Ken 与 Roy 间的对话来展开。
那么,重新相加起来还是得到 呀
这张图的横坐标是频率(也就是我们的 ),而纵坐标就是幅度(即我们的 )。从图中可见,陏便找一个 , 总有一个 与它对应,因此,这张频谱图总可以描述为 的形式。但有一点要注意,现在 落在坐标轴上,而坐标本身是有数序的,因此, 的在谱中出现的次序是不能随意的。
利用简单的三角和差公式可以展开为
这样,信号就被分解为几个正弦和余弦信号的和。其中,第一项是个常数,可以看作频率为零。第二项的频率显然远小于第二和第三项的频率。现在来考虑一下高低频对原信号的影响,如下图所示
其中,蓝色线表示原信号。右上角的图是去掉高频成份后结果,即
左下角的图是只保留零频(常数)后的情况,即
右下角的图是去掉低频后的情况,即
从图中你看出什么来?
Roy: | 还记得我们说过一个信号可以用许多特定的波形“加起来”来表示吗? |
Ken: | 是的。我们还提到了如何用所谓的正交性来找出这些波形。 |
Roy: | 很好。今天,我们接着说点别的,不妨从频域空间来说起。你还记得什么叫频谱吧! |
Ken: | er...频谱就是频率的集合吗? |
Roy: | “谱”这个词也许比较难懂,但你用了“集合”一词来解释,说明你对谱还是有点概念的。对于“谱”,我们最熟悉的应该是菜谱了吧。菜谱不但止是一些材料的集合,它还给出了组合这些材料的方法。依样画葫芦,我们可以认为谱就是一些“成份与合成方法”的集合。或者说,“谱”是对象或事物按一定形式编排好的东东。 |
Ken: | 那么,频谱是频率的集合不对吗? |
Roy: | 如果加上振幅和“组合”方法就对了。你己经知道一个信号可以用一系列不同频率以及幅度的波形合成的。那么,我们总可以说,而这种波形是正(余)弦波,因此,我们只要给出它的频率和幅度就能表示某个特定的正(余)弦波了(实际上还要有位相,但我们这里忽略了)。假设有这样的一个信号 它可以用下列正弦波表示 看到了吧, 这四组数对是不是确定了四个正弦波? |
Ken: | 是的 |
Roy: | 我们可以进一步认为这四组数对也确定了信号 |
Ken: | 嗯...但这四组数对只确定了吗?它们会不会也可以表示其它信号? |
Roy: | 问得好,这涉及数学上的唯一性问题,我想不必在这里讨论,但你可以想像一下,这四组数对所确定正弦函数的组合方式是固定的,所以就不会组合出其它信号了。 |
Ken: | OK. 这样说来,这四组数对是信号 的另一种表达方式。 |
Roy: | 你说到点子上了!实际上,这些数对的集合就是所谓的频谱。请注意,这些数对能够而且只能够表示信号 ,因此,一个信号只有一个相应的频谱! |
Ken: | 明白了。也就是说如果某东西可以用其它东西的集合来表示,这个集合就叫谱。而对于信号而言,我们刚好找到了它与正(余)弦波之间的关系,而正(余)弦波又是由幅度和频率来确定的,所以用 (幅度, 频率) 的集合就可以表示这个信号了。我们就称这个集合为频谱。 |
Roy: | 就是这样。那么,我再考考你,我们中学里学过,集合元素在集合中的排列位置是任意的,那么频谱中数对的排列位置重要吗? |
ken: | 按理说应该不重要啊。试想想,假设我把信号打乱成下列样子 |
那么,重新相加起来还是得到 呀
Roy: | 没错,看来的确如此。但如果放到坐标系上,次序就不能随意了。 |
Ken: | 不太明白。 |
Roy: | 或者我们先看看下面的频谱图,也许有助你理解问题。 |
这张图的横坐标是频率(也就是我们的 ),而纵坐标就是幅度(即我们的 )。从图中可见,陏便找一个 , 总有一个 与它对应,因此,这张频谱图总可以描述为 的形式。但有一点要注意,现在 落在坐标轴上,而坐标本身是有数序的,因此, 的在谱中出现的次序是不能随意的。
Ken: | 还是不太理解,难道你非要把它放到坐标系里吗?我偏不要坐标系,这是不是就可以忽略那个顺序? |
Roy: | 你当然可以这样做。也就是说只要给我正确的 我总可以给你正确的 。但如果大多数情况下,如果把谱放到坐标系下,令到频率由小到大或由大到小的排列,对于信号的处理是很方便。 |
Ken: | 能举个例子吗? |
Roy: | 先不要急。我们先讨论一个比较有趣的问题。假如我们要为一张人面画像上颜色,画像的轮廓己描出。手上有若干种颜色笔,每种颜色笔不同的粗细。如果要你为画像的不同部分上色,你会怎样挑选画笔? |
Ken: | 这还用说?对于面部这些比较粗糙的部分,用粗的颜色笔来上色;对于头发、皱纹等细微的特征,用细的颜色笔来上色。 |
Roy: | 对,这是小学问题拉。对于一个画家,为了增加立体感,她可能会先为整张画打个底色,然后用不用颜色的粗笔为头像的不同部分上一层颜色,表达基本的轮廓。然后用中等粗细的笔进一步突出深些部分,最后用细笔加工如头发等精细的地方。这样,画面看起来才能明暗有致,立体感突出。 |
Ken: | 是的,但这与我们讨论的问题有什么关系? |
Roy: | 道理是相通的。如果信号本身很宽(就好比画上粗糙的部分),如果你用一些很“窄”(严格上频率很高)的波形来合成它,那可能要非常多的波形才能较好的模拟原来的信号,有些时候甚至无法很好地还原原信号呢。同理,如果信号本身很窄,用一些很“宽”的波形来合成它也是很困难的。想像一下,许多很宽的波形的合成的结果总是一些地方不被能完全消去的,因此很难得到一个很窄的输出。因此,不管原信号如何,我们似乎应该同时使用“窄”波形和“宽”波形,有时甚至要考虑同时使用正弦和余弦波形来合成信号。 |
Ken: | 这不难理解!波形的合成就像填色问题,低频成分“填”出来的东东比较粗糙(宽),高频成分“填”出来的东东比较细致(窄)。 |
Roy: | 定性上可以这样理解。回到我的填色问题上,我们现在改用 photoshop 来处理填色问题,为每一种组细度的画笔建立相应的着色层,这样问题就很清楚了。我们模仿画家的做法,先在底稿上建立一个底色层,加上底色。再建立一个粗笔层,在其上用粗笔大致描出轮廓。接着,再建立一个层,用细一点的笔进行填色。如此类推,不断建立新的层,用更细的笔填色,直到填色完成为止。 |
Ken: | 哈,问题很清楚,你是想说在不同着色层上用不同粗细的笔填色就好像把不同频率的波形“加”起来一样,不同频率成份越多,那么出来的效果就越逼真吧?但是你这个比喻是不是把幅度给忘了呀! |
Roy: | 幅值就好比着色时所用的力度或颜色的深浅,着色时越用力、时间越长当然颜色越深,反之亦然。如果你用粗笔对第一层着色时所加的颜色很深,那么不管你最后用如果细致的画笔、用怎样鲜艳的颜色都会埋没在第一层频色下面的,画面最终只能显示出一个黑压压的轮廓而矣。 |
Ken: | 这样说来,幅值就表示了每一个波形成分对原来的信号的贡献了?如果某个频率的成分的幅值越大,它的贡献就越多。也就是说,如果一个低频的成分其幅值很大,而其它高频成分的幅值相对较小,那么,合成的结果大约就是原来波形的一个轮廓而矣。 |
Roy: | 是的。现在我们不妨用一点数学来简单检证一下。假设有一个信号,其形式如下 |
利用简单的三角和差公式可以展开为
这样,信号就被分解为几个正弦和余弦信号的和。其中,第一项是个常数,可以看作频率为零。第二项的频率显然远小于第二和第三项的频率。现在来考虑一下高低频对原信号的影响,如下图所示
其中,蓝色线表示原信号。右上角的图是去掉高频成份后结果,即
左下角的图是只保留零频(常数)后的情况,即
右下角的图是去掉低频后的情况,即
从图中你看出什么来?
Ken: | 哈哈,这张图很形象地说明了我们刚才讨论的问题。首先,高频部分描述原信号的精细结构(就好比细画笔描出画像的细致部分一样),右下角的部分正好显示出原信号中的弯曲起伏的状况,由于没有了低频,所以整个信号的大致轮廓被抹掉了。而右上角的图恰恰相反,它把高频成份去掉了,剩下的部分刚好是原信号的轮廓起伏(就好像粗画笔把描出图像的轮廓一样)。至于左下角零频图嘛...我不是太理解它的意义! |
Roy: | 如果你细心一点,会发现这个零频刚好是一条位于信号中部的线,用物理的述语来讲,它表示整个信号的平均能量(严格上讲它的平方才是能量)。你看不是吗,它的上方与下方有的地方凸起,有的地方凹下,所以平均起来就是一条线。在我们的着色例子中,它就相当于画家在绘画着色时所打的底色,这个底色反映了整幅画的基本色调,而且处处都是一样的,与所用的颜色笔的粗细没关联,这不是很形像吗? |
Ken: | 的确很形象。而且还可以找到如下类比,在上面谈到的 photoshop 着色问题中,如果我们把粗笔的着色层隐藏掉,则会显示出一些没有轮廓的细致线条;相反,如果把细笔的着色层隐藏起来,则会显示出一幅只带轮廓的图像。如果把所有着色层都屏蔽起来,则显示只包含纯色的底色层了。这就好比上面的几张图了。 |
Roy: | 是的,过程就是这样。现在,如果你要简单地验证一下上面所述的幅度对信号的贡献问题,你会怎样做? |
Ken: | 这很简单,我们可以先把上例子中的 的高频成份的幅值减小,把低频成份的幅值增大,合成信号中的细致特征应该会被减弱,而且低频成份与高频成份的幅度的比越大,细致特征越不起眼。 |
Roy: | 没错。下图是计算机绘图的结果。 |
Ken: | 我想我大致明白了。现在可以回到频谱的顺序问题的讨论上了吧。 |
Roy: | 实际上,上面所举个例子就是所谓的滤波过程。从频域的角度来看,有意地将某些频率的成份去掉的过程就叫滤波。现在你不难发现,如果把频谱放在坐标系上,使得频率落在横坐标上,这样的有序结构是有利于我们观察谱的结构,从而确定怎样滤波等等。 |
Ken: | 也就是说如果我们想保留信号大致轮廓,只要有频谱中靠后的部分(即高频部分)去掉即可,是这个意思吗? |
Roy: | 是的。但正如你所意料到的,实际情况要复杂些,下次我们要讨论时域的滤波过程,从而进一步深化滤波的概念。 |
Ken: | 好的。 |