网站首页  英汉词典  古诗文  美食菜谱  电子书下载

请输入您要查询的图书:

 

书名 基于FPGA的数字信号处理(第2版)/EDA精品智汇馆
分类 科学技术-工业科技-电子通讯
作者 高亚军
出版社 电子工业出版社
下载 抱歉,不提供下载,请购买正版图书。
简介
作者简介

作者简历

2010.9-至今 科通集团北京办事处,FPGA技术支持,数字信号处理专家。

科研、教研项目经历:

1、2005.8-2005.9 设计并实现基于FPGA的抽取因子可变的数字下变频器(DDC)

2、2005.10 设计并实现基于FPGA的恒虚警率(CFAR)电路

3、2005.12-2006.5 设计并实现基于FPGA的某型号雷达多通道数字下变频和数字脉冲压缩(DPC)

4、2006.11-2007.6 设计并实现基于FPGA的某型号导引头信号处理整体电路包括数字脉冲压缩、动目标检测(MTD)、恒虚警率处理以及FPGA与DSP的接口电路

5、2007.6-2007.7 编写信号处理研究室FPGA设计规范包括FPGA设计基本流程、RTL代码规范、同步电路设计规范、可综合划分策略以及结合器件结构的设计规范等

6、2008.3-2008.12 某型号阵列测向雷达信号处理系统设计,在FPGA上完成了矩阵乘法、矩阵特征值分解等算法

7、2009.1-2009.5 某型号阵列雷达信号处理系统设计,在FPGA上完成了矩阵QR分解、矩阵求逆等算法

8、2009.5-2009.7 某卫星地面检测设备接口设计

9、2009.2-2009.7 某抗干扰设备系统设计

内容简介

本书围绕Xilinx新一代28nm工艺芯片7系列FPGA,结合Xilinx新一代开发工具Vivado以及针对算法开发的Vivado HLS和System Generator,讲解了数字信号处理中的经典算法在FPGA上的实现方法。第2版保持了第1版的主题——如何将理论算法转化为工程实现,新增了算法的Matlab代码描述;增加了部分算法的System Generator模型。 讲解了FPGA实现时的一些细节问题如复位、跨时钟域设计等。

目录

第1章 现场可编程门阵列技术分析t1

1.1 FPGA内部结构分析t1

1.1.1 FPGA在大规模集成电路中的定位t1

1.1.2 传统的FPGA内部结构分析t2

1.1.3 SoC FPGA内部结构分析t7

1.2 FPGA设计流程分析t9

1.2.1 传统的FPGA设计流程t9

1.2.2 SoC FPGA设计流程t13

1.3 FPGA调试方法分析t16

1.3.1 ILA使用方法t16

1.3.2 VIO使用方法t18

参考文献t19

第2章 跨越鸿沟:从算法到硬件实现t20

2.1 数字信号处理系统架构分析t20

2.2 数字信号处理系统设计方法t24

2.2.1 传统的RTL设计方法t24

2.2.2 基于模型的设计方法t27

2.2.3 高层次综合设计方法t30

2.2.4 三种设计方法的融合t32

2.3 FPGA设计性能描述指标t33

2.4 FPGA设计中的数据格式t36

2.4.1 浮点数基础知识t36

2.4.2 定点数基础知识t39

2.4.3 浮点数与定点数的比较t44

2.4.4 浮点数到定点数的转换t45

2.5 Xilinx开发工具对浮点数与定点数的支持t47

2.5.1 System Generator对浮点数与定点数的支持t47

2.5.2 Vivado HLS对浮点数与定点数的支持t51

参考文献t53

第3章 数字信号处理中的基本运算t54

3.1 加法运算t54

3.1.1 一位全加器t54

3.1.2 二进制加法原理t55

3.1.3 复数加法t58

3.1.4 加法树与加法链t59

3.2 累加运算t60

3.2.1 累加原理t60

3.2.2 顺序累加器t60

3.2.3 滑动累加器t61

3.3 乘法运算t63

3.3.1 二进制乘法原理t63

3.3.2 基于移位相加的乘法器t65

3.3.3 基于ROM的乘法器t67

3.3.4 与固定数相乘的乘法器(KCM)t73

3.3.5 复数乘法t76

3.4 除法运算t77

3.4.1 基于恢复余数(Restoring)算法的除法器t77

3.4.2 基于不恢复余数(Non-Restoring)算法的除法器t80

3.4.3 基于级数展开算法的除法器t84

3.4.4 基于Newton-Raphson算法的除法器t87

3.5 开方运算t89

3.5.1 基于不恢复余数算法的开方运算t89

3.5.2 基于非线性IIR滤波器算法的开方运算t95

3.5.3 复数求模t100

3.6 CORDIC算法t103

3.6.1 CORDIC算法之圆周系统及其数学应用t103

3.6.2 CORDIC算法之线性系统及其数学应用t113

3.6.3 CORDIC算法之双曲系统及其数学应用t116

3.6.4 统一的CORDIC算法形式t120

3.6.5 CORDIC算法的硬件实现t121

参考文献t126

第4章 FIR数字滤波器t127

4.1 FIR滤波器基本理论t127

4.1.1 直接型结构的FIR滤波器t127

4.1.2 转置型结构的FIR滤波器t129

4.1.3 线性相位FIR滤波器t131

4.2 串行FIR滤波器t133

4.2.1 基于移位寄存器的串行FIR滤波器t133

4.2.2 基于双端口RAM的串行FIR滤波器t136

4.2.3 系数对称的串行FIR滤波器的设计t139

4.2.4 两种串行结构的FIR滤波器性能比较t142

4.3 全并行FIR滤波器t143

4.3.1 基于直接型结构的全并行FIR滤波器t143

4.3.2 基于转置型结构的全并行FIR滤波器t144

4.3.3 基于脉动结构的全并行FIR滤波器t145

4.3.4 系数对称的全并行FIR滤波器的设计t147

4.3.5 三种全并行结构的FIR滤波器性能比较t148

4.4 半并行FIR滤波器t148

4.4.1 基于移位寄存器的半并行FIR滤波器t148

4.4.2 基于多片双端口RAM的半并行FIR滤波器t153

4.4.3 基于单片单端口RAM的半并行FIR滤波器t155

4.4.4 系数对称的半并行FIR滤波器的设计t159

4.4.5 三种半并行结构的FIR滤波器性能比较t162

4.5 分布式FIR滤波器t162

4.5.1 分布式算法原理t162

4.5.2 串行分布式FIR滤波器t164

4.5.3 全并行分布式FIR滤波器t169

4.5.4 半并行分布式FIR滤波器t169

4.5.5 三种分布式FIR滤波器性能比较t171

4.6 快速卷积型FIR滤波器t171

4.6.1 线性卷积的计算方法及运算量分析t172

4.6.2 圆周卷积的计算方法及运算量分析t174

4.6.3 从线性卷积到FFT的跨越t177

4.6.4 计算长数据序列线性卷积的两种算法t179

4.6.5 应用重叠保留法实现高阶FIR滤波器t185

4.7 多通道FIR滤波器t188

4.8 多频响FIR滤波器t192

4.9 总体性能分析t194

参考文献t196

第5章 直接数字频率合成t197

5.1 基于IIR滤波器的DDSt197

5.2 基于LUT的DDSt199

5.2.1 常规型基于LUT的DDSt199

5.2.2 通过LFSR改善SFDRt206

5.2.3 通过Taylor级数改善SFDRt209

5.2.4 利用对称性压缩存储波形t210

5.3 基于双模互质算法的DDSt213

5.3.1 双模互质算法的基本原理t213

5.3.2 双模互质算法的硬件实现t216

5.4 基于CORDIC算法的DDSt217

5.5 多通道DDSt221

5.6 多路并行DDSt222

5.7 产生其他波形t225

参考文献t226

第6章 多速率信号处理t227

6.1 抽取和抽取滤波器t227

6.2 插值和插值滤波器t231

6.3 分数速率的转换t232

6.4 六个恒等式及其典型应用t233

6.5 多相滤波器t237

6.5.1 多相抽取滤波器的基本理论t237

6.5.2 多相抽取滤波器的硬件实现t241

6.5.3 多相插值滤波器的基本理论t261

6.5.4 多相插值滤波器的硬件实现t266

6.6 CIC滤波器t268

6.6.1 CIC滤波器基本理论t268

6.6.2 CIC滤波器的位增长问题t273

6.6.3 CIC滤波器应用于抽取系统中t274

6.6.4 CIC滤波器应用于插值系统中t282

6.7 半带滤波器t284

6.7.1 半带滤波器的基本理论t284

6.7.2 半带滤波器应用于抽取系统中t286

6.7.3 半带滤波器应用于插值系统中t288

参考文献t291

第7章 快速傅里叶变换t292

7.1 从DFT到FFTt292

7.2 基2 FFT处理器t293

7.2.1 基2 FFT算法原理t293

7.2.2 基2 FFT算法特征分析t299

7.2.3 基2原位运算FFT处理器t302

7.2.4 基2 SDF流水结构FFT处理器t313

7.2.5 基2 MDC流水结构FFT处理器t322

7.3 基4 FFT处理器t329

7.3.1 基4 FFT算法原理t329

7.3.2 基4 FFT算法特征分析t340

7.3.3 基4 SDF流水结构FFT处理器t342

7.3.4 基4 MDC流水结构FFT处理器t345

7.3.5 基4 SDC流水结构FFT处理器t349

7.4 几种流水结构FFT处理器的比较t356

7.5 IFFT与FFT的关系t356

参考文献t357

第8章 一些细节问题t358

8.1 LUT不只是逻辑函数发生器t358

8.2 合理使用触发器t363

8.2.1 避免过多控制集t363

8.2.2 避免使用锁存器t365

8.3 Block RAM不只是数据存储t366

8.3.1 Block RAM配置方式t366

8.3.2 Block RAM应用案例t367

8.4 DSP48E1不只是乘法器t373

8.4.1 DSP48E1基本结构t373

8.4.2 DSP48E1应用案例t381

8.5 关于复位t399

8.6 跨时钟域的设计t401

8.6.1 同步时钟的跨时钟域设计t401

8.6.2 异步时钟的跨时钟域设计t410

参考文献t422

后记t423

前言/序言

推 荐 序

随着FPGA器件规模及性能的不断提升,它已经越来越广泛地应用于各类行业应用中,尤其是在一些高性能计算的应用中,FPGA扮演了十分重要的作用。不同于通用的DSP处理器结构,FPGA内部集成了丰富的DSP功能单元以实现高速并行运算,而作为一名FPGA的设计人员,如何充分利用这些DSP功能单元就成为实现最终性能的关键所在。高亚军先生的这本书就完美地解决了这一问题,他利用其个人多年从事FPGA设计研发、技术支持的宝贵经验,将一些看似复杂的问题深入浅出地表述出来。在这本书中,作者不仅介绍了器件底层硬件结构的特点及软件开发工具的使用技巧,也花了大量篇幅介绍如何有效地利用FPGA来实现常用的一些数字信号处理运算功能,同时,本书中所提供的大量范例及一些实用技巧相信也会给读者带来很多直接的帮助。

本书非常适用于FPGA研发工程师及硬件算法工程师,同时对其他相关的工程技术人员及研究人员也会有所帮助。

  张 宁

  赛灵思电子科技(上海)有限公司

  亚太区应用拓展经理

在当前大众创业、万众创新的新形势下,依托互联网和大数据的工业4.0时代已经到来。要实现智慧工厂的智能化生产,需要利用广域分布的探测设备,通过宽带移动的互联网络,执行智能融合的服务机制,进行专家知识的会诊判决,才可能具备智慧的特征。在对获取的信息进行数字处理和数据融合时,数字信号处理(DSP)技术是必不可缺的手段,而且随着各种应用的快速发展,要求处理的速率和达到的性能不断提高,这需要通过硬件和软件两个方面来实现。

目前半导体工艺已达到28nm甚至更小的尺寸,Xilinx公司在推出堆叠的3D 封装全可编程FPGA 和嵌入双核ARM CortexA9的全可编程SOC之后,又推出具有ASIC级别优势的UltraSCALE FPGA 和UltraSCALE MPSOC等器件,这些器件内的逻辑单元可达到4万个,DSP模块的数量最多达到11904个,最高的性能达到21213 GMAC,这极大地提高了DSP的处理能力,所以FPGA是名副其实的并行处理引擎。而另一方面,FPGA又具备现场可编程的特性,可以节省产品投资的成本,缩短了产品的上市时间,加快了适应不同用户需求的步伐,使之成为ASIC 的有力竞争对手。

在设计工具方面,Xilinx公司也推出了新一代的开发工具Vivado。为了使FPGA成为开发数字信号处理系统的设计平台,针对以DSP算法为主的设计,推出高层次综合工具Vivado HLS以及System Generator(SysGen)等工具。前者可以实现从C语言描述的算法到RTL级网表文件的转换,后者可以通过基于模型的设计方法仿真和优化系统模型并自动生成RTL网表文件,应用这些生成的网表文件可以直接进行FPGA的硬件实现,不仅加快了设计的过程,而且还能保证设计的正确性,同时减少设计的迭代过程。

高亚军编写的《基于FPGA的数字信号处理》(第2版)一书在第1版的基础上增加了许多内容,充实了更多的设计范例。全书简要介绍了最新的Xilinx 7系列FPGA架构、Vivado最新设计工具的开发流程以及新的集成逻辑分析仪(ILA)和虚拟输入/输出(VIO)调试工具,分析了数字信号处理系统的架构、性能和数据格式等。在此基础上深入分析了基于FPGA实现各种数字信号处理算法的工程实例,包括基本的加减乘除、累加、开方和CORDIC等DSP算法, 以及经典的FIR滤波器、数字频率合成器、多相滤波器、CIC滤波器和基2/基4 FFT等DSP算法,作者对算法作了详尽的理论分析,给出映射到FPGA 架构的设计方案以及对应到SysGen的设计模型或Matlab程序代码。对于读者,无论是利用Matlab和Simulink的基于模型的设计方法获得网表文件,或者利用IP库中的DSP核进行参数设置,这些内容都是进行DSP系统设计详尽的设计指导和参考,进一步可以方便地完成FPGA的硬件实现。属于Xilinx 的UltraFast的设计准则和编码风格在最后一章也作了详尽的分析,包括从系统的角度对同步和异步时钟信号、复位信号的设计考虑,以及从硬件资源的角度使编码风格和算法映射能够与FPGA 的架构相适应,读者可以遵从这些保证设计成功的关键要求,利用本书中提供的基本算法和经典算法为参考,创新地构建实际应用所要求的各类不同DSP系统。

软件、硬件和I/O均可编程的全可编程FPGA已经越来越广泛地在DSP设计中得到应用。本书对读者利用FPGA实现数字信号处理系统是一本很好的设计指导和参考书籍。

  孟宪元

  2015年4月10日于清华园

前 言

从20世纪80年代第一颗FPGA产生到目前为止,FPGA就从未停止其快速发展的步伐。而就在刚刚过去的三年里,半导体业界发生了三次具有里程碑意义的事件:Xilinx公司推出了第一代3D芯片,使得FPGA内部逻辑规模达到了2M;Xilinx公司推出了嵌入双核ARM Cortex-A9的全新一代片上可编程(SoC)FPGA,进一步提升了FPGA的功能和集成度,有助于PCB的小型化;Xilinx公司推出了新一代开发工具Vivado,有力支持7系列FPGA,提高了生产效率。此外,Xilinx公司还推出了高层次综合工具Vivado HLS,实现了从C/C++到RTL的转换,有利于复杂算法的FPGA实现。无论是FPGA的工艺水平还是其开发工具,都有了长足的发展,这为以FPGA为平台的数字信号处理系统的开发提供了强大的支持,也加速了数字信号处理系统架构的变革,同时也使得FPGA在更多的领域获得应用。

本书以数字信号处理理论为基础,结合Xilinx 7系列FPGA架构,深入探讨了基于FPGA实现各种数字信号处理算法的工程方法,这些算法既包括传统的基本算法(如FIR数字滤波器、数字频率合成器等),也包括较为复杂的FFT算法;既涉及单速率系统也涉及多速率系统;既有宏观上的理论讲解,也有微观上的工程实现细节和技巧的说明,同时将FPGA设计思想有机地贯穿其中。全书共八章内容。其中,第1章从内部结构、设计流程、调试方法三个方面介绍了FPGA技术现状;第2章介绍了以FPGA为平台的数字信号处理系统的设计方法和注意事项;第3章介绍了数字信号处理中的基本算法在FPGA上的实现方法,从简单的加法运算到较为复杂的CORDIC算法都涵盖其中;第4章至第7章结合大量实例重点介绍了数字信号处理的经典算法在FPGA上的实现方法,包括FIR滤波器、直接数字频率合成器、多相滤波器、CIC滤波器、半带滤波器和FFT算法等。第8章讲述了采用Xilinx FPGA实现数字信号处理的一些细节问题,使读者能够深入理解FPGA的底层架构,灵活运用FPGA内部各种资源,从而使算法结构可以很好地映射到FPGA底层架构中。

感谢清华大学电子工程系孟宪元教授为本书撰序,感谢赛灵思电子科技(上海)有限公司亚太区应用拓展经理张宁先生为本书题写推荐语。

此外,作者还要感谢赛灵思电子科技(上海)有限公司北中国区渠道销售经理王庆海先生、亚太区市场传播经理张俊伟女士、大学计划亚太区经理陆佳华先生、科通数字技术(香港)有限公司高级总监谢章立先生和电子工业出版社电子信息出版分社社长王敬栋先生,感谢你们的大力支持和帮助!

与第1版相比,第2版的整体框架并没有变化,但每章都增加了新的内容。这些新的内容使得本书更加丰盈,但即便如此,也难免有不足之处。如果您在阅读过程中发现任何错误或对再版有任何建议,请发送邮件至gao_xilinx@126.com。编著者

后 记

三年,《基于FPGA的数字信号处理》第1版出版;再三年,《基于FPGA的数字信号处理》第2版完工。点击邮件给出版社发送文稿时,心中并没有丝毫如释重负的感觉,脑海里浮现的是第3版应该补充的内容……

毫不夸张地讲,这三年当中,除了做好本职工作和录制网络课程“Vivado入门与提高”,能抽出来的时间都用于写作本书了。有身边的朋友包括一些同仁都不解地问过:为什么再版竟然又用了三年?这其中的原因当然不是一句话能说清楚的。只能说如此耗时最主要的原因是,第2版写得更艰难,每一个章节都部分或全部出现过重写。根据整体的思路一边写一边琢磨,总想着表达的尽量清晰又不显烦琐,能在一定程度上帮助那些如我当年走在入门探索之路的人。于是常常在写作过程中深感自己语言的匮乏,又想到倘若满篇都是文字,是否会显得单一而枯燥,读者是否会觉得索然无味,或不知所云以至于无法彻底理解。好在还有其他的表达方式,譬如图、表和程序。本书总共有592张图、134个表、53个Matlab代码、42个System Generator模型、9个VHDL代码和6个Tcl脚本。追求图文并茂,这也是我写作本书对自己提出的一个要求。

不得不感叹,硬件相关的书真的不好写。写到了某个细节处发现是不是架构如此这般改动一下会更清晰;图、表从另一个角度画是不是会更生动,有时甚至画出两幅图对比择其优;再加上书中所有引用的公式,全部经过了重新验证。家人也曾问,有必要如此吗?这样做,只是为了彻底搞清弄懂,对自己是提高,对读者是负责。我本是认真的人,而写书做学问更是死磕。莫若这般,也就对不起一直以来支持我相信我的朋友们了!

几年前,伴随着“中国梦”之风,第一次被问及那句“你的梦想是什么”时,“写书,学习,再写书”我不假思索的脱口而出。何其幸,当年选择了“电子工程”这个我深爱的专业。“路漫漫其修远兮,吾将上下而求索”,未来的我必将会更加用心、越发努力,以感谢和回报一路上支持和帮助我的亲人、朋友们!

  高亚军

  2015年4月1日

随便看

 

Fahrenheit英汉词典电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 frnht.com All Rights Reserved
更新时间:2025/11/22 0:37:15