Este trabajo presenta el análisis de las estructuras y características de\ndesempeño de los códigos LDPC (Low-Density Parity-Check Codes), los\ncuales son una clase de códigos lineales de bloque que proporcionan un\nrendimiento cercano a la Capacidad utilizando decodificación iterativa.\nEn principio se presenta la idea general de un sistema de comunicaciones\ny por medio de un diagrama de bloques se muestra cómo está\nconformado tal sistema. Después se sigue con la explicación del concepto\nde codificación y la razón por la cual se necesita de ésta para la\ntransmisión o almacenamiento de información. Además se dan las\ndefiniciones de algunos parámetros utilizados en este campo, incluyendo\nel gran aporte de Shannon con sus teoremas.\nPosteriormente se realiza una revisión general de las familias de códigos\nde corrección de error presentes en la literatura, definiendo sus\nestructuras y diferencias. Luego de esta revisión se da una introducción a\nlos códigos LDPC, en donde se explica la forma de codificación y los\ndistintos algoritmos de decodificación para estos códigos.\nFinalmente, se realiza el análisis del tipo de códigos LDPC basados en\narreglos y se muestran los resultados de las simulaciones realizadas. Se\npresenta la definición del fenómeno de error-floor y conjuntos absorbentes\nlos cuales afectan el rendimiento de los códigos LDPC en las regiones de\nbajo BER (Bit-Error Rate). Se estudia el efecto de la cuantización en el\nrendimiento de los decodificadores de los códigos LDPC basados en\narreglos. Así mismo, basados en el estudio anterior se analiza el resultado\nde la variación de los pesos de las columnas de las matrices de\ncomprobación de paridad para dichos códigos.\nAl final de la tesis se incluyen los códigos de los programas realizados,\njunto con una breve descripción de ellos, y se detalla un programa\ninteractivo basado en MatLab para la enseñanza de comunicaciones\ndigitales.
En esta tesis se presentan los resultados de una serie de experimentos opticos en los que se ejecutan algoritmos de comunicaciones cuanticas para realizar Distribucion Cuantica de Claves(DCC) criptograficas con estados coherentes de muy baja intensidad. Especificamente, se estudia la implementacion de esquemas practicos y robustos de DCC, con especial interes en sistemas basados en fibra optica. A diferencia de las comunicaciones por aire, este medio permite transmitir estados cuanticos con bajisimas atenuaciones y minimas perturbaciones externas, utilizando instrumental comercialmente disponible y de bajo costo, incluso para distancias de decenas de kilometros. Los protocolos de DCC estudiados codifican informacion clasica (bits) en estados cuanticos preparados sobre distintos grados de libertad discretos de sistemas fisicos. En el trabajo se exploran implementaciones que explotan la polarizacion y los modos temporales discretos de luz (time-bin). En ambos casos, fue necesario desarrollar y familiarizarse con tecnologias especificas para la preparacion, transmision y deteccion de dichos estados cuanticos. El problema de transmitir estados cuanticos en fibra de forma eficiente y robusta se ataco con dos estrategias. Por un lado, utilizando el grado de libertad de polarizacion y, por otro, modos temporales discretos de luz. En el primer caso, se codificaron los estados en el grado de libertad de polarizacion, que es facilmente accesible. Sin embargo, este es muy sensible a perturbaciones, por lo que para asegurar la robustez se incorporo un sistema de estabilizacion activa del Estado de Polarizacion(SOP, por su sigla en ingles). Con este esquema se implementaron dos variantes de un protocolo clasico de DCC, llamado BB84, utilizando la polarizacion de pulsos de luz para codificar los estados cuanticos. Esto requirio el desarrollo de una fuente de pulsos tenues de luz basada en un laser DFB en el rango de las telecomunicaciones, con un modulador de intensidad externo por electroabsorcion. Se diseno un sistema de estabilizacion de la polarizacion robusto que permite compensar de forma automatica las perturbaciones que genera la birrefringencia de la fibra sobre el estado de polarizacion. El sistema esta basado en controladores de polarizacion comerciales y electronica de control disenada especificamente, y puede ser adaptado facilmente a cualquier protocolo de comunicacion por fibra. En este sentido, se realizo una implementacion del protocolo BB84 y una variante llamada BB84E, que requiere la utilizacion de los seis estados de un conjunto completo de bases mutuamente no sesgadas para la polarizacion. En el segundo caso, se ensayo una codificacion mas sofisticada y resistente a perturbaciones, que implico enfrentar una serie de desafios tecnologicos, pero que se presenta como una alternativa practica y escalable en distancia de transmision y velocidad. Se propuso un esquema hibrido de DCC basado en un protocolo de referencia de fase distribuida con comunicacion bidireccional (Plug & Play), ambas tecnologias desarrolladas para trabajar especificamente en fibra optica, en un esquema con economia de recursos y distribucion tipo servidor-cliente. Asi, se obtuvo una configuracion en donde tanto el instrumental como las operaciones sobre los estados mas sensibles del protocolo se encuentran concentradas en una de las partes (servidor), mientras que los requerimientos sobre la otra parte involucrada en la comunicacion son minimos. Esta alternativa combina diferentes caracteristicas deseables en una implementacion practica de DCC, como la simplicidad y la robustez. El esquema propuesto codifica estados cuanticos en modos temporales discretos de luz. Esto requirio el desarrollo de dispositivos especificos para preparar y medir estos estados, basados en interferometros de fibra optica que no demanden estabilizacion activa. Otra de las premisas fue la independencia de funcionamiento del estado de polarizacion, que se logra a partir de la incorporacion de rotadores de Faraday en diferentes partes del esquema empleado. Por ultimo, debido al tipo de codificacion y al sistema de sincronizacion utilizados, este esquema es adaptable a tasas de transmision en el rango de los MHz. De los experimentos de DCC mencionados se desprenden una serie de desarrollos y pruebas de laboratorio adicionales, que son relevantes por si mismos. Entre ellos figuran la estabilizacion activa de interferometros de Mach-Zehnder en fibra y el estudio de esquemas experimentales alternativos para el protocolo hibrido de DCC propuesto. Tambien se puede destacar la puesta a punto de un prototipo autonomo de DCC en aire y su adaptacion para obtener un protocolo que distingue mezclas computables (pseudoaleatorias) de estados cuanticos. Este es un tema de interes para el procesamiento cuantico de la informacion en general. Las tecnicas abordadas y el know-how adquirido permiten entender y superar distintos problemas particulares de la utilizacion de estados cuanticos en comunicaciones por fibra optica. Ademas, estos desarrollos tienen la capacidad de ser empleados tanto en ensayos de DCC que excedan el ambito del laboratorio, como en un contexto mas amplio que permita implementar otros protocolos de comunicacion cuantica usando fibras opticas de telecomunicaciones como canal cuantico.
[ES] La computación cuántica aprovecha las propiedades físicas de los qubits, como la superposición y el entrelazamiento, para obtener mayor rendimiento y capacidad de cómputo. Sin embargo, los qubits son intrínsecamente inestables y se degradan con rapidez, lo cual se conoce como decoherencia. Dicho efecto hace que los qubits se vuelvan más sensibles al ruido ambiental. La corrección cuántica de errores (QEC) es fundamental para detectar y corregir errores en tiempo real, ya que los retrasos pueden provocar fallos irreversibles en los cálculos. El escaso margen de tiempo disponible exige algoritmos de descodificación de baja latencia. Esta tesis busca estudiar la viabilidad de la implementación del decodificador de programación lineal basada en síndromes (SB-LP) para códigos cuánticos de verificación de paridad de baja densidad (QLDPC) explorando diferentes enfoques que aceleran su funcionamiento en plataformas hardware adecuadas para la decodificación en tiempo real en sistemas de computación cuántica tolerantes a fallos utilizando síntesis de alto nivel (HLS) en el entorno AMD. En primer lugar, el algoritmo se implementará en MATLAB para una mejor comprensión del mismo. Posteriormente, se traducirá a una implementación de software en C/C++ como transición para, en última instancia, implementarlo en hardware optimizado, haciendo hincapié en el paralelismo y la segmentación para reducir la latencia de descodificación. Las optimizaciones clave incluyen la segmentación y el paralelismo basado en el flujo de datos para explotar las capacidades de la FPGA.
En este trabajo se propone la decodificación de Códigos Low Density Parity Check (LDPC) mediante un decodificador que utiliza una combinación de Algorimos Genéticos (GA, Genetic Algorithms) con Lógica Mayoritaria. La selección de GA obedece a la capacidad de los mismos para resolver problemas de optimización complejos, basándose en principios de la evolución natural de una población cuyos individuos se evalúan de acuerdo a una función de ajuste. El tipo de decodificación propuesto en este trabajo ha arrojado valores de Probabilidad Binaria de Error (BER, Bit Error Rate) comparables con la comportamiento del algoritmo tradicional de decodificación suma-producto para un canal de comunicaciones inalámbricas. La ventaja adicional de la decodificación propuesta frente a la tradicional es que no precisa conocer información de la relación Señal a Ruido en el canal.
Se usan los códigos convolucionales extensivamente en las telecomunicaciones, en parte por la facilidad en que corrigen errores y en parte por la existencia de algoritmos rápidos de descodificación. Un código convolucional binario utiliza una matriz
rtimesn binaria (las entradas son ceros o unos) y una secuencia de bits
x0,x1,x2,ldots que corresponde al mensaje por enviar. Sean
ui=(xi,xi+1,ldots,xi+r) vectores de longitud
r, y
vi=uiG vectores de longitud
n. Observamos que todos los cálculos se hacen módulo
2. Se envian los vectores
v0,vk,v2k,ldots, donde
k es un número entre
1 y
r−1. Supongamos que se reciben los vectores
wi=vi+ei, donde
ei es el error que ha ocurrido durante la transmisión. El algoritmo de Viterbi considera todas las posibilidades de descodificación y cuando empiezan a ocurrir errores se siguen todas las posibilidades hasta un límite de errores fijado. Se rechazan los caminos que llevan demasiados errores y se sigue hasta que se hayan rechazado todos los caminos excepto uno. Las matrices
G que se usan en la práctica han sido elegidas heurísticamente. O sea,se han probado varias matrices
G y se han elegido las matrices que son las más fiables para corregir errores. En esta propuesta, se propone encontrar una manera de predecir cuantos errores (dependiendo de alguna distribución de probabilidad) se pueden corregir utilizando una matriz determinada. Se sabe que para los códigos de bloques de longitud
n y distancia mínima
d se corrigen hasta
lfloorfracd−12rfloor errores en cada
n bits de una palabra con probabilidad
1. Nos gustaría hallar matrices
G con la siguiente propiedad. Cuando un error ocurre, el número de errores en una posible (pero incorrecta) descodificación crece rápido, y por lo tanto, se puede descartar en poco tiempo. Sea
G una matriz
rtimesn de rango
n. Si
xG=yG y la distancia entre
x y
y es grande, y además
x corresponde a la codificación que queremos descodificar, escogiendo la descodificación de
y se espera que el número de errores crezca rápido. Por lo tanto, puede que sea deseable utilizar matrices
G con la propiedad que
uG=0 implica que
u tiene peso grande. (Si
xG=yG entonces
(x−y)G=0 y por lo tanto la distancia entre
x y
y es grande.) Sea
H la matrix
(r−n)timesr con la propiedad
HG=0. Queremos probar matrices
G para las cuales la matriz
H tiene la propiedad que los vectores del subespacio generado por las filas de
H no tienen peso peque\\~no. {\\bf Primer Objetivo} Escribir un programa que nos deja probar la hipótesis. Sea
G una matriz binario
10times5. \\\\ Generar secuencia
v de
100 bits, a\\~nadiendo 10 bits de ceros al inicio y al final de la secuencia. Sea
k=3. De los 120 bits generamos
5times120/3=200 bits (por lo tanto la tasa de información es
100/200=1/2.) Genera una secuencia
e de 200 bits de peso
Bin(200,frac110) de errores. Descodifica
v+e con el algoritmo de Viterbi rechazando caminos que llevan más de dos/tres errores. Comprueba la descodificación. Aplica el progama 30 veces para una matriz aleatoria
G de rango
5 y una matriz
G que es una matriz comprobadora de paridad para un código bloque de longitud
10, dimensión
5 y distancia mínima
4. {\\bf Segundo Objetivo} Análisis de los datos obtenidos para ver si en la práctica es mejor utilizar matrices
G que son matrices comprobadoras de paridad para códigos de bloques. Análisis de los datos para predecir cuantos errores se pueden corregir (depende de una probabilidad) utilizando una matriz determinada.
La corrección cuántica de errores constituye una condición esencial para construir computadores cuánticos capaces de ejecutar algoritmos largos y fiables. A diferencia de la corrección clásica, debe proteger estados cuánticos sin medir directamente ni destruir la información codificada, mediante redundancia, mediciones de síndrome y decodificación. El objetivo de este artículo es revisar el estado del arte entre 2020 y 2026, considerando códigos de superficie, códigos cuánticos de baja densidad de paridad (qLDPC), códigos bosónicos, decodificadores y circuitos dinámicos, así como su relación con aplicaciones prácticas. Se desarrolló una revisión narrativa de literatura científica y fuentes institucionales, con énfasis en resultados experimentales recientes y en las limitaciones que separan las demostraciones de memoria lógica de la ejecución de algoritmos útiles a gran escala. La literatura muestra avances en operación por debajo del umbral, reducción de errores lógicos al aumentar la distancia del código, decodificación en tiempo real y arquitecturas alternativas que buscan reducir el costo físico. Sin embargo, persisten desafíos relacionados con errores correlacionados, fuga de estados computacionales, conectividad, latencia, recursos para puertas lógicas tolerantes a fallos y escalabilidad. Las aplicaciones más prometedoras incluyen simulación cuántica, química y materiales, optimización y criptografía, aunque la corrección de errores no demuestra por sí sola una ventaja práctica en esas tareas. Se concluye que el progreso debe evaluarse por la calidad de los qubits lógicos, el costo total de recursos y la ejecución fiable de circuitos completos, no solo por el número de qubits físicos.