/*------------------------------------------------------------------
HDB3 encoding and decoding principle//Reprint
------------------------------------------------------------------*/
To understand the coding rules of HDB3 code, first of all to know the formation of AMI Code rules, AMI code is the unipolar pulse sequence adjacent to the "1" code (i.e. positive pulse) into the polarity alternating positive and negative pulses. The "0" code will remain unchanged, the "1" code into a + 1,-1 semi-empty Zero code representation of alternating pulses. Such as:
NRZ code:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1
Ami code: -1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1
< Span style= "COLOR: #3333ff" >HDB3 code is an improved type of AMI code, Its encoding principle can be summarized as in the binary code sequence of the message:
/*-------------------------------------------- ---------------------
(1) When the number of "0" code is not more than 3 o'clock, HDB3 code is the same as AMI code, that is, "1" code becomes "+1", "1" alternating pulses;
(2) When 4 consecutive "0" codes or more than 4 "0" codes appear in the code sequence, the "0" segment is divided by 4 "0", that is, "0000", and the 4th "0" code becomes "1", denoted by a V-Pulse. This will eliminate the long-connected "0" phenomenon. To facilitate the identification of the V-Pulse, the V-pulse polarity is the same as the previous "1" pulse polarity. This destroys the AMI code polarity alternating rule, so the V pulse is the damage pulse, the V pulse and the first 3 connected "0" is called the break node "000V";
(3) in order for the pulse sequence to remain free of DC components, the adjacent damage Point v pulse polarity must be alternating;
(4) In order to ensure that the first two conditions are established, there must be an odd number of "1" codes between adjacent damage points. If the "1" code between the break points in the original sequence is even, it must be an odd number, and the first "0" code in the break section becomes "1", denoted by a B-Pulse. At this point the break section becomes the "b00v" form. The B pulse polarity is opposite to the previous "1" pulse polarity, while the B pulse polarity is the same as the V pulse polarity.
-------------------------------------------------------------- ----*/
such as:
NRZ Code:
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
ami code:
-1
0
0
0
0 +1
0
0
0
0-1
+1
0
0
0
0
-1 +1
HDB3 Code:
-1
0
0
0 -v +1
0
0
0 +v-1
+1–b 0
0 -V +1 -1
Although coding rules for HDB3 codes are more complex , but the decoding is relatively simple. As seen from the above principle: each break symbol V is always the same polarity as the previous non-0 symbol (including B). This means that the break point V can be easily found from the received sequence of symbols, so it is also concluded that the V symbol and its preceding 3 symbols must be a hyphen 0 symbol, thus recovering 4 even 0 yards, and then all 1 becomes +1 after the original message code is obtained.
hdb3 So, HDBN is the same push. The length of the break section is different.
//here to record a small concept of your own understanding
Zero and zero:
For example, all means "1"
-------------- //Like this, when the level remains constant throughout the code element, it is not returned to zero
____|------ //such as this change in a code-element period, such as the first low or high, or the first high after the low is the zero
Hdbn codec principle N-order high-density bipolar code