第一篇 DSP系统的组成和处理方法 3
第1章 信号处理理论 3
1.1 信号定义及分类 3
1.2 信号增益与衰减 4
1.3 信号失真及测量 4
1.3.1 放大器失真 4
1.3.2 信号谐波失真 5
1.3.3 谐波失真测量 6
1.4 噪声及处理方法 6
1.4.1 噪声的定义及表示 6
1.4.2 固有噪声电平 7
1.4.3 噪声/失真链 8
1.4.4 信噪比定义及表示 8
1.4.5 信号的提取方法 9
1.5 模拟信号及处理方法 10
1.5.1 模拟I/O信号的处理 10
1.5.2 模拟通信信号处理 11
1.6 数字信号处理关键问题 11
1.6.1 数字信号处理系统结构 11
1.6.2 信号调理方法 12
1.6.3 模数转换器ADC及量化效应 17
1.6.4 数模转换器DAC和信号重建 22
1.6.5 SFDR的定义及测量 25
1.7 通信信号软件处理方法 26
1.7.1 软件无线电的定义 26
1.7.2 IF的软件无线电实现 27
1.7.3 信道化处理 27
1.7.4 基站软件无线电接收机 28
1.7.5 SR采样技术 29
1.7.6 直接数字下变频 30
1.7.7 带通采样失败的解决 31
第2章 数字信号处理实现方法 33
2.1 数字信号处理技术概念 33
2.1.1 数字信号处理技术的发展 33
2.1.2 数字信号处理算法的分类 35
2.1.3 数字信号处理实现方法 36
2.2 基于DSP的数字信号处理实现方法 37
2.2.1 DSP的结构特点 37
2.2.2 DSP的运行代码及性能 39
2.3 基于FPGA的数字信号处理实现方法 42
2.3.1 FPGA原理 42
2.3.2 FPGA的逻辑资源 43
2.3.3 FPGA的高性能处理 51
2.3.4 FPGA的最新发展 53
第3章 数字的表示和运算的实现 55
3.1 整数的表示方法 55
3.1.1 二进制原码格式 55
3.1.2 二进制反码格式 56
3.1.3 二进制补码格式 57
3.2 整数值运算的HDL描述 57
3.2.1 整数加法的HDL描述 58
3.2.2 整数减法的HDL描述 61
3.2.3 整数乘法的HDL描述 63
3.2.4 整数除法的HDL描述 66
3.3 定点数的表示方法 69
3.3.1 定点二进制数格式 70
3.3.2 定点量化 71
3.3.3 归一化处理 72
3.3.4 小数部分截断 73
3.3.5 一种不同的方法Trounding 73
3.4 定点数运算的HDL描述 74
3.4.1 定点数加法的HDL描述 75
3.4.2 定点数减法的HDL描述 77
3.4.3 定点乘法的HDL描述 78
3.4.4 定点除法的HDL描述 80
3.5 浮点数的表示方法 82
3.5.1 浮点数的格式 82
3.5.2 浮点数的短指数表示 83
3.6 浮点运算的HDL描述 83
3.6.1 单精度浮点数加法的HDL描述 84
3.6.2 单精度浮点数减法的HDL描述 85
3.6.3 单精度浮点数乘法的HDL描述 86
3.6.4 单精度浮点数除法的HDL描述 86
第二篇 数字信号处理基本理论和FPGA实现方法 91
第4章 CORDIC算法原理及实现 91
4.1 CORDIC算法原理 91
4.1.1 圆坐标系旋转 91
4.1.2 线性坐标系旋转 95
4.1.3 双曲线坐标系旋转 96
4.1.4 CORDIC算法一般描述 96
4.2 CORDIC算法性能分析 97
4.2.1 输出量化误差的确定 97
4.2.2 近似误差的分析 98
4.2.3 舍入误差的分析 99
4.2.4 有效位deff的估算 99
4.2.5 预测与仿真 100
4.3 CORDIC硬件实现原理 100
4.3.1 CORDIC循环结构的实现原理 100
4.3.2 CORDIC非循环结构的实现原理 103
4.3.3 实现CORDIC的非循环的流水线结构 104
4.3.4 3种实现方式的性能比较 104
4.4 CORDIC算法收敛性及实现 104
4.4.1 CORDIC算法收敛性原理 105
4.4.2 CORDIC象限映射实现 105
4.4.3 向量模式的CORDIC迭代实现 107
4.4.4 旋转模式的CORDIC迭代实现 110
4.5 CORDIC子系统的设计 111
4.5.1 CORDIC单元的设计 112
4.5.2 参数化CORDIC单元 113
4.5.3 旋转后标定的实现 115
4.5.4 旋转后的象限解映射 116
4.6 圆形坐标系算术功能的设计 117
4.6.1 反正切的实现 117
4.6.2 正弦和余弦的实现 118
4.6.3 向量幅度的计算 119
4.7 流水线技术的CORDIC实现 120
4.7.1 带有流水线并行阵列的实现 120
4.7.2 串行结构实现 121
4.7.3 比较并行和串行实现 122
4.8 向量幅值精度的研究 124
4.8.1 CORDIC向量幅度:设计任务 124
4.8.2 验证计算精度 125
第5章 离散傅里叶变换原理及信号频谱分析实现 127
5.1 傅里叶变换的几种形式 127
5.1.1 连续时间、连续频率——连续傅里叶变换 127
5.1.2 连续时间、离散频率——傅里叶级数 128
5.1.3 离散时间、连续频率——序列的傅里叶变换 128
5.1.4 离散时间、离散频率——离散傅里叶变换 129
5.2 周期序列的离散傅里叶级数 130
5.3 离散傅里叶变换 132
5.4 离散傅里叶级数与离散傅里叶变换的关系 133
5.5 离散傅里叶变换和z变换的关系 134
5.6 离散傅里叶变换的性质 135
5.6.1 线性 135
5.6.2 循环移位定理 136
5.6.3 循环卷积定理 137
5.6.4 复共轭序列的DFT 138
5.6.5 DFT的共轭对称性 140
5.7 频率域抽样理论 141
5.8 离散傅里叶变换应用举例 143
5.9 离散傅里叶变换的信号谱分析 146
5.9.1 连续信号谱分析 146
5.9.2 谱分析存在的问题 148
5.10 离散傅里叶变换信号分析的实现 150
5.10.1 构建频谱分析模型 150
5.10.2 配置模型参数 151
5.10.3 设置仿真参数 153
5.10.4 运行和分析仿真结果 153
第6章 快速傅里叶变换FFT 154
6.1 FFT的发展背景 154
6.2 FFT快速变换的需求 155
6.3 按时间抽取的基-2 FFT算法 156
6.3.1 按时间抽取的基-2 FFT算法原理 156
6.3.2 运算量分析 159
6.4 按频率抽取的基-2 FFT算法 159
6.4.1 按频率抽取的基-2 FFT算法原理 159
6.4.2 运算量分析 161
6.5 离散傅里叶反变换的快速计算 162
6.6 混合基FFT算法 162
6.7 FFT的C模型描述和实现 163
6.7.1 创建新的设计工程 163
6.7.2 创建源文件 163
6.7.3 设计综合 167
6.7.4 创建仿真测试文件 168
6.7.5 运行协同仿真 169
6.7.6 添加PIPELINE命令 169
6.7.7 添加ARRAY PARTITION命令 171
第7章 离散余弦变换原理及实现 173
7.1 DCT的定义 173
7.2 DCT-2和DFT的关系 174
7.3 DCT变换的应用 175
7.4 二维DCT变换原理 175
7.4.1 二维DCT变换方法 175
7.4.2 二维DCT算法描述 176
7.5 二维DCT变换实现 178
7.5.1 创建新的设计工程 178
7.5.2 创建源文件 178
7.5.3 设计综合 182
7.5.4 创建仿真测试文件 183
7.5.5 运行协同仿真 185
7.5.6 添加PIPELINE命令 185
7.5.7 修改PIPELINE命令 186
7.5.8 添加PARTITION命令 187
7.5.9 添加DATAFLOW命令 189
7.5.10 添加INLINE命令 190
7.5.11 添加RESHAPE命令 191
7.5.12 修改RESHAPE命令 192
第8章 FIR滤波器和IIR滤波器原理及实现 195
8.1 模拟到数字滤波器的转换 195
8.1.1 微分方程近似 195
8.1.2 双线性交换 196
8.2 数字滤波器的分类和应用 198
8.3 FIR数字滤波器的原理和结构 198
8.3.1 FIR数字滤波器的特性 198
8.3.2 FIR滤波器的设计规则 206
8.3.3 FIR滤波器的转置结构 208
8.4 IIR数字滤波器的原理和结构 210
8.4.1 IIR滤波器的原理 210
8.4.2 IIR滤波器的模型 210
8.4.3 IIR滤波器的z域分析 211
8.4.4 IIR滤波器的性能及稳定性 212
8.5 DA FIR滤波器的设计 214
8.5.1 DA FIR滤波器的设计原理 214
8.5.2 移位寄存器模块设计 217
8.5.3 查找表模块的设计 221
8.5.4 查找表加法器模块的设计 224
8.5.5 缩放比例加法器模块的设计 228
8.5.6 DA FIR滤波器完整的设计 230
8.6 MAC FIR滤波器设计 233
8.6.1 12×8乘和累加器模块的设计 234
8.6.2 数据控制逻辑模块设计 237
8.6.3 地址生成器模块的设计 241
8.6.4 完整的MAC FIR滤波器的设计 244
8.7 FIR Compiler滤波器的设计 253
8.7.1 生成FIR滤波器系数 253
8.7.2 建模FIR滤波器模型 255
8.7.3 仿真FIR滤波器模型 257
8.7.4 修改FIR滤波器模型 259
8.7.5 仿真修改后FIR滤波器模型 260
8.8 HLS FIR滤波器的设计 261
8.8.1 设计原理 261
8.8.2 设计FIR滤波器 261
8.8.3 运行仿真和验证功能 263
8.8.4 设计综合 265
8.8.5 设计优化 266
8.8.6 Vivado环境下的RTL仿真 267
第9章 其他类型数字滤波器原理及实现 270
9.1 滑动平均滤波器原理及结构 270
9.1.1 滑动平均一般原理 270
9.1.2 8权值滑动平均结构及特性 271
9.1.3 9权重滑动平均结构及特性 272
9.1.4 滑动平均滤波器的转置结构 273
9.2 微分器和积分器原理及特性 274
9.2.1 微分器原理及特性 274
9.2.2 积分器原理及特性 275
9.3 积分梳状滤波器原理及特性 276
9.4 中频调制信号产生和解调 279
9.4.1 中频调制信号的产生 279
9.4.2 中频调制信号的解调 280
9.4.3 CIC提取基带信号 281
9.4.4 CIC滤波器的衰减及修正 283
9.5 CIC滤波器实现方法 284
9.6 CIC滤波器位宽确定 285
9.6.1 CIC抽取滤波器位宽确定 285
9.6.2 CIC插值滤波器位宽确定 288
9.7 CIC滤波器的锐化 288
9.7.1 SCIC滤波器的特性 288
9.7.2 ISOP滤波器的特性 291
9.8 CIC滤波器的递归和非递归结构 294
9.9 CIC滤波器的实现 297
9.9.1 单级定点CIC滤波器的设计 297
9.9.2 滑动平均滤波器的设计 301
9.9.3 多级定点GIC滤波器的设计 304
9.9.4 浮点GIG滤波器的设计 306
9.9.5 CIC插值和抽取滤波器的设计 307
第10章 重定时信号流图原理及实现 309
10.1 信号流图基本概念 309
10.1.1 信号流图关键路径 309
10.1.2 信号流图的延迟 310
10.2 割集重定时及规则 311
10.2.1 割集重定时概念 311
10.2.2 割集重定时规则1 311
10.2.3 割集重定时规则2 313
10.2.4 两种重定时FIR的信号流图 318
10.3 脉动阵列及重定时 321
10.3.1 脉动阵列概念 322
10.3.2 FIR滤波器脉动阵列及重定时 322
10.3.3 IIR滤波器脉动阵列及重定时 328
10.4 自适应滤波器的SFG 331
第三篇 通信信号处理理论和FPGA实现方法 335
第11章 通信信号处理原理及实现 335
11.1 信号检测理论 335
11.1.1 概率的柱状图表示 335
11.1.2 概率密度函数 337
11.2 二进制基带数据传输 339
11.2.1 脉冲整形 339
11.2.2 基带传输信号接收错误 340
11.2.3 匹配滤波器的应用 343
11.3 信号调制技术 346
11.3.1 信道与带宽 346
11.3.2 信号调制技术 347
11.3.3 数字信号的传输 364
11.4 脉冲整形滤波器原理及实现 365
11.4.1 脉冲整形滤波器原理 365
11.4.2 上采样-滤波器脉冲整形的实现 367
11.4.3 多相内插脉冲整形滤波器的实现 368
11.4.4 量化和频谱屏蔽的实现 370
11.5 发射机原理及实现 374
11.5.1 发射机原理 374
11.5.2 发射机实现 375
11.6 脉冲生成和匹配滤波器的实现 380
11.6.1 脉冲生成原理和实现 380
11.6.2 匹配滤波器原理和实现 382
11.7 接收机原理及实现 383
11.7.1 接收机原理 383
11.7.2 理想信道接收机实现 383
11.7.3 非理想信道接收机实现 386
第12章 数控振荡器原理及实现 389
12.1 数控振荡器的原理 389
12.2 查找表数控振荡器原理及实现 391
12.2.1 查找表数控振荡器原理 391
12.2.2 使用累加器生成一个斜坡函数 391
12.2.3 累加器精度的影响分析 392
12.2.4 使用查找表生成正弦波 393
12.2.5 分析步长对频率分辨率的影响 394
12.2.6 频谱纯度的分析 395
12.2.7 分析查找表深度和无杂散动态范围 396
12.2.8 查找表深度和实现成本 397
12.2.9 动态频率的无杂散动态范围 399
12.2.10 带有抖动的无杂散动态范围 400
12.2.11 调谐抖动个数 401
12.2.12 创建一个抖动信号 402
12.3 IIR滤波器数控振荡器原理及实现 403
12.3.1 IIR滤波器数控振荡器原理 403
12.3.2 使用IIR滤波器生成正弦波振荡器 404
12.3.3 IIR振荡器的频谱纯度分析 405
12.3.4 32位定点IIR滤波器生成正弦波振荡器 406
12.3.5 12位定点IIR滤波器生成正弦波振荡器 407
12.3.6 8位定点IIR滤波器生成正弦波振荡器 408
12.4 CORDIC数控振荡器实现 409
12.4.1 象限修正正弦/余弦CORDIC振荡器 409
12.4.2 锯齿波驱动正弦/余弦CORDIC振荡器 411
第13章 信号同步原理实现 412
13.1 信号的同步问题 412
13.2 符号定时及定时恢复 413
13.2.1 符号定时原理 413
13.2.2 符号定时恢复 414
13.2.3 载波相位偏移及控制 417
13.2.4 帧同步原理 421
13.2.5 数字下变频原理 422
13.2.6 BPSK接收信号的同步原理 423
13.3 数字变频器原理及实现 426
13.3.1 数字上变频原理及实现 426
13.3.2 数字下变频原理及实现 430
13.4 锁相环原理及实现 436
13.4.1 锁相环原理 436
13.4.2 相位检测器的实现 437
13.4.3 环路滤波器的实现 438
13.4.4 相位检测器和环路滤波器的实现 439
13.4.5 2型PLL的实现 440
13.4.6 1型PLL和2型PLL性能比较 442
13.4.7 噪声对2型PLL的影响 443
13.5 载波同步的实现 444
13.5.1 科斯塔斯环的实现 444
13.5.2 平方环的实现 445
13.6 定时同步的实现 446
13.6.1 匹配滤波器和最大有效点 446
13.6.2 超前滞后门同步器 447
第四篇 数字图像处理理论和FPGA实现方法 453
第14章 数字图像处理原理及实现 453
14.1 数字图像处理基本方法 453
14.1.1 灰度变换 453
14.1.2 直方图处理 454
14.1.3 空间滤波 457
14.2 System Generator数字图像处理实现 460
14.2.1 打开图像滤波器设计 460
14.2.2 分析数字图像滤波器 461
14.2.3 分析输入和输出缓存模块 465
14.2.4 准备硬件协同仿真 466
14.2.5 运行硬件协同仿真 468
14.3 HLS图像边缘检测实现 471
14.3.1 创建新的设计工程 471
14.3.2 创建源文件 472
14.3.3 设计综合 474
14.3.4 创建仿真测试文件 476
14.3.5 运行协同仿真 477
14.3.6 添加循环控制命令 477
14.3.7 添加DATAFLOW命令 479
14.3.8 添加INLINE命令 480
第15章 动态视频拼接原理及实现 483
15.1 视频拼接技术发展 483
15.2 图像拼接理论及关键方法 485
15.2.1 图像拼接系统概述 485
15.2.2 图像拼接流程 486
15.2.3 图像采集及表示 486
15.2.4 图像配准和融合 489
15.2.5 图像拼接演示 490
15.3 图像配准方法的原理及实现 493
15.3.1 基于MATLAB的图像配准系统 494
15.3.2 关键点配准法 495
15.3.3 SIFT图像配准算法 497
15.3.4 模板匹配法 503
15.3.5 灰度信息法 504
15.3.6 频域相位相关算法 506
15.3.7 图像配准方法对比与评价 509
15.4 视频拼接系统的设计与实现 511
15.4.1 视频拼接技术 511
15.4.2 视频拼接方法 512
15.4.3 视频拼接系统的实现 513
15.5 FPGA视频拼接系统硬件实现 517
15.5.1 系统结构 517
15.5.2 系统硬件平台总体设计 518
15.5.3 视频数据采集模块 520
15.5.4 视频数据存储模块 523
15.5.5 视频数据显示模块 525
15.5.6 系统硬件平台的测试 529
15.6 FPGA视频拼接系统软件设计 532
15.6.1 系统软件设计概述 532
15.6.2 系统中断部分设计 533
15.6.3 视频采集模块软件设计 534
15.6.4 视频存储模块软件设计 537
15.6.5 视频显示模块软件设计 538
15.6.6 系统整体测试 540
15.7 Vivado HLS图像拼接系统原理及实现 541
15.7.1 OpenCV和HLS视频库 542
15.7.2 AXI4流和视频接口 544
15.7.3 OpenCV到RTL代码转换的流程 545
15.7.4 Vivado HLS实现OpenCV的方法 546
15.7.5 Vivado HLS实现图像拼接 552
第五篇 自适应信号处理理论和FPGA实现方法 565
第16章 自适应信号处理原理及实现 565
16.1 自适应信号处理发展 565
16.2 自适应信号处理系统 566
16.2.1 通用信号处理系统结构 566
16.2.2 FIR滤波器性能参数 567
16.2.3 自适应滤波器结构 568
16.2.4 通用自适应数字信号处理结构 568
16.2.5 自适应信号处理系统模拟接口 569
16.2.6 典型自适应数字信号处理结构 570
16.3 自适应信号处理的应用 571
16.3.1 信道辨识 571
16.3.2 回波对消 572
16.3.3 声学回音消除 573
16.3.4 电线交流噪声抑制 573
16.3.5 背景噪声抑制 574
16.3.6 信道均衡 575
16.3.7 自适应谱线增强 575
16.4 自适应信号处理算法 576
16.4.1 自适应信号处理算法类型 576
16.4.2 自适应滤波器结构 576
16.4.3 维纳-霍普算法 577
16.4.4 最小均方算法 579
16.4.5 递归最小二次方算法 584
16.5 LMS算法的硬件实现结构 589
16.5.1 基本LMS结构 589
16.5.2 串行LMS结构 589
16.5.3 重定时SLMS结构 590
16.5.4 非规范的LMS(NCLMS)结构 591
16.5.5 流水线LMS结构 593
16.5.6 超前技术 595
16.5.7 PIPLMS结构 596
16.5.8 复数LMS结构 599
16.5.9 RLS和LMS技术的比较 601
16.6 自适应滤波器的设计 602
16.6.1 标准并行自适应LMS滤波器的设计 602
16.6.2 非规范并行LMS滤波器的设计 604
16.6.3 使用可配置LMS模块实现LMS音频 605
16.7 自适应信号算法硬件实现方法 607
16.7.1 最小二乘解的计算 607
16.7.2 指数RLS算法实现 610
16.7.3 QR-RLS算法原理及实现 611
16.8 QR-RLS自适应滤波算法的实现 614
16.8.1 QR算法的硬件结构 614
16.8.2 QR-RLS的三数组方法 615
16.8.3 QR边界单元的实现 616
16.8.4 QR内部单元的实现 617
16.8.5 QR数组的实现 619
参考文献 622