ES2417930T3 - Método y aparato para codificar canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad - Google Patents

Método y aparato para codificar canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad Download PDF

Info

Publication number
ES2417930T3
ES2417930T3 ES11174714T ES11174714T ES2417930T3 ES 2417930 T3 ES2417930 T3 ES 2417930T3 ES 11174714 T ES11174714 T ES 11174714T ES 11174714 T ES11174714 T ES 11174714T ES 2417930 T3 ES2417930 T3 ES 2417930T3
Authority
ES
Spain
Prior art keywords
columns
information
shortening
bits
ldpc
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
ES11174714T
Other languages
English (en)
Inventor
Seho Myung
Hwan-Joon Kwon
Jae-Yoel Kim
Yeon-Ju Lim
Sung-Ryul Yun
Hak-Ju Lee
Hong-Sil Jeong
Peter Jung
Kyeong-Cheol Yang
Kyung-Joong Kim
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.)
Samsung Electronics Co Ltd
Academy Industry Foundation of POSTECH
Original Assignee
Samsung Electronics Co Ltd
Academy Industry Foundation of POSTECH
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 Samsung Electronics Co Ltd, Academy Industry Foundation of POSTECH filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2417930T3 publication Critical patent/ES2417930T3/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
    • 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
    • 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
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Método para codificar canales en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC) para el cual una matriz de comprobación de paridad tiene N1 columnas, donde N1 es 16200, teniendo la matriz de comprobación de paridad una parte de información y una parte de paridad, en el que la parte de información tiene K1 columnas, donde K1 es 7200, en el que la parte de paridad tiene (N1-K1) columnas, donde (N1-K1) es 9000; en el que la parte de información comprende una pluralidad de grupos de columnas, teniendo cada grupo de columnas M1 columnas, donde M1 es 360, y el número de grupos de columnas es K1/M1, donde K1/M1 es 20, en el que las secuencias de posiciones de ‘1’ en la 0-ésima columna en el i-ésimo grupo de columnas, i>=0, ..., 19, indicado por , son 20 712 2386 6354 4061 1062 5045 5158 21 2543 5748 4822 2348 3089 6328 5876 22 926 5701 269 3693 2438 3190 3507 23 2802 4520 3577 53241091 4667 4449 24 5140 2003 1263 4742 6497 1185 6202 0 4046 6934 1 2855 66 2 6694 212 3 3439 1158 4 3850 4422 5 5924 290 6 1467 4049 7 7820 2242 8 4606 3080 9 4633 7877 10 3884 6868 11 8935 4996 12 3028 764 13 5988 1057 14 7411 3450, donde un grado de la 0-ésima columna en cada i-ésimo grupo de columnas se indica por Di; en el que la estructura de la parte de información se realiza usando la siguiente regla: determinar posiciones de filas con ‘1’, indicadas por mediante donde q es un número entero que cumple q >= (N1- K1) /M1 >= 25; comprendiendo el método: (a) leer información de la matriz de comprobación de paridad; (b) determinar una longitud K2, donde K2 indica una longitud de bits de información que va a obtenerse mediante acortamiento, en el que los bits de información incluyen 168 bits de paridad BCH; (c) basándose en la longitud K2, realizando un acortamiento en los bits de información en un orden según un patrón de acortamiento predeterminado definido en la siguiente tabla Alcance de K2 Método de acortamiento 1) 528<=K2<7200 Para un número entero , acorta todos los bits de información correspondientes a los grupos de columnas π (0) -ésimo, π (1) -ésimo, …, y π (m-1) -ésimo, y adicionalmente acorta 7200-K2-360m bits de información del π (m) -ésimo grupo de columnas. En el presente documento, π indica una función de permutación mostrada en la parte inferior de la tabla. Sin embargo, cuando se acorta una parte de bits de información correspondiente al π (18) >=19-ésimo grupo de columnas, los 168 bits de paridad BCH no están sujetos a acortamiento. 2) 168<=K2<528 Acorta todos los bits de información correspondientes a los grupos de columnas π (0) -ésimo, π (1) -ésimo, ..., y π (17) -ésimo, y acorta todos los bits de información excepto los 168 bits de información BCH a partir de los bits de información correspondientes al π (18) >=19-ésimo grupo de columnas. Además, acorta adicionalmente.

Description

Método y aparato para codificar canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad.
Antecedentes de la invención
1.
Campo de la invención
La presente invención se refiere en general a un sistema de comunicación usando códigos de comprobación de paridad de baja densidad (LDPC) y, en particular, a un método y un aparato de codificación/decodificación de canales para generar códigos LDPC que tienen diversas longitudes de palabra de código y tasas de codificación a partir de un código LDPC dado.
2.
Descripción de la técnica relacionada
En sistemas de comunicación inalámbrica, el rendimiento de enlace disminuye significativamente debido a diversos ruidos en los canales, a un fenómeno de desvanecimiento, y a la interferencia entre símbolos (ISI). Por tanto, con el fin de realizar sistemas de comunicación digital de alta velocidad que requieren una alta fiabilidad y rendimiento global de datos, tal como la comunicación móvil de próxima generación, difusión digital, e Internet portátil, es necesario desarrollar una tecnología para eliminar el ruido, el desvanecimiento, y la ISI. Recientemente se ha efectuado un estudio intensivo de un código de corrección de errores como método para aumentar la fiabilidad de comunicación recuperando de manera eficaz información distorsionada.
Un código LDPC, introducido por primera vez por Gallager en los años 1960, ha perdido aceptación con el tiempo debido a su complejidad de implementación que no podía resolverse por la tecnología en aquel momento. Sin embargo, como el código turbo, que se descubrió por Berrou, Glavieux y Thitimajshima en 1993, muestra el rendimiento que se aproxima al límite de canales de Shannon, se han efectuado investigaciones sobre la decodificación iterativa y la codificación de canales basándose en un grafo junto con análisis de rendimiento y característica del código turbo. Debido a esta investigación, el código LDPC se estudió de nuevo a finales de los años 1990, y se demostró que el código LDPC tiene un rendimiento que se aproxima al límite de canales de Shannon si se somete a decodificación aplicando una decodificación iterativa basándose en un algoritmo de sumaproducto en un grafo de Tanner (un caso especial de un grafo de factores) correspondiente al código LDPC.
El código LDPC se representa normalmente usando una técnica de representación en grafo, y pueden analizarse muchas características a través de los métodos basados en teoría de grafos, álgebra y teoría de las probabilidades. Generalmente, un modelo en grafo de códigos de canales es útil para la descripción de códigos, y mediante la correlación de información sobre bits codificados con vértices en el grafo y la correlación de las relaciones entre los bits con aristas en el grafo, es posible considerar una red de comunicación en la que los vértices intercambian mensajes predeterminados a través de las aristas, haciendo posible así derivar un algoritmo de decodificación natural. Por ejemplo, un algoritmo de decodificación derivado de un entramado, que puede considerarse como una clase de grafo, puede incluir el algoritmo de Viterbi ampliamente conocido y un algoritmo de Bahl, Cocke, Jelinek y Raviv (BCJR).
El documento US 2007/0162814 A1 da a conocer un aparato y un método de un sistema de codificación LDPC, que se refiere a codificación y decodificación dentro de un sistema de comunicación.
El código LDPC se define generalmente como una matriz de comprobación de paridad, y puede representarse usando un grafo bipartito, que se denomina grafo de Tanner. El grafo bipartito significa que los vértices que constituyen el grafo se dividen en dos tipos diferentes, y el código LDPC se representa con el grafo bipartito compuesto por vértices, de los que algunos se denominan nodos variables y los demás se denominan nodos de comprobación. Los nodos variables se correlacionan uno a uno con los bits codificados.
Con referencia a las figuras 1 y 2, se realizará una descripción de un método de representación en grafo para el código LDPC.
La figura 1 muestra un ejemplo de una matriz de comprobación de paridad H1 del código LDPC compuesta por 4 filas y 8 columnas. En referencia a la figura 1, puesto que el número de columnas es 8, la matriz de comprobación de paridad H1 implica un código LDPC que genera una palabra de código de longitud 8, y las columnas se correlacionan con 8 bits codificados.
La figura 2 es un diagrama que ilustra un grafo de Tanner correspondiente a H1 de la figura 1.
En referencia a la figura 2, el grafo de Tanner del código LDPC está compuesto por 8 nodos variables x1 (202), x2
(204), x3 (206), x4 (208), x5 (210), x6 (212), x7 (214) y x8 (216), y 4 nodos de comprobación 218, 220, 222 y 224. Una i-ésima columna y una j-ésima fila en la matriz de comprobación de paridad H1 del código LDPC se correlacionan con un nodo variable xi y un j-ésimo nodo de comprobación, respectivamente. Además, un valor de 1, es decir, un valor diferente a cero, en el punto en el que una i-ésima columna y una j-ésima fila en la matriz de comprobación de paridad H, del código LDPC se cruzan entre sí, significa que hay una arista entre el nodo variable xi y el j-ésimo nodo de comprobación en el grafo de Tanner de la figura 2.
En el grafo de Tanner del código LDPC, un grado del nodo variable y un nodo de comprobación significa el número de aristas conectadas a cada nodo respectivo, y el grado es igual al número de entradas diferentes a cero en una columna o fila correspondiente al nodo asociado en la matriz de comprobación de paridad del código LDPC. Por ejemplo, en la figura 2, los grados de los nodos variables x1 (202), x2 (204), x3 (206), x4 (208), x5 (210), x6 (212), x7
(214) y x8 (216) son 4, 3, 3, 3, 2, 2, 2 y 2, respectivamente, y los grados de los nodos de comprobación 218, 220, 222 y 224 son 6, 5, 5 y 5, respectivamente. Además, los números de entradas diferentes a cero en las columnas de la matriz de comprobación de paridad H1 de la figura 1, que corresponden a los nodos variables de la figura 2, coinciden con sus grados 4, 3, 3, 3, 2, 2, 2 y 2, y los números de entradas diferentes a cero en las filas de la matriz de comprobación de paridad H1 de la figura 1, que corresponden a los nodos de comprobación de la figura 2, coinciden con sus grados 6, 5, 5 y 5.
Con el fin de representar una distribución de grados para los nodos del código LDPC, una relación del número de nodos variables de grado i respecto al número total de nodos variables se define como fi, y una relación del número de nodos de comprobación de grado j respecto al número total de nodos de comprobación se define como gj. Por ejemplo, para el código LDPC correspondiente a las figuras 1 y 2, f2=4/8, f3=3/8, f4=1/8, y fi=0 para in , 3, 4;y g5=3/4, g6=1/4 y gj=0 para jn5, 6. Cuando una longitud del código LDPC se define como N, es decir, el número de columnas se define como N, y cuando el número de filas se define como N/2, la densidad de entradas diferentes a cero en toda la matriz de comprobación de paridad con la distribución de grados anterior se calcula como la ecuación (1).
En la ecuación (1), cuando N aumenta, la densidad de ‘1’ en la matriz de comprobación de paridad disminuye. Generalmente, en cuanto al código LDPC, puesto que la longitud de código N es inversamente proporcional a la densidad de entradas diferentes a cero, el código LDPC con N grande tiene una densidad muy baja. La expresión ‘baja densidad’ en el nombre del código LDPC surge de la relación mencionada anteriormente.
A continuación, con referencia a la figura 3, se realizará una descripción de las características de una matriz de comprobación de paridad de un código LDPC estructurado que va a aplicarse en la presente invención. La figura 3 ilustra esquemáticamente un código LDPC adoptado como la tecnología convencional en DVB-S2, que es una de las normas de difusión digital en Europa.
En la figura 3, N1 indica una longitud de una palabra de código LDPC, K1 proporciona una longitud de una palabra de información, y (N1-K1) proporciona una longitud de paridad. Además, M1 y q se determinan para cumplir q=(N1-K1)/M1. Preferiblemente, K1/M1 debe ser un número entero. Por motivos de conveniencia, la matriz de comprobación de paridad de la figura 3 se denomina primera matriz de comprobación de paridad H1.
Haciendo referencia de nuevo a la figura 3, una estructura de una parte de paridad, es decir, de la K1-ésima columna a la (N1-1)-ésima columna, en la matriz de comprobación de paridad, tiene una forma diagonal doble. Por tanto, en cuanto a la distribución de grados por las columnas correspondientes a la parte de paridad, todas las columnas tienen un grado ‘2’, excepto la última columna que tiene un grado ’1’.
En la matriz de comprobación de paridad, una estructura de una parte de información, es decir, de la 0-ésima columna a la (K1-1)-ésima columna, se realiza usando las siguientes reglas.
Regla 1: Genera un total de K1/M1 grupos de columnas agrupando K1 columnas correspondientes a la palabra de información en la matriz de comprobación de paridad en múltiples grupos de M1 columnas. Un método para formar columnas que pertenecen a cada grupo de columnas sigue la regla 2 a continuación.
Regla 2: En primer lugar determina las posiciones de ‘1’ en cada 0-ésima columna en i-ésimos grupos de columnas (donde i=1,...,K1/M1). Cuando un grado de una 0-ésima columna en cada i-ésimo grupo de columnas se indica por
Di, si se supone que las posiciones de filas con 1 son
las posiciones de filas con 1 se definen como la ecuación (2), en una j-ésima columna (donde j=1,2,...,M1-1) en un i-ésimo grupo de columnas.
Según las reglas anteriores, puede apreciarse que los grados de las columnas que pertenecen a un i-ésimo grupo de columnas son todos iguales a Di. Para un mejor entendimiento de una estructura de un código LDPC de DVB-S2 que almacena información sobre la matriz de comprobación de paridad según las reglas anteriores, se describirá el siguiente ejemplo detallado.
Como un ejemplo detallado, para N1=30, K1=15, M1=5 y q=3, tres secuencias para la información sobre la posición de filas con 1 (a continuación en el presente documento, estas secuencias se denominan “secuencias de posición de peso 1” por motivos de conveniencia) para 0-ésimas columnas en 3 grupos de columnas pueden expresarse como;
Con respecto a la secuencia de posición de peso 1 para las 0-ésimas columnas en cada grupo de columnas, sólo las secuencias de posición correspondientes pueden expresarse como sigue para cada grupo de columnas, por motivos de conveniencia. Por ejemplo:
0 1 2
0 1113
0 1014
En otras palabras, la i-ésima secuencia de posición de peso 1 en la i-ésima línea representa de manera secuencial la información sobre la posición de filas con 1 para el i-ésimo grupo de columnas.
Es posible generar un código LDPC con el mismo concepto que el de un código LDPC de DVB-S2 de la figura 4, formando una matriz de comprobación de paridad usando la información correspondiente al ejemplo detallado, y la regla 1 y la regla 2.
Se conoce que el código LDPC de DVB-S2 designado según la regla 1 y la regla 2 puede codificarse de manera eficaz usando la forma estructural. A continuación se describirá a modo de ejemplo un proceso para realizar una codificación LDPC usando la matriz de comprobación de paridad basada en DVB-S2.
En la siguiente descripción a modo de ejemplo, como un ejemplo detallado, un código LDPC de DVB-S2 con N1=16200, K1=10800, M1=360 y q=15 se somete a un proceso de codificación. Por motivos de conveniencia, los bits de información que tienen una longitud K1 están representados como (i0, i1,..., ik1-1), y los bits de paridad que tienen una longitud (N1-K1) se expresan como (P0, P1,..., PN1-K1-1).
Etapa 1: Un codificador inicializa los bits de paridad tal como sigue:
Etapa 2: El codificador lee la información sobre una fila en la que está ubicado l en el primer grupo de columnas de una palabra de información, desde la 0-ésima secuencia de posición de peso 1 de las secuencias almacenadas que indican la matriz de comprobación de paridad.
0 2084 1613 1548 1286 1460 3196 4297 2481 3369 3451 4620 2622
El codificador actualiza bits de paridad px particulares según la ecuación (3) usando la información de lectura y el
En la ecuación (3), px = px ⊕ i0 también puede expresarse como px < px ⊕ i0 , y ⊕ significa suma binaria.
Etapa 3: El codificador halla en primer lugar un valor de la ecuación (4) para los próximos 359 bits de información im (donde m=1, 2,..., 359) después de i0.
10 En la ecuación (4), x significa un valor de para k = 1,2,...,13. Debe observarse que la ecuación (4) tiene el mismo concepto que la ecuación (2).
A continuación, el codificador realiza una operación similar a la ecuación (3) usando el valor hallado en la ecuación (4). Es decir, el codificador actualiza P(x+(m modo M1)xq)mod(N1-K1) para im. Por ejemplo, para m=1, es decir, para il, el codificador actualiza los bits de paridad P(x+q) mod(N1-K1) tal como se define en la ecuación (5).
Debe observarse que q=15 en la ecuación (5). El codificador realiza el proceso anterior para m=1, 2,..., 359, de la misma manera como se mostró anteriormente.
Etapa 4: Como en la etapa 2, el codificador lee información de la primera secuencia de
posición de peso 1, para un 361er bit de información i360, y actualiza el px particular, donde x significa . El 20 codificador actualiza P(x+(m mod M1)xq)mod(N1-K1), m=361, 362, ..., 719 aplicando de manera similar la ecuación (4) para los próximos 359 bits de información i361, i362, ..., i719 después de i360.
Etapa 5: El codificador repite las etapas 2, 3 y 4 para todos los grupos que tienen cada uno 360 bits de información.
Etapa 6: El codificador finalmente determina los bits de paridad usando la ecuación (6).
Los bits de paridad pi de la ecuación (6) son bits de paridad que se han sometido a codificación LDPC.
Tal como se describió anteriormente, DVB-S2 realiza una codificación a través del proceso de la etapa 1 a la etapa
6.
Con el fin de aplicar el código LDPC al sistema de comunicación real, el código LDPC debe diseñarse para que sea adecuado para la tasa de transmisión de datos requerida en el sistema de comunicación. Particularmente, no sólo en un sistema de comunicación adaptativo que emplea un esquema de petición de retransmisión automática híbrida (HARQ) y un esquema de modulación y codificación adaptativa (AMC), sino también en un sistema de comunicación que soporta diversos servicios de difusión, son necesarios códigos LDPC con diversas longitudes de palabra de código para soportar diversas tasas de transmisión de datos según los requisitos del sistema.
Sin embargo, tal como se describió anteriormente, el código LDPC usado en el sistema DVB-S2 tiene sólo dos tipos de longitudes de palabra de código debido a su uso limitado, y cada tipo de código LDPC necesita una matriz de comprobación de paridad independiente. Por estos motivos, desde hace mucho tiempo es necesario en la técnica un método para soportar diversas longitudes de palabra de código para aumentar la extensibilidad y flexibilidad del sistema. Particularmente, en el sistema DVB-S2, es necesaria una transmisión de datos que comprende de varios cientos a miles de bits para la transmisión de información de señalización. Sin embargo, puesto que sólo 16200 y 64800 están disponibles para una longitud del código LDPC de DVB-S2, es necesario soportar diversas longitudes de palabra de código.
Además, puesto que el almacenamiento de matrices de comprobación de paridad independientes por separado para cada longitud de palabra de código del código LDPC reduce la eficacia de memoria global, hay una demanda de un esquema que pueda soportar de manera eficaz diversas longitudes de palabra de código a partir de la matriz de comprobación de paridad existente dada, sin diseñar una nueva matriz de comprobación de paridad.
Sumario de la invención
La invención proporciona un método según la reivindicación 1 y un aparato según la reivindicación 2.
Un aspecto a modo de ejemplo de la presente invención es proporcionar un método y un aparato de codificación de canales para generar códigos LDPC con diferentes longitudes de palabra de código a partir de un código LDPC dado, usando acortamiento o perforación en un sistema de comunicación usando códigos LDPC.
Otro aspecto a modo de ejemplo de la presente invención es proporcionar un método y un aparato de codificación de canales para garantizar el rendimiento óptimo con respecto a la arquitectura DVB-S2 en un sistema de comunicación usando códigos LDPC.
Según un aspecto a modo de ejemplo de la presente invención, se proporciona un método para una codificación de canal en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC). El método puede incluir, por ejemplo, generar una pluralidad de grupos de columnas agrupando columnas correspondientes a una palabra de información en una matriz de comprobación de paridad del código LDPC, y ordenar los grupos de columnas; determinar un alcance de una palabra de información que se desea obtener realizando acortamiento; basándose en el alcance determinado de la palabra de información, realizar acortamiento de grupo de columnas en grupo de columnas en los grupos de columnas en orden según un patrón de acortamiento predeterminado; y codificar por LDPC la palabra de información acortada.
Según otro aspecto a modo de ejemplo de la presente invención, se proporciona un método para una codificación de canal en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC). El método puede incluir generar una pluralidad de grupos de columnas agrupando columnas correspondientes a una palabra de información en una matriz de comprobación de paridad del código LDPC, y ordenar los grupos de columnas; determinar un alcance de una palabra de información que se desea obtener realizando acortamiento; basándose en el alcance determinado de la palabra de información, realizar acortamiento de grupo de columnas en grupo de columnas en los grupos de columnas en orden según un patrón de acortamiento predeterminado; y codificar por LDPC la palabra de información acortada; en el que realizar un acortamiento de grupo de columnas en grupo de columnas comprende incluir 168 bits de paridad de Bose-Chaudhuri-Hocquenghem (BCH) en una palabra de información que se desea obtener realizando acortamiento, y acortar las columnas excepto las columnas en las posiciones correspondientes a los 168 bits de paridad BCH.
Según todavía otro aspecto a modo de ejemplo de la presente invención, se proporciona un aparato para una codificación de canal en un sistema de comunicación usando un código de comprobación de paridad de baja
densidad (LDPC). El aparato incluye un extractor de matriz de comprobación de paridad para generar una pluralidad de grupos de columnas agrupando columnas correspondientes a una palabra de información en una matriz de comprobación de paridad del código LDPC, y ordenar los grupos de columnas; un aplicador de patrón de acortamiento para determinar un alcance de una palabra de información que se desea obtener realizando acortamiento, y basándose en el alcance determinado de la palabra de información, realizar un acortamiento de grupo de columnas en grupo de columnas en los grupos de columnas en orden según un patrón de acortamiento predeterminado; y un codificador para codificar por LDPC la palabra de información acortada.
Según incluso otro aspecto a modo de ejemplo de la presente invención, se proporciona un aparato para una codificación de canal en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC). El aparato incluye una extractor de matriz de comprobación de paridad para generar una pluralidad de grupos de columnas agrupando las columnas correspondientes a una palabra de información en una matriz de comprobación de paridad del código LDPC, y ordenar los grupos de columnas; un aplicador de patrón de acortamiento para determinar un alcance de una palabra de información que se desea obtener realizando acortamiento, y basándose en el alcance determinado de la palabra de información, para realizar un acortamiento de grupo de columnas en grupo de columnas en los grupos de columnas en orden según un patrón de acortamiento predeterminado; y un codificador para codificar por LDPC la palabra de información acortada; en el que al realizar un acortamiento de grupo de columnas en grupo de columnas, el aplicador de patrón de acortamiento incluye, por ejemplo, 168 bits de paridad de Bose-Chaudhuri-Hocquenghem (BCH) en una palabra de información que se desea obtener realizando acortamiento, y acortando las columnas excepto las columnas en las posiciones correspondientes a los 168 bits de paridad BCH.
Según todavía otro aspecto a modo de ejemplo que no forma parte de la presente invención pero se proporciona para mejor entendimiento, se proporciona un método para decodificar un canal en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC). El método incluye, por ejemplo, demodular una señal transmitida desde un transmisor; determinar una posición de un bit acortado estimando información sobre un patrón de acortamiento de un código LDPC a partir de la señal demodulada; y decodificar datos usando la posición determinada del bit acortado.
Según todavía incluso otro aspecto a modo de ejemplo que no forma parte de la presente invención pero se proporciona para mejor entendimiento, se proporciona un aparato para decodificar un canal en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC). El aparato incluye, por ejemplo, un demodulador para demodular una señal transmitida desde un transmisor; un determinador de patrón de acortamiento para determinar una posición de un bit acortado estimando información sobre un patrón de acortamiento de un código LDPC a partir de la señal demodulada; y un decodificador para decodificar datos usando la posición determinada del bit acortado.
Según todavía incluso otro aspecto a modo de ejemplo de la presente invención, se proporciona un método para leer información de la matriz de comprobación de paridad; determinando una longitud K2, donde K2 indica una longitud de bits de información que va a obtenerse mediante acortamiento, en el que los bits de información incluyen 168 bits de paridad BCH; basándose en la longitud K2, realizando un acortamiento en los bits de información en un orden según un patrón de acortamiento predeterminado definido en la siguiente tabla.
Según todavía incluso otro aspecto a modo de ejemplo de la presente invención, se proporciona un aparato para un extractor de matriz de comprobación de paridad para leer información de la matriz de comprobación de paridad; un aplicador de patrón de acortamiento para determinar una longitud K2, donde K2 indica una longitud de bits de información que van a obtenerse mediante acortamiento, en el que los bits de información incluyen 168 bits de paridad BCH, y basándose en la longitud K2, realizando un acortamiento en los bits de información en un orden según un patrón de acortamiento predeterminado definido en la siguiente tabla.
Breve descripción de los dibujos
Los anteriores y otros aspectos, características y ventajas de la presente invención serán más evidentes a partir de la siguiente descripción detallada cuando se toma en conjunto con los dibujos adjuntos en los que:
la figura 1 es un diagrama que ilustra una matriz de comprobación de paridad a modo de ejemplo de un código de LDPC de longitud 8;
la figura 2 es un diagrama que ilustra un grafo de Tanner para una matriz de comprobación de paridad a modo de ejemplo de un código de LDPC de longitud 8;
la figura 3 es un diagrama que ilustra una estructura esquemática de un código LDPC de DVB-S2;
la figura 4 es un diagrama que ilustra una matriz de comprobación de paridad a modo de ejemplo de un código
LDPC de DVB-S2;
la figura 5 es un diagrama de bloques que ilustra una estructura de un transceptor en un sistema de comunicación usando códigos LDPC;
la figura 6 es un diagrama de flujo que ilustra un proceso para generar un código LDPC con una longitud de palabra de código diferente a partir de una matriz de comprobación de paridad de un código LDPC almacenado según una realización a modo de ejemplo de la presente invención;
la figura 7 es un diagrama de bloques que ilustra una estructura de un aparato de transmisión usando códigos LDPC acortados según una realización de la presente invención;
la figura 8 es un diagrama de bloques que ilustra una estructura de un aparato de transmisión usando códigos LDPC acortados/perforados según una realización a modo de ejemplo de la presente invención;
la figura 9 es un diagrama de bloques que ilustra una estructura de un aparato de recepción usando códigos LDPC a los que se aplica acortamiento, según un ejemplo ilustrativo;
la figura 10 es un diagrama de bloques que ilustra una estructura de un aparato de recepción usando códigos LDPC a los que se aplica tanto acortamiento como perforación, según un ejemplo ilustrativo; y
la figura 11 es un diagrama de flujo que ilustra una operación de recepción en un aparato de recepción según una realización a modo de ejemplo de la presente invención.
A lo largo de los dibujos, se entenderá que los mismos números de referencia de los dibujos hacen referencia a los mismos elementos, características y estructuras.
Descripción detallada
Ahora se describirán en detalle realizaciones preferidas a modo de ejemplo de la presente invención con referencia a los dibujos adjuntos. En la siguiente descripción, puede haberse omitido por motivos de claridad y concisión una descripción detallada de funciones conocidas y configuraciones a modo de ejemplo incorporadas en el presente documento, cuando su inclusión podría dificultar la apreciación de la invención por un experto en la técnica.
La presente invención proporciona un método para soportar códigos LDPC con diversas longitudes de palabra de código usando una matriz de comprobación de paridad de un código LDPC estructurado de un tipo particular. Además, la presente invención proporciona un aparato para soportar diversas longitudes de palabra de código en un sistema de comunicación usando códigos LDPC de un tipo particular, y un método para controlar el mismo. Particularmente, la presente invención proporciona un método y un aparato para generar un código LDPC usando una matriz de comprobación de paridad de un código LDPC dado, siendo el código LDPC generado más corto en longitud que el código LDPC dado.
La figura 5 es un diagrama de bloques que ilustra una estructura de un transceptor en un sistema de comunicación usando códigos LDPC.
En referencia a la figura 5, se introduce un mensaje u en un codificador 511 LDPC en un transmisor 510 antes de transmitirse a un receptor 530. Entonces el codificador 511 LDPC codifica el mensaje u introducido, y emite la señal codificada a un modulador 513. El modulador 513 modula la señal codificada, y transmite la señal modulada al receptor 530 a través de un canal 520 inalámbrico. Entonces un demodulador 531 en el receptor 530 demodula la señal transmitida por el transmisor 510, y emite la señal demodulada a un decodificador 533 LDPC. Entonces el decodificador 533 LDPC estima un valor u de estimación del mensaje basándose en los datos recibidos a través del canal 520 inalámbrico.
El codificador 511 LDPC genera una matriz de comprobación de paridad según una longitud de palabra de código requerida por un sistema de comunicación, usando un esquema preestablecido. Particularmente, según la presente invención, el codificador 511 LDPC puede soportar diversas longitudes de palabra de código usando el código LDPC sin la necesidad separada de información de almacenamiento adicional. A continuación se describirá en detalle una operación detallada del codificador LDPC para soportar diversas longitudes de palabra de código con referencia a la figura 6.
La figura 6 es un diagrama de flujo que ilustra una operación de codificación de un codificador LDPC según una realización a modo de ejemplo de la presente invención. Para ser específicos, la figura 6 ilustra un método para generar códigos LDPC con diferentes longitudes de palabra de código a partir de una matriz de comprobación de
paridad de un código LDPC previamente almacenado.
En el presente documento, el método para soportar diversas longitudes de palabra de código usa una técnica de acortamiento y una técnica de perforación.
La expresión ‘técnica de acortamiento’ tal como se usa en el presente documento significa un método que no usa sustancialmente una parte especificada de una matriz de comprobación de paridad particular dada. Para un mejor entendimiento de la técnica de acortamiento, se describirá en detalle una matriz de comprobación de paridad del código LDPC de DVB-S2 mostrado en la figura 3.
En referencia ahora a la matriz de comprobación de paridad del código LDPC de DVB-S2 mostrado en la figura 3, su longitud total es N1, la parte delantera corresponde a bits de información de longitud K1 (i0, i1,..., iK1-1), y la parte posterior corresponde a bits de paridad de longitud (N1-K1) (P0, P1,..., PN1-K1-1). Habitualmente, los bits de información tienen libremente un valor de 0 ó 1, y la técnica de acortamiento limita los valores de bits de información de una parte particular que va a someterse a acortamiento. Por ejemplo, acortar Ns bits de información de i0 a iNs-1 habitualmente significa que i0 = i1 =... = iNs-1. En otras palabras, al limitar los valores para Ns bits de información de i0 a iNs-1, a 0, la técnica de acortamiento puede obtener el mismo efecto que al no usar sustancialmente Ns columnas delanteras en la matriz de comprobación de paridad del código LDPC de DVB-S2 mostrado en la figura 3. La expresión ‘técnica de acortamiento’ surge de la operación de limitación mencionada anteriormente. Por tanto, aplicar el acortamiento en el presente caso significa considerar los valores de los bits de información acortados, como 0.
Con respecto a la técnica de acortamiento, cuando se configura el sistema, un transmisor y un receptor pueden compartir o generar la misma información de posición para los bits de información acortados. Por tanto, aunque el transmisor no ha transmitido los bits acortados, el receptor realiza la decodificación, sabiendo que los bits de información en las posiciones correspondientes a los bits acortados tienen un valor de 0.
En la técnica de acortamiento, puesto que una longitud de una palabra de código que el transmisor transmite realmente es N1-Ns y una longitud de una palabra de información es también K1-Ns, la tasa de codificación se vuelve (K1 -Ns) /N1 -Ns), que siempre es menor que la primera tasa de codificación dada K1/N1.
A continuación se describirá en detalle la técnica de perforación. Generalmente, la técnica de perforación puede aplicarse tanto a los bits de información como a los bits de paridad. Aunque la técnica de perforación y la técnica de acortamiento tienen en común reducir las longitudes de palabra de código de los códigos, la técnica de perforación, a diferencia de la técnica de acortamiento, descrita anteriormente en el presente documento, no tiene el concepto que limita los valores de bits particulares. La técnica de perforación es un método para simplemente no transmitir bits de información particulares o una parte particular de bits de paridad generados, de modo que un receptor puede realizar un procesamiento de borrado en los bits correspondientes. En otras palabras, simplemente al no transmitir bits en Np posiciones predefinidas en una palabra de código LDPC de longitud N1 generada, la técnica de perforación puede obtener el mismo efecto que al transmitir una palabra de código LDPC de longitud (N1-Np). Puesto que las columnas correspondientes a los bits perforados en la matriz de comprobación de paridad se usan todas intactas en un proceso de decodificación, la técnica de perforación es diferente de la técnica de acortamiento.
Puesto que, según de la invención, la información de posición para los bits perforados puede compartirse o estimarse de igual manera por el transmisor y el receptor cuando se configura el sistema, el receptor realiza un procesamiento de borrado en los bits perforados correspondientes, antes de realizar la decodificación.
En la técnica de perforación, puesto que una longitud de una palabra de código que el transmisor transmite realmente es N1-Np y una longitud de una palabra de información es K1 constantemente, la tasa de codificación se vuelve K1/(N1-Np), que siempre es mayor que la primera tasa de codificación dada K1/N1.
Ahora se realizará una descripción de la técnica de acortamiento a modo de ejemplo y la técnica de perforación a modo de ejemplo adecuadas para el código LDPC de DVB-S2. El código LDPC de DVB-S2, tal como se mencionó anteriormente, es una clase de código LDPC que tiene una estructura particular. Por tanto, en comparación con el código LDPC normal, el código LDPC de DVB-S2 puede experimentar un acortamiento y una perforación más eficaces.
Por motivos de conveniencia de este ejemplo, se supone que una longitud de palabra de código y una longitud de información de un código LDPC son N2 y K2, respectivamente, que la invención desea obtener finalmente a partir del código LDPC de DVB-S2 cuya longitud de palabra de código y longitud de información son N1 y K1, respectivamente, usando la técnica de acortamiento y la técnica de perforación. Si N1-N2= N! y K1-K2= K!, es posible generar el código LDPC cuya longitud de palabra de código y longitud de información son N2 y K2, respectivamente, acortando K! bits y perforando (N!-K!) bits a partir de la matriz de comprobación de paridad del código LDPC de DVBS2. Para el código LDPC generado con N!>0 o K!>0, puesto que su tasa de codificación K1-K!/N1-N! es generalmente diferente de la tasa de codificación K1/N1 del código LDPC de DVB-S2, su característica algebraica cambia. Para N! = K!’, el
código LDPC se genera aplicando ni acortamiento ni perforación o realizando sólo acortamiento.
Sin embargo, con respecto al código LDPC de DVB-S2, tal como se describe en la regla 1 y la regla 2, cuando un
i=1,...,K / M ,i = 0,..., M −1) corresponde a M1 columnas, un total de K1/ N1 grupos
111 1
de columnas tienen cada uno una forma estructural. Por tanto, el código LDPC de DVB-S2 es igual a un código
LDPC que no usa M1 columnas, si no usa un valor . Se propone el siguiente proceso de acortamiento considerando tales características.
En la etapa 601, el codificador 511 LDPC lee la información de grupo de columnas de un código LDPC de DVB-S2 que va a someterse a acortamiento. Es decir, el codificador 511 LDPC lee la información de matriz de comprobación de paridad almacenada. Después, en la etapa 603, el codificador 511 LDPC determina una longitud de palabra de código N2 y una longitud de información K2 para una palabra de código LDPC acortada para transmitir realmente después del acortamiento. Después, el codificador 511 LDPC realiza un proceso de acortamiento de las etapas 605 a 611, en las que el codificador 511 LDPC realiza un acortamiento correspondiente a una longitud de información requerida de un código LDPC, basándose en la información leída de la matriz de comprobación de paridad almacenada.
Etapa de acortamiento 1: El codificador 511 LDPC determina
en la etapa 605, donde LJ significa el
x
número entero máximo que es menor que o igual a x.
Etapa de acortamiento 2: El codificador 511 LDPC selecciona una secuencia para (A+1) grupos de columnas de
entre en la etapa 607, y la secuencia seleccionada se define como . El
codificador 511 LDPC considera que no hay ninguna secuencia para los K1/M1-A-1 grupos de columnas restantes.
Etapa de acortamiento 3: El codificador 511 LDPC genera un código LDPC de DVB-S2 acortado a partir de los A+1
valores seleccionados en la etapa de acortamiento 2, usando la regla 1 y la regla 2 en la etapa 609. Debe observarse que el código LDPC acortado tiene una longitud de información de (A+1)/M1, que siempre es mayor o igual que K2.
Etapa de acortamiento 4: El codificador 511 LDPC acorta adicionalmente (A+1)/M1-K2 columnas del código LDPC acortado generado en la etapa de acortamiento 3 en la etapa 611.
Para una descripción de ejemplos detallados, ahora se realizará una descripción detallada de un proceso para generar un nuevo código LDPC cuya longitud de palabra de código es N2=4050 y cuya longitud de información es K2=1170, acortando 12150 bits de entre los bits de información usando un código LDPC de DVB-S2 que tiene una característica de N1=16200, K1=13320, M1=360 y q=9.
Ejemplo de etapa de acortamiento 1: El codificador 511 LDPC determina
Ejemplo de etapa de acortamiento 2: El codificador 511 LDPC selecciona una secuencia para 4 grupos de
columnas de entre un total de 37 valores . En este ejemplo particular, el codificador 511 LDPC selecciona la 35 siguiente secuencia.
Ejemplo de etapa de acortamiento 3: El codificador 511 LDPC genera un código LDPC de DVB-S2 acortado a
partir de los 4 valores
seleccionados en el ejemplo de etapa de acortamiento 2, usando la regla 1 y la regla 2. Para el código LDPC acortado, una longitud de su palabra de información es 4x360=1440.
Ejemplo de etapa de acortamiento 4: El codificador 511 LDPC acorta adicionalmente 1440-1170=270 columnas a partir del código LDPC acortado generado en el ejemplo de etapa de acortamiento 3. El codificador 511 LDPC realiza una codificación basándose en el código LDPC acortado.
Según la realización a modo de ejemplo, puesto que la información de secuencia para K 1/M1-A-1 = 13320/360-4=33
no se usan grupos de columnas de entre los valores , lo que es equivalente a acortar un total de 33x360=11880 bits en el ejemplo de etapa de acortamiento 2. Además, puesto que el codificador 511 LDPC ha acortado adicionalmente 270 bits de información a través del ejemplo de etapa de acortamiento 3 y el ejemplo de etapa de acortamiento 4, es finalmente equivalente a acortar 12150 bits de información. Por tanto, el resultado de la realización proporciona un código LDPC acortado con una longitud de palabra de código N2=4050 y una longitud de información K2=1170.
Tal como se describió anteriormente, la presente invención puede aplicar una técnica de acortamiento eficaz que, en comparación con una técnica de acortamiento de bit en bit que se usa habitualmente para acortar el código LDPC de DVB-S2, emplea un método de no usar información en grupos de columnas del código LDPC de DVB-S2 dependiendo de las características estructurales del código LDPC de DVB-S2.
Los criterios de selección de una secuencia para un grupo de columnas pueden resumirse tal como sigue en la etapa 2 en el proceso de acortamiento del código LDPC de DVB-S2.
Criterio 1: El codificador 511 LDPC selecciona un código LDPC acortado con una longitud de palabra de código N2 y una longitud de información K2, obtenido realizando acortamiento en un código LDPC de DVB-S2 con una longitud de palabra de código N1 y una longitud de información K1, siendo la distribución de grados del código LDPC acortado seleccionado casi similar a la distribución de grados óptima del código LDPC normal con una longitud de palabra de código N2 y una longitud de información K2.
Criterio 2: El codificador 511 LDPC selecciona un código que tiene la característica de ciclo bueno en el grafo de Tanner de entre los códigos acortados seleccionados en el criterio 1. En la presente invención, con respecto a un criterio para una característica de ciclo, el codificador 511 LDPC selecciona un caso en el que los ciclos de longitud mínima en el grafo de Tanner son tan grandes como sea posible y el número de ciclos de longitud mínima es tan pequeño como sea posible.
Aunque la distribución de grados óptima del código LDPC normal puede hallarse en el criterio 1 usando un método de análisis de evolución de densidad, se omitirá una descripción detallada del mismo puesto que es irrelevante para el entendimiento de la presente invención.
Si el número de selecciones de una secuencia de posición de peso 1 para el grupo de columnas no es grande, el codificador 511 LDPC puede seleccionar una secuencia de posición de peso 1 para el grupo de columnas con el mejor rendimiento buscando absolutamente en todos los casos independientemente del criterio 1 y del criterio 2. Sin embargo, los criterios de selección para grupos de columnas, aplicados en la etapa de acortamiento 2 del código LDPC de DVB-S2, pueden aumentar su eficacia seleccionando un código LDPC que cumpla ambas condiciones cuando el número de selecciones de la secuencia de posición de peso 1 para el grupo de columnas es demasiado
grande.
Para describir un ejemplo de una buena secuencia obtenida aplicando los criterios de selección de una secuencia de posición de peso 1 para el grupo de columnas, se considerará un código de DVB-S2 con N1=16200, K1=3240, M1=360 y q=36. El código LDPC de DVB-S2 tiene la siguiente secuencia de posición de peso 1 en grupos de columnas.
6295 9626 304 7695 4839 4936 1660 14411203 5567 6347 12557
10691 4988 3859 3734 3071 3494 7687 10313 5964 8069 8296 11090
10774 3613 5208 11177 7676 3549 8746 6583 7239 12265 2674 4292
11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120
7844 3079 10773
3385 10854 5747
1360 12010 12202
6189 4241 2343
9840 12726 4977
La i-ésima secuencia de posición de peso 1 en la i-ésima línea representa de manera secuencial la información sobre la posición de filas con 1 para el i-ésimo grupo de columnas. Por tanto, puede apreciarse que el código LDPC de DVB-S2 está compuesto por 9 grupos de columnas y su longitud de información es 9 360 = 3240. Si una longitud de palabra de código y una longitud de información que se desea obtener realizando acortamiento son N2 y K2, respectivamente, es posible hallar el patrón de acortamiento optimizado usando desde la etapa de acortamiento 1 hasta la etapa de acortamiento 4.
Sin embargo, cuando los valores de N2 y K2 requeridos por el sistema son muy variables, el patrón de acortamiento optimizado puede no tener ninguna correlación según el valor de N2. Por ejemplo, suponiendo que la selección óptima para un caso necesario para acortar 2 grupos de columnas a partir del código LDPC de DVB-S2 no está usando información sobre las filas con 1 en los grupos de columnas 4º y 8º, puesto que la selección y el acortamiento de los grupos de columnas 1º, 5º y 6º también pueden ser óptimos cuando se seleccionan 3 grupos de columnas, no tienen ninguna correlación entre sí. Por tanto, cuando los valores de N2 y K2 requeridos por el sistema son muy variables, es indeseablemente necesario almacenar todos los patrones de acortamiento optimizados según un valor de K2, para el rendimiento optimizado.
Por tanto, si los valores de N2 y K2 requeridos por el sistema son muy variables, pueden hallarse patrones de acortamiento subóptimos usando el siguiente método, para eficacia del sistema.
En primer lugar, se supone que la selección de 1 grupo de columnas es necesaria para el acortamiento. En este caso, puesto que el número de grupos de columnas que pueden seleccionarse es sólo 1 en un sentido óptimo, es posible seleccionar el grupo de columnas de más alto rendimiento. Después, cuando existe una necesidad de selección de 2 grupos de columnas para el acortamiento, el codificador 511 LDPC selecciona un grupo de columnas que muestra el mejor rendimiento de entre los grupos de columnas restantes, incluyendo el 1 grupo de columnas seleccionado. De la misma manera, cuando es necesaria una selección de i grupos de columnas para el acortamiento, el codificador 511 LDPC selecciona un grupo de columnas de más alto rendimiento de entre los grupos de columnas restantes, incluyendo los (i-1) grupos de columnas seleccionados en la etapa anterior para el acortamiento.
Este método de acortamiento, aunque no puede garantizar la selección óptima, puede tener un rendimiento estabilizado a partir de un patrón de acortamiento independientemente de un cambio en el valor de K2.
Para un ejemplo detallado, cuando los valores de N2 y K2 requeridos por el sistema son muy variables, es posible hallar patrones de acortamiento subóptimos según N2 y K2, para 9 casos mostrados en la tabla 1. En el presente caso, N2=N1-K2, puesto que la técnica de perforación no se considera.
Tabla 1
Alcance de K2
Método de acortamiento
1) 2880≤K2<3240
Acorta 3240-K2 bits a partir de una palabra de información correspondiente a la 8ª secuencia 6189 4241 2343 para el 8º grupo de columnas de entre las secuencias de posición de peso 1.
2) 2520≤K2<2880
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a la 8ª secuencia de entre las secuencias de posición de peso 1, y adicionalmente acorta 2880-K2 bits a partir de una palabra de información correspondiente a la 4ª secuencia 11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120 para el 4º grupo de columnas.
3) 2160≤K2<2520
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a las secuencias 8ª y 4ª de entre las secuencias de posición de peso 1, y adicionalmente acorta 2520-K2 bits a partir de una palabra de información correspondiente a la 7ª secuencia 1360 12010 12202 para el 7º grupo de columnas.
4) 1800≤K2<2160
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a las secuencias 8ª, 4ª y 7ª de entre las secuencias de posición de peso 1, y adicionalmente acorta 2160-K2 bits a partir de una palabra de información correspondiente a la 6ª secuencia 3385 10854 5747 para el 6º grupo de columnas.
5) 1440≤K2<1800
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a las secuencias 8ª, 4ª, 7ª y 6ª de entre las secuencias de posición de peso 1, y adicionalmente acorta 1880-K2 bits a partir de una palabra de información correspondiente a la 3ª secuencia 10774 3613 5208 11177 7676 3549 8746 6583 7239 12265 2674 4292 para el 3er grupo de columnas.
6) 1080≤K2<1440
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a las secuencias 8ª, 4ª, 7ª, 6ª y 3ª de entre las secuencias de posición de peso 1, y adicionalmente acorta 1440-K2 bits a partir de una palabra de información correspondiente a la 5ª secuencia 7844 3079 10773 para el 5º grupo de columnas.
7) 720≤K2<1080
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a las secuencias 8ª, 4ª, 7ª, 6ª, 3ª y 5ª de entre las secuencias de posición de peso 1, y adicionalmente acorta 1080-K2 bits a partir de una palabra de información correspondiente a la 2ª secuencia 10691 4988 3859 3734 3071 3494 7687 10313 5964 8069 8296 11090 para el 2º grupo de columnas.
(continuación)
Alcance de K2
Método de acortamiento
8) 528≤K2<720
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a las secuencias 8ª, 4ª, 7ª, 6ª, 3ª, 5ª y 2ª de entre las secuencias de posición de peso 1, y adicionalmente acorta 720-K2 bits a partir de una palabra de información correspondiente a la 9ª secuencia 9840 12726 4977 para el 9º grupo de columnas. Sin embargo, puesto que los 168 bits de paridad BCH se correlacionan con una parte del grupo de columnas, que corresponde a la 9ª secuencia, mediante un esquema de codificación de DVB-S2, las columnas en las posiciones correspondientes a la paridad BCH no se someten a acortamiento.
9) 168≤K2<528
Acorta todas las columnas incluidas en el grupo de columnas, que corresponden a las secuencias 8ª, 4ª, 7ª, 6ª, 3ª, 5ª, 2ª y 9ª de entre las secuencias de posición de peso 1, y adicionalmente acorta 528-K2 bits a partir de una palabra de información correspondiente a la 1ª secuencia 6295 9626 304 7695 4839 4936 1660 144 11203 5567 6347 12557 para el 1er grupo de columnas. En el presente caso, K2=168 significa el caso en el que sólo las columnas correspondientes a la paridad BCH permanecen en el código LDPC de DVB-S2. En otras palabras, no existe ningún bit de palabra de información puro. Esto no se considera.
El orden de acortamiento en la tabla 1 se determina al dividir, por ejemplo, la palabra de información en 9 intervalos, 5 y luego aplicando el criterio 1 y el criterio 2 a la misma.
En referencia a la tabla 1 puede apreciarse que todas las columnas correspondientes a las secuencias 8ª, 4ª, 7ª, 6ª, 3ª, 5ª, 2ª, 9ª y 1ª incluidas en el grupo de columnas se someten de manera secuencial a un acortamiento según la longitud de información requerida para el código LDPC. Es decir, un valor de 0 se correlaciona con los bits de información que se someterán a un acortamiento en orden de las columnas correspondientes a las filas 8ª, 4ª, 7ª, 6ª,
10 3ª, 5ª, 2ª, 9ª y 1ª según la longitud de información requerida. Alternativamente, también puede considerarse que los bits de información significativos, que no están fijados a 0, se correlacionan de manera secuencial con las columnas correspondientes a las secuencias 1ª, 9ª, 2ª, 5ª, 3ª, 6ª, 7ª, 4ª y 8ª según la longitud de información. El orden ‘8, 4, 7, 6, 3, 5, 2, 9, 1’ de las columnas también puede expresarse como ‘7, 3, 6, 5, 2, 4, 1, 8, 0’, representando la 1ª columna como un 0-ésimo bloque.
15 En la etapa 8) y la etapa 9) en la tabla 1, puesto que los últimos 168 bits del 9º grupo de columnas, o el último grupo de columnas, en la parte correspondiente a los bits de información del código LDPC de DVB-S2 con N1=16200, K1=3240, M1=360 y q=36 se correlacionan con bits de paridad de Bose-Chaudhuri-Hocquenghem (BCH), no pueden someterse a acortamiento. En realidad, cuando un código LDPC de DVB-S2 con N1=16200 se diseña de manera que los 168 bits de paridad BCH estén siempre incluidos en los bits de información LDPC que tienen las longitudes
20 K1 y K2.
La información de orden de acortamiento mostrada en la tabla 1 también puede expresarse como en la tabla 2, de manera resumida.
Tabla 2
Variables principales del código LDPC de DVB-S2
N1=16200, K1=3240, M1=360, q=36
Alcance de K2
Método de acortamiento
1) 528 ≤K2<3240
Para un número entero , acorta todos los m grupos de columnas correspondientes a los grupos de columnas π(0)-ésimo, π(1)-ésimo,…, y π(m-1)-ésimo, y adicionalmente acorta 3240-K2-360m bits de información del π(m)-ésimo grupo de columnas. En el presente documento, π indica una función de permutación que significa un patrón de acortamiento, y se muestra una relación entre los mismos en la parte inferior de la tabla. Sin embargo, cuando se acorta una parte de un π(7)=8-ésimo grupo de columnas, las columnas en las posiciones correspondientes a los 168 bits de paridad BCH no están sujetas a acortamiento.
2) 168≤K2<528
Acorta todos los grupos de columnas π(0)-ésimo, π(1)-ésimo,..., y π(6)-ésimo, y acorta todas las columnas excepto las columnas en las posiciones correspondientes a los 168 bits de paridad BCH a partir del π(7)=8-ésimo grupo de columnas. Además, acorta adicionalmente 528-K2 bits de información correspondientes al π(8)=0-ésimo grupo de columnas.
π(0)
π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8)
7
3 6 5 2 4 1 8 0
Para una descripción de otra realización a modo de ejemplo, se describirá un código de DVB-S2 con N1=16200, K1=7200, M1=360 y q=25. El código LDPC de DVB-S2 tiene las siguientes secuencias de posición de peso 1. 5 20 712 2386 6354 4061 1062 5045 5158 21 2543 5748 4822 2348 3089 6328 5876 22 926 5701 269 3693 2438 3190 3507 23 2802 4520 3577 5324 1091 4667 4449 24 5140 2003 1263 4742 6497 1185 6202 10 0 4046 6934 1 2855 66 2 6694 212 3 3439 1158 4 3850 4422 15 5 5924 290 6 1467 4049 7 7820 2242 8 4606 3080
9 4633 7877 10 3884 6868 11 8935 4996 12 3028 764
5 13 5988 1057 14 74113450 La i-ésima secuencia representa de manera secuencial la información sobre la posición de filas con 1 para un i
ésimo grupo de columnas. Por tanto, puede apreciarse que el código LDPC de DVB-S2 está compuesto por 20 grupos de columnas, y la longitud de información es 20×360=7200. Cuando la longitud de palabra de código y la 10 longitud de información que se desea obtener realizando acortamiento son N2 y K2, respectivamente, es posible
hallar patrones de acortamiento subóptimos tal como se define en la tabla 3. Tabla 3
Variables principales del código LDPC de DVB-S2
N1=16200, K1=7200, M1=360, q=25
Alcance de K2
Método de acortamiento
1) 528≤K2<7200
Para un número entero , acorta todos los m grupos de columnas correspondientes a los grupos de columnas π(0)-ésimo, π(1)ésimo,…, y π(m-1)-ésimo, y adicionalmente acorta 7200-K2-360m bits de información a partir del π(m)-ésimo grupo de columnas. En el presente documento, π indica una función de permutación que significa un patrón de acortamiento, y se muestra una relación entre los mismos en la parte inferior de la tabla. Sin embargo, cuando se acorta una parte de un π(18)=19-ésimo grupo de columnas, las columnas en las posiciones correspondientes a los 168 bits de paridad BCH no están sujetas a acortamiento.
2) 168≤K2<528
Acorta todos los grupos de columnas π(0)-ésimo, π(1)-ésimo,..., y π(6)-ésimo, y acorta todas las columnas excepto las columnas en las posiciones correspondientes a los 168 bits de paridad BCH a partir del π(18)=19-ésimo grupo de columnas. Además, acorta adicionalmente 528-K2 bits de información correspondientes al π(19)=0-ésimo grupo de columnas.
π(0)
π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8) π(9)
18
17 16 15 14 13 12 11 4 10
π(10)
π(11) π(12) π(13) π(14) π(15) π(16) π(17) π(18) π(19)
9
8 3 2 7 6 5 1 19 0
En el proceso de acortamiento, el acortamiento adicional puede implementarse más fácilmente si el proceso se
15 realiza de manera secuencial desde la parte posterior o la parte delantera del grupo de columnas en el que se logra un acortamiento adicional.
Después de la etapa 611 en la figura 6, cuando es necesaria una perforación, el codificador 511 LDPC aplica una perforación en un proceso de codificación LDPC en la etapa 613. El método de perforación se describirá a continuación de manera resumida.
20 Si una longitud de palabra de código y una longitud de información de un código LDPC se definen como N2 y K2, respectivamente, entonces la invención pretende obtener eventualmente a partir del código LDPC de DVB-S2 con una longitud de palabra de código N1 y una longitud de información K1 usando la técnica de acortamiento y la técnica de perforación, y se establece que N1-N2=N! y K1-K2=K!, es posible conseguir el código LDPC con una longitud de palabra de código N2 y una longitud de información K2 acortando K! bits y perforando (N!-K!) bits a partir de una matriz de comprobación de paridad del código LDPC de DVB-S2. Suponiendo que, por motivos de conveniencia, sólo la parte de paridad se somete a perforación, puesto que la longitud de paridad es N1-K1, hay un método de perforación de 1 bit a partir de la parte de paridad cada (N1-K1)/(N!-K!) bits. Sin embargo, también pueden aplicarse otros diversos métodos como la técnica de perforación.
Para N!-K!=0, no hay necesidad de aplicar la técnica de perforación. En este caso particular, es posible conseguir un código LDPC de DVB-S2 acortado de alta eficacia aplicando un método de generación similar para el código LDPC de DVB-S2 usando el patrón de acortamiento mostrado en la tabla 1.
En la figura 7 se muestra un ejemplo detallado de un aparato de transmisión para implementar un proceso de acortamiento para el código LDPC de DVB-S2. La figura 7 es un diagrama de bloques que ilustra una estructura a modo de ejemplo de un aparato de transmisión usando códigos LDPC acortados según una realización de la presente invención.
El aparato de transmisión incluye, por ejemplo, un controlador 710, un aplicador 720 de patrón de acortamiento, un extractor 740 de matriz de comprobación de paridad del código LDPC, y un codificador 760 LDPC.
El extractor 740 de matriz de comprobación de paridad del código LDPC extrae una matriz de comprobación de paridad del código LDPC acortado. La matriz de comprobación de paridad del código LDPC puede extraerse de una memoria, o puede proporcionarse en el aparato de transmisión, o puede generarse por el aparato de transmisión.
El controlador 710 controla el aplicador 720 de patrón de acortamiento de modo que pueda determinar un patrón de acortamiento según una longitud de información. El aplicador 720 de patrón de acortamiento inserta bits cero (0) en las posiciones de bits acortados, o elimina columnas correspondientes a los bits acortados de la matriz de comprobación de paridad de un código LDPC dado. Un método para determinar el patrón de acortamiento puede usar un patrón de acortamiento almacenado en una memoria, generar un patrón de acortamiento usando un generador de secuencias (no mostrado), o usar un algoritmo de análisis de evolución de densidad para una matriz de comprobación de paridad y su longitud de información dada.
El controlador 710 controla el aplicador 720 de patrón de acortamiento de modo que pueda acortar una parte de los bits de información del código LDPC en los patrones mostrados en la tabla 1 a la tabla 3.
El codificador 760 LDPC realiza la codificación basándose en el código LDPC acortado por el controlador 710 y el aplicador 720 de patrón de acortamiento.
Las figuras 8 y 9 son diagramas de bloques que ilustran estructuras de un aparato de transmisión y un aparato de recepción para un código LDPC de DVB-S2 al que se aplica tanto acortamiento como perforación, respectivamente.
La figura 8 es un diagrama de bloques que ilustra una estructura a modo de ejemplo de un aparato de transmisión usando códigos LDPC acortados/perforados según una realización de la presente invención.
El aparato de transmisión de la figura 8 comprende además un aplicador 880 de patrones de perforación añadido al aparato de transmisión de la figura 7. En referencia a la figura 8, puede apreciarse que el acortamiento se lleva a cabo en la fase delantera del codificador 760 LDPC y la perforación se realiza en la fase de salida del codificador 760 LDPC.
El aplicador 880 de patrones de perforación aplica perforación a la salida del codificador 760 LDPC. El método de aplicar perforación se ha descrito en detalle en la etapa 613 de la figura 6.
La figura 9 es un diagrama de bloques que ilustra una estructura a modo de ejemplo de un aparato de recepción usando códigos LDPC a los que se aplica acortamiento, según un ejemplo ilustrativo.
En la figura 9 se muestra un ejemplo de un aparato de recepción que recibe una señal transmitida desde un sistema de comunicación usando el código LDPC de DVB-S2 acortado, y restaura los datos deseados por un usuario a partir de la señal recibida cuando se determina una longitud del código LDPC de DVB-S2 acortado a partir de la señal recibida.
El aparato de recepción incluye, por ejemplo, un controlador 910, una unidad 920 de decisión/estimación de patrón de acortamiento, un demodulador 930 y un decodificador 940 LDPC.
El demodulador 930 recibe y demodula un código LDPC acortado, y proporciona la señal demodulada a la unidad 920 de decisión/estimación de patrón de acortamiento y al decodificador 940 LDPC.
La unidad 920 de decisión/estimación de patrón de acortamiento, bajo el control del controlador 910, estima o decides información sobre un patrón de acortamiento de un código LDPC a partir de la señal demodulada, y proporciona información de posición de los bits acortados al decodificador 940 LDPC. Un método de decidir o estimar un patrón de acortamiento en la unidad 920 de decisión/estimación de patrón de acortamiento puede usar un patrón de acortamiento almacenado en una memoria, o generar un patrón de acortamiento usando un generador de secuencias (no mostrado), o usar un algoritmo de análisis de evolución de densidad para una matriz de comprobación de paridad y su longitud de información dada.
Puesto que la probabilidad de que los valores de bits acortados sea cero (0) en el decodificador 940 LDPC es de 1 (o el 100%), el controlador 910 decide si decodificará los bits acortados por medio del decodificador 940 LDPC, usando el valor de probabilidad de 1.
El decodificador 940 LDPC restaura los datos deseados por el usuario a partir de la señal recibida cuando halla una longitud del código LDPC de DVB-S2 acortado por medio de la unidad 920 de decisión/estimación de patrón de acortamiento.
La figura 10 es un diagrama de bloques que ilustra una estructura a modo de ejemplo de un aparato de recepción usando códigos LDPC a los que se aplica tanto acortamiento como perforación, según un ejemplo ilustrativo.
En el aparato de recepción de la figura 10, una unidad 1020 de decisión/estimación de patrón de acortamiento y perforación sustituye a la unidad 920 de decisión/estimación de patrón de acortamiento de la figura 9.
Cuando el aparato de transmisión aplica tanto acortamiento como perforación, la unidad 1020 de decisión/estimación de patrón de acortamiento y perforación en el aparato de recepción puede realizar en primer lugar una decisión/estimación de patrón sobre el acortamiento, o puede realizar en primer lugar una decisión/estimación de patrón sobre la perforación, o puede realizar simultáneamente una decisión/estimación de patrón sobre el acortamiento y una decisión/estimación de patrón sobre la perforación.
El decodificador 940 LDPC preferiblemente tiene información tanto sobre el acortamiento como la perforación con el fin de realizar la decodificación.
La figura 11 es un diagrama de flujo que ilustra una operación de recepción a modo de ejemplo en un aparato de recepción según un ejemplo ilustrativo.
Un demodulador 930 recibe y demodula un código LDPC acortado en la etapa 1101. Después, una unidad 920 de decisión/estimación de patrón de acortamiento decide o estima un patrón(es) de acortamiento/perforación a partir de la señal demodulada en la etapa 1103.
La unidad 920 de decisión/estimación de patrón de acortamiento determina en la etapa 1105 si hay algún bit acortado/perforado. Si no hay ningún bit acortado/perforado, un decodificador 940 LDPC realiza la decodificación en la etapa 1111. Sin embargo, si hay bit(s) acortado(s)/perforado(s), una unidad 1020 de decisión/estimación de patrón de acortamiento y perforación proporciona la información de posición de los bits acortados/perforados al decodificador 940 LDPC en la etapa 1107.
En la etapa 1109, basándose en la información de posición de los bits acortados/perforados, el decodificador 940 LDPC determina que la probabilidad de que los valores de los bits acortados sea 0 es 1, y determina que los bits perforados son bits borrados. Después, el decodificador 940 LDPC procede a la etapa 1111 en la que realiza decodificación por LDPC.
Tal como es evidente a partir de la descripción anterior, la presente invención proporciona patrones de acortamiento, haciendo posible por tanto no usar sustancialmente algunas columnas. Además, la presente invención puede generar códigos LDPC separados con diferentes longitudes de palabra de código usando información sobre una matriz de comprobación de paridad dada en un sistema de comunicación usando códigos LDPC.
Los métodos descritos anteriormente según la presente invención pueden realizarse en hardware o como software o código informático que puede almacenarse en un medio de grabación tal como un CD ROM, una RAM, un disco flexible, un disco duro, o un disco magneto-óptico o descargarse a través de una red, de modo que los métodos descritos en el presente documento pueden ejecutarse mediante tal software usando un ordenador de propósito general, o un procesador especial o en hardware programable o dedicado, tal como un ASIC o una FPGA. Tal como se entenderá en la técnica, el ordenador, el procesador o el hardware programable incluyen componentes de memoria, por ejemplo, RAM, ROM, Flash, etc. que pueden almacenar o recibir software o código informático que, cuando se accede al mismo y se ejecuta por el ordenador, el procesador o hardware, implementan los métodos de procesamiento descritos en el presente documento.
Aunque se ha mostrado y se ha descrito la invención con referencia a una determinada realización preferida de la misma, los expertos en la técnica entenderán que pueden realizarse diversos cambios en la forma y detalles en la misma sin apartarse del alcance de la invención según se define por las reivindicaciones adjuntas.

Claims (2)

  1. REIVINDICACIONES
    1. Método para codificar canales en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC) para el cual una matriz de comprobación de paridad tiene N1 columnas, donde N1 es 16200, teniendo la matriz de comprobación de paridad una parte de información y una parte de paridad, en el que la parte de información tiene K1 columnas, donde K1 es 7200, en el que la parte de paridad tiene (N1-K1) columnas, donde (N1-K1) es 9000; en el que la parte de información comprende una pluralidad de grupos de columnas, teniendo cada grupo de columnas M1 columnas, donde M1 es 360, y el número de grupos de columnas es K1/M1, donde K1/M1 es 20,
    en el que las secuencias de posiciones de ‘1’ en la 0-ésima columna en el i-ésimo grupo de columnas, i=0,..., 19, indicado por , son 20 712 2386 6354 4061 1062 5045 5158 21 2543 5748 4822 2348 3089 6328 5876 22 926 5701 269 3693 2438 3190 3507 23 2802 4520 3577 53241091 4667 4449 24 5140 2003 1263 4742 6497 1185 6202 0 4046 6934 1 2855 66 2 6694 212 3 3439 1158 4 3850 4422 5 5924 290 6 1467 4049 7 7820 2242 8 4606 3080 9 4633 7877 10 3884 6868 11 8935 4996 12 3028 764 13 5988 1057 14 7411 3450, donde un grado de la 0-ésima columna en cada i-ésimo grupo de columnas se indica por Di; en el que la estructura de la parte de información se realiza usando la siguiente regla:
    determinar posiciones de filas con ‘1’, indicadas por
    mediante
    donde q es un número entero que cumple q = (N1- K1)/M1 = 25;
    comprendiendo el método:
    (a)
    leer información de la matriz de comprobación de paridad;
    (b)
    determinar una longitud K2, donde K2 indica una longitud de bits de información que va a obtenerse mediante acortamiento, en el que los bits de información incluyen 168 bits de paridad BCH;
    (c)
    basándose en la longitud K2, realizando un acortamiento en los bits de información en un orden según un patrón de acortamiento predeterminado definido en la siguiente tabla
    Alcance de K2
    Método de acortamiento
    1) 528≤K2<7200
    Para un número entero , acorta todos los bits de información correspondientes a los grupos de columnas π(0)-ésimo, π(1)-ésimo,…, y π(m-1)-ésimo, y adicionalmente acorta 7200-K2-360m bits de información del π(m)-ésimo grupo de columnas. En el presente documento, π indica una función de permutación mostrada en la parte inferior de la tabla. Sin embargo, cuando se acorta una parte de bits de información correspondiente al π(18)=19-ésimo grupo de columnas, los 168 bits de paridad BCH no están sujetos a acortamiento.
    2) 168≤K2<528
    Acorta todos los bits de información correspondientes a los grupos de columnas π(0)-ésimo, π(1)-ésimo,..., y π(17)-ésimo, y acorta todos los bits de información excepto los 168 bits de información BCH a partir de los bits de información correspondientes al π(18)=19-ésimo grupo de columnas. Además, acorta adicionalmente 528-K2 bits de información correspondientes al π(19)=0-ésimo grupo de columnas.
    π(0)
    π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8) π(9)
    18
    17 16 15 14 13 12 11 4 10
    π(10)
    π(11) π(12) π(13) π(14) π(15) π(16) π(17) π(18) π(19)
    9
    8 3 2 7 6 5 1 19 0
    10 y
    (d) codificar por LDPC los bits de información acortados usando la matriz de comprobación de paridad.
  2. 2. Aparato para codificar canales en un sistema de comunicación usando un código de comprobación de paridad de baja densidad (LDPC) para el cual una matriz de comprobación de paridad tiene N1 columnas, donde N1 es 16200, teniendo la matriz de comprobación de paridad una parte de información y una parte de paridad, en el que
    15 la parte de información tiene K1 columnas, donde K1 es 7200, en el que la parte de paridad tiene (N1-K1) columnas, donde (N1-K1) es 9000, en el que la parte de información comprende una pluralidad de grupos de columnas, teniendo cada grupo de columnas M1 columnas, donde M1 es 360, y el número de grupos de columnas es K1/M1, donde K1/M1 es 20,
    en el que las secuencias de posiciones de ‘1’ en la 0-ésima columna en el i-ésimo grupo de columnas i=0, ..., 19
    20 indicadas por , son 20 712 2386 6354 4061 1062 5045 5158 21 2543 5748 4822 2348 3089 6328 5876 22 926 5701 269 3693 2438 3190 3507 23 2802 4520 3577 5324 1091 4667 4449 24 5140 2003 1263 4742 6497 1185 6202 0 4046 6934 1 2855 66 2 6694 212 3 3439 1158 4 3850 4422 5 5924 290 6 1467 4049 7 7820 2242 8 4606 3080 9 4633 7877 10 3884 6868 11 8935 4996 12 3028 764 13 5988 1057 14 7411 3450, donde un grado de la 0-ésima columna en cada i-ésimo grupo de columnas se indica por Di; en el que la estructura
    de la parte de información se realiza usando la siguiente regla:
    determinar posiciones de filas con ‘1’, indicadas por , mediante
    donde q es un número entero que cumple q = (N1- K1)/M1 = 25;
    comprendiendo el aparato:
    un extractor (740) de matriz de comprobación de paridad para leer información de la matriz de comprobación de paridad;
    un aplicador (720) de patrón de acortamiento para determinar una longitud K2, donde K2 indica una longitud de bits de información que van a obtenerse mediante acortamiento, en el que los bits de información incluyen 168 bits de paridad BCH, y basándose en la longitud K2, realizando un acortamiento en los bits de información en un orden según un patrón de acortamiento predeterminado definido en la siguiente tabla
    Alcance de K2
    Método de acortamiento
    1) 528≤K2<7200
    Para un número entero , acorta todos los bits de información correspondientes a los grupos de columnas π(0)-ésimo, π(1)-ésimo,…, y π(m-1)ésimo, y adicionalmente acorta 7200-K2-360m bits de información del π(m)-ésimo grupo de columnas. En el presente documento, π indica una función de permutación mostrada en la parte inferior de la tabla. Sin embargo, cuando se acorta una parte de bits de información correspondiente al π(18)=19-ésimo grupo de columnas, los 168 bits de paridad BCH no están sujetos a acortamiento.
    2) 168≤K2<528
    Acorta todos los bits de información correspondientes a los grupos de columnas π(0)-ésimo, π(1)-ésimo,..., y π(17)-ésimo, y acorta todos los bits de información excepto los 168 bits de información BCH a partir de los bits de información correspondientes al π(18)=19-ésimo grupo de columnas. Además, acorta adicionalmente 528-K2 bits de información correspondientes al π(19)=0-ésimo grupo de columnas.
    π(0)
    π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8) π(9)
    18
    17 16 15 14 13 12 11 4 10
    π(10)
    π(11) π(12) π(13) π(14) π(15) π(16) π(17) π(18) π(19)
    9
    8 3 2 7 6 5 1 19 0
    y
    un codificador (760) para codificar por LDPC los bits de información acortados usando la matriz de comprobación de paridad.
ES11174714T 2007-12-06 2008-12-08 Método y aparato para codificar canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad Active ES2417930T3 (es)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20070126083 2007-12-06
KR20070126083 2007-12-06
KR20070127365 2007-12-10
KR20070127365 2007-12-10
KR20080012082 2008-02-11
KR20080012082 2008-02-11
KR20080023848 2008-03-14
KR1020080023848A KR101502624B1 (ko) 2007-12-06 2008-03-14 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2417930T3 true ES2417930T3 (es) 2013-08-09

Family

ID=40990098

Family Applications (4)

Application Number Title Priority Date Filing Date
ES11174715T Active ES2415379T3 (es) 2007-12-06 2008-12-08 Método y aparato para la decodificación de canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad
ES11174714T Active ES2417930T3 (es) 2007-12-06 2008-12-08 Método y aparato para codificar canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad
ES10169986T Active ES2397540T3 (es) 2007-12-06 2008-12-08 Acortamiento y perforación de códigos de comprobación de paridad de baja densidad (LDPC) para decodificación de canales
ES08021308T Active ES2380837T3 (es) 2007-12-06 2008-12-08 Acortamiento y perforación de códigos de comprobación de paridad de baja densidad (LDPC) para codificación y decodificación de canales.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES11174715T Active ES2415379T3 (es) 2007-12-06 2008-12-08 Método y aparato para la decodificación de canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES10169986T Active ES2397540T3 (es) 2007-12-06 2008-12-08 Acortamiento y perforación de códigos de comprobación de paridad de baja densidad (LDPC) para decodificación de canales
ES08021308T Active ES2380837T3 (es) 2007-12-06 2008-12-08 Acortamiento y perforación de códigos de comprobación de paridad de baja densidad (LDPC) para codificación y decodificación de canales.

Country Status (7)

Country Link
JP (1) JP5441282B2 (es)
KR (3) KR101502624B1 (es)
AT (1) ATE541362T1 (es)
ES (4) ES2415379T3 (es)
MY (1) MY163774A (es)
RU (2) RU2491727C1 (es)
SG (1) SG2012090015A (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101503059B1 (ko) * 2008-02-26 2015-03-19 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR101554064B1 (ko) * 2008-02-26 2015-09-17 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR101503133B1 (ko) * 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
KR20220022801A (ko) 2020-08-19 2022-02-28 삼성전자주식회사 무선 통신 시스템에서 신호를 복호하는 방법 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906474B1 (ko) * 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치
US7296208B2 (en) * 2003-07-03 2007-11-13 The Directv Group, Inc. Method and system for generating parallel decodable low density parity check (LDPC) codes
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR100918763B1 (ko) * 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
KR100659266B1 (ko) * 2004-04-22 2006-12-20 삼성전자주식회사 다양한 코드율을 지원하는 저밀도 패러티 검사 코드에 의한데이터 송수신 시스템, 장치 및 방법
CN1947368B (zh) * 2004-04-28 2010-06-16 三星电子株式会社 对具有可变块长度的块低密度奇偶校验码编码/解码的设备和方法
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR101351140B1 (ko) * 2005-11-22 2014-01-15 조지아 테크 리서치 코오포레이션 통신 시스템에서 신호 송수신 장치 및 방법

Also Published As

Publication number Publication date
KR101503995B1 (ko) 2015-03-18
KR101503653B1 (ko) 2015-03-17
KR20130044254A (ko) 2013-05-02
SG2012090015A (en) 2014-07-30
RU2491728C1 (ru) 2013-08-27
KR20150003127A (ko) 2015-01-08
RU2012105543A (ru) 2013-07-27
ATE541362T1 (de) 2012-01-15
RU2012105542A (ru) 2013-07-27
ES2397540T3 (es) 2013-03-07
JP2012249327A (ja) 2012-12-13
KR101502624B1 (ko) 2015-03-17
ES2415379T3 (es) 2013-07-25
RU2491727C1 (ru) 2013-08-27
KR20090060106A (ko) 2009-06-11
JP5441282B2 (ja) 2014-03-12
MY163774A (en) 2017-10-31
ES2380837T3 (es) 2012-05-18

Similar Documents

Publication Publication Date Title
US11616514B2 (en) Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
EP2381583B1 (en) Method and apparatus for channel decoding in a communication system using low-density parity-check codes
ES2383835T3 (es) Procedimiento y dispositivo de decodificación para códigos LDPC, y aparato de comunicación que comprende dicho dispositivo
ES2439262T3 (es) Perforación de códigos LDPC en función del esquema de modulación
ES2871173T3 (es) Procedimiento y aparato para codificación y descodificación de canal en un sistema de comunicación que usa códigos de verificación de paridad de baja densidad
RU2450442C2 (ru) Способ и устройство для кодирования и декодирования канала в системе связи с использованием кодов с низкой плотностью проверок на четность
ES2664496T3 (es) Aparato y procedimiento para codificar y decodificar canales en un sistema de comunicación usando códigos de verificación de paridad de baja densidad
ES2417930T3 (es) Método y aparato para codificar canales en un sistema de comunicación usando códigos de comprobación de paridad de baja densidad
KR101552355B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호 및 복호 장치 및 방법
RU2446585C2 (ru) Способ и устройство для кодирования и декодирования канала в системе связи с использованием кодов проверок на четность с малой плотностью