zoukankan      html  css  js  c++  java
  • HDBn编解码原理 n阶高密度双极性码

    /*------------------------------------------------------------------

    HDB3 编码解码原理        // 转载

    ------------------------------------------------------------------*/

    要了解HDB3码的编码规则,首先要知道AMI码的构成规则,AMI码就是把单极性脉冲序列中相邻的“1”码(即正脉冲)变为极性交替的正、负脉冲。将“0”码保持不变,把“1”码变为+1、-1半占空归零码表示的交替的脉冲。如:

    NRZ码:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1

    AMI码:-1 0 0 0 0 +1  0 0 0 -1 +1  0 0 0 0 -1  +1

    HDB3码是一种AMI码的改进型,它的编码原理可简述为,在消息的二进制代码序列中:
    /*-----------------------------------------------------------------
    (1)当连“0”码的个数不大于3时,HDB3编码规律与AMI码相同,即“1”码变为“+1”、“-1”交替脉冲;

    (2)当代码序列中出现4个连“0”码或超过4个连“0”码时,把连“0”段按4个“0”分节,即“0000”,并使第4个“0”码变为“1”码,用V脉冲表示。这样可以消除长连“0”现象。为了便于识别V脉冲,使V脉冲极性与前一个“1”脉冲极性相同。这样就破坏了AMI码极性交替的规律,所以V脉冲为破坏脉冲,把V脉冲和前3个连“0”称为破坏节“000V”;

    (3)为了使脉冲序列仍不含直流分量,则必须使相邻的破坏点V脉冲极性交替;

    (4)为了保证前面两条件成立,必须使相邻的破坏点之间有奇数个“1”码。如果原序列中破坏点之间的“1”码为偶数,则必须补为奇数,即将破坏节中的第一个“0”码变为“1”,用B脉冲表示。这时破坏节变为“B00V”形式。B脉冲极性与前一“1”脉冲极性相反,而B脉冲极性和V脉冲极性相同。

    ------------------------------------------------------------------*/

    如:
    NRZ码:  1 0 0 0 0 1 0 0 0 0 1 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

    虽然HDB3码的编码规则比较复杂,但译码却比较简单。从上述原理看出:每一个破坏符号V总是与前一非0符号同极性(包括B在内)。这就是说,从收到的符号序列中可以容易地找到破坏点V,于是也断定V符号及其前面的3个符号必是连0符号,从而恢复4个连0码,再将所有-1变成+1后便得到原消息代码。

    HDB3如此, HDBn是一样推的. 主要是破坏节的长度不同

    // 这里记录一个自己理解的小概念
    归零与不归零:
    比如都是表示 "1"

    --------------                  // 像这种,在整个码元期间电平保持不变的 就是不归零
    ____|------                   // 像这种在一个码元期间内发生变化的,比如先低后高,或者先高后低的就是归零的
  • 相关阅读:
    阿里云短信支付微信支付
    python 阿里云短信群发推送
    python twilio 短信群发 知识留存
    python爬虫 发送定时气象预报
    python beautifulsoup爬虫
    strongswan
    Docker进入主流,PaaS大有可为(转)
    Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)
    在IT网站上少花些时间
    Python 代码性能优化技巧(转)
  • 原文地址:https://www.cnblogs.com/Rosebud/p/7117427.html
Copyright © 2011-2022 走看看