6b/8b encoding
   HOME

TheInfoList



OR:

In telecommunications, 6b/8b is a line code that expands 6- bit codes to 8-bit symbols for the purposes of maintaining DC-balance in a communications system. The 6b/8b encoding is a balanced code -- each 8-bit output symbol contains 4 zero bits and 4 one bits. So the code can, like a
parity bit A parity bit, or check bit, is a bit added to a string of binary code. Parity bits are a simple form of error detecting code. Parity bits are generally applied to the smallest units of a communication protocol, typically 8-bit octets (bytes), ...
, detect all single-bit errors. The number of 8-bit patterns with 4 bits set is the
binomial coefficient In mathematics, the binomial coefficients are the positive integers that occur as coefficients in the binomial theorem. Commonly, a binomial coefficient is indexed by a pair of integers and is written \tbinom. It is the coefficient of the t ...
\tbinom 84 = 70. Further excluding the patterns 11110000 and 00001111, this allows 68 coded patterns: 64 data codes, plus 4 additional control codes.


Coding rules

The 64 possible 6-bit input codes can be classified according to their disparity, the number of 1 bits minus the number of 0 bits: The 6-bit input codes are mapped to 8-bit output symbols as follows: * The 20 6-bit codes with disparity 0 are prefixed with 10
''Example: 000111 → 10000111''
''Example: 101010 → 10101010'' * The 15 6-bit codes with disparity +2, other than 001111, are prefixed with 00
''Example: 010111 → 00010111'' * The 15 6-bit codes with disparity −2, other than 110000, are prefixed with 11
''Example: 101000 → 11101000'' * The remaining 20 codes: 12 with disparity ±4, 2 with disparity ±6, 001111, 110000, and the 4 control codes, are assigned to codes beginning with 01 as follows: Obviously, no data symbol contains more than four consecutive matching bits, and because the patterns 11110000 and 00001111 are excluded, no data symbol begins or ends with more than three identical bits. Thus, the longest run of identical bits that will be produced is 6. (I.e. this is a (0,5) RLL code, with a worst-case
running disparity In telecommunications, 8b/10b is a line code that maps 8-bit words to 10-bit symbols to achieve DC balance and bounded disparity, and at the same time provide enough state changes to allow reasonable clock recovery. This means that the dif ...
of +3 to −3.) Any occurrence of 6 consecutive identical bits constitutes a comma sequence or sync mark or syncword; it identifies the symbol boundaries precisely. Those 6 bits straddle the inter-symbol boundary with exactly 3 of those identical bits at the end of one symbol, and 3 of those identical bits at the start of the following next symbol.


See also

*
8b/10b encoding In telecommunications, 8b/10b is a line code that maps 8-bit words to 10-bit symbols to achieve DC balance and bounded disparity, and at the same time provide enough state changes to allow reasonable clock recovery. This means that the diff ...
, another fixed-table system with a higher
code rate In telecommunication and information theory, the code rate (or information rateHuffman, W. Cary, and Pless, Vera, ''Fundamentals of Error-Correcting Codes'', Cambridge, 2003.) of a forward error correction code is the proportion of the data-st ...
but less error detection. *
64b/66b encoding In data networking and transmission, 64b/66b is a line code that transforms 64- bit data to 66-bit line code to provide enough state changes to allow reasonable clock recovery and alignment of the data stream at the receiver. It was defined by t ...
, linear feedback register.


References


External links

* Freepatents online, United States patent 6,876,315
DC-balanced 6B/8B transmission code with local parity
Line codes {{electronics-stub