
Saki酱的DSP大冒险(零):绪论
免责声明 本人初学DSP,笔记中难免有错误,希望大家多多海涵。同时欢迎错误指正与技术交流。 本文中的数学部分更偏向于“直观理解”而非“严谨推导”,无法保证其严谨性。 本人不是很懂乐器,笔记中对乐器的类比难免有不恰当之处,请多多海涵,不要在意,会意即可。 DSP在这里指 “Digital Signal Processing” 即数字信号处理,而非DSP芯片(Digital signal processor)。 由于这份笔记会结合信号系统与DSP的内容,考虑到DSP主要研究的是离散信号与系统的处理方法,所以在这篇笔记中统称为“信号系统”。 这份笔记主要着重工程实践相关内容,目的是建立对信号系统的一个初步认识,不一定会围绕考试相关内容。 前言 春节时,与某位数学系的朋友讨论专业上的事情。谈到信号与系统 这门课程。朋友为我提供了一个新的视角:利用线性代数的思想来研究它们。我以这个思路读完Lyons的《Understanding Digital Signal Processing》后收获颇丰。故结合Oppenheim的 《信号与系统》和 Proakis的《数字信号处理》系统性的梳理一下自己的思想和感悟。 正文 1.绪论 想要研究信号系统,我们首先要搞懂三个问题:为什么学?学什么?怎么学?即研究目标、研究对象、研究方法。搞清楚这三个问题,对我们研究一个学科,乃至一个知识体系都是很有帮助的。 2.研究目标 通信没有信号系统,就像乐队没有键盘。 ——某棕发贝斯手 图1-1 正在帮爱音挑选效果器的多惠 正如组乐队一样,每个人组乐队都有不同的目的:某棕发吉他主唱为了闪闪发光,心动不已,某灰色长发主唱为了达到顶点。我们对一个学科进行深入的研究,总得有自己的研究目的。失去研究目的的学科是没有生命力的,其发展也将停滞不前。Oppenheim对这个问题给出了答案:我们研究信号系统,正是因为生活中许多问题,都能转化成为信号系统相关的问题进行研究。麦克风会不会改变主唱的音色和音调?效果器如何改变电吉他发出的声音?想要研究清楚这些问题,就需要运用到系统分析的相关知识。同时,我们也设计一些新的系统。比如混音师进行混音,让乐曲富有层次感。除了上述这些方面,我们还能运用这种思维研究图像处理、自动控制等方面的问题,这里不逐一列举。总而言之,我们研究这门学科有两个核心目标:利用特定信号分析系统,基于特定信号设计系统。而所有的研究方法和研究内容,均围绕这两个核心目标来进行。 图1-1中多惠对效果器的描述:”要锵锵的呢,还是咣咣的呢?“就是一种对系统特性的简易分析。 3.研究对象 诶,这不是吉他吗? 这是六弦贝斯。 ——孤独摇滚 图1-2 发现吉他买成六弦贝斯的喜多酱 确定研究目标后,我们只有选择合适的研究对象,才能达成研究目的,确立研究方法。如果像某位红发现充吉他手,不调查清楚,想弹吉他却搞了把六弦贝斯回来,便是不可取的。而在信号系统中,我们核心的研究对象有三个:信号、系统与它们的关系。为了弄清楚研究对象,我们首先得给出一个较为严谨的定义,以防后续出现错误。有四根弦的不只有贝斯,还有琵琶。有六根弦的不止有吉他,还有六弦贝斯。如果不给出一个严谨的定义,那便会闹出来把六弦贝斯当吉他买的笑话。 3.1 信号 根据Oppenheim的定义,信号是一个或多个变量的函数。这句话至关重要,它告诉了我们以下几个信息: 1.在所有自变量都确定的前提下,函数值有且只有一个。这就意味着在所有变量都确定的情况下,信号的值是唯一的。 2.我们可以用一切研究函数的方法,如微分,积分等分析学方法,来研究信号。我们还可以对信号套用一些函数运算的相关定义与性质(这些性质在研究线性时不变系统时非常有用)。 在实践中,我们注意到有四类函数非常重要,分别是:冲激函数、阶跃函数、周期函数、复指数函数。因此,在接下来的研究中,我们将着重研究这四类信号(关于它们的详细定义,我将会在下一节提及)。利用这些特殊信号,我们能更容易地分析系统的普遍性质。 同时,我们发现:离散信号可以看做连续信号通过采样(Sampling)得出的,这意味着我们可以运用相似的思想方法来研究离散信号,这大大降低了我们对离散信号的研究难度。这个将在讲述采样的章节中详细提及。 连续信号:在无限或有限范围内定义的信号(即在定义域内连续) 离散信号:在有限集内定义的信号 图1-3 连续信号与离散信号的示意图 图1-3是一张连续信号与离散信号的示意图,有助于我们直观地理解连续信号与离散信号之间的区别。 3.2 系统 麦克风能放大歌手的声音,效果器能产生失真音效,录音机能重现录下来的声音。这些装置的共同特点,就是对于特定的输入信号,产生一个特定输出。输入信号不同,输出信号也不同。电吉他和电贝斯就算用相同的音响和效果器进行演奏,它们的音色仍大相径庭。回想刚才对于信号的定义,我们很自然地想到:如果将输入的信号看做一个自变量,而输出的信号就是这个自变量的函数。但特殊的一点在于:系统的自变量和因变量都是信号。对于这种特殊的函数,我们称系统将信号$x(t)$变换为$y(t)$,记作 $ y(t)=\cal{T}[f(t)] $ 或 $ x(t)\xrightarrow{\cal{T}}y(t) $ 花体字$\cal{T}$表示系统为生成$y(t)$而对$x(t)$进行的变换(也称算子) 图1-4 连续系统与离散系统示意图 如图1-4所示,我们可以把系统想象成一个神秘的魔法小盒子,你扔进去一个信号,就会出来另一个信号。 值得注意的是,系统与中学阶段学过的复合函数,是两个截然不同的东西。系统的输入输出都是信号,而复合函数的输入输出都是一个数。 因为上面提到的连续和离散信号的分类,我们可以简单地将系统分为两类 连续系统:输入连续信号,输出连续信号。 离散系统:输入离散信号,输出离散信号。 在采样这一章节中,我们还将认识另一类特殊的系统:混合系统,这种系统连接了连续的模拟世界与离散的数字世界。在这里不过多提及。 ...