资 源 简 介
XILINX FPGA数字信号处理权威指南-从HDL到模型和C的描述,高清pdf,配有详细的目录内容简介本书全面系统地从硬件描述语言、 MATLAB Simlink模型和C语言三个方面,对 Xilinx fpga数字信号处理的实现原理和方法进行了详细的说明。全书内容涵盖了数字信号处理的主要理论知识,其中包含通用数字信号处理、数字通信信号处理和数字图像处理等方面。全书分为五篇,共计16章。内容包括:信号处理理论基础、数字信号处理方法、数字的表示和运算的实现、 CORDIO算法原理及实现离散傅里叶变换原理及实现、快速傅里叶变换原理及实现、离散余弦变换原理及实现、FIR滤波器和ⅢR滤波器原理及实现、其他常用数字滤波器原理及实现、重定时信号流图原理及实现、通信信号处理原理及实现、数控振荡器原理及实现、信号同步原理及实现、数字图像处理原理及实现、动态视频拼接原理及实现、自适应信号处理原理及实现等内容。本书的设计环境使用了Xinx最新的 Vivado集成开发环境和 Mathworks最新的 MATLAB R2013a集成开发环境。在本书编写的过程中,参考了大量最新的设计资料和业界设计标准。本书内容新颖、理论和应用并重,充分反映了 Xilinx fpga实现数字信号处理的最新方法和技术,可以帮助读者系统地掌握这些方法和技术。本书可作为相关专业开设高性能数字信号处理课程的本科和研究生教学参考书,亦可作为从事FPGA数字信号处理相关教师、研究生和科技人员的自学参考书,同时还可作为 Xilinx公司大学计划教师和学生培训用书。本书封面贴有清华大学出版社防伪标签,无标签者不得销售。版权所有,侵权必究。侵权举报电话:010-6278298913701121933图书在版编目(CIP)数据Xilinx FPGA数字信号处理权威指南:从HDL到模型和C的描述/何宾,张艳辉编著.-北京:清华大学出版社,2014EDA工程技术丛书ISBN978-7-302-37341-4L.①x…Ⅱ.①何…②张…Ⅲ.①可编程序逻辑器件一系统设计一指南Ⅳ.①TP32.1-62中国版本图书馆CIP数据核字(2014)第159538号责任编辑:盛东亮封面设计:李召霞责任校对:李建庄责任印制:刘海龙出版发行:清华大学出版社pytie:http://www.tup.comcn,http://www.wqbook.com地址:北京清华大学学研大厦A座邮编:100084社总机:010-62770175邮购:010-62786544投稿与读者服务:010-62776969,c-service@tup.tsinghua.edu.cn质量反馈:010-62772015,zhiliang@tup.tsinghua.edu.cn课件下载:htp://www.tup.com.cn,010-62795954印装者:清华大学印刷厂经销:全国新华书店开本:185mm×260mm印张:40.25字数:977千字版次:2014年11月第1版印次:2014年11月第1次印刷印数:1~2500定价:89.00元产品编号:05725901序()我们生活在一个快速连接的世界中—全球有超过60亿台移动计算设备相互连接,并且每天都持续增加约100万台移动计算设备。预计到2020年,全球移动计算设备总数将达到300亿台。随着物联网(IoT)以及万联网(IoE)的发展,海量大数据的存储、传输、处理、挖掘技术出现了极大的挑战。从处理响应速度来看,计算的处理响应速度从文字时代的秒级,到多媒体时代的百毫秒级、视频时代的十毫秒级,会迅速推进到5G时代的1毫秒级。对海量数据在1毫秒内完成处理,将是未来数十年摆在电子信息系统设计工程师面前的巨大难题。随着摩尔定律走向深纳米时代,在20nm以下的工艺节点,每个节点的性价比提高幅度会比上一代逐渐减少,而前期的一次性工程费用(NRE)投入巨大,服务客户数量稀少,使得专用集成电路(ASIC)及专用标准集成电路(ASSP)在商业模式上步入绝境,赢利的公司数量锐减直至最后消亡,尚能存活的将是可编程器件面对海量的计算任务,多核并行曾是解决方案之一,但受制于算法可并行部分的局限,更多的核并不能带来更高的效率,加速效能也逐渐走到了尽头。此外,受单颗芯片发热量密度限制,即使芯片上集成的晶体管越来越多,但可同时运行的晶体管数目却趋于恒定,多余的晶体管将沦为暗硅( Dark silicon)。因此,设计者不得不将目光转向冯·诺依曼架构之外的计算构架,例如领域定制化计算( Domain Specific Computing),它可在保持灵活性的同时,发挥每一个晶体管的计算能力,当然这也离不开可编程器件技术的长足发展。在系统级别,大数据与软件定义一切,虚拟化一切的趋势,使得系统构架工程师不得不寻求更灵活、更智慧、更快速、更绿色的解决方案。而这些解决方案的核心往往与软件、硬件及I/O均可编程的芯片——赛灵思公司的 All Programmable芯片相关。在教育领域,除了需要培养能够应对未来数十年技术挑战的电子信息系统工程师之外,教学本身也充满了变革和机遇。随着大型开放式网络课程(MOOC)的兴起,在统平台下通过互联网,以翻转课堂的方式,打破业界与教育界的壁垒,完成软件与硬件、理论与实验、年级与院系的全面贯通,将是很多电子信息类学科教育工作者的更高追求赛灵思大学计划将不遗余力地帮助教育工作者应对这些变革,与清华大学出版社合作将 All Programmable全面可编程技术系统地引入到新型知识传播体系中去,培养能够应对下一代电子系统设计挑战的卓越工程师,为实现将“中国制造”变成“中国智造”的梦想,提供充足的智力和人才保障。谢凯年Xilinx大学计划大中华区经理序(二)很荣幸受何宾老师邀请,代表 Math Works公司为其新书《 Xilinx fpga数字信号处理权威指南—从HDL到模型和C的描述》作序。同时,也感谢何老师近年来对MATLAB软件应用,尤其是在数字信号处理方面,所做的持续的推广工作。近年来, Math Works公司一直致力于推广基于模型设计的嵌入式系统开发基本流程,这包括 Simulink建模,定点化处理,C/HDL代码自动生成,联合仿真和硬件测试等环节。其中,有关FPGA的设计实现,即可以把 Simulink模型、 MATLAB代码和Stateflow框图生成位真、周期精确、可综合的 Verilog和ⅤHDL代码,并通过使用工业标准化设计工具,对自动生成的HDL代码进行仿真和综合,并进一步映射到FPGA和ASIC芯片上。这些功能经过多年的不断升级发展,已逐渐获得了工业界和教育界的广泛认可。本书是何宾老师在已经出版的《FPGA数字信号处理实现原理及方法》基础上,根据读者学习和教师教学反馈的意见,大幅度地修订而成。本书最大特色就是首次全面系统地从硬件描述语言、 MATLAB/ Simulink模型和C语言三个方面,对 Xilinx FPgA数字信号处理的实现原理和方法进行了详细的说明。全书内容涵盖了数字信号处理的主要的理论知识,其中包含通用数字信号处理、数字通信信号处理和数字图像处理等方面。同时,在Ⅹiinx最新的 Vivado2013.3集成开发环境和 Math Works最新的 MATLABR2013A集成开发环境下,通过大量的设计实例对所介绍的理论进行了验证。在本书编写的过程中,参考了大量最新的设计资料和业界设计标准、内容新颖、理论和应用并重,充分反映了通过 MATLAB使用 Xilinx FPga实现数字信号处理的最新方法和技术,可以帮助读者系统地掌握这些方法和技术。因此我相信此书的出版,必将极大方便广大读者的学习,提升读者的工程应用能力。陈炜原 Math Works中国教育业务发展总监前言在当今发达的信息社会里,人们所获取的信息量在急剧地增加,因此就需要有高性能的信息处理手段对所获取的海量信息进行高效地处理,以服务于信息社会的快速发展。在对信息进行数字化处理的过程中,基本的数字信号处理理论是非常重要的,这些理论已经为人类社会信息的处理服务了几十年甚至上百年。随着计算机技术的不断发展,数字信号处理的实现也从传统的使用计算机,向使用高性能数字信号处理器发展;但本质上,在这些平台上实现数字信号处理还是纯粹的软件处理方法。随着信息量的不断增加,这些处理方法已经远远不能满足诸如实时图像和通信系统等高性能信息处理的要求。近些年来,随着半导体技术的不断发展,一种特殊的半导体器件—现场可编程阵列( Field Programmable Gate Array,FPGA)越来越引起信号处理者的兴趣和高度关注。这是因为,这种器件具有强大的并行信号处理能力、卓越的灵活性以及很高的性价比。但是,由于传统设计方法的限制,使得它的应用受到很大的制约。作为全球知名的可编程逻辑器件厂商,美国 Xilinx公司在FPGA的设计方法和设计手段上不断地进行探索,尤其是在数字信号处理方面,相继推出了基于模型设计的System Generator工具、基于C语言设计的高级综合工具HLS,使得FPGA在数字信号处理方面的应用越来越便捷。数字信号处理应用工程师从传统基于硬件描述语言( Hardware Description Language,HDL)的设计手段,向基于 Simulink模型和基于C语言的设计方法转变。未来,设计者将更加专注于系统级的高级建模,而不是只专注于底层的具体实现问题。新设计手段和新设计思想的不断出现,大大降低了FPGA实现高性能数字信号处理的应用门槛,使得设计者能更好更快地设计出满足设计精度和设计性能的数字信号处理系统本书是在作者已经出版的《FPGA数字信号处理实现原理及方法》(清华大学出版社,2010)的基础上,根据读者学习和老师教学反馈的意见,历时半年多时间对原书进行了大幅度的修订。在国内,首次全面系统地从HDL、 MATLAB Simulink模型设计、C语言三个不同的角度,对数字信号处理基本理论、数字通信信号处理理论、数字图像处理理论和自适应信号处理理论进行了详细的介绍;同时,在 Xilinx最新的 Vivado2013.3集成开发环境和 Math Works最新的 MATLAB R2013a集成开发环境下,通过大量的设计实例对所介绍的理论进行了验证。通过本书的学习,一方面,读者不仅能够系统深入地学习数字信号处理的理论知识并且可以通过书中大量的设计实例理解如何将数字信号处理的理论知识应用于解决实际的数字信号处理问题;另一方面,准确把握使用FPGA实现数字信号处理的方法,从而能够灵活地运用不同的设计手段构建满足设计要求的高性能信号处理系统。在讲授和学习本书内容时,可以根据教学安排以及学习侧重点的不同,适当地选择本书相关的章节内容。为了便于读者能更好地理解和掌握数字信号处理理论知识,本书给出了大量的设计实例;同时,为了方便教师授课,也提供了教学资源。读者可以通过登录清华大学出版社官方网站(htp://www.tup.com.cn),进入该书页面来获取这些设计资源。本书在编写过程中,得到了许多人的热心帮助,包括Xinx大中国区大学经理谢凯年博土,他为本书的编写提供了硬件平台和软件授权; Xilinx亚太区市场传播经理张俊伟女士,她为本书的编写帮助寻找 Xilinx技术专家的支持; Xilinx大学计划聘请的全球讲师 Bob Stewart教授和 Louise crockett教授,他们为本书编写提供了设计资料;Math Works中国教育业务发展前任总监陈炜博士,他为本书的编写捐赠了正版的MATLAB R2013a工具; Xilinx全球技术支持 Yash Palorkar等人,他们为本书编写过程中遇到的技术问题进行了耐心细致的解答。在本书编写过程中,作者的学生张艳辉通过System Generator和HLS工具对作者提出的很多新的设计目标进行了设计实现和验证,也帮助作者整理了大量的书稿。此外,作者的学生李宝隆也负责整理相关的书稿。清华大学出版社的领导和编辑一如既往地为本书的出版提供了大量的帮助。在此,向他们表示深深的谢意。由于编者水平有限,编写时间仓促,书中难免有疏漏之处,敬请读者批评指正。编者2014年10月于北京6目录序(一)序(二)…前言…………………………*…………………“···“··“第一篇DSP系统的组成和处理方法第1章信号处理理论1.1信号定义及分类…31.2信号增益与衰减41.3信号失真及测量1.3.1放大器失真…………………………………41.3.2信号谐波失真…1.3.3谐波失真测量61.4噪声及处理方法…61.4.1噪声的定义及表示1.4.2固有噪声电平1.4.3噪声/失真链……1.4.4信噪比定义及表示678891.4.5信号的提取方法,,,,,,·,,有,,非,,,,,,,甲非,,,1.5模拟信号及处理方法44101.5.1模拟1/O信号的处理101.5.2模拟通信信号处理1.6数字信号处理关键问题………………1.6.1数字信号处理系统结构1.6.2信号调理方法…121.6.3模数转换器ADC及量化效应1.6.4数模转换器DAC和信号重建221.6.5SFDR的定义及测量…251.7通信信号软件处理方法…………261.7.1·软件无线电的定义…261.7.2F的软件无线电实现…………………………………271.7.3信道化处理……………………271.7.4基站软件无线电接收机………………………………281.7.5SR采样技术………………291.7.6直接数字下变频………目录■1.7.7带通采样失败的解决31第2章数字信号处理实现方法2.1数字信号处理技术概念……………………………………………332.1.1数字信号处理技术的发展…………………………………………………332.1.2数字信号处理算法的分类352.1.3数字信号处理实现方法………………………………………………………362.2基于DsP的数字信号处理实现方法372.2.1DSP的结构特点…··……372.2.2DSP的运行代码及性能………2.3基于FPGA的数字信号处理实现方法……………422.3.1FPGA原理422.3.2FPGA的逻辑资源432.3.3FPGA的高性能处理……………512.3.4FPGA的最新发展……………………………53第3章数字的表示和运算的实现………………………………………………………553.1整数的表示方法………553.1.1二进制原码格式…553.1.2二进制反码格式………………………………………………………563.1.3二进制补码格式……573.2整数值运算的HDL描述573.2.1整数加法的HDL描述583.2.2整数减法的HDL描述…613.2.3整数乘法的HDL描述3.2.4整数除法的HDL描述…………………………………………………663.3定点数的表示方法693.3.1定点二进制数格式703.3.2定点量化……………………………………………………………………713.3.3归一化处理…·…………723.3.4小数部分截断733.3.5一种不同的方法 Rounding733.4定点数运算的HDL描述…743.4.1定点数加法的HDL描述753.4.2定点数减法的HDL描述……………………………………………773.4.3定点乘法的HDL描述……………………………………………………783.4.4定点除法的HDL描述…80日录3.5浮点数的表示方法……823.5.1浮点数的格式……………………………………………823.5.2浮点数的短指数表…833.6浮点运算的HDL描述……………………………………………………………83.6.1单精度浮点数加法的HDL描述……………………………………843.6.2单精度浮点数减法的HDL描述……………………853.6.3单精度浮点数乘法的HDL描述…863.6.4单精度浮点数除法的HDL描述……………………………………86第二篇数字信号处理基本理论和FPGA实现方法第4章 CORDIC算法原理及实现4.1 CORDIC算法原理4.1.1圆坐标系旋转……………………………………………………………94.1.2线性坐标系旋转4.1.3双曲线坐标系旋转……………………964.1.4 CORDIC算法一般描述……………………………………………………964.2 CORDIC算法性能分析……974.2.1输出量化误差的确定…4.2.2近似误差的分析……………………………………………………………984.2.3舍入误差的分析……………………………………994.2.4有效位de的估算994.2.5预测与仿真………………………………………………………………1004.3 CORDIC硬件实现原理…………………1004.3.1 CORDIC循环结构的实现原理…1004.3.2 CORDIC非循环结构的实现原理………………………………………1034.3.3实现CORD|C的非循环的流水线结构…1044.3.43种实现方式的性能比较1044.4 CORDIC算法收敛性及实现………………………………………………………1044.4.1 CORDIC算法收敛性原理…………………1054.4.2 CORDIC象限映射实现1054.4.3向量模式的 CORDIC迭代实现1074.4.4旋转模式的 CORDIC迭代实现1104.5cORD|C子系统的设计1114.5.1 CORDIC单元的设计1124.5.2参数化 CORDIC单元…………………………………………………113