La codificación es un método utilizado para convertir un stream de bits de datos en un código predefinido. Los códigos son grupos de bits utilizados para ofrecer un patrón predecible que pueda reconocer tanto el emisor como el receptor. La utilización de patrones predecibles permite distinguir los bits de datos de los bits de control y ofrece una mejor detección de errores en los medios.




Los datos analógicos se modulan mediante una portadora para generar una señal analógica en una banda de frecuencias diferente, la cual se puede utilizar en un sistema de transmisión analógico. Las técnicas básicas son:
  • la modulación de amplitud (AM), 
  • la modulación de frecuencia (FM) y,
  • la modulación de fase (PM).

La modulación de amplitud (AM) es una técnica utilizada en la comunicación electrónica, más comúnmente para la transmisión de información a través de una onda portadora de radio. La modulación en amplitud (AM) funciona mediante la variación de la amplitud de la señal transmitida en relación con la información que se envía.

La frecuencia modulada (FM) o modulación de frecuencia es una modulación angular que transmite información a través de una onda portadora variando su frecuencia. En aplicaciones analógicas, la frecuencia instantánea de la señal modulada es proporcional al valor instantáneo de la señal moduladora. 

La modulación de fase (PM) que se caracteriza porque la fase de la onda portadora varía en forma directamente proporcional de acuerdo con la señal modulante. La modulación de fase no suele ser muy utilizada porque se requieren equipos de recepción más complejos que los de frecuencia modulada.


La forma más sencilla de codificar digitalmente datos digitales es asignar un nivel de tensión al uno binario y otro nivel distinto para el cero. Para mejorar las prestaciones hay que utilizar códigos distintos al anterior, alterando el espectro de la señal y proporcionando capacidad de sincronización.

Los códigos que siguen esta estrategia comparten la propiedad de que el nivel de tensión se mantiene constante durante la duración del bit; es decir, no hay transiciones (no hay retorno al nivel cero de tensión). Por ejemplo, la ausencia de tensión se puede usar para representar un 0 binario, mientras que un nivel constante y positivo de tensión puede representar al 1. Este código se denomina no retorno a cero (NRZ, Non-return to Zero). Sin embargo, es más habitual usar un nivel negativo para representar un valor binario y una tensión positiva para representar al otro. Este último código se denomina código no retorno a nivel cero (NRZ-L, Nonreturn to Zero-Level). NRZ-L se usa generalmente para generar o interpretar los datos binarios en terminales y otros dispositivos.