本书讨论数字信号处理的基本理论与方法。全书共分为五部分,第一部分由前三章组成,主要讨论确定性信号处理,内容包括离散时间信号与系统的基本分析方法,离散傅里叶变换和实现快速傅里叶变换的算法,以及数字滤波器的原理与设计;第二部分由第4章和第5章组成,讨论离散随机信号处理的基本概念和谱估计理论;第三部分由第6章和第7章组成,该部分讨论数字信号处理的基本硬件、实时处理的实现方法和数字处理的误差分析。前两部分各章都给出了相关的MATLAB软件应用示例,全书各章都附有习题。
本书的读者对象是高等院校自动控制、工业自动化及计算机等专业本科学生,亦可供从事数字信号处理的工程技术人员参考。
本书的前身是按电子工业部组织规划,郑南宁教授编写,由原电子部自动化控制教材编审委员会推荐出版的统编教材。原书总结了国内外学者在数字信号处理方面的研究和教学内容,长期作为自动控制及相关电类专业高年级本科生和研究生的教材。本书是编者结合十多年来从事有关数字信号处理科研和教学工作的实践,参考国内外相关的优秀教材,在原教材的基础上重新修订和完善,突出了数字信号处理的基本理论和新的概念。
本课程的参考学时为40学时。本书的主要内容有三部分。其中第一部分由第1,2,3章组成,主要讨论确定性信号处理的基本概念和方法,内容包括离散时间信号与系统的基本分析方法,离散傅里叶变换和实现快速傅里叶变换的算法,以及数字滤波器的原理与设计。这一部分是数字信号处理的最基本内容,也是本书的重点。通过这一部分内容的学习,我们希望读者能建立起离散时间信号与系统的基本概念,并基本掌握时域和频域分析的基本方法和离散时间系统设计的基本知识。第二部分包括第4,5章,讨论了随机信号处理和分析的基本概念与方法,介绍随机信号处理领域极为活跃的谱估计理论。这部分在数字信号处理的实际应用中占有重要地位。第三部分由第6章和第7章组成,该部分内容讨论了采样速率转换、数字信号处理的基本硬件、实时处理的基本方法和数字系统中的有限字长效应和基本分析方法。本教材的各个部分在内容上有相对的独立性,因此在讲授时可以根据学生的专业背景和先修课程的学习内容安排教学内容。另外,在使用本教材时应注意到本门课程有较强的理论性和系统性,它虽然概括了数字信号处理领域中的主要内容,但在某些问题上只作了导论性的阐述,因此在教学中首先应把重点放在基本概念、基本理论和分析方法上,并结合适当的习题和实验内容,使学生深入钻研,彻底弄懂弄通,并在MATLAB软件应用方面使学生巩固和加深对课程内容的理解,为以后的专题研究打下坚实的基础。
本书由西安交通大学郑南宁教授和程洪副教授编写,程洪副教授负责编写第6章的部分内容和各章的MATLAB软件应用示例以及附录A,其余各章和附录B由郑南宁教授重新修订和编写,并负责全书的统稿。本书的编写工作得到《全国高等学校自动化专业系列教材》编审委员会、清华大学萧德云教授、清华大学出版社王一玲主任的关心和支持,并为
本书提出许多宝贵意见。编者的研究生孙冲、王薇洁和平林江等同学也参与了书稿的录入工作,这里一并表示谢意。由于编者水平有限,书中难免还存在一些缺点和错误,殷切希望广大读者批评指正。
绪论 1
第1章 离散时间信号与系统分析基础 5
1.1 离散时间信号分析 5
1.1.1 离散时间信号的表示------序列 5
1.1.2 序列的稳定性与因果性 10
1.1.3 序列的基本运算 10
1.2 连续时间信号的采样 11
1.2.1 采样函数 11
1.2.2 采样信号频谱 12
1.2.3 采样定理 14
1.2.4 样值恢复 17
1.3 离散时间线性系统 20
1.3.1 线性系统 20
1.3.2 离散线性时不变系统 21
1.3.3 离散时间系统的因果性 22
1.3.4 离散时间系统的稳定性 23
1.3.5 线性常系数差分方程 26
1.3.6 离散时间系统的频域响应 27
1.4 z变换 29
1.4.1 z变换的定义及收敛域 29
1.4.2 z反变换 32
1.4.3 z变换的性质 38
1.4.4 z变换域中系统的描述 45
1.4.5 单边z变换 50
1.4.6 用单边z变换求解线性差分方程 52
1.5 z变换与傅里叶变换的关系 54
1.6 本章内容相关的MATLAB应用示例 56
习题与计算机实验题 58
第2章 离散傅里叶变换及其快速算法 64
2.1 离散傅里叶变换(DFT) 64
2.1.1 周期序列与离散傅里叶级数 64
2.1.2 有限长序列与离散傅里叶变换(DFT) 70
2.1.3 利用循环卷积计算线性卷积 79
2.1.4 频域采样 85
2.2 DFT应用中的问题与参数选择 88
2.2.1 混叠现象 88
2.2.2 泄漏现象 89
2.2.3 栅栏效应 90
2.2.4 DFT的参数选择(频率分辨率与计算长度) 91
2.3 快速傅里叶变换(FFT) 95
2.3.1 FFT算法的基本原理 95
2.3.2 按时间抽取的基2FFT算法 96
2.3.3 按频率抽取的基2FFT算法 100
2.3.4 任意基数的FFT算法 103
2.3.5 快速傅里叶反变换的运算方法 104
2.3.6 实数序列的FFT运算方法 105
2.3.7 FFT的软件实现 108
2.4 Chirp-z变换(CZT) 109
2.4.1 CZT的定义 109
2.4.2 CZT的算法实现 111
2.5 本章内容相关的MATLAB应用示例 114
习题与计算机实验题 115
第3章 数字滤波器的设计与实现 120
3.1 数字滤波器的基本原理和特性 120
3.1.1 数字滤波器的基本原理 120
3.1.2 FIR数字滤波器的特性 123
3.1.3 IIR数字滤波器的特性 132
3.1.4 滤波器的基本指标 135
3.2 FIR数字滤波器的设计与实现 137
3.2.1 傅里叶级数展开法 137
3.2.2 窗函数法 141
3.2.3 频率采样设计法 149
3.2.4 FIR数字滤波器的实现结构 152
3.3 IIR数字滤波器的设计与实现 155
3.3.1 模拟滤波器 155
3.3.2 s-z变换设计法 162
3.3.3 频率变换法 176
3.3.4 IIR数字滤波器的实现结构 179
3.4 数字滤波器的计算机辅助设计 183
3.4.1 FIR数字滤波器的计算机辅助设计 184
3.4.2 IIR数字滤波器的计算机辅助设计 194
3.5 本章内容相关的MATLAB应用示例 204
习题与计算机实验题 207
第4章 离散随机信号的统计分析基础 214
4.1 离散随机信号分析的基本概念 214
4.2 离散随机过程的统计描述 216
4.2.1 离散随机过程的时域统计描述 216
4.2.2 离散随机过程的频域统计描述 225
4.3 离散线性系统对随机信号的响应 229
4.3.1 系统的稳态响应 229
4.3.2 互功率谱和系统的频率响应 232
4.4 本章内容相关的MATLAB应用示例 235
习题与计算机实验题 236
第5章 随机信号的功率谱估计 242
5.1 估计理论的基本原理 243
5.2 自相关函数的估计 246
5.3 周期图法 249
5.3.1 周期图的定义 249
5.3.2 周期图的谱估计性能 250
5.3.3 平均周期图法 254
5.4 参数估计法 258
5.4.1 自回归模型分析法 258
5.4.2 最大熵谱估计 267
5.4.3 预测误差格型滤波器与伯格(Burg)算法 273
5.4.4 噪声对最大熵谱估计的影响 281
5.5 本章内容相关的MATLAB应用示例 285
习题与计算机实验题 286
第6章 实时处理 289
6.1 数字信号实时处理的基本硬件 289
6.1.1 基本运算 289
6.1.2 数字信号处理的FPGA实现 297
6.2 实时滤波 298
6.2.1 实时滤波中的系数缩放 298
6.2.2 用查表法实现数字滤波器 303
6.3 噪声滤除和信号增强 309
6.3.1 噪声的产生 309
6.3.2 加性噪声滤除 311
6.3.3 乘性噪声滤除 312
6.4 采样速率的转换 316
6.5 波形发生器 319
6.5.1 正弦波发生器 320
6.5.2 周期方波发生器 322
习题与计算机实验题 324
第7章 数字信号处理的误差分析 327
7.1 数的表示对量化的影响 327
7.1.1 二进制数的定点与浮点表示 327
7.1.2 原码、补码和反码 329
7.1.3 截尾与舍入效应 331
7.2 A/D转换的量化误差分析 336
7.3 FFT系统的量化误差分析 339
7.3.1 FFT系统定点运算的量化误差分析 339
7.3.2 FFT系统浮点运算的量化误差分析 343
7.3.3 FFT运算中的系数量化误差分析 346
7.4 数字滤波器的系数量化误差 348
7.4.1 递归数字滤波器的系数量化误差 348
7.4.2 非递归数字滤波器的系数量化误差 352
7.5 数字滤波器的运算量化误差 353
7.5.1 递归数字滤波器的定点运算量化误差 353
7.5.2 递归数字滤波器的浮点运算量化误差 356
7.5.3 递归滤波器的极限循环振荡 358
7.5.4 非递归数字滤波器的运算量化误差 360
习题 361
附录A 数字信号处理MATLAB实现的基本知识 367
A.1 MATLAB基本知识 368
A.1.1 常用命令 368
A.1.2 向量和矩阵的生成及运算 368
A.1.3 MATLAB程序编制及调试 371
A.1.4 数字信号的基本运算和显示 377
A.2 信号处理工具箱 382
附录B 数字信号处理应用程序^* 385
B.1 DSP程序目录 385
B.2 DSP应用程序 386
参考文献 415