描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121347474丛书名: 电子系统EDA新技术丛书
理论分析到位:系统介绍信号处理的基本理论、CORDIC算法、傅里叶变换、离散余弦变换、数字滤波器、重定时信号流图、多速率信号处理、通信信号处理、自适应信号处理和数字图像处理。
实现方法对比:通过详细介绍数字信号处理器和现场可编程门阵列的内部结构,说
明现场可编程门阵列在数字信号处理方面的巨大优势。
n 混合HDL描述:本书使用两种硬件描述语言,即VHDL和Verilog HDL,系统地介绍了二进制数的不同表示方法,给出了整数运算、定点数运算和浮点数运算的实现与验证方法。
新的设计工具:本书使用Xilinx公司的Vivado 2017/ 2018设计工具,以及MathWorks公司的MATLAB R2016b/R2017b设计工具,其中包含了Xilinx公司新的Model Composer设计工具。
新的设计方法:基于Xilinx新的高级综合工具,通过C语言构建数字信号处理系统模型,并转换成现场可编程门阵列的硬件实现。
第1章信号处理理论基础
11信号定义和分类
12信号增益与衰减
13信号失真与测量
131放大器失真
132信号谐波失真
133谐波失真测量
14噪声及其处理方法
141噪声的定义和表示
142固有噪声电平
143噪声/失真链
144信噪比定义和表示
145信号的提取方法
15模拟信号及其处理方法
151模拟I/O信号的处理
152模拟通信信号的处理
16数字信号处理的关键问题
161数字信号处理系统结构
162信号调理的方法
163模数转换器ADC及量化效应
164数模转换器(DAC)及信号重建
165SFDR的定义和测量
17通信信号软件处理方法
171软件无线电的定义
172中频软件无线电实现
173信道化处理
174基站软件无线电接收机
175SR采样技术
176直接数字下变频
177带通采样失败的解决
第2章数字信号处理实现方法
21数字信号处理技术概念
211数字信号处理技术的发展
212数字信号处理算法的分类
213数字信号处理实现方法
22基于DSP的数字信号处理实现方法
221DSP的结构和流水线
222DSP的运行代码和性能
23基于FPGA的数字信号处理实现方法
231FPGA原理
232FPGA的逻辑资源
233FPGA实现数字信号处理的优势
234FPGA的发展
24FPGA执行数字信号处理的一些关键问题
241关键路径
242流水线
243延迟
244加法器
245乘法器
246并行/串行
247溢出的处理
25高性能信号处理的难点和技巧
251设计目标
252实现成本
253设计优化
第3章数值的表示和运算
31整数的表示方法
311二进制原码格式
312二进制反码格式
313二进制补码格式
32整数加法运算的HDL描述
321无符号整数加法运算的HDL描述
322有符号整数加法运算的HDL描述
33整数减法运算的HDL描述
331无符号整数减法运算的HDL描述
332有符号整数减法运算的HDL描述
34整数乘法运算的HDL描述
341无符号整数乘法运算的HDL描述
342有符号整数乘法运算的HDL描述
35整数除法运算的HDL描述
351无符号整数除法运算的HDL描述
352有符号整数除法运算的HDL描述
36定点数的表示方法
361定点数的格式
362定点量化
363归一化处理
364小数部分截断
365一种不同的表示方法——Trounding
366定点数运算的HDL描述库
37定点数加法运算的HDL描述
371无符号定点数加法运算的HDL描述
372有符号定点数加法运算的HDL描述
38定点数减法运算的HDL描述
381无符号定点数减法运算的HDL描述
382有符号定点数减法运算的HDL描述
39定点数乘法运算的HDL描述
391无符号定点数乘法运算的HDL描述
392有符号定点数乘法运算的HDL描述
310定点数除法运算的HDL描述
3101无符号定点数除法运算的HDL描述
3102有符号定点数除法运算的HDL描述
311浮点数的表示方法
3111浮点数的格式
3112浮点数的短指数表示
312浮点数运算的HDL描述
3121单精度浮点数加法运算的HDL描述
3122单精度浮点数减法运算的HDL描述
3123单精度浮点数乘法运算的HDL描述
3124单精度浮点数除法运算的HDL描述
第4章基于FPGA的数字信号处理的基本流程
41FPGA模型的设计模块
411Xilinx Blockset
412Xilinx Reference Blockset
42配置System Generator环境
43信号处理模型的构建与实现
431信号模型的构建
432模型参数的设置
433信号处理模型的仿真
434生成模型子系统
435模型HDL代码的生成
436打开生成设计文件并仿真
437协同仿真的配置与实现
438生成IP核
44编译MATLAB到FPGA
441模型的设计原理
442系统模型的建立
443系统模型的仿真
45高级综合工具HLS概述
451HLS的特性
452调度和绑定
453提取控制逻辑和I/O端口
46使用HLS实现两个矩阵相乘运算
461设计矩阵相乘模型
462添加C测试文件
463运行和调试C工程
464设计综合
465查看生成的数据处理图
466对设计执行RTL级仿真
467设计优化
468对优化后的设计执行RTL级仿真
47基于Model Composer的DSP模型构建
471Model Composer工具概述
472打开Model Composer工具
473创建一个矩阵运算实现模型
474修改设计中模块的参数
475执行仿真并分析结果
476产生输出
48在Model Composer导入C/C 代码作为定制模块
481建立C/C 代码
482将代码导入Model Composer
483将定制库添加到库浏览器中
第二篇数字信号处理的基本理论和FPGA实现方法
第5章CORDIC算法的原理与实现
51CORDIC算法原理
511圆坐标系旋转
512线性坐标系旋转
513双曲线坐标系旋转
514CORDIC算法通用表达式
52CORDIC循环和非循环结构硬件实现原理
521CORDIC循环结构的原理和实现方法
522CORDIC非循环结构的实现原理
523实现CORDIC非循环的流水线结构
53向量幅度的计算
54CORDIC算法的性能分析
541迭代次数对精度的影响
542总量化误差的确定
543近似误差的分析
544舍入误差的分析
545有效位deff的估算
546预测与仿真
55CORDIC算法的原理和实现方法
551CORDIC算法的收敛性
552CORDIC象限映射的实现
553向量模式下CORDIC迭代的实现
554旋转模式下CORDIC迭代的实现
56CORDIC子系统的设计
561CORDIC单元的设计
562参数化CORDIC单元
563旋转后标定的实现
564旋转后的象限解映射
57圆坐标系算术功能的设计
571反正切的实现
572正弦和余弦的实现
573向量幅度的计算
58流水线技术的CORDIC实现
581带有流水线并行阵列的实现
582串行结构的实现
583比较并行和串行的实现
59向量幅值精度的研究
591CORDIC向量幅度:设计任务
592验证计算精度
第6章离散傅里叶变换的原理与实现
61模拟周期信号的分析——傅里叶级数
62模拟非周期信号的分析——傅里叶变换
63离散序列的分析——离散傅里叶变换
631离散傅里叶变换推导
632频率离散化推导
633DFT的窗效应
64短时傅里叶变换
65离散傅里叶变换的运算量
66离散傅里叶算法的模型实现
661分析复数乘法的实现方法
662分析复数加法的实现方法
663运行设计
第7章快速傅里叶变换的原理与实现
71快速傅里叶变换的发展
72Danielson-Lanczos引理
73按时间抽取的基2 FFT算法
74按频率抽取的基2 FFT算法
75Cooley-Tuckey算法
76基4和基8的FFT算法
77FFT计算中的字长
78基于MATLAB的FFT分析
79基于模型的FFT设计与实现
710基于IP核的FFT实现
7101构建频谱分析模型
7102配置模型参数
7103设置仿真参数
7104运行和分析仿真结果
711基于C和HLS的FFT建模与实现
7111创建新的设计工程
7112创建源文件
7113设计综合
7114创建仿真测试文件
7115运行协同仿真
7116添加PIPELINE命令
7117添加ARRAY_PARTITION命令
第8章离散余弦变换的原理与实现
81DCT的定义
82DCT-2和DFT的关系
83DCT的应用
84二维DCT
841二维DCT原理
842二维DCT算法描述
85二维DCT的实现
851创建新的设计工程
852创建源文件
853设计综合
854创建仿真测试文件
855运行协同仿真
856添加PIPELINE命令
857修改PIPELINE命令
858添加PARTITION命令
859添加DATAFLOW命令
8510添加INLINE命令
8511添加RESHAPE命令
8512修改RESHAPE命令
第9章FIR滤波器和IIR滤波器的原理与实现
91模拟滤波器到数字滤波器的转换
911微分方程近似
912双线性交换
92数字滤波器的分类和应用
93FIR滤波器的原理和结构
931FIR滤波器的特性
932FIR滤波器的设计规则
94IIR滤波器的原理和结构
941IIR滤波器的原理
942IIR滤波器的模型
943IIR滤波器的Z域分析
944IIR滤波器的性能和稳定性
95DA FIR滤波器的设计
951DA FIR滤波器的设计原理
952移位寄存器模块设计
953查找表模块的设计
954查找表加法器模块的设计
955缩放比例加法器模块的设计
956DA FIR滤波器完整的设计
96MAC FIR滤波器的设计
96112×8乘和累加器模块的设计
962数据控制逻辑模块设计
963地址生成器模块的设计
964完整的MAC FIR滤波器的设计
97FIR Compiler滤波器的设计
971生成FIR滤波器系数
972建模FIR滤波器模型
973仿真FIR滤波器模型
974修改FIR滤波器模型
975仿真修改后FIR滤波器模型
98HLS FIR滤波器的设计
981设计原理
982设计FIR滤波器
983进行仿真和验证
984设计综合
985设计优化
986Vivado环境下的仿真
第10章重定时信号流图的原理与实现
101信号流图的基本
近年来,人工智能、大数据和云计算等新信息技术得到越来越多的应用,它们共同的特点就是需要对海量数据进行高性能的处理。与采用CPU、DSP和GPU实现数字信号处理(数据处理)系统相比,现场可编程门阵列(Field Programmable Gate Array,FPGA)具有天然并行处理能力以及整体功耗较低的优势,使得它成为这些新信息技术普及推广不可或缺的硬件处理平台,被越来越多地应用于这些新技术中。
一般而言,业界将FPGA归结为硬件(数字逻辑电路)范畴,而算法归结为软件范畴。在十年前,当采用FPGA作为数字信号处理平台时,设计者必须使用硬件描述语言来描述所构建的数字信号处理系统模型;而大多数的算法设计人员并不会使用硬件描述语言,这样就对他们使用FPGA实现数字信号处理算法造成了困难,从而限制了FPGA在这些新技术方面的应用普及和推广。当采用FPGA作为数字信号处理实现平台时,软件算法人员希望他们自己只关注算法本身,而通过一些其他工具将这些软件算法直接转换为FPGA硬件实现。
近年来,出现了新的建模工具,它们都是以软件算法人员的视角为出发点来构建数字信号处理系统的,这样显著降低了算法设计人员使用FPGA实现算法的难度,实现了软件和硬件的完美统一。本书将着重介绍Xilinx公司Vivado集成开发环境下提供的两种新的数字信号处理建模工具,即System Generator工具(它使用MATLAB环境下的Simulink)和高级综合工具(High Level Synthesis, HLS)。这两个数字信号处理系统建模工具的出现,使得算法人员可以专注于研究算法本身;然后通过这些建模工具,将算法直接转换成寄存器传输级(Register Transfer Level,RTL)描述;后下载到FPGA内进行算法实现。这样,当采用Xilinx FPGA作为数字信号处理硬件平台时,显著提高了系统的建模效率,并且可以在性能和实现成本之间进行权衡,以探索的解决方案。
本书从传统的硬件描述语言、Simulink模型设计和C/C 高级综合3个角度,对基于Xilinx 7系列FPGA平台下的通用数字信号处理、通信信号处理和数字图像处理的建模与实现方法进行详细介绍。全书共5篇21章,主要内容包括:信号处理理论基础,数字信号处理实现方法,数值的表示和运算,基于FPGA的数字信号处理的基本流程;CORDIC算法、离散傅里叶变换、快速傅里叶变换、离散余弦变换、FIR滤波器、IIR滤波器、重定时信号流图、多速率信号处理、串行FIR滤波器、并行-串行FIR滤波器、多通道FIR滤波器以及其他类型数字滤波器的原理与实现;数控振荡器、通信信号处理和信号同步的原理与实现;递归结构信号流图的重定时,自适应信号处理原理与实现;数字图像处理、动态视频拼接的原理与实现。
本书所介绍的内容反映了Xilinx FPGA在实现高性能数字信号处理(数据处理)系统时的研究成果;力图帮助读者在使用FPGA构建数字信号处理系统时,知道如何在实现性能和实现成本之间进行权衡,如何正确使用不同的数字信号处理系统建模工具和方法,更重要的是知道如何将软件算法转换成硬件实现。
在编写本书的过程中,得到了Xilinx公司大学计划的支持和帮助,提供了的Vivado 2017集成开发工具以及《DSP for FPGA Primer》等文档和材料。此外,也得到了Mathworks公司图书计划的支持和帮助,为作者提供了正版授权的MATLAB R2016b集成开发环境,以及相关设计所要使用的工具包。在此,向他们的支持和帮助表示衷心的感谢。在编写本书的过程中,仍然参考了已经毕业研究生张艳辉的研究成果,以及本科生汤宗美和刘仪参与本书教学资源的编写工作,在此向他们的辛勤劳动表示感谢。后,向电子工业出版社编辑的辛勤工作表示感谢。
编著者2018年12月于北京
评论
还没有评论。