Los códigos de verificación de paridad de baja densidad ( LDPC ) , también conocidos como códigos de Gallager , son una clase de códigos de corrección de errores propuestos por primera vez en 1960. Junto con los códigos turbo , estrechamente relacionados , han cobrado gran importancia en la teoría de la codificación y la teoría de la información desde finales de la década de 1990. Actualmente, estos códigos se utilizan ampliamente en aplicaciones que van desde las comunicaciones inalámbricas hasta el almacenamiento en memoria flash. Junto con los códigos turbo, impulsaron una revolución en la teoría de la codificación, logrando mejoras de rendimiento de un orden de magnitud en comparación con los códigos de corrección de errores tradicionales. [ 1 ]
Los códigos LDPC fueron concebidos originalmente por Robert G. Gallager en 1960. Gallager diseñó los códigos en su tesis doctoral [ 2 ] en el Instituto Tecnológico de Massachusetts . [ 3 ] [ 4 ] En aquel entonces, los códigos fueron ignorados en gran medida, ya que su algoritmo de decodificación iterativa (a pesar de tener complejidad lineal) era prohibitivamente costoso computacionalmente para el hardware disponible. Volvieron a ganar popularidad a mediados de la década de 1990, tanto porque las mejoras en el hardware los hicieron prácticos como porque proporcionaron una alternativa de alto rendimiento y libre de patentes a los códigos turbo .
Un aspecto fundamental del rendimiento de los códigos LDPC es su adaptabilidad al algoritmo de decodificación iterativo de propagación de creencias . Mediante este algoritmo, pueden diseñarse para aproximarse a los límites teóricos ( capacidades ) de muchos canales [ 5 ] con bajos costos computacionales.
Historia
El renovado interés en los códigos LDPC surgió tras la invención de los códigos turbo estrechamente relacionados (1993), cuyo algoritmo de decodificación iterativo similar superó a otros códigos utilizados en ese momento. Los códigos LDPC fueron redescubiertos posteriormente en 1996. [ 6 ] La preferencia inicial de la industria por los códigos LDPC sobre los códigos turbo se debió a las restricciones relacionadas con las patentes de estos últimos. [ 7 ] Desde su descubrimiento, los avances en los códigos LDPC han hecho que superen a los códigos turbo en términos de umbral de error y rendimiento en el rango de tasas de código más altas , dejando a los códigos turbo más adecuados para las tasas de código más bajas. [ 8 ] Aunque la patente fundamental para los códigos turbo expiró en 2013, [ 9 ] [ 10 ] en muchos casos los códigos LDPC todavía se prefieren por sus méritos técnicos.
El interés teórico en los códigos LDPC también se deriva de su facilidad para el análisis matemático. En su tesis, Gallager demostró que los códigos LDPC alcanzan la cota de Gilbert-Varshamov para códigos lineales sobre campos binarios con alta probabilidad. Sobre el canal de borrado binario , se diseñaron secuencias de código a tasas arbitrariamente cercanas a la capacidad del canal, con una probabilidad de error de decodificación demostrablemente nula y una complejidad de decodificación lineal. [ 11 ] En 2020 se demostró que los códigos LDPC de Gallager alcanzan la capacidad de decodificación de listas y también la cota de Gilbert-Varshamov para códigos lineales sobre campos generales. [ 12 ]
En teoría, el análisis de los códigos LDPC se centra en secuencias de códigos con una tasa de codificación fija y una longitud de bloque creciente . Estas secuencias suelen estar diseñadas para un conjunto de canales. Para secuencias diseñadas adecuadamente, se puede demostrar que el error de decodificación bajo propagación de creencias es prácticamente nulo (tiende a cero con la longitud del bloque) a tasas muy cercanas a la capacidad de los canales. Además, esto se puede lograr con una complejidad lineal respecto a la longitud del bloque.
Este rendimiento teórico es posible gracias a un método de diseño flexible basado en grafos de Tanner dispersos ( grafos bipartitos especializados ). [ 13 ]
Los conjuntos de códigos LDPC también se han analizado utilizando métodos de la física estadística. Murayama, Kabashima, Saad y Vicente estudiaron códigos LDPC regulares a través de una analogía de sistema de espín y el método de réplica, [ 14 ] y trabajos posteriores extendieron este análisis a códigos LDPC sobre campos de Galois . [ 15 ]
Desde 2013, los códigos LDPC también se han propuesto como un medio para corregir errores en computadoras cuánticas, ya que requieren pocos cúbits adicionales para corregir errores, como demostraron Gottesman , la Universidad de Estrasburgo , Alice y Bob , y otros. [ 16 ] [ 17 ] [ 18 ] [ 19 ] Un estudio de 2025 informó sobre códigos cuánticos LDPC-CSS para el canal despolarizador cuántico cuyo rendimiento de decodificación numérica se aproximó al límite de hash , mientras que mantuvo una complejidad de decodificación lineal en el número de cúbits físicos. [ 20 ]
Aplicaciones
En 2003, un código LDPC de estilo de repetición irregular acumulativa (IRA) superó a seis códigos turbo para convertirse en el código corrector de errores en el nuevo estándar DVB-S2 para televisión digital . [ 21 ] La decisión se basó en factores técnicos como la facilidad de paralelización y los umbrales de error, [ 22 ] además del estado libre de patentes de LDPC. [ 23 ]
En 2008, LDPC superó a los códigos turbo convolucionales como sistema de corrección de errores hacia adelante (FEC) para el estándar ITU-T G.hn. [ 24 ] G.hn eligió los códigos LDPC sobre los códigos turbo debido a su menor complejidad de decodificación (especialmente cuando operan a velocidades de datos cercanas a 1,0 Gbit/s) y porque los códigos turbo propuestos exhibieron un nivel de error mínimo significativo en el rango de operación deseado. [ 25 ]
Los códigos LDPC también se utilizan para Ethernet 10GBASE-T , que envía datos a 10 gigabits por segundo a través de cables de par trenzado. Desde 2009, los códigos LDPC también forman parte del estándar Wi-Fi 802.11 como parte opcional de 802.11n y 802.11ac , en la especificación PHY de alto rendimiento (HT). [ 26 ] LDPC es una parte obligatoria de 802.11ax (Wi-Fi 6). [ 27 ]
Algunos sistemas OFDM añaden una corrección de errores externa adicional que corrige los errores ocasionales (el "nivel de error") que superan el código interno de corrección LDPC incluso a bajas tasas de error de bits . Por ejemplo, el código Reed-Solomon con modulación codificada LDPC (RS-LCM) utiliza un código externo Reed-Solomon. [ 28 ] Los estándares DVB-S2, DVB-T2 y DVB-C2 utilizan un código externo BCH para eliminar los errores residuales después de la decodificación LDPC. [ 29 ]
5G NR utiliza código polar para los canales de control y LDPC para los canales de datos. [ 30 ] [ 31 ]
Aunque el código LDPC ha tenido éxito en discos duros comerciales, para aprovechar plenamente su capacidad de corrección de errores en SSD se requiere una detección de memoria flash de grano fino no convencional, lo que conlleva un aumento de la latencia de lectura de memoria. LDPC-in-SSD [ 32 ] es un enfoque eficaz para implementar LDPC en SSD con un aumento de latencia muy pequeño, lo que convierte a LDPC-in-SSD en una realidad. Desde entonces, LDPC ha sido ampliamente adoptado en SSD comerciales, tanto para clientes particulares como para empresas, por los principales proveedores de almacenamiento. Muchos SSD TLC (y posteriores) utilizan códigos LDPC. Primero se intenta una decodificación dura rápida (borrado binario), que puede recurrir a la decodificación suave, más lenta pero más potente. [ 33 ]
Uso operativo
Los códigos LDPC se definen funcionalmente mediante una matriz de verificación de paridad dispersa . Esta matriz dispersa suele generarse aleatoriamente, sujeta a las restricciones de dispersión ; la construcción de códigos LDPC se analiza más adelante . Estos códigos fueron diseñados por primera vez por Robert Gallager en 1960. [ 4 ]
A continuación se muestra un fragmento de grafo de un ejemplo de código LDPC [ 34 ] que utiliza la notación de grafo factorial de Forney . En este grafo, n nodos variables en la parte superior del grafo están conectados a ( n − k ) nodos de restricción en la parte inferior del grafo.
Esta es una forma popular de representar gráficamente un código LDPC ( n , k ). Los bits de un mensaje válido, al colocarse sobre las T en la parte superior del gráfico, cumplen con las restricciones gráficas. Específicamente, todas las líneas que se conectan a un nodo variable (recuadro con el signo "=") tienen el mismo valor, y todos los valores que se conectan a un nodo factor (recuadro con el signo "+") deben sumar cero, módulo dos (es decir, deben sumar un número par, o debe haber un número par de valores impares).

Ignorando las líneas que salen de la imagen, existen ocho posibles cadenas de seis bits que corresponden a palabras clave válidas: (es decir, 000000, 001110, 010111, 011001, 100101, 101011, 110010, 111100). Este fragmento de código LDPC representa un mensaje de tres bits codificado como seis bits. Aquí se utiliza redundancia para aumentar la probabilidad de recuperación ante errores de canal. Se trata de un código lineal (6, 3) , con n = 6 y k = 3.
Ignorando nuevamente las líneas que salen de la imagen, la matriz de verificación de paridad que representa este fragmento de gráfico es
En esta matriz, cada fila representa una de las tres restricciones de verificación de paridad, mientras que cada columna representa uno de los seis bits de la palabra clave recibida.
En este ejemplo, las ocho palabras clave se pueden obtener colocando la matriz de verificación de paridad H en esta forma.mediante operaciones básicas de fila en GF(2) :
Paso 1: H.
Paso 2: La fila 1 se agrega a la fila 3.
Paso 3: Se intercambian las filas 2 y 3.
Paso 4: La fila 1 se añade a la fila 3.
A partir de esto, la matriz generadora G se puede obtener como(teniendo en cuenta que en el caso especial de que se trate de un código binario)), o específicamente:
Finalmente, al multiplicar las ocho posibles cadenas de 3 bits por G , se obtienen las ocho palabras clave válidas. Por ejemplo, la palabra clave para la cadena de bits "101" se obtiene mediante
- ,
dóndees el símbolo de la multiplicación módulo 2.
Como comprobación, el espacio fila de G es ortogonal a H de tal manera que.
La cadena de bits de entrada "101" se encuentra como los primeros 3 bits de la palabra clave "101011", debido a la presencia de la matriz identidad.Los tres últimos bits "011" de la palabra clave son los bits de paridad.
Ejemplo de codificador
Cada bit de todos los mensajes posibles se puede generar mediante la multiplicación directa por la matriz G definida en la sección anterior. Sin embargo, este método rara vez se utiliza en la práctica, donde los códigos se eligen por su facilidad de codificación. En la práctica, esto significa que los bits de entrada se copian directamente a la salida y los bits de verificación se calculan con una serie de codificadores. En teoría, se puede requerir un codificador para cada bit de verificación, pero en la práctica, el costo del hardware se reduce al elegir codificadores que se puedan reutilizar.

Durante la codificación de una trama, los bits de datos de entrada (D) se repiten y se distribuyen a un conjunto de codificadores constituyentes. Estos codificadores suelen ser acumuladores, y cada uno se utiliza para generar un símbolo de paridad. Se transmite una única copia de los datos originales (S 0,K-1 ) junto con los bits de paridad (P) para formar los símbolos de código. Los bits S de cada codificador constituyente se descartan.
El bit de paridad puede utilizarse dentro de otro código constituyente.
En un ejemplo que utiliza el código DVB-S2 de tasa 2/3, el tamaño del bloque codificado es de 64800 símbolos (N=64800) con 43200 bits de datos (K=43200) y 21600 bits de paridad (M=21600). Cada código constituyente (nodo de verificación) codifica 16 bits de datos, excepto el primer bit de paridad, que codifica 8 bits de datos. Los primeros 4680 bits de datos se repiten 13 veces (utilizados en 13 códigos de paridad), mientras que los bits de datos restantes se utilizan en 3 códigos de paridad (código LDPC irregular). [ 35 ]
En comparación, los códigos turbo clásicos suelen utilizar dos códigos constituyentes configurados en paralelo, cada uno de los cuales codifica el bloque de entrada completo (K) de bits de datos. Estos codificadores constituyentes son códigos convolucionales recursivos (RSC) de profundidad moderada (8 o 16 estados) separados por un intercalador de código que intercala una copia de la trama.
En cambio, el código LDPC utiliza muchos códigos constituyentes de baja profundidad (acumuladores) en paralelo, cada uno de los cuales codifica solo una pequeña porción de la trama de entrada. Estos códigos constituyentes pueden considerarse como múltiples códigos convolucionales de baja profundidad (de dos estados) conectados mediante las operaciones de repetición y distribución. Dichas operaciones cumplen la función del entrelazador en el código turbo.
La capacidad de gestionar con mayor precisión las conexiones de los distintos códigos constituyentes y el nivel de redundancia para cada bit de entrada proporciona mayor flexibilidad en el diseño de códigos LDPC, lo que en algunos casos puede resultar en un mejor rendimiento que los códigos turbo. Los códigos turbo parecen seguir funcionando mejor que los LDPC a bajas tasas de codificación, o al menos el diseño de códigos de baja tasa con buen rendimiento es más sencillo para los códigos turbo. [ 36 ] [ 37 ]
En la práctica, el hardware que conforma los acumuladores se reutiliza durante el proceso de codificación. Es decir, una vez que se genera y almacena un primer conjunto de bits de paridad, se utiliza el mismo hardware de acumulador para generar el siguiente conjunto de bits de paridad.
Descodificación
Al igual que con otros códigos, la decodificación de máxima verosimilitud de un código LDPC en el canal binario simétrico es un problema NP-completo , [ 38 ] demostrado por reducción a partir de la correspondencia tridimensional . Por lo tanto, suponiendo que P != NP , lo cual es ampliamente aceptado, realizar una decodificación óptima para un código arbitrario de cualquier tamaño útil no es práctico.
Sin embargo, las técnicas subóptimas basadas en la decodificación iterativa de propagación de creencias ofrecen excelentes resultados y pueden implementarse en la práctica. Estas técnicas de decodificación subóptimas consideran cada comprobación de paridad que compone el LDPC como un código de comprobación de paridad simple (SPC) independiente. Cada código SPC se decodifica por separado utilizando técnicas de entrada y salida suaves (SISO), como SOVA , BCJR , MAP y otras derivadas. La información de decisión suave de cada decodificación SISO se verifica y actualiza con otras decodificaciones SPC redundantes del mismo bit de información. A continuación, cada código SPC se decodifica de nuevo utilizando la información de decisión suave actualizada. Este proceso se itera hasta que se obtiene una palabra clave válida o se agota la decodificación. Este tipo de decodificación se conoce a menudo como decodificación suma-producto.
La decodificación de los códigos SPC se suele denominar procesamiento del "nodo de verificación", y la verificación cruzada de las variables se suele denominar procesamiento del "nodo de variables".
En una implementación práctica de un decodificador LDPC, los conjuntos de códigos SPC se decodifican en paralelo para aumentar el rendimiento.
En cambio, la propagación de creencias en el canal de borrado binario es particularmente sencilla cuando consiste en la satisfacción iterativa de restricciones.
Por ejemplo, consideremos que la palabra clave válida, 101011, del ejemplo anterior, se transmite a través de un canal de borrado binario y se recibe con el primer y cuarto bit borrados, lo que da como resultado ?01?11. Dado que el mensaje transmitido debe haber satisfecho las restricciones del código, el mensaje se puede representar escribiendo el mensaje recibido en la parte superior del gráfico de factores.
En este ejemplo, el primer bit aún no se puede recuperar, ya que todas las restricciones asociadas a él tienen más de un bit desconocido. Para continuar con la decodificación del mensaje, se deben identificar las restricciones asociadas a uno solo de los bits borrados. En este ejemplo, basta con la segunda restricción. Al examinar la segunda restricción, el cuarto bit debe haber sido cero, puesto que solo un cero en esa posición cumpliría la restricción.
Este procedimiento se repite. El nuevo valor del cuarto bit se puede utilizar junto con la primera restricción para recuperar el primer bit, como se muestra a continuación. Esto significa que el primer bit debe ser uno para satisfacer la restricción de la izquierda.

De este modo, el mensaje puede decodificarse iterativamente. En otros modelos de canal, los mensajes que se transmiten entre los nodos variables y los nodos de verificación son números reales que expresan probabilidades y verosimilitudes de creencia.
Este resultado se puede validar multiplicando la palabra clave corregida r por la matriz de verificación de paridad H :
Debido a que el resultado z (el síndrome ) de esta operación es el vector cero de tres × uno, la palabra clave resultante r se valida correctamente.
Una vez completada la decodificación, los bits '101' del mensaje original se pueden extraer observando los primeros 3 bits de la palabra clave.
Si bien este ejemplo de borrado es ilustrativo, no muestra el uso de la decodificación de decisión suave ni el paso de mensajes de decisión suave, que se utilizan en prácticamente todos los decodificadores LDPC comerciales.
Actualizando la información del nodo
A partir de 2010, también se ha dedicado mucho esfuerzo al estudio de los efectos de diferentes esquemas de actualización para nodos variables y nodos de restricción. La técnica original utilizada para decodificar códigos LDPC se conocía como inundación . Este tipo de actualización requería que, antes de actualizar un nodo variable, todos los nodos de restricción debían actualizarse, y viceversa. En trabajos posteriores de Vila Casado et al. , [ 39 ] [ 40 ] se estudiaron técnicas de actualización alternativas, en las que los nodos variables se actualizan con la información más reciente disponible de los nodos de verificación.
La intuición detrás de estos algoritmos es que los nodos variables cuyos valores varían más son los que necesitan actualizarse primero. Los nodos altamente confiables, cuya magnitud de razón de verosimilitud logarítmica (LLR) es grande y no cambia significativamente de una actualización a la siguiente, no requieren actualizaciones con la misma frecuencia que otros nodos, cuyo signo y magnitud fluctúan más ampliamente. [ 40 ] Estos algoritmos de planificación muestran una mayor velocidad de convergencia y menores niveles de error que aquellos que utilizan inundación. Estos menores niveles de error se logran gracias a la capacidad del algoritmo de Planificación Dinámica Informada (IDS) [ 39 ] para superar conjuntos de trampas de palabras clave cercanas. [ 41 ]
Cuando se utilizan algoritmos de planificación sin inundación, se emplea una definición alternativa de iteración. Para un código LDPC ( n , k ) de tasa k / n , se produce una iteración completa cuando se han actualizado n nodos variables y n − k nodos de restricción, independientemente del orden en que se hayan actualizado.
Construcción de códigos
Para bloques de gran tamaño, los códigos LDPC se construyen comúnmente estudiando primero el comportamiento de los decodificadores. A medida que el tamaño del bloque tiende a infinito, se puede demostrar que los decodificadores LDPC tienen un umbral de ruido por debajo del cual la decodificación se logra de manera confiable, y por encima del cual no se logra, [ 42 ] conocido coloquialmente como el efecto acantilado . Este umbral se puede optimizar encontrando la mejor proporción de arcos desde nodos de verificación y arcos desde nodos variables. Un enfoque gráfico aproximado para visualizar este umbral es un diagrama de salida . [ 43 ]
La construcción de un código LDPC específico después de esta optimización se divide en dos tipos principales de técnicas: [ 43 ]
- Enfoques pseudoaleatorios
- Enfoques combinatorios
La construcción mediante un enfoque pseudoaleatorio se basa en resultados teóricos que indican que, para tamaños de bloque grandes, una construcción aleatoria ofrece un buen rendimiento de decodificación. [ 6 ] En general, los códigos pseudoaleatorios tienen codificadores complejos, pero los códigos pseudoaleatorios con los mejores decodificadores pueden tener codificadores simples. [ 44 ] A menudo se aplican diversas restricciones para garantizar que las propiedades deseadas, esperadas en el límite teórico de tamaño de bloque infinito, se produzcan con un tamaño de bloque finito. [ 43 ]
Se pueden utilizar enfoques combinatorios para optimizar las propiedades de los códigos LDPC de tamaño de bloque pequeño o para crear códigos con codificadores simples.
Algunos códigos LDPC se basan en códigos Reed-Solomon , como el código RS-LDPC utilizado en el estándar Ethernet de 10 Gigabit . [ 45 ] En comparación con los códigos LDPC generados aleatoriamente, los códigos LDPC estructurados, como el código LDPC utilizado en el estándar DVB-S2 , pueden tener un hardware más simple y, por lo tanto, de menor costo; en particular, los códigos construidos de tal manera que la matriz H sea una matriz circulante . [ 46 ]
Otra forma de construir códigos LDPC es mediante el uso de geometrías finitas . Este método fue propuesto por Y. Kou et al. en 2001. [ 47 ]
En comparación con los códigos turbo
Los códigos LDPC se pueden comparar con otros esquemas de codificación potentes, por ejemplo, los códigos turbo . [ 48 ] Por un lado, el rendimiento BER de los códigos turbo está influenciado por las limitaciones de los códigos bajos. [ 49 ] Los códigos LDPC no tienen limitaciones de distancia mínima, [ 50 ] lo que indirectamente significa que los códigos LDPC pueden ser más eficientes en tasas de código relativamente altas (por ejemplo, 3/4, 5/6, 7/8) que los códigos turbo. Sin embargo, los códigos LDPC no son un reemplazo completo: los códigos turbo son la mejor solución en las tasas de código más bajas (por ejemplo, 1/6, 1/3, 1/2). [ 36 ] [ 37 ]
Véase también
Gente
Teoría
Aplicaciones
- G.hn/G.9960 (Estándar ITU-T para redes a través de líneas eléctricas, líneas telefónicas y cable coaxial)
- 802.3an o 10GBASE-T (Ethernet de 10 gigabits/s sobre par trenzado)
- CMMB (Transmisión móvil multimedia de China)
- DVB-S2 / DVB-T2 / DVB-C2 (televisión digital de vídeo, segunda generación)
- DMB-T/H (radiodifusión de vídeo digital) [ 51 ]
- WiMAX (estándar IEEE 802.16e para comunicaciones por microondas)
- IEEE 802.11n-2009 ( estándar Wi-Fi )
- DOCSIS 3.1
- ATSC 3.0 (Radiodifusión terrestre digital de próxima generación en Norteamérica)
- 3GPP (canal de datos 5G-NR)
Otros códigos que se aproximan a la capacidad
- Códigos de fuente
- Códigos LT
- Códigos en línea
- Códigos Raptor
- Códigos de repetición-acumulación (una clase de códigos turbo simples)
- Códigos convolucionales concatenados en serie
- Códigos Tornado (códigos LDPC diseñados para la decodificación por borrado )
- Códigos turbo
Códigos de logro de capacidad
Hasta ahora solo existe una capacidad para lograr el código mediante diseño y prueba.
Referencias
- ↑ "Códigos Turbo explicados: historia, ejemplos y aplicaciones - IEEE Spectrum" . spectrum.ieee.org . Consultado el 18 de diciembre de 2024 .
- ↑ Gallager, Robert G. (1960). Códigos de verificación de paridad de baja densidad (PDF) (tesis doctoral). Instituto Tecnológico de Massachusetts.
- ↑ Hardesty, L. (21 de enero de 2010). "Explicación: Códigos Gallager" . MIT News . Consultado el 7 de agosto de 2013 .
- 1 2 Gallager, RG (enero de 1962). "Códigos de verificación de paridad de baja densidad". IRE Trans. Inf. Theory . 8 (1): 21– 28. doi : 10.1109/TIT.1962.1057683 . hdl : 1721.1/11804/32786367-MIT . S2CID 260490814 .
- ↑ Richardson, TJ; Shokrollahi, MA; Urbanke, RL (2001). "Diseño de códigos de paridad de baja densidad irregulares que se aproximan a la capacidad" . IEEE Transactions on Information Theory . 47 (2): 619– 637. Bibcode : 2001ITIT...47..619R . doi : 10.1109/18.910578 .
- 1 2 MacKay, David JC ; Neal, Radford M (1996). "Rendimiento cercano al límite de Shannon de códigos de verificación de paridad de baja densidad" (PDF) . Electronics Letters . 32 (18). IET: 1645– 1646. Bibcode : 1996ElL....32.1645M . doi : 10.1049/el:19961141 .
- ↑ Erico Guizzo (1 de marzo de 2004). "ACERCÁNDOSE AL CÓDIGO PERFECTO" . IEEE Spectrum . Archivado del original el 2 de septiembre de 2021."Otra ventaja, quizás la más importante de todas, es que las patentes de LDPC han expirado, por lo que las empresas pueden utilizarlas sin tener que pagar por los derechos de propiedad intelectual."
- ↑ Decodificación de datos de telemetría, manual de diseño
- ↑ US 5446747
- ↑ Mackenzie, D. (9 de julio de 2005). "La velocidad de comunicación se acerca a la velocidad terminal". New Scientist .
- ↑ Richardson, TJ; Shokrollahi, MA; Urbanke, RL (2001). "Diseño de códigos de paridad de baja densidad irregulares que se aproximan a la capacidad" . IEEE Transactions on Information Theory . 47 (2): 619– 637. Bibcode : 2001ITIT...47..619R . doi : 10.1109/18.910578 .
- ↑ Mosheiff, J.; Resch, N.; Ron-Zewi, N.; Silas, S.; Wootters, M. (2020). "Los códigos de verificación de paridad de baja densidad alcanzan la capacidad de decodificación de listas". SIAM Journal on Computing . 53 (FOCS 2020): 38–73 . arXiv : 1909.06430 . doi : 10.1137/20M1365934 . S2CID 244549036 .
- ↑ Amin Shokrollahi, Códigos LDPC: Una introducción (PDF) , archivado del original (PDF) el 17 de mayo de 2017.
- ↑ Murayama, Tatsuto; Kabashima, Yoshiyuki; Saad, David; Vicente, Renato (agosto de 2000). "Física estadística de códigos correctores de errores de verificación de paridad de baja densidad regulares". Physical Review E. 62 ( 2): 1577–1591 . arXiv : cond-mat/0003121 . Bibcode : 2000PhRvE..62.1577M . doi : 10.1103/PhysRevE.62.1577 .
- ↑ Nakamura, Kazutaka; Kabashima, Yoshiyuki; Saad, David (noviembre de 2001). "Mecánica estadística de códigos correctores de errores de verificación de paridad de baja densidad sobre campos de Galois". Europhysics Letters . 56 (4): 610– 616. arXiv : cond-mat/0010073 . Bibcode : 2001EL.....56..610N . doi : 10.1209/epl/i2001-00564-y .
- ↑ Gottesman, Daniel (2014). "Computación cuántica tolerante a fallos con sobrecarga constante" . Quantum Information and Computation . 14 ( 15–16 ). Rinton Press: 1338–1371 . Bibcode : 2014QuInf..14.1338G . doi : 10.26421/QIC14.15-16-5 . ISSN 1533-7146 .
- ↑ Breuckmann, Nikolas P.; Eberhardt, Jens Niklas (11 de octubre de 2021). "Códigos de verificación de paridad cuánticos de baja densidad". PRX Quantum . 2 (4) 040101. arXiv : 2103.06309 . Bibcode : 2021PRXQ....2d0101B . doi : 10.1103/PRXQuantum.2.040101 . ISSN 2691-3399 .
- ↑ Ruiz, Diego; Guillaud, Jérémie; Leverrier, Anthony; Mirrahimi, Mazyar; Vuillot, Christophe (26 de enero de 2025). "Códigos LDPC-cat para computación cuántica de baja sobrecarga en 2D". Nature Communications . 16 (1) 1040. arXiv : 2401.09541 . Bibcode : 2025NatCo..16.1040R . doi : 10.1038/s41467-025-56298-8 . ISSN 2041-1723 . PMID 39863608 .
- ↑ Pecorari, Laura; Jandura, Sven; Brennen, Gavin K.; Pupillo, Guido (28 de enero de 2025). "Códigos LDPC cuánticos de alta tasa para registros de átomos neutros conectados a largo alcance" . Nature Communications . 16 (1) 1111. arXiv : 2404.13010 . Bibcode : 2025NatCo..16.1111P . doi : 10.1038/s41467-025-56255-5 . ISSN 2041-1723 . PMC 11775376. PMID 39875382 .
- ↑ Komoto, Daiki; Kasai, Kenta (2025). "Corrección de errores cuánticos cerca del límite teórico de codificación" . npj Quantum Information . 11 154. doi : 10.1038/s41534-025-01090-1 .
- ↑ Presentación de Hughes Systems archivada el 8 de octubre de 2006 en Wayback Machine.
- ↑ Eroz, Mustafa; Sun, Feng-Wen; Lee, Lin-Nan (2004). "Códigos de verificación de paridad de baja densidad DVB-S2 con rendimiento cercano al límite de Shannon". International Journal of Satellite Communications and Networking . 22 (3). Wiley: 269– 279. doi : 10.1002/sat.787 .
- ↑ Gupta, Sudhir Kumar (2014). "Revisión del sistema DVB-S2 y su codificación LDPC" (PDF) . Revista Internacional de Investigación y Tecnología . 2 (1): 118– 121.Los códigos LDPC pueden alcanzar un mayor rendimiento que los códigos turbo, si se permiten arquitecturas de decodificación paralela. Además, los códigos turbo están patentados, mientras que los códigos LDPC no lo están.
- ↑ Inicio Blog de PNA: G.hn, un físico para todas las estaciones
- ↑ Artículo de la revista IEEE Communications Magazine sobre G.hn. Archivado el 13 de diciembre de 2009 en Wayback Machine.
- ↑ Norma IEEE, sección 20.3.11.6 "802.11n-2009" , IEEE, 29 de octubre de 2009, consultada el 21 de marzo de 2011.
- ↑ "IEEE SA - IEEE 802.11ax-2021" . Asociación de Estándares IEEE . Consultado el 22 de mayo de 2022 .
- ^ Chih-Yuan Yang, Mong-Kai Ku. http://123seminarsonly.com/Seminar-Reports/029/26540350-Ldpc-Coded-Ofdm-Modulation.pdf "Modulación OFDM codificada LDPC para transmisión de alta eficiencia espectral"
- ↑ Nick Wells. "DVB-T2 en relación con la familia de estándares DVB-x2". Archivado el 26 de mayo de 2013 en Wayback Machine.
- ↑ "Codificación de canales 5G" (PDF) . Archivado del original (PDF) el 6 de diciembre de 2018. Consultado el 6 de enero de 2019 .
- ↑ Maunder, Robert (septiembre de 2016). "Una visión para la codificación de canales 5G" (PDF) . Archivado del original (PDF) el 6 de diciembre de 2018. Recuperado el 6 de enero de 2019 .
- ↑ Kai Zhao; Wenzhe Zhao; Hongbin Sun; Tong Zhang; Xiaodong Zhang; Nanning Zheng (2013). LDPC-in-SSD: Cómo lograr que los códigos de corrección de errores avanzados funcionen eficazmente en unidades de estado sólido (PDF) . FAST' 13. págs. 243–256 .
- ↑ "Decodificación suave en controladores SSD basados en LDPC" . EE Times . 2015.
- ↑ Martinian, Emin; Yedidia, Jonathan S. (2003). "Cuantización iterativa mediante códigos en grafos" (PDF) . Actas de la 41.ª Conferencia Anual Allerton sobre Comunicación, Control y Computación . Monticello, IL: Universidad de Illinois en Urbana-Champaign.
- ↑ Yadav, MK; Parhi, KK (2005). "Diseño e implementación de códigos LDPC para DVB-S2". Actas de la Trigésimo Novena Conferencia de Asilomar sobre Señales, Sistemas y Computadoras . Pacific Grove, CA, EE. UU.: IEEE. págs. 723–728 .
- 1 2 Andrews, Kenneth S., et al. "El desarrollo de códigos turbo y LDPC para aplicaciones en el espacio profundo." Proceedings of the IEEE 95.11 (2007): 2142-2156.
- 1 2 Hassan, AES, Dessouky, M., Abou Elazm, A. y Shokair, M., 2012. Evaluación de la complejidad frente al rendimiento para el código turbo y LDPC bajo diferentes tasas de código . Proc. SPACOMM, pp.93-98.
- ↑ Robert McEliece, ER Berlekamp y H. Van Tilborg (1978). "Sobre la intratabilidad inherente de ciertos problemas de codificación" . IEEE Trans. Inf. Theory . IEEE: 384–386 . doi : 10.1109/TIT.1978.1055873 .
- 1 2 Casado, AIV; Griot, M.; Wesel, RD (2007). Informed Dynamic Scheduling for Belief-Propagation Decoding of LDPC Codes . 2007 IEEE International Conference on Communications, Glasgow, Reino Unido. pp. 932– 7. arXiv : cs/0702111 . doi : 10.1109/ICC.2007.158 .
- 1 2 Vila Casado, Andrés I.; Griot, Miguel; Wesel, Richard D. (diciembre de 2010). "Decodificadores LDPC con programación dinámica informada". IEEE Transactions on Communications . 58 (12): 3470– 3479. doi : 10.1109/TCOMM.2010.101910.070303 .
- ↑ Richardson, T. (octubre de 2003). "Error floors of LDPC codes" (PDF) . Actas de la Conferencia Anual de Allerton sobre Control de Comunicaciones e Informática . 41 (3): 1426– 35. ISSN 0732-6181 .
- ↑ Richardson, TJ; Shokrollahi, MA; Urbanke, RL (febrero de 2001). "Diseño de códigos de verificación de paridad irregulares de baja densidad que se aproximan a la capacidad" . IEEE Transactions on Information Theory . 47 (2): 619– 637. Bibcode : 2001ITIT...47..619R . doi : 10.1109/18.910578 .
- 1 2 3 Paul H. Siegel. "Introducción a los códigos de verificación de paridad de baja densidad" (PDF) . Ingeniería eléctrica e informática, Universidad de California, San Diego.
- ↑ Richardson, TJ; Urbanke, RL (febrero de 2001). "Codificación eficiente de códigos de verificación de paridad de baja densidad" . IEEE Transactions on Information Theory . 47 (2): 638– 656. Bibcode : 2001ITIT...47..638R . doi : 10.1109/18.910579 .
- ↑ Ahmad Darabiha, Anthony Chan Carusone, Frank R. Kschischang. "Técnicas de reducción de potencia para decodificadores LDPC"
- ↑ Zhang, Z.; Anantharam, V.; Wainwright, MJ; Nikolic, B. (abril de 2010). "Diseño eficiente de un decodificador LDPC Ethernet 10GBASE-T con bajos niveles de error" (PDF) . IEEE Journal of Solid-State Circuits . 45 (4): 843– 855. Bibcode : 2010IJSSC..45..843Z . doi : 10.1109/JSSC.2010.2042255 . S2CID 10431486 .
- ↑ Kou, Y.; Lin, S.; Fossorier, MPC (noviembre de 2001). "Códigos de verificación de paridad de baja densidad basados en geometrías finitas: un redescubrimiento y nuevos resultados". IEEE Transactions on Information Theory . 47 (7): 2711– 36. Bibcode : 2001ITIT...47.2711K . CiteSeerX 10.1.1.100.3023 . doi : 10.1109/18.959255 .
- ↑ Tahir, B.; Schwarz, S.; Rupp, M. (2017). Comparación de BER entre códigos convolucionales, turbo, LDPC y polares . 24.ª Conferencia Internacional de Telecomunicaciones (ICT) de 2017, Limassol, Chipre. pp. 1–7 . doi : 10.1109/ICT.2017.7998249 .
- ↑ Moon Todd, K. (2005). Codificación de corrección de errores: métodos y algoritmos matemáticos . Wiley. pág. 614. ISBN 0-471-64800-0.
- ↑ Moon Todd 2005 , pág. 653
- ↑ Dill, Jeffery; Li, Huanlin (27 de junio de 2011). Cao, Yanyan (ed.). «Estudios sobre la reducción de los límites de error de los códigos LDPC de longitud finita» . IEEE . Universidad de Ohio, Ingeniería Eléctrica (Ingeniería y Tecnología). Archivado del original el 12 de diciembre de 2009.
Enlaces externos
- Introducción a los códigos de verificación de paridad de baja densidad (por Sarah J Johnson, 2010)
- Códigos LDPC: un breve tutorial (por Bernhard Leiner, 2005)
- Códigos LDPC (TU Wien) Archivados el 28 de febrero de 2019 en Wayback Machine .
- MacKay, David JC (25 de septiembre de 2003). «47. Códigos de verificación de paridad de baja densidad» . Teoría de la información, inferencia y algoritmos de aprendizaje . Cambridge University Press. págs. 557–573 . ISBN 978-0-521-64298-9.
- Guruswami, Venkatesan (2006). "Decodificación iterativa de códigos de verificación de paridad de baja densidad". arXiv : cs/0610022 .
- Códigos LDPC: Una introducción (por Amin Shokrollahi, 2003)
- Decodificación de códigos LDPC mediante la propagación de creencias (por Amir Bennatan, Universidad de Princeton)
- Códigos Turbo y LDPC: Implementación, simulación y estandarización (Universidad de Virginia Occidental)
- Teoría de la información y codificación (Marko Hennhöfer, 2011, TU Ilmenau) : se analizan los códigos LDPC en las páginas 74-78.
- Códigos LDPC y resultados de rendimiento
- Enlace DVB-S.2, incluyendo codificación LDPC (MatLab)
- El código fuente para codificar, decodificar y simular códigos LDPC está disponible en varios lugares:
- Detección y corrección de errores
- Teoría de la codificación
- Códigos que se aproximan a la capacidad