[go: up one dir, main page]

MX2008003922A - Conjunto de codigos irregulares de comprobacion de de paridad de baja densidad (ldpc) con escritura aleatoria codificacion.de baja complejidad. - Google Patents

Conjunto de codigos irregulares de comprobacion de de paridad de baja densidad (ldpc) con escritura aleatoria codificacion.de baja complejidad.

Info

Publication number
MX2008003922A
MX2008003922A MX2008003922A MX2008003922A MX2008003922A MX 2008003922 A MX2008003922 A MX 2008003922A MX 2008003922 A MX2008003922 A MX 2008003922A MX 2008003922 A MX2008003922 A MX 2008003922A MX 2008003922 A MX2008003922 A MX 2008003922A
Authority
MX
Mexico
Prior art keywords
code
matrix
block
column
component
Prior art date
Application number
MX2008003922A
Other languages
English (en)
Inventor
Quentin Spencer
Original Assignee
Distrib Control Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Distrib Control Systems Inc filed Critical Distrib Control Systems Inc
Publication of MX2008003922A publication Critical patent/MX2008003922A/es

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Un conjunto de códigos irregulares LDPC tiene una estructura pseudo-aleatoria y una codificación de baja complejidad. Un código LDPC cíclico de bloque tiene una ponderación irregular de hilera o columna e incluye una matriz de comprobación de paridad y una matriz de codificación, cada una de las cuales tiene una estructura pseudo-aleatoria. Esto permite que el código tenga una ponderación irregular de hilera o columna junto con un grado aleatorio total para la estructura de código. Los bloques dentro del código pueden ser recortados, los bloques adyacentes de código pueden ser superpuestos, y las columnas adyacentes dentro de un bloque pueden ser permutadas de manera arbitraria a fin de cambiar la ponderación de las hileras y columnas. Los códigos LDPC son útiles, de manera particular, el sistema de comunicaciones de dos vías para un sistema de distribución eléctrica (1) a fin de restaurar los datos perdidos o corruptos durante su transmisión.

Description

CONJUNTO DE CODIGOS IRREGULARES DE COMPROBACION DE PARIDAD DE BAJA DENSIDAD (LDPC) CON ESTRUCTURA ALEATORIA Y CODIFICACION DE BAJA COMPLEJIDAD Campo de la Invención Esta invención se refiere a la clase de códigos de corrección de error que son conocidos como códigos de comprobación de paridad de baja densidad (LDPC, por sus siglas en inglés), y de manera más particular, a un conjunto de códigos cuyas matrices de comprobación de paridad tienen una ponderación irregular de hilera o columna, o ambas, y tienen una estructura pseudo-aleatoria . El uso de estos códigos tiene ventajas particulares para un sistema de comunicación de dos vías que es empleado en una red de distribución de energía eléctrica.
Antecedentes de la Invención Es bien conocido en la técnica la codificación de la información que es transmitida a través de canales de comunicación digital que permita la detección y/o corrección de errores a través del receptor. Varias técnicas son empleadas para agregar redundancia a un mensaje transmitido. Los códigos de comprobación de paridad son un tipo de código en donde la información redundante es derivada del mensaje REF. 191390 mediante la realización de sumas o comprobaciones de paridad en base a los bits del mensaje. Los errores en la transmisión pueden ser detectados mediante la repetición de estas sumas en el receptor, y mediante la comparación de los resultados con las comprobaciones de paridad calculadas por el transmisor. Si fuera encontrado que la información ha sido corrompida o perdida, algunos tipos de códigos de comprobación de paridad que tienen procedimientos de decodificación permiten que el receptor corrija los errores introducidos por el canal o que se restaure lo que ha sido perdido. Para este propósito, existe disponible un número de códigos de comprobación de paridad, cada uno de los cuales tiene ciertas ventajas con respecto a otros códigos. La investigación reciente ha encontrado que los códigos de comprobación de paridad cuyas comprobaciones de paridad son relativamente dispersas, es decir, cada bitio de comprobación de paridad es una suma de relativamente algunos bits de mensaje, que se realizan particularmente bien con los métodos de decodificación iterativa. Estos códigos son conocidos como códigos de comprobación de paridad de baja densidad o códigos LDPC. A diferencia de la mayoría de los códigos de comprobación de paridad, los códigos LDPC son descritos principalmente por sus matrices de comprobación de paridad o de decodificación, más que por sus matrices de codificación.
Las matrices de comprobación de paridad derivadas de las construcciones aleatorias tienden a funcionar completamente bien, aunque los codificadores resultantes tienden a ser costosos para su implementación . Por otro lado, las matrices de comprobación de paridad con una estructura definida originan codificadores simples, aunque no siempre tienen buenas propiedades de decodificación. Muchos de estos códigos estructurados tienen un coeficiente de ponderación regular de hilera y columna (el número de unos (ls) en cada hilera o columna de la matriz de comprobación de paridad es idéntico) , aunque la investigación reciente ha demostrado que los códigos con ponderación regular de hilera y columna a menudo conduce a una capacidad mejorada de corrección de error. Un tipo de código LDPC estructurado con un codificador muy simple es un código cíclico de bloque en donde la matriz de comprobación de paridad consiste de bloques, cada uno de los cuales tiene una estructura cíclica. Estos códigos a menudo tienen una ponderación regular de hilera y columna, aunque un Artículo reciente de S. Johnson and S. Weller, "A Family of Irregular LDPC Codes, with Lo Encoding Complexity", IEEE Communications Letters, vol. 7, pp. 79-81, Febrero del 2003, demuestra una forma para construir códigos LDPC cíclicos de bloque con una ponderación irregular de columna que ejecuta en exceso códigos similares con una ponderación regular de columna. Sin embargo, este procedimiento tiene un intervalo limitado en su distribución permisible de ponderación y no permite una ponderación irregular de hilera. Muchos sistemas de distribución de energía eléctrica ahora emplean el sistema TWACS® para enviar y recibir mensajes a través de las líneas de energía eléctrica para adquirir información sobre el estado de los usuarios de la energía eléctrica que incluyen el uso actual de la energía. En un esfuerzo para mejorar la capacidad de comunicaciones de un sistema TWACS®, se ha realizado la investigación sobre los códigos de control de error LPDC. Esta investigación ha mostrado que los codificadores para los códigos LDPC comunes que son construidos en forma aleatoria exceden los requisitos de almacenamiento y computación de los transmisores TWACS®. La presente invención se dirige a una familia de códigos irregulares LDPC que tienen una estructura pseudo-aleatoria y una codificación de baja complejidad. La familia de códigos que se describe permite, tanto una ponderación irregular de columna como una ponderación irregular de hilera y proporciona un intervalo más amplio de la distribución de ponderación que los códigos descritos por Johnson y Weller. Además, la familia permite que los códigos LDPC cíclicos por bloque tengan una estructura pseudo-aleatoria .
Sumario de la Invención La presente invención se dirige a una clase de códigos LDPC que comprenden un conjunto de extensiones de códigos cíclicos de bloque y proporciona un conjunto mucho más grande de códigos con una ponderación irregular de hilera o columna junto con un control más grande sobre la ponderación de la hilera o la columna, y con matrices de comprobación de paridad que tienen una estructura pseudo-aleatoria. Estos códigos LDPC pueden ser implementados sólo con un pequeño incremento en la complejidad con respecto a los códigos regulares cíclicos de bloque. Estos códigos son útiles en el sistema T ACS® utilizado para transmitir y recibir datos a través de las líneas eléctricas del sistema de distribución de energía. En particular, el uso de bloques recortados, de superposición o permutados en una matriz de comprobación de paridad del código permite una codificación de baja complejidad mientras se consigue la ejecución mejorada de los códigos con una ponderación irregular y una estructura pseudo-aleatoria . Otros objetivos y características serán aparentes en parte, y en parte serán señalados de aquí en adelante.
Breve Descripción de las Figuras Los objetivos de la invención son conseguidos como es señalado en las modalidades ilustrativas que son mostradas en las figuras, las cuales forman parte de la especificación. La Figura 1 es una representación simplificada de una red de distribución eléctrica que incluye la capacidad de comunicaciones de dos vías; La Figura 2 es una representación de una señal de salida o entrada de comunicaciones enviada a través de la red; La Figura 3 es una vista esquemática simplificada de un codificador cíclico de bloque; La Figura 4 es una ilustración de una matriz de comprobación de paridad; La Figura 5 es un ejemplo de una gráfica de Tanner; La Figura 6 es una matriz de comprobación de paridad para un código (90, 60) que comprende tres bloques circulantes con las ponderaciones de columna de 3, 4 y 5; La Figura 7 es una matriz de comprobación de paridad para un código (70, 40) que comprende tres bloques circulantes con ponderaciones de columna de 3, 4 y 5 y en los cuales dos de los bloques han sido recortados para producir ponderaciones irregulares de hilera; La Figura 8 es una matriz de comprobación de paridad similar a la que se muestra en la Figura 7, aunque en la cual dos de los bloques han sido recortados y superpuestos; y La Figura 9 es una matriz de comprobación de paridad similar a la que se muestra en la Figura 8, aunque en la cual uno de los bloques ha sido permutado, de modo que la región de superposición tenga una estructura pseudo-aleatoria de código . Los caracteres correspondientes de referencia indican las partes correspondientes a través de todas las distintas vistas de las figuras.
Descripción Detallada de la Invención La siguiente descripción detallada ilustra la invención por medio de ejemplo y no por medio de limitación. Esta descripción permitirá con claridad que una persona experta en la técnica realice y utilice la invención, y describe varias modalidades, adaptaciones, variaciones, alternativas y usos de la invención que comprenden lo que actualmente se cree es el mejor modo de realizar la invención. Puesto que podrían realizarse varios cambios en las construcciones anteriores sin apartarse del alcance de la invención, se pretende que toda la materia contenida en la descripción anterior o que se muestra en las figuras que la acompañan tenga que ser interpretada como ilustrativa y no en un sentido limitante. Con referencia a la Figura 1, un sistema de distribución eléctrica 1 incluye un generador 2 para la producción de energía eléctrica. La energía es dirigida a través de varias estaciones 3 y subestaciones 4 a través de líneas de alimentación de energía 5 y a través de medidores de electricidad 6 hacia las instalaciones de usuario 7, tales como hogares, fábricas, edificios de oficinas, etcétera. La operación eficiente del sistema requiere la información en "tiempo real" en cuanto a la demanda actual de energía, las posibles condiciones de sobrecarga, las ocurrencias de interrupción o corte de servicio y las condiciones relacionadas. Para este propósito, el sistema TWACS® incluye un transmisor o transpondedor 8 localizado en una subestación 4, o similares, para la generación y transmisión de un mensaje codificado "de entrada o destinado al exterior" 0 hacia la ubicación de usuario final a través de la línea de energía 5. En la ubicación de usuario de energía, el mensaje es recibido y decodificado por un transpondedor (no se muestra) incorporado en el medidor 6. En respuesta al mensaje de salida o destinado al exterior un mensaje codificado de "entrada" es formulado y enviado de regreso por el transpondedor hacia la subestación a través de las líneas de energía. Un ejemplo de una señal de salida y una señal de entrada se muestra en la Figura 2 que tiene un encabezado de mensaje Oh o lh que incluye la dirección a la cual está siendo enviado el mensaje y la información relacionada, y una serie de bits codificados de mensaje que transporta la información relevante. Como es conocido en la técnica, el mensaje es dividido en los bloques 9?-9? de datos codificados. Las comunicaciones de la linea de energía son ruidosas. El ruido aleatorio, los efectos EMI y RFI, las cargas no lineales de energía y las discontinuidades o condiciones similares pueden originar que las transmisiones estén siendo corruptas. Los mensajes transmitidos que utilizan el sistema T ACS® a menudo incluyen información vital para el rendimiento actual del sistema; y como tal, es importante tener la capacidad de identificar con rapidez y corregir las porciones corruptas o pérdidas de la transmisión. Por consiguiente, es ventajoso el empleo del código LDPC cíclico de bloque que tenga características pseudo-aleatorias , lo cual permite una corrección mejorada de error con relación a las técnicas tradicionales de codificación. Además, los códigos LDPC que primero fueron desarrollados en la década de los años 60, han sido más recientemente mostrados para ejecutar casi los límites teóricos para las comunicaciones digitales utilizando las técnicas de decodificación iterativa. Un número de factores tiene que ser considerado en el diseño y la implementación de un código LDPC. Uno es la velocidad deseada de error de bits (BER) ; un segundo factor es la complejidad de la implementación del código. La naturaleza dispersa de la matriz de comprobación de paridad utilizada con un código LDPC hace que la complejidad del algoritmo de decodificación sea proporcional a la longitud del mensaje. Sin embargo, la matriz asociada de codificación para la matriz de comprobación de paridad dispersa y arbitraria tendrá una complejidad de implementación proporcional al cuadrado de la longitud del mensaje, lo cual es demasiado costoso para muchas aplicaciones. Un procedimiento reciente para el diseño de los códigos LDPC ha sido el uso de construcciones algebraicas y combinatorias. Estas construcciones han sido encontradas que son particularmente útiles para códigos de alta velocidad con tamaños cortos de bloque debido a que evitan ciclos cortos en el decodificador, lo cual tiende a reducir el desempeño. Algunos de estos códigos LDPC, de manera particular, aquellos basados en estructuras cíclicas, también tienen el beneficio de una codificación de baja complejidad. Por otro lado, muchos de estos códigos construidos en forma combinatoria tienen una ponderación regular de hilera y de columna, lo cual es conocido porque no se desempeña también como aquellos que tienen una estructura más irregular. En el artículo mencionado con anterioridad, Johnson y Weller han propuesto una clase de estos códigos que consiguen una ponderación irregular de columna y por lo tanto un rendimiento mejorado. El conjunto de códigos LDPC de la presente invención, como se describe en la presente, comprende extensiones para códigos cíclicos de bloque. El resultado es un conjunto mucho más grande de códigos que tienen ponderaciones irregulares de hilera o columna, aunque también tienen un control más grande con respecto a la ponderación. Los códigos incorporan matrices de comprobación de paridad y de codificación que tienen una estructura pseudo-aleatoria . De manera importante, esto sólo es conseguido con un incremento pequeño en la complejidad con respecto a los códigos cíclicos de bloque regulares. Con la utilización de una notación estándar a partir de la teoría de codificación, un código (N, K) cifra K bits de entrada en un bloque de mensaje 9 de longitud N mediante la adición de M = N - K bits redundantes. Se dice que el código tiene una velocidad de K/N que representa la eficiencia con la cual los bits de entrada son transmitidos con relación al número total de bits transmitidos. Para los códigos de comprobación de paridad, una matriz de comprobación de paridad H tendrá las dimensiones M x N, y una matriz de generador G tendrá las dimensiones K x N. Para cualquier matriz dada de comprobación de paridad H, GT es definida como la base para el espacio nulo de la matriz. Si la matriz H fuera definida como: (1) en donde A es una matriz circulante (lo que significa que cada columna es un desplazamiento cíclico de la columna anterior) que contiene las primeras M columnas y B es una matriz circulante que contiene las columna restantes de la matriz H, entonces, una forma sistemática del espacio nulo de la mal truido como sigue: en donde IK es una matriz de identidad (lo que significa que tiene unos sobre su diagonal y ceros en cualquier otro lugar) de tamaño K x K. El inverso de la matriz circulante también es circulante, puesto que es el producto de dos matrices circulantes. Por consiguiente, debido a que A y B son ambas matrices circulantes, entonces, la matriz A~1B también es una matriz circulante. Para un código en donde una matriz B sea una matriz circulante, o esté compuesta de múltiples matrices circulantes, y A sea una matriz susceptible de ser invertida, la matriz de generador para el código también tiene una estructura circulante. Esto permite que el código sea implementado utilizando una implementación de hardware basada en un registrador de desplazamiento tal como el codificador 10 que se muestra en la Figura 3. El uso de una estructura circulante impone ciertas limitaciones. Por ejemplo, una matriz circulante de bloque con una ponderación par no podrá ser invertida utilizando la aritmética binaria (módulo 2) . Asimismo, una ponderación non no significa que una matriz circulante tendrá que ser invertida; aunque en la práctica, la mayoría sí lo son. Por lo tanto, una matriz de comprobación de paridad con una estructura circulante de bloque implica que al menos un bloque de la matriz H de comprobación de paridad debe tener una ponderación non si la matriz de generador G fuera a tener una estructura circulante de bloque. Esto es importante debido a que los códigos LDPC de ponderación 4 son comunes. Una ventaja de construcciones combinatorias de código LDPC es evitar los ciclos cortos en la gráfica de Tanner. Como es bien conocido para aquellas personas expertas en la técnica, una gráfica de Tanner es una gráfica bipartita, un ejemplo de la cual se muestra en la Figura 5 para un código de Hamming (7,4). La porción izquierda de la gráfica comprende los nodos de sitio que corresponden con los bits de símbolo del código y la porción derecha de la gráfica comprende los nodos de comprobación que corresponden con las comprobaciones de paridad en la gráfica. Las cuatro líneas de trazo en la gráfica indican un ciclo de longitud 4, en donde la información pasada de un nodo a otro en el decodificador de paso de mensaje ha alcanzado su punto de origen después de 2 iteraciones entre el mensaje y los nodos de comprobación. Los ciclos cortos como éste impiden la ejecución de la decodificación. Por esta razón, los diseños conminatorios han sido utilizados para permitir la velocidad de código más alta posible para un conjunto dado de dimensiones que sea libre de 4 ciclos. El artículo de Johnson y Weller referido con anterioridad discute las construcciones de código que están basadas en matrices circulantes y que están libres de 4 ciclos. Además, los códigos emplean una matriz de decodificación de ponderación irregular de columna excepto una ponderación regular de hilera. La presente invención es dirigida a un conjunto de extensiones para la estructura de códigos, tales como aquellos descritos por Johnson y Weller a fin de crear códigos LDPC que tengan una ponderación irregular de hilera y un aumento en el grado aleatorio en la estructura total del código del código, y que sólo tengan un pequeño incremento en la complejidad de la codificación con respecto a aquellos descritos en el artículo de Johnson y Weller. Las extensiones son descritas de manera colectiva dentro de una estructura de códigos generalizados cíclicos de bloque (GBC) . Un código generalizado cíclico de bloque es definido como un código cuya M x N de matriz de comprobación de paridad H es expresada como: (3) H=[C ]f en donde C es una matriz circulante que puede ser invertida de acuerdo con el módulo 2 aritmético y P es la suma de L matrices de componente. Es decir: (4) p=?*> Cada matriz de componente P2 contiene Ci columnas con elementos sin ceros, en donde Ci = M. Las columnas que contienen las comprobaciones de paridad son tomadas a partir de una matriz circulante M x M definida como: (5) en donde el vector P/k es creado a partir del vector P/j mediante el desplazamiento circulatorio P/j k-j veces. Si C = Mi, Pi seria definido como: (6) p, =|p oj^ y el relleno de cero para cada bloque es definido de modo que (7) En la versión generalizada de esta estructura, se supone que Ci ? Mi y que cada vector de columna P puede aparecer en cualquier ubicación arbitraria en P2. Esto funcionará con la condición que la matriz P comprenda al menos un vector P/j en cada columna, de modo que cada columna tenga una ponderación más grande de cero. Utilizando la estructura del codificador a partir de la ecuación (2), el codificador para esta matriz de comprobación de paridad será: Para un vector de datos d de longitud N, la palabra de código asociada C será: (9) Un conjunto de bloques de codificador ahora es definido como: iv¡ = C'1^. Cada bloque de codificador tiene la misma estructura cíclica como su bloque asociado de decodificador . La porción de comprobación de paridad de la palabra de código es generada como la suma de las salidas de cada bloque de codificador. Un codificador 10 para este propósito, como se observó, es mostrado en la Figura 3. En el comienzo de una operación de codificación, una porción de un registrador de desplazamiento 11 del codificador contiene un vector C/j = C'1P/j. Para una estructura tradicional de código de bloque tal como la que se define en la ecuación (7), la codificación involucra una "sincronización interna" de la porción relevante del vector de datos di, y después de que cada bitio sea sincronizado, cambia en forma circulatoria el registrador de desplazamiento. De acuerdo con la presente invención, las columnas de matriz Pj pueden estar en un orden arbitrario, el cual es conseguido permitiendo un número arbitrario de cambios del registrador de desplazamiento 11 entre los bits de entrada, y que un bitio arbitrario del vector de datos d esté siendo utilizado en la entrada. Mientras se implementa esta característica en el hardware, se requiere algún conjunto de circuitos adicionales de control, la complejidad de cada uno de los codificadores todavía es una función lineal de N. Más allá de los códigos básicos, tales como aquellos definidos por la ecuación [1], el método de la presente invención ofrece las siguientes características adicionales: 1. Bloques Recortados. Cuando Ci = M, el código resultante puede tener una ponderación irregular de columna, aunque todavía tendrá una ponderación regular de hilera. Sin embargo, al permitir que i < M, una ponderación irregular de hilera también puede ser conseguida. 2. Bloques Superpuestos. Al permitir las permutaciones arbitrarias de las columnas de la matriz Pj, se permite que algunas columnas sin ceros coincidan con columnas sin ceros de la matriz Pj, creando columnas con una ponderación diferente de columna. De manera general, la ponderación es incrementada; aunque puede ser reducida si apareciera un uno en la misma ubicación en dos de las matrices. Sin embargo, a medida que se incrementa el tamaño del código, las matrices Pj se vuelven cada vez más dispersas, de modo que para códigos elegidos en forma aleatoria, esto se convierte cada vez más en algo improbable. 3. Bloques Permutados en Forma Arbitraria. El hecho que las columnas de una matriz Pj puedan tener columnas de ceros entre ellas, y que las columnas adyacentes puedan tener un número arbitrario de cambios, se permite que un bloque único se superponga con múltiples otros bloques, con la superposición que es en cierto modo irregular. Si los bits de entrada no fueran correlacionados, la utilización de las permutaciones de columna sólo para intercalar los bloques no proporcionaría beneficio. De manera general, el recorte y superposición de los bloques incrementa el número de bloques necesarios para garantizar que todas las columnas tengan una ponderación sin ceros. Para hacer esto se requiere que al menos un bloque adicional cíclico más allá de lo requerido en forma nominal, genere una matriz de comprobación de paridad que tenga las dimensiones requeridas. Esto incrementará la complejidad total de la codificación. Aunque el efecto puede ser mantenido relativamente pequeño en función de cómo son utilizados muchos bloques adicionales. Los efectos de estas tres generalizaciones en la estructura del código se ilustran en las Figuras 6-9. La Figura 6 ilustra una matriz de comprobación de paridad para un código (90, 60), en donde los bloques oscurecidos representan los unos binarios (ls) en la matriz. Se entenderá que los ceros binarios (Os) se encuentran en todas las otras ubicaciones de matriz. Además, las matrices mostradas en las Figuras 6-9 sólo son ilustrativas y no necesariamente representan el diseño óptimo con respecto a la longitud del ciclo, la distancia mínima u otras propiedades de interés para un diseñador de código. El código de base en la Figura 6 tiene los bloques 9a-9c, cada uno de los cuales tiene 30 hileras por 30 columnas (es decir, de 30*30) . Los bloques 9a-9s tienen las ponderaciones de columna de 3, 4 y 5, de manera respectiva. Todas las hileras tienen una ponderación de 12. Las matrices de las Figuras 7-9 utilizan tres bloques del código de "base" que se muestra en la Figura 6 para crear los códigos (80, 60) que tienen diferentes propiedades utilizando las generalizaciones descritas con anterioridad . En la Figura 7, el bloque izquierdo 9a todavía es un bloque de 30*30. No obstante, los otros dos bloques han sido recortados para crear los bloques 9d y 9e, cada uno de los cuales son los bloques de 30*20. La utilización de los bloques recortados crea un código que todavía tiene las ponderaciones de columna de 3, 4 y 5, aunque ahora tiene ponderaciones de hilera que fluctúan de 7 a 11. En la Figura 8, el bloque izquierdo 9a todavía es un bloque de 30*30. El bloque intermedio 9d todavía es un bloque recortado que es de 30*20. Ahora, el bloque derecho 9f es un bloque recortado de 30*25 en tamaño. Además, las cinco columnas izquierdas del bloque 9f son desplazadas hacia la izquierda, de modo que se superpongan a las cinco columnas derechas del bloque 9d. Esto es indicado por las líneas de trazo de la Figura 8. Como resultado, el ancho combinado de los bloques 9d y 9f es de 40 columnas, el mismo ancho que los bloques 9d y 9e en la Figura 7. Sin embargo, la superposición de los bloques 9d y 9f crea un nuevo "bloque virtual" con una ponderación de columna 9, además de las ponderaciones de columna de 3-5. Debido a que los bloques también son recortados, las ponderaciones de hilera ahora fluctúan de 9-11. La Figura 9 muestra un ejemplo simple de bloques permutados en forma arbitraria. Aquí, el bloque izquierdo 9a todavía es un bloque de 30*30, un bloque intermedio 9g es un bloque recortado que es de 30*20 y el bloque derecho 9f es un bloque recortado de 30*25 en tamaño con las cinco columnas izquierdas del bloque desplazadas hacia la izquierda de manera que se superpongan con las cinco columnas derechas del bloque intermedio 9g. Mientras que los últimos dos bloques 9g y 9f todavía se superponen del mismo modo que con anterioridad, las columnas del bloque intermedio 9g son obtenidas mediante el desplazamiento de la columna previa en el bloque en tres ocasiones en lugar de sólo en una. Esto es equivalente a la sincronización del registrador de desplazamiento 11 en la Figura 3 en tres ocasiones para cada bitio de entrada. El resultado es las ponderaciones de columna de 3, 4, 5, 7 y 9, las ponderaciones de hilera que fluctúan de 8-12 y la estructura pseudo-aleatoria del código en la región de superposición indicada por las líneas de trazo en la Figura 9. Aquellas personas expertas en la técnica observarán que este grado aleatorio puede ser incrementado introduciendo más bloques y utilizando patrones no uniformes de sincronización. Una consideración en el diseño de los códigos LDPC es la presencia de ciclos cortos en la gráfica de Tanner del decodificador . Véase la Figura 5. Los códigos señalados en el artículo de Johnson y Weller, utilizan por ejemplo, las construcciones combinatorias que garantizan la ausencia de 4 ciclos. De acuerdo con la invención, es posible utilizar sólo el recorte de bloque para generar un código de las mismas dimensiones que todavía sea libre de 4 ciclos. Por ejemplo, el código (505, 404) considerado en su artículo puede ser recortado para crear el código (404, 303) mediante el recorte de los últimos 4 bloques, de modo que su longitud total sea de 303, más que sólo la supresión del último bloque. Por el contrario, la superposición y la permuta en forma aleatoria de las columnas a partir de los bloques constituyentes hacen más fácil la creación de códigos de 4 ciclos. En general, los códigos que contienen 4 ciclos son más difíciles de evitar con bloques más cortos y velocidades más altas. Mientras que es generalmente aceptado que los códigos de 4 ciclos tengan que ser evitados debido a que degradan la realización o ejecución de la decodificación, los resultados recientes han mostrado que algunos códigos que existen son buenos, a pesar de contener 4 ciclos, debido a que tienen buenas propiedades de distancia mínima. Véase S. Lin, L. Chen, J. Xu e I. Djurdjevic, "Near Shannon limit Block-cyclic Low-Density Parity-Check Codes", Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM) , vol . 4, pp. 2030-2035, 1-5 de Diciembre del 2003; y H. Tang, J. Xu, S. Lin y K. A. S. Abdel-Ghaffar, "Codes on Finite Geometries", IEEE Transactions on Information Theory, vol. 51, pp. 572-596-Febrero del 2005. Por consiguiente, mientras que la superposición de los bloques de comprobación de paridad puede crear problemas debido a ciclos cortos, los diseños que contienen ciclos cortos no serán descartados en su totalidad. Con respecto al sistema de comunicaciones de dos vías para redes de distribución de energía eléctrica, será apreciado que existen limitaciones de capacidad y tamaño de datos inherentes a los transpondedores instalados en el medidor. El uso de los códigos LDPC de la presente invención permite una mejora en la conflabilidad de la comunicación mientras que mantiene los costos de implementación dentro de las restricciones de diseño impuestas por el transpondedor. En vista de lo anterior, se observará que los distintos objetivos y ventajas de la presente invención han sido conseguidos y otros resultados ventajosos han sido obtenidos . Se hace constar que con relación a esta fecha el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (23)

  1. REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones : 1. Un método de generación de un código irregular LDPC que tiene una estructura pseudo-aleatoria y una codificación de baja complejidad, caracterizado porque comprende: generar un conjunto de matrices circulantes dispersas que contienen unos y ceros; permutar el orden de las columnas de cualquiera de las matrices circulantes; concatenar las matrices circulantes para crear una matriz única de comprobación de paridad; y superponer las columnas de algunas de las matrices circulantes a fin de producir columnas que tengan una ponderación y una estructura diferente de columna que cualquiera de los bloques de componente tienen cuando se consideran de manera individual.
  2. 2. El método de conformidad con la reivindicación 1, caracterizado porque el orden de columna de cualquiera de los bloques es permutado de manera arbitraria.
  3. 3. El método de conformidad con la reivindicación 2, caracterizado porque los bloques de componente tienen una ponderación desigual de columna a fin de permitir que el código LDPC resultante tenga una ponderación irregular de columna junto con el grado aleatorio total en la estructura de código.
  4. 4. El método de conformidad con la reivindicación 1, caracterizado porque las columnas al menos de una matriz de componente son nuevamente colocadas en un orden no secuencial .
  5. 5. El método de conformidad con la reivindicación 4, caracterizado porque al menos una matriz de componente tiene por lo menos una columna que coincide al menos con una columna de la segunda matriz de componente, con lo cual se crea una columna de matriz de comprobación de paridad LDPC que tiene una ponderación diferente de columna a partir de cualquiera de las dos matrices de componente.
  6. 6. El método de conformidad con la reivindicación 5, caracterizado porque la superposición entre bloques del código es irregular.
  7. 7. El método de conformidad con la reivindicación 6, caracterizado porque al menos una matriz de componente es recortada en ancho de modo que tenga una menor cantidad de columnas que hileras.
  8. 8. El método de conformidad con la reivindicación 7, caracterizado además porque comprende el incremento en el número de matrices de componente.
  9. 9. El método de conformidad con la reivindicación 3, caracterizado porque la matriz de comprobación de paridad es formada por la concatenación al menos de un bloque cíclico adicional .
  10. 10. El método de conformidad con la reivindicación 1, caracterizado porque cada matriz de componente es una matriz circulante.
  11. 11. El método de conformidad con la reivindicación 10, caracterizado porque al menos una matriz de componente es una matriz circulante que puede ser invertida.
  12. 12. Un código irregular LDPC que tiene una estructura pseudo-aleatoria y una codificación de baja complejidad, caracterizado porque comprende: bits de datos que forman una pluralidad de bloques del código, los bloques de datos se superponen de modo que cualquiera de los bits de datos puede ser parte de más de un bloque de datos, y los bits de datos son permutados dentro de cada bloque a fin de reordenar la secuencia de los bits durante la codificación; y los bits de comprobación de paridad son creados mediante la codificación de cada bloque de bits de datos utilizando un código cíclico de bloque y posteriormente, sumando las salidas de cada código de componente de bloque a fin de producir un nuevo código cuya estructura sea definida en parte por las interacciones entre los códigos de componente .
  13. 13. El código LDPC de conformidad con la reivindicación 12, caracterizado porque el código tiene una matriz de comprobación de paridad y una matriz de codificación, cada una de las cuales tiene una estructura pseudo-aleatoria a fin de permitir que el código LDPC tenga capacidades de ejecución de códigos generados en forma aleatoria .
  14. 14. El código LDPC de conformidad con la reivindicación 13, caracterizado porque la matriz de comprobación de paridad es formada agregando al menos un bloque cíclico adicional al código.
  15. 15. El código LDPC de conformidad con la reivindicación 12, caracterizado porque el orden de los bits de datos dentro de cada bloque es permutado de manera arbitraria .
  16. 16. El código LDPC de conformidad con la reivindicación 12, caracterizado porque cada código de componente del bloque es descrito por una matriz, las columnas al menos de una matriz son situadas en un orden no secuencial, y las ponderaciones de columna de las diferentes matrices difieren entre sí.
  17. 17. El código LDPC de conformidad con la reivindicación 16, caracterizado porque una de las matrices tiene al menos una columna sin ceros que coincide al menos con una columna sin ceros de una segunda matriz, con lo cual, se crea una columna que tiene una ponderación diferente de columna .
  18. 18. El código LDPC de conformidad con la reivindicación 17, caracterizado porque la superposición entre los bloques del código es irregular.
  19. 19. El código LDPC de conformidad con la reivindicación 18, caracterizado porque al menos un código de componente del bloque también es recortado, de manera que el número de bits de entrada sea más bajo que el número de bits de salida.
  20. 20. El código LDPC de conformidad con la reivindicación 19, caracterizado además porque comprende el incremento del número de códigos de componente del bloque.
  21. 21. El código LDPC de conformidad con la reivindicación 12, caracterizado porque cada código de componente de bloque puede ser descrito por una matriz circulante .
  22. 22. El código LDPC de conformidad con la reivindicación 21, caracterizado porque al menos una de las matrices circulantes puede ser invertida.
  23. 23. El código LDPC de conformidad con la reivindicación 12, caracterizado porque es utilizado en la generación de mensajes enviados y recibidos a través de lineas de energía eléctrica en un sistema de distribución de energía eléctrica para adquirir la información acerca de las operaciones del sistema de distribución de energía eléctrica.
MX2008003922A 2005-09-21 2006-08-29 Conjunto de codigos irregulares de comprobacion de de paridad de baja densidad (ldpc) con escritura aleatoria codificacion.de baja complejidad. MX2008003922A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/232,072 US7523375B2 (en) 2005-09-21 2005-09-21 Set of irregular LDPC codes with random structure and low encoding complexity
PCT/US2006/033471 WO2007037880A2 (en) 2005-09-21 2006-08-29 Irregular ldpc codes random structures low encoding

Publications (1)

Publication Number Publication Date
MX2008003922A true MX2008003922A (es) 2008-09-19

Family

ID=37885655

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2008003922A MX2008003922A (es) 2005-09-21 2006-08-29 Conjunto de codigos irregulares de comprobacion de de paridad de baja densidad (ldpc) con escritura aleatoria codificacion.de baja complejidad.

Country Status (5)

Country Link
US (1) US7523375B2 (es)
EP (1) EP1949545A2 (es)
CA (1) CA2623465C (es)
MX (1) MX2008003922A (es)
WO (1) WO2007037880A2 (es)

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707479B2 (en) 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US7805652B1 (en) * 2006-02-10 2010-09-28 Marvell International Ltd. Methods for generating and implementing quasi-cyclic irregular low-density parity check codes
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
KR101119302B1 (ko) * 2007-04-20 2012-03-19 재단법인서울대학교산학협력재단 통신 시스템에서 저밀도 패리티 검사 부호 부호화 장치 및방법
US8359522B2 (en) 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8392814B2 (en) * 2008-10-07 2013-03-05 Qualcomm Incorporated Method and apparatus for high speed structured multi rate low density parity check codes
KR20110086504A (ko) * 2008-11-20 2011-07-28 엘에스아이 코포레이션 노이즈 감소 데이터 프로세싱 회로, 노이즈 감소 데이터 프로세싱 회로를 위한 시스템 및 방법
US8773790B2 (en) 2009-04-28 2014-07-08 Lsi Corporation Systems and methods for dynamic scaling in a read data processing system
US8352841B2 (en) 2009-06-24 2013-01-08 Lsi Corporation Systems and methods for out of order Y-sample memory management
US8266505B2 (en) 2009-08-12 2012-09-11 Lsi Corporation Systems and methods for retimed virtual data processing
US8878652B2 (en) * 2009-11-13 2014-11-04 Zih Corp. Encoding module, associated encoding element, connector, printer-encoder and access control system
US8743936B2 (en) * 2010-01-05 2014-06-03 Lsi Corporation Systems and methods for determining noise components in a signal set
US8161351B2 (en) 2010-03-30 2012-04-17 Lsi Corporation Systems and methods for efficient data storage
US9343082B2 (en) 2010-03-30 2016-05-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for detecting head contact
US8418019B2 (en) 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
US8527831B2 (en) 2010-04-26 2013-09-03 Lsi Corporation Systems and methods for low density parity check data decoding
US8443249B2 (en) 2010-04-26 2013-05-14 Lsi Corporation Systems and methods for low density parity check data encoding
US8381074B1 (en) 2010-05-21 2013-02-19 Lsi Corporation Systems and methods for utilizing a centralized queue based data processing circuit
US8381071B1 (en) 2010-05-21 2013-02-19 Lsi Corporation Systems and methods for decoder sharing between data sets
US8208213B2 (en) 2010-06-02 2012-06-26 Lsi Corporation Systems and methods for hybrid algorithm gain adaptation
US8379498B2 (en) 2010-09-13 2013-02-19 Lsi Corporation Systems and methods for track to track phase alignment
US8295001B2 (en) 2010-09-21 2012-10-23 Lsi Corporation Systems and methods for low latency noise cancellation
US9219469B2 (en) 2010-09-21 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for filter constraint estimation
US8661071B2 (en) 2010-10-11 2014-02-25 Lsi Corporation Systems and methods for partially conditioned noise predictive equalization
US8560930B2 (en) 2010-10-11 2013-10-15 Lsi Corporation Systems and methods for multi-level quasi-cyclic low density parity check codes
US8443250B2 (en) 2010-10-11 2013-05-14 Lsi Corporation Systems and methods for error correction using irregular low density parity check codes
US8385014B2 (en) 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
US8750447B2 (en) 2010-11-02 2014-06-10 Lsi Corporation Systems and methods for variable thresholding in a pattern detector
US8566379B2 (en) 2010-11-17 2013-10-22 Lsi Corporation Systems and methods for self tuning target adaptation
US8667039B2 (en) 2010-11-17 2014-03-04 Lsi Corporation Systems and methods for variance dependent normalization for branch metric calculation
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8699167B2 (en) 2011-02-16 2014-04-15 Lsi Corporation Systems and methods for data detection using distance based tuning
US8446683B2 (en) 2011-02-22 2013-05-21 Lsi Corporation Systems and methods for data pre-coding calibration
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8670955B2 (en) 2011-04-15 2014-03-11 Lsi Corporation Systems and methods for reliability assisted noise predictive filtering
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8611033B2 (en) 2011-04-15 2013-12-17 Lsi Corporation Systems and methods for selective decoder input data processing
US8566665B2 (en) 2011-06-24 2013-10-22 Lsi Corporation Systems and methods for error correction using low density parity check codes using multiple layer check equations
US8560929B2 (en) 2011-06-24 2013-10-15 Lsi Corporation Systems and methods for non-binary decoding
US8499231B2 (en) 2011-06-24 2013-07-30 Lsi Corporation Systems and methods for reduced format non-binary decoding
US8862972B2 (en) 2011-06-29 2014-10-14 Lsi Corporation Low latency multi-detector noise cancellation
US8595576B2 (en) 2011-06-30 2013-11-26 Lsi Corporation Systems and methods for evaluating and debugging LDPC iterative decoders
US8650451B2 (en) 2011-06-30 2014-02-11 Lsi Corporation Stochastic stream decoding of binary LDPC codes
US8566666B2 (en) 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
US8819527B2 (en) 2011-07-19 2014-08-26 Lsi Corporation Systems and methods for mitigating stubborn errors in a data processing system
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US8539328B2 (en) 2011-08-19 2013-09-17 Lsi Corporation Systems and methods for noise injection driven parameter selection
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8656249B2 (en) 2011-09-07 2014-02-18 Lsi Corporation Multi-level LDPC layer decoder
US8756478B2 (en) 2011-09-07 2014-06-17 Lsi Corporation Multi-level LDPC layer decoder
US8681441B2 (en) 2011-09-08 2014-03-25 Lsi Corporation Systems and methods for generating predictable degradation bias
US8661324B2 (en) 2011-09-08 2014-02-25 Lsi Corporation Systems and methods for non-binary decoding biasing control
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8767333B2 (en) 2011-09-22 2014-07-01 Lsi Corporation Systems and methods for pattern dependent target adaptation
US8578241B2 (en) 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US8479086B2 (en) 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8689062B2 (en) 2011-10-03 2014-04-01 Lsi Corporation Systems and methods for parameter selection using reliability information
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8996597B2 (en) 2011-10-12 2015-03-31 Lsi Corporation Nyquist constrained digital finite impulse response filter
US8707144B2 (en) 2011-10-17 2014-04-22 Lsi Corporation LDPC decoder with targeted symbol flipping
US8788921B2 (en) 2011-10-27 2014-07-22 Lsi Corporation Detector with soft pruning
US8604960B2 (en) 2011-10-28 2013-12-10 Lsi Corporation Oversampled data processing circuit with multiple detectors
US8443271B1 (en) 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
US8527858B2 (en) 2011-10-28 2013-09-03 Lsi Corporation Systems and methods for selective decode algorithm modification
US8683309B2 (en) 2011-10-28 2014-03-25 Lsi Corporation Systems and methods for ambiguity based decode algorithm modification
US8700981B2 (en) 2011-11-14 2014-04-15 Lsi Corporation Low latency enumeration endec
US8751913B2 (en) 2011-11-14 2014-06-10 Lsi Corporation Systems and methods for reduced power multi-layer data decoding
US8760991B2 (en) 2011-11-14 2014-06-24 Lsi Corporation Systems and methods for post processing gain correction
US8531320B2 (en) 2011-11-14 2013-09-10 Lsi Corporation Systems and methods for memory efficient data decoding
US8719686B2 (en) 2011-11-22 2014-05-06 Lsi Corporation Probability-based multi-level LDPC decoder
US8631300B2 (en) 2011-12-12 2014-01-14 Lsi Corporation Systems and methods for scalable data processing shut down
US8625221B2 (en) 2011-12-15 2014-01-07 Lsi Corporation Detector pruning control system
US8707123B2 (en) 2011-12-30 2014-04-22 Lsi Corporation Variable barrel shifter
US8819515B2 (en) 2011-12-30 2014-08-26 Lsi Corporation Mixed domain FFT-based non-binary LDPC decoder
US8751889B2 (en) 2012-01-31 2014-06-10 Lsi Corporation Systems and methods for multi-pass alternate decoding
US8850295B2 (en) 2012-02-01 2014-09-30 Lsi Corporation Symbol flipping data processor
US8775896B2 (en) 2012-02-09 2014-07-08 Lsi Corporation Non-binary LDPC decoder with low latency scheduling
US8749907B2 (en) 2012-02-14 2014-06-10 Lsi Corporation Systems and methods for adaptive decoder message scaling
US8782486B2 (en) 2012-03-05 2014-07-15 Lsi Corporation Systems and methods for multi-matrix data processing
US8610608B2 (en) 2012-03-08 2013-12-17 Lsi Corporation Systems and methods for reduced latency loop correction
US8731115B2 (en) 2012-03-08 2014-05-20 Lsi Corporation Systems and methods for data processing including pre-equalizer noise suppression
US8873182B2 (en) 2012-03-09 2014-10-28 Lsi Corporation Multi-path data processing system
US8977937B2 (en) 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
US9230596B2 (en) 2012-03-22 2016-01-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for variable rate coding in a data processing system
US9043684B2 (en) 2012-03-22 2015-05-26 Lsi Corporation Systems and methods for variable redundancy data protection
US8612826B2 (en) 2012-05-17 2013-12-17 Lsi Corporation Systems and methods for non-binary LDPC encoding
US8880986B2 (en) 2012-05-30 2014-11-04 Lsi Corporation Systems and methods for improved data detection processing
US9324372B2 (en) 2012-08-28 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for local iteration randomization in a data decoder
US8751915B2 (en) 2012-08-28 2014-06-10 Lsi Corporation Systems and methods for selectable positive feedback data processing
US9019647B2 (en) 2012-08-28 2015-04-28 Lsi Corporation Systems and methods for conditional positive feedback data decoding
US8930780B2 (en) 2012-08-28 2015-01-06 Lsi Corporation Systems and methods for non-zero syndrome based processing
US8949702B2 (en) 2012-09-14 2015-02-03 Lsi Corporation Systems and methods for detector side trapping set mitigation
US9015550B2 (en) * 2012-10-05 2015-04-21 Lsi Corporation Low density parity check layer decoder for codes with overlapped circulants
US8634152B1 (en) 2012-10-15 2014-01-21 Lsi Corporation Systems and methods for throughput enhanced data detection in a data processing circuit
US9112531B2 (en) 2012-10-15 2015-08-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced local iteration randomization in a data decoder
US9048870B2 (en) 2012-11-19 2015-06-02 Lsi Corporation Low density parity check decoder with flexible saturation
US8929009B2 (en) 2012-12-19 2015-01-06 Lsi Corporation Irregular low density parity check decoder with low syndrome error handling
US9130589B2 (en) 2012-12-19 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Low density parity check decoder with dynamic scaling
US8773791B1 (en) 2013-01-14 2014-07-08 Lsi Corporation Systems and methods for X-sample based noise cancellation
US9003263B2 (en) 2013-01-15 2015-04-07 Lsi Corporation Encoder and decoder generation by state-splitting of directed graph
US9009557B2 (en) 2013-01-21 2015-04-14 Lsi Corporation Systems and methods for reusing a layered decoder to yield a non-layered result
US8930792B2 (en) 2013-02-14 2015-01-06 Lsi Corporation Systems and methods for distributed low density parity check decoding
US8885276B2 (en) 2013-02-14 2014-11-11 Lsi Corporation Systems and methods for shared layer data decoding
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US8797668B1 (en) 2013-03-13 2014-08-05 Lsi Corporation Systems and methods for penalty based multi-variant encoding
US9048873B2 (en) 2013-03-13 2015-06-02 Lsi Corporation Systems and methods for multi-stage encoding of concatenated low density parity check codes
US9048874B2 (en) 2013-03-15 2015-06-02 Lsi Corporation Min-sum based hybrid non-binary low density parity check decoder
US9281843B2 (en) 2013-03-22 2016-03-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for reduced constraint code data processing
US9048867B2 (en) 2013-05-21 2015-06-02 Lsi Corporation Shift register-based layered low density parity check decoder
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9129651B2 (en) 2013-08-30 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Array-reader based magnetic recording systems with quadrature amplitude modulation
US9047882B2 (en) 2013-08-30 2015-06-02 Lsi Corporation Systems and methods for multi-level encoding and decoding
US9298720B2 (en) 2013-09-17 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for fragmented data recovery
CN104518801A (zh) 2013-09-29 2015-04-15 Lsi公司 非二进制的分层低密度奇偶校验解码器
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9130599B2 (en) 2013-12-24 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods of converting detector output to multi-level soft information
CN105900116A (zh) * 2014-02-10 2016-08-24 三菱电机株式会社 分层型神经网络装置、判别器学习方法以及判别方法
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
CN106662915B (zh) * 2014-05-09 2020-09-29 索尼互动娱乐股份有限公司 使用伪白噪声将控制信号嵌入音频信号中的方案
US9928728B2 (en) 2014-05-09 2018-03-27 Sony Interactive Entertainment Inc. Scheme for embedding a control signal in an audio signal using pseudo white noise
US20160028419A1 (en) * 2014-07-22 2016-01-28 Lsi Corporation Systems and Methods for Rank Independent Cyclic Data Encoding
US9747790B1 (en) * 2016-02-12 2017-08-29 King Fahd University Of Petroleum And Minerals Method, device, and computer-readable medium for correcting at least one error in readings of electricity meters
US10784895B2 (en) 2016-08-08 2020-09-22 Nokia Technologies Oy Inter-block modifications to generate sub-matrix of rate compatible parity check matrix

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
ES2282671T3 (es) 2002-07-03 2007-10-16 The Directv Group, Inc. Codificacion de codigos de comprobacion de paridad de baja densidad (ldpc) utilizando una matriz de comprobacion de paridad estructurada.
US6933865B1 (en) * 2004-01-29 2005-08-23 Seagate Technology Llc Method and apparatus for coded symbol stuffing in recording systems

Also Published As

Publication number Publication date
CA2623465A1 (en) 2007-04-05
EP1949545A2 (en) 2008-07-30
CA2623465C (en) 2014-01-21
WO2007037880A2 (en) 2007-04-05
US20070067694A1 (en) 2007-03-22
WO2007037880A3 (en) 2007-12-21
US7523375B2 (en) 2009-04-21

Similar Documents

Publication Publication Date Title
MX2008003922A (es) Conjunto de codigos irregulares de comprobacion de de paridad de baja densidad (ldpc) con escritura aleatoria codificacion.de baja complejidad.
Li et al. On pre-transformed polar codes
CN101924565B (zh) Ldpc编码器、解码器、系统及方法
US7831884B2 (en) Method of correcting message errors using cyclic redundancy checks
CN103746708A (zh) 一种Polar-LDPC级联码的构造方法
CN102394660B (zh) 分组交织的准循环扩展并行编码ldpc码的编码方法和编码器
Xie et al. Euclidean geometry-based spatially coupled LDPC codes for storage
JP2022502963A (ja) Polar符号の構築のための方法および装置
Hou et al. BASIC regenerating code: Binary addition and shift for exact repair
CN108055044A (zh) 一种基于ldpc码和极化码的级联系统
CN102142928A (zh) 交织、解交织外码编码输出码字的方法和交织、解交织器
CN101162907B (zh) 一种利用低密度奇偶校验码实现编码的方法及装置
CN100440737C (zh) 一种高度结构化的ldpc编码和解码方法及其编码器和解码器
Boutros et al. Analysis of coding on non-ergodic block-fading channels
Lou et al. Channel Coding
Zinoviev et al. On new completely regular q-ary codes
CN101764668A (zh) 一种网络低密度校验码的编码方法及其编码器
Sari Effects of puncturing patterns on punctured convolutional codes
Freudenberger et al. Set partitioning of Gaussian integer constellations and its application to two‐dimensional interleaving
CN105871508B (zh) 一种网络编解码方法及系统
He et al. Performance evaluation of adaptive two-dimensional turbo product codes composed of hamming codes
Jasim et al. Concatenation of polar codes with three‐dimensional parity check (3D‐PC) codes to improve error performance over fading channels
Nina et al. LDPC Encoding based on the primitive polynomial
WO2017177610A1 (zh) 编码方法及装置
Seguin Linear ensembles of codes (Corresp.)

Legal Events

Date Code Title Description
FG Grant or registration