基于FPGA的FSK调制与解调有详细代码和注释(上传百度)_第1页
基于FPGA的FSK调制与解调有详细代码和注释(上传百度)_第2页
基于FPGA的FSK调制与解调有详细代码和注释(上传百度)_第3页
基于FPGA的FSK调制与解调有详细代码和注释(上传百度)_第4页
基于FPGA的FSK调制与解调有详细代码和注释(上传百度)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附件6:华南理工大学广州学院本科生毕业设计(论文)格式规范(斜体字均作为格式说明用,填写时请删除) 用学校提供的蓝色打印本科毕业设计(论文)说明书二进制频移键控(FSK)调制与解调的设计 基于FPGA有详细的代码及注释系 别 电子信息工程 专业班级 学生姓名 唐亦林 指导教师 提交日期 2012年 小三号宋体,加粗橙色.2cm。行距为固定值20磅。III华南理工大学广州学院学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华南理工大学广州学院可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在 年解密后适用本授权书。本学位论文属于 不保密。(请在以上方框内打“”)学位论文作者签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日 华 南 理 工 大 学 广 州 学 院毕 业 设 计 (论文) 任 务 书 兹发给 班学生 唐亦林 毕业设计(论文)任务书,内容如下: 1.毕业设计(论文)题目: 二进制频移键控(FSK)调制与解调的设计 2.应完成的项目: (1)熟悉二进制频移键控(FSK)调制与解调的方法,给出设计方案 (2)用VHDL语言描述并实现该系统功能 (3)在Quartus II软件上给出波形仿真结果 (4)在 CycloneIII芯片上给出硬件测试结果,并分析 3.参考资料以及说明: (1)EDA与数字系统设计第2版,李国丽 ,机械工业出版社 (2)电子技术基础数字部分第5版,康华光 ,高等教育出版社 (3)VHDL电路设计使用教程李云,机械工业出版社 (4)VHDL语言及其应用,付永庆,高等教育出版社 (5)EDA技术实验讲义,杭州康芯电子有限公司 (6)VHDL电路设计实用教程,李云,机械工业出版社 4.本毕业设计(论文)任务书于 年 月 日发出,应于 年 月 日前完成,然后提交毕业考试委员会进行答辩。 专业教研组(系)负责人 审核 年 月 日 指导教师(导师组负责人) 签发 年 月 日毕业设计(论文)评语: 三号宋体摘 要 现代通信系统要求通信距离远、通信容量大、传输质量好。作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。调制解调的方法与实现方式多种多样,其性能的好坏直接关系到整个系统的性能。本次设计采用2FSK,它实现起来较容易,抗噪声与抗衰减的性能较好。可广泛用于计算机网络、办公自动化、远程自控系统及移频通信中。二进制频移键控是利用基带信号控制载波频率来传送信息。例如:码元1用f1来传输,码元0用f2来传输。本设计采用键控法来实现2FSK信号的调制,既在二进制基带信号的控制下通过开关对两个不同的独立频率源进行选通,使其在每一个码元Ts期间输出f1或f2两个载波之一。而解调则采用在一个码元周期内统计收到信号的过零数进行判决的方法实现。鉴于EDA技术的广泛应用,本设计使用VHDL语言描述并实现该系统功能。本文先对2FSK调制解调的原理、EDA技术和Quartus II软件作了简介。而后对具体的硬件描述语句进行了分析说明,对设计结果进行了仿真和分析。在此基础上使用EDA GW-48实验箱进行硬件测试,证明设计确实合理可靠。关键词:2FSK调制解调,仿真,调试,VHDL语言 Abstract Modern communication systems require far distance communications, telecommunications capacity, and transmission quality. As one of the key technologies of its modem technology has always been an important researching direction of people. There are various methods to implement it, its performance has a direct relationship to the overall system performances. This design use 2FSK modulation because of its well anti-noise and anti-attenuation performances, and ease to implement. It can also be widely used in computer networking, office automation, remote-controlled system and the frequency shift in communication. The 2FSK transmit information with two different carrier frequency which is selected by the baseband signal. For example, the data 0 is presented by the carrier frequency f1 and the data 1 is presented by the carrier freqnency f2. This design uses the keying to implement the 2FSK modulation. It means that two independent frequency is gated through the switch under the control of binary baseband signal in each symbol period. The demodulation is implemented with counting the number of received signals zero crossing and decision in a symbol period . Thanks to the wide use of EDA technology, This design using VHDL language(Hardware description language)to describe and implement the system functions.In this paper, firstly, the principle of 2FSKs modulation and demodulation or EDA technology and the Quartus II software are introduced particularly. Secondly, it analyze the specific hardware description statement and simulation. On this basis, the EDA GW-48 test box hardware test to prove that the design is indeed reasonable and reliable.Keywords: 2FSK modem, Simulation,debugging, the VHDL language 目 录摘 要IAbstractII第一章 绪论1第二章EDA技术简介32.1、Quartus II简介32.1.1、QuartusII开发系统的特点32.2、VHDL语言简介42.2.1、VHDL 语言的特点42.2.2、VHDL语言的基本结构52.3、本章小结6第三章 2FSK调制解调基本原理73.1、2FSK的调制原理73.2、2FSK的解调原理83.3、本章小结9第四章 基于VHDL语言的2FSK调制解调设计104.1、2FSK调制器设计104.1.1、基于VHDL语言的调制程序104.2、2FSK解调器设计124.2.1、基于VHDL语言的解调程序124.3、分频器与信号发生器设计174.3.1、基于VHDL语言的分频程序174.3.2基于VHDL语言的信号发生器程序184.4、本章小结20第五章 基于VHDL语言的2FSK调制解调的仿真215.1、2FSK调制器波形仿真215.2、2FSK解调器波形仿真225.3、分频器与信号发生器波形仿真235.3.1、分频器波形仿真235.3.2、信号发生器波形仿真235.4、本章小结23第六章 上机测试256.1、程序下载256.2、波形测试256.3、本章小结27总结28参考文献29致谢30华南理工大学广州学院本科毕业设计(论文)说明书第一章 绪论在当今高度信息化的社会,信息和通信已成为现代社会的“命脉”。 信息作为一种资源,只有通过广泛地传播与交流,才能产生利用价值,促进社会成员之间的合作,推动社会生产力的发展,创造出巨大的经济效益。而通信作为传输信息的手段或方式,与计算机技术相互融合,已成为21世纪国际社会和世界经济发展的强大推动力。通信的目的就是从一方向另一方传送信息,给对方以信息,但是消息的传送一般都不是直接的,它必须借助于一定形式的信号才能便于远距离快速传输和进行各种处理。虽然基带信号可以直接传输,但是目前大多数信道不适合传输基带信号。现有通信网的主体为传输模拟信号而设计的,基带数字信号不能直接进入这样的通信网。基带信号一般都包含有频率较低,甚至是直流的分量,很难通过有限尺寸的天线得到有效辐射,因而无法利用无线信道来直接传播。对于大量有线信道,由于线路中多半串接有电容器或并接有变压器等隔直流元件,低频或直流分量就会受到很大限制。因此,为了使基带信号能利用这些信道进行传输,必须使代表信息的原始信号经过一种变换得到另一种新信号,这种变换就是调制。在无线通信中和其他大多数场合,调制一词均指载波调制。载波调制,就是用调制信号去控制载波参数的过程,使载波的某一个或某几个参数按照调制信号的规律而变化。调制信号是指来自信源的消息信号(基带信号),这些信号可以是模拟的,也可以是数字的。未受调制的周期性振荡信号称为已调信号,它可以是正弦波,也可以是非正弦波(如周期性脉冲序列)。载波调制后称为已调信号,它包含有调制信号的全部特征。而解调(也称检波)则是调制的逆过程,其作用是将已调信号中的调制信号恢复出来。二进制数字调制所用调制信号由代表“0”“1”的数字信号脉冲序列组成。因此,数字调制信号也称为键控信号。二进制振幅调制、频率调制和相位调制分别称为振幅键控(ASK)、频移键控(FSK)、相移键控(PSK)。数字调制产生模拟信号,其载波参量的离散状态是与数字数据相对应的,这种信号适宜于在带通型的模拟信道上传输。频移键控是利用载波的频率变化来传输信息的,其中最简单的一种方式是二进制频移键控(2FSK)调制,它是继振幅键控信号之后出现比较早的一种调制方式。由于它的抗衰减性能优于ASK,设备又不算复杂,实现也比较容易,所以一直在很多场合,例如在中低速数据传输,尤其在有衰减的无线信道中广泛应用。二进制频移键控(2FSK)用靠近在载波的两个不同频率表示两个二进制数。FSK信号有两种产生方法:载波调频法和频率选择法。载波调频法产生的是相位连续的FSK信号,相位连续FSK信号一般由一个振荡器产生,用基带信号改变振荡器的参数,使震荡频率发生变化,这时相位是连续的。频率选择法一般是相位不连续的FSK信号,相位不连续的FSK信号一般由两个不同频率的振荡器长生,由基带信号控制着两个频率信号的输出。由于这两个振荡器是相互独立的因此在转换或相反的过程中,不能保证相位的连续。传统的FSK调制解调器采用“集成电路+连线”的硬件实现方式进行设计,集成块多、连线复杂且体积较大,特别是相干解调需要提取载波,设备相对比较复杂,成本高。本文基于FPGA芯片,采用VHDL语言,利用层次化、模块化设计方法,提出了一种2FSK调制解调器的实现方法。VHDL语言作为一种标准的硬件描述语言,具有结构严谨、描述能力强的特点,支持从系统级到门级所有层的设计。进行逻辑电路设计时,不需考虑特定电路制造工艺的影响,其设计覆盖所有的逻辑电路形式。从而有效的缩小了系统体积,提高了可靠性,并具有良好的可移植性。29第二章EDA技术简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。应用可编程逻辑器件(Programmable Logic Device, PLD)实现数字系统设计和单片系统的设计2,是目前利用EDA技术设计数字系统的潮流。这种设计方法以数字系统设计软件为工具,将传统数字系统设计中的搭建调试用软件仿真取代,对计算机上建立的系统模型,用测试码或测试序列测试验证后,将系统实现在PLD芯片或专用集成电路上,这样最大程度地缩短了设计和开发时间,降低了成本,提高了系统的可靠性。利用EDA技术进行电子系统的设计,具有以下几个特点:(1) 用软件的方式设计硬件;(2) 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;(3) 设计过程中可用有关软件进行各种仿真;(4) 系统可现场编程,在线升级;(5) 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。2.1、Quartus II简介Quartus II是Altera公司自行设计的CAE软件平台,提供了完整的多平台设计环境,能满足各种特定设计的要求,是单片可编程系统(SOPC)设计的综合环境性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模块设计提供了集成综合环境。QuartusII可以在多钟平台上运行,其图形界面丰富,加上完整的、可即时访问的在线文档,使设计人员可以轻松地掌握软件的使用。2.1.1、QuartusII开发系统的特点(1)、界面开放Quartus II虽然是Altera公司设计的EDA软件,但它可以与其他工业便准的设计输入、综合与校验工具想连接,设计人员可以使用Altera或标准EDA工具设计输入工具来建立逻辑设计,用Quartus II编译器(Compiler)对Altera器件设计进行编译,并使用Altera或其他EDA校验工具进行器件或扳级仿真。目前,Quartus II支持与Candence、Exemplarlogic、Metro Graphics、Synopsys等公司所提供的EDA工具接口。(2)、与结构无关Quartus II系统的核心编译器支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、Classic、Stratix II等可编程逻辑器件系列,提供了与结构无关的可编程逻辑环境。Quartus II的编译器还提供了强大的逻辑综合与优化功能,使用户可以容易地把设计集成到器件中。(3)、丰富的设计库Quartus II提供丰富的库单元供设计者调用,其中包括74系列的全部器件和其他多种逻辑功能部件,调用库元件进行设计,可以大大减轻设计人员的工作量,缩短设计周期。此外,Quartus II含有许多用来构建复杂系统的参数化宏功能模块和LPM模块,它们可以与QuartusII普通设计文件一起使用,使非专业设计人员完成SOPC设计成为可能。(4)、模块化工具 设计人员可以从各种设计输入、处理和校验选项中进行选择,从而使Quartus II可以满足不同用户的需要,根据需要,还可以添加新功能。2.2、VHDL语言简介数字系统的设计输入方式有多种,通常是由线信号和表示基本设计单元的符号连在一起组成线路图,符号取自器件库,通过信号(或线条)连接在一起,信号使符号互连,这样设计的系统形成的设计文件是若干张电路元结构图,在图中详细标注了各逻辑单元、器件的名称和相互间的信号连接关系。对于小系统,这种原理电路图只要几十至几百张。但如果系统比较大,这样的原理电路图可能要几千张、几万张甚至更多。因此,人们考虑使用硬件描述语言进行硬件电路设计。VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE代了原有的非标准的硬件描述语言和美国国防部确认为标准硬件描述语言。其语句结构上吸取了Fortran和C等计算机高级语言的语句,只要具备高级语言编程技能和数字逻辑电路的设计基础,就可以在较短时间内学会VHDL语言。2.2.1、VHDL 语言的特点(1)VHDL 语言功能强大,设计方式多样 VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法; 既支持模块化设计方法,也支持层次化设计方法。 (2)VHDL 语言具有强大的硬件描述能力 VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 (3)VHDL 语言具有很强的移植能力 VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4)VHDL 语言的设计描述与器件无关 采用 VHDL 语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL 语言允许采用多种不同的器件结构来实现。 (5)VHDL 语言程序易于共享和复用 VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。2.2.2、VHDL语言的基本结构一个VHDL语言的设计程序描述的是一个电路单元,这个电路单元可以是一个门电路,或者是一个计数器,也可以是一个CPU。一般情况下,一个完整的VHDL语言程序至少要包含实体、结构体和程序包三个部分。第一部分是程序包,程序包是用VHDL语言编写的共享文件,定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等,放在文件目录为IEEE的程序包库中。第二部分是程序实体,实体给出电路单元的外部输入/输出接口信号和引脚信息,程序的实体名称是任意取的,但必须与VHDL程序的文件名称相同。实体的标识符是entity,实体以entity开头,以end结束。第三部分是程序的结构体,具体描述电路内部结构和逻辑功能。结构体有三种描述方式,分别是行为(BEHAVIOR)描述方式、数据流(DATAFLOW)描述方式和结构(STRUCTURE)描述方式。结构体以标识符architecture开头,以end结尾。结构体的名称是任意取的。2.3、本章小结 随着EDA技术的普及,硬件设计开发变得越来越方便、快捷。所以了解并掌握EDA技术的理论和熟练使用相应的设计工具,更显得必不可少。本人通过翻阅各种资料,如:机械工业出版社出版的EDA与数字系统设计一书,详细的了解了EDA技术的发展过程并知道了目前较为流行的设计工具有哪些,为本次毕业设计做好了必要准备,并初步制定了设计方案。第三章 2FSK调制解调基本原理3.1、2FSK的调制原理频移键控是利用载波的频率变化来传递数字信息。在2FSK中,载波的频率随二进制基带信号在和两个频率点间变化。“1”对应于载波频率,“0”对应载波频率,但是它们的振幅和初始相位不变化。其表达式为1: (3-1)其波形图如下:图31 2FSK调制2FSK信号的产生方法主要有两种。一种可以常采用模拟调频电路来实现;另一种可以采用键控法来实现,既在二进制基带矩形脉冲序列的控制下通过开关电路对两个不同的独立频率源进行选通,使其在每一个码元周期Ts输出f1或f2两个载波之一。这两种方法产生的2FSK信号的差异在于:由调频法产生的2FSK信号在相邻码元之间的相位是连续变化的。而键控法产生的2FSK信号,是由电子开关在两个独立的频率源之间转换形成,故相邻码元之间的相位不一定连续。图32 键控法产生2FSK信号原理图3.2、2FSK的解调原理数字频率键控(FSK)信号常用的解调方法有很多种如:(1)、同步(相干)解调法在同步解调器中,有上、下两个支路,输入的 FSK信号经过和两个带通滤波器后变成了上、下两路ASK信号,之后其解调原理与ASK类似,但判决需对上、下两支路比较来进行。假设上支路低通滤波器输出为x1,下支路低通滤波器输出为x2,则判决准则是: (32)图33 相干解调法原理框图接收信号经过并联的两路带通滤波器进行滤波与本地相干载波相乘和包络检波后,进行抽样判决,判决的准则是比较两路信号包络的大小。假设上支路低通滤波器输出为,下支路低通滤波器输出为,则判决准则是:如果上支的信号包络较大,则判决为“1”;反之,判决为收到为“0”。 (2)、2FSK滤波非相干解调 输入的FSK中频信号分别经过中心频为、的带通滤波器,然后分别经过包络检波,包络检波的输出在t=kTb时抽样(其中k为整数),并且将这些值进行比较。根据包络检波器输出的大小,比较器判决数据比特是1还是0。图34 滤波非相干解调原理框图3.3、本章小结 FSK是数字通信中不可或缺的一种调试方式。其优点是抗干扰能力较强,不受信道参数变化的影响,因此FSK特别适合应用于衰落信道;缺点是占用频带较宽,频带利用率较低。目前,调频体制主要应用于中、低速数据传输中。随着新技术的应用,一些新型调制系统(如QAM)也随之出现,同时FSK的实现方法也有所革新,或许今后我们会迎来软件无线电的时代。第四章 基于VHDL语言的2FSK调制解调设计 图41为本调制解调设计的系统顶层。其中实体DIV为分频器,将频率为f的时钟信号clk,分为频率为1/2f的信号f1,与频率为1/12f的信号f2。实体signal1是一个信号发生器,循环产生110的数字信号。实体FSKmod是2FSK信号的调制器,通过信号发生器的date基带信号将频率为f1和f2的载波调制成2FSK信号。实体FSKdemod是2FSK信号的解调器,将收到的2FSK信号解调为基带信号。图41 调制解调系统框图 4.1、2FSK调制器设计4.1.1、基于VHDL语言的调制程序library ieee; -IEEE标准库use ieee.std_logic_arith.all;程序包 use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity FSKmod is - FSKmod是实体名称port(clk :in std_logic; -系统时钟(输入) start :in std_logic; -复位信号(输入) x :in std_logic; -基带信号(输入) f1 :in std_logic; -载波信号f1(输入) f2 :in std_logic; -载波信号f2(输入) fsk :out std_logic); -已调信号(输出)end FSKmod;architecture behav of FSKmod is - behav是结构体名begin -此进程完成对基带信号的FSK调制process(clk,x) beginif clkevent and clk=1 then -下列操作都在时钟上升沿进行if start=0 then fsk=0; -当start1时fsk开始输出信号 elsif x=0 then fsk=f1; -当输入的基带信号x=0时,输出的调制信号y为f1 else fsk=f2; -当输入的基带信号x=1时,输出的调制信号y为f2 end if;end if;end process;end behav;此程序完成FSK信号的调制过程,实体共有6个端口,其中输入端口有5个,分别为:时钟输入clk、复位信号输入start、基带数据信号输入x、载波f1输入和载波f2输入。输出端口只有1个,为已调信号的输出端fsk。程序逻辑为:当且仅当start为1时,实体开始工作,否则信号输出端输出0。实体开始工作后,每当检测到一个时钟上升沿时,判断输入的基带数据信号,当信号为0时,将载波信号f1输出到输出端口fsk,当信号为1时,将载波信号f2输出到端口fsk。4.2、2FSK解调器设计4.2.1、基于VHDL语言的解调程序library ieee; -IEEE标准库程序包 use ieee.std_logic_arith.all; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity FSKdemod is - FSKdemod是实体名称generic-全局常量声明(PulseNum_TH : integer := 5;-已调信号判决值CntNum_Bclk: integer :=11;-滑窗计数器最大值);port(clk :in std_logic; -系统时钟(输入) start :in std_logic; -复位信号(输入) x : in std_logic; -接收到的已调信号(输入) y : out std_logic; -解调后信号(输出) b_clk : out std_logic -数据时钟(输出),分析时用 ); end FSKdemod;architecture behav of FSKdemod is - behav是结构体名signal q :integer range 0 to CntNum_Bclk; -滑窗控制计数器signal q1:integer range 0 to CntNum_Bclk; -滑窗计数器1signal q2:integer range 0 to CntNum_Bclk; -滑窗计数器2signal q3:integer range 0 to CntNum_Bclk; -滑窗计数器3signal q12:integer range 0 to CntNum_Bclk;-滑窗计数器12signal m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12 :integer range 0 to 15;-已调信号脉冲计数器m1至m12,计数范围0至15signal y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12 :std_logic; -滑窗计数器q1至q12对应的解调输出、y1至y12signal x_dly1,x_dly2: std_logic; -信号延时寄存器beginprocess(clk) -此程序完成滑窗控制计数器0至11的循环计数,及数据时钟的输出beginif clkevent and clk=1 then -下列操作都在时钟上升沿进行 if start=0 then q=0;-当start1时计数器,q开始计数elsif q=11 then q=0;-当q=11时,计数器清零 else q=q+1;-其余时候计数器1end if; end if; if q= 5 then -当q= 5时,b_clk输出为1否则为0 b_clk =1; else b_clk = 0; end if;end process;process(clk,q,start)-此程序使滑窗计数器q1至q12分别进行循环计数beginif start=0 then q1=0; q2=0; q3=0; q4=0; q5=0; q6=0; q7=0; q8=0; q9=0; q10=0; q11=0; q12=0;-当start=0时,计数器清零elsif clkevent and clk=1 then-下列操作都在时钟上升沿进行if(q=0)thenq1 = 0;-当滑窗控制计数器为0时,滑窗计数else 器q1清零q1=q1+1;-其它时候进行1计数end if;if(q=1)thenq2=0;- x2=x;-当滑窗控制计数器为1时,滑窗计数else 器q2清零q2=q2+1;-其它时候进行1计数end if; 省略部分与前后相同,既完成滑窗计数器q3至q11的分别循环计数if(q=11)thenq12 = 0; -当滑窗控制计数器为11时,滑窗计数else 器q12清零q12=q12+1; -其它时候进行1计数end if;end if;end process;process(x,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12) begin -此进程完成各个滑窗的判决输出,既解调if start=0 then -当start=0将判决计数器m1至m12清零m1=0; m2=0; m3=0; m4=0; m5=0; m6=0; m7=0; m8=0; m9=0; m10=0; m11=0; m12=0;elsif clkevent and clk=1 then-下列操作都在时钟上升沿进行x_dly1 = x;-将接收到的已调信号赋值给x_dly1x_dly2 =x_dly1;-将x_dly1赋值给x_dly2if x_dly1 =1 and x_dly2 =0 -如果x_dly1 =1且x_dly2 =0,既采到的是上升沿or x_dly1 =0 and x_dly2 =1-或x_dly1 =0且x_dly2 =1,既采到then 的是下降沿m1 = m1 +1;-都将对判决计数器m1至m12加1操作m2 = m2 +1;m3 = m3 +1; m11 = m11 +1;m12 = m12 +1;end if;if q1=10 then -当q1=10时 if m1=PulseNum_TH then y1=1; -通过m1大小,来判决y1的else y1=0; 输出电平,m1小于5时判为1end if; 否则为0elsif q1 =11 then m1=0;-当q1 =11时m1计数器清零end if;if q2=10 then -当q2=10时if m2=PulseNum_TH then y2=1; -通过m2大小,来判决y2的平else y2=0;输出电平,m2小于5时判为1end if; 否则为0elsif q2=11 then m2=0;-当q2 =11时m2计数器清零end if; 省略部分与上下相同,完成滑窗q3至q11的判决输出if q12=10 then -当q12=10时if m12=PulseNum_TH then y12=1; -通过m12大小,来判决y12的else y12=0;输出电平,m12小于5时判为1end if; 否则为0elsif q12=11 then m12 y y y y y end case;end if;end process;end behav;此程序完成FSK信号的解调过程,实体共有5个端口,其中输入端口有3个,分别为:时钟输入clk、复位信号输入start、已调信号输入x。输出端口有2个,为解调信号输出端y、数据时钟输出端b_clk。程序逻辑为:当start为1时,实体开始工作。实体共有1个滑窗控制计数器q和12个滑窗计数器q1至q12,滑窗控制计数器控制滑窗计数器依次清零,例如:滑窗计数器q1在滑窗控制计数器q0时清零,而q2则在q=1时清零,目的是使滑窗计数器依次延时一个时钟周期开始计数。与12个滑窗计数器对应的是12路的解调输出y1至y12。其解调原理为通过统计12个时钟周期(一个码元周期)内所收到的已调信号上升沿与下降沿的个数,然后判决在这段时间内收到的信号是高频还是低频,既收到的是1还是0。例如:当滑窗计数器q1=10时,查看判决计数器m1,若m1=5,则判该码元周期内收到的信号为1,y1输出高电平,反之输出高电平。当q1=11时,将判决计数器m1清零,并重新开始计数。最后需将这12路输出整合为一路输出,当q=1时,输出值为y1,当q=2时,输出值为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论