《Xilinx FPGA数字信号处理权威指南 从HDL到模型和C的描述》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:何宾,张艳辉编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302373414
  • 页数:622 页
图书介绍:本书全面而又系统地介绍了基于FPGA实现数字信号处理的原理及方法。全书包括12章和11个实验,主要内容包括数字信号处理设计导论、FPGA的硬件结构及运算功能、信号及其处理理论概述、CORDIC算法原理及实现等。

第一篇 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