图书前言

随着计算机和微电子等学科的飞速发展,数字信号处理的理论、算法及实现手段也都获得了飞速的发展,并且应用越来越广泛。为适应这一发展对人才的需要,目前国内外高校中开设数字信号处理课程的专业也越来越多。

数字信号处理的内容广泛,理论复杂,广大读者迫切需要一本适应学科发展和教学改革要求的高水平的数字信号处理的教科书。本书正是在第一版(1997年)的基础上朝着这一目标所作的努力与尝试。再版后的本书力求在详尽论述数字信号处理基础理论的同时,更多地反映该学科的新进展,同时,在内容的安排上也更多地考虑如何有利于教学和读者的自学。为此,本书相对于第一版,在章节安排和内容选取乃至一些论述的细节上都作了较大的改动。

本书将数字信号处理中的基础部分,即通常称为“经典”的部分,集中安排在了前七章,把提高或扩展的部分安排在了后七章,并分别称之为“上篇”和“下篇”。上篇包括离散信号和离散系统分析基础、Z变换、DFT、FFT、离散系统分析、IIR、FIR及一些特殊形式的滤波器设计等。下篇包括正交变换、信号处理中的一些典型算法、平稳随机信号、经典和现代谱估计、有限字长分析及DSP硬件等。这样安排篇章结构可让读者易于了解数字信号处理中庞大知识体系的脉络结构及内在联系,也方便组织教学。

在上篇中,第1章介绍了离散时间信号与离散时间系统的基本概念,包括离散信号的运算、噪声、信号空间、离散系统的性质和输入输出关系、相关函数的定义、性质及应用等。

Z变换是离散时间系统分析与综合的重要工具,第2章详细讨论了Z变换的定义、收敛域、性质及应用,包括转移函数、频率特性、极零分析以及离散系统的实现和信号流图等。

离散时间信号的傅里叶变换是数字信号处理中的核心内容,因此我们在第3章以较大的篇幅分别详细地讨论了离散时间序列傅里叶变换(DTFT)和离散傅里叶变换(DFT)的定义、性质及应用,还详细讨论了和这两个变换相关联的基本问题,如信号截短对频谱分析的影响、周期卷积、分辨率、时宽\|带宽积及DFT对FT的近似等。最后介绍了信号处理中的另一个基本变换,即希尔伯特变换的定义和性质。

第4章是第3章的延续,详细介绍了快速傅里叶变换(FFT)的各种算法,包括基2 算法、分裂基算法和频域细化的CZT算法,并简要介绍了Winograd快速傅里叶变换的主要内容。

数字信号处理——理论、算法与实现(第二版)前 言第5章内容是第2章的延续和深入,主要涉及离散时间系统的相位、结构及状态变量描述等基本问题,包括线性相位的定义、线性相位系统零点分布、全通系统、最小相位系统、谱分解以及离散系统的Lattice结构和状态变量分析等。

第6、第7两章集中讨论数字滤波器的设计问题。前者讨论IIR滤波器的设计,后者讨论FIR滤波器的设计,并简要介绍了一些特殊形式滤波器的设计。

本书下篇中第8章介绍了信号正交分解及正交变换的基本概念,特别是针对KL变换的不足,重点介绍了离散余弦变换,同时介绍了信号处理中的其他正交变换。此外,为使读者了解这些正交变换的应用,还增加了图像压缩的内容。

在前8章系统地讨论了有关信号处理理论的基础上,我们选择了信号处理中的7个典型算法在第9章给予介绍,目的是让读者了解和掌握更多的信号处理的内容以及它们应用的背景。这些算法是:信号的抽取与插值、子带分解、调制与解调、反卷积、奇异值分解、独立分量分析及同态滤波等。它们有的是经典内容,有的是近十几年来新发展的内容。 

第10至第12章讨论随机信号的统计处理。第10章主要讨论了平稳随机信号的定义、性质、描述及通过线性系统的行为。第11章主要讨论经典功率谱估计问题,内容包括自相关函数的估计、功率谱估计的周期图法与自相关法,还包括估计的性能及改进方法与短时傅里叶变换。现代功率谱估计是近30年来信号处理中最为活跃的内容之一,因此我们在第12章讨论了这一领域的主要内容,即参数模型法,包括AR、MA及ARMA模型。此外,还简要介绍了非参数模型法,如最小方差方法、基于特征值分解的谱估计方法等。

尽管使用高精度的A/D转换器可以大大减轻有限字长所带来的误差及其影响,但是,有限字长问题毕竟是数字信号处理中的基本问题,特别是当用硬件来具体实现一个数字系统时,掌握这些误差的行为,了解它们对系统的影响是每一个设计者所必须考虑的。通过第13章关于数字信号处理中的有限字长问题的讨论,读者可进一步了解随机信号统计分析的应用。

第14章以美国TI公司的TMS320系列DSP为主集中介绍了DSP硬件的结构、性能、软件和硬件的开发方法及工具等,同时还介绍了DSP的应用。

MATLAB是学习和应用数字信号处理的一个极好的工具。因此,本书在1.9节简要介绍了MATLAB的功能,在第1至第12章的最后一节都对该章所涉及的MATLAB文件给予了说明,并给出了使用的具体实例。通过MATLAB的应用,读者可以掌握应用MATLAB实现信号处理的方法,同时更深入地理解数字信号处理的理论。 

本书所附光盘包含40个分别用FORTRAN和C语言编写的信号处理子程序以及近100个用MATLAB编写的信号处理程序,后者是本书各个章节的大部分例题。这些MATLAB程序都很短,通过程序的运行可以掌握这些例题的求解方法及MATLAB的编程方法。

本书内容丰富,既包含了数字信号处理中的经典内容,也包含了部分前沿内容;编写中注重理论和应用相结合,特别注重应用MATLAB来解决理论和算法的实现问题。通过本书的学习,读者可以掌握数字信号处理的主要内容。

本书的篇幅较大,在一个学期的教学中讲授完全部内容是不可能的,当然也没有必要。笔者在使用这本教材的过程中采用的方法大体是“重要的基础理论内容重点讲,方法性的内容概括讲,前沿性(或交叉性)的内容用讲座讲”。为了方便组织教学,笔者将可以概括讲、用讲座讲,或让研究生自己阅读的部分,在标题前标注了“*”,供读者选用。

本书定位于理工科的研究生教材,也可作为相关专业的本科生教材。用作本科生教材时,可将上篇及下篇的部分章节(如第14章)作为主讲内容,其余内容可作为课外阅读材料。同时本书也可供从事数字信号处理研究与应用的广大科技人员学习与参考。

本书第一版1997年出版以来,得到了使用本书作为教材的老师、研究生以及广大读者的热情关心,他们对本书提出了许多非常好的建议。2000年,本书被教育部研究生工作办公室推荐为“研究生教学用书”,2001年,本书入选“北京市高等教育精品教材立项项目”。读者的期望及上级部门的肯定既是鼓励,又是鞭策,促使笔者完成了本书的修订。在此,向广大的读者及使用本书的老师表示衷心的感谢!

      作者在编写本书和承担清华大学研究生公共课“数字信号处理”的过程中得到了清华大学研究生院、电机工程系及生物医学工程研究所的关心与支持,在此向他们表示衷心的感谢!在本书的编写过程中始终得到了宗孔德教授、杨福生教授和周礼杲教授的热情关心和支持,在本书再版之际,谨向三位教授致以诚挚的谢意!

    张辉为本书第14章编写了部分内容并提供了大量的资料;王俊峰、劳长安、汪学愚、李义翔、李晓娟、洪波、朱常芳、丁海艳、孙勇、刘冰、肖宪波、徐进、刘少颖等在本书的绘图、计算机程序的编写、整理以及资料搜集等各个方面都做了大量的工作,在此一并表示感谢!

    限于作者的水平,不妥及错误之处在所难免,恳切希望读者给予批评指正。