本书从MATLAB基础编程和信号处理基础理论讲起,逐步深入,基于MATLAB仿真,结合具体实例,对信号处理相关理论和算法进行讲解。
本书分为12章,主要内容有概述;MATLAB基础;信号采样与频谱分析;滤波器设计;信号估计与检测算法;贝叶斯估计;自适应滤波、谱估计和神经网络;稀疏表示;调制解调算法;雷达信号处理;语音信号处理;算法的芯片级实现和仿真。
本书内容通俗易懂,案例丰富,实用性强,适合信号处理的入门读者和进阶读者阅读,也适用于MATLAB开发人员、信号处理相关领域开发人员。另外,本书也适合作为相关培训机构的教材使用。
沈宙,信号处理专业博士,芯片架构高级工程师,参与多款信号处理系统的开发和设计,主导多款高性能DSP/AI处理器架构和核心模块的设计,精通各种算法的软硬件平台实现,在软硬件仿真和工程落地领域有着非常丰富的实践经验。
第 1 章? 概述 1
1.1 信号处理的概念 2
1.2 信号处理的应用领域 3
1.3 MATLAB 与信号处理 5
1.4 MATLAB 信号处理工具 5
1.5 信号处理流程 6
第 2 章? MATLAB 基础操作 9
2.1 MATLAB 编辑器和调试器 10
2.2 MATLAB 编程基础 11
2.2.1 基本数据类型 11
2.2.2 函数的定义 12
2.2.3 数组、矩阵和单元数组 13
2.2.4 类 14
2.2.5 图像文件的读取和显示 16
2.3 M 文件编程实例 17
2.3.1 实例 1:画一个心形 17
2.3.2 实例 2:三维绘图 18
2.3.3 基于 GPU 的矩阵相乘 20
2.4 通过 C++ 代码调用 MATLAB 函数 23
2.5 如何获取帮助 25
2.6 小结 27
第 3 章? 信号采样与频谱分析 28
3.1 如何获取正确的采样信号 29
3.1.1 实例 1:设置采样频率并显示正确的时域离散信号 29
3.1.2 基带信号采样 31
3.2 频谱分析 32
3.2.1 频谱分析的方法 32
3.2.2 对信号进行离散傅里叶变换 33
3.2.3 对信号进行频谱分析:以矩形脉冲信号为例 35
3.3 根据频谱设定正确的采样频率 40
3.3.1 频率粗估计方法、频率分辨力和栅栏效应 40
3.3.2 奈奎斯特采样定理和频谱混叠 45
3.3.3 实例 2:二维傅里叶变换实现图像信号的频谱分析 47
3.4 短时傅里叶变换和小波变换 51
3.4.1 短时傅里叶变换 51
3.4.2 小波变换 54
3.5 小结 67
第 4 章? 滤波器设计 68
4.1 模拟滤波器设计 69
4.1.1 巴特沃斯滤波器设计实例 70
4.1.2 基于 MATLAB 自带函数进行模拟滤波器设计 72
4.2 数字滤波器设计和 z 变换 76
4.2.1 双线性映射法 76
4.2.2 冲激响应不变法 78
4.3 无限冲激响应滤波器设计 79
4.3.1 IIR 滤波器设计实例 79
4.3.2 IIR 滤波器的相位特性 81
4.3.3 IIR 滤波器设计方法扩展 82
4.4 有限冲激响应滤波器设计 83
4.4.1 基于 z 变换的系统分析 83
4.4.2 窗函数设计 85
4.4.3 频率采样设计 92
4.5 基于 Filter Designer 设计滤波器 93
4.6 小结 96
第 5 章? 信号估计与检测算法 97
5.1 最大似然估计 98
5.1.1 高斯白噪声下的线性最大似然估计(最小二乘估计) 98
5.1.2 高斯彩色噪声下的线性最大似然估计 101
5.1.3 非线性模型最大似然估计求解 102
5.1.4 最大似然估计算法实战 108
5.2 检测理论 116
5.2.1 二元假设检验和多元假设检验 116
5.2.2 接收机和最小错误概率 119
5.2.3 匹配滤波 120
5.3 小结 121
第 6 章? 贝叶斯估计 122
6.1 贝叶斯后验估计 123
6.1.1 线性模型下的贝叶斯估计 123
6.1.2 Chirp 信号参数的 LMMSE 估计 123
6.2 贝叶斯滤波 126
6.2.1 卡尔曼滤波 126
6.2.2 卡尔曼滤波目标跟踪实例 129
6.2.3 扩展卡尔曼滤波算法 131
6.2.4 粒子滤波算法 134
6.3 实战:卡尔曼滤波在惯性导航中的应用 137
6.4 小结 141
第 7 章? 自适应滤波、谱估计和神经网络相关算法 142
7.1 自适应滤波 143
7.1.1 最小均方误差自适应滤波 143
7.1.2 归一化 LMS 自适应滤波 145
7.1.3 递归最小二乘自适应滤波 145
7.2 功率谱估计 146
7.2.1 时域和频域求功率谱 147
7.2.2 Barllet 功率谱估计算法 148
7.2.3 Welch 功率谱估计算法 150
7.2.4 AR 功率谱估计算法 150
7.2.5 MUSIC 算法和 DOA 估计 155
7.3 神经网络 159
7.3.1 基本神经网络结构的实现 159
7.3.2 基于 GPU 实现卷积神经网络图像分类 162
7.4 小结 163
第 8 章? 稀疏表示 164
8.1 L1 正则化 165
8.1.1 次梯度算法 165
8.1.2 近端梯度下降算法 168
8.1.3 最小角回归算法 171
8.1.4 Lasso 算法 173
8.2 压缩感知和信号重构 176
8.2.1 常用稀疏基矩阵 177
8.2.2 OMP 算法 178
8.2.3 stOMP 算法 181
8.3 核磁共振图像恢复 184
8.3.1 核磁共振图像恢复的基本原理和算法 184
8.3.2 基于稀疏表示的核磁共振图像重建 191
8.4 图像降噪 197
8.4.1 MOD 算法 198
8.4.2 K-SVD 算法 201
8.5 图像分类和字典学习 204
8.5.1 SRC 算法 204
8.5.2 DKSVD 算法 206
8.6 小结 207
第 9 章? 调制解调算法 208
9.1 脉冲编码调制 209
9.2 基带信号和升余弦滚降滤波 210
9.3 信号调制 214
9.3.1 2ASK 调制 214
9.3.2 2FSK 调制 215
9.3.3 2PSK 调制 217
9.4 信号解调的基本方法 218
9.4.1 BPSK(二级制相移键控)的解调 219
9.4.2 QPSK 和 MPSK 的解调 221
9.5 载波同步算法 223
9.5.1 锁相环 224
9.5.2 MPSK 载波恢复—科斯塔斯环 229
9.6 位同步算法(Gardner 算法) 234
9.6.1 基带信号和匹配滤波 234
9.6.2 Gardner 算法 235
9.7 中频采样定理 241
9.8 小结 243
第 10 章? 雷达信号处理 244
10.1 线性调频信号 245
10.1.1 时域表达式 245
10.1.2 频域表达式 246
10.1.3 POSP 分析和相位解缠 249
10.1.4 脉冲信号的过采样率 251
10.2 脉冲压缩 253
10.2.1 匹配滤波和脉冲压缩 253
10.2.2 实例:雷达测距 255
10.2.3 峰值旁瓣比及相位 256
10.3 窗函数 258
10.4 调频失配 259
10.5 小结 262
第 11 章? 语音信号处理 263
11.1 语音信号的读取和频谱分析 264
11.2 语音信号的降噪 266
11.3 语音信号变声 269
11.3.1 基于 TSM 的重叠相加 (Overlap-Add,OLA) 270
11.3.2 基于 TSM 的相似波形重复叠加 270
11.3.3 基于 TSM 的相位声码器(Phase Vocoder) 271
11.3.4 shiftPitch 函数解析 272
11.4 梅尔频率倒谱系数 277
11.4.1 MFCC 计算 277
11.4.2 使用 MATLAB 实现 MFCC 278
11.4.3 基于 MFCC 的语音识别 286
11.5 小结 287
第 12 章? 算法的芯片级实现:量化、时序仿真和转Verilog 288
12.1 信号的量化 289
12.2 量化滤波 290
12.3 补码运算 292
12.4 时序仿真 294
12.5 转 Verilog 296
12.6 小结 300
参考文献 301