图书前言

在过去的半个世纪里,数字信号处理(DSP),无论是研究还是应用,都得到爆发式的增长。推动这种增长的,是计算机技术和软件开发的巨大进步。国内外几乎所有的电子工程和计算机工程系,都开出了一门或多门有关数字信号处理的课程,而第一门课程往往向高年级的本科生开出。本书是为高年级本科生和一年级研究生所准备的两学期课程的教材。本书也可以作为从事实际工作的工程师和科学家自学之用。

本书的第3版是五年前出版的,从收到的读者反馈来看,显然已经需要出一个新的修订版了。这个新的版本做了三种改变:增加了一些新的内容,压缩了一些已有的内容,对有些材料作了重新安排。我们相信,新版本里每章材料的安排更加符合逻辑。新增加的一些例题,有助于说明新的困难的概念。

第4版的一个主要改变在于,第2、3、4章的内容,安排到新的三章里:一章涉及离散时间信号的时域表达;一章是离散时间信号的频域表达;一章是离散系统的时域和频域表达。第3版第4章中关于模拟低通滤波器的设计,模拟高通、带通、带阻滤波器的设计,模拟防混叠滤波器的设计以及模拟重构滤波器的设计等内容,本版移到附录里。此外,删去了有关连续信号数字处理接口器件的讨论,包括采样/保持电路、A/D变换器以及D/A变换器。

本版的第二个主要改变在于,删去了有关应用的一章,以及本书所附的CD中本章的相关材料。有关短时傅里叶变换的讨论移到了第5章(有限长度的离散变换)。

第4版新增加的内容包括循环前缀(5.10.2节)、数字积分器(7.4.3节)、数字微分器(7.4.4节)、DC阻断器(7.4.5节)、一种新的以级联格形结构的形式实现一对FIR传输函数的方法(8.9节)、IIR数字滤波器计算机辅助设计的扩展讨论(9.7节)、高效内插FIR滤波器设计中决定稀疏因子优化值的方法(10.6.2节)、使用转置的快速DFT算法(11.3.3节)等。删去了第8章中有关数字正弦-余弦发生器的内容及其相关的习题。将第11章中有关可调数字滤波器的内容移到数字滤波器的实现(8.7节)。最后,从第11章里删去算术运算和函数逼近的内容。有关函数逼近的若干习题,保留在该章后面的习题里。

本书很重要的一个特点是,深度使用MATLAB,通过说明该程序的强大功能的例题,来解决信号处理的问题。本书使用一种三段式的教学方法结构,充分利用MATLAB的优越性,力求避免用“照猫画虎”的方法来求解问题的缺憾。首先,每章的开始,都提出基本的理论和算法。其次,有关的材料都用手工计算的例题来说明。第三,用MATLAB来求解。一开始,尽可能仔细地提供MATLAB的程序代码,使学生可以在自己的计算机上重复这些例题。对于要求解析解的传统问题,每章也都包含了大量的要求使用MATLAB来解的习题。本书只要求具有最低限度的MATLAB知识。我们相信,通过使用经过测试的、完整的程序,然后再自己编写简单的程序来求解第2~14章的习题,学生都可以很快地掌握如何用MATLAB来求解复杂的问题。

通过计算机的验证,可以强化对理论的理解,就像在前三版里一样,新的第4版也包含了一个大的MATLAB程序库。第3版里原有的MATLAB程序,已经升级为适应新的MATLAB版本和Signal Processing Toolbox版本。此外,还增加了新的MATLAB程序和代码段。所有的程序都收到本书所附的CD里①。读者可以运行这些程序,来验证书中所得出的结果。所有的程序及代码段,都在MATLAB 7.10.0.499版(R2010a)和Signal Processing Toolbox 6.13版(R2010a)下作了测试。书中的某些程序,从执行速度来说,并不一定是最快的,也不一定是最短的,主要是希望写得最清楚,用不着更多的解释。

本书再一个值得关注的特点是,包含了大量简单而实用的例子,使读者得以接触实际生活中的信号处理问题,从而可以用计算机来解决所涉及的设计问题。本书还包含一些当前所关注的问题,但没有写在正文里,而是在各章后面的习题里。

本书所附的CD里,有一些重要的、很实际的数字信号处理的应用。这些应用很容易理解,并不要求更高层次课程的知识。CD里还有其他的一些有用的材料,包括实际信号的文件、复习材料、附加的例题、经常遇到的问题(FAQ)、大量数字信号处理的典型应用、简短的MATLAB指南等。教材正文里的CD符号,向读者提示CD里的相关材料。我们会根据读者的反馈,在以后的版本里,继续改善CD的内容。

使用本书的先修课程是三年级的线性连续时间和离散时间系统,通常,多数大学都会这样要求。本书简短地回顾了线性系统和变换,以及线性系统理论的基本材料。这样做,既包含了必要的材料,又没有显著地增加本书的篇幅。

本书包含14章和3个附录。

第1章是信号处理领域的引论,概述信号及信号处理的方法。

第2章讨论离散时间信号的时域表达、数字序列。介绍了若干基本的离散时间信号,它们在任意离散时间信号的描述中起着重要作用,还介绍了离散时间系统。接下来,由一个或多个这样的序列,通过若干种基本运算,来建立其他的序列。这些基本运算的组合,也用来组成离散时间系统。用一个简单的例子来说明用一个离散时间序列来表达一个连续时间信号的问题。

第3章是离散时间信号的频域表达。一开始回顾连续时间信号连续傅里叶变换(CTFT)表达。离散时间傅里叶变换(DTFT)用于在频域表示离散时间信号,接下来是用其反变换来恢复原来的离散时间信号。由于DTFT是无限项求和,所以要讨论其收敛问题。接下来讨论DTFT的限制,以及相位函数的不连续问题。之后是带限连续时间信号通过理想采样,达到离散时间表达,以及从其采样版本准确恢复原信号的条件。

第4章的开始,回顾若干种离散时间系统的时域表达及其应用。其后是讨论离散时间系统的各种分类、因果、线性以及时不变(LTI)。且在这里证明,一个因果的LTI离散时间系统的时域表达,就是其单位冲激响应,并由此而得到该系统的输入输出关系。讨论了通过连接简单的LTI系统,来建立复杂的LTI系统。一个LTI离散时间系统的频域表达,就是其频率响应,即单位冲激响应的DTFT。由此而引入频率响应的概念,并仔细考察了相位延时和群延时之间的差别。

第5章的主要部分,关注离散傅里叶变换(DFT),它在一些数字信号处理应用中扮演非常重要的角色,因为可以利用其快速算法来实现线性卷积。讨论DFT、IDFT及其性质。本章还讨论了离散余弦变换(DCT)以及哈尔(Haar)变换。本章所讨论的三种变换,是有限长度序列正交变换的例子。本章还简要介绍了短时傅里叶变换,它往往作为非确定离散时间信号的频域表达。

第6章讨论z -变换。首先是z -变换、反z -变换的定义及其性质。仔细讨论了z -变换的收敛问题。还讨论了LTI离散时间系统的传输函数的概念及其和系统的频率响应的关系。

本书只关心LTI离散时间系统,第7章则讨论其变换域的表达。考察了这些变换域表达的特殊性质,以及若干种简单应用。

LTI数字滤波器硬件或软件实现的第一步,是使用基本的构建模块相连接的结构表达,提供与输入及输出相关的中间变量之间的关系,以便结构的实现。 

第8章讨论数字滤波器各种形式的结构表达,然后讨论现实的因果IIR及FIR数字滤波器的常用方案。

第9章讨论IIR滤波器的设计。首先讨论该滤波器设计所涉及的若干问题,然后是设计IIR滤波器最常用的方法,从原型模拟传输函数到数字传输函数的变换,从一种类型的IIR传输函数到另一种类型传输函数的转换。还讨论了在IIR数字滤波器设计中使用MATLAB。

第10章关注FIR数字滤波器的设计。首先介绍一种非常简单的方法,接着讨论一种常用的等纹波线性相位FIR数字滤波器的计算机辅助设计,以及在FIR数字滤波器设计中使用MATLAB。

第11章关注数字信号处理算法的实现。首先讨论两个主要的实现问题,数字滤波器和DFT在计算机上的软件实现。接下来讨论计算机里数字和信号变量的各种表示方法,这是在第12章里分析有限字长效应的基础。还简要地介绍了经常用于处理溢出的方法。

第12章分析各种量化误差源的影响,介绍对这些影响不那么敏感的结构。还讨论了系数量化的影响。

第13章和第14章讨论多采样率离散时间系统、采样率变化的基本概念和性质、抽取和插入数字滤波器的设计,以及多滤波器组的设计。

附录A简要介绍模拟低通滤波器的设计方法,包括模拟防混叠滤波器和模拟重构滤波器设计的要求。附录B讨论模拟高通、带通、带阻滤波器的设计方法。附录C回顾随机变量和随机过程的重要统计特性。

本书的材料在加利福尼亚大学圣巴巴拉分校使用了20多年,用于两学期的数字信号处理课程。大概来说,第2章到第8章是前半课程的基础,第8章到第14章,以及若干应用的例子,构成研究生课程的基础。在过去的若干年里,南加利福尼亚大学也使用了本书。

本书包含324个例题、146个MATLAB程序和代码段、845个习题和158个MATLAB练习题。

我们作了很大的努力,力图保证本书中所有材料的准确性,包括所有的MATLAB程序。但是,我还是希望读者能将所发现的错误告知我,尽管印刷版中的有些错误非本人或出版社能够控制的。这些错误和别的评论,请用E-mail发给mitra@ece.ucsb.edu。

本书的网站,www.mhhe.com/mitra,还包含一些对教师和学生都有用的资源。教授们可以从McGraw-Hill's COSMOS得到电子版的习题解答。COSMOS为教师提供大量的材料来生成习题、布置作业以及将他们自己的习题转换和集成为软件。请和你的McGraw-Hill销售代表联系,以便得到更多的信息。②

最后,我非常庆幸,在40多年的教学生涯中,有幸和很多杰出的学生一起工作。我一直收获颇丰,无论是业务还是个人生活,无论是他们的友谊还是协作。我把这本书献给他们。

Sanjit K. Mitra