通信原理译码器_第1页
通信原理译码器_第2页
通信原理译码器_第3页
通信原理译码器_第4页
通信原理译码器_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉理工大学通信原理课程设计说明书课程设计任务书学生姓名: 专业班级: 电信13 指导教师: 苏杨 工作单位: 信息工程学院 题 目: 数字基带信号HDB3译码器设计与建模 初始条件:(1)MAX PLUSII、Quartus II、ISE等软件;(2)课程设计辅导书:通信原理课程设计指导(3)先修课程:数字电子技术、模拟电子技术、电子设计EDA、通信原理。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)课程设计时间:;(2)课程设计题目:数字基带信号HDB3译码器设计与建模;(3)本课程设计统一技术要求:按照要求对的题目进行逻辑分析,了解HDB3译码器

2、译码原理,了解各模块电路的逻辑功能,设计通信系统框图,画出实现电路原理图,编写VHDL语言程序,上机调试、仿真,记录实验结果波形,对实验结果进行分析; (4)课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,并标明参考文献(至少5篇);(5)写出本次课程设计的心得体会(至少500字)。时间安排:第18周参考文献:段吉海.数字通信系统建模与设计.北京:电子工业出版社,2004 江国强.EDA技术与应用. 北京:电子工业出版社,2010 John G. Proakis.Digital Communications. 北京:电子工业出版社,2011指导教师签名: 年 月 日系主任(或

3、责任教师)签名: 年 月 日 目录摘要1Abstract2第1章 QuartusII软件相关简介31.1 Quartus II简介31.2Quartus II 功能介绍31.3EDA技术简介31.4 VHDL语言4第2章 工作原理52.1 HDB3码编码52.2 HDB3码译码原理62.3 译码模块6第3章 HDB3译码器设计113.1 HDB3解码器总体设计思路113.2 检测V并去V模块113.3 检测B并去B模块113.4 双/单极性转换模块123.5译码举例123.6单双极性变换建模123.7 hdb3dec译码模块设计13第4章 HDB3译码器仿真144.1总电路144.2 波形仿真

4、14第5章 心得体会16第6章 参考文献17附录A 源代码18附录B(本科生课程设计成绩评定表)21 摘要数字基带信号是指消息代码的电波形,它是用不同的电平或脉冲来表示相应的消息代码。将基带数字信号经过适当的码型变换后直接送入信道传输,称为基带数字序列信号传输,简称基带传输,数字基带信号(简称基带信号)的类型有很多,常见的有矩形脉冲、三角波、高斯脉冲和升余弦脉冲等。最常用的是矩形脉冲,因为矩形脉冲易于形成和变换。三阶高密度双极性码是一种适用于基带传输的编码方式,它是为了克服AMI码的缺点而出现的,具有能量分散,抗破坏性强等特点,在该设计报告中,介绍了使用VHDL语言实现HDB3码的译码器功能的

5、步骤和方法。关键词:基带信号 基带传输 HDB3 译码器0Abstract Digital baseband signal waveform message code refers to electricity, which is a different level or pulse to indicate corresponding message code. The baseband digital signal after a suitable pattern converted directly into the channel transmission called baseband

6、 digital serial signal transmission, referred baseband transmission, digital baseband signal (referred to as a baseband signal) There are many types, a common rectangular pulse, triangle wave, Gaussian pulse and raised cosine pulse and so on. The most commonly used is a rectangular pulse, and readil

7、y formed because the rectangular pulse conversion.Third-order high-density bipolar code is a suitable baseband transmission encoding, it is to overcome the drawbacks of the AMI code and the emergence of an energy dispersion, anti-destructive strong features in the design report describes the use of

8、VHDL language HDB3 code decoder function of steps and methods.Keywords: baseband signal baseband transmission HDB3 decoder第1章 QuartusII软件相关简介 1.1 Quartus II简介Quartus II软件可以在XP、Linux以及Unix上使用,提供了完善的用户图形界面设计方式,具有运行速度快,界面统一,功能集中,易学易用等特点。此外,Quartus II支持Altera的IP核,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。还有,Quar

9、tus II 通过DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。如今,Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。1.2Quartus II 功能介绍 Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性和以下一些功能:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将

10、其保存为设计实体文件;具有完备的电路功能仿真与时序逻辑仿真工具以及定时/时序分析与关键路径延时分析。此外,还支持软件源文件的添加和创建,并将它们链接起来生成编程文件,通过组合编译方式可一次完成整体设计流程;并且能够自动定位编译错误和能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件等。 1.3EDA技术简介 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。 如今,EDA技术的应用已经非常广泛,

11、在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。此外,EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。 1.4 VHDL语言VHDL语言即超高速集成电路硬件描述语言,是一种用于电路设计的高级语言,在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机

12、高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部和内部,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 首先,与其他的硬件描述语言相比,VHDL语言具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。其次,VHDL语言有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的

13、功能可行性,随时可对设计进行仿真模拟。还有,对于用VHDL语言完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。最后,VHDL语言对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。第2章 工作原理 2.1 HDB3码编码(1)将消息代码变换成AMI码;(2)检查AMI码中的连0情况,当无4个以上的连0传时,则保持AMI的形式不 变;(3)若出现4个或4个以上连0时,则将1后的第4个0变为与前一非0符号(+1或-1)同极性的符号,用V表示(+1记为+V,-1记为-V),V称为破坏码;

14、(4)检查相邻V符号间的非0符号的个数是否为偶数,若为偶数,则再将当前的V 符号的前一非0符号后的第1个0变为+B或-B符号,且B的极性与前一非0符号的极性相反,并使后面的非0符号从V符号开始再交替变化。 编码举例 : 表2-1 HDB3码编码举例消息码1000011000011AMI码+10000-1+10000-1+1HDB3码+1000+V-1+1-B00-V+1-1HDB3码的特点如下:(1)基带信号无直流成分,且只有很小的低频成分;(2)连0串符号最多只有3个,利于定时信息的提取;(3)不受信源统计特性的影响。 202.2 HDB3码译码原理(1)根据编码规则,V 脉冲与前一个脉冲同

15、极性。因而可从所接收的信码中找到 V 码,V 码与前面的三位代码必然是取代码,在译码时,需要全部复原为四连 0,完成了扣 V 扣 B 功能。原理如图:图 2.2 HDB3 译码器模型(2)双/单极性变换电路:正负整流电路分别提取正负电平码部分。(3)V 码检测电路:V 脉冲必然是同极性脉冲。当无 V 脉冲时,传号脉冲“+1”和“-1”交替出现。当连续出现两个“+1”或“-1”时,则后一个一定是 V 脉冲。2.3 译码模块 1. +V 码检测:图 2.3.1 +V 码检测模型框图 当+B 的上升沿到来时,对输入的+B 脉冲进行计数,当计数值等于 2 时,输出一个脉冲作为+V 脉冲,同时计数器清零

16、。而且在计数期间,一旦有-B 信号为 “1”电平时,立即对计数器清零。这是因为在两个+B 脉冲之间,存在-B 脉冲,说明第二个+B 脉冲不是+V 码,而只有在连续两个+B 脉冲之间无-B 脉冲,才能说明这两个+B 脉冲在 HDB3 码中,是真正同极性,于是就可以判定第二个+B 脉冲实际上是+V 码,达到检测+V 码的目的。 VHDL生成的RTL电路如下图: 图 2.3.2 +V 码检测RTL 2.-V 码检测:图 2.3.3 -V 码检测模型框图 -V 码检测原理与+V 码检测的类似。所不同的是, -V 码检测电路在+B 控制下,对来自-B 信号进行计数和检测、判定。若检测到-V 码,则输出-

17、V 码信号。VHDL生成的RTL电路如下图: 图 2.3.4 -V 码检测RTL 3.扣V扣B模块建模 扣V扣B模块有三个输入信号:时钟信号、V 码信号和来自正、负整流输出的合路信号。由于该合路信号可能包含有 B 脉冲和 V 脉冲,因此需要在扣 V 扣 B模块中,去除 V 和 B 脉冲。 图 2.3.5 扣V 扣B模块的模型框图VHDL生成的RTL电路如下图 图 2.3.6 扣V扣B模块RTL(4)单双极性变换 双/单极性变换电路:正负整流电路分别提取正负电平码部分,如下图: 图2.3.7 双/单极性变换电路的RTL图(5)在实际编写VHDL代码时,参照上述译码规则进行编写。根据HDB3解码器

18、的设计思想,实现HDB3解码功能的流程图如图所示,框图如所示: 图 2.3.8 译码器的工作流程 (6)本模块的建模方法是,用 V 码检测模块所检测出的 V 码信号,去控制一个移位寄存器,若未碰到 V 脉冲,则整流输出合成信号在时钟的节拍下,顺利通过移位寄存器;当碰到有 V 脉冲时,该 V 脉冲将使移位寄存器清零。考虑到四连 0,即 V 脉冲及其前面的三个码元应为 0 码,所以,可设置四位移位寄存器,当 V 码清零时,同时将移存器中的四位码全变为 0。不管是否有 B脉冲,在此模块中,一并清零,因而无需另设扣 B 电路。另外移位寄存器起到延时四位时钟周期的作用,以使所检测出的 V 脉冲与信号流中

19、的 V 脉冲位置对齐,保证清零的准确性。第3章 HDB3译码器设计 3.1 HDB3解码器总体设计思路1.去V: “V”的极性与其前的非0码极性相同,因此可以很容易的找出“V”码。当未编译代码中有3连“0”且其前后两个非零脉冲极性相同,则将最后一个非0码转换为“0”,否则不做改变;2.去B:当代码中有2连 “0”且其前后两个非0码的极性相同,则将这两个非0码都转换为“0”,否则不做改变。3.双/单极性转换:再将所有的-1变换成+1后,就可以得到原消息代码 4.在实际编写VHDL代码时,参照上述译码规则进行编写。 5.译码框图如下:检测V并去V检测B并去B双/单极性转换HDB3码消息码图3.1

20、HDB3码解码设计框图 3.2 检测V并去V模块 检测V并去V设计思路:设置两组4位移位寄存器D1和D0,任意一个码元由D1和D0表示(即D1&D0),然后定义一个信号code_out1,code_out1接收输入码元,当code_out1的值为“01”或者“11(即 “+1”或“-1”)时,判断存放在寄存器D1、D0中的码元是否有“11”或者“10”出现(即是否是 “0001”或“000-1”这样的形式)。若有,则表明4位移位寄存器中应是“000V”这样的形式,将V置为“0”输出。 具体程序见附录。 3.3 检测B并去B模块 检测B并去B设计思路:当信号code_out1的值为“01

21、”或者“11(即 “+1”或“-1”)时,判断存放在寄存器D1、D0中的码元是否有“11”或者“10”出现(即是否是 “001”或“00-1”这样的形式)。若有,则表明4位移位寄存器中应是“B00”这样的形式,将B置为“0”输出。 具体程序见附录。3.4 双/单极性转换模块 双/单极性转换模块设计思路:除去以上情形,当信号code_out1的值为“01”或者“11”(即“+1”或“-1”)时,则输出“1”码;当信号code_out1的值为“00”(即“0”)时,则直接输出“0”码。 具体程序见附录。3.5译码举例表3-5 HDB3码解码举例HDB3码+1000+1-1+1-100-1+1-1V

22、符号+V-V解 码10000110000113.6单双极性变换建模 HDB3POLED2的功能是将输入HDB3码数据分成正负两路二进制数据。其中,CLK为时钟信号,输入信号为二位二进制数据,输出信号plusout表示正极性信号数据,minusout表示负极性信号数据。例如,输入数据“01”,plusout输出“0”,minusout输出“1”。 图3.6 单双极性变换3.7 hdb3dec译码模块设计 译码器模块的输入接hdb3poled2的输出,内部有一个五位的寄存器,然后从dataout输出口输出。图3.7 译码器建模第4章 HDB3译码器仿真4.1总电路 图4.1 模型总电路4.2 波形

23、仿真 (1)单双极性变换仿真 图4.2.1 单双极性变换分析:由图可以看出,当时钟的上升沿到来时,plusout为输入plusbin的高位,minusout为plusbin的低位。(2)总电路仿真 图4.2.2 总电路仿真 分析: clk: 时钟,T=10ns; 原消息码(输入):01 00 00 00 01 10 00 00 00 10 01 10 01 00 00 01 10 01 解码(仿真值) :1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 解码(理论值) :1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 结论:译码时,+B +V +1

24、全部用10表示,-B -V -1全部用01表示,0用00表示,HDB3解码的仿真结果和理论值一样,是正确的,但有7个时钟周期的延时,T=10ns。第5章 心得体会 通过一步步有条不紊的分析和思考,更重要的是在设计中,根据实际情况,对设计初期的思想做不断完善和改进,因为在设计之前的思路,只能说是一个大体的方向,很多时候,实际的操作和设计要细致和复杂的多,或者原来的想法根本就行不通,得从实际设计的角度一步步来完成了这样一个系统设计。 这些方面都需要我继续学习下去,在不断的积累当中去想清楚、弄明白,丰富这些问题,当然,在丰富了自己的知识和经验后,问题应会迎刃而解。 通过这次课程设计,让我学到了很多知

25、识,也获得很多体会,这是自己将平日学的理论知识应用到实际操作中的一次很好的实践。同时,也是通过自己这三个月来的不断学习和努力,才明白:实际操作和设计,并不是像学习理论知识那么简单,会理论不等于就会应用,很多都是经验的东西,需要在自己的努力设计中才能慢慢体会到,设计多了,才会经验中找到设计自如的感觉。就像我,对于VHDL语言,开始也没有什么太大的感觉,看书的时候,很清楚明白它的设计结构和流程是什么样的,但是一旦抛开书本,开始自己编程序的时候,不是这里忘了定义,就是那里忘了结构方式;但是,到了现在,在这段时间的不断实践编程中,程序设计的流程和一些要注意的地方,我都记得很清楚,能很容易的编写一段简单

26、的程序了,也不用看书本帮忙了,这些都是光靠看书本得不到的经验,是我最大的收获。 虽然说还存在很多不足,但是,我也并不感到有太多的遗憾,因为面对自己这段时间的辛勤劳动的成果,心里更多的还是万分喜悦!不足之处总是有的,这些就是自己今后需要努力的地方,只要不断的朝着自己的目标的努力,很快就会有解决的那一天!第6章 参考文献1 樊昌信,曹丽娜.通信原理. 北京:国防工业出版社,20092 赵鑫,蒋亮,齐兆群,李晓凯.VHDL与数字电路设计. 北京:机械工业出版社,20053 潘松,黄继业.EDA技术与VHDL. 北京:清华大学出版社,20054 江国强. EDA技术与应用. 北京:电子工业出版社,20

27、045 段吉海,黄智伟.基于CPLD/FPGA的数字通信系统建模与设计. 北京:电子工业出版社,20046 王素珍,王涛.基于VHDL语言的HDB3编译码器的一种实现方法J.内蒙古师范大学学报:自然科学版,2006,35(03):300-303,307.附录A源程序:Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity hdb3poled2 isPort( clk : in std_logic;Plusbin : in std_logic_vector(1 downto 0);Plusou

28、t : out std_logic; Minusout : out std_logic);End hdb3poled2; Architecture behave of hdb3poled2 is Begin Process(clk) Beginif clk'event and clk='1' then Plusout<=Plusbin(1); Minusout<=Plusbin(0); END if; End process; End behave;library ieee;use ieee.std_logic_1164.all;use ieee.std_l

29、ogic_unsigned.all;entity hdb3dec isport(clk:in std_logic;plusin : in std_logic;minusin : in std_logic;dataout : out std_logic);end hdb3dec;architecture behave of hdb3dec issignal plusbuf : std_logic_vector(4 downto 0);signal minusbuf : std_logic_vector(4 downto 0);beginprocess(clk)beginif clk'ev

30、ent and clk='1' then-判断出正极性出现“V"符号,则还原出4个连“0"if (plusin='1' and plusbuf(4 downto 1)="0001"and minusbuf(4 downto 1)="0000" )then plusbuf<="00001"minusbuf<=minusin & minusbuf(4 downto 1);-判断出负极性出现“V"符号,则还原出4个连“0"Elsif (minusin='1' and minusbuf(4 downto 1)="0001"and plusbuf(4 downto 1)="0000" )then plusbuf<=plusin & plusbuf(4 downto 1); minusbuf<="00001"-判断出正极性出现

温馨提示

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

评论

0/150

提交评论