HDB3码

HDB3码

目录导航

全称

High Density Bipolar of order 3 code,三阶高密度双极性码。

编码规则

1、连0的个数不超过3时,规则与AMI相同,即0不变,1变为-1、+1交替;

2、若连0的个数超过3,则将每4个0看作一小节,定义为B00V,B可以是-1、0、+1,V可以是-1、+1;

3、B和V具体值满足以下条件:V和前面相邻非0符号极性相同;不看V时极性交替;V与V之间极性交替;

4、一般第一个B取0,第一个非0符取-1。

在V与V之间如果出现偶数个B时,应在后一个V字节补一个B',定义为B'00V,B'与前面相邻的B之间符号极性相反,这个字节的V和B'符号极性相同。[1]

由于V会破坏极性交替的规律、B有3种变化以满足规则,所以V称为破坏脉冲、B称为调节脉冲,B00V称为取代节、破坏节

例如:

AMI与HDB3
方向 旧 ← 新
消息码 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1
AMI -1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1
HDB3 -1 0 0 0 -V +1 0 0 0 +V -1 +1 -B 0 0 -V +1

±1和±B、±V没有区别,这里只是说明它们是0变来的。

-B为补码,值为-1,此字节V符号跟随,为-V

由规则导出的一种编码方法,个人认为这是机器实现时最效率的思路之一:

1、源码是1时,暂时不变;

2、连0不超过3个时不变,有4个或以上连0时把每4个0换为取代节,即B00V;

3、确定B是0还是±1:第一个B一般取0,若两个取代节之间1的个数为偶,易推得后者的B一定是±1,此时B和1遵循的规则完全相同,可以直接记为1,即100V;为奇则一定是0,记为0,即000V。

4、统一确定极性:第一个非0符一般取-1,之后,根据前一个非0符极性,V取同,1取反;

手算的方法多种多样,理清规则,遵循“先满足V之间极性交替,然后确定B”的大方向,皆可迎刃而解。

常见的错误:经常出现 “第一步先转成AMI” 的表述,这无论对于手算还是编程,实际操作起来都是多余的步骤。如例子中的最后一位,HDB3码和AMI码相反,AMI码和HDB3码的极性没有必然关系,因此转成AMI既决定不了1码最终的极性,又不改变0,对HDB3编码过程没有任何帮助。HDB3是改进的AMI,提到它主要是追根溯源、做对比,起到帮助理解记忆的作用,并不是一定要在编码过程中用到它;

解码规则

AMI与HDB3
方向 旧 ← 新
消息码 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1
AMI -1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1
HDB3 -1 0 0 0 -V +1 0 0 0 +V -1 +1 -B 0 0 -V +1

HDB3码的特点

1、虽然编码很复杂,但解码规则很简单,就是把原来的取代节(4个连零)找到即可,若3连“0”前后非零脉冲同极性,则将最后一个非零元素译为零,如+1000+1 就应该译成“10000”,否则不用改动;若2连 “0”前后非零脉冲极性相同,则两零前后都译为零,如-100-1,就应该译为0000,否则也不用改动.

2、再将所有的-1变换成+1后,就可以得到原消息码。

应用

1、由HDB3码确定的基带信号无直流分量,且只有很小的低频分量;

2、HDB3中连0串的数目至多为3个,易于提取定时信号。

3、编码规则复杂,但译码较简单。

相关百科
返回顶部
产品求购 求购