詹姆斯·H.麦克莱伦、罗纳德·W.谢弗、马克·A.约德著的《数字信号处理引论(基于频谱和滤波器的分析方法原书第2版)》是模拟和数字信号的经典入门教材。第2版延续了第1版清晰和直观的风格,介绍基本的数字信号处理概念,重点介绍离散时间信号和系统的内容,包含许多多媒体方面声音和图像处理的新主题,更新了DSP操作的MATALB函数,还新增了20多个MATLAB动画演示,以帮助读者更好地理解线性滤波、调幅、抽样原理,提高离散时间滤波及频谱分析等方面的应用能力。
本书适合电子信息工程、计算机工程、通信工程、自动化、信息工程、机械电子工程等相关专业作为教学用书。
詹姆斯·H.麦克莱伦、罗纳德·W.谢弗、马克·A.约德著的《数字信号处理引论(基于频谱和滤波器的分析方法原书第2版)》作为美国斯坦福大学、佐治亚理工学院、罗斯霍曼理工学院的教材,基本涵盖了数字信号处理课程的所有内容:从离散时间信号以及系统的时域和频域分析,到FIR和IIR滤波器的设计和分析;从z变换到离散时间傅里叶变换(DTFT)、离散傅里叶级数(DFS)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT);从基本的冲激信号、窗信号和正弦信号分析,到工程领域的音频信号、调制信号的分析。本书不仅内容丰富,还深刻揭示了傅里叶变换的物理概念,结合工程实际信号的傅里叶变换及频域分析,使难懂生涩的频域分析的理论概念通俗易懂。本书适用的专业面很宽,可作为电子信息工程、计算机工程、通信工程、自动化、信息工程、机械电子工程等相关专业教材。
第2版更新内容如下:
扩展了有关频谱的阐述以讨论频谱特性(例如时延和频移特性),为后续学习DTFT和DFT奠定基础。
新增了有关离散时间傅里叶变换(DTFT)、理想滤波器和数字滤波器设计的内容,并详细介绍了FIR滤波器设计的窗函数方法。
新增了有关离散傅里叶变换(DFT)的内容。并阐述了DFT和离散傅里叶级数(DFS)的关系。
新增了有关频谱分析和谱图的内容。有助于理解频率分辨率的加窗作用。
扩充了章末习题,全书241道习题中新补充83道,修订86道。
出版者的话
译者序
前言
第1章 绪论
1.1 信号的数学表示
1.2 系统的数学表示
1.3 系统的组成框图
1.4 下一步做什么
第2章 正弦波
2.1 音叉实验
2.2 正弦和余弦函数简介
2.3 正弦信号
2.4 正弦信号的采样和波形图
2.5 复指数和相量
2.6 相量相加
2.7 音叉的物理背景
2.8 时间信号:超出公式描述
2.9 小结和链接
2.10 习题
第3章 频谱表示
3.1 正弦波之和的频谱
3.2 正弦振幅调制
3.3 频谱操作
3.4 周期信号波形
3.5 傅里叶级数
3.6 时间频率谱
3.7 调频:啁啾信号
3.8 小结和链接
3.9 习题
第4章 采样与混叠
4.1 采样
4.2 采样与重构的频谱视图
4.3 离散到连续的转换
4.4 采样定理
4.5 频闪演示
4.6 小结和链接
4.7 习题
第5章 FIR滤波器
5.1 离散时间系统
5.2 滑动平均滤波器
5.3 通用FIR滤波器
5.4 单位冲激响应和卷积
5.5 FIR滤波器的实现
5.6 线性时不变系统
5.7 卷积和LTI系统
5.8 级联LTI系统
5.9 FIR滤波示例
5.10 小结和链接
5.11 习题
第6章 FIR滤波器的频率响应
6.1 FIR系统的正弦响应
6.2 叠加和频率响应
6.3 稳态响应和暂态响应
6.4 频率响应的性质
6.5 频率响应的图形表示
6.6 级联LTI系统
6.7 滑动求和滤波
6.8 采样连续时间信号的滤波
6.9 小结和链接
6.10 习题
第7章 离散时间傅里叶变换
7.1 DTFT:离散时间信号的傅里叶变换
7.2 DTFT的性质
7.3 理想滤波器
7.4 实用FIR滤波器
7.5 傅里叶变换的性质与变换对表
7.6 小结和链接
7.7 习题
第8章 离散傅里叶变换
8.1 DFT:离散傅里叶变换
8.2 DFT的性质
8.3 DFT中序列x\\[n\\]的固有时域周期性
8.4 离散傅里叶变换的性质与变换对表
8.5 离散周期信号的频谱分析
8.6 窗函数
8.7 谱图
8.8 快速傅里叶变换
8.9 小结和链接
8.10 习题
第9章 z变换
9.1 z变换的定义
9.2 z变换的基本性质
9.3 z变换和线性系统
9.4 卷积和z变换
9.5 z域和ω 域之间的关系
9.6 H(z)变换的零极点
9.7 简单滤波器
9.8 实用带通滤波器设计
9.9 线性相位滤波器的性质
9.10 小结和链接
9.11 习题
第10章 IIR滤波器
10.1 一般IIR差分方程
10.2 时域响应
10.3 IIR滤波器的系统函数
10.4 系统函数和框图结构
10.5 极点和零点
10.6 IIR系统的稳定性
10.7 IIR滤波器的频率响应
10.8 三种域
10.9 逆z变换及应用
10.10 稳态响应和稳定性
10.11 二阶滤波器
10.12 二阶IIR滤波器的频率响应
10.13 IIR低通滤波器示例
10.14 小结和链接
10.15 习题
附录A 复数
附录B MATLAB编程
附录C 傅里叶级数
附录D 实验项目
术语表
第1章 绪论
这是一本关于信号和系统的书。在这个多媒体游戏电脑、音视频娱乐系统和智能手机的时代,几乎可以肯定的是,你作为这本书的读者,已经对信号和系统形成了某种印象,而且,在日常会话里你可能经常应用这些概念。
很有可能,你对这些术语的领悟和应用在相当宽的含义范围内是正确的,例如,你也许把信号理解成携带某种信息的“事物”。通常来讲,这种事物是某种具有物理量变化的’模式,这种物理量可以被物理过程所处理、存储或者传输,例如,语音信号、音频信号、视频或图像信号、生物医学信号、雷达信号和地震信号等。很重要的一点是信号可以采用许多等效的表达形式或方式,例如语音信号可以作为一种声源信号,也可以通过麦克风转换成电信号,然后转换成数字音频记录中的一串数字。
系统这个术语可能有点模糊,需要进一步解释。例如,我们经常所说的“系统”是指一个大型组织,它管理或实施一些过程,如“社会安全体系”或“航空运输系统”。然而,我们感兴趣的是更狭隘的系统定义,它和信号非常紧密地联系在一起。更具体地说,系统是某种为了我们的目的可以操作、改变、记录或传送信号的东西。例如,DVD碟片采用一串数字存储或表示电影或音乐信号。DVD播放器就是一种系统,它可以把存储在碟片上的数字(即数字表示的信号)转换成视频信号或声音信号。一般情况下,系统处理信号来产生新的信号或新信号的表达形式。
本书的目的是建立一种架构,基于该架构可以对信号与系统做出准确阐述。具体来说,我们要表明,数学是一种适合描述、理解信号和系统的语言。我们还想表明,信号和系统的数学方程表示能够使我们了解信号和系统如何相互作用,以及我们如何设计和实现系统,以达到预先规定的目标。
1.1 信号的数学表示
信号是表示信息或编码信息的变量形式,许多信号本质上被看成是时间的变量形式。一个熟知的例子是语音信号,它来源于声道中气压变化的形式,当然,这种形式随着时间变化,产生一种时间波形。图1—1表示一个语音波形的记录曲线。在图中,纵坐标表示麦克风电压(和气压成正比),横坐标表示时间。注意图中有四条曲线,分别对应语音波形的四个相邻的时间段,第2条曲线是第1条曲线的延续,以此类推,每个曲线图对应50毫秒的时间间隔。
图1—1中的语音信号是一维连续时间信号的例子。这类信号在数学上可以表示成单个独立变量的函数,这个变量一般称为时间并用t表示。虽然在这个特例中我们无法以我们熟悉的数学函数方式写出一个简单方程来表示图1—1中的图形,但我们仍然采用一个函数s(t)来关联这幅图。事实上,这幅图本身可以作为一个函数的定义,它指定一个s(t)对应每一时刻的时间值(t的每个值)。
许多信号来源于连续时间信号。但是由于众多原因,当我们阅读本书时,会越来越感到采用离散时间来表示信号是一种更为可取的方式。这种表示可以通过采样连续时间信号实现,离散信号是在相互独立的、等间隔的时间点上对连续时间信号进行采样。其结果是一个数字序列,可以表示为只取整数值的下标变量的函数。离散信号的数学表示为s[n]=s(nTs),其中,n是一个整数(即{…,-2,-1,0,1,2,…}),Ts是采样间隔。注意我们按惯例使用圆括号()作为连续变量函数的独立变量的括号,例如信号s(t);使用方括号[]作为离散变量函数的独立变量的括号,例如序列s[n]。当然,在图纸或计算机屏幕上画图时,我们常常采用采样方式。我们不能在每一个连续变量点上确定函数值,但可以在一组离散点上确定序列值。直观地看,这些离散点靠得越近,序列就越接近原始连续变量函数的包络。图卜2显示了一个短时段的离散时间信号,它来自图1—1中语音信号的采样,采样周期为Ts=1/8ms。在这个图中,小圆点表示序列s[n]的采样值。
P1-2
本书的英文书名为《DSP First》,是《DSP First:A Multimedia Approach》(英文版于1998年出版)的第2版。第1版附带了一张CD-ROM,其中提供了大量的学习资料来扩展传统教科书的范围。2003年,出版了一本名为《Signal Processing First》的书,书中题材论述广泛,包括新增的关于连续时间信号处理和傅里叶变换的四章内容,以及本书第1版前八章的更新内容。2003版出版的这本书的CD-ROM中增加了新的教学素材,所有教辅资源都放在课程网站中,方便读者访问。
这三本书和配套网站都基于作者超过20年的研究工作,这些工作立足于数字信号处理(DSP)技术已成为电子工程和计算机工程的热点研究方向。1993年夏天,James H.Mc Clellan和Ronald W.Schafer开始开发一个学季(one-quarter)课程,旨在作为佐治亚理工学院计算机工程(CmpE)学生的入门先导课程。我们认为数字信号处理主题下包含了未来的计算机工程师在第一年课程学习中需要的一切:它向学生介绍了如何使用数学工具来思考和解决工程问题;学习这门课程为后续课程打下了有益的基础;它建立了系统与数值计算之间紧密的联系,数值计算是实现系统的一种手段;它提供了讨论实际应用的多种工具,应用需求将促使工程师努力把数学和计算与实际问题的解决联系起来。在过去的22年里,从没有发生任何事情改变我们的这一信念。而且,我们在佐治亚理工学院教过6000多名学生,更加坚定了我们的信念。从本质上讲,对电子与计算机工程专业的学生而言,数字信号处理确实是一个非常合适的入门学科。事实上,如同本书所述,我们坚信每一个工程和计算机科学专业的学生都需要学习DSP课程。
从一开始,我们相信具有处理真实信号的“动手”经验至关重要,所以,我们大力开发了额外的基于MATLAB平台的实验练习题和项目。在实验作业中,学生可以体验到信号处理的过程及效果,这些过程涉及声音和图像信号处理的实现。例如,他们可以采用正弦信号来合成音乐,但他们也可以看到这些相同的正弦信号是无线系统的基础,通过这些系统可以按流程访问互联网。读者可以通过访问配套网站获得这些体验,并加强和巩固对构成DSP基础的数学概念的理解。
除了25个详细的实验作业之外,配套网站还提供了许多其他学习资料,包括课内的演示、动画,以及数百个习题解答。1995年,Mark Yoder离开罗斯霍曼来到佐治亚理工学院休假,他设立了这个网站,把所有材料整理到一起以便其他教师(和学生)可以方便地访问和学习。交互式MATLAB演示功能可以演示重要的知识点,例如卷积和频率响应,其中大部分内容现在已经作为实验练习的基础知识。作为教师,所有这些资料改变了我们讲解概念的方式,因为它在数学方程之外扩展了一种理解概念的直观方法。多年来,网站的资源持续增长。未来我们将探索阐述DSP概念的新方法,并希望能超越纸质教材实现电子教材,真正将文字教材的叙述优点和网站的可视化优点融合在一起。
本书(和第1版)的显著特点是,它讲解的信号处理概念与ECE课程的要求是一致的,这也是美国主要大学大二学生(二年级)对课程的要求。本书的重点内容无疑是离散时间信号处理,但是因为要开设一门普遍适合大二学生的课程,所以我们认为必须将信号处理概念和导论理念结合起来。这样考虑的部分原因是,在许多电子工程课程体系中,信号和系统以及DSP通常被视为初级和高级课程,一般认为学习这类课程的读者已具有线性电路和线性系统的背景知识。另一方面,我们的方法可使诸如计算机科学和其他工程领域的学生对这一主题有清晰的理解。这一点变得越来越重要,因为非专业人士需要在许多科技领域广泛应用DSP技术。
新版的内容。新版的组织结构与第1版类似,从第2章非常基本的内容开始,该章详细介绍了连续时间正弦信号及其复指数表达形式。虽然这是线性电路课程的典型知识,但本书的内容编排可以使读者更快地阅读其他内容,特别是对那些具有其他专业背景的学生。如果学生已经学过线性电路知识,这一章可以跳过或者快速浏览。第3章介绍表达正弦信号之和的频谱概念,该章最后简单介绍了傅里叶级数。虽然第1版的第3章也有同样的内容,但第2版补充了一些新内容。
接下来我们进入基于采样正弦信号的离散时间信号的讨论(第4章)。我们认为在清晰讲述离散域中这些重要概念时没有必要采用连续时间傅里叶变换,所需的基础知识就是一个简单的三角恒等式:cos(θ + 2π) =cos(θ)。事实上,在第2~4章(除傅里叶级数外)中,我们只需要依赖于正弦和余弦函数的简单数学知识。接下来,我们通过滑动平均系统和其他简单FIR滤波器(第5章)来引入基本的线性系统概念。通过介绍冲激序列来引出采用冲激响应表达滤波器特性的方法。卷积定义为一种数值运算,它是表达这种思想的第一种形式。频率响应的核心概念用于对FIR滤波器的推演和表述(第6章)。正弦信号是重点关注的信号,一个滤波器可以用线性时不变系统进行表示,我们会重点讨论这个滤波器被一个正弦信号激励后滤波器输出幅度和相位的变化。
与第1版显著不同的是,我们开始引入离散时间傅里叶变换(DTFT)的概念(第7章),这自然源自离散时间系统的频率响应。DTFT反变换除了表示可逆变换,还可以用来描述理想滤波器。然后从DTFT自然过渡到离散傅里叶变换(DFT)。DFT是DTFT的简单采样形式,可以通过快速算法进行计算,快速算法很容易得到(第8章)。第7章和第8章完全是新内容,是为了满足广大教师希望把傅里叶变换的强大概念传授给学生的需求,我们认为大二学生完全有能力理解这些概念并付诸应用。这两章论述了实用频谱分析的思想,重点目标是传授可以成功应用频谱分析工具的知识,这些工具很常见,例如MATLAB软件平台。
最后两章的内容和第1版相同,介绍z变换(第9章)和IIR系统(第10章)。学到这个阶段,如果学生认真阅读教材,完成课后作业和实验练习,将有助于理解涉及采样理论、离散时间滤波和频谱分析的应用。而且,他们将会有很好的知识储备来学习线性模拟电路、连续时间信号和系统,以及控制系统的课程。通过本书的学习可以为这些课程奠定基础。
本版新增内容小结
●第7章新增了关于离散时间傅里叶变换(DTFT)的内容,这些内容使读者很容易从频率响应概念转换到傅里叶变换思想的学习。
●有关理想滤波器和数字滤波器设计的新内容作为DTFT的一个应用出现在第7章,并且详细介绍了FIR滤波器设计的窗函数方法。
●有关离散傅里叶变换(DFT)的新内容出现在第8章,我们将DFT看成DTFT的一种采样形式,并且阐述了DFT和离散傅里叶级数(DFS)的关系。
●有关频谱分析和谱图的新内容放在了第8章的最后几节,它建立了理解信号时频分析以及频率分辨率的加窗作用的坚实基础,时频分析一般通过FFT算法来实现。
●第7章和第8章的内容选自第1版的第9章和《Signal Processing First》的第13章。新版内容做了较大改动,更适合于入门级的学生学习,这有助于学生学习实用频谱分析的思想,通过MATLAB工具对真实信号进行处理的实验可以加强学生对这些概念的理解。
●扩展了第3章中讨论的频谱,以正式讨论频谱特性(例如时延和频移特性),这些讨论为后续章节的DTFT和DFT学习打下了基础。
●扩展了第3章中关于傅里叶级数的内容,但是大部分内容放在附录C中。第3章详细讲述了傅里叶级数来展示周期信号的频谱和全波整流正弦信号。附录C为需要强调这一主题的任课教师提供了更深入的素材。对其他周期信号(方波、三角波、正弦波、半波整流正弦波)进行了讨论,包括推导帕塞瓦尔定理并对收敛特性进行深入讨论,对傅里叶级数的性质也做了进一步讨论。
●章末的习题做了较大更改,书中共有241道习题,其中,83道习题是新补充的,86道习题是第1版中的但做了修改,72道习题和第1版是完全相同的。
●配套网站包含新的实验、MATLAB演示例子和课后习题解答,网址为http://www.pearsonhighered.com/engineering-resources/。
在佐治亚理工学院,大学二年级3学分的课程要求涵盖第2~10章的大部分内容,包括每周两次一小时的讲座、一次1.5小时的习题课和一次1.5小时的实验课。如前所述,我们把重点放在课程实验上,因为我们相信这是激励学生学习信号处理数学知识的必要手段,而且,实验可以引导学生在工程分析和设计中学会使用强大的软件。在罗斯霍曼理工学院,我们在大一学生中采用本书作为10周课程的教学内容,涵盖第1~6章、第9章和第10章。这种模式是每周3次一小时的讲座和一次3小时的实验课。学生在整个课程学习过程中使用MATLAB软件。在斯坦福大学,现在教材的全部内容已经被Schafer作为10周4学分课程的教学内容。由于本课程后是一学季的连续时间信号和系统及线性电路课程,读者可以跳过第2章和第3章,将重点放到其他章节中的离散时间信号和系统内容。其中1学分是通过每周安排不定期的实验课得到的。
我们自身的教学经验表明,本书及其相关的教辅材料可以根据教师的喜好和课程学时以多种不同的方式采用。如同前述讨论所示,本书第2版不是一本普通的信号与系统书,一个区别是包含了大量有关正弦信号和复相量信号的内容。在传统的电子工程课程体系中,在学习信号和系统之前,这些基本概念一般在线性电路范畴内学习。事实上,我们为本书第2版和第1版所起的书名就是为了强调与传统的不同之处。一个重要观点是,讲授信号处理首先开辟了一种讲授线性电路课程的新方法,因为有很多内容能够建立一种平台,帮助我们重新讲解电路课程的重点知识。
本书与传统信号和系统教材的第二个显著不同是更强调有关频域的概念。这意味着,在电子工程课程体系中,像拉普拉斯变换、状态空间和反馈控制等内容,将会在后续线性电路或有关控制系统的高年级课程中讨论。虽然本书明显基于一个特定理念撰写,但是这并不意味着书中内容和配套网站的素材只能用单一方式进行使用。事实上,我们自身的教学经验表明,通过选择合适的主题,本书可作为任何一学季或一学期的信号与系统课程的学习内容,它强调了从频域角度来描述通信和信号处理中的应用。对于大多数电子工程课程,面向控制的专题内容列入另一门课程中。
对于其他专业,例如计算机科学和计算机工程,本书更注重那些和计算紧密相关的信号分析内容。这就如同在其他工程领域,数据采集和频域分析在现代工程分析和设计中扮演了重要角色。
本书和配套网站凝聚了三位作者、许多同事和学生的大量工作。幸运的是,我们有一批极有才华的学生为本书提供了MATLAB的演示内容。这里无法一一提及他们的名字,我们只能感谢他们为本书做出的宝贵贡献。Greg Krudysz提供的演示程序已经在开发新的演示程序和基于GUI的可视化中发挥着主要作用。从1993年年初开始,很多教授作为任课教师和习题课老师参与了佐治亚理工学院大二课程ECE-2025(现在是ECE-2026)的教学。同样,我们无法在这里提及所有习题课老师,但是在过去12年的课程演变过程中,他们的建议和反馈已经赋予了课程新的生机。例如,Pamela Bhatti开发了一个实验,用来模拟人工耳蜗听觉系统的滤波器组。最近,课程讲授和管理由Russ Mersereau、Fred Juang、Chin Lee、Elliot Moore、Mark Clements、Chris Rozell、G.K.Chang、David Taylor、David Anderson、 John Barry、 Doug Williams和Aaron Lanterman共同负责。非常感激他们,他们对本书第2版提出了许多积极的建议和改进意见,尤其是有关DFT与DTFT的新内容。也非常感谢Wayne Padgett和Bruce Black,他们在罗斯霍曼理工学院讲授ECE-380课程时提出了很多好的想法。感谢Ed Doering,他为ECE-180课程设计了一整套新实验用于大学一年级学生的DSP导论学习。这些实验从传统的音频处理开始,以视频对象跟踪处理结束。
也感谢Tom Robbins(以前在Pearson Prentice-Hall)的贡献,他是我们在ECE教育中努力推出DSP课程的早期支持者。Tom从一开始就理解和接受本书的理念,并且在项目初期和2003年出版那本书的过程中给予了我们鼓励。最近,Andrew Gilfillan 和 Julie Bai两位编辑为本书第2版的出版付出了辛勤的工作。
最后,我们想感谢爱人(Carolyn McClellan、Dorothy Schafer和Sarah Yoder)的理解和支持。第1章中插入了Carolyn的猫Kilby的照片(见图1-3)。多年来,她们贡献了大量的精力和时间持续地支持我们来完成这一项目。
James H.McClellan
Ronald W.Schafer
Mark A.Yoder