第1章 数字信号处理设计导论 1
1.1 数字信号处理技术概要 1
1.1.1 数字信号处理技术的发展 1
1.1.2 数字信号处理算法的分类 3
1.1.3 数字信号处理实现方法 4
1.2 基于FPGA的数字信号处理实现 5
1.2.1 FPGA的结构特点 5
1.2.2 FPGA的公共资源 7
1.2.3 基于FPGA的数字信号处理流程 10
1.3 基于DSP的数字信号处理实现 14
1.3.1 DSP的结构特点 14
1.3.2 DSP的运行代码及性能 16
第2章 FPGA的硬件结构及运算功能 19
2.1 Virtex-Ⅱ的内部结构及功能 19
2.1.1 Virtex-Ⅱ的逻辑资源 19
2.1.2 寄存器与流水线 21
2.1.3 Virtex-ⅡRAM资源 22
2.1.4 Virtex-Ⅱ嵌入式乘法器 23
2.1.5 Virtex-Ⅱ布线资源 24
2.1.6 Virtex-Ⅱ I/O模块 24
2.2 Virtex-4的结构及功能 26
2.2.1 Virtex-4的结构 26
2.2.2 Virtex-4的逻辑资源 28
2.2.3 DSP48 Slice结构及功能 31
2.2.4 基于DSP48 Slice的FIR滤波器的设计 38
2.3 Virtex-5的结构及功能 43
2.3.1 Virtex-5平台结构 43
2.3.2 Virtex-5的逻辑资源 44
2.3.3 DSP48E Slice结构及功能 48
2.3.4 基于DSP48E的滤波器的设计 68
2.4 基于FPGA的数字表示 73
2.4.1 整数的表示 73
2.4.2 非整数值的表示 75
2.4.3 浮点数定义及表示 78
第3章 信号及其处理理论概述 80
3.1 信号定义及分类 80
3.2 信号增益与衰减 81
3.3 信号失真及测量 81
3.3.1 放大器失真 81
3.3.2 信号谐波失真 82
3.3.3 谐波失真测量 83
3.4 噪声及其处理 83
3.4.1 噪声的定义及表示 83
3.4.2 固有噪声电平 84
3.4.3 噪声/失真链 85
3.4.4 信噪比定义及表示 85
3.4.5 信号的提取方法 86
3.5 模拟信号及处理 87
3.5.1 模拟I/O信号的处理 87
3.5.2 模拟通信信号处理 87
3.6 数字信号及处理 88
3.6.1 通用的输入输出DSP系统 88
3.6.2 信号调理 89
3.6.3 模数转换器ADC及量化效应 92
3.6.4 数模转换器DAC及信号重建 97
3.6.5 SFDR的定义及测量 100
3.7 通信信号的软件处理 100
3.7.1 软件无线电SR的定义 100
3.7.2 IF的软件无线电实现 101
3.7.3 信道化过程 102
3.7.4 基站软件无线电接收机 102
3.7.5 SR采样技术 103
3.7.6 直接数字下变频 104
3.7.7 带通采样失败的解决 104
第4章 CORDIC算法原理及实现 107
4.1 CORDIC简介 107
4.2 CORDIC算法原理 107
4.2.1 圆坐标系旋转 107
4.2.2 线性坐标系旋转 112
4.2.3 双曲线坐标系旋转 112
4.2.4 CORDIC算法一般描述 113
4.3 CORDIC算法性能分析 114
4.3.1 输出量化误差的确定 114
4.3.2 近似误差的分析 115
4.3.3 舍入误差的分析 115
4.3.4 有效位deff的估算 116
4.3.5 预测与仿真 116
4.4 基于System Generator实现CORDIC算法 117
4.4.1 实现CORDIC的循环结构 117
4.4.2 实现CORDIC的非循环结构 119
4.4.3 实现CORDIC的非循环的流水线结构 119
4.4.4 3种实现方式的性能比较 119
第5章 FIR滤波器和IIR滤波器的设计 122
5.1 模拟到数字滤波器的转换 122
5.1.1 微分方程的近似 122
5.1.2 双线性交换 123
5.2 数字滤波器的种类 124
5.3 基本数字FIR滤波器的设计 125
5.3.1 FIR滤波器的特性 125
5.3.2 FIR滤波器的设计规则 132
5.4 数字IIR滤波器的设计 135
5.4.1 IIR滤波器的原理 135
5.4.2 IIR滤波器的模型 135
5.4.3 IIR滤波器的z域分析 136
5.4.4 IIR滤波器的性能及稳定性 137
第6章 其他常用数字滤波器的设计 140
6.1 滑动平均滤波器的设计 140
6.1.1 滑动平均原理 140
6.1.2 八权值滑动平均 140
6.1.3 九权值滑动平均 142
6.1.4 滑动平均的转置结构 142
6.2 微分器和积分器的设计 143
6.2.1 微分器频谱特性 143
6.2.2 积分器频谱特性 143
6.3 梳状滤波器的设计 145
6.4 积分器梳状滤波器的设计 145
6.5 中频调制信号的产生和解调 148
6.5.1 中频调制信号的产生 148
6.5.2 中频调制信号的解调 149
6.5.3 CIC抽取提取基带信号 150
6.5.4 CIC滤波器的衰减及修正 152
6.6 CIC滤波器的实现方法 153
6.7 CIC滤波器的位宽确定 155
6.7.1 CIC抽取滤波器的位宽确定 155
6.7.2 CIC插入滤波器的位宽确定 157
6.8 CIC滤波器的锐化 157
6.8.1 SCIC滤波器的特性 157
6.8.2 ISOP滤波器的特性 160
6.9 CIC滤波器的递归和非递归结构 163
第7章 重定时信号流图 168
7.1 信号流图基本概念 168
7.1.1 信号流图关键路径 168
7.1.2 信号流图的延迟 169
7.2 割集重定时及规则 169
7.2.1 割集重定时概念 169
7.2.2 割集重定时规则1 170
7.2.3 割集重定时规则2 172
7.2.4 两种重定时FIR的SFG 176
7.3 脉动阵列 181
7.3.1 脉动阵列简介 181
7.3.2 FIR滤波器脉动阵列及重定时 182
7.3.3 IIR滤波器脉动阵列及重定时 188
7.4 自适应滤波器的SFG 191
第8章 数字通信信号处理原理及实现 193
8.1 信号检测理论 193
8.1.1 概率的柱状图表示 193
8.1.2 概率密度函数 194
8.2 二进制基带数据传输 196
8.2.1 脉冲整形 196
8.2.2 基带传输信号接收错误 198
8.2.3 匹配滤波器的应用 200
8.3 信号调制技术 203
8.3.1 信道与带宽 203
8.3.2 信号调制技术 204
8.3.3 数字信号的传输 221
第9章 自适应信号处理理论基础 223
9.1 自适应信号处理技术背景 223
9.2 自适应信号处理系统的结构 224
9.2.1 一般信号处理系统的结构 224
9.2.2 数字FIR滤波器的指标 224
9.2.3 自适应数字滤波器 225
9.2.4 自适应数字信号处理结构 226
9.2.5 模拟接口 227
9.2.6 自适应信号处理的不同结构 227
9.3 自适应信号处理的应用 228
9.3.1 信道识别 228
9.3.2 回波对消 229
9.3.3 声学回音消除 230
9.3.4 电线交流噪声抑制 231
9.3.5 背景噪声抑制 231
9.3.6 信道均衡 232
9.3.7 自适应谱线增强 233
9.4 自适应信号处理算法 233
9.4.1 均方误差最小化算法 234
9.4.2 LMS算法 237
9.4.3 RLS算法 241
9.4.4 有源噪声控制 246
第10章 基于FPGA的自适应信号处理实现 247
10.1 LMS硬件实现结构 247
10.1.1 LMS硬件实现结构原理 247
10.1.2 串行LMS结构 248
10.1.3 重定时SLMS结构 249
10.1.4 非规范的LMS(NCLMS)结构 250
10.1.5 流水线LMS结构 251
10.1.6 超前技术 253
10.1.7 PIPLMS结构 254
10.1.8 PIPLMSK结构 255
10.1.9 PIPLMS1结构 255
10.1.10 DLMS结构 256
10.1.11 ALMS结构 257
10.1.12 复数LMS 257
10.1.13 RLS和LMS技术的比较 259
10.2 最小二乘解的计算 260
10.2.1 最小二乘的计算原理 260
10.2.2 最小二乘法计算 261
10.2.3 递推最小二乘算法 262
10.3 指数RLS算法实现 263
10.3.1 指数RLS算法原理 263
10.3.2 指数递归最小二乘 263
10.4 QR-RLS算法原理及实现 264
10.4.1 RLS的QR分解 264
10.4.2 RLS QR的解 265
10.4.3 QR分解的实现 265
10.4.4 QR算法的FPGA实现 266
10.4.5 QR-RLS的三数组方法 267
第11章 信号同步原理及实现 269
11.1 信号的同步问题 269
11.2 信号定时及定时恢复 270
11.2.1 信号定时原理 270
11.2.2 信号定时恢复 270
11.2.3 载波相位偏移及控制 274
11.2.4 帧同步的实现原理 278
11.2.5 数字下变频 279
11.2.6 数控振荡器的原理及实现 280
11.2.7 BPSK接收信号的同步 282
第12章 基于AccelDSP的数字信号处理的实现 285
12.1 AccelDSP软件设计流程 285
12.1.1 AccelDSP软件功能概述 285
12.1.2 AccelDSP综合流程 285
12.2 基于AccelDSP的设计实现 289
12.2.1 设计原理 289
12.2.2 创建工程 290
12.2.3 M代码编写 291
12.2.4 验证浮点模型 294
12.2.5 产生定点模型 295
12.2.6 验证定点模型 296
12.2.7 浮定点对比 297
12.3 RTL模型 297
12.3.1 RTL模型的产生 297
12.3.2 验证RTL模型 299
12.3.3 综合RTL模型 299
12.3.4 实现过程 300
12.3.5 验证门级网表 301
12.4 采用System Generator流程 301
实验1 System Generator软件工具的使用 303
1.1 实验目的 303
1.2 实验环境 303
1.3 软件使用介绍 303
1.3.1 System Generator和MATLAB软件的连接 303
1.3.2 Xilinx工具模块的功能 304
1.4 实验原理 305
1.5 实验步骤 306
1.5.1 工程中各个模块参数的设置方法及功能 306
1.5.2 工程中具体参数的设置及运行 313
实验2 基于DSP48X的FIR的设计 316
2.1 实验目的 316
2.2 实验环境 316
2.3 实验原理 316
2.4 实验步骤 318
2.4.1 非对称滤波器的设计 318
2.4.2 对称滤波器的设计 319
2.4.3 多路复用滤波器的设计 319
2.5 实验分析 321
实验3 CORDIC算法的设计 322
3.1 实验目的 322
3.2 实验环境 322
3.3 实验原理 322
3.4 实验步骤 323
3.4.1 CORDIC算法收敛性验证 323
3.4.2 CORDIC子系统的设计 325
3.4.3 圆形坐标系的算术功能的设计 326
3.4.4 添加流水线技术的CORDIC体系结构的两种设计方法 327
3.4.5 向量幅值精度的研究 327
3.5 实验分析 328
实验4 FIR滤波器设计 330
4.1 实验目的 330
4.2 实验环境 330
4.3 实验原理 330
4.4 实验步骤 332
4.4.1 简单FIR滤波器的设计和比较 332
4.4.2 使用FDA Tool模块设计滤波器 334
4.4.3 XUP Virtex-Ⅱ Pro板上的音频滤波 338
4.5 实验分析 341
实验5 CIC滤波器的设计 342
5.1 实验目的 342
5.2 实验环境 342
5.3 实验原理 342
5.4 实验步骤 343
5.4.1 一级CIC滤波器的设计 343
5.4.2 多级CIC滤波器的设计 345
5.4.3 CIC插值和抽取滤波器的设计 346
5.5 实验分析 347
实验6 数字通信信号处理 348
6.1 实验目的 348
6.2 实验环境 348
6.3 实验原理 348
6.4 实验步骤 349
6.4.1 发射机的设计 349
6.4.2 脉冲形成和匹配滤波器的设计 350
6.4.3 接收机的设计 350
6.5 实验分析 351
实验7 数字变频器的设计 352
7.1 实验目的 352
7.2 实验环境 352
7.3 实验原理 352
7.4 实验步骤 354
7.4.1 数字上变频的设计 354
7.4.2 数字下变频的设计 355
7.5 实验分析 356
实验8 数控振荡器的设计 357
8.1 实验目的 357
8.2 实验环境 357
8.3 实验原理 357
8.4 实验步骤 358
8.5 实验分析 360
实验9 脉冲整形滤波器的设计 361
9.1 实验目的 361
9.2 实验环境 361
9.3 实验原理 361
9.4 实验步骤 362
9.4.1 采用滤波器实现脉冲整形的设计 362
9.4.2 量化和频谱屏蔽的设计 363
9.5 实验分析 364
实验10 自适应滤波器的设计 365
10.1 实验目的 365
10.2 实验环境 365
10.3 实验原理 365
10.4 实验步骤 366
10.4.1 标准并行自适应LMS滤波器的设计 366
10.4.2 非规范式LMS滤波器的设计 367
10.4.3 使用可配置的LMS音频 367
10.5 实验分析 367
实验11 系统同步的设计 368
11.1 实验目的 368
11.2 实验环境 368
11.3 实验原理 368
11.4 实验步骤 370
11.4.1 相位锁相环的设计 370
11.4.2 载波同步的设计 371
11.5 实验分析 374
参考文献 376