实例介绍
高清扫描版PDF,含章节书签。 本书既有锁相环原理又有工程实现,值得一看。 尤其是关注数字锁相环的同学,可以了解一下。
内容简介 本书全面阐述了典型锁相环技术的工作原理及FPGA设计方法,结合 System View仿真实例,详细分析了锁 相环技术的基本概念。按照从理论到实践,再从实践到理论的思路,以 Altera公司的FPGA器件为开发平台,采 用 MATLAB及 Verilog HDL语言为开发工具,详细阐述了锁相环技术的FPGA实现原理及仿真测试过程,逐步深 入地讲解锁相环技术在工程应用中的技术细节。本书思路清晰、语言流畅、分析透彻,在简明阐述设计原理的 基础上,追求对工程实践的指导性,力求使读者在较短的时间内掌握锁相环技术的FPGA设计知识和技能。 本书的配套网络光盘收录了完整的 System View、 MATLAB及 Verilog HDL实例工程代码,有利于技术人 员参考学习,读者可登录华信教育资源网(www.hxedu.com.cn)免费注册后下载。 本书适合从事数字通信和数字信号处理领域的设计工程师、科研人员,以及相关专业的研究生、高年级 本科生使用 未经许可,不得以任何方式复制或抄袭本书之部分或全部内容 版权所有,侵权必究。 图书在版编目(C|P)数据 锁相环技术原理及FPGA实现/杜勇编著.一北京:电子工业出版社,2016.6 ISBN978-7-121-28738-1 I.①锁…ⅡI.①杜…Ⅲ①锁相环一研究Ⅳ.①TN9118 中国版本图书馆CIP数据核字(2016)第095248号 责任编辑:田宏峰 印刷:北京京师印务有限公司 装订:北京京师印务有限公司 出版发行:电子工业出版社 北京市海淀区万寿路173信箱邮编10006 开本:787×10921/16印张:18.25字数:465千字 版次:2016年6月第1版 印次:2016年6月第1次印刷 印数:3000册定价:6800元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联 系及邮购电话:(010)88254888,88258888 质量投诉请发邮件至zs@Dphei.com.cn,盗版侵权举报请发邮件至dbq@phei.com.cn 本书咨询联系方式:tianhf@phei.com.cn。 前言 为什么要写这本书 1965年,英特尔联合创始人戈登·摩尔( Gordon moore)预测,计算机芯片的处理能 力每两年就会翻一番。尽管已经过去50多年,摩尔定律仍然有效。半导体行业的发展速度, 以及摩尔定律的精准性预测一度连摩尔本人都感到无比惊奇! 2015年6月1日,英特尔宣布将以每股54美元的价格收购 Altera,以此计算,此交易 总价将达到167亿美元,创造了英特尔并购历史上金额最大的纪录。一时间,传闻四起, 业内专家和媒体开始讨论,FPGA计算机是否将成为可能? 无论你是否愿意,只要从事的是与电子及信息处理相关的行业,FPGA的地位已显得越 来越重要,它已成为电子行业的基本设计平台之一! 无论多么高大上的技术,工程师要能够熟练应用到自己的工程项目中,都必须深入了 解每一个技术实现细节。所谓“九层之台,起于垒土:合抱之木,生于毫末”。对于繁杂的 技术实现方法,“各个击破”是有效学习应用的不二法门。 自作者于4年前开始陆续出版数字通信技术的FPGA实现相关著作以来,通过邮件或 博客的方式收到了广大读者的很多反馈意见。一些读者直接通过邮件告知书中的内容对工 作中提供的直接或间接的帮助;一些读者提出了很多中肯的、有建设性的意见和建议;更 多的读者通过邮件或博客交流书中的相关设计问题。归纳起来,不少读者的问题集中在数 字锁相环技术的设计及实现方面。在前几本著作中,限于书中内容编排,对通信系统中最 困难的锁相环技术阐述得还不够系统全面。目前市场上讲解锁相环技术的图书,主要集中 在讲解锁相环的基本工作原理,或介绍一些专门的锁相环集成芯片,因此,将锁相环的工 作原理与FPGA实现结合起来讨论,显得十分必要 作者在写作本书的过程中,兼顾锁相环技术的理论,以及工程设计过程的完整性,重 点突出FPGA设计方法、结构、实现细节,以及仿真测试方法。在讲解理论知识的时候, 结合 System View、 MATLAB软件仿真实例,重点从工程应用的角度进行介绍,主要介绍工 程设计时必须掌握和理解的知识点,便于读者尽快地找到理论与工程实现之间的结合点。 在讲解实例的FPGA实现时,不仅对所有实例给出了完整的程序代码,并且从思路和结构 上进行了详细的分析和说明。根据作者的理解,针对一些似是而非的概念,结合工程实例 的仿真测试加以阐述,希望能对读者提供更多有用的参考。相信读者按照书中讲解的步骤 完成一个个工程实例时,会逐步感觉到理论与工程实现之间完美结合的畅快。随着读者掌 握的工程实现技能的提高,对锁相环理论知识的理解也必将越来越深刻,当重新阅读以前 学过的原理时,头脑里就更容易构建起理论知识与工程实践之间的桥梁。 前言Ⅲ 本书的内容安排 第1章首先介绍了FPGA的基本知识,以及 Altera公司的主要器件。本章在介绍了FPGA 的发展历程、结构及工作原理等基本知识后,对本书所用到的设计语言及工具软件进行了 简要介绍,主要包括 Verilog ldl语言、 Quartus、 MATLAB和 System View软件。所谓“工 欲善其事,必先利其器”。之所以说是简要介绍,因为这些开发工具本身的功能十分强大, 每一种工具都有种类繁多的专门著述进行阐述。随着工程师设计经验的积累,设计水平的 提高,越能更全面地掌握设计工具的特点,从而更好地发挥设计工具的性能,以最小的代 价设计出理想的产品。好比一把宝剑,只有握在高手的手中才能发挥出最大的威力。 第2章介绍了FPGA数字信号处理基础知识。数字信号在FPGA等硬件系统中实现时, 因受寄存器长度的限制,不可避免地会产生有效字长效应。设计工程师必须了解字长效应 对数字系统可能带来的影响,并在实际设计中通过仿真来确定最终的量化位数、寄存器长 度等内容。本章在详细分析了字长效应在FPGA设计中的影响后,对几种常用的运算模块 P核进行介绍,讨论了各P核控制参数的设置方法。IP核在FPGA设计中的应用十分普遍, 尤其是在数字滤波器等信号处理领域,采用设计工具提供的IP核进行设计,不仅可以提高 设计效率,而且可以保证设计的性能 第3章从锁相环的组成讲起,深入细致地探讨锁相环关注的信号特性,全面阐述VCO 和乘法鉴相器的工作方式。随后借用最简单的反馈电路等基础知识,逐步揭开锁相环跟踪 信号相位的神秘面纱。最后通过 System View软件工具,详细仿真分析了一阶锁相环的工作 过程,全方位地了解锁相环的工作机理。 第4章讨论了一阶锁相环的FPGA实现方法。根据作者的学习经验,这个阶段最期望 的一定不是再去理解什么原理公式,学习什么方法思路。好比初次接触到羽毛球时,在网 上看了一段中规中矩的教学视频,又刚好买回一支炫丽的球拍,走进球场,实在没有心情 再听老师讲什么挥拍动作和击球技巧,只想痛痛快快地上球场打上几拍了。这一章,我们 将完成一个完整的一阶锁相环电路的FPGA设计及仿真测试过程 第5章又回到理论知识上来。学习的过程通常是学习(理论)一实践(工程)一学习 理论)一实践(工程)的循环反复过程,每一次循环都会带来一次提高。前几章,我们主 要从环路基本概念的角度,对环路进行了分析和仿真,从而初步建立起对锁相环路工作机 理的认识。要深入硏究锁相环技术,必须建立环路的系统模型,而后采用数学方法对模型 进行精确的分析。这一章我们从最基本的线性时不变系统知识开始,逐步建立起锁相环路 的数学模型,为后续的分析打下坚实的基础。在建立模型的过程中,我们会发现,所有的 知识,所有的公式其实都是在大学的一些基础课程中学习过的。 第δ章深入讨论锁相环中最关键的组成电路——环路滤波器。我们从最简单的环路滤 波器——RC低通滤波器开始,逐步理解环路滤波器对锁相环路性能的决定性作用,并引出 本书所研究的重点——由有源积分滤波器组成的理想二阶环路。为了直观说明环路滤波器 对锁相环路性能的影响,以及锁相环路参数的设计方法,我们再次采用 System View搭建了 锁相环路模型,并通过翔实的仿真数据来说明一些看似深奥的理论知识。 第7章开始讨论工程上应用最多的理想二阶环路的FPGA实现。前两章讲了一大堆枯 燥的锁相环原理,本质是说理想二阶环具有相当优异的性能。我们在第4章已经对一阶锁 Ⅳ锁相环技术原理及FPGA实现 相环的FPGA实现进行了详细的讨论,有了前面章节的基础,就可以开始设计二阶环的FPGA 电路了,并且要通过FPGA设计后的仿真来验证理论的正确性。二阶锁相环路相比一阶环 路来讲,仅仅是多了一个环路滤波器。正是这个环路滤波器,尤其是理想环路滤波器,极 大地改善了锁相环路的性能。当我们深刻理解了环路的工作原理,并动手设计出传说中的 理想二阶锁相环电路时,会发现整个设计过程原来如此! 第8章再次回过头来,静心硏究前面设计过程中还没有解决的一些问题。经过第7章 的学习,我们己经可以完成一个完整的理想二阶锁相环路的设计。但在设计过程中,仍有 一些参数的取值没有明确的依据,例如环路的固有振荡频率ωn该如何取值?环路的捕获带 宽与捕获时间如何设计?当环路中存在噪声时(前面章节的设计都还没有涉及这个问题, 但噪声又是电子系统中无法避免的),又该如何设计并计算环路的抗干扰性能呢?因此,在 完成数字二阶环的FPGA初步设计之后,我们需要再回过头来更深入分析一下锁相环路性 能,最终找到锁相环路参数的设计依据。 第9章是一个完整的应用锁相环实现信号解调的工程应用实例。经过前面章节的讨论, 我们对锁相环的理论知识、仿真、设计及FPGA实现都有了比较充分的认识。在无线通信 技术中,在接收端,应用锁相环获取相干载波是最为广泛的应用之一。本章以锁相环解调 PSK调制信号为例,应用前面章节讨论得出的结论,完整地给出锁相环的参数设计、仿真 测试,以及FPGA实现过程 关于FPGA开发环境的说明 众所周知,目前两大商 Xilinx和 Altera的产品占据全球90%以上的FPGA市场。可 以说,在一定程度上正是由于两家FPGA公司的相互竞争态势,有力地推动了FPGA技术 的不断发展。虽然HDL的编译及综合环境可以采用第三方公司所开发的产品,如 Modelsim、 Synplify等,但FPGA器件的物理实现必须采用各自公司开发的软件平台,无法通用。 Xilinx 公司目前最新的开发工具为 Vivado Design Suite套件, Altera公司目前的主流开发平台是 Quartus系列套件。与FPGA开发平台类似,HDL也存两种难以取舍的选择:VHDL和 Verilog hdl。 如何选择开发平台以及HDL语言呢?其实,对于有志于从事FPGA技术开发的技术人 员,选择哪种平台及HDL语言并不重要,因为两种平台具有很多相似的地方,精通一种 HDL语言后,再学习另一种HDL语言也不是一件困难的事。通常来讲,可以根据周围同事 朋友、同学或公司的主要使用情况进行选择,这样在学习的过程中,可以很方便地找到能 够给你指点迷津的专业人士,从而加快学习进度。 本书采用的是Aera公司的FPGA器件作为开发平台,采用 QuartusⅡ2.1作为开发环 境,采用 Verilog hDl语言作为实现手段。由于 Verilog hdl语言并不依赖于某家公司的 FPGA产品,因此本书的 Verilog HDL程序文件可以很方便地移植到 Xilinx公司的FPGA产 品上。如果程序中应用了P核资源,两家公司的P核通常是不能通用的,这就需要根据IP 核的功能参数,在另外一个平台上重新生成IP核,或编写 Verilog HDl代码来实现。 有人曾经说过,“技术只是一个工具,关键在于思想。”将这句话套用过来,对于本书 来讲,具体的开发平台以及HDL语言只是实现数字通信技术的工具,关键在于设计的思路 和方法。因此,读者完全不必要过于在意开发平台的差别,相信只要掌握本书所讲述的设 前言 计思路和方法,加上读者已经具备的FPGA开发经验,采用任何一种FPGA平台都可以很 快地设计出满足用户需求的产品。 如何使用本书 木书在讨论锁相环的基木概念及工作原理时,主要用到了 System View5.0版本软件。关 于 System View5.0软件的特点及使用方法在本书第1章进行了简要介绍。 System View软件 使用起来非常简单,书中的实例也只用到了一些基本功能。如果读者以前没有使用过这款 软件的话,建议先用几个小时了解一下其基本用法,这样就可以动手对本书提供的实例程 序运行仿真。当然,由于 System View仅用来说明锁相环的工作原理,因此,读者也可以完 全不去运行这些实例程序,只要理解书中提供的仿真结果即可。 相信大部分工科院校的学生和电子通信的从业人员对 MATLAB软件都会有一个基本的 了解。由于它的易用性及强大的功能,已经成为数学分析、信号仿真、数字处理必不可少 的工具。由于 MATLAB具有大量专门针对数字信号处理的常用函数,如滤波器函数、傅里 叶分析函数等,十分有利于对一些通信的概念及信号进行功能性仿真,因此,在具体讲解 某个实例时,通常会采用 MATLAB作为仿真验证工具。虽然书中的 MATLAB程序相对比 较简单,主要应用一些数字信号处理函数进行仿真验证,如果读者没有 MATLAB的知识基 础,建议最好还是先简单学习一下 MATLAB的编程概念及基本语法。考虑到程序及函数的 兼容性,书中所有 MATLAB程序的开发验证平台均为 MATLAB R2014a版软件。 在讲解具体的FPGA工程应用实例时,通常会先采用 MATLAB对所需设计的工程进行 仿真,一方面仿真算法过程及结果,另一方面生成FPGA仿真所需要的测试数据;然后在 QuartusⅡ平台上编写 Verilog hDL程序对实例进行设计实现,为便于讲述,通常会先讨论程 序的设计思路,或者先给出程序清单,再对程序代码进行分析说明;完成程序编写后,需 要编写 Test Bench测试激励文件,根据所需产生输入信号的种类,可以直接在 TestBench文 件中编写代码来产生输入信号,也可以通过读取外部文本文件的方式来产生输入信号;接 下来就可以采用 Modelsim工具对 Verilog HDL程序进行仿真,查看 Modelsim仿真波形结 果,并根据需要将仿真数据写入外部文本文件中,通常还会对仿真波形进行讨论,分析仿 真结果是否满足要求;如果 Modelsim波形不便于精确分析测试结果,则需要再次编写 MATLAB程序,对 Modelsim仿真结果数据进行分析处理,最终验证FPGA设计的正确性。 本书主要以工程应用实例的方式讲解锁相环技术的原理及FPGA实现方法和步骤。书 中所有实例均给出了完整的程序清单,限于篇幅,不同工程实例中的一些重复或相似的代 码没有完全列出,随书配套的网络光盘上收录了本书所有实例的源程序及工程设计资源 并按章节序号置于光盘根目录下。本书在编写工程实例时,程序文件均放置在 “D: PllPrograms”的文件夹下,读者可以先在本地硬盘下建立“D: PllPrograms”文件夹,而 后将配套网络光盘中的程序压缩包解压至该文件夹下,大部分程序均可直接运行。需要说 明的是,在部分工程实例中,需要由 MATLAB产生FPGA测试所需的文本数据文件,或者 由 MATLAB读取外部文件进行数据分析,同时FPGA仿真的 TestBench文件通常也需要从 指定的路径下读取外部文件数据,或将仿真结果输出到指定的路径下。对于 Modelsim仿真 来讲,作为测试输入的文本文件必须放置在当前FPGA工程目录下的“ simulation\modelsim” 路径下。因此,读者在用 MATLAB生成测试数据后,需要将生成的文件复制到指定的路径 Ⅵ|锁相环技术原理及FPGA实现 下,以获取正确的仿真结果。 致谢 有人说,每个人都有他存在的使命,如果他的使命迷失了,也就失去了他存在的价值。 不只是每个人,每件物品也都有其存在的使命。对于一本书来讲,其存在的使命就是被阅 读,并给阅读者带来收获 作者在写作本书的过程中查阅了大量的资料,在此对资料的作者及提供者表示衷心的 感谢。由于写作本书的缘故,重新阅读一些经典的数字通信理论书籍时,再次深刻感受到 前辈们严谨的治学态度和细致的写作作风。 在此,感谢父母,多年来一直陪伴在我的身边,由于他们的默默支持,使得我能够在 家里专心致志地写作;感谢我的妻子刘帝英女士,她不仅是一位尽心尽职的优秀母亲,也 是一位严谨细致的科技工作者,同时也是本书的第一位读者,在工作之余对本书进行了详 尽而细致的校对;四年前初次编写数字通信的FPGA设计与实现系列图书时,女儿才刚上小 学,转眼她已经上五年级了,她最爱看书和画画,小脑袋里装着越来越多的她自己的想法。 FPGA技术博大精深,本书虽尽量详细讨论了锁相环技术的原理及FPGA实现相关内容, 仍感觉到难以详尽阐述所有技术细节。相信读者在实际工程应用中经过不断的实践、思考 及总结,一定可以快速掌握其工程设计方法,提高应用FPGA进行工程设计的能力。由于 作者水平有限,不足之处在所难免,敬请读者批评指正。欢迎大家就相关技术问题进行交 流,或对本书提出改进意见及建议 为便于读者交流,并及时发布相关资料及信息,本书特开设了交流博客,读者也可以 通过邮件与作者进行技术交流。 交流空间:http://duyongcn.blog163.com,作者邮箱:duyongcn@sina.cn。 杜勇 2016年4月 前言 目录 Contents 第1章设计环境及开发平台介绍 1.1FPGA基础知识 ····+ 1.1.基本概念及发展历程…………… ·,··,, 224 1.1.2FPGA的结构和工作原理…… 1.1.3FPGA在数字信号处理中的应用 “·““““““ ………12 1.2 Altera器件简介… 12 13 Verilog HDL语言简介… ……………………………………15 1.3.1HDL语言简介… ………15 1.3.2 Verilog HDL语言特点 16 1.3.3 Verilog HDL程序结构… 卡““为“节“““”““牛 ……………………17 14 QuartusⅡ开发套件………… 18 14. I Quartus I开发套件简介……………………………………………………18 14.2 Quartus II软件的用户界面 19 1.5 Modelsim仿真软件… 22 1.6 MATLAB软件 ……………………………………………………·24 1.6.1 MATLAB软件介绍 ………24 16.2 MATLAB工作界面………………………………………24 1.6.3 MATLAB的特点及优势…… 25 1.64 MATLAB与 Quartus的数据交互………27 17 System View软件… 28 17.1 System View简介…… 28 1.7.2 System View工作界面……29 1.8小结——欲善其事先利其器… 32 第2章FPGA数字信号处理基础 ……33 2.1FPGA中数的表示… 2.1.1莱布尼兹与二进制………………… …………………………………………34 2.1.2定点数表示 35 2.1.3浮点数表示………… ·444,4·,,+ 36 22FPGA中数的运算 ……0 2.2.1加/减法运算………………………………… 40 22.2乘法运算…… 43 22.3除法运算 22.4有效数据位的计算 目录IX 23有限字长效应 47 23.1字长效应的产生因素 47 23.2AD转换的字长效应 48 23.3系统运算中的字长效应 ………………………………………………49 24FPGA中的常用处理模块 24.1加法器模块…………………………………………………51 24.2乘法器模块…… 2.4.3除法器模块…… 4.44444、 56 2.4.4浮点运算模块 57 2.5小结—四个过桥人… ……59 第3章锁相环为什么能够跟踪相位 61 3.1锁相环的组成………… 62 3.1.1关注信号的相位分量 ……………………………………62 3.1.2VCO是一个积分器件 3.1.3正弦鉴相器还是余弦鉴相器 65 3.1.4环路滤波器的作用……… …68 3.2从负反馈电路理解锁相环 …69 3.2.1反馈电路的概念 3.2.2负反馈电路的控制作用 70 3.2.3锁相环与基本负反馈电路的区别…………………………………71 3.2.4分析锁相环的工作状态… 33最简单的锁相环 ………………………173 3.3.1一阶锁相环的 System View模型 73 3.3.2确定VCO输出的同相支路 4 34锁相环的基本性能参数………………………………………………77 3.4.1捕获及跟踪过程 3.4.2环路的基本性能要求 .., …………………………78 3.5分析一阶环的基本参数… 3.5.1数学方法求解一阶环……… …………………79 3.5.2图解法分析一阶环工作过程…… 81 3.53工程设计与理论分析的差异… 3.54遗忘的参数一鉴相滤波器截止频率…………………… 3.6小结——千条路与磨豆腐 87 第4章一阶锁相环的FPGA实现 4.1一阶环的数字化模型………… 4.1.1工程实例需求……………………………………………………………90 4.1.2数字鉴相器 91 4.1.3数控振荡器… 4.1.4计算环路增益 …………94 4.2数字鉴相滤波器设计……………………………… X锁相环技术原理及FPGA实现 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论