武汉理工大学《通信原理》课程设计1目录1、引言..........................................................................................................................22、VHDL语言的介绍.................................................................................................33、HDB3码介绍..........................................................................................................43.1数字基带信号.................................................................................................43.2NRZ,AMI,HDB3码之间的对应关系............................................................54、HDB3码编码器的建模与实现..............................................................................64.1HDB3码的编码规则.......................................................................................64.2基于VHDL的编码器的建模及实现...............................................................64.2.1编码器的VHDL建模..........................................................................64.2.2基于VHDL编码器的实现..................................................................64.2.3添加符号“B”的实现.....................................................................................94.3编码中单/双极性转换的实现.........................................................................94.4HDB3码编码器完整源程序.........................................................................104.5HDB3码编码器的波形仿真及分析.............................................................12总结与心得..................................................................................................................15参考文献......................................................................................................................16武汉理工大学《通信原理》课程设计21、引言数字基带信号的传输是数字通信系统的重要组成部分之一。特别是HDB3码的使用,其不但保持AMI码的优点,更使连0串的个数减到至多0个的优点,而且还克服了AMI码的关于可能出现长连0串而造成提取定时信号困难的缺点。基于上述的特点HDB3码在通信传输领域应用很广泛,因此其作为CCITT推荐使用的码型之一。本课程设计的主要工作是HDB3码的编码的建模与实现,对于HDB3编码模块,一般以硬件的方式来实现的。但它具有产品更新慢、设计灵活性差、不可重配置及现场升级性能缺乏等缺点。因此拟采用可编程逻辑电路来实现。可编程逻辑电路是EDA的一个重要技术基础,主要包括FPGA和CPLD,它们具有丰富的可重配置逻辑资源,既包含有大量实现组合逻辑的资源;还包含有相当数量的触发器,因此采用EDA技术进行电子系统的设计有以下优点:(1)系统可现场编程,在线升级;(2)用软件的方式设计硬件;(3)整个系统可集成在一个芯片上,体积小、功耗低、可靠性高;(4)用软件方式设计的硬件系统的转换是由有关的开发软件自动完成,降低了系统设计的难度。武汉理工大学《通信原理》课程设计32、VHDL语言的介绍常用的硬件描述性语言有VHDL、Verilog和ABEL语言。VHDL语言起源于美国国防部的VHSIC,VHDL是一种高级描述语言,适用于行为级和RTL级的描述相对与Verilog语言和ABEL语言这些较低一级的适合描述门级电路的描述性语言而言,其具有以下的优点:⒈设计方法灵活、支持广泛⒉系统硬件描述能力强⒊VHDL语言描述与工艺不发生关系⒋VHDL语言标准、规范,易于共享和复用基于上述的特点,可知VHDL语言可读性好,又能被计算机识别。VHDL语言中设计实体、程序包、设计库,为设计人员重复利用已有的设计提供了诸多技术手段。可重复利用他人的IP模块和软核也是VHDL的另一特色,许多设计不必每次都从头再来,只要在更高层次上把IP模块组合起来,就能达到事半功倍的效果。这样,设计人员自行开发的IP模块在集成电路设计中占有重要的地位。因此本课程设计采用VHDL语言设计一个完善的HDB3码编码器。武汉理工大学《通信原理》课程设计43、HDB3码介绍3.1数字基带信号数字基带信号的传输是数字通信系统的重要组成部分之一。在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。为使基带信号能适合在基带信道中传输,通常要经过基带信号变化,这种变化过程事实上就是编码过程。于是,出现了各种各样常用码型。不同码型有不同的特点和不同的用途。在基带传输中,常用的码型有AMI码、HDB3码、4B/3T码、CMI码以及双相码等。其中,AMI码是将输入单极性波形的所有正脉冲变为适合于在信道传输的正负极性交替的脉冲,而HDB3码则是在AMI码基础上改进的一种双极性归零码,它除具有AMI码功率谱中无直流分量,可进行差错自检等优点外,还克服了AMI码当信息中出现连“0”码时定时提取困难的缺点,同时HDB3码频谱能量主要集中在基波频率以下,占用频带较窄,因此被广泛用作PCM线路传输码型,因此要了解HDB3码的编码规则,首先要知道AMI码的构成规则。1.AMI码AMI码称为传号交替反转码。其编码规则为代码中的0仍为传输码0,而把代码中1交替地变化为传输码的+1-1+1-1,、、、。举例如下:消息代码:01110010、、、AMI码:0+1-1+100-10、、、或0-1+1-100+10、、、AMI码的特点:(1)无直流成分且低频成分很小,因而在信道传输中不易造成信号失真。(2)编码电路简单,便于观察误码状况。(3)由于它可能出现长的连0串,因而不利于接受端的定时信号的提取。2.HDB3码这种码型在数字通信中用得很多,HDB3码是AMI码的改进型,称为三阶高密度双极性码。它克服了AMI码的长连0传现象。武汉理工大学《通信原理》课程设计5作为传输用的基带信号归纳起来有如下要求:(1)希望将原始信息符号编制成适合与传输用的码型;(2)对所选码型的电波形,希望它适宜在信道中传输,可进行基带传输的码型较多。3.2NRZ,AMI,HDB3码之间的对应关系假设信息码为0000011000010000,对应的NRZ码、AMI码,HDB3码如图1所示:图1NRZ,AMI,HDB3码型图分析表现,AMI码及HDB3码的功率谱不含有离散谱fS成份(fS=1/TS,等于位同步信号频率)。在通信的终端需将他们译码为NRZ码才能送给数字终端机或数/模转换电路。在做译码时必须提供位同步信号。工程上,一般将AMI或HDB3码数字信号进行整流处理,得到占空比为0.5的单极性归零码(RZ|τ=0.5TS)。由于整流后的AMI,HDB3码中含有离散谱fS,故可用一选频网络得到频率为fS的正弦波,经整形、限幅、放大处理后即可得到位同步信号。武汉理工大学《通信原理》课程设计64、HDB3码编码器的建模与实现4.1HDB3码的编码规则HDB3码是一种AMI码的改进型,它的编码过程为:(1)没有4个或4个连“0”串时,HDB3编码规律与AMI码相同,即“1”码变为“+1”、“-1”交替脉冲。(2)当代码序列中出现4个或4个以上连“0”串时,则将每4个连“0”小段即“0000”的第4个0变换成与前一非“0”符号同极性的符号,用破坏符号V表示。(3)为了使附加V符号后的序列不破坏“极性交替反转”造成的无直流特性,还必须保证相邻V符号也应极性交替。这一点,当相邻V符号之间有奇数个非0符号时,则是能得到保证,当有偶数个非0符号时,则就得不到保证,这时再将该小段的第一个0变换成+B或-B,B符号的极性与前一非0符号的极性相反,并让后面的非0符号从V符号开始再交替变换。4.2基于VHDL的编码器的建模及实现4.2.1编码器的VHDL建模图2HDB3码编码器模型如图所示:整个HDB3码的编码器包括3个功能部分:添加破坏符号“V”、添加符号“B”和单极性码转变成双极性码。4.2.2基于VHDL编码器的实现加破坏符号“V”模块的功能实际上就是对消息代码里的四个连0串的检测,即当出现四个连0串的时候,把第四个“0”变换成符号“V”,而在其他的情况武汉理工大学《通信原理》课程设计7下,则保持消息代码的原样输出,同时为了区别代码“1”、“V”和“0”,在添加破坏符号“V”时,用“11”标识符号“V”,用“01”标识符号“1”,用“00”标识符号“0”。因此,添加破坏符号“V”的设计思想如下:首先判断输入的代码是什么,如果输入的符号是“0”码,则接着判断这是第几个“0”码,如果是第四个“0”码,则把这个“0”码变换成“V”码。在其他的情况下,让原码照常输出。程序流程图如图3所示:图3添加破坏符号“V”符号流程图假设输入某信息序列,根据设计思想,输入代码一添加破坏符号“V”后的关系如下:信息序列:10000100001100011添加破坏符号V后:0100000011010000001101010000000101武汉理工大学《通信原理》课程设计8图4计数流程图图5V点跟踪流程图武汉理工大学《通信原理》课程设计94.2.3添加符号“B”的实现根据HDB3码的编码规则可知:添加破坏符号“V”模块的功能是为了证附加“V”符号后的序列不破坏“极性交替反转”造成的无直流特性,即当相邻“V”符号之间有偶数个非0符号的时候,把后一小段的第一个“0”变换成一个非破坏符号——“B”符号。具体是在编码输出过程中实现的。图6编码输出流程图根据这个设计思想,输入代码与插“V”及插“B”后的代码的关系如下:代码:100001000011000011插V后:010000001101000000110101000000110101插B后:0100000011010000001101011000001101014.3编码中单/双极性转换的实现根据HDB3码的编码规则,可知“V”的极性是正负交替变换的,而余下的“1”和“B”本毕业设计把其看成为一体且是正负交替变换的,同时满足“V”的极性与前面的非零码极性一致。由此本设计就把“1”和“B”看成一组,而“V”