编辑本段全称
High Density Bipolar of order 3code,三阶高密度双极性码。
编辑本段编码规则
规则
1 先将消息代码变换成AMI码,若AMI码中连0的个数小于4,此时的AMI码就是HDB3码;
2 若AMI码中连0的个数大于3,则将每4个连0小段的第4个0变换成与前一个非0符号(+1或-1)同极性的符号,用表示(+1+,-1-);
3 为了不破坏极性交替反转,当相邻符号之间有偶数个非0符号时,再将该小段的第1个0变换成+B或-B,符号的极性与前一非零符号的相反,并让后面的非零符号从符号开始再交替变化。
例如:
消息代码: 1 0 0 0 0 1 0 0 0 01 1 0 0 0 0 1 1
AMI码: +1 0 0 0 0 -1 0 0 0 0+1 -1 0 0 0 0 +1 -1
HDB3码:+1 0 0 0 +V -1 0 0 0 -V+1 -1 +B 0 0 +V -1 +1
上面由前人编辑的编码与本人所学教材(《通信原理(第3版)》 北京邮电大学出版社)一致,但操作起来每每生出许多曲折之处,譬如1的符号后来怎么变的,或者8个0连时又是怎么样,都未详解。因此本人将自己所发现的简易编法写出,如有雷同,实属幸事。
另一位编辑者:本人所学教材为《通信原理(第六版)》( 国防工业出版社,樊昌信版)
首先,回答前一位作者的问题(也是HDB3码学习中的的FAQ):
1的符号怎么变?
1的符号必须与AMI码保持一致。8个连零 怎么办?
无论有多少连续的0,都是由前向后,4个一组。
原理:HDB3码既要包含AMI的交替特性使输出无直流特性,又要不出现四个以上的连0,因此可以先满足后者。
1.把"0000"换为取代节。
规则:先将"0000"分离开来,第一个"0000"直接变为"000V",然后数相邻两个"0000"之间"1"的个数,奇数则变为"000V",偶数则变为" B00V"。
这是经验方法,而不是HDB3的规范方法。是错误的,在樊昌信的书上使用的例子就是反例。
2.更新符号。
根据教材有:B总是与其前面的1或V符号相反,V总是与前面的1或B相符号相同,1总是与前面的V或B符号相反,就可以编符号了。
对上述的说明(参考自樊昌信版《通信原理》):
取代节:
根据解码规则第一条,破坏交替性的1或-1出现时,将此符号和前面3个符号替换为0000。
V为破坏脉冲,即破坏交替性的1或-1出现的位。B为调节脉冲,B可以是0,1或-1。将0000替换为B00V。
调节脉冲的作用:
在破坏脉冲的极性也交替的情况下保证破坏脉冲对整个序列极性交替的破坏性。
正确的步骤为:
1.写AMI码
2.把"0000"换为取代节。"0000"分离开来,替换为B00V
3.V的取值:第一个V取值与AMI码的第一个-1相同,即取-V,以后交替取+V,-V。
4.B的取值:根据V和V前面存在的1或-1,写B,若+V前面是-1或-V,则取B=+B,即B没有破坏极性,但V破坏了极性,下同;若+V前面是+1或+V,则取B=0B;若-V前面是+1或+V,则取B=-B;若-V前面是-1或-V,则取B=0B。
附简单方法
快速的编码方法:
取节 : 相邻V之间奇数个非0码就取000V;偶数个非0码就取B00V,
定符号:
V的取值 第一个V取值与AMI码(见上)的第一个+1相同,即取+V,以后交替取+V,-V。然后1与B的符号交替变化即可
快速编码原理:
HDB3码的编码中,V相当于破坏码元,B相当于为消除破坏码元影响而引入的调节码元。为保证输出无直流的特性,破坏码元V的保持交替变化,同理1与B也得保持交替变化。
例如:
消息代码:1 0 0 0 0 1 0 0 0 01 1 0 0 0 0 1 1 0 0 0 00 0 0 0 1 1 1 0 0 0 01
中间码: 1 0 0 0 V 1 0 0 0 V1 1 B 0 0 V 1 1 B 0 0 VB 0 0 V 1 1 1 0 0 0 V1
HDB3码:+1 0 0 0 +V -1 0 0 0 -V+1 -1 +B 0 0 + V -1 +1 - B 0 0 -V+B 0 0 +V -1 +1 -1 0 0 0 -V+1
HDB3码的特点
1 由HDB3码确定的基带信号无直流分量,且只有很小的低频分量;
2 HDB3中连0串的数目至多为3个,易于提取定时信号。
3 编码规则复杂,但译码较简单。
解码规则
1从收到的符号序列中找到破坏极性交替的点,可以断定符号及其前面的3个符号必是连0符号,从而恢复4个连码;
2再将所有的-1变换成+1后,就可以得到原消息代码
编辑本段解码规则
1虽然编码很复杂,但解码规则很简单,就是把原来的取代节(4个连零)找到即可,若3连“0”前后非零脉冲同极性,则将最后一个非零元素译为零,如+1000+1 就应该译成“10000”,否则不用改动;若2连 “0”前后非零脉冲极性相同,则两零前后都译为零,如-100-1,就应该译为0000,否则也不用改动.
2.再将所有的-1变换成+1后,就可以得到原消息代码。
编辑本段应用
数字基带信号的传输是 数字通信系统的重要组成部分。在 数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。采用AMI码的信号交替反转,有可能出现四连零现象,这不利于接收端的定时信号提取。而HDB3码因其无直流成份、低频成份少和连0个数最多不超过三个等特点,而对定时信号的恢复十分有利,并已成为CCITT协会推荐使用的基带传输码型之一。 [1]