基于CPLD的HDB3编码器的建模与设计.docVIP

  • 2
  • 0
  • 约 7页
  • 2017-01-06 发布于北京
  • 举报
基于CPLD的HDB3编码器的建模与设计.doc

基于CPLD的HDB3编码器的建模与设计   摘 要:HDB3码是数字基带通信系统中重要组成部分之一,因其具有无直流成份、检错能力强、具有时钟恢复性能等优点,故成为了ITU推荐使用的基带传输码型之一。在概述HDB3码及其编码规则的基础上,基于CPLD研究了HDB3编码器的建模与设计,以期为HDB3编码器的研究提供有益的参考。   关键词:数字基带通信;HDB3;CPLD;VHDL   随着现代计算机技术和微电子技术的快速发展,电子产品的开发速度随之越来越快,利用高层次的VHDL/Verilog HDL等硬件描述语言对新型器件CPLD/FPGA进行专门的集成电路设计,也越来越流行。随着VHDL等设计语言的流行,现代通信技术也进入了一个快速的发展阶段。数字通信是重要的现代通信技术,其具有许多优良特性。数字信息在传输方面,原理上其可直接表示为数字代码序列,但实际上一般要进行编码后以离散波形表示。这种离散波形一般可视系统要求和信道情况,表示为数字带通信号或数字基带信号。   一、HDB3码及其编码规则   在编码过程中,不同码型一般来说都具有不同的特点,故也有不同的应用场合。AMI码是一种无直流成分的传号交替反转的码型,其只有很小的低频成分,故一般比较利于在基带信道中传输信号。然而,AMI码在某些情况下则可能会出现四连零的现象,故对于接收端的定时提取信号时,这种现象是十分不利的。为了保持AMI码的优点而克服其缺点提出了HDB3码(High Density Bipolar Code of three codes,三阶高密度双极性码)。[3]   HDB3码是一种在数字基带通信系统中应用广泛的编码方式,属于AMI码的改进型,适用于串行数据传输。在HDB3中,3阶的含义是,限制连0数不超过3位。为减少连0数,有的做法采取扰码,按一定规则将多个连0分散,尽量使码序列随机化。有效的办法是采用HDB_(n=1, 2, 3),一般多使用n=3,从而克服了AMI码长连0串现象,故HDB3码一般来说具有抗干扰性能强、无直流成分、具有时钟恢复、方便提取位定时信息等优点,与常用的非归零码(NRZ码)相比,其更适用于长距离的信道传输。此外,在检错能力方面,HDB3码也具有较强的能力,在用HDB3码传输数据序列的时候,如果在传输数据序列的过程中有单个的误码现象,那么便会破坏传输后数据序列的极性交替变化规律,故可根据这一特性,在接收端检测出误码,并对其进行纠正。   一般而论,HDB3码的编码规则为[4]:(1)按AMI码的编码规则将数据序列代码变换成AMI码。(2)在AMI码中检查连0现象,如果没有无4个以上(含4个)的连0串,则不改变原AMI码;如果出现4个以上(含4个)的连0串,则将原AMI码中1后的第4个0改为用V表示的与原AMI码中前一非0符号同极性的符号,即:对于+1则记为+V,对于-1则记为-V。(3)扫描相邻V符号间的非0符号的数量n,如果n为偶数,则再将当前的V符号的前一非0符号后的第1个0变为+B或-B符号,且B的极性与前一非0符号的极性相反,并使后面的非0符号从V符号开始再交替变化。   二、HDB3编码器的建模思想   从HDB3码的编码规则可见,由于涉及到由现在状态决定过去状态的问题,故而如何判决是否应该插B是HDB3编码器的设计难点之一。在实时信号处理领域,按照理论来说这个设计难点是难以解决的。然而,在实际电路领域,通过寄存器的方法则应该可以解决这一设计难点。这一方法实现插B功能的具体思路为:(1)先在寄存器中寄存信码;(2)设置一个计数器;(3)通过计数器来计算两个V之间1的数量;(3)经过4个码元时间后,通过判偶电路来判决是否要插B,进而给寄存器发送是否要插B的判决符号。   因为如果依据编码规则按上述思路来做,则其实现电路的结构将非常复杂,寄存器的需求数量也会非常大,所以在进行实际的信号处理过程中,通常不能先把数据序列代码串变换成为AMI码后,再完成插V工作,接着再完成插B工作,之后再依据编码规则对其后的+1、-1的极性进行变换。然而,如果变一下顺序(先插V,接着再插B,最后实现单极性变双极性的信号输出),则会有如下好处:由于输入信号、插V处理信号、插B处理信号都是单极性信号,故寄存器的需求数量也会少很多。   从HDB3码的编码规则来说,另一个设计难点是如何在电路中实现的1、V和B的准确识别。因为在HDB3码的编码规则中,符号V、 符号B都是为了更好地描述编码而人为添加的标识符号,故其在电路中的逻辑电平的表现形式通常还是1。为解决这一设计难点,通常采用的方法是双相码。一般而论,双相码的编码规则是:分别利用具有两个不同相位的二进制代码去取代原来单个的二进制代码。例如对于二进制代码110010,其双相

文档评论(0)

1亿VIP精品文档

相关文档