En telecomunicaciones, 6b / 8b es un código de línea que se expande 6- bits códigos a símbolos de 8 bits para los fines de mantenimiento de DC-equilibrio en un sistema de comunicaciones. [1]
La codificación 6b / 8b es un código balanceado : cada símbolo de salida de 8 bits contiene 4 bits cero y 4 bits uno. Por tanto, el código puede, como un bit de paridad , detectar todos los errores de un solo bit.
El número de patrones de 8 bits con 4 bits establecidos es el coeficiente binomial = 70. Excluyendo además los patrones 11110000
y 00001111
, esto permite 68 patrones codificados: 64 códigos de datos, más 4 códigos de control adicionales.
Reglas de codificación
Los 64 códigos de entrada de 6 bits posibles se pueden clasificar según su disparidad, el número de 1 bits menos el número de 0 bits:
Unos | Ceros | Disparidad | Número |
---|---|---|---|
0 | 6 | −6 | 1 |
1 | 5 | −4 | 6 |
2 | 4 | −2 | 15 |
3 | 3 | 0 | 20 |
4 | 2 | +2 | 15 |
5 | 1 | +4 | 6 |
6 | 0 | +6 | 1 |
Los códigos de entrada de 6 bits se asignan a los símbolos de salida de 8 bits de la siguiente manera:
- Los 20 códigos de 6 bits con disparidad 0 tienen el prefijo
10
Ejemplo: 000111 → 10 000111
Ejemplo: 101010 → 10 101010 - Los 15 códigos de 6 bits con disparidad +2, distintos de
001111
, tienen el prefijo00
Ejemplo: 010111 → 00 010111 - Los 15 códigos de 6 bits con disparidad −2, distintos de
110000
, tienen el prefijo11
Ejemplo: 101000 → 11 101000 - El resto de los 20 códigos: 12 con disparidad ± 4, 2 con disparidad ± 6,
001111
,110000
, y los 4 códigos de control, son asignados a los códigos que comienzan con01
como sigue:
Tipo | Aporte | Producción | Tipo | Aporte | Producción | Complemento | ||
---|---|---|---|---|---|---|---|---|
−6 | 000000 | 01011001 | +6 | 111111 | 01100110 | 01_xx__x | ||
−4 | 000001 | 01110001 | +4 | 111110 | 01001110 | 01xx____ | ||
000010 | 01110010 | 111101 | 01001101 | |||||
000100 | 01100101 | 111011 | 01011010 | 01x____x | ||||
001000 | 01101001 | 110111 | 01010110 | |||||
010000 | 01010011 | 101111 | 01101100 | 01_____xx | ||||
100000 | 01100011 | 011111 | 01011100 | |||||
−2 | 110000 | 01110100 | +2 | 001111 | 01001011 | 01____x__ | ||
Control | K 000111 | 01000111 | Control | K 111000 | 01111000 | |||
K 010101 | 01010101 | K 101010 | 01101010 |
Obviamente, ningún símbolo de datos contiene más de cuatro bits coincidentes consecutivos, y debido a que los patrones 11110000
y 00001111
están excluidos, ningún símbolo de datos comienza o termina con más de tres bits idénticos. Por lo tanto, la ejecución más larga de bits idénticos que se producirá es 6. (es decir, este es un código RLL (0,5) , con una disparidad de ejecución en el peor de los casos de +3 a −3).
Cualquier aparición de 6 bits idénticos consecutivos constituye una secuencia de coma o marca de sincronización o palabra de sincronización ; identifica los límites del símbolo con precisión. Esos 6 bits se encuentran en el límite entre símbolos con exactamente 3 de esos bits idénticos al final de un símbolo, y 3 de esos bits idénticos al comienzo del siguiente símbolo siguiente.
Ver también
- Codificación 8b / 10b , otro sistema de tabla fija con una tasa de código más alta pero menos detección de errores.
- Codificación 64b / 66b , registro de retroalimentación lineal.
Referencias
- ^ Kees A. Schouhamer Immink (noviembre de 2004). Códigos para sistemas de almacenamiento masivo de datos (Segunda edición completamente revisada). Eindhoven, Países Bajos: Shannon Foundation Publishers. ISBN 90-74249-27-2. Consultado el 23 de agosto de 2015 .
enlaces externos
- Freepatents online, patente de los Estados Unidos 6,876,315: código de transmisión 6B / 8B balanceado en CC con paridad local .