数字信号处理导论——MATLAB 实 现
Introduction to Digital Signal Processing Using MATLAB
桑德拉 ·L ·哈里斯 殷勤业 王文杰 邓 科 张建国
本 书《数字信号处理导论——MATLAB 实 现》的新版将原来的两部分改为三个部分:
I.信号与系统分析;Ⅱ.数字滤波器设计;Ⅲ.高级信号处理。将基础内容扩展为导论性介 绍并增加例子和案例学习以及大量的章末习题。
全书共9章内容:
1. 信号处理 6.FIR 滤波器设计
2. 离散时间系统的时域分析 7.IIR 滤波器设计
3. 离散时间系统的频域分析 8. 多速率信号处理
4. 傅里叶变换与信号的频谱 9. 自适应信号处理
5. 滤波器设计规范 ● 附 录
书中每一章都遵循“动机”→“概念、技术、例题”→ "GUI软件、案例学习”→“习 题”的结构由简单到复杂来进行介绍,对更深入和特殊的内容在章末标有“*”。
本书的一个独有特点是FDSP 工具箱,它包含了每章的GUI模块,信号处理函数库, 书中出现的所有的MATLAB 例子、图和表格,以及在线帮助。
本书适合作为电气、电子与计算机专业及数字信号处理相关领域的本科生和低年级的 研究生的教材,也可供工程技术人员和自学者使用。
作者简介
罗伯特 J · 希林 (Robert J.Schilling) 美国克拉克森大学电气与计算机工程教授。
桑德拉 L · 哈里斯 (Sandra L.Haris) 美国克拉克森大学化学工程副教授。
西安交通大学出版社
Xi'an Jiaotong University Press
数字信号处理是信息与通信工程、电气工程、电子科学与技术、自动控制科学 与工程、生物医学工程等学科领域中最重要的基础课程,也是绝大多数理工类学 科的必修课程。关于本书的指导思想、使用对象以及内容安排,作者在前言中已 经做了细致的介绍,在此无须重复。
原著的第一版名为 Fundamentals of Digital Signal Processing Using MAT- LAB(数字信号处理基础——MATLAB 实现),是由 THOMSON 于2005年出 版,而后经过原作者调整、修改,于2012年形成了第二版,其书名为Introduction to Digital Signal Processing Using MATLAB(数字信号处理导论——MATLAB 实现),由CENGAGE Learning 出版。相比之下,第二版较之第一版更适合于高 校结合 MATLAB 环境进行本科生和研究生的教学,其章节思路更为清晰,结合 实际应用的特色更为明显。
全书分为九章,第1章和第2章由殷勤业翻译,第3章、第7章和第8章由王 文杰翻译,第4章和第9章由邓科翻译,第5章和第6章由张建国翻译,全书由殷 勤业统一整理。此外,在本书的翻译过程中,得到了王慧明副教授、王晨博士以及 博士生王勃、郑通兴和硕士生董柳青、尹诗媛等的帮助,在此对他们表示诚挚的感 谢。最后向本书的责任编辑赵丽平和鲍媛表示衷心的感谢,在本书的翻译过程 中,始终得到了她们的大力支持与帮助。
原著中有少量输入和排版的疏漏,在翻译过程中做了改动。另外,由于本书 中的各种应用涉及面非常广,限于译者的水平和不可避免的主观片面性,翻译不 当或表述不清之处在所难免,恳请广大读者及专家不吝指教,提出修改意见,我们 将不胜感激。
译者
2014年2月
于西安交通大学
数字信号处理,通常称之为 DSP(Digital Signal Processing),是现代技术世界中应用越来 越广泛的研究领域。本书重点讨论数字信号处理基本原理,强调原理的实际应用。《数字信号 处理导论》这本书包括图1所示的三个部分。

读者对象和先决条件
本书主要面向电气与计算机工程及数字信号处理相关领域的大三下学期或大四的学生以 及一年级的研究生。学生应该已修完一门电路课程,或者信号与系统,或者包含介绍傅里叶变 换和拉普拉斯变换的数学课程。本书包括了丰富的内容并提供了足够的灵活性,教师可以安排不同课时数的课程而无需额外的补充材料。掌握MATLAB 编程对学习有帮助但不是必须 的。每章末尾的图形用户界面(GUI) 模块使学生可以交互式地研究信号处理的概念与技术而 不需要任何编程。本书还为那些熟悉MATLAB 并有兴趣自己开发程序的读者提供了MAT- LAB 计算习题。
本书采用了非常规的写作方式,致力于阐明每个新主题的动机,并注重主题之间的过渡衔 接。本书通过使用边注和定义突出重要的术语以方便参考。用命题的形式表述重要的结果以 突出它们的重要性,并将用于实现重要设计的过程步骤总结为算法。为了用直接而有趣的例 子激发学生,本书大量的例题都来源于语音和音乐信号处理。课程软件也将语音和音乐信号 处理作为重点研究对象,读者可以在标准PC 上使用该软件方便地录制语音及声音并进行回 放。学生可以通过这种方式直接体验各种信号处理技术的效果。
本书的每一章都遵循图2所示的章节结构模板。每章的第一节通过介绍一个或多个可以 用本章技术解决的实际问题来阐明学习动机。每章的主体部分则介绍一系列的分析工具与信 号处理技术,这些节中的分析方法和处理技术由简单到复杂。靠近章尾标有“*”的小节表明 本节包含更深入和特殊的内容,可以跳过而不会破坏连贯性。为了详细说明所涉及的原理,本书配有大量的例题。

靠近每章的结尾是GUI 软件和案例学习小节,该节介绍的GUI 模块允许学生交互式地 研究本章的概念和技术而无需任何编程。 GUI 模块的标准用户界面使用简便且易于学习。 由一个模块作为输出创建的数据文件可以作为输入导人到其它的模块。本节还包含案例学 习,它以MATLAB 程序的形式给出了求解实际问题的完整过程。本章小结简练地回顾该章 的重要概念,并以列表的形式给出每一节的学习要点。每章包括了大量的习题,这些习题分为 三种类型并可以交叉索引到每一节。第一类习题是分析与设计问题,通过手动或计算器可以 完成这些习题,它用于测试学生对本章内容的理解,其中的某些习题也是对本章内容的扩充。
第二类习题是GUI 仿真习题,它允许学生使用本章的GUI 模块交互式地研究设计与处理技术。这些习题不要求学生编写程序。最后一类习题是MATLAB 计算习题,这些习题要求读 者使用本章的信号处理技术编写程序。
FDSP工具箱
本书的一个独有特征是包含了一个被称为数字信号处理基础(Fundamentals of Digital Signal Processing,FDSP)工具箱的集成软件包,读者可以从出版社的网站 www.cengage- brain.com/international 下载该软件包。与本书以及本软件有关的问题和评论可以通过 schillin@clarkson.edu 联系作者。
FDSP 工具箱包括每章的GUI 模块,信号处理函数库,书中出现的所有的 MATLAB 例 子、图和表格,以及在线帮助。读者可以通过一个简单的基于菜单的FDSP 驱动程序方便地使 用所有课程软件,使用下面的命令可以由MATLAB 的命令提示符运行该驱动程序。
>>f_dsp
从仅需要标准 MATLAB 解释器的意义上来说,FDSP 工具箱是自包含的。对用户来说, 不需要获取可选的MATLAB 工具箱,如信号处理和滤波器设计工具箱。教师可以索取PDF 格式的习题答案。
支撑材料
读者访问 www.cengagebrain.com 可以获取额外的课程材料。在cengagebrain.com 主 页顶部的搜索框中输入扉页或封底上的 ISBN 进行搜索。该操作将把你带到产品页面,在那 里可以找到上述资源。
致谢
本书的写作持续了一些年,它的完成得到了许多人的帮助。 Brooks/Cole 和 Cengage Learning 委托的审阅专家提出了大量富有思想且有洞察力的建议,最后的书稿吸收了这些建 议。感谢研究生Joe Tari,Rui Guo,和 Lingyun Bai,他们测试了最初的FDSP 工具箱软件。
我们还要感谢Brooks/Cole 的许多职员,他们始终关注本项目直至本书的出版。特别感谢Bill Stenquist, 他始终与我们紧密合作,我们还要感谢 Rose Kernan。由 Cengage Learning出版的 第二版自始至终得到了热忱的出版社全球工程师计划(Global Engineering Program)团队的 大力支持,包括 Swati Meherishi,Hilda Gowans,Lauren Bersos,Tanya Altieri, 和 Chris Shortt。
Robert J.Schilling
Sandra L.Harris
Potsdam,NY


第1章 信号处理
本章内容
1.1 动机
1.2 信号与系统
1.3 连续时间信号的采样
1.4 连续时间信号的重建
1.5 前置滤波器和后置滤波器
1.6 DAC 与 ADC 电路
1.7 FDSP 工具箱
1.8 GUI软件和案例学习
1.9 本章小结
1.10 习题
1.1 动机
信号是一个值会随时间和空间变化的物理变量。如果信号的值随连续的时间变化,则称 为连续时间信号或者模拟信号。日常生活中连续信号的例子有温度、压力、水位、化学浓度、电 压与电流、位置、速度、加速度、力以及扭矩。如果信号仅在离散时间点上取值有效,这样的信 号被称为离散时间信号。尽管一些信号如经济数据本身就是一个离散时间信号,但更为一般 的产生离散时间信号x(k) 的方法是对如下模拟信号x(t) 进行采样。
x(k) x。(kT), |k=0,1,2, … ..
这 里 T 定义为采样间隔或样本间的时间,定义为两端相等。如果x(k) 的幅度取值用有限精 度的数来表述,则这种幅度有限精度量化取值的序列称为数字信号。当一个系统或算法的输 入是一个数字信号x(k), 而它的输出是另一个数字信号y(k) 时,它被称为数字信号处理器。 数字信号处理(DSP) 技术有着广泛的应用,并且在现代社会中起到了越来越重要的作用。其应用范围包括语音识别,雷达和声纳中的目标检测,音乐和视频的处理、石油和天然气的地震 勘探、医学信号处理如 EEG 、EKG, 以及超声波、通信中的信道均衡和卫星图像处理。本书将 侧重于现代数字信号处理技术的开发、实现和应用。
这里我们以数字信号处理和模拟信号处理的比较来引出本章内容。然后将给出一些可以 用数字信号处理技术解决的实际问题,紧接着的是信号的表征与分类,而后提出包括带限的概 念和白噪声信号在内的信号频谱的基本概念。在此基础上,自然地引入采样过程,即一个连续 时间信号产生一个等效的离散时间信号。给出了保证一个模拟信号能通过它的采样进行重建 的简单条件。当这些条件不能满足时,就会出现混叠现象。我们将讨论使用保护滤波器降低 混叠影响的问题。其后是模数转换器和数模转换器等DSP 硬件的研究。硬件的讨论包括与 有限精度转换器相关的量化误差的建模方法。本章还介绍 MATLAB 中一个称为FDSP 的 工 具箱,使用它可以方便地编写简单的DSP 脚本程序。 FDSP 工具箱还提供了大量的图形用户 界面(GUI) 模块,它能够在不需要任何编程的情况下浏览实例和研究数字信号处理技术。图 形用户界面模块g_sample 用于研究信号的采样过程,而相伴模块g_reconstruct 则用于研究信号 的重建过程。本章内容包括了一个案例研究的例题和连续时间与离散时间信号处理的小结。
1.1.1 数 字 和 模 拟 处 理
在过去的很长一段时间里,几乎所有的信号处理都是用模拟电路来实现的,如图1.1所 示。这种模拟电路用运算放大器、电阻和电容来实现频率选择性滤波器。

随着具有嵌入数据转化电路的专用微型处理器的出现(Papamichalis,1990), 现在更常见 的是如图1.2所示的数字化信号处理方式。模拟信号的数字处理比模拟处理更为复杂,从图 1.2可以看到,它至少需要三个组成部分。前置的模数转换器(ADC) 将输入的模拟信号x 。(t) 转化为相应的数字信号x(k) 。 通过一个由软件实现的算法完成对 x(k) 的处理。对于滤波操 作,DSP 算法可由差分方程完成。而其他类型的操作也是有可能的而且被经常遇到。最后输 出的数字信号y(k) 还要由数模转换器(DAC) 转化回相应的模拟信号ya(t)。

尽管比起模拟信号处理DSP 方法要求更多的步骤,但数字形式的处理信号的确有着更大 的优势。关于两种方法优缺点的比较在表1.1中列出。

模拟信号处理的主要优点在于它的速度和成本。数字信号处理不如模拟信号处理迅速是 由于受到A/D 变换电路的采样速率限制。除此之外,如果有大量的运算在两采样之间执行, 那么处理器的时钟频率也是限制因素。速度在实时应用中是一个问题,当可用时,第k 个输出 采样y(k) 必须在来自于ADC 中 第k 个输入采样x(k) 有效期结束前完成其计算并结束其发 送到 DAC 的工作。但实际中也还有预先输入存储整个完整信号而事后离线处理方式。在这 种离线批处理模式中,速度就没有那么重要了。
DSP 硬件往往会比模拟硬件更贵一些,这是因为专用于模拟硬件的印刷电路板上几乎就 看不见任何离散电路元件。 DSP 硬件的成本代价则要取决于所需硬件系统的特征性能。有 些情况下,可以运用已有的PC 去执行实现给定的其它函数功能,而在这样的系统中,附加的 DSP 硬件在总的成本代价中并不算大。
尽管有这些制约,使用DSP 技术的优势还是非常明显的。事实上有关DSP 超出模拟处 理的所有其他特性均在表1.1中罗列。其中最重要的一个优点就是由于DSP 利用软件执行 而所固有的灵活性。尽管模拟电路可以通过电位器在有限的范围内调整它的性能,DSP 算 法 却可以根据环境变化的需要,完全替换更新自适应调整。
DSP 还可以提供比模拟信号处理更高的性能。例如任意幅度响应和线性相位响应的数 字滤波器都是容易设计实现的,而模拟滤波器却做不到。
困扰模拟系统的一个常见问题是元件的数值会随着使用时间和环境条件如温度的改变出 现漂移现象。这使得我们需要定期对元件进行校正和调整。而使用DSP 就不会有漂移现象, 因此也不需要人工校准。
当数据在DSP 系统中已经以数字形式就绪时,可以通过很少或者不用额外的花费就可以 利用系统的操作登入记录数据,因此我们可以监控数据的执行,既可以在本地也可以通过网络 连接进行远程控制。如果检测到一个异常的操作情况,当时的准确时间与种类就能测定,则一 个更高级别的控制系统将会发出警报。而对于模拟系统而言,尽管可以给其增加一个带状纸 条记录机,但这实际上增加了成本,否认了其成本低廉的潜在优势。
软件固有的灵活性使其可以随时改变 DSP 算法的参量,以适应输入信号的特性和处理任 务的变化。对于系统的识别和噪声的主动控制这样的自适应信号处理的应用问题将在第9章中讨论。
1.1.2 总 谐 波 失 真(THD)
随着数字计算机的广泛使用,DSP 的应用现在很常见了。举一个简单的例子,考虑这样 一个问题,设计一个能使输入信号幅度增强而不使信号形状产生失真的音频放大器。该放大器如图1.3中所示,假设输入信号xa(t) 是一个振幅为a 频率为F 。Hz 的纯正弦音频信号。


一个理想的放大器将会产生一个与输入信号成比例并且有一定时延的信号ya(t) 。 例如,如果 比例因子为K 且时延为r, 则得到的输出为

在一个实际的放大器中,输入与输出之间的关系只是近似线性的,所以一些额外的项会出现在实际的输出ya 中。

额外谐波的存在说明被放大的信号有失真,这是由于放大器的非线性所致。例如,如果用一个 振幅a 太大的输入激励该放大器,那么放大器将会饱和,导致其输出成为一种削顶正弦波形, 从而使得扬声器的音频失真。为了定量分析这个失真程度,我们注意到第i 个谐波中的平均
功率是d}/2,i≥1; 而对于直流分量的平均功率为d}/4,i=0 。 因此,信号ya(t) 的平均功率是

输出信号y 。(t)的总谐波失真(THD) 定义为伪谐波成分的功率占总功率的百分比。因 此,可以用下面的式子来衡量放大器输出的质量。

对一个理想的放大器来说,其i≠1,d₁=0; 而且

因此,对一个高质量的放大器来说,总谐波失真很小,而当没有失真现象时其 THD=0 。 假设 放大器的输出被采样成如此长度N=2M 的数字信号。

如果采样间隔设为T=1/(Nfo), 那么这相应于ya(t) 的一个周期。通过用离散傅里叶变换 (DFT) 处理数字信号 x(k), 就能测定d 和θ:,0≤i<M 。 用这样的方法就能够测量总谐波失 真。DFT 作为重要的分析工具将在第4章中介绍。
更多内容见附件
免责声明:
本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。
版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。
本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。