APP下载

基于MATLAB的HDB3码生成器设计

2017-02-06吴倚石

数码世界 2017年1期
关键词:译码极性编码器

吴倚石

辽宁锦州渤海大学工学院

基于MATLAB的HDB3码生成器设计

吴倚石

辽宁锦州渤海大学工学院

基带传输系统中使用比较多的传输码型是HDB3码。本文主要是描述了HDB3的编码以及解码的原理介绍以及实现过程。具体介绍了编码以及解码的。本文针对HDB3码的相关原理进行介绍同时进行了编码与译码流程图的设计。

HDB3码 编码 解码

1 引言

实现远距离地准确传输数字信息这是数字通信领域所追求的最初目标。线路传输码型的不同,则数字传输过程中的速率也会不同,所以要实现高效率地传输数字信息,如何进行线路传输码型的选择就有很重要的意义价值了。数字线路传输码型的选择需要考虑的原则是适用性强以及足够经济实惠。单极性不归零码简称为NRZ码。在数字基带信息中使用比较频繁的码型是NRZ码。NRZ码存在很多方面的不足。比如低频成分比较多,而且直流成分也比较大。如果接收的过程中的判决门限和接收到的电平关系是1比2的话,那么就会出现不稳定的门限,同时出现判决错误的概率比较高。

同步信号的获取需要通过繁琐的方式从接收码序列中得到。正是由于考虑到上面的缺点,所以NRZ码在信道的传输中使用的比较少。而所谓的三阶高密度双极性码,指的也是HDB3码,该HDB3码基于AMI码进行了改进。相比于NRZ码,HDB3码的优点是低频成分以及直流成分都比较少,而且同步时钟的获取可以直接获得,HDB3编译码在现实中的使用很频繁。

2 编译码模块的原理

AMI码的全称是符号交替反转码,AMI码编码的规则介绍如下:如果传号是用“0”表示,而空号是用“1”表示,其中的“0”码不会出现改变,而“1”码会出现改变,这个改变是在+1与-1之间交替变化。一般情况下脉冲的宽度和码元的宽度是1比2的关系,AMI码码型中的正、负极脉冲会轮流产生,因此不会存在无直流分量,低频分量也很少。AMI码实现反变换简单易操作,当信码需要重新形成的时候,要把信号实现整流处理,此时需要把“-1”变为“+1”,从而形成单极性码。然而AMI码也存在着一些不足,这个不足之处指的是当原信码中有长串的“0”出现的时候,信号中的电平就会出现一段时间保持不变,从而会引起定时信号的提取不太容易实现,面对这个长串“0”码问题的解决需要采取的措施就是选择用HDB3码。HDB3码编码的原理图如图1所示。

HDB3码能够实现将连着的4个0进行替换,如果连接的“0”的个数没有达到4的时候,编码的规则就会运用AMI码规则,当连接的“0”的个数达到4的时候,“000V”或“B00V”就会用码型代替。当相邻的V脉冲中“1”码的个数是奇数个的时候,就把这奇数个“1”码换成“000V”,当“1”码的个数是偶数的时候,把所有为“1”码的这偶数个都换成“B00V”。V脉冲中B码以及“1”码的正负交替变化都是以V脉冲的极性为依据的。其中的V或者B符号的引入原因是说明这个非“0”码在初始的信码“0”码所得到的。

图1 HDB3码编码的原理图

①当出现了长串的4个“0”的时候,就需要把第一个“1”放入到第4个“0”码出现的那刻,最初的“0”码就会用“1”替换。用“1”码替换这些“0”码的过程称为是V码。

②选择取代节以及将B码补齐的电路中需要算出存在V码之间的“1”码的总数,当数目是奇数的时候,就需要用到000V取代节。如果数目是偶数的时候,就需要用“1”替换成000V里面的第一个码为“0”,这个时候的取代节选择的是“B00V”。

③通过破坏点从而产生的电路会把“1”补齐,从而形成破坏点。这个过程的方法就是将“1”码添加到取代节里面的第二个里面,V码的后面的极性和相邻的“1”码是一样的,从而实现了交替反转破坏,最终产生了所谓的“破坏点”。

④将取代节的信号码流增加到单/双极性变换电路里面的输出控制中。从而可以把该电路进行分割为2个部分,接着再根据变压器把这2个电路进行合并,最终产生双极性信号。

3 HDB3编解码器设计

3.1 编码实现

先是进行编码分组,将编码之后的信码“1”码以及补信码“B”码当作是“l”码,信码“1”以及补信码“B”共同形成符号“B”。

“1”码的极性判断依据如下:

①HDB3码序列中的“B”以及“V”符号都需要遵循极性交替的规律,从而保证所编码的结果中不存在直流成分。从某种意义上说明“V”与“B”符号的极性是可以预见的。

②“V”码的极性和前一个“B”码的极性是一致的。当极性不同的时候就需要把一个补信码“B”增加到连接4个“0”码中的第1个为“0”的地方,从而确保极性交替的变换规律可以实现。

判断“1”码的位置依据为如果4个“0”连接出现的时候,选取取代节的时候就需根据“V”与“B”的极性,并非是奇偶性。在这个过程需要了解到,取代节是“000V”的使用场合是针对4个“0”连接的第一个。编码器的编码流程如图2所示。

图2 编码器编码流程图

4 HDB3译码器设计实现

不同于编码的是译码实现起来比较容易。HDB3的编码器的取代节主要是分为两种,分别是“000V”以及“B00V”,其中的破坏符号是用“V”表示,而且该破坏符号的极性是和破坏符号之前的非O符号相同的。所以在检测的时候,如果两路极性输入的是“X1000”和“X0001”,则就会有取代节“B00V”出现。当两路输入的是“10000”和“00001”的时候,则会有取代节“000V”出现。接着取代节的位置的修正会用到“0000”,从而把连接的4个“0”码验证出来。由于信息码的序列中不会存在4个“O”,所以相应的HDB3码的极性就会出现交替反转,如果4个连续的“0”出现的时候,HDB3就会被破坏,而且根据码极性的交替原则,采取极性寄存检测两路线路的输人,当前后的极性输入是相同的时候,就用取代节代替这个位置,这个线路的输入用“0000”替换之后,就能够恢复连接的4个“0”码。如此一来成功地防止了取代节的检测。HDB3译码器的译码过程图如图3所示。

图3 译码器译码流程图

当选择的HDB不同的时候,其编码器以及译码器中对应的损耗资源也不同。具体的统计结果如表1所示。

表1 HDB3资源分类统计结果

结论:在进行PCM编码以及ADPCM编码的过程中需要引入HDB3码型变换电路。HDB3码两个相邻的V码是需要满足交替变号的原则,而且此外其他的“1”码也需要遵循这个原则。不需要遵循这个原则的是取代码。本文完成了HDB3码的编译码与译码实现,并设计了译码与编码的流程图。考虑到HDB3码在传输码型中可以迎合多方面的要求,因此在远端接口电路中有着很大的应用价值。本文对目前已经存在的HDB3编码器以及译码器中对应的损耗资源进行了比较,其中主要是从总扇出数,最大扇出数以及逻辑单元方面进行描述。

[1]陈婷婷,陈理.一种基于MATLAB的HDB3码编码优化算法设计[C]//中国计算机用户协会网络应用分会2011年网络新技术与应用年会.2011

[2]井敏英,白亮亮,潘和,等.基于MATLAB的AMI/HDB3编解码原理的仿真[J].科技信息,2010(30):679+681

[3]沈媛媛,梁浩.基于MATLAB的HDB3编译码实现[J].石油仪器,2012,26(5):20-22

[4]刘超.基于HDB3编码的长线传输信号失真的矫正算法研究[D].中国海洋大学,2006

[5]谢文涛.基于SOPC技术的HDB3编码器设计[D].长安大学,2014

[6]王素珍,王涛,吕佩举.用ISP器件实现HDB3码的实验设计[J].实验室研究与探索,2007,26(5):47-50

[7]卢威,黄钱飞,陈慕君.HDB3码型变换电路设计的研究[J].宁波职业技术学院学报,2008,12(5):17-21

[8]王晓聪,何永泰.基于FPGA的HDB3码编码器优化设计与分析[J].现代电子技术,2011,34(24):146-148

[9]徐进.一种基于VHDL的HDB3码编码器的设计技术[J].信息化研究,2008,34(8):28-31

[10]苗睿锋.NRZ—HDB3码制转换器设计[J].电子设计工程,2003(12):4-7

猜你喜欢

译码极性编码器
极化码自适应信道译码算法
融合CNN和Transformer编码器的变声语音鉴别与还原
有机反应极性机理试剂分类的探索
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
设定多圈绝对值编码器当前圈数的方法
分段CRC 辅助极化码SCL 比特翻转译码算法
转炉系统常用编码器选型及调试
基于校正搜索宽度的极化码译码算法研究
舞台机械技术与设备系列谈(二)
——编码器
跟踪导练(四)