科技>通信与网络>通信技术与应用
数字通信同步技术的MATLAB与FPGA实现——Altera/Verilog版(第2版)

数字通信同步技术的MATLAB与FPGA实现——Altera/Verilog版(第2版)"

作者:杜勇
ISBN:9787121386428
定价:¥99.0
字数:544千字
页数:340
出版时间:2020-03
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书以Altera公司的FPGA为开发平台,以MATLAB及Verilog HDL为开发工具,详细阐述数字通信同步技术的FPGA实现原理、结构、方法和仿真测试过程,并通过大量的工程实例分析FPGA实现过程中的具体技术细节。本书主要内容包括FPGA实现数字信号处理基础、锁相环、载波同步、自动频率控制、位同步、帧同步等。本书思路清晰、语言流畅、分析透彻,在简明阐述设计原理的基础上,注重对工程实践的指导性,力求使读者在较短的时间内掌握数字通信同步技术的FPGA设计知识和技能。作者精心设计了与本书配套的FPGA开发板,详细介绍了工程实例的实验步骤及方法,形成了从理论到实践的完整学习过程,可以有效地加深读者对数字通信同步技术的理解。本书的配套资料收录了完整的MATLAB及Verilog HDL代码,有利于工程技术人员参考,读者可登录华信教育资源网(www.hxedu.com.cn)免费注册后下载。

前言

第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/。 交流邮箱:duyongcn@sina.cn。 杜勇 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工程设计之前,必须充分理解系统的工作原理等理论知识,才能更好地把握FPGA实现过程中的参数设计、数据截位、时序控制等工程设计细节。本章最后详细阐述采用相乘微分型AFC环实现FSK解调的原理、方法、步骤及仿真测试过程。 第7章主要讨论采用数字锁相环实现位同步的原理、方法、步骤及仿真测试过程。数字锁相法实现位同步是数字通信中使用最为广泛的方法,其基本工作原理与载波同步环类似,均是通过鉴相器提取输入信号与本地位同步信号的相差,并据此对本地同步信号的相位进行调整。微分型位同步环是最简单的数字锁相环,其他位同步环均是在其基础上进行改进和完善的,以增加抗干扰性能及稳定性能。本章以工程实例讲解的方法,对微分型、积分型和改进型位同步环的各个功能部件进行详细的讨论,尤其对环路各节点的信号波形进行了说明。读者在阅读本章时,需要切实弄清各环路、各节点波形的时序关系。当完全理解环路的工作过程及实现方法后,采用Verilog HDL进行实现就比较容易了。读者可以将本章所讨论的实例作为独立的模块嵌入前面章节的实例中,以完成基带信号解调后的位同步功能。 第8章首先介绍同步传输及异步传输的概念,并对两种传输方式的同步原理、方法、步骤及仿真测试过程进行详细讨论。异步传输的速率及效率都比较低,典型的应用是串口通信。本章对RS-232-C串口传输进行FPGA实现,RS-232-C串口传输协议定义了较多的握手信号,有兴趣的读者可以在例8-1的基础上对串口通信进行完善。本章的重点是帧同步系统的FPGA实现,完整的帧同步包括搜索、校核和同步等状态。一个看似复杂的系统,只要合理划分功能模块,在编写程序之前厘清编程思路,最终的代码实现反而会变得比较简单。读者在阅读帧同步系统的程序代码时,重点在于理解各模块之间的接口关系,以及接口信号之间的时序关系,进而深刻理解程序的编写思路和方法,以提高复杂系统的Verilog HDL的编程水平。 本书的目标 作为一名电子通信领域的技术人员,在从业之初都会遇到类似的困惑:如何将教材中所学的理论与实际中的工程设计结合起来?如何能够将这些教材中的理论转换成实际的应用?绝大多数数字通信类教材对通信的原理讲解得十分透彻,但理论与实践之间显然需要有一座可以顺利通过的桥梁。一个常用的方法是通过MATLAB等进行仿真来加深对理论的理解,但更好的方法是直接参与工程的设计与实现。FPGA因其快速的并行运算能力,以及独特的组成结构,在电子通信领域已成为必不可少的实现平台之一。本书的目的正是架起这样一座桥梁,通过具体的设计实例,详细讲解从理论到工程实现的方法、步骤和过程,以便于工程技术人员尽快掌握和利用FPGA平台实现数字通信同步技术的方法。 目前,市场上已有很多介绍ISE、QuartusⅡ等FPGA开发环境,以及VHDL、Verilog HDL等硬件描述语言的书籍。如果仅仅使用FPGA来实现一些数字逻辑电路,或者理论性不强的控制电路设计,那么掌握FPGA开发工具及Verilog HDL的语法就可以工作了。数字通信同步技术的理论性要强得多,采用FPGA平台实现数字通信同步技术的前提条件是对理论知识要有深刻的理解。在理解理论知识的基础上,关键的问题是根据这些理论知识,利用FPGA的特点,找到合适的算法,厘清工程实现的思路,并采用Verilog HDL等硬件描述语言进行正确的实现。显然,要想读懂本书,掌握FPGA实现数字通信同步技术的知识和技能,读者还需要对FPGA的开发环境和设计语言有一定的了解。 在写作过程中,本书兼顾数字通信同步技术的理论,以及工程设计过程的完整性,重点突出FPGA设计方法、结构、实现细节,以及仿真测试方法。在讲解理论知识时,重点从工程应用的角度介绍工程设计时必须掌握和理解的知识点,并且结合FPGA的特点进行讨论,以便读者尽快地找到理论与工程实现之间的结合点。在讲解实例的FPGA实现时,绝大多数实例都给出了完整的Verilog HDL实现代码,从思路和结构上对每段代码进行了详细的分析和说明。作者针对一些似是而非的概念,结合工程实例的仿真测试加以阐述,希望能够对读者提供更多有用的参考。相信读者在按照书中讲解的步骤完成一个个工程实例时,会逐步感觉到理论与工程实现之间完美结合的畅快。随着读者掌握的工程实现技能的提高,对理论知识的理解也必将越来越深刻。如果重新阅读以前学过的理论知识,就会比较容易构建起理论与工程实现之间的桥梁。 关于FPGA开发环境的说明 众所周知,目前两大厂商Xilinx和Altera的产品占据了全球约90%的FPGA市场。可以说,在一定程度上正是由于两家FPGA公司相互竞争的态势,才有力地推动了FPGA的不断发展。虽然HDL的编译及综合环境可以采用第三方公司所开发的产品,如ModelSim、Synplify等,但FPGA的物理实现必须采用各自公司开发的软件平台,无法通用。Xilinx公司目前的主流开发平台是ISE,Altera公司目前的主流开发平台是QuartusⅡ。与FPGA开发平台类似,HDL也存在两种难以取舍的选择,即VHDL和Verilog HDL。 如何选择开发平台以及HDL呢?其实,对于有志于从事FPGA技术开发的技术人员,选择哪种平台及HDL语言并不重要,因为两种平台具有很多相似的地方,精通一种HDL后,再学习另一种HDL也不是一件困难的事。通常来讲,可以根据周围同事、朋友、同学或公司的主要使用情况进行选择,这样在学习的过程中就可以很方便地找到能够给你指点迷津的专业人士,从而加快学习的进度。 本书采用Altera公司的FPGA作为开发平台,采用Quartus II 12.1作为开发环境,采用Verilog HDL作为实现手段。由于Verilog HDL并不依赖于某家公司的FPGA,因此本书的Verilog HDL程序可以很方便地移植到Xilinx公司的FPGA上。如果程序中应用了IP核,两家公司的IP核通常是不能通用的,这就需要根据IP核的功能参数,在另外一个平台上重新生成IP核,或编写Verilog HDL代码来实现。 如何使用本书 本书讨论的是数字通信同步技术的MATLAB与FPGA实现。相信大部分工科院校的学生和电子通信领域的从业人员对MATLAB都有一个基本的了解。由于MATLAB的易用性及强大的功能,已经成为数学分析、信号仿真、数字处理必不可少的工具。MATLAB具有大量专门针对数字信号处理的函数,如滤波器函数、傅里叶分析函数等,这些函数十分有利于对一些通信的概念及信号进行功能性仿真,因此,在具体讲解某个实例时,通常会采用MATLAB作为仿真验证工具。虽然书中的MATLAB程序相对比较简单,主要应用一些数字信号处理函数进行仿真验证,但如果读者没有MATLAB的基础知识,还是要先简单学习一下MATLAB的编程概念及基本语法。 在讲解具体的FPGA工程应用实例时,通常会先采用MATLAB对所设计的工程进行仿真,一方面仿真算法过程及结果,另一方面生成FPGA仿真所需要的测试数据。然后在Quartus II上编写Verilog HDL代码对实例进行设计和实现。为了便于讲述,通常会先讨论程序的设计思路,或者先给出程序清单,再对程序代码进行分析说明。完成程序编写后,还需要编写TestBench文件,根据所需产生输入信号的种类,可以直接在TestBench文件中编写代码来产生输入信号,也可以通过读取外部文本文件的方式来产生输入信号。最后采用ModelSim工具对Verilog VHDL程序进行时序或行为仿真,查看ModelSim仿真波形结果,并根据需要将仿真数据写入外部文本文件中,通常还会对仿真波形进行分析,分析仿真结果是否满足要求;如果ModelSim波形不便于精确分析测试结果,则需要再次编写MATLAB程序,对ModelSim仿真结果数据进行分析处理,最终验证FPGA设计的正确性。 本书主要以工程实例的方式讲解数字通信同步技术的原理及FPGA实现方法和步骤。本书的大部分工程实例均给出了完整的程序清单,但限于篇幅,不同工程实例中的一些重复或相似的代码没有完全列出,本书配套资料中收录了本书所有工程实例的源程序及工程设计资源,并按章节序号存放。本书在编写工程实例时,程序文件均放置在“D:SyncPrograms”文件夹下,读者可以先在本地硬盘下建立“D:SyncPrograms”文件夹,而后将本书配套资料中的程序压缩包解压至该文件夹下,大部分程序均可直接运行。需要说明的是,在大部分工程实例中,需要由MATLAB产生FPGA测试所需的数据文件,或者由MATLAB读取外部文件进行数据分析,同时FPGA仿真所需的TestBench文件通常也需要从指定的路径下读取,或将仿真结果输出到指定的路径下。文本文件的路径均指定为绝对路径,如“fid=fopen('D:SyncPrograms Chapter_4E4_1_DirectCarrierSn0dB_in.txt','w')”,因此读者运行实例程序时,需要将程序文件中指定文件绝对路径的代码进行修改,以确保仿真测试程序在正确的路径下对文件进行读/写操作。 致谢 有人说,每个人都有他存在的使命,如果他迷失自己的使命,就失去了存在的价值。不只是每个人,每件物品也都有其存在的使命。对于一本书来讲,其存在的使命就是被阅读,并给阅读者带来收获。数字通信的MATLAB与FPGA设计系列图书,能够对读者在工作及学习中有所帮助,是作者莫大的欣慰。 作者在写作本书的过程中查阅了大量的资料,在此对资料的作者及提供者表示衷心的感谢。由于写作本书的缘故,作者在重新阅读一些经典的数字通信理论著作时,再次深刻感受到了前辈们严谨的治学态度和细致的写作作风。 在此,感谢父母,几年来一直陪伴在我的身边,由于他们的默默支持,才让我能够在家里专心致志地写作。感谢我的妻子刘帝英女士,她不仅是一位尽心尽职的母亲,也是一位严谨细致的科技工作者,同时也是本书的第一位读者,在工作之余对本书进行了详尽而细致的校对。时间过得很快,我的女儿已经上小学四年级了,她最爱看书和画画,最近迷上了《西游记》,以前的儿童简化版已满足不了她的要求了,周末陪她去书店买了一本原著,她常常被书中的情节逗得哈哈大笑,还常常要推荐给我看一些精彩的章节。 FPGA技术博大精深,数字通信技术种类繁多且实现难度大,虽然本书尽量详细讨论了数字通信同步技术的FPGA实现相关内容,仍感觉到难以详尽叙述工程实现的所有细节。相信读者在实际工程应用中经过不断实践、思考及总结,一定可以快速掌握数字通信同步技术的工程设计方法,提高FPGA的工程设计能力。 由于作者水平有限,不足之处在所难免,敬请读者批评指正。欢迎大家就相关技术问题进行交流,或对本书提出改进意见及建议。请读者访问网址http://duyongcn.blog.163.com以获得与本书相关的资料及信息,也可以发邮件至duyongcn@sina.cn与作者进行交流。 杜 勇 2015年3月

目录

第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实现 (266) 8.3.1 顶层模块的Verilog HDL设计 (266) 8.3.2 内插滤波器模块的Verilog HDL设计 (267) 8.3.3 定时误差检测及环路滤波器模块的Verilog HDL设计 (270) 8.3.4 数控振荡器的Verilog HDL设计 (272) 8.3.5 FPGA实现后的仿真测试 (273) 8.4 插值算法位同步环的板载测试 (274) 8.4.1 硬件接口电路 (274) 8.4.2 板载测试程序 (275) 8.4.3 板载测试验证 (276) 8.5 小结 (277) 第9章 帧同步技术的FPGA实现 (278) 9.1 异步传输与同步传输的概念 (278) 9.1.1 异步传输的概念 (278) 9.1.2 同步传输的概念 (279) 9.1.3 异步传输与同步传输的区别 (279) 9.2 起止式同步的FPGA实现 (280) 9.2.1 RS-232串口通信协议 (280) 9.2.2 顶层模块的Verilog HDL实现 (282) 9.2.3 时钟模块的Verilog HDL实现 (283) 9.2.4 串口接收模块的Verilog HDL实现 (285) 9.2.5 串口发送模块的Verilog HDL实现 (287) 9.2.6 FPGA实现及仿真测试 (289) 9.3 帧同步码组及其检测原理 (291) 9.3.1 帧同步码组的选择 (291) 9.3.2 间隔式插入法的检测原理 (293) 9.3.3 连贯式插入法的检测原理 (294) 9.3.4 帧同步过程的几种状态 (295) 9.4 连贯式插入法帧同步的FPGA实现 (296) 9.4.1 实例要求及总体模块设计 (296) 9.4.2 搜索态模块的Verilog HDL实现及仿真 (298) 9.4.3 校核态模块的Verilog HDL实现及仿真 (302) 9.4.4 同步态模块的Verilog HDL实现及仿真 (306) 9.4.5 帧同步的FPGA实现及仿真 (311) 9.5 串口通信的板载测试 (312) 9.5.1 硬件接口电路 (312) 9.5.2 板载测试验证 (313) 9.6 帧同步电路的板载测试 (314) 9.6.1 硬件接口电路 (314) 9.6.2 板载测试程序 (315) 9.6.3 板载测试验证 (317) 9.7 小结 (318) 参考文献 (319)

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=TN386420

www.luweidong.cn

下一个