Table of Contents
Introducción: El objetivo de las tasas máximas de datos
Este objetivo fundamental es transmitir la mayor cantidad de información posible a través de un ancho de banda limitado, asegurando que los datos recibidos sean libres de errores.El límite superior teórico para una comunicación fiable se conoce como la capacidad canal de corrección, un concepto definido por Claude Shannon en su papel histórico de 1948. Esta capacidad depende de la potencia de señal, el poder de ruido y el ancho de banda.
Comprender la capacidad del Canal
El teorema de capacidad de canal de Shannon afirma que para un canal de comunicación dado con ancho de banda \(B\) y ratio señal-al ruido (SNR), existe una tasa máxima \(C\) a la que la información puede ser transmitida con una probabilidad arbitrariamente baja de error. Esta tasa, medida en bits por segundo, es dada por la fórmula conocida:
\(C = B \log 2(1 + S/N)\)
donde \(S/N\) es la relación de potencia de señal a ruido. El teorema establece que la comunicación libre de errores es posible por debajo de este límite pero no por encima de él. Sin embargo, la prueba de Shannon no fue constructiva; no especificó how] para lograr la capacidad. El desafío para los ingenieros de comunicación ha sido diseñar esquemas de codificación y modulación prácticos que operan cerca de este límite.
La capacidad del canal no es un número fijo; depende de las condiciones del canal. Por ejemplo, en comunicaciones inalámbricas, desvanecimiento, interferencia y propagación multipática hacen que el SNR variase con el tiempo. Las técnicas de modulación y codificación adaptativas ajustan la tasa de datos según la calidad del canal, pero la estrategia de codificación subyacente debe ser lo suficientemente robusta para manejar las condiciones de peor de caso.
¿Qué es la corrección de errores de futuro?
Corrección de errores de futuro (FEC) es un método de control de errores en el que el remitente añade bits redundantes ( bits de paridad) a los datos originales antes de la transmisión. Estos bits redundantes se estructuran para que el receptor pueda detectar y corregir un cierto número de errores sin solicitar la retransmisión. Esto es particularmente valioso en aplicaciones en tiempo real (por ejemplo, voz, transmisión de vídeo, enlaces de satélite) donde los retrasos de la retransmisión son inaceptables.
FEC se distingue de los protocolos de Repetición automática (ARQ), que dependen del receptor para detectar errores y pedir la retransmisión. Aunque ARQ es más simple, desperdicia el ancho de banda en las retransmisiones e introduce latencia. FEC intercambia la eficiencia de ancho de banda (debido a la parte superior de bits redundantes) para menor latencia y el código de carga inferior
Cómo funciona FEC: Paso a paso
Codificación
El encoder toma un bloque o flujo de datos de entrada bits y los transforma en una secuencia más larga de bits (la palabra clave) de acuerdo con una regla matemática específica. Esta regla asegura que las palabras clave válidas están separadas por una distancia mínima de Hamming, que determina la capacidad de error-corrección. Por ejemplo, un código con la distancia mínima \(d {min}\) puede corregir hasta \(\lfloor (d sistemáticamente error\/2 min)
Transmisión y Noise
El flujo de bits codificado se transmite sobre el canal, donde el ruido, la interferencia o la decoloración pueden dañar algunos bits. En la práctica, la corrupción se modela a menudo como el ruido aditivo Gaussian (AWGN), pero también ocurren otros impedimentos como los errores de explosión o el ruido de fase.
Decodificación
El receptor utiliza la estructura del código para procesar la secuencia recibida ruidosa. Existen dos enfoques principales de decodificación:
- Decodificación de la decisión de la coraza: El receptor toma primero una decisión binaria (0 o 1) para cada bit recibido, luego utiliza métodos algebraicos (por ejemplo, algoritmo de Berlekamp-Massey para los códigos de Reed-Solomon) para encontrar la palabra clave más cercana válida.
- ]Decodificación de la decisión del pop-decisión: El receptor conserva la información de confiabilidad analógica o multinivel ( bits blandos) sobre cada símbolo recibido. Esta información se invierte en un decodificador que realiza procesamiento probabilístico, como el algoritmo Viterbi para códigos convolutivos o propagación de creencias para los códigos LDPC.
El decodificador produce un bloque de datos corregido o, si el patrón de error excede la capacidad de corrección del código, una detección de errores incorrebles (que puede desencadenar una solicitud de remisión a una capa de protocolo superior).
Tipos de Códigos de Corrección de Errores de Adelante
Durante décadas de investigación, se han desarrollado muchas familias de códigos FEC, cada una con características distintas adaptadas para diferentes aplicaciones.
Códigos de bloques
Los códigos bloque operan en bloques de tamaño fijo de datos de entrada. Incluyen:
- ]Reed-Solomon (RS) códigos: Estos códigos BCH no binarios funcionan en símbolos (a menudo 8 bits). Son excelentes para corregir errores de explosión porque los errores en un símbolo afectan múltiples bits. Los códigos RS se utilizan en CDs, DVDs, códigos QR y comunicaciones de espacio profundo.
- Códigos BCH: Una gran clase de códigos de corrección de errores cíclicos con parámetros flexibles, que se utilizan en sistemas de comunicaciones y almacenamiento por satélite.
- Códigos de recortamiento: Simple códigos de corrección de un solo terror, de detección de doble terror, utilizados históricamente en la memoria de la computadora temprana (ECC RAM).
Códigos Conversor
A diferencia de los códigos de bloques, los códigos convolutivos procesan una corriente continua de bits de entrada a través de registros de cambios. La salida depende no sólo de la entrada actual, sino también de entradas anteriores (memoria). Normalmente se descodifican usando el algoritmo Viterbi, que realiza la detección de secuencias de máxima probabilidad. Los códigos convocionales son ampliamente utilizados en estándares inalámbricos (por ejemplo, GSM, 3G y como códigos de reducción de longitud de presión interna en muchos sistemas).
Turbo Codes
Introducido en 1993, los códigos turbo revolucionaron el campo mediante el logro de rendimiento dentro de 0,5 dB del límite Shannon. Consisten en dos o más encoders convolutivos separados por un interleaver y un proceso de decodificación iterativa (suplementario de entrada blanda) que intercambia información extrínseca entre decodificadores. Los códigos de Turbo se emplean en celulares 3G/4G (UMTS, LTE) y comunicaciones por satélite.
Códigos de paridad de baja densidad (PCD)
Los códigos de la CPD fueron inventados por Robert Gallager en 1963 pero no se realizaron prácticamente hasta los años noventa debido a limitaciones computacionales. Son códigos de bloque lineales definidos por una matriz de control de paridad de escasos. Se decodifican usando la propagación de creencias iterativas en un gráfico bipartito (gráfico de Tanner), que escala eficientemente. Los códigos LDPC ofrecen un rendimiento de casi capacidad (en 0.0045 dBase
Códigos Polares
Los códigos polares, introducidos por Erdal Arıkan en 2009, son los primeros códigos probados para lograr la capacidad simétrica de canales de entrada binaria discretos sin memoria con baja complejidad de codificación y decodificación (O(N log N)). Se basan en la polarización de canales y en la decodificación sucesiva de cancelación. Los códigos polares se han adoptado para los canales de control en 5G NR.
FEC y Capacidad de Canales de Aproximación
La pregunta fundamental es: ¿Cuán cerca puede FEC llegar al límite Shannon? Con códigos modernos, especialmente turbo, LDPC y códigos polares, la brecha se ha reducido a fracciones de un decibel. Por ejemplo, los códigos DVB-S2 LDPC funcionan dentro de 0,7–1.0 dB de capacidad, y algunas implementaciones de laboratorio de códigos LDPC logran dentro de 0,04 dB de la brecha de potencia.
Para acercarse a la capacidad, los códigos FEC deben ser largos y tienen propiedades casi aleatorias. Los códigos bloque simples como Hamming están lejos de la capacidad, mientras que los códigos largos de LDPC con distribuciones de grado irregular pueden acercarse a los límites. Sin embargo, la longitud del código también implica la decodificación de demora y memoria. La evolución de FEC ha sido impulsada por la búsqueda de códigos con el mejor intercambio entre rendimiento, complejidad y latencia.
En la práctica, el logro de la capacidad también requiere una cuidadosa modulación y adaptación de canales. Por ejemplo, modulación codificada interleatoriamente (BICM) combina FEC con modulación de alto orden (QAM, PSK) y se optimiza utilizando demapa y decodificación iterativa (BICM-ID). Esto permite que el sistema funcione en efficiencies espectros superiores a 10
Aplicaciones Prácticas y compensaciones
FEC es omnipresente en los sistemas de comunicación modernos. Aquí están las áreas clave donde FEC es indispensable:
- Comunicaciones de fibra óptica: Los cables submarinos de larga distancia utilizan potentes códigos de LDPC y escaleras para corregir los impedimentos causados por el ruido amplificador, las no linealidades y la dispersión. Sin FEC, 100 Gbps y 400 Gbps enlaces serían imposibles.
- Comunicaciones ininterrumpidas: 4G LTE utiliza códigos turbo para canales de datos; 5G NR utiliza LDPC para datos y códigos polares para el control. Wi-Fi 6 (802.11ax) utiliza LDPC.
- ]Comunicaciones satélites y espaciales: CCSDS (Comité Consultivo de Sistemas de Datos Espaciales) recomienda códigos turbo, LDPC y Reed-Solomon para misiones de espacio profundo. Los Marte rovers confían en códigos concatenados (Reed-Solomon + convolutional) para transmitir imágenes de alta definición a millones de kilómetros.
- Sistemas de almacenamiento:] Los discos duros, SSD y memoria flash utilizan FEC fuerte (por ejemplo, LDPC con decodificación de la decisión dura) para corregir errores debido al desgaste y el ruido de lectura.
Mientras que la FEC proporciona enormes beneficios, introduce compensaciones:
- Overhead:] Los bits de redundant reducen la tasa de datos efectiva. Un código con la tasa 1/2 duplica el requisito de ancho de banda crudo para la misma carga de pago.
- Complexidad:] La codificación es generalmente simple, pero la decodificación —especialmente iterativa de la decisión blanda— puede ser costosa computacionalmente, requiriendo hardware dedicado (ASICs o GPU).
- Latencia: Los códigos bloqueados y la decodificación iterativa introducen retrasos de amortiguación y procesamiento. Para aplicaciones de baja latencia como conducción autónoma (URLLC en 5G), se prefieren longitudes de bloque corto y códigos simples.
- Planta de emergencia: Algunos códigos, especialmente LDPC, pueden mostrar un piso de error a tasas de error muy bajas debido a los conjuntos de captura. Diseño de códigos cuidados (por ejemplo, usando LDPC basado en protografía) mitiga esto.
Desafíos en FEC Design
A pesar de los notables progresos, siguen existiendo varios desafíos para acercar el rendimiento al límite Shannon:
- ]Rendimiento de longitud de cincoite: Los códigos de capacidad son asintoticos; para longitudes de bloques finitos prácticos, hay una brecha conocida como el régimen de bloqueo definitivo. Los investigadores utilizan aproximación normal para caracterizar las tasas de cómputo alcanzables para un área de propulsión y error.
- Corrección de error: Los canales del mundo real suelen tener errores descompuestos (por ejemplo, desvanecimiento, ruido de impulso). Los códigos tradicionales de la FEC diseñados para errores aleatorios pueden realizar mal. Interleaving spreads estallan, pero aumenta latencia. Nuevos códigos como Los códigos conversos [FLT]
- ]Eficiencia de los conocimientos: A medida que las tasas de datos se elevan a cientos de gigabits por segundo (por ejemplo, 800G Ethernet), el rendimiento de decodificador y el consumo de energía se vuelven críticos. Se necesitan arquitecturas paralelizadas (por ejemplo, decodificación de capas para LDPC), junto con la optimización para ASIC/FPGA.
- ]Integración con capas superiores: Diseño de capas cruzadas, donde FEC interactúa con la asignación de recursos, ARQ y programación, requiere una atadura cuidadosa para evitar la redundancia y realizar ganancias de rendimiento de extremo a extremo.
Future Directions in FEC Research
La corrección de errores sigue evolucionando.
- Corrección de error cuántico: Para hacer posible la computación cuántica tolerante a la falla, se están desarrollando códigos FEC cuánticos (por ejemplo, códigos de superficie, códigos de color). Estos son fundamentalmente diferentes de los códigos clásicos pero toman ideas de la teoría clásica de codificación.
- Aprendizaje de maquina para la decodificación: Decodificadores de redes neuronales, como el desarrollo profundo de la propagación de creencias, muestran la promesa de mejorar el rendimiento cerca de la capacidad, especialmente para códigos cortos. Sin embargo, todavía no son prácticos para sistemas de alto rendimiento.
- Códigos de columna y códigos sin tasa: Estos códigos flexibles se adaptan a las condiciones de canal sin tasas de código fijo, ofreciendo un rendimiento casi óptimo para canales con SNR desconocidos o de tiempo.
- Códigos LDPC no binarios: Al operar sobre campos Galois de mayor orden, los códigos LDPC no binarios pueden proporcionar un rendimiento de cascada más pronunciado y un mejor manejo de modulación de mayor orden, aunque aumenta la complejidad de decodificación.
- Codificación conjunta de canales fuente: En lugar de separar la compresión y corrección de errores, los esquemas conjuntos pueden abordar teóricamente el límite Shannon más de cerca explotando la redundancia residual. Esto es una búsqueda teórica activa.
A medida que comienza la investigación de 6G, FEC tendrá que soportar tasas de datos extremadamente altas (Tbps), comunicaciones de baja resistencia ultra confiables y conectividad masiva tipo máquina. Nuevas familias de códigos, tal vez basados en geometría algebraica o decodificación de listas, pueden emerger.
Conclusión
Corrección de errores de futuro es una piedra angular de la comunicación digital moderna, permitiendo una transmisión de datos fiable a las tarifas que se acercan a los límites fundamentales establecidos por Shannon. Desde códigos simples de regulación en memoria temprana hasta sofisticados códigos de PCL y polares en 5G, FEC ha evolucionado para cerrar la brecha entre capacidad teórica y sistemas prácticos. Mientras persisten los desafíos de complejidad, latencia y el rendimiento de longitud finito, la investigación continuada sigue empujando los límites de los límites de la tecnología de la tecnología de la comunicación.