# Codificación Manchester

La codificación Manchester, también denominada codificación bifase-L, es un método de codificación eléctrica de una señal binaria en el que en cada tiempo de bit hay una transición entre dos niveles de señal. Es una codificación autosincronizada, ya que en cada bit se puede obtener la señal de reloj, lo que hace posible una sincronización precisa del flujo de datos. Una desventaja es que consume el doble de ancho de banda que una transmisión asíncrona. Hoy en día hay numerosas codificaciones (8b/10b) que logran el mismo resultado pero consumiendo menor ancho de banda que la codificación Manchester.
La codificación Manchester se usa en muchos estándares de telecomunicaciones, como en las variantes 10 Mbit/s del estándar Ethernet, por ejemplo 10Base5 o 10Base-F.

## Descripción

* Las señales de datos y de reloj, se combinan en una sola que auto-sincroniza el flujo de datos.
* Cada bit codificado contiene una transición en la mitad del intervalo de duración de los bits.
* Una transición de negativo a positivo representa un 1 y una transición de positivo a negativo representa un 0.
Los códigos Manchester tienen una transición en la mitad del periodo de cada bit. Cuando se tienen bits iguales y consecutivos se produce una transición al inicio del segundo bit, la cual no es tenida en cuenta por el receptor al momento de decodificar, solo las transiciones separadas uniformemente en el tiempo son las que son consideradas por el receptor. Hay algunas transiciones que no ocurren a mitad de bit. Estas transiciones no llevan información útil, y solo se usan para colocar la señal en el siguiente estado donde se llevará a cabo la siguiente transición. Aunque esto permite a la señal auto-sincronizarse, en realidad lo que hace es doblar el requerimiento de ancho de banda, en comparación con otros códigos como por ejemplo los Códigos NRZ.

## La codificación Manchester como Modulación por desplazamiento de fase

La codificación Manchester es sólo un caso especial de la Modulación por desplazamiento de fase, donde los datos que van a ser transmitidos controlan la fase de una onda rectangular portadora. Para controlar la cantidad de ancho de banda consumida, se puede usar un filtro para reducir el ancho de banda hasta un valor bajo como 1Hz por bit/segundo, y mantenerlo para no perder información durante la transmisión.

## Ventajas y desventajas del uso de la codificación Manchester

Como ventajas principales se pueden destacar las siguientes:
* La codificación Manchester o codificación bifase-L es autosincronizada: provee una forma simple de codificar secuencias de bits, incluso cuando hay largas secuencias de periodos sin transiciones de nivel que puedan significar la pérdida de sincronización, o incluso errores en las secuencias de bits. Por ello es altamente fiable.
* Detección de retardos: directamente relacionado con la característica anterior, a primera vista podría parecer que un periodo de error de medio bit conduciría a una salida invertida en el extremo receptor, pero una consideración más cuidadosa revela que para datos típicos esto llevaría a violaciones de código. El hardware usado puede detectar esas violaciones de código, y usar esta información para sincronizar adecuadamente en la interpretación correcta de los datos.
* Esta codificación también nos asegura que la componente continua de las señales es cero si se emplean valores positivos y negativos para representar los niveles de la señal, haciendo más fácil la regeneración de la señal, y evitando las pérdidas de energía de las señales.
Las principales desventajas asociadas son las siguientes:
* Ancho de banda del doble de la señal de datos: una consecuencia de las transiciones para cada bit es que el requerimiento del ancho de banda para la codificación Manchester es el doble comparado en las comunicaciones asíncronas, y el espectro de la señal es considerablemente más ancho. La mayoría de los sistemas modernos de comunicación están hechos con protocolos con líneas de codificación que persiguen las mismas metas, pero optimizan mejor el ancho de banda, haciéndolo menor.

## Convenios de representación de datos

Hay dos convenciones contrarias en la interpretación de la codificación:
* En el artículo original de E.G. Thomas de 1949 y en otros muchos autores que lo siguen, cómo Andrew S. Tanenbaum, el bit 1 es una transición alto-bajo y el bit 0 bajo-alto.
* Otros autores como Stallings, y el estándar IEEE 802.3 consideran que el bit 1 es la transición bajo alto y el bit 0 la contraria.
Es necesario destacar que la codificación Manchester diferencial no es una interpretación específica de la codificación Manchester.

## Codificación Manchester diferencial

La Codificación Manchester diferencial (también CDP; Conditional DePhase encoding) es un método de codificación de datos en los que los datos y la señal reloj están combinados para formar un único flujo de datos autosincronizable. Es una codificación diferencial que usa la presencia o ausencia de transiciones para indicar un valor lógico. Esto aporta algunas ventajas sobre la Codificación Manchester:
* Detectar transiciones es a menudo menos propenso a errores que comparar con tierra en un entorno ruidoso.
* La presencia de la transición es importante pero no la polaridad. La codificaciones diferenciales funcionarán exactamente igual si la señal es invertida (cables intercambiados).
Un bit '1' se indica haciendo en la primera mitad de la señal igual a la última mitad del bit anterior, es decir, sin transición al principio del bit. Un bit '0' se indica haciendo la primera mitad de la señal contraria a la última mitad del último bit, es decir, con una transición al principio del bit. En la mitad del bit hay siempre una transición, ya sea de high hacia low o viceversa. Una configuración inversa es posible, y no habría ninguna desventaja en su uso.
Un método relacionado es la Codificación Manchester en el cual las transiciones significativas son las de la mitad del bit, codificando los datos por su dirección (positivo-negativo es valor '1', negativo-positivo es el otro).
Manchester Diferencial está especificado en el IEEE 802.5 estándar para Redes Token Ring, y es usado para otras muchas aplicaciones, incluyendo el almacenamiento magnético y óptico.
    Nota: En la codificación Manchester Diferencial, si el '1 es representado por una transición, entonces el '0' es representado por 2 transiciones y viceversa.
La existencia de las transiciones garantizadas permite que la señal se auto sincronice, y también permite que el receptor se alinee correctamente; el receptor puede identificar si está desalineando por medio período de bit, ya que ya no siempre habrá una transición durante cada período de bit. El precio de estos beneficios duplica el requisito de ancho de banda en comparación con los esquemas de codificación NRZ menos complejos.