En telecomunicaciones, la corrección de errores hacia delante (FEC) es un código especial para la detección y corrección de errores. El emisor vuelve a añadir partes de los datos. Esto se llama redundancia. El receptor es entonces capaz de detectar ciertos errores que provienen del envío de los datos. En ciertos casos, el receptor puede corregir el error, sin necesidad de una retransmisión.

 

¿Qué es la FEC y para qué sirve?

La corrección de errores hacia delante (FEC) es una técnica mediante la cual el emisor añade información redundante a los datos originales para que el receptor pueda detectar y, en muchos casos, corregir errores introducidos por el canal de transmisión sin pedir una nueva copia. Esto reduce la necesidad de retransmisiones y es especialmente útil cuando las retransmisiones son costosas o imposibles (por ejemplo, transmisiones por satélite, difusión en vivo, o enlaces con alta latencia).

Cómo funciona (explicación simple)

  • El codificador toma k bits de datos útiles y genera n bits transmitidos añadiendo (n − k) bits de redundancia.
  • El código resultante se envía por el canal; el ruido puede alterar algunos bits.
  • El receptor usa un decodificador que analiza la palabra recibida y, con la información redundante, detecta y corrige errores según la capacidad del código.

La tasa de código o code rate se expresa como R = k/n. Un R menor implica más redundancia (mayor protección) y mayor sobrecarga.

Tipos de códigos FEC

  • Códigos de bloque: como Hamming y Reed–Solomon. Operan sobre bloques fijos de bits. Reed–Solomon es muy usado en almacenamiento, CD/DVD, y comunicaciones por satélite porque corrige errores por ráfaga.
  • Códigos convolucionales: procesan secuencias de bits y se suelen decodificar con el algoritmo de Viterbi. Comunes en comunicaciones inalámbricas y en concatenación con otros códigos.
  • Códigos Turbo: combinan dos o más codificadores convolucionales con intercalado y alcanzan rendimiento cercano al límite de Shannon para ciertos escenarios.
  • Códigos LDPC (Low-Density Parity-Check): códigos de baja densidad de paridad que ofrecen muy buen rendimiento y se implementan en Wi‑Fi, DVB‑S2, 5G y otras normas modernas.
  • Códigos polares: códigos de canal con propiedades teóricas muy buenas; utilizados en partes de la especificación 5G.

Decodificación: decisiones duras vs suaves

  • Decodificación de decisión dura: el receptor toma decisiones binarias (0/1) y el decodificador trabaja con esos bits; es más simple pero menos eficiente.
  • Decodificación de decisión suave: el receptor usa información de confiabilidad (por ejemplo, valores de probabilidad o log‑likelihood) que mejora significativamente la capacidad de corrección a costa de mayor complejidad computacional.

Métricas y comportamiento

  • BER (Bit Error Rate) y FER (Frame Error Rate): se usan para medir la calidad antes y después de aplicar FEC.
  • Ganancia de codificación: reducción de Eb/N0 necesaria para alcanzar un BER dado respecto a la transmisión sin codificar.
  • Sobrecarga (overhead): porcentaje adicional de bits transmitidos = (n − k)/k.
  • Latencia y complejidad: códigos más potentes (Turbo, LDPC) suelen requerir mayor complejidad de decodificación y latencia mayor.

Protección frente a distintos tipos de errores

Algunos canales introducen errores aislados (dispersos), otros producen errores por ráfaga. Técnicas complementarias:

  • Intercalado: reorganiza los bits antes de codificarlos para convertir ráfagas en errores dispersos, mejorando la eficacia de ciertos códigos.
  • Puncturing: se eliminan bits de la redundancia para aumentar la tasa de código sin cambiar el codificador; útil para ajustar la tasa según condiciones del canal.

FEC frente a ARQ (retransmisión)

La FEC y las técnicas ARQ (Automatic Repeat reQuest) se complementan. ARQ solicita retransmisiones cuando se detecta un error y suele usarse cuando hay un canal de retorno y la latencia lo permite. FEC evita retransmisiones añadiendo redundancia, por lo que es preferible cuando la latencia es alta o la retransmisión es costosa. En muchos sistemas se usan combinaciones híbridas (Hybrid ARQ) que combinan FEC y ARQ para optimizar rendimiento y eficiencia.

Aplicaciones típicas

  • Enlaces satelitales y de radiodifusión (DVB, satélite TV).
  • Comunicaciones móviles y Wi‑Fi (LDPC, Turbo, polar en 5G).
  • Almacenamiento y CDs/DVDs (Reed–Solomon).
  • Fibra óptica y sistemas de transmisión de alta velocidad.
  • Sistemas embebidos y comunicaciones espaciales donde las retransmisiones son inviables.

Ventajas y desventajas

  • Ventajas: reduce retransmisiones, mejora la fiabilidad del enlace, permite comunicaciones en canales ruidosos.
  • Desventajas: añade sobrecarga (mayor uso de ancho de banda), complejidad computacional y posible latencia adicional.

Consejos para elegir un esquema FEC

  • Determinar la tolerancia a la latencia y la disponibilidad de recursos de procesamiento.
  • Evaluar el tipo de errores del canal (aislados vs ráfagas) y considerar intercalado si hay ráfagas.
  • Seleccionar la tasa de código adecuada (R) según el compromiso entre fiabilidad y ancho de banda.
  • Para implementaciones modernas y alto rendimiento, considerar LDPC o códigos polar; para entornos con ráfagas, Reed–Solomon sigue siendo una opción robusta.

Resumen

La FEC es una técnica esencial en telecomunicaciones que añade redundancia a los datos para detectar y corregir errores sin necesidad de retransmisiones. Existen múltiples familias de códigos (bloque, convolucionales, Turbo, LDPC, polares), cada una con sus ventajas y costes en complejidad, latencia y ancho de banda. La elección adecuada depende del canal, la aplicación y las restricciones del sistema.