ES2529182T3 - Diseño de LDPC estructurado con agrupación de filas de vector - Google Patents

Diseño de LDPC estructurado con agrupación de filas de vector Download PDF

Info

Publication number
ES2529182T3
ES2529182T3 ES05778539.6T ES05778539T ES2529182T3 ES 2529182 T3 ES2529182 T3 ES 2529182T3 ES 05778539 T ES05778539 T ES 05778539T ES 2529182 T3 ES2529182 T3 ES 2529182T3
Authority
ES
Spain
Prior art keywords
matrix
rows
hbm
column
matrices
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES05778539.6T
Other languages
English (en)
Inventor
Yufei W. Blankenship
T. Keith Blankenship
Brian K. Classon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Original Assignee
Motorola Mobility LLC
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 Motorola Mobility LLC filed Critical Motorola Mobility LLC
Application granted granted Critical
Publication of ES2529182T3 publication Critical patent/ES2529182T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure

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 método para operar un transmisor que genera bits de comprobación de paridad p>={p0, ..., pm-1} en base a un conjunto de símbolo actual s>={s0, ..., sk-1}, comprendiendo el método las etapas de: recibir el conjunto de símbolo actual s>={s0, ..., sk-1} usar una matriz H para determinar los bits de comprobación de paridad, y transmitir los bits de comprobación de paridad junto con el conjunto de símbolo actual; en donde H es una expansión de una matriz de base Hb a través de una matriz modelo Hbm; en donde Hb comprende mb filas, una sección Hb1 y una sección Hb2, y Hb2 comprende la columna hb que tiene un peso wh>>=3 y H'b2 que tiene una estructura de doble diagonal con elementos de matriz en la fila i, columna j, iguales a 1 para i>=j, 1 para i>=j+1, y 0 en cualquier otro caso, caracterizado porque 1's de hb y de Hb1 están dispuestos de tal modo que se pueden formar mb/q grupos de filas de Hbm, teniendo cada grupo q filas, de modo que dentro de cada grupo las filas de Hbm tienen a lo sumo una única entrada no negativa dentro de una columna.

Description

10
15
20
25
30
35
40
45
E05778539
29-01-2015
DESCRIPCIÓN
Diseño de LDPC estructurado con agrupación de filas de vector
La presente invención se refiere en general a codificación y descodificación de datos, y en particular a un método y un aparato para codificar y descodificar datos utilizando códigos de comprobación de paridad de baja densidad (LDPC).
Antecedentes de la invención
Según se ha descrito en la solicitud de Patente de Estados Unidos Serial núm. 10/839995, la cual se incorpora aquí por referencia, un código de comprobación de paridad de baja densidad (LDPC) es un código de bloque lineal especificado por medio de una matriz H de comprobación de paridad. En general, un código LDPC se define por medio de un Campo de Galois GF(q), q>2. Si q=2, el código es un código binario. Todos los códigos de bloque lineales pueden ser descritos como el producto de un vector de información de k-bits sixk por una matriz generadora de código Gkxn para producir una clave xixn de n-bits donde la tasa de código es r=k/n. La clave x se transmite a través de un canal ruidoso, y el vector de señal y recibido se hace pasar hasta el descodificador para estimar el vector de información sixk.
Dado un espacio n-dimensional, las filas de G abarcan el subespacio C de clave k-dimensional, y las filas de matriz Hmxn de comprobación de paridad abarcan el espacio dual C┴ m-dimensional, donde m = n-k. Puesto que x=sG y GHT=0, se obtiene que xHT=0 para todas las claves en el subespacio C, donde “T” (o “T”) indica transposición de matriz. En la discusión de códigos LDPC, esto se escribe en general como:
HxT = 0T, (1)
donde 0 es un vector fila de todo ceros, y la clave x=[s ρ] = [s0, s1, ..., sk-1, ρ0, ρ1, ..., ρm-1], donde ρ0, ..., ρm-1 son bits de comprobación de paridad; y s0, ..., sk-1 son los bits sistemáticos, iguales a los bits de información dentro del vector de información.
Para un código LDPC, la densidad de entradas distintas de cero en H es baja, es decir, existe solamente un pequeño porcentaje de 1’s en H, lo que permite un mejor comportamiento de corrección de error y una descodificación más simple que usando una H densa. Una matriz de comprobación de paridad puede ser también descrita mediante un grafo bipartito. El grafo bipartito no es solamente una descripción gráfica del código sino también un modelo para el descodificador. En el grafo bipartito, un bit de clave (por lo tanto, cada columna de H) está representado por un nodo de variable en el lado izquierdo, y cada ecuación de comprobación de paridad (por lo tanto, cada fila de H) está representada por un nodo de comprobación en el lado derecho. Cada nodo de variable corresponde a una columna de H y cada nodo de comprobación corresponde a una fila de H, con “nodo de variable” y “columna” de H mencionados de forma intercambiable, como lo son “nodo de comprobación” y “fila” de H. Los nodos de variable están conectados solamente a nodos de comprobación, y los nodos de comprobación están conectados solamente a nodos de variable. Para un código con n bits de clave y m bits de paridad, el nodo de variable vi está conectado al nodo de comprobación cj por medio de un borde si el bit de clave i participa en la ecuación de comprobación j, i = 0, 1, ..., n-1, j = 0, 1, ..., m-1. En otras palabras, el nodo de variable i está conectado al nodo de comprobación j si la entrada hji de la matriz de comprobación de paridad H es 1. Reflejando la Ecuación (1), los nodos de variable representan una clave válida si todos los nodos de comprobación tienen paridad par.
A continuación se muestra un ejemplo que ilustra la relación entre la matriz de comprobación de paridad, las ecuaciones de comprobación de paridad, y el grafo bipartito. Supóngase una n = 12, el código de tasa 1/2 está definido por:
imagen1
(2)
con la porción del lado izquierdo correspondiendo a k (= 6) bits de información s, la porción del lado derecho correspondiendo a m (= 6) bits de paridad ρ. Aplicando (1), la H en (2) define 6 ecuaciones de comprobación de paridad como sigue:
5
10
15
20
25
30
35
40
45
50
E05778539
29-01-2015
imagen2
(3)H tiene también el grafo bipartito correspondiente mostrado en la Figura 1.
El código LDPC general descrito con anterioridad puede no ser fácil de implementar en la práctica. Con frecuencia se introducen estructuras en la matriz de comprobación de paridad para permitir una rápida codificación y descodificación sin sacrificar el comportamiento de corrección de error. Un diseño de código LDPC estructurado empieza con una pequeña matriz de base Hb binaria de mb x nb, hace z copias de Hb, e interconecta las z copias para formar una gran matriz H de m x n, donde m = mb x z, n = nb x z. Usando la representación de matriz, para construir una H a partir de Hb, cada 1 en Hb se sustituye por una submatriz de permutación zxz, y cada 0 en Hb se sustituye por una submatriz de todo cero zxz. La representación de la expansión de Hb se denomina matriz modelo y se indica mediante Hbm. Así, Hbm es simplemente una notación abreviada para H cuando z es conocido. Este procedimiento mapea esencialmente cada borde de Hb respecto a un borde de vector de longitud z en H, cada nodo de variable de Hb respecto a un nodo de variable de vector de longitud z en H, y cada nodo de comprobación de Hb respecto a un nodo de comprobación de vector de longitud z en H. Para un LDPC estructurado, la submatriz de zxz puede ser una matriz de permutación, una suma de matrices de permutación, o cualquier tipo de matriz binaria. Puesto que una matriz de permutación P tiene un solo 1 en cada fila y un solo 1 en cada columna, la distribución de peso de la matriz H expandida es la misma que en la matriz de base Hb si se usa la submatriz de permutación. Por lo tanto, la distribución de peso de Hb se elige tan próxima a la distribución de peso final deseada como sea posible. Las submatrices de permutación que comprenden H pueden ser muy simples sin comprometer el rendimiento, tal como desplazamientos cíclicos simples y/o inversiones de bits. En el caso de desplazamientos cíclicos, se puede escribir Hbm sustituyendo los 1’s en Hb por números enteros no negativos que representan la magnitud del desplazamiento y los 0’s en Hb se sustituyen por 1. En el transmisor, un vector u de k bits de información se codifica en base a H (o equivalentemente Hbm) para producir un vector x de n bits de código, donde k=n-m=zxkb, kb = (nb – mb). El vector x se envía a través de un canal ruidoso y se recibe un vector y de n señales contaminadas. En el receptor, el descodificador de LDPC intenta estimar x en base al vector y recibido y a la matriz H de comprobación de paridad. El receptor obtiene una versión y contaminada de la clave x transmitida. Para descodificar y, y estimar la secuencia s de información original, un algoritmo de descodificación iterativa, tal como propagación de suma producto, se aplica normalmente en base al grafo bipartito. Información blanda en formato de relaciones de probabilidad de inicio de sesión (LLR) de los bits de clave, se hace pasar entre el banco de nodos de variable y el banco de nodos de comprobación. La iteración se detiene ya sea cuando todas las ecuaciones de comprobación han sido satisfechas o ya sea cuando se alcanza un límite de iteración máximo permitido.
Los códigos LDPC estructurados pueden ser descodificados también con un descodificador por capas. Un descodificador por capas tiene típicamente hardware para procesar una fila entera de una sola vez. El descodificador por capas puede reducir potencialmente el número de iteraciones requeridas para conseguir un nivel de rendimiento dado, e incrementar potencialmente el rendimiento si no existe hardware suficiente para procesar todas las filas de bloque de una sola vez. También se puede usar agrupamiento de capa cuando la matriz de base Hb está restringida de tal modo que los grupos de filas de base no intersectan, lo que significa que las filas de base dentro de un grupo tienen a lo sumo un solo 1 dentro de una columna de base (o de forma equivalente, dentro de cada grupo las filas de Hbm tienen a lo sumo una única entrada no negativa dentro de una columna). El agrupamiento de capa puede ser usado para incrementar más la velocidad del descodificador de LDPC puesto que se necesitan menos iteraciones para alcanzar un determinado comportamiento de corrección de error.
Adicionalmente, la matriz de base y la asignación de matrices de permutación para una matriz H de comprobación de paridad objetivo dada, pueden estar diseñadas de modo que proporcionen un código LDPC que tenga un buen comportamiento de corrección de error y puedan ser codificadas y descodificadas eficazmente. En la solicitud de Patente de Estados Unidos Serial núm. 10/839.995, se describe una matriz H estructurada de comprobación de paridad en donde H es una expansión de una matriz de base Hb y en donde Hb comprende una sección Hb1 y una sección Hb2, y en donde Hb2 comprende una primera parte que comprende una columna hb que tiene un peso impar mayor de 2, y una segunda parte que comprende elementos de matriz para la fila i, columna j, iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso. La expansión de la matriz de base Hb utiliza submatrices idénticas para 1’s en cada columna de la segunda parte H’b2, y la expansión utiliza submatrices apareadas para un número par de 1’s en hb.
Aunque se puede usar descodificación por capas con agrupamiento de capa pare reducir potencialmente la cantidad de procesamiento e incrementar potencialmente el rendimiento, no existe una técnica para diseñar la matriz de base
10
15
20
25
30
35
E05778539
29-01-2015
y asignar las matrices de permutación para un tamaño de H objetivo dado que permita una codificación y descodificación por capas eficientes con agrupamiento de capa. Por lo tanto, existe una necesidad de crear características en códigos LDPC estructurados que puedan ser codificados eficazmente y descodificados por capas a alta velocidad.
El documento ROBERT XU, LIUQING YUAN, YOUGANG ZHANG, LI ZENG: “Codificación LDPC de alto contorno para OFDMA PHY” [Online], 3 de Noviembre de 2004 (03-11-2004), XP002509792 Recuperado de Internet: URL: http://www.ieee802.org/16/tge/contrib/C80216e-04_423.pdf, divulga codificación de LPDC de alto contorno para OFDMA PHY. Cada código LDPC de un conjunto de códigos LDPC está definido por una matriz H de tamaño m-porn, donde n es la longitud del código y m es el número de bits de comprobación de paridad en el código. El número de bits sistemáticos es k=n-m.
La matriz H se define como::
imagen3
donde Pi,j es una de un conjunto de matrices de permutación z-por-z o una matriz cero de z-por-z. La matriz H se ha expandido a partir de una matriz de base Hb binaria de tamaño mb-por-nb, donde n=z·nb y m=z·mb, y z es un número entero > 1. La matriz de base se expande mediante la sustitución de cada 1 en la matriz de base por una matriz de permutación de z-por-z, y cada 0 por una matriz cero de z-por-z. La matriz de base nb es un múltiplo entero de 24.
Las permutaciones usadas son desplazamientos circulares a derecha, y el conjunto de matrices de permutación contiene la matriz de identidad zxz y versiones circulares desplazadas a la derecha de la matriz de identidad. Puesto que cada matriz de permutación está especificada por un solo desplazamiento circular a la derecha, la información de matriz de base binaria y la información de sustitución de permutación pueden ser combinadas en una simple matriz Hbm modelo compacta. La matriz modelo Hbm es del mismo tamaño que la matriz Hb de base binaria, con cada entrada binaria en (i, j) de la matriz de base Hb reemplazada para crear la matriz modelo Hbm. Cada 0 en Hbse sustituye por un valor negativo (por ejemplo, por *C1) para indicar una matriz z x z de todo ceros, y cada 1 en Hb se sustituye por un tamaño de desplazamiento circular p(i, j)>0. La matriz modelo Hbm puede ser entonces expandida directamente a H. Hb está dividida en dos secciones, donde Hb1 corresponde a los bits sistemáticos y Hb2 corresponde a los bits de comprobación de paridad, de tal modo que Hb = L(Hb1)mb x kb | (Hb2)mb x mb┴. La sección Hb2 está además dividida en dos secciones, donde el vector hb tiene peso impar, y H’b2 tiene una estructura de doble diagonal con elementos de matriz en la fila i, columna j, iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso.
imagen4
La matriz de base tiene hb(0) = 1, hb(mb-1) = 1, y un tercer valor hb(j), 0<j<(mb-1) igual a 1. La estructura de matriz de base evita tener múltiples columnas de peso 1 en la matriz expandida. En particular, las submatrices distintas de cero están desplazadas circularmente a la derecha mediante un valor de desplazamiento circular particular. Cada 1 en H’b2 tiene asignado un tamaño de desplazamiento de 0, y se sustituye por una matriz de identidad zxz cuando se expande a H. Los dos 1s situados en la parte superior e inferior de hb tienen asignados tamaños de desplazamiento iguales, y al tercer 1 en el centro de hb se ha dado un tamaño de desplazamiento desapareado.
5
10
15
20
25
30
35
40
E05778539
29-01-2015
Breve descripción de los dibujos
La Figura 1 muestra un flujo de procesamiento de comprobación de paridad; Las Figuras 2 a 4 muestran rendimiento FER para tasas de 1/2, 2/3 y 3/4;
Descripción detallada de los dibujos
Para una codificación eficiente y un buen rendimiento de corrección de error en un diseño de LDPC estructurado, la porción de paridad Hb2 comprende grupos de tamaño q dentro de Hb2, y las mismas agrupaciones de Hb2 se extienden a la porción de información Hb1. Específicamente, la matriz H de comprobación de paridad se construye como sigue.
(1) La porción de paridad Hb2 tiene el formato
imagen5
La columna hb tiene un peso wh>=3, y los 1’s de hb están dispuestos de tal modo que se pueden formar mb/q grupos, donde las q filas de Hb2 dentro de cada grupo no intersectan. Dos o más filas de base (de Hb o de Hb2) se dice que no intersectan si el grupo de filas tienen al menos una entrada 1 dentro de cada columna de base. En otras palabras, las filas no intersectan si el producto escalar de las dos filas es cero.
En un ejemplo, el grupo j contiene filas con índice g(j)={j, j+mb/q, j+2 x mb/q, ...., j+(q-1) x mb/q}, j = 0, 1, ..., (mb/q-1), mb/q>1. En este caso, si wh=3, un ejemplo de columna hb contiene tres entradas distintas de cero hb(0) = 1, hb(mb-1) = 1, y hb(a) = 1, donde ag(0), ag(mb/q-1. Por ejemplo, cuando q=2 y mb=24, los pares de filas de base j y j+12 tienen a lo sumo una entrada distinta de cero, para j=0 a 11. Para mb=12 y q=2, la columna hb tiene con preferencia peso 3, con hb(0)=1 y hb(mb-1)=1 y hb(a)=1
Obsérvese que, por definición, la primera y la segunda filas de base no pueden estar en el mismo grupo debido a que las filas intersectan. Las dos filas adyacentes intersectan debido a que la segunda parte de Hb2 comprende elementos de matriz para la fila i, columna j iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso. Sin embargo, en el descodificador el orden de procesamiento de filas puede ser cambiado sin que afecte al rendimiento. Por lo tanto, las permutaciones y re-disposiciones de fila de base o de columna de base de la Hb pueden ser llevadas a cabo mientras se mantiene aún propiedades de descodificación deseables. Resulta fácil mostrar que las filas y columnas pueden ser re-dispuestas de tal modo que todas las filas dentro de un grupo sean adyacentes, mientras se mantienen aún las propiedades de no intersección de la construcción anterior.
(2) La porción de información Hb1 está construida de tal modo que todas las q filas dentro del grupo g(j) intersectan en <=I posiciones, donde I es igual al número de columnas en Hb que tienen peso de columna mayor que mb/q. Si los pesos de columna son menores que, o iguales a, mb/q, las condiciones (2) pueden ser cubiertas en la condición (1) partiendo de que las filas Hb dentro de un grupo no intersectan,
En algunos sistemas, se pueden necesitar diferentes matrices de base. Por ejemplo, se pueden usar múltiples matrices de base para una tasa de código dada, o se puede usar una matriz de base para cada tasa de código. La construcción de no intersección descrita puede ser usada para un subconjunto de todas las matrices de base. Por ejemplo, si se necesitan tres matrices de base con el mismo número de columnas para R = 1/2, 2/3 y 3/4, la construcción de no intersección puede ser usada para R = 1/2 y 2/3, pero no puede ser usada para R = 3/4 para mantener un buen rendimiento. Alternativamente, la construcción de no intersección puede ser usada para R = 1/2 y no para R = 2/3 y R = 3/4.
Como ejemplo de consideraciones de rendimiento, considérense matrices de base para tasas de código de 1/2, 2/3 y 3/4 que tengan 24 columnas y 12, 8 y 6 filas, respectivamente. El rendimiento del código resultante puede ser suficiente, especialmente cuando el tamaño de la matriz de base es relativamente pequeño (por ejemplo, R=2/3 y 3/4, 24 columnas). Esto se debe a que un buen rendimiento requiere una buena distribución de peso de columna (en particular para las columnas asociadas a las posiciones de información). Por ejemplo, se pueden requerir columnas
10
15
20
25
30
35
40
45
50
55
60
E05778539
29-01-2015
de peso 4 para un buen rendimiento en un código R=3/4, pero una matriz de base H de 6x24 puede tener solamente un peso hasta 3 bajo la restricción de que pares de filas de matriz de base no tienen ninguna entrada de superposición.
Arquitectura de implementación
El procesamiento de grupos de bits en un código estructurado va a ser examinado con mayor detalle. Para un código LDPC estructurado con factor de expansión z, las comprobaciones de paridad de z dentro de un nodo de comprobación de vector (correspondiente a una fila de la matriz de base) pueden ser calculadas en paralelo. Esto se debe a que la estructura de código (que contiene permutaciones) garantiza que el mensaje procedente de cualquier nodo de variable dado dentro de un nodo de variable de vector (correspondiente a una columna de la matriz de base) se necesita por parte de como máximo uno de los nodos de comprobación de paridad de z dentro de un nodo de comprobación de vector. Un ejemplo de diagrama de bloques del flujo de procesamiento de comprobación de paridad ha sido proporcionado en la Figura 1. Los mensajes agrupados μj desde nodos de variable de vector hasta el nodo de comprobación de vector i, 1 < j < dr(i), correspondientes a las dr(i) entradas distintas de cero de la fila iésima de la matriz de base, son permutados cíclicamente de acuerdo con la submatriz de permutación Pij 1 < j < dr(i), y presentados a los z circuitos CI de comprobación de paridad paralelos dentro del nodo de comprobación de vector i, 1 < I < z. La circuitería de comprobación de paridad produce mensajes que son permutados inversamente, para obtener los mensajes actualizados μj(nuevos) que pueden ser utilizados en etapas de descodificación consiguientes. Obsérvese que dr(i) ha sido indicado con k en la Figura.
La lógica digital en los bloques de procesamiento de la Figura 1 puede ser canalizada completamente, es decir, los resultados intermedios almacenados por cualquier registro no son necesarios para generar resultados para cualquier registro previo en el circuito. Según se describe en la Figura, una vez que los mensajes han pasado por el circuito, se generan mensajes actualizados D ciclos más tarde.
Dado este modelo, considérese una matriz de base en la que para dos filas cualesquiera, a saber r y s, los conjuntos de columnas con entradas no triviales (cero) no intersectan. Así, los nodos de comprobación de paridad de vector correspondientes a esas dos filas utilizan (y actualizan) conjuntos de mensajes completamente diferentes, los cuales están relacionados con dos conjuntos diferentes de nodos de variable de vector. En ese caso, puesto que la circuitería de la Figura 1 está canalizada, las comprobaciones de paridad de vector para ambas fila r y fila s pueden ser calculadas en D+1 ciclos. Esto se hace alimentando los mensajes para la fila s un ciclo más tarde que para la fila r hacia una unidad de procesamiento representada en la Figura 1. Si los mensajes para la fila r fueron alimentados en un instante t, éstos serán actualizados en un instante t+D, seguido de la actualización de los mensajes de la fila s en el instante t+D+1. Esto puede estar representado con la Figura 1 y otra copia de la Figura 1 por debajo de la primera copia y desviada en un ciclo.
En una alternativa completamente canalizada, la matriz de base está diseñada de modo que las filas de Hb pueden ser divididas en mb/2 grupos, donde para las dos filas dentro de un grupo, los conjuntos de columnas con entradas no triviales no intersectan. Obsérvese que las filas agrupadas no tienen que ser consecutivas debido a que el descodificador podría ser controlado para procesar las filas de matriz de comprobación de paridad fuera de orden. Alternativamente, las filas de vector de la matriz H de comprobación de paridad pueden ser permutadas de tal modo que cada dos filas de vector consecutivas no intersecten debido a que la permutación de fila no tenga ningún efecto sobre el rendimiento de descodificación. En la alternativa totalmente canalizada, el rendimiento puede ser casi doblado en relación con el caso en que las filas no estén apareadas (lo que requiere 2D ciclos de reloj para procesar 2 filas). Esto se debe a que el procesamiento de cualquier fila posterior debe ser retrasado hasta que todos los mensajes sobre la fila actual que están siendo procesados hayan sido actualizados. Por lo tanto, la descodificación completamente canalizada permite un incremento significativo del rendimiento sin coste de hardware extra. También se puede apreciar que el diseño completamente canalizado consigue casi el mismo rendimiento que un diseño que utilice a lo sumo el doble de hardware donde dos filas de vector de un grupo son descodificadas simultáneamente sobre dos unidades de procesamiento. El procesamiento de dos filas que sean no intersectantes puede ser apreciado como Figura 1 con otra Figura 1 a la derecha, con un retardo total de 2D.
En la discusión que antecede, se supone un tamaño de grupo de 2. En general, la matriz de base puede estar diseñada de modo que las mb filas de Hb puedan ser divididas en mb/q grupos, donde las q filas de vector de cada grupo no intersectan (denominadas “agrupamiento q” en lo que sigue). Cuando están completamente canalizadas, las q filas de vector pueden empezar en la canalización consecutivamente, con una separación de un ciclo entre filas de vector consecutivas. De ese modo, las q filas pueden ser acabadas en D+q-1 ciclos. Por lo tanto, el rendimiento del diseño de agrupamiento q es casi q veces como mucho el diseño en el que no exista agrupamiento, puesto que las q filas de vector necesitan Dxq ciclos para el cálculo. El tamaño de agrupamiento q de la matriz de comprobación de paridad tiene un peso máximo de columna permitido de mb/q. Por lo tanto, q debe ser seleccionada apropiadamente de modo que se pueda lograr un buen rendimiento de corrección de error con el máximo peso de columna permitido.
Aunque el diseño ha sido discutido bajo la consideración de descodificación por capas, una matriz de comprobación de paridad con un diseño de agrupamiento q de tamaño q puede ser descodificada usando cualquier otra estructura de descodificación. Por ejemplo, la descodificación de propagación de suma producto con planificación de
10
15
20
25
30
35
E05778539
29-01-2015
desbordamiento es aún aplicable, donde todos los nodos de comprobación son procesados simultáneamente, y todos los nodos de variable son procesados simultáneamente.
Descripción de código
Cada uno de los códigos LDPC es un código de bloque lineal sistemático. Cada código LDPC del conjunto de códigos LDPC está definido por una matriz H de tamaño m-por-n, donde n es la longitud del código y m es el número de bits de comprobación de paridad en el código. El número de bits sistemáticos es k = n–m.
La matriz H se define como una expansión de una matriz de base y puede estar representada por:
imagen6
donde Pi, j es una de un conjunto de z-por-z matrices de identidad desplazadas a la derecha o una matriz cero de zpor-z. La matriz H se expande a partir de una matriz de base binaria Hb de tamaño mb-por-nb, donde n = z·nb y m = z·mb, y z es un número entero positivo. La matriz de base se expande reemplazando cada 1 en la matriz de base por una matriz de identidad z-por-z desplazada a la derecha, y cada 0 por una matriz cero z-por-z. Por lo tanto, el diseño acomoda varios tamaños de paquete variando el tamaño z de la submatriz.
Puesto que cada matriz de permutación está especificada por medio de un simple desplazamiento a la derecha circular, la información de matriz de base binaria y la información de sustitución de permutación pueden ser combinadas en una única matriz modelo Hbm, compacta. La matriz modelo Hbm es del mismo tamaño que la matriz de base binaria Hb, con cada entrada binaria en (i, j) de la matriz de base Hb sustituida para crear la matriz modelo Hbm. Cada 0 en Hb se reemplaza por un valor negativo (por ejemplo, por -1) para indicar una matriz zxz de todo ceros, y cada 1 en Hb se reemplaza por un tamaño de desplazamiento circular p(i, j)>0. La matriz modelo Hbm puede ser después expandida directamente hasta H.
La matriz de base Hb está dividida en dos secciones, donde Hb1 corresponde a los bits sistemáticos y Hb2 corresponde a los bits de comprobación de paridad, de tal modo que Hb = L(Hb1)mb x kb |(Hb2)mb x mb┴. La sección Hb2 está dividida además en dos secciones, donde el vector hb tiene peso impar, y H’b2 tiene una estructura de doble diagonal con elementos de matriz en la fila i, columna j, iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso.
imagen7
La matriz de base tiene hb(0)=1, hb(mb-1)=1, y un tercer valor hb(j), 0<j<(mb-1) igual a 1. La estructura de matriz de base evita tener múltiples columnas de peso 1 en la matriz expandida.
En particular, las submatrices distintas de cero son matrices de identidad desplazadas circularmente a la derecha con un valor de desplazamiento circular particular. Cada 1 en H’b2 está asignado a un tamaño de desplazamiento 0, y se sustituye por una matriz de identidad de zxz cuando se expande a H. Los dos 1s situados en la parte superior y en la parte inferior de hb han sido asignados con iguales tamaños de desplazamiento, y al tercer 1 en el centro de hb se le ha dado un tamaño de desplazamiento desapareado. El tamaño de desplazamiento desapareado es igual a 0.
E05778539
29-01-2015
Ejemplos
Como ejemplo, se describe un diseño de código para 19 tamaños de código de 576 a 2304. Cada matriz modelo de base está diseñada para un tamaño de desplazamiento z0=96. Se define un conjunto de tamaños de desplazamiento {p(i, j)} para la matriz modelo de base y se usan para otros tamaños de código de la misma tasa. Para otros tamaños de código, los tamaños de desplazamiento se extraen de la matriz modelo de base como sigue. Para un tamaño de código correspondiente a un factor de expansión zf, sus tamaños de desplazamiento {p(f, i, j)} se extraen de {p(i, j)} escalando p(i, j) proporcionalmente.
imagen8
10 Obsérvese que f = z0/zf y Lxj indica la función de escalonamiento que proporciona el número entero más cercano hacia .
Las matrices modelo están tabuladas en lo que sigue para tres tasas de código de 1/2, 2/3 y 3/4. El diseño para la tasa de 1/2 tiene 6 grupos con un tamaño de grupo de q = 2. El diseño para la tasa de 2/3 tiene 4 grupos con un tamaño de grupo de q = 2. El diseño para la tasa de 3/4 no usa la construcción de no intersección a efectos de
15 conseguir un buen rendimiento.
Tasa 1/2:
La matriz modelo de base tiene un tamaño nb=24, mb=12 y un factor de expansión z0=96 (es decir, n = 24*96 = 2304). Para conseguir otros tamaños n de código, el factor de expansión z1 es igual a n/24.
imagen9
20 Tasa 2/3:
La matriz modelo de base tiene el tamaño nb=24, mb=8 y un factor de expansión z0=96 (es decir, n=24*96=2304). Para conseguir otros tamaños de código n, el factor de expansión z1 es igual a n/24.
imagen10
E05778539
29-01-2015
Tasa 3/4:
La matriz de base tiene el tamaño nb=24, mb=6 y un factor de expansión z0=96 (es decir, n=24*96=2304). Para conseguir otros tamaños de código n, el factor de expansión z1 es igual a n/24.
imagen11
5 Rendimiento
El rendimiento del diseño Motorola actualizado para 802.16e en el canal AWGN ha sido mostrado en las Figuras 2, 3 y 4 para la tasa {1/2, 2/3, 3/4}, se usó modulación QPSK. Los tamaños de bloque N están en la gama de 576 a 2304 para la totalidad de las tres tasas de código. El factor de expansión z está comprendido en la gama de 24 a 96, tal y como se muestra en las Figuras. El tamaño de bloque y el factor de expansión están relacionados por n = 24*z.
10 Mientras que la invención ha sido particularmente mostrada y descrita con referencia a una realización particular, los expertos en la materia comprenderán que se pueden realizar en la misma diversos cambios de forma y de detalle sin apartarse del alcance de la invención según se define mediante las reivindicaciones que siguen.

Claims (9)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    E05778539
    29-01-2015
    REIVINDICACIONES
    1.-Un método para operar un transmisor que genera bits de comprobación de paridad p={p0, ..., pm-1} en base a un conjunto de símbolo actual s={s0, ..., sk-1}, comprendiendo el método las etapas de: recibir el conjunto de símbolo actual s={s0, ..., sk-1} usar una matriz H para determinar los bits de comprobación de paridad, y transmitir los bits de comprobación de paridad junto con el conjunto de símbolo actual;
    en donde H es una expansión de una matriz de base Hb a través de una matriz modelo Hbm; en donde Hb comprende mb filas, una sección Hb1 y una sección Hb2, y Hb2 comprende la columna hb que tiene un peso wh>=3 y H’b2 que tiene una estructura de doble diagonal con elementos de matriz en la fila i, columna j, iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso,
    caracterizado porque 1’s de hb y de Hb1 están dispuestos de tal modo que se pueden formar mb/q grupos de filas de Hbm, teniendo cada grupo q filas, de modo que dentro de cada grupo las filas de Hbm tienen a lo sumo una única entrada no negativa dentro de una columna.
  2. 2.-El método de la reivindicación 1, en donde las filas de la matriz modelo Hbm pueden ser permutadas de tal modo
    que cada dos filas consecutivas no intersecten. 3.-El método de la reivindicación 1, en donde, cuando se expande la matriz de base Hb a matriz de comprobación de paridad H, se usan submatrices idénticas para cada uno de los 1’s en cada columna de H’b2, y la expansión usa submatrices apareadas para un número par de 1’s en hb.
  3. 4.-El método de la reivindicación 3, en donde las submatrices son zxz matrices de identidad desplazadas.
  4. 5.-Un aparato que comprende: medios de almacenamiento para almacenar una matriz H; y, lógica digital que recibe un bloque de información s=(s0, ..., sk-1), que determina bits de comprobación de
    paridad p=(p0, ..., pm-1) en base al conjunto de símbolo actual s = (s0, ..., sk-1) y a la matriz H, y que transmite los bits de comprobación de paridad junto con el conjunto de símbolo actual;
    en donde H es una expansión de una matriz de base Hb a través de una matriz modelo Hbm, en donde Hb comprende mb filas, una sección Hb1 y una sección Hb2, y Hb2 comprende la columna hb que tiene un peso wb>=3 y H’b2 que tiene una estructura de doble diagonal con elementos de matriz en la fila i, columna j, iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso;
    caracterizado porque los 1’s de hb y Hb1 están dispuestos de tal modo que se pueden formar mb/q grupos de filas de Hbm, teniendo cada grupo q filas, de modo que dentro de cada grupo las filas de Hbm tienen a lo sumo una única entrada no negativa dentro de una columna.
  5. 6.-El aparato de la reivindicación 5, en donde filas de la matriz modelo Hbm pueden ser permutadas de tal modo que
    cada dos filas consecutivas no intersecten. 7.-El aparato de la reivindicación 5, en donde, cuando se expande la matriz de base Hb hasta matriz de comprobación de paridad H, se usan submatrices idénticas para cada uno de los 1’s en cada columna de H’b2, y la expansión usa submatrices apareadas para un número par de 1’s en hb.
  6. 8.-El aparato de la reivindicación 7, en donde las submatrices son z x z matrices de identidad desplazadas. 9.-Un método para operar un receptor que estima un bloque información s=(s0, ..., sk-1), comprendiendo el método
    las etapas de: recibir un vector de señal; estimar el bloque de información s=( s0, ..., sk-1) en base al vector de señal recibido y a una matriz de
    comprobación de paridad H; en donde H es una expansión de una matriz de base Hb a través de una matriz modelo Hbm, en donde Hb comprende mb filas, una sección Hb1 y una sección Hb2, y Hb2 comprende la columna hb que
    tiene el peso wh>=3 y H’b2 que tiene una estructura de doble diagonal con elementos de matriz en la fila i, columna j, iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso;
    10
    E05778539
    29-01-2015
    caracterizado porque 1’s de hb y de Hb1 están dispuestos de tal modo que se pueden formar mb/q grupos de las filas de Hbm teniendo cada grupo q filas de modo que dentro de cada grupo las filas de Hbm tienen a lo sumo una única entrada no negativa dentro de una columna.
  7. 10.-El método de la reivindicación 9, en donde filas de la matriz modelo Hbm pueden ser permutadas de tal modo 5 que cada dos filas consecutivas no intersecten.
  8. 11.-El método de la reivindicación 9, en donde, cuando se expande la matriz de base Hb hasta matriz de comprobación de paridad H, se usan submatrices idénticas para cada uno de los 1’s en cada columna de H’b2 y la expansión usa submatrices apareadas para un número par de 1’s en hb.
  9. 12.-Un aparato que comprende:
    10 medios de almacenamiento para almacenar una matriz H; y,
    lógica digital que recibe un vector de señal y que estima el bloque de información s=(s0, ..., sk-1), en base al vector de señal recibido y a la matriz H;
    en donde H es una expansión de una matriz de base Hb a través de una matriz modelo Hbm,
    en donde Hb comprende mb filas, una sección Hb1 y una sección Hb2, y Hb2 comprende la columna hb que
    15 tiene un peso wb>=3 y H’b2 que tiene una estructura de doble diagonal con elementos de matriz en la fila i, columna j, iguales a 1 para i=j, 1 para i=j+1, y 0 en cualquier otro caso;
    caracterizado porque los 1’s de hb y Hb1 están dispuestos de tal modo que se pueden formar mb/q grupos de las filas de Hbm, teniendo cada grupo q filas, de modo que dentro de cada grupo las filas de Hbm tienen a lo sumo una única entrada no negativa dentro de una columna.
    20 13.-El aparato de la reivindicación 12, en donde las filas de la matriz modelo Hbm pueden ser permutadas de tal modo que dos filas consecutivas no intersecten.
    11
ES05778539.6T 2004-12-15 2005-07-18 Diseño de LDPC estructurado con agrupación de filas de vector Active ES2529182T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US108949 1993-08-18
US63670004P 2004-12-15 2004-12-15
US636700P 2004-12-15
US11/108,949 US7343548B2 (en) 2004-12-15 2005-04-19 Method and apparatus for encoding and decoding data
PCT/US2005/025277 WO2006065286A1 (en) 2004-12-15 2005-07-18 Structured ldpc design with vector row grouping

Publications (1)

Publication Number Publication Date
ES2529182T3 true ES2529182T3 (es) 2015-02-17

Family

ID=36585487

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05778539.6T Active ES2529182T3 (es) 2004-12-15 2005-07-18 Diseño de LDPC estructurado con agrupación de filas de vector

Country Status (6)

Country Link
US (1) US7343548B2 (es)
EP (4) EP2365638A1 (es)
KR (1) KR100901216B1 (es)
CN (3) CN102629876A (es)
ES (1) ES2529182T3 (es)
WO (1) WO2006065286A1 (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
CN100583651C (zh) * 2004-12-22 2010-01-20 Lg电子株式会社 用于使用信道代码解码的装置和方法
US7707479B2 (en) 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
KR101265800B1 (ko) * 2007-01-10 2013-05-20 엘지전자 주식회사 다중 반송파 시스템의 제어신호 전송 방법
KR100975695B1 (ko) * 2007-02-02 2010-08-12 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
KR101455978B1 (ko) * 2007-03-27 2014-11-04 엘지전자 주식회사 Ldpc 부호를 이용한 부호화 방법
WO2009086671A1 (zh) * 2007-12-29 2009-07-16 Alcatel Shanghai Bell Co., Ltd. Ldpc码的编码方法和编码设备
KR101405962B1 (ko) * 2008-02-28 2014-06-12 엘지전자 주식회사 Ldpc 코드를 이용한 복호화 방법
WO2009156935A1 (en) * 2008-06-23 2009-12-30 Ramot At Tel Aviv University Ltd. Using damping factors to overcome ldpc trapping sets
TWI372523B (en) * 2008-11-14 2012-09-11 Realtek Semiconductor Corp Recording controller and decoder for parity-check code
KR20100058260A (ko) 2008-11-24 2010-06-03 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
US8190962B1 (en) * 2008-12-30 2012-05-29 Qualcomm Atheros, Inc. System and method for dynamic maximal iteration
US8286048B1 (en) 2008-12-30 2012-10-09 Qualcomm Atheros, Inc. Dynamically scaled LLR for an LDPC decoder
US8201068B2 (en) * 2009-01-06 2012-06-12 Mediatek Inc. Method for generating parity-check matrix
KR101636965B1 (ko) * 2009-02-06 2016-07-20 디세노 데 시스테마스 엔 실리시오, 에스.에이. 잡음성 매체들에서 데이터를 통신하기 위한 방법 및 장치
EP2226945A1 (en) * 2009-03-03 2010-09-08 Nokia Siemens Networks Oy Generation of optimized exponent matrices for multi-rate LDPC codes
CN101599302B (zh) * 2009-07-23 2012-05-09 西安空间无线电技术研究所 一种基于fpga的ldpc译码器的译码码字的高效存储方法
CN102790622B (zh) * 2011-05-19 2017-03-15 中兴通讯股份有限公司 低密度奇偶校验码校验矩阵的构造方法及装置
KR102068030B1 (ko) * 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
CN104143991B (zh) * 2013-05-06 2018-02-06 华为技术有限公司 极性Polar码的译码方法和装置
TWI566532B (zh) * 2015-09-30 2017-01-11 衡宇科技股份有限公司 用於低密度同位檢查碼之使用增強型同位檢查矩陣與再編碼方案的解碼演算法
EP4117209A1 (en) * 2015-12-23 2023-01-11 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding channel in communication or broadcasting system
CN116827357A (zh) * 2016-05-13 2023-09-29 中兴通讯股份有限公司 一种结构化低密度奇偶校验码ldpc的编码、译码方法及装置
CN108809328B (zh) 2017-05-05 2024-05-17 华为技术有限公司 信息处理的方法、通信装置
RU2667772C1 (ru) * 2017-05-05 2018-09-24 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство обработки информации и устройство связи
WO2018201554A1 (zh) * 2017-05-05 2018-11-08 华为技术有限公司 信息处理的方法、通信装置
WO2018236173A1 (en) * 2017-06-23 2018-12-27 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR CHANNEL ENCODING AND DECODING IN A COMMUNICATION OR BROADCASTING SYSTEM
KR102378706B1 (ko) * 2017-06-23 2022-03-28 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN110832782B (zh) 2017-06-27 2024-04-02 瑞典爱立信有限公司 准循环ldpc码的移位值的设计
EP3718216A1 (en) * 2017-12-15 2020-10-07 Huawei Technologies Co., Ltd. Design of base parity-check matrices for ldpc codes that have subsets of orthogonal rows
CN108494411B (zh) * 2018-03-30 2021-09-17 山东大学 一种多进制ldpc码校验矩阵的构造方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728927B2 (en) 2000-05-26 2004-04-27 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Method and system for high-spread high-distance interleaving for turbo-codes
KR20030036227A (ko) * 2000-06-16 2003-05-09 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법
KR20040036460A (ko) * 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
JP4224777B2 (ja) 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
US7188297B2 (en) * 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data

Also Published As

Publication number Publication date
WO2006065286A1 (en) 2006-06-22
CN101080872B (zh) 2012-05-02
CN102638274A (zh) 2012-08-15
US7343548B2 (en) 2008-03-11
US20060129904A1 (en) 2006-06-15
CN101080872A (zh) 2007-11-28
EP1829222A1 (en) 2007-09-05
CN102629876A (zh) 2012-08-08
CN102638274B (zh) 2017-03-01
EP2365638A1 (en) 2011-09-14
EP2365636A1 (en) 2011-09-14
KR20070086301A (ko) 2007-08-27
KR100901216B1 (ko) 2009-06-05
EP1829222A4 (en) 2009-02-25
EP2365637A1 (en) 2011-09-14
EP1829222B1 (en) 2014-12-24

Similar Documents

Publication Publication Date Title
ES2529182T3 (es) Diseño de LDPC estructurado con agrupación de filas de vector
JP7372369B2 (ja) 構造的ldpcの符号化、復号化方法および装置
ES2788664T3 (es) Procedimiento de codificación, procedimiento de descodificación, dispositivo de codificación y dispositivo de descodificación para códigos LDPC estructurados
JP4516602B2 (ja) データのエンコードおよびデコード方法および装置
ES2400950T3 (es) Construcción de códigos para códigos LDPC acortados irregulares con buen rendimiento
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
KR101227264B1 (ko) Ldpc 코드용 디코더
US7607075B2 (en) Method and apparatus for encoding and decoding data
JP4142719B2 (ja) データをエンコード及びデコードする方法及び装置
ES2907089T3 (es) Diseño de códigos ldpc cuasi-cíclicos para un sistema de comunicaciones móviles 5g
JP5997349B2 (ja) 符号化装置
US7493548B2 (en) Method and apparatus for encoding and decoding data
JP2010532129A (ja) パリティ検査行列の生成
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
CN107733440B (zh) 多边类型结构化ldpc处理方法及装置
ES2397540T3 (es) Acortamiento y perforación de códigos de comprobación de paridad de baja densidad (LDPC) para decodificación de canales
US7181677B1 (en) System and method for producing data and ECC code words using a high rate restricted-symbol code
Sukobok et al. Nortel Networks 20410 Century Blvd Gaithersburg, MD 20874 USA