描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121386428
本书以Altera公司的FPGA为开发平台,以MATLAB及Verilog HDL为开发工具,详细阐述数字通信同步技术的FPGA实现原理、结构、方法和仿真测试过程,并通过大量的工程实例分析FPGA实现过程中的具体技术细节。本书主要内容包括FPGA实现数字信号处理基础、锁相环、载波同步、自动频率控制、位同步、帧同步等。本书思路清晰、语言流畅、分析透彻,在简明阐述设计原理的基础上,注重对工程实践的指导性,力求使读者在较短的时间内掌握数字通信同步技术的FPGA设计知识和技能。作者精心设计了与本书配套的FPGA开发板,详细介绍了工程实例的实验步骤及方法,形成了从理论到实践的完整学习过程,可以有效地加深读者对数字通信同步技术的理解。本书的配套资料收录了完整的MATLAB及Verilog HDL代码,有利于工程技术人员参考,读者可登录华信教育资源网(www.hxedu.com.cn)免费注册后下载。
第1章 同步技术的概念及FPGA基础 (1)
1.1 数字通信中的同步技术 (1)
1.2 同步技术的实现方法 (3)
1.2.1 两种不同的实现原理 (3)
1.2.2 常用的工程实现途径 (4)
1.3 FPGA概念及其在信号处理中的应用 (5)
1.3.1 基本概念及发展历程 (5)
1.3.2 FPGA的结构和工作原理 (7)
1.3.3 FPGA在数字信号处理中的应用 (14)
1.4 Altera器件简介 (15)
1.5 Verilog HDL语言简介 (17)
1.5.1 HDL语言简介 (17)
1.5.2 Verilog HDL的特点 (18)
1.5.3 Verilog HDL的程序结构 (19)
1.6 FPGA开发工具及设计流程 (20)
1.6.1 Quartus II开发套件 (20)
1.6.2 ModelSim仿真软件 (23)
1.6.3 FPGA的设计流程 (25)
1.7 MATLAB软件 (28)
1.7.1 MATLAB简介 (28)
1.7.2 MATLAB工作界面 (28)
1.7.3 MATLAB的特点及优势 (29)
1.7.4 MATLAB与Quartus II的数据交互 (30)
1.8 FPGA开发板CRD500 (31)
1.8.1 CRD500简介 (31)
1.8.2 CRD500典型应用 (33)
1.9 小结 (33)
第2章 FPGA实现数字信号处理基础 (35)
2.1 FPGA中数的表示 (35)
2.1.1 莱布尼兹与二进制 (35)
2.1.2 定点数表示 (36)
2.1.3 浮点数表示 (37)
2.2 FPGA中数的运算 (40)
2.2.1 加/减法运算 (40)
2.2.2 乘法运算 (43)
2.2.3 除法运算 (45)
2.2.4 有效数据位的计算 (45)
2.3 有限字长效应 (48)
2.3.1 字长效应的产生因素 (48)
2.3.2 A/D转换器的字长效应 (49)
2.3.3 数字系统运算中的字长效应 (50)
2.4 FPGA中的常用运算处理模块 (52)
2.4.1 加法器模块 (52)
2.4.2 乘法器模块 (54)
2.4.3 除法器模块 (57)
2.4.4 浮点数运算模块 (58)
2.4.5 滤波器模块 (59)
2.5 小结 (61)
第3章 锁相环原理及应用 (63)
3.1 锁相环的原理 (63)
3.1.1 锁相环的模型 (63)
3.1.2 锁定与跟踪的概念 (64)
3.1.3 锁相环的基本性能要求 (65)
3.2 锁相环的组成 (66)
3.2.1 鉴相器 (66)
3.2.2 环路滤波器 (67)
3.2.3 压控振荡器 (68)
3.3 锁相环的动态方程 (68)
3.3.1 非线性相位模型 (68)
3.3.2 线性相位模型 (70)
3.3.3 锁相环的传递函数 (71)
3.4 锁相环的性能分析 (72)
3.4.1 暂态信号响应 (72)
3.4.2 锁相环的频率响应 (74)
3.4.3 锁相环的稳定性 (77)
3.4.4 非线性跟踪性能 (78)
3.4.5 锁相环的捕获性能 (80)
3.4.6 锁相环的噪声性能 (81)
3.5 锁相环的应用 (83)
3.5.1 锁相环的两种跟踪状态 (83)
3.5.2 调频解调器 (84)
3.5.3 调相解调器 (84)
3.5.4 调幅信号的相干解调 (85)
3.5.5 锁相调频器 (85)
3.5.6 锁相调相器 (86)
3.6 小结 (86)
第4章 载波同步的FPGA实现 (88)
4.1 载波同步的原理 (88)
4.1.1 载波同步的概念及实现方法 (88)
4.1.2 锁相环的工作方式 (89)
4.2 锁相环的数字化模型 (90)
4.2.1 数字鉴相器 (90)
4.2.2 数字环路滤波器 (91)
4.2.3 数字控制振荡器 (92)
4.2.4 数字锁相环动态方程 (93)
4.3 输入信号建模与仿真 (94)
4.3.1 工程实例需求 (94)
4.3.2 输入信号模型 (95)
4.3.3 输入信号的MATLAB仿真 (96)
4.4 载波同步环的参数设计 (99)
4.4.1 总体性能参数设计 (100)
4.4.2 数字鉴相器设计 (101)
4.4.3 环路滤波器及数控振荡器设计 (104)
4.5 载波同步环的FPGA实现 (106)
4.5.1 顶层模块的Verilog HDL实现 (106)
4.5.2 IIR滤波器的Verilog HDL实现 (108)
4.5.3 环路滤波器的Verilog HDL实现 (112)
4.5.4 载波同步环的FPGA实现 (114)
4.6 载波同步环的仿真测试 (115)
4.6.1 测试激励的Verilog HDL设计 (115)
4.6.2 单载波输入信号的仿真测试 (117)
4.6.3 调幅输入信号的仿真测试 (121)
4.6.4 关于载波同步环参数的讨论 (123)
4.7 载波同步环的板载测试 (125)
4.7.1 硬件接口电路 (125)
4.7.2 板载测试程序 (126)
4.7.3 板载测试验证 (129)
4.8 小结 (130)
第5章 抑制载波同步的FPGA实现 (131)
5.1 抑制载波同步的原理 (131)
5.1.1 平方环的工作原理 (131)
5.1.2 同相正交环的工作原理 (132)
5.1.3 判决反馈环的工作原理 (134)
5.2 输入信号建模与仿真 (135)
5.2.1 工程实例需求 (135)
5.2.2 DPSK信号的调制原理及特征 (135)
5.2.3 DPSK信号传输模型及仿真 (137)
5.3 平方环的FPGA实现 (139)
5.3.1 改进的平方环原理 (139)
5.3.2 改进的平方环性能参数设计 (139)
5.3.3 带通滤波器设计 (140)
5.3.4 顶层模块的Verilog HDL实现 (142)
5.3.5 带通滤波器的Verilog HDL实现 (145)
5.3.6 低通滤波器的Verilog HDL实现 (149)
5.3.7 FPGA实现后的仿真测试 (151)
5.4 同相正交环的FPGA实现 (153)
5.4.1 同相正交环性能参数设计 (153)
5.4.2 低通滤波器的Verilog HDL实现 (154)
5.4.3 其他模块的Verilog HDL实现 (155)
5.4.4 顶层模块的Verilog HDL实现 (156)
5.4.5 FPGA实现后的仿真测试 (159)
5.4.6 同相支路的判决及码型变换 (161)
5.5 判决反馈环的FPGA实现 (163)
5.5.1 判决反馈环的性能参数设计 (163)
5.5.2 顶层模块的Verilog HDL实现 (164)
5.5.3 积分判决模块的Verilog HDL实现 (167)
5.5.4 FPGA实现后的仿真测试 (169)
5.6 平方环的板载测试 (171)
5.6.1 硬件接口电路 (171)
5.6.2 板载测试程序 (171)
5.6.3 板载测试验证 (172)
5.7 小结 (173)
第6章 自动频率控制的FPGA实现 (174)
6.1 自动频率控制的概念 (174)
6.2 最大似然频差估计的FPGA实现 (175)
6.2.1 最大似然频差估计的原理 (175)
6.2.2 最大似然频差估计的MATLAB仿真 (177)
6.2.3 最大似然频差估计的FPGA实现方法 (179)
6.3 基于FFT载波频率估计的FPGA实现 (181)
6.3.1 离散傅里叶变换 (181)
6.3.2 FFT算法原理及MATLAB仿真 (183)
6.3.3 FFT核的使用 (186)
6.3.4 输入信号建模与MATLAB仿真 (188)
6.3.5 基于FFT频差估计的Verilog HDL实现 (189)
6.3.6 FPGA实现及仿真测试 (193)
6.4 FSK信号调制/解调原理 (194)
6.4.1 数字频率调制 (195)
6.4.2 FSK信号的MATLAB仿真 (196)
6.4.3 FSK信号的相干解调原理 (199)
6.4.4 AFC环解调FSK信号的原理 (200)
6.5 AFC环的FPGA实现 (202)
6.5.1 AFC环参数设计 (202)
6.5.2 顶层模块的Verilog HDL实现 (204)
6.5.3 鉴频器模块的Verilog HDL实现 (207)
6.5.4 FPGA实现及仿真测试 (208)
6.6 AFC环的板载测试 (209)
6.6.1 硬件接口电路 (209)
6.6.2 板载测试程序 (210)
6.6.3 板载测试验证 (212)
6.7 小结 (213)
第7章 数字锁相法位同步技术的FPGA实现 (214)
7.1 位同步的概念及实现方法 (214)
7.1.1 位同步的概念 (214)
7.1.2 利用滤波法提取位同步信号 (215)
7.1.3 利用数字锁相法提取位同步信号 (216)
7.2 微分型位同步环的FPGA实现 (218)
7.2.1 微分型位同步环的原理 (218)
7.2.2 顶层模块的Verilog HDL实现 (219)
7.2.3 双相时钟模块的Verilog HDL实现 (221)
7.2.4 微分鉴相模块的Verilog HDL实现 (223)
7.2.5 单稳态触发器模块的Verilog HDL实现 (225)
7.2.6 控制及分频模块的Verilog HDL实现 (226)
7.2.7 位同步信号形成及移相模块的Verilog HDL实现 (228)
7.2.8 FPGA实现及仿真测试 (230)
7.3 积分型位同步环的FPGA实现 (232)
7.3.1 积分型位同步环的原理 (232)
7.3.2 顶层模块的Verilog HDL实现 (234)
7.3.3 积分器模块的Verilog HDL实现 (236)
7.3.4 鉴相模块的Verilog HDL实现 (238)
7.3.5 FPGA实现及仿真测试 (239)
7.4 改进型位同步环的FPGA实现 (240)
7.4.1 正交支路积分输出门限判决法 (240)
7.4.2 数字滤波器法的工作原理 (242)
7.4.3 随机徘徊滤波器的Verilog HDL实现 (243)
7.4.4 随机徘徊滤波器的仿真测试 (244)
7.4.5 改进型数字滤波器的工作原理 (245)
7.4.6 改进型数字滤波器的Verilog HDL实现 (246)
7.5 微分型位同步环的板载测试 (249)
7.5.1 硬件接口电路 (249)
7.5.2 板载测试程序 (249)
7.5.3 板载测试验证 (250)
7.6 小结 (251)
第8章 插值算法位同步技术的FPGA实现 (252)
8.1 插值算法位同步技术的原理 (252)
8.1.1 插值算法的总体结构 (252)
8.1.2 内插滤波器的原理及结构 (252)
8.1.3 Gardner定时误差检测算法 (254)
8.1.4 环路滤波器与数控振荡器 (256)
8.2 插值算法位同步技术的MATLAB仿真 (257)
8.2.1 环路滤波器系数的设计 (257)
8.2.2 定时误差检测算法的MATLAB仿真程序 (258)
8.2.3 简化后插值算法位同步技术的仿真 (263)
8.3 插值算法位同步技术的FPGA实
第2版前言
自2012年出版《数字滤波器的MATLAB与FPGA实现》后,根据广大读者的反馈和需求,作者从滤波器、同步技术和调制解调三个方面,出版了数字通信技术的MATLAB与FPGA实现系列图书。根据采用的FPGA和硬件描述语言的不同,这套图书分为了Xilinx/VHDL版(采用Xilinx公司的FPGA和VHDL)和Altera/Verilog版(采用Altera公司的FPGA与VerilogHDL)。这套图书能够给广大工程师及在校学生的工作和学习有所帮助,是作者莫大的欣慰。
作者在2015年出版了Altera/Verilog版,在2017年出版Xilinx/VHDL版。针对Xilinx/VHDL版,作者精心设计了FPGA开发板CXD301,并在Xilinx/VHDL版中增加了板载测试内容,取得了良好效果,对读者的帮助很大。
根据广大读者的建议,以及Xilinx/VHDL版的启发,作者从2018年开始着手Altera/Verilog版的改版工作。但限于时间及精力,以及对应的开发板CRD500的研制进度,迟迟没有完稿,一晃竟推迟了近两年的时间。
与本书第1版相比,这次改版主要涉及以下几个方面:
(1)对涉及FPGA工程实例的章节,增加了主要工程实例的板载测试内容(基于开发板CRD500进行板载测试),给出了测试程序代码,并对测试结果进行了分析。
(2)增加了第8章“插值算法位同步技术的FPGA实现”,并将原来的第8章“帧同步技术的FPGA实现”移至第9章。
(3)Quartus软件更新很快,几乎每年都会推出新的版本。2014及以前的版本均为Quartus II,2015年后推出的版本更名为Quartus Prime,目前最新的版本是Quartus Prime 18.1。Quartus II和Quartus Prime的设计界面相差不大,设计流程也几乎完全相同。其中Quartus 13是最后同时支持32 bit及64 bit系统的软件版本,后续版本仅支持64 bit系统。为了兼顾更广泛的设计平台,同时考虑到软件版本的稳定性,本书及开发板配套例程均采用Quartus 13.1。本书第1版采用的是MATLAB 7.0,这次改版采用的是MATLAB R2014a。
(4)为了便于在开发板CRD500上进行板载测试验证,对部分工程实例参数进行了适当的调整。
(5)在编写板载测试的内容时,发现本书第1版中的部分程序还有需要完善的地方,这次改版对这些程序进行了补充及优化。
(6)根据读者的反馈信息,修改了本书第1版中的一些叙述不当或不准确的地方。
限于作者水平,本书的不足之处在所难免,敬请读者批评指正。欢迎大家就相关技术问题进行交流,或对本书提出改进建议。
技术博客:https://blog.csdn.net/qq_37145225。
产品网店:https://shop574143230.taobao.com/。
交流邮箱:[email protected]。
杜勇
2020年1月
第1版前言
为什么要写这本书
为什么要写这本书呢?或者说为什么要写数字通信技术的MATLAB与FPGA实现相关内容的书呢?记得在电子工业出版社出版《数字滤波器的MATLAB与FPGA实现》时,我在前言中提到写作的原因主要有三条:其一是FPGA在电子通信领域得到了越来越广泛的应用,并已逐渐成为电子产品实现的首选方案;其二是国内市场上专门讨论如何采用FPGA实现数字通信技术的书籍相对欠缺;其三是数字通信技术本身十分复杂,关键技术较多,在一本书中全面介绍数字通信技术的FPGA实现时难免有所遗漏,且内容难以翔实。因此,根据自己从业经验,将数字通信的关键技术大致分为滤波器技术、同步技术和调制解调技术三种,并尝试着先写滤波器技术,再逐步完成其他两种技术的写作。在广大读者的支持和鼓励下,先后又出版了《数字通信同步技术的MATLAB与FPGA实现》和《数字调制解调技术的MATLAB与FPGA实现》。这样,关于数字通信技术的MATLAB与FPGA实现的系列著作总算得以完成,多年前的构想总算成为现实!
自数字通信技术的MATLAB与FPGA实现的系列著作出版后,陆续通过邮件或博客的方式收到广大读者的反馈意见。一些读者直接通过邮件告知书中的内容对工作的帮助;一些读者提出了很多中肯的、有建设性的意见和建议;更多的读者通过邮件交流书中的相关设计问题。《数字滤波器的MATLAB与FPGA实现》采用Xilinx公司的FPGA和VHDL作为开发平台(Xilinx/VHDL版),该书出版后,不少读者建议出版采用Verilog HDL作为开发平台的版本。这是个很好的建议。在Xilinx/VHDL版顺利出版之后,终于可以开始Altera/Verilog版的写作了,以满足不同读者的需求。
本书的内容安排
第1章对数字通信同步技术的概念及FPGA基础知识进行简要介绍。通信技术的实现方法和平台很多。其中,FPGA因其强大的运算能力,以及灵活方便的应用特性,在现代通信、数字信号处理等领域得到越来越广泛的应用,并大有替代DSP等传统数字信号处理平台的趋势。为了更好地理解本书后续章节的内容,本章简要介绍了Altera公司的FPGA,以及Quartus II开发环境、MATLAB软件等内容。如果读者已经具备一定的FPGA设计经验,也可以跳过本章,直接阅读后续章节的内容。
第2章介绍FPGA中数的表示方法、数的运算、有限字长效应及常用的数字信号处理模块。在FPGA等硬件系统中实现数字信号时,因受寄存器长度的限制,不可避免地会产生有效字长效应。工程师必须了解字长效应对数字系统可能带来的影响,并在实际设计中通过仿真来确定最终的量化位宽、寄存器长度等内容。本章还对几种常用的运算模块IP核进行介绍,详细阐述各IP核控制参数的设置方法。IP核在FPGA设计中应用得十分普遍,尤其在数字信号处理领域,采用设计工具提供的IP核进行设计,不仅可以提高设计效率,还可以保证设计的性能。因此,在进行FPGA设计时,工程师可以先浏览一下选定的目标器件所能提供的IP核,以便通过使用IP核来减少设计的工作量并提高系统的性能。当然,工程师也可以从设计需要出发,根据是否具有相应的IP核来选择目标器件。本章介绍的都是一些非常基础的知识,但正因为基础,所以显得尤其重要。其中有效数据位运算,以及有效字长效应等内容在后续的工程实例讲解中都会多次涉及,建议读者不要急于阅读后续章节的工程实例讲解,先切实练好基本功,才可以达到事半功倍的效果。
第3章主要讨论锁相环技术的基本理论,这也是本书阅读起来最为乏味的章节。本章有一大堆理论和公式,很容易让人感到厌烦。对于数字通信技术来说,锁相环技术的工作原理大概是最难以弄清的知识点之一。但是,要想设计出完美的同步环路,对理论的透彻理解是必须具备的能力,而且一旦理解透了,在工程设计时就会有得心应手的感觉。本章从工程应用的角度,全面介绍锁相环的原理、组成及工程应用中需要经常使用的公式和参数设计方法。建议读者先耐心地对本章所介绍的内容进行深入的推敲理解,因为在后续章节讲解同步技术的FPGA实现时,可能会需要反复翻阅本章的内容。通过在工程设计实践中反复体会锁相环技术的原理及工作过程,当读者真正理解锁相环技术的基本理论及分析方法后,就会发现设计出性能优良的锁相环也不是一件多么困难的事。
第4章讨论载波同步技术的FPGA实现。这一章仍然有一些概念及工作原理的介绍,主要目的是讲清楚数字化载波锁相环的参数设计及计算方法。实现数字锁相环的关键步骤在于构造合适的数字化实现结构及模型。本章以一个完整的载波同步环工程设计实例,详细讲解数字载波锁相环系统的设计步骤、方法,并进行全面的性能仿真测试。载波同步环的数字化设计与实现比较复杂,初学者往往难以理解数字化模型与模拟电路之间的对应关系。数字化实现方法中各组成部件、参数的设计比较灵活。本章最后对载波同步环的一般设计步骤、环路参数对系统性能的影响进行归纳整理。读者可以完全按照本章所讨论的流程进行系统的设计及仿真,并反复理解载波同步技术的数字化实现方法,以及Verilog HDL编程的思路,必要时可以重复阅读第3章的内容,切实掌握锁相环技术的工作原理及实现过程。同时,本章用较大的篇幅详细讲解工程设计时的仿真测试步骤,读者尤其要切实掌握Quartus II与MATLAB联合应用的方法,以便提高设计效率。
第5章首先简要介绍三种抑制载波同步环的工作原理,随后对三种同步环的FPGA设计方法、结构、仿真测试过程进行详细讨论。从抑制载波同步环的FPGA实现过程中可以看出,设计三种同步环时所采用的环路模型、参数设计方式均十分相似,其中的环路滤波器只需简单修改即可通用。平方环与同相正交环的性能是等价的,但同相正交环(Costas环)在解调BPSK等抑制载波调制信号时更具优势。判决反馈环比其他两种环路的噪声性能更好,环路锁定后的稳态相差更小,但载波同步环需要以位同步作为前提条件,位同步会影响环路的稳定性。因此,对于抑制载波调制信号来讲,工程上通常采用同相正交环来实现信号的载波同步及数字解调。
第6章首先介绍自动频率控制的基本概念,然后分别对最大似然频差估计及基于FFT载波频率估计两种算法的原理、MATLAB仿真进行讨论,并详细阐述基于FFT载波频率估计算法的FPGA实现方法。FSK是数字通信中常用的一种调制方式,本章对频率调制的原理及信号特征进行介绍,并采用MATLAB对FSK信号进行仿真。FSK信号的解调方法很多,非相干解调法因为实现简单,性能优良而得到更为广泛的应用。为了便于读者更好地理解锁相环与AFC环的差别,本章将对常规二阶锁相环无法实现FSK信号解调的原因进行分析,并采用与锁相环类似的分析方法,对AFC环的模型进行讨论。这也进一步说明,读者在进行FPGA工程设计之前,必须充分理解系统的工作原理等理论知识,才能
评论
还没有评论。