ES2439262T3 - Perforación de códigos LDPC en función del esquema de modulación - Google Patents

Perforación de códigos LDPC en función del esquema de modulación Download PDF

Info

Publication number
ES2439262T3
ES2439262T3 ES09153765.4T ES09153765T ES2439262T3 ES 2439262 T3 ES2439262 T3 ES 2439262T3 ES 09153765 T ES09153765 T ES 09153765T ES 2439262 T3 ES2439262 T3 ES 2439262T3
Authority
ES
Spain
Prior art keywords
parity
bits
length
ldpc code
drilling
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
ES09153765.4T
Other languages
English (en)
Inventor
Seho Myung
Hwan-Joon Kwon
Kyung-Joong Kim
Seok-Ki Ahn
Kyeong-Cheol Yang
Jae-Yoel Kim
Hak-Ju Lee
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 ES2439262T3 publication Critical patent/ES2439262T3/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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/3405Modifications of the signal space to increase the efficiency of transmission, e.g. reduction of the bit error rate, bandwidth, or average power
    • H04L27/3416Modifications of the signal space to increase the efficiency of transmission, e.g. reduction of the bit error rate, bandwidth, or average power in which the information is carried by both the individual signal points and the subset to which the individual points belong, e.g. using coset coding, lattice coding, or related schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/3488Multiresolution systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/36Modulator circuits; Transmitter circuits

Landscapes

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

Abstract

Un método para perforar bits de paridad de una palabra de código de comprobación de paridad de baja densidad(LDPC) asociada con una codificación de canal en un sistema de comunicación que utiliza un código LDPC en untransmisor que incluye un aplicador 1580 de patrón de perforación, involucrando el código LDPC una matriz decomprobación de paridad, comprendiendo la matriz de comprobación de paridad una parte de informacióncorrespondiente a bits de información de una palabra de código LDPC y una parte de paridad correspondiente a bitsde paridad de la palabra de código LDPC, comprendiendo la parte de información grupos de columnas que tienenigual longitud, caracterizado porque el método comprende: determinar un número Np de bits de paridad para perforación y un esquema de modulación; formar conjuntos de bits de paridad mediante dividir los bits de paridad en intervalos predeterminados, y estandoformados los conjuntos de bits de paridad mediante la siguiente ecuación:**Fórmula**

Description

Perforación de códigos LDPC en función del esquema de modulación
ANTECEDENTES DE LA INVENCIÓN
Campo de la Invención
La presente invención se refiere a un sistema de comunicación que utiliza códigos de comprobación de paridad de baja densidad (LDPC, Low-Density Parity-Check). Más en particular, la presente invención se refiere a un método de codificación/descodificación de canal y a un aparato para generar códigos LDPC con varias longitudes de palabra de código y tasas de código a partir de un código LDPC proporcionado en modulación de orden superior.
Descripción de la técnica relacionada
En los sistemas de comunicación inalámbricos, el rendimiento del enlace disminuye significativamente debido a diversos ruidos en los canales, al fenómeno de desvanecimiento y a la interferencia entre símbolos (ISI, Inter-Symbol Interference). Por lo tanto, para conseguir sistemas de comunicación digital de alta velocidad que requieren un caudal de datos y una fiabilidad elevados, tales como la comunicación móvil de siguiente generación, la difusión digital e internet portátil, es necesario desarrollar una tecnología para superar los ruidos de canal, el desvanecimiento y la ISI. Recientemente, se ha llevado a cabo un estudio intensivo sobre los códigos de corrección de errores como método para aumentar la fiabilidad de la comunicación mediante recuperar eficientemente información distorsionada.
El código LDPC, introducido en primer lugar por Gallager en la década de 1960, ha perdido importancia con el tiempo debido a la complejidad de su implementación, que no podía ser solucionada mediante la tecnología de entonces. Sin embargo, dado que el turbo código, que fue descubierto por Berrou, Glavieux, y Thitimajshima en 1993, presenta niveles de rendimiento que se aproximan al límite de Shannon del canal, se han llevado a cabo investigaciones sobre descodificación iterativa y codificación de canal basadas en un grafo, junto con análisis sobre el rendimiento y las características del turbo código. Con esto como impulso, el código LDPC ha vuelto a ser estudiado a finales de la década de 1990, demostrándose que el código LDPC tiene un rendimiento próximo al límite de Shannon del canal, si el código LDPC es sometido a descodificación mediante aplicación de descodificación iterativa en base a un algoritmo suma-producto sobre un grafo de Tanner (un caso especial de un grafo factor) correspondiente al código LDPC.
El código LDPC se representa habitualmente utilizando una técnica de representación de grafos, y muchas características pueden ser analizadas mediante los métodos basados en teoría de grafos, álgebra y teoría de probabilidades. En general, un modelo de grafos de los códigos de canal es útil para la descripción de los códigos, y mediante mapear la información sobre los bits codificados a los vértices en el grafo y mapear las relaciones entre los bits a las aristas en el grafo, es posible considerar el grafo como una red de comunicación en la que los vértices intercambian mensajes predeterminados a través de las aristas, posibilitando de este modo obtener un algoritmo de descodificación natural. Por ejemplo, un algoritmo de descodificación obtenido a partir de un grafo reticulado ("trellis"), que puede ser considerado una clase de grafo, puede incluir el muy conocido algoritmo de Viterbi y un algoritmo de Bahl, Cocke, Jelinek y Raviv (BCJR).
El código LDPC se define en general como una matriz de comprobación de paridad, y puede ser expresado utilizando un grafo bipartito, que se denomina un grafo de Tanner. El grafo bipartito es un grafo en el que los vértices que constituyen el grafo están divididos en dos tipos diferentes, y el código LDPC está representado por el grafo bipartito que consiste en vértices, de los que unos se denominan nodos variables y los otros nodos de comprobación. Los nodos variables están mapeados uno a uno a los bits codificados.
Se describirá un método de representación de grafos para el código LDPC haciendo referencia a las figuras 1 y 2.
La figura 1 muestra un ejemplo de una matriz de comprobación de paridad H1 de un código LDPC con 4 filas y 8 columnas. Haciendo referencia a la figura 1, debido a que el número de columnas es 8, la matriz de comprobación de paridad H1 significa un código LDPC que genera una palabra de código de longitud 8, y las columnas están mapeadas a 8 bits codificados en una relación de uno a uno.
La figura 2 muestra un grafo de Tanner correspondiente a la matriz de comprobación de paridad H1 de la figura 1.
Haciendo referencia la figura 2, el grafo de Tanner del código LDPC incluye 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 columna i-ésima y una fila j-estima en la matriz de comprobación de paridad H1 del código LDPC son mapeadas a un nodo variable xi y a un nodo de comprobación j-ésimo, respectivamente. Además, un valor de 1, es decir, un valor distinto 2 5
de cero, en la posición en que se cruzan una columna i-ésima y una fila j-ésima en la matriz de comprobación de paridad H1 del código LDPC, indica que existe una arista entre el nodo variable xi y el nodo de comprobación j-ésimo en el grafo de Tanner que se muestra en la figura 2.
En el grafo de Tanner del código LDPC, el grado del nodo variable y del nodo de comprobación indica el número de aristas contenidas en cada nodo respectivo, y el grado es igual al número de entradas distintas de cero en una columna o fila correspondiente al nodo pertinente 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 las entradas distintas de cero en las columnas de la matriz de comprobación de paridad H1 en la figura 1, que corresponden a los nodos variables en la figura 2, coinciden con sus grados 4, 3, 3, 3, 2, 2, 2 y 2, y los números de las entradas distintas de cero en las filas de la matriz de comprobación de paridad H1 en la figura 1, que corresponden a los nodos de comprobación de la figura 2, coinciden con sus grados 6, 5, 5 y 5.
Para expresar la distribución de grados para los nodos del código LDPC, la relación del número de nodos variables de grado i respecto al número total de nodos variables se define como fi, y la 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 la longitud del código LDPC, es decir, el número de columnas, se define como N, y el número de filas se define como N/2, la densidad de entradas distintas de cero en toda la matriz de comprobación de paridad que tiene la distribución de grados anterior se calcula tal como se muestra en la ecuación (1).
En la ecuación (1), cuando N aumenta, disminuye la densidad de 1's en la matriz de comprobación de paridad. En general, en relación con el código LDPC, dado que la longitud N de la palabra de código es inversamente proporcional a la densidad de entradas distintas de cero, un código LDPC con N grande tiene una densidad muy baja de entradas distintas de cero. El término 'baja densidad' para el código LDPC está originado en la relación mencionada anteriormente.
A continuación, haciendo referencia a la figura 3, se realizará una descripción de características de una matriz de comprobación de paridad de un código LDPC estructurado aplicable a la presente invención. La figura 3 muestra un código LDPC adoptado como la tecnología estándar de transmisión de difusión de señales digitales de videotransmisión por satélite de segunda generación (DVB-S2, Digital Video Broadcasting-Satellite transmission 2nd generation), que es uno de los estándares europeos de difusión digital.
En la figura 3, N1 y K1 indican una longitud de palabra de código y una longitud de información (una longitud de una palabra de información) de un código LDPC, respectivamente, (N1-K1) proporciona una longitud de paridad. Además, los enteros M1 y q se determinan de manera que satisfacen q=(N1-K1)/M1. Preferentemente, K1/M1 deberá ser asimismo un número entero. La matriz de comprobación de paridad en la figura 3 se denominará en el presente documento una primera matriz de comprobación de paridad H1, sólo para mayor comodidad.
Haciendo referencia a la figura 3, una estructura de una parte de paridad, es decir, columna K1-ésima hasta columna (N1-1)-ésima, en la matriz de comprobación de paridad, tiene forma de diagonal doble. Por lo tanto, en relación con la distribución de grado sobre las columnas correspondientes a la parte de paridad, todas las columnas tienen grado '2', excepto la última columna, que tiene grado '1'.
En la matriz de comprobación de paridad, una estructura de una parte de información, es decir, la columna 0-ésima hasta la columna (K1-1)-ésima, se forma utilizando las reglas siguientes.
Regla 1: se generan un total de K1/M1 grupos de columnas mediante agrupar K1 columnas correspondientes a la palabra de información en la matriz de comprobación de paridad, en múltiples grupos compuestos, cada uno, de M1 columnas. Sigue un método para formar columnas pertenecientes a cada grupo de columnas en la siguiente regla 2.
Regla 2: se determinan en primer lugar las posiciones de 1's en cada columna 0-ésima en grupos de columnas iésimos (donde i=1,...,K1/M1). Cuando un grado de una columna 0-ésima en cada grupo de columnas i-ésimo se
indica mediante Di, si se asume que las posiciones de las filas con 1 son las posiciones
de las filas con 1 se definen según la ecuación (2), en una fila j-ésima (donde j=1, 2,...,M1-1) en un grupo de columnas i-ésimo.
De acuerdo con las reglas anteriores, puede apreciarse que los grados de las columnas que pertenecen a un grupo de columnas i-ésimo son iguales a Di. Para una mejor comprensión de la estructura de un código DVB-S2 LDPC que almacena información sobre la matriz de comprobación de paridad de acuerdo con las reglas anteriores, se describirá el siguiente ejemplo detallado.
Como un ejemplo detallado, para N1=30, K1=15, M1=5 y q=3, pueden expresarse como sigue tres secuencias para la información sobre las posiciones de las filas con 1 para las columnas 0-ésimas en 3 grupos de columnas. En la presente descripción, estas secuencias se denominan por comodidad "secuencias de posición de ponderación-1".
En relación con la secuencia de posición de ponderación-1 para las columnas 0-ésimas en cada grupo de columnas, solamente las secuencias de posición correspondientes pueden expresarse como sigue para cada grupo de columnas. Por ejemplo:
0 12
0 11 13
0 10 14.
En otras palabras, la secuencia de posición de ponderación-1 i-ésima en la línea i-ésima representa secuencialmente la información de las posiciones de las filas con 1 en el grupo de columnas i-ésimo.
Es posible generar un código LDPC que tenga el mismo concepto que el de un código DVB-S2 LDPC de la figura 4, mediante formar una matriz de comprobación de paridad utilizando la información correspondiente al ejemplo detallado, y las reglas 1 y 2.
La solicitud de patente internacional WO 2007/091797 A (D1) se refiere a un método y un transmisor para adaptar el tamaño de una palabra de código codificada mediante un código de comprobación de paridad de baja densidad (LDPC) a un tamaño de un canal de transmisión en un sistema de comunicación móvil. Un método de ajuste del tamaño de palabra de código en un sistema de comunicación que soporta un esquema de codificación LDPC, comprende las etapas de codificar los datos de origen utilizando una matriz de comprobación de paridad, y ajustar el tamaño de la palabra de código codificada para hacerlo coincidir con un tamaño de un canal de transmisión que se determina en función de la capacidad del canal de transmisión, siendo ajustado el tamaño de la palabra de código codificada mediante la utilización de información asociada con ponderaciones de columna de la matriz de comprobación de paridad.
El documento "Variable Rate LDPC Codes for Wireless Applications", de M. Baldo y otros, en Proc. Softcom 2006, 1 de septiembre de 2006, páginas 301 a 305, XP031 059454, ISBN: 978-953-6114-90-0 (D2) describe códigos LDPC de tasa variable para aplicaciones inalámbricas, donde se requiere adaptación de enlace rápida para maximizar la eficiencia del sistema. En particular, el documento describe que puede utilizarse una denominada estrategia de "pseudo-perforación" como alternativa a soluciones más convencionales, asegurando un buen rendimiento y manteniendo al mismo tiempo una complejidad limitada.
La solicitud de patente de EE.UU. US 2007/226583 A1 (D3) describe un aparato y un método para transmitir/recibir señales en un sistema de comunicación. En un sistema de comunicación, un aparato de transmisión de señales incluye un codificador para codificar un vector de información en una palabra de código de comprobación de paridad 45
de baja densidad (LDPC) con un esquema de codificación LDPC, y un perforador para perforar la palabra de código LDPC en función de una tasa de codificación utilizada en un esquema de perforación. Un aparato de recepción de señal incluye un elemento de inserción para insertar símbolos '0' en una señal recibida, de acuerdo con una tasa de codificación utilizada en un aparato de transmisión de señal, y un descodificador para descodificar la señal con símbolos '0' introducidos con un esquema de descodificación correspondiente a un esquema de codificación de comprobación de paridad de baja densidad (LDPC) utilizado en el aparato de transmisión de señal, detectando de ese modo un vector de información.
La solicitud de patente de EE.UU. US 2007/101243 A1 (D4) describe un método para perforar una comprobación de paridad de baja densidad (LDPC). El método incluye a) establecer una longitud de palabra de código y el número total de nodos de bit a perforar; b) seleccionar un nodo de comprobación (o varios nodos de comprobación) con prioridad máxima excluyendo los nodos de comprobación comprobados por completo en la ronda actual; c) seleccionar un nodo de bit (o varios nodos de bit) con prioridad máxima excluyendo los nodos de bit comprobados por completo entre nodos de bit conectados al nodo de comprobación (o nodos de comprobación) seleccionado; d) determinar si el nodo de bit seleccionado es un nodo de bit a perforar, es decir, no es sistemático, no tiene activado un indicador de prohibición de perforación; e) perforar un nodo de bit asociado si el nodo de bit seleccionado es el nodo de bit a perforar, configurar nodos de bit no perforados conectados a dicho o nodo de comprobación seleccionado mediante un indicador de previsión de perforación, reduciendo en 1 el número de nodos de bit restantes a perforar y aumentando en 1 el número de nodos perforados conectados, del nodo de comprobación asociado; f) determinar si el número de bits restantes a perforar es mayor que 0; y g) volver a la etapa b) si el número de bits restantes a perforar es mayor que 0, y finalizar el proceso de perforación si el número de bits restantes a perforar no es mayor que 0.
El documento "Efficient Puncturing Method for Rate-Compatible Low-Density Parity-Check Codes", de H.Y. Park y otros, en IEEE Transactions on Wireless Communications, volumen 6, número 11, 1 de noviembre de 2007, páginas 3914 a 3919, XP011197001, ISSN: 1536-1276 (D5), describe un algoritmo que proporciona el orden de nodos variables para perforación en base a una función de coste propuesta. La función de coste intenta maximizar la fiabilidad mínima entre las proporcionadas por todos los nodos de comprobación. Asimismo, intenta asignar homogéneamente nodos de comprobación supervivientes a todos los nodos variables perforados. El algoritmo presenta la formación de un conjunto de parada a partir de los nodos variables perforados incluso cuando la cantidad de perforación es grande.
El documento "LDPC Codes in Communications and Broadcasting", de T. Ohtsuki en IEICE Trans. Commun., volumen E90B, número 3, 1 de marzo de 2007, describe las bases de los códigos LDPC y sus algoritmos de descodificación. Se presentan algunos códigos LDPC que tienen un buen rendimiento y están recibiendo mucha atención, en particular en los sistemas de comunicación. El documento repasa asimismo algunos códigos LDPC estandarizados, los códigos LDPC estandarizados en DVB-S2 y los códigos LDPC del estándar IEEE802.16e.
Se sabe que el código DVB-S2 LDPC diseñado de acuerdo con la regla 1 y la regla 2 puede ser codificado eficientemente utilizando la forma estructural. A continuación se describirán a modo de ejemplo las etapas respectivas en un proceso de realización de codificación LDPC utilizando la matriz de comprobación de paridad basada en DVB-S2.
En la siguiente descripción, como un ejemplo detallado, un código DVB-S2 LDPC con N1=16200, K1=10800, M1=360 y q=15 es sometido a un proceso de codificación. Por comodidad, los bits de información que tienen una longitud K1 se representan como (i0,i1,...,iK1-1), y los bits de paridad que tiene una longitud de (N1-K1) se expresan como (p0, p1,..., pN1-K1-1).
Etapa 1: un codificador LDPC inicializa bits de paridad, como sigue:
Etapa 2: el codificador LDPC lee información sobre filas donde hay un 1 en un grupo de columnas, a partir de una 0ésima secuencia de posición de ponderación-1 de entre 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 LDPC actualiza los bits de paridad específicos px de acuerdo con la ecuación (3) utilizando la información leída y el primer bit de información i0. En la presente descripción, x indica un valor de R(k)1,0 para k = 1, 2, …, 13.
En la ecuación (3), px = px E i0 puede expresarse asimismo como px < px E i0, y E indica suma binaria.
Etapa 3: el codificador LDPC determina en primer lugar un valor de la ecuación (4) para los siguientes 359 bits de información im (donde m=1, 2, ..., 359) después de i0.
10 En la ecuación (4), x indica un valor de para k = 1, 2,..., 13. Debe observarse que la ecuación (4) es similar a la ecuación (2).
A continuación, el codificador LDPC realiza una operación similar a la ecuación (3) utilizando los valores encontrados en la ecuación (4). En otras palabras, el codificador LDPC actualiza los bits de paridad p{x+(m mod M1)×q}mod(N1-K1) para im. Por ejemplo, para m=1, es decir, para i1, el codificador LDPC actualiza los bits de paridad
15 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 LDPC lleva a cabo el proceso anterior para m=1, 2, ..., 359 del mismo modo que se ha mostrado anteriormente. Etapa 4: tal como en la etapa 2, el codificador LDPC lee información de la primera secuencia de posición de 20 ponderación-1
(k = 1, 2,..., 13) para un bit de información 361-ésimo i360, y actualiza los bits de paridad
específicos px, donde x es .
El codificador LDPC actualiza p{x+(m mod M1)×q}mod(N1-K1), m = 361, 362,..., 719 mediante aplicar de manera similar la ecuación (4) a los siguientes 359 bits de información i361, i362, ..., i719 después de i360. Etapa 5: el codificador LDPC repite las etapas 2, 3 y 4 para todos los grupos teniendo cada uno 360 bits de
25 información. Etapa 6: el codificador LDPC determina finalmente bits de paridad utilizando la ecuación (6).
Los bits de paridad pi de la ecuación (6) son bits de paridad que han sido sometidos totalmente a codificación LDPC.
Tal como se ha descrito anteriormente, DVB-S2 lleva a cabo la codificación mediante el proceso de las etapas 1 a 6.
Para aplicar el código LDPC al propio sistema de comunicación, el código LDPC debería estar diseñado para ser adecuado para la tasa de datos requerida en el sistema de comunicación. En particular, no sólo en un sistema de comunicación adaptativo que utilice solicitud de retransmisión automática híbrida (HARQ, Hybrid Automatic Retransmission reQuest) y modulación y codificación adaptativas (AMC, Adaptive Modulation and Coding), sino asimismo en un sistema de comunicación que soporte diversos servicios de difusión, se requieren códigos LDPC que tengan varias longitudes de palabra de código, para soportar varias tasas de datos en función de los requisitos del sistema.
Sin embargo, tal como se ha descrito anteriormente, el código LDPC utilizado en el sistema DVB-S2 tiene solamente dos tipos de longitudes de palabra de código debido a su utilización limitada, y cada tipo de código LDPC requiere de una matriz de comprobación de paridad independiente. Por estas razones, hace tiempo que existe en la técnica la necesidad de un método que soporte varias longitudes de palabra de código a efectos de aumentar la extensibilidad y flexibilidad del sistema. En particular, en el sistema DVB-S2, se requiere la transmisión de datos con varios cientos o miles de bits para la transmisión de información de señalización. Sin embargo, debido a que están disponibles solamente 16 200 y 64 800 para las longitudes del código DVB-S2 LDPC, sigue existiendo la necesidad de soportar varias longitudes de palabra de código. Además, dado que el almacenamiento de matrices de comprobación de paridad independientes para longitudes respectivas de palabra de código del código LDPC puede reducir la eficiencia de la memoria, existe la necesidad de un esquema que pueda soportar eficientemente varias longitudes de palabra de código a partir de una matriz de comprobación de paridad existente dada, sin diseñar una nueva matriz de comprobación de paridad.
RESUMEN DE LA INVENCIÓN
Un aspecto de una realización de la presente invención es solucionar, por lo menos, los problemas y/o las desventajas mencionadas anteriormente y dar a conocer, por lo menos, las ventajas descritas a continuación. Por consiguiente, un aspecto de la presente invención es dar a conocer un método y un aparato de codificación/descodificación de canal para generar, a partir de un código LDPC dado, un código LDPC con una longitud de palabra de código diferente utilizando reducción o perforación determinadas teniendo en cuenta la modulación de orden superior en un sistema de comunicación que utiliza códigos LDPC.
Otro aspecto de una realización de la presente invención es dar a conocer un método y un aparato de codificación/descodificación de canal para garantizar un rendimiento óptimo, teniendo en cuenta una estructura DVB-S2 en un sistema de comunicación que utiliza códigos LDPC.
De acuerdo con un aspecto de la presente invención, se da a conocer un método para perforar bits de paridad asociados con una codificación de canal en un sistema de comunicación que utiliza un código de comprobación de paridad de baja densidad (LDPC), tal como el definido en la reivindicación 1.
De acuerdo con otro aspecto de la presente invención, se da a conocer un aparato para perforar bits de paridad asociados con una codificación de canal en un sistema de comunicación que utiliza un código de comprobación de paridad de baja densidad (LDPC) en un transmisor, tal como el definido en la reivindicación 3.
Otros aspectos, ventajas y características destacadas de la invención resultarán evidentes para los expertos en la materia a partir de la siguiente descripción detallada que, tomada junto con los dibujos adjuntos, da a conocer realizaciones de la invención.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los anteriores y otros aspectos, características y ventajas de ciertas realizaciones a modo de ejemplo de la presente invención resultarán más evidentes a partir de la siguiente descripción, tomada con los dibujos adjuntos, en los cuales:
la figura 1 es un ejemplo de una matriz de comprobación de paridad de un código LDPC de longitud 8;
la figura 2 es un grafo de Tanner que muestra una matriz de comprobación de paridad de un código LDPC de longitud 8;
la figura 3 muestra un código DVB-S2 LDPC;
la figura 4 es un ejemplo de una matriz de comprobación de paridad de un código DVB-S2 LDPC ;
la figura 5A muestra una constelación de señales para modulación QPSK utilizada en un sistema de comunicación digital;
la figura 5B muestra una constelación de señales para modulación 16QAM utilizada en un sistema de comunicación digital;
la figura 5C muestra una constelación de señales para modulación 64QAM utilizada en un sistema de comunicación digital;
la figura 6 es un diagrama de bloques de un transceptor en un sistema de comunicación que utiliza un código LDPC;
la figura 7 muestra un ejemplo en el que se aplica perforación aleatoria al código LDPC de la figura 4;
la figura 8 muestra otro ejemplo en el que se aplica perforación no aleatoria al código LDPC de la figura 4;
la figura 9 muestra otro ejemplo en el que se aplica perforación no aleatoria al código LDPC de la figura 4;
la figura 10 muestra otro ejemplo de una matriz de comprobación de paridad de un código DVB-S2 LDPC ;
la figura 11 muestra un ejemplo de un patrón de perforación determinado considerando transmisión BPSK o QPSK en el código LDPC de la figura 10;
la figura 12A muestra un ejemplo de un patrón de perforación determinado considerando transmisión 16QAM en el código LDPC de la figura 10;
la figura 12B muestra un ejemplo de un patrón de perforación determinado considerando transmisión 64QAM en el código LDPC de la figura 10;
la figura 13 es un diagrama de flujo que muestra un método 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, de acuerdo con una realización de la presente invención;
la figura 14 es un diagrama de flujo que muestra un método de descodificación LDPC en un aparato de recepción, de acuerdo con una realización de la presente invención;
la figura 15 es un diagrama de bloques de un aparato de transmisión que utiliza un código LDPC perforado/reducido, de acuerdo con una realización de la presente invención; y
la figura 16 es un diagrama de bloques de un aparato de recepción que utiliza un código LDPC perforado/reducido, de acuerdo con una realización de la presente invención.
En la totalidad de los dibujos, se comprenderá que los mismos numerales de referencia se refieren a los mismos elementos, características y estructuras.
DESCRIPCIÓN DETALLADA DE REALIZACIONES A MODO DE EJEMPLO
La siguiente descripción que hace referencia a los dibujos adjuntos, se da a conocer para ayudar a una comprensiónexhaustiva de las realizaciones de la invención, que se define mediante las reivindicaciones y sus equivalentes. Ésta incluye diversos detalles específicos para ayudar a dicha comprensión, pero estos deben considerarse como meros ejemplos. Por consiguiente, los expertos en la materia reconocerán que pueden realizarse diversos cambios y modificaciones a las realizaciones descritas en el presente documento, sin apartarse del alcance de la invención. Además, se omiten las descripciones de funciones y construcciones bien conocidas para mayor claridad y concisión.
Los términos y las palabras utilizadas en la siguiente descripción y las reivindicaciones no se limitan a sus significados bibliográficos, sino que son utilizadas por el inventor únicamente para facilitar una comprensión clara y consistente de la invención. Por consiguiente, deberá ser evidente para los expertos en la materia que las siguiente descripción de realizaciones de la presente invención se proporciona solamente con propósitos ilustrativos y no con el propósito de limitar la invención, que se define mediante las reivindicaciones adjuntas y sus equivalentes.
Debe entenderse que las formas singulares "un", "una" y "el" y "la" incluyen sus equivalentes plurales, salvo que el contexto imponga claramente lo contrario. Por lo tanto, por ejemplo, la referencia a "una superficie componente" incluye la referencia a una o varias de dichas superficies.
A continuación se describirá la diferencia de fiabilidad en modulación de orden superior, antes de una descripción de la presente invención. Deberá prestarse la debida atención al diseño de un código LDPC debido a que las fiabilidades de los bits que componen los símbolos de modulación de orden superior son diferentes cuando se utiliza modulación de orden superior en el sistema de comunicación que requiere de códigos LDPC con varias longitudes de palabra de código, frente al sistema de comunicación que utiliza solamente codificación por desplazamiento de fase binario (BPSK, Binary Phase Shift Keying) o codificación por desplazamiento de fase en cuadratura (QPSK, Quadrature Phase Shift Keying).
Para explicar la diferencia de fiabilidad en modulación de orden superior, se proporcionará una descripción de constelaciones de señal para modulación de amplitud en cuadratura (QAM, Quadrature Amplitude Modulation), que es la modulación de orden superior utilizada normalmente en los sistemas de comunicación. Un símbolo modulado QAM consiste en una parte real y una parte imaginaria, y pueden generarse varios símbolos de modulación mediante diferenciar magnitudes y signos de sus partes reales de sus partes imaginarias. Se describirá QAM junto con modulación QPSK para considerar los detalles de las características de QAM.
La figura 5A muestra una constelación de señal para modulación QPSK general.
Haciendo referencia la figura 5A, y0 determina el signo de una parte real mientras que y1 determina el signo de una parte imaginaria. Es decir, el signo de la parte real es más (+) para y0=0, y menos (-) para y0=1. Asimismo, es signo de la parte imaginaria es más (+) para y1=0, y menos (-) para y1=1. Dado que y0 e y1 son iguales en probabilidad de aparición de errores, puesto que son bits de indicación de signo que indican signos respectivos de la parte real y la parte imaginaria, las fiabilidades de los bits (y0, y1) correspondientes a una señal de modulación son de igual importancia, en modulación QPSK. Para y0,q y y1,q, el segundo subíndice 'q' indica q-ésimas salidas de bits que constituyen una señal de modulación.
La figura 5B muestra una constelación de señal para modulación 16QAM general.
Haciendo referencia a 5B, el significado de (y0, y1, y2, y3) correspondiente a los bits de una señal de modulación, es el siguiente. Los bits y0 e y2 determinan el signo y la magnitud de la parte real, respectivamente, mientras que los bits y1 e y3 determinan el signo y la magnitud de la parte imaginaria, respectivamente. En otras palabras, y0 e y1 determinan signos de la parte real y la parte imaginaria de la señal de modulación, mientras que y2 e y3 determinan magnitudes de la parte real y la parte imaginaria de la señal de modulación. Debido a que distinguir el signo de una señal modulada es más fácil que distinguir la magnitud de la señal modulada, y2 e y3 están por encima de y0 e y1 en probabilidad de producción de errores. Por lo tanto, en términos de probabilidades de no aparición de errores (es decir, de fiabilidades) de los bits, y0=y1 >y2=y3. Es decir, los bits (y0, y1, y2, y3) que constituyen una señal de modulación QAM, a diferencia de los de una señal de modulación QPSK, tienen fiabilidades diferentes.
En modulación 16QAM, entre los 4 bits que constituyen una señal, 2 bits determinan signos de la parte real y la parte imaginaria de la señal, y los bits restantes tienen que determinar solamente las magnitudes de la parte real y la parte imaginaria de la señal. Por lo tanto, los órdenes de (y0, y1, y2, y3) y la función de cada bit están sujetos a cambios.
La figura 5C muestra una constelación de señal para modulación 64QAM general.
De (y0, y1, y2, y3, y4, y5), que corresponde a los bits de la señal de modulación, los bits y0, y2 e y4 determinan la magnitud y el signo de la parte real, e y1, y3 e y5 determinan la magnitud y el signo de la parte imaginaria. En este caso, y0 e y1 determinan signos de la parte real y la parte imaginaria, respectivamente, y una combinación de y2 e y4 y una combinación de y3 e y5 determinan magnitudes de la parte real y la parte imaginaria, respectivamente. Dado que distinguir los signos de una señal modulada es más sencillo que distinguir las magnitudes de dicha señal modulada, las fiabilidades de y0 e y1 son mayores que las fiabilidades de y2, y3, y4 e y5. Los bits y2 e y3 se determinan en función de si la magnitud del símbolo modulado es mayor o igual que 4, y los bits y4 e y5 se determinan en función de si la magnitud del símbolo modulado está más cerca de 4 o de 0, con 2 centrado entre ambos, o más cerca de 4 o de 8, con 6 centrado entre ambos. Por lo tanto, el intervalo en el que la magnitud está determinada por y2 e y3 es 4, mientras que el intervalo para y4 e y5 es 2. Como resultado, la fiabilidad de y2 e y3 es mayor que la de y4 e y5. Para concluir, y0=y1 > y2=y3 > y4=y5 en términos de probabilidades de no aparición de errores (es decir, fiabilidades) de los bits.
En modulación 64QAM, de los 6 bits que constituyen una señal, 2 bits determinan signos de la parte real y la parte imaginaria de la señal, y 4 bits tienen que determinar solamente magnitudes de la parte real y la parte imaginaria de la señal. Por consiguiente, los órdenes de (y0, y1, y2, y3, y4, y5) y la función de cada bit están sujetos a cambios.
Asimismo, en una constelación de señal de 256QAM o superior, las funciones y las fiabilidades de los bits que constituyen una señal modulación son diferentes a las descritas anteriormente. Se omitirá una descripción detallada de las mismas.
Por lo tanto, la presente invención da a conocer un método y un aparato para soportar códigos LDPC con varias longitudes de palabra de código adecuadas para modulación de orden superior, utilizando una matriz de comprobación de paridad de un código LDPC estructurado, en una forma particular. Además, la presente invención da a conocer un aparato para soportar varias longitudes de palabra de código en función de un orden superior de modulación en un sistema de comunicación que utiliza un código LDPC en una forma particular, y un método para controlar el mismo. En particular, la presente invención da a conocer un método para generar un código LDPC utilizando una matriz de comprobación de paridad de un código LDPC dado, siendo el código LDPC generado menor que el código LDPC dado, y un aparato para lo mismo.
La figura 6 es un diagrama de bloques de un transceptor en un sistema de comunicación que utiliza un código LDPC.
Haciendo referencia a la figura 6, un mensaje u es introducido a un codificador LDPC 611 en un transmisor 610 antes de ser transmitido a un receptor 630. El codificador LDPC 611 codifica el mensaje de entrada u, y entrega la señal codificada c al modulador 613. El modulador 613 modula la señal codificada y transmite la señal modulada s al receptor 630 a través de un canal inalámbrico 620. Un desmodulador 631 en el receptor 630 desmodula la señal recibida r, y entrega la señal modulada x a un descodificador LDPC 633. El descodificador LDPC 633 encuentra una estimación u del mensaje en base a los datos recibidos a través del canal inalámbrico 620, mediante descodificar la señal desmodulada x.
El codificador LDPC 611 genera una matriz de comprobación de paridad en función de una longitud de palabra de código requerida por un sistema de comunicación, utilizando un esquema predeterminado. En particular, de acuerdo con una realización de la presente invención, el codificador LDPC 611 puede soportar varias longitudes de palabra de código utilizando el código LDPC, sin la necesidad de información adicional almacenada.
Según una realización de la presente invención, un método de obtención de varias longitudes de palabra de código a partir de un código LDPC dado utiliza reducción y perforación. El término "perforación", tal como se utiliza la presente descripción, indica un método que no transmite una parte especificada de una palabra de código LDPC después de generar la palabra de código LDPC a partir de una matriz de comprobación de paridad dada mediante realizar codificación LDPC. Por lo tanto, un receptor determina que los bits no transmitidos han sido borrados.
Para una mejor comprensión de la perforación, se describirá en mayor detalle a continuación una matriz de comprobación de paridad del código DVB-S2 LDPC mostrado en la figura 3.
En relación con la matriz de comprobación de paridad del código DVB-S2 LDPC mostrado en la figura 3, su longitud total es de N1, K1 columnas en la parte delantera de la matriz de comprobación de paridad correspondiente a bits de información (i0, i1...,iK1-1), y las columnas en la parte posterior restante correspondientes a bits de paridad (p0, p1,...,pN1-K1-1) de longitud (N1-K1).
De manera general, la perforación puede ser aplicada tanto a los bits de información como a los bits de paridad. Aunque normalmente la perforación y la reducción reducen las longitudes palabra de código, la perforación, a diferencia de la reducción, descrita anteriormente, no limita los valores de bits particulares. La perforación es un método para, simplemente, no transmitir bits de información particulares o partes particulares de bits de paridad generados, de manera que un receptor pueda borrar los bits correspondientes. En otras palabras, simplemente mediante no transmitir bits en las Np posiciones predefinidas en una palabra de código LDPC de longitud N1 generada, la perforación puede obtener el mismo efecto al obtenido mediante transmitir una palabra de código LDPC de longitud (N1-Np). Dado que las columnas correspondientes a los bits perforados en la matriz de comprobación de paridad se utilizan todas intactas en un proceso de descodificación, con las columnas borradas, la perforación es diferente a la reducción.
Además, debido a que la información de la posición para los bits perforados puede ser compartida o estimada en común mediante el transmisor y el receptor cuando el sistema es configurado, el receptor puede simplemente borrar los correspondientes bits perforados, antes de la descodificación.
En la técnica de perforación, debido a que la longitud de una palabra de código que el transmisor transmite realmente es de N1-Np, y a que la longitud de una palabra de información es siempre de K1, la tasa de código pasa a ser de K1/(N1-Np), que siempre es mayor que la primera tasa de código dada la K1/N1.
A continuación se realizará una descripción de la técnica de reducción y la técnica de perforación adecuadas para el código DVB-S2 LDPC. El código DVB-S2 LDPC, que se ha descrito anteriormente, es un código LDPC que tiene
una estructura particular. Por lo tanto, comparado con el código LDPC normal, el código DVB-S2 LDPC puede ser sometido a reducción y perforación más eficientes.
Haciendo referencia a la figura 4, se proporcionará una descripción de las características de un código DVB-S2 LDPC al que se aplica perforación de paridad. Debe observarse que para el código DVB-S2 LDPC de la figura 4, N1=30, K1=15, M1=5 y q=3 y las secuencias de posición de ponderación-1 para las columnas 0-ésimas en tres grupos de columnas son las siguientes:
0 1 2
0 11 13
0 10 14
Una secuencia de posición de ponderación-1 i-ésima en una columna i-ésima representa secuencialmente la información sobre las posiciones de las filas con 1 en un grupo de columnas i-ésimo.
La figura 7 muestra un ejemplo en el que se aplica perforación aleatoria al código LDPC de la figura 4. Debido a que los bits de paridad perforados en la figura 7 están sujetos a un proceso de borrado en un descodificador, los bits de paridad perforados, en comparación con los otros bits no eliminados, no tienen un efecto mayor de mejora del rendimiento en un proceso de descodificación LDPC, de manera que sus fiabilidades disminuyen. Por consiguiente, los otros bits conectados directamente a los bits de paridad perforados, que tienen una fiabilidad reducida, acusan también una reducción en el efecto de mejora del rendimiento en el proceso de descodificación. La reducción en el efecto de mejora del rendimiento aumenta a medida que aumenta el número de aristas conectadas directamente a los bits perforados en el grafo de Tanner.
En la figura 7, por ejemplo, un bit de información 0-ésimo correspondiente a una columna 0-ésima está conectado directamente dos veces al bit de paridad perforado, un tercer bit de información correspondiente a una tercera columna está conectado directamente una vez al bit de paridad perforado, y un octavo bit de información correspondiente a una octava columna está conectado directamente tres veces al bit de paridad perforado. En este caso, el tercer, 0-ésimo y octavo bits de información son superiores en efecto de mejora del rendimiento para el proceso de descodificación. En otras palabras, cuando los grados de los nodos variables son iguales entre sí, el efecto de mejora del rendimiento disminuye a medida que aumenta el número de bits perforados conectados.
A partir de la figura 7, puede apreciarse que los números de bits de paridad perforados, que están conectados directamente a bits de información respectivos, son aleatorios debido al patrón de perforación aleatorio. Por lo tanto, existe una elevada probabilidad de que las fiabilidades de los bits de información respectivos sean asimismo aleatorias. En otras palabras, mientras que algunos bits de información pueden obtener un rendimiento de descodificación mejor que el necesario, otros bits de información pueden sufrir una degradación significativa del rendimiento. El patrón de perforación aleatorio puede conducir a una irregularidad considerable de las fiabilidades de los bits de información en el proceso de descodificación.
La figura 8 muestra un segundo ejemplo en el que se aplica perforación no aleatoria al código LDPC de la figura 4. Más específicamente, en el ejemplo mostrado en la figura 8 se aplica un patrón de perforación relativamente no aleatorio, en una forma particular.
Haciendo referencia a la figura 8, a pesar de que se aplica el patrón de perforación relativamente no aleatorio, las conexiones a los bits de información pueden ser significativamente irregulares en función del patrón de perforación correspondiente. El patrón de perforación no aleatorio de la figura 8 puede ser más irregular en comparación con el patrón de perforación aleatorio de la figura 7.
En el caso del código LDPC con una matriz de comprobación de paridad que tiene una estructura particular tal como el código DVB-S2 LDPC, las conexiones entre los bits de información y los bits de paridad perforados según el patrón de perforación pueden cambiar significativamente.
Las realizaciones de la presente invención proponen un patrón de perforación que proporciona un comportamiento de descodificación estable mediante suprimir al máximo la irregularidad de las fiabilidades de los bits de información en el proceso de descodificación, utilizando las características estructurales del código DVB-S2 LDPC.
La figura 9 muestra un tercer ejemplo en el que se aplica perforación no aleatoria al código LDPC de la figura 4. En el ejemplo de la figura 9, un patrón de perforación que mantiene un intervalo constante de 3 entre bits de paridad perforados desde q=3, que es una de las variables constituyentes, se aplica a la matriz de comprobación de paridad mostrada en la figura 4. Tal como puede verse en la figura 9, cada uno de los bits de información está conectado de la misma manera, y dos veces, al bit perforado.
La irregularidad entre los bits perforados y los bits de información se reduce notablemente cuando el intervalo entre los bits de paridad perforados se ajusta en función del valor de q debido a la estructura del código DVB-S2 LDPC. Esto se describe mejor haciendo referencia a la figura 3.
Haciendo referencia a las reglas 1 y 2 y a la figura 3, en relación con cada grupo de columnas, las posiciones de los '1's en la primera columna en el grupo de columnas correspondiente, determinan posiciones de '1's en las columnas restantes. Los índices de las filas en las que 1 está situado en las columnas restantes difieren exactamente en un múltiplo de q respecto de un índice de una fila en la que 1 está situado en la primera columna, en relación con módulo(N1-K1), donde N1 indica la longitud de una palabra de código LDPC y K1 indica la longitud de una palabra de información. Más específicamente, los índices de las filas en las que 1 está situado en dos columnas consecutivas en un grupo de columnas particular difieren entre sí exactamente en q, para módulo (N1-K1).
Otra característica del código DVB-S2 LDPC se encuentra en una submatriz correspondiente a la parte de paridad en la matriz de comprobación de paridad. Haciendo referencia a la figura 3, la parte de paridad tiene una estructura de una matriz triangular inferior en la que 1 se presenta en todas las partes diagonales y, en esta estructura, un bit de paridad i-ésimo corresponde a un '1' situado en una fila i-ésima.
En función de la característica estructural del código DVB-S2 LDPC, asumiendo que se perforan bits de paridad específicos, si se repite exactamente una perforación de paridad a intervalos de q, el número de aristas de bits de información conectadas a los bits de paridad perforados en un grupo de columnas particular es el más regular. Por ejemplo, asumiendo que un bit de paridad i-ésimo es perforado para 0:i<q y un bit de paridad (i+kq)-ésimo es perforado repetidamente para 0:k<M1, si un cierto bit de información está conectado al bit de paridad i-ésimo, esto indica que '1' existe en una fila i-ésima para una columna correspondiente al bit de información. Por lo tanto, puede entenderse que hay '1' en la fila (i+kq)-ésima en una columna correspondiente a un bit de información que está separado mediante k del bit de información anterior entre las columnas en un grupo de columnas, de acuerdo con la regla 1 y la regla 2. Como resultado, el bit de información está conectado al bit (i+kq)-ésimo perforado.
Para el código DVB-S2 LDPC, debido a que los grados de los nodos variables correspondientes a toda la palabra de información son iguales entre sí en un grupo de columnas, y en una fila hay distribuido un '1' o menos, cuando se aplica perforación q-periódica, los bits de información correspondientes a un grupo de columnas se conectan a un mismo número de bits perforados. Por lo tanto, las conexiones entre los bits perforados y los bits de información se regularizan, de manera que puede esperarse una descodificación estabilizada en el proceso de descodificación.
En lo descrito hasta aquí, puede apreciarse que para el código DVB-S2 LDPC, la técnica de perforación q-periódica puede contribuir a la mejora del rendimiento mediante hacer la mejor utilización de las características estructurales del código DVB-S2 LDPC. Sin embargo, hasta la fecha, en relación con el patrón de perforación optimizado obtenido considerando la perforación q-periódica, solamente se conocen los resultados obtenidos utilizando BPSK o QPSK.
Además del método de perforación q-periódica, se conocen métodos que optimizan el rendimiento en función de la tasa de código o la longitud de palabra de código cuando se aplica reducción o perforación al código LDPC general. Sin embargo, debido a que los métodos existentes conocidos de descubrimiento de un patrón de reducción/perforación llevan a cabo el proceso de optimización teniendo en cuenta solamente BPSK o QPSK, solamente podía existir un patrón de reducción/perforación optimizado para un código LDPC dado.
Sin embargo, el patrón de perforación/reducción optimizado obtenido cuando se utiliza modulación de orden superior y se determina un esquema de constelación de señal/mapeo de bits (mapeo de bits sobre la constelación de señal), puede ser diferente al obtenido utilizando modulación BPSK o QPSK.
En modulación BPSK o QPSK, debido a que las fiabilidades de los bits que constituyen un símbolo son iguales, las fiabilidades de los bits de una palabra de código son iguales asimismo en la palabra de código LDPC después de que ha sido sometida a reducción o perforación, de manera que no es necesario considerar un esquema de modulación en el proceso de descubrimiento del patrón de reducción/perforación. Sin embargo, tal como se ha descrito anteriormente, en la modulación de orden superior tal como 16QAM, 64QAM y 256QAM, debido a que las fiabilidades de los bits que componen un símbolo son diferentes, cuando se determina el esquema de modulación de orden superior y el esquema de constelación de señal/mapeo de bits, las fiabilidades de los bits de palabra de código en la palabra de código LDPC después de la aplicación de reducción o perforación pueden ser diferentes a las mismas antes de la aplicación de dicha perforación o reducción.
La figura 10 muestra otro ejemplo de una matriz de comprobación de paridad de un código DVB-S2 LDPC.
En la figura 10, N1=40, K1=10, M1=5 y q=6 y las secuencias de posición de ponderación-1 para las columnas 0ésimas en dos grupos de columnas de una palabra de información, son como sigue:
0 5 10 20 25
7 15 26
Una secuencia de posición de ponderación-1 i-ésima en una columna i-ésima representa secuencialmente la información sobre las posiciones de las filas con 1 en un grupo de columnas i-ésimo.
Haciendo referencia a la figura 10, el grado de cada columna correspondiente al primer grupo de columnas es 5, y el grado de cada columna correspondiente al segundo grupo de columnas es 3. En general, en relación con un código LDPC, su efecto de mejora del rendimiento es excelente en un proceso de descodificación a medida que aumentan los grados. Por lo tanto, normalmente se espera que el rendimiento proporcionado después de la descodificación de los bits correspondientes al primer grupo de columnas sea superior comparado al del segundo grupo de columnas.
Haciendo referencia a la figura 11, se realizará a continuación una breve descripción de un patrón de perforación que es adecuado cuando se aplica modulación BPSK o QPSK al código LDPC con la matriz de comprobación de paridad de la figura 10. En la figura 11, y0 e y1 indican cada símbolo BPSK, o indican dos bits que componen un símbolo QPSK. Por lo tanto, y0 y y1 son iguales en cuanto a fiabilidad en la constelación de señal.
Haciendo referencia a la figura 11, después de que se ha perforado un bit de paridad correspondiente a una quinta columna en una submatriz correspondiente a un bit de paridad arbitrario, se perfora un bit de paridad cuatro veces en un periodo de q. En este caso, los bits de información correspondientes a las columnas de grado-5 están conectados a bits de paridad perforados mediante 2 aristas, y los bits de información correspondientes a las columnas de grado-3 no están conectados a bits de paridad perforados en el grafo de Tanner.
En general, los bits conectados a muchos bits perforados muestran un mal efecto de mejora del rendimiento en el proceso de descodificación. Sin embargo, en la figura 11, las columnas de grado-5 siguen teniendo 3 aristas que no están conectadas a los bits perforados, de manera que el rendimiento puede no reducirse significativamente en el proceso de descodificación. Además, dado que los bits de información en las columnas de grado-3 no están conectados directamente a los bits de paridad perforados, una degradación significativa del rendimiento puede no ocurrir de manera similar en el proceso de descodificación.
En la presente descripción se asume que las columnas de grado-5 son superiores a las columnas de grado-3 en términos del efecto de mejora del rendimiento en el proceso de descodificación. Sin embargo, esta hipótesis es válida solamente para BPSK o QPSK, y no puede ser aplicada siempre para modulación de orden superior general.
Por ejemplo, tal como se muestra en la figura 12A, la modulación 16QAM puede aplicarse al código LDPC con la matriz de comprobación de paridad de la figura 10. En la figura 12A, y0 e y1 indican bits de fiabilidad elevada que determinan signos de una parte real y una parte imaginaria en un símbolo 16QAM, respectivamente. Es decir, la relación de fiabilidad entre los bits se define como y0 =y1 > y2=y3.
Haciendo referencia a la figura 12A, las columnas de grado-5 están mapeadas a y3 y las columnas de grado-3 están mapeadas a y1. En otras palabras, las columnas de grado-5 están mapeadas a un bit de fiabilidad menor y las columnas de grado-3 están mapeadas a un bit de fiabilidad mayor en la constelación de señal.
En este caso, no puede concluirse que las columnas de grado-5 tengan un mayor efecto de mejora del rendimiento en el proceso de descodificación. Las razones son las siguientes. En vista de las características de la modulación 16QAM, dado que las columnas de grado-5 están mapeadas a información de fiabilidad menor en una señal recibida de un canal, su mejora de la fiabilidad se realiza muy lentamente en el proceso de descodificación. Por otra parte, las columnas de grado-3, aunque tienen un grado bajo, son mapeadas a información de fiabilidad menor, de manera que el efecto de mejora de la fiabilidad se produce muy rápido.
Tal como se ha descrito anteriormente, no puede garantizarse que los bits correspondientes a las columnas de grado superior tengan siempre un rendimiento superior en el código LDPC al que se aplica modulación de orden superior.
Haciendo referencia de nuevo a la figura 12A, en una implementación, después de que se perfora un bit de paridad correspondiente a una columna 4-ésima en una submatriz correspondiente a un bit de paridad arbitrario, se perfora un bit de paridad 4 veces a un periodo de q. En este caso, los bits de información tanto en las columnas de grado-5 como en las columnas de grado-3 están conectados a bits de paridad perforados mediante 1 arista en el grafo de Tanner.
En el patrón de perforación aplicado en la figura 11, los bits perforados están conectados solamente a las columnas de grado-5 debido a que el efecto de mejora del rendimiento de las columnas de grado-5 es alto, en modulación BPSK o QPSK. Sin embargo, en el patrón de perforación mostrado en la figura 12A, los bits perforados están distribuidos uniformemente considerando la diferencia entre fiabilidades correspondientes a cada grupo de columnas en base al esquema de modulación. En un análisis de este caso, dado que las columnas de grado-5 están
conectadas solamente a un bit perforado, existe una probabilidad elevada de que no se produzca más degradación significativa del rendimiento. Asimismo, aunque las columnas de grado-3 están conectadas a un bit perforado, corresponden a información de alta fiabilidad procedente de una señal recibida, de manera que existe una probabilidad elevada de que no se produzca una degradación significativa del rendimiento.
De manera similar, incluso cuando se aplica modulación 64QAM al código LDPC con la matriz de comprobación de paridad de la figura 10, tal como se muestra en la figura 12B, las características pueden ser diferentes a las de BPSK, QPSK y 16QAM. En la figura 12B, y0 e y1 indican bits de fiabilidad elevada que determinan signos de una parte real y una parte imaginaria en un símbolo 64QAM, respectivamente. Es decir, la relación de fiabilidad entre los bits se define como y0= y1 > y2=y3 > y4=y5.
La figura 12B muestra un ejemplo de un patrón de perforación obtenido considerando bits de paridad correspondientes a columnas de grado-2. En la figura 12A para 16QAM, aunque 3 bits entre los bits de paridad perforados están conectados a los bits y2 e y3 de fiabilidad mínima, dado que los bits de información correspondientes a las columnas de grado-5 o grado-3 tienen buen rendimiento, no se produce degradación del rendimiento. Sin embargo, en la figura 12B, cuando se aplica 64QAM, cuando demasiados bits de paridad están conectados a y4 e y5 con fiabilidades muy bajas, puede producirse una degradación del rendimiento. Por lo tanto, las fiabilidades correspondientes a los bits de paridad deberán asimismo considerarse cuidadosamente.
Cabe señalar, en las figuras 12A y 12B, que cuando la longitud de palabra de código del código LDPC se reduce debido a la reducción o perforación, los órdenes de los bits correspondientes a la constelación de señal son iguales, pero los bits disminuyen en una proporción predeterminada. Por ejemplo, en las figuras 12A y 12B, para un código LDPC, los órdenes (y3, y1, y0, y2, y1, y3, y2, y0) e (y5, y1, y3, y4, y0, y2, y3, y5, y1, y2, y4, y0) de bits correspondientes a las constelaciones de señal se mantienen, pero la proporción de los bits correspondientes a cada constelación de señal disminuye en proporción a la longitud de la palabra de código LDPC.
Tal como se ha descrito en las figuras 10, 11, 12A y 12B, es fácil suponer que podría el mismo patrón de perforación podría cambiar en función del esquema de modulación. Es decir, cuando se determina un esquema de modulación de orden superior y una constelación de señal/mapeo de bits para un código LDPC dado, el patrón de perforación óptimo está sujeto a cambios en función de las conexiones entre bits perforados y otros bits no perforados. Por lo tanto, deberían aplicarse diferentes patrones de perforación en función de los esquemas de modulación de transmisión, a efectos de minimizar la degradación del rendimiento causada por la perforación.
El proceso general para aplicar el esquema de perforación descrito anteriormente puede resumirse en 5 etapas, como sigue. Para mayor comodidad, en la presente descripción se asume que N1 indica la longitud de una palabra de código LDPC, cada grupo de columnas incluye M1 columnas y Np bits de paridad son sometidos a perforación. El siguiente proceso de perforación se muestra resumidamente en la figura 13.
Etapa de perforación 1
Un aparato de transmisión genera una palabra de código DVB-S2 LDPC reducida/no reducida, en la etapa 1301.
Etapa de perforación 2
El aparato de transmisión determina el número N p de bits de paridad a perforar en la etapa 1303, y encuentra
en la etapa 1305, donde LxJ es el máximo entero que es menor o igual que x.
Etapa de perforación 3
El aparato de transmisión determina los bits de paridad a perforar pi0, pi1,..., piA-1 para 0:x<A y 0:ix<q, de acuerdo con un esquema de modulación de transmisión, en la etapa 1307. Se asume que para 0:x<q, se obtuvieron previamente valores de ix utilizando un método de evolución de la densidad que considera el esquema de modulación de transmisión (en el presente documento, se da una relación de A:q).
Etapa de perforación 4
El aparato de transmisión aplica perforación a todos los bits de paridad pix+kqB para 0:x<A y 0:k<M1, en la etapa 1307. En este caso, la constante B es un entero predeterminado distinto de cero.
Etapa de perforación 5 El aparato de transmisión perfora adicionalmente los bits de paridad piA+kqB para 0:k<Np-AM1, en la etapa 1307. A continuación, el aparato de transmisión transmite bits excepto para los bits perforados en la etapa 1309.
A partir de la etapa de perforación 1 hasta la etapa de perforación 5, se comprenderá que el patrón de perforación puede definirse con precisión cuando se conoce el número Np de bits a perforar, la información secuencial que 5 define valores de ix y el valor de q.
Para describir ejemplos detallados en los que se llevan a cabo las etapas de perforación anteriores en función de los esquemas de modulación, en la tabla 1 se muestran patrones de perforación por debajo del óptimo (es decir, suboptimizados) para un código DVB-S2 LDPC con N1=16200, K1=7200, M1=360 y q=25. A continuación se describirá en detalle un proceso de selección de patrones de perforación subóptimos.
10 En la tabla 1, (p0, p1, p2,..., p8999) indica todos los bits de paridad del código DVB-S2 LDPC, que están enumerados en una fila.
Tabla 1
Variables principales del código DVB-S2 LDPC
N1=16200, K1=7200, M1=360, q=25
Agrupamiento de bits de paridad
Define un conjunto Pj que satisface las siguientes características para 0:j<q=25: Pj={pk | k=j mod 25, 0:k<9000 }. El conjunto Pj es un conjunto que tiene 360 bits de paridad como entradas.
Intervalo de Np
Método de perforación
0:Nn<9000
Para un entero perforar todos los bits de paridad correspondientes a m conjuntos de bits de paridad Pn(0), Pn(1), ..., Pn(m-1), y perforar adicionalmente (Np360m) bits de paridad de entre los bits de paridad correspondientes a Pn(m). En este caso, n indica una función de permutación que es un patrón de perforación, y las relaciones se muestran en la parte inferior de la tabla.
n(0)
n(1) n(2) n(3) n(4) n(5) n(6) n(7) n(8)
n(9)
n(10) n(11) n(12) n(13) n(14) n(15) n(16) n(17)
n(18)
n(19) n(20) n(21) n(22) n(23) n(24) - -
Relación entre funciones de permutación suboptimizadas en BPSK/QPSK
6
4 18 9 13 8 15 20 5
17
2 24 10 22 12 3 16 23
1
14 0 21 19 7 11 - -
Relación entre funciones de permutación suboptimizadas en 16QAM
6
4 13 9 18 8 15 20 5
17
2 24 22 14 23 3 19 10
1
12 0 16 21 7 11 - -
(continuación)
Relación entre funciones de permutación suboptimizadas en 64QAM
15
3 23 6 13 18 1 9 17
8
5 20 16 22 4 24 14 2
21
12 7 10 19 11 0 - -
Haciendo referencia a la tabla 1, puede apreciarse que cuando se determina la longitud de los bits de paridad a perforar, el proceso de perforación basado en patrones de perforación subóptimos se lleva a cabo mediante un
5 proceso predeterminado independientemente del esquema de modulación, pero las relaciones entre las funciones de permutación que indican patrones de perforación optimizados son todas diferentes de acuerdo con los esquemas de modulación. Es decir, cuando se aplica el método de perforación sin tener en cuenta el esquema de modulación, puede producirse una degradación significativa del rendimiento en función de los esquemas de modulación.
A partir del proceso de perforación, puede apreciarse asimismo que AM1 bits de paridad son perforados en la etapa
10 de perforación 3 y la etapa de perforación 4, y Np-AM1 bits de paridad son perforados en la etapa de perforación 5, de manera que se perfora un total de Np bits de paridad.
Los patrones de perforación subóptimos mostrados en la tabla 1 pueden no ser únicos en función de las condiciones para encontrar los patrones de perforación. Debido a que son posibles varias selecciones del proceso de selección de los patrones de perforación, que se describirá en detalle a continuación, pueden estar disponibles muchos
15 patrones de perforación que muestran un buen rendimiento. De hecho, los patrones de perforación mostrados en la tabla 2 pueden proporcionar asimismo un rendimiento excelente, tal como los patrones de perforación definidos en la tabla 1.
Tabla 2
Variables principales del código DVB-S2 LDPC
N1=16200, K1=7200, M1=360, q=25
Agrupamiento de bits de paridad
Define un conjunto Pj que satisface las siguientes características para 0:j<q=25:
Pj={pk | k=j mod 25, 0:k<9000 }. El conjunto Pj es un conjunto que tiene 360 bits de paridad como entradas.
Intervalo de Np
Método de perforación
0: Nn <9000
Para un entero perforar todos los bits de paridad correspondientes a m conjuntos de bits de paridad Pn(0), Pn(1), ..., Pn(m-1), y perforar adicionalmente (Np-360m) bits de paridad de entre los bits de paridad correspondientes a Pn(m). En este caso, n indica una función de permutación que es un patrón de perforación, y las relaciones se muestran en la parte inferior de la tabla.
n(0)
n(1) n(2) n(3) n(4) n(5) n(6) n(7) n(8)
n(9)
n(10) n(11) n(12) n(13) n(14) n(15) n(16) n(17)
n(18)
n(19) n(20) n(21) n(22) n(23) n(24) - -
(continuación)
Relación entre funciones de permutación suboptimizadas en BPSK/QPSK
6
4 18 9 13 8 15 20 5
17
2 24 10 22 12 3 16 23
1
14 0 21 19 7 11 - -
Relación entre funciones de permutación suboptimizadas en 16QAM
6
4 13 9 18 8 15 20 5
17
2 22 24 7 12 1 16 23
14
0 21 10 19 11 3 - -
Relación entre funciones de permutación suboptimizadas en 64QAM
6
15 13 10 3 17 21 8 5
19
2 23 16 24 7 18 1 12
20
0 4 14 9 11 22 - -
El método de mapeo de bits correspondientes a las constelaciones de señal utilizadas en modulaciones 16QAM y 64QAM de la tabla 2 es el resultado obtenido mediante aplicar los mismos esquemas de mapeo de bits que se 5 muestran en las figuras 12A y 12B.
La palabra de código DVB-S2 LDPC transmitida después de ser sometida perforación es restaurada a su señal original a partir de una señal recibida en un aparato de recepción, mediante el proceso de descodificación de la figura 14.
La figura 14 es un diagrama de flujo que muestra un método de recepción en un aparato de recepción acorde con 10 una realización de la presente invención.
Haciendo referencia a la figura 14, un aparato de recepción determina o estima un patrón de perforación/reducción a partir de una señal recibida, en la etapa 1401. A continuación, el aparato de recepción determina en la etapa 1403 se existen bits perforados o reducidos. En ausencia de bits perforados o reducidos, el aparato de recepción lleva a cabo la descodificación, en la etapa 1409. Sin embargo, cuando existen bits perforados o reducidos, en la etapa
15 1405 el aparato de recepción proporciona el patrón de perforación/reducción al codificador LDPC 1560, que se describirá en relación con la figura 15.
En la etapa 1407, el codificador LDPC 1560 determina que los bits perforados son bits borrados, y determina que la probabilidad de que los valores de los bits reducidos valgan cero (0) es de 1. A continuación, el codificador LDPC 1560 lleva a cabo la descodificación, en la etapa 1409.
20 En el proceso de perforación, se aplica una perforación q-periódica para estabilizar el rendimiento del código DVB-S2 LDPC utilizando características estructurales del código DVB-S2 LDPC.
La diferencia más significativa entre la presente invención y la técnica anterior reside en considerar la fiabilidad del esquema de modulación de transmisión cuando se determinan bits de paridad a perforar, en la etapa de perforación
3. En este caso, se proporciona a continuación un ejemplo de un procedimiento de selección de secuencia para
25 determinar los bits a perforar en el código DVB-S2 LDPC, en la etapa de perforación 3. El siguiente procedimiento de selección está sujeto a cambios, cuando se aplica a otros códigos LDPC.
Proceso de selección 1
En primer lugar se determinan los bits que están conectados, si es posible, a un número menor de bits de información.
Proceso de selección 2
A partir de los bits de paridad determinados en el proceso de selección 1, se determinan los bits de paridad a perforar, que presentan el rendimiento más asintótico, utilizando un método de análisis de evolución de la densidad que considera tanto un esquema de modulación como una distribución de grados.
Proceso de selección 3
En base a los bits de paridad a perforar determinados en el proceso de selección 2, se repiten el proceso de selección 1 y el proceso de selección 2 sobre los bits, excluyendo los bits a perforar ya seleccionados.
Normalmente, cuando el número Np de bits a perforar varía mucho, los patrones de perforación optimizados en base al valor de Np pueden carecer de correlación entre sí. En otras palabras, en un sistema en el que el valor de Np varía mucho, todos los patrones de perforación optimizados en base al valor de Np deberían almacenarse independientemente para un rendimiento optimizado.
Sin embargo, aunque no está garantizado que los patrones de perforación obtenidos aplicando el procedimiento de selección anterior sean óptimos para todos los casos, tendrían un rendimiento relativamente estable a partir de un patrón de perforación que tenga una regla regular, independientemente de un cambio en el valor de Np, garantizando de ese modo el rendimiento relativamente estable y un almacenamiento sencillo de los patrones de perforación.
Por ejemplo, suponiendo que los órdenes de los bits de paridad a perforar se fijan como P1, P2, ..., Pq, puede almacenarse solamente una secuencia que indica los órdenes de los bits de paridad para permitir una perforación eficiente para un valor arbitrario de Np, a través de las etapas de perforación 1 a 5.
La técnica de perforación puede contribuir a un aumento en la tasa de código, debido a que puede modificar la longitud de una palabra de código LDPC, y reducir la longitud de la palabra de código sin cambiar la longitud de la información. Preferentemente, la perforación y la reducción pueden aplicarse conjuntamente para obtener una tasa de código y una longitud de palabra de código requeridas en el sistema.
Asumiendo, tal como se ha descrito anteriormente, que la longitud de palabra de código y la longitud de información de un código LDPC, que se prevé sean obtenidas finalmente a partir de un código LDPC dado con una longitud de palabra de código N1 y una longitud de información K1 mediante reducción y perforación, son N2 y K2, respectivamente, si se proporciona una definición de N1-N2=N� y K1-K2=K�, el código LDPC con una longitud de palabra de código N2 y una longitud de información K2 puede ser generado mediante reducir K� bits y perforar Np
las longitudes de perforación y reducción
pueden establecerse considerando N2 y
La figura 15 es un diagrama de bloques de un aparato de transmisión que utiliza un código LDPC perforado/reducido, de acuerdo con una realización de la presente invención.
Haciendo referencia a la figura 15, un aparato de transmisión incluye un controlador 1510, un aplicador 1520 de patrón de reducción, un extractor 1540 de matriz de comprobación de paridad de código LDPC, un codificador LDPC 1560 y un aplicador 1580 de patrón de perforación.
El extractor 1540 de matriz de comprobación de paridad de código LDPC extrae una matriz de comprobación de paridad de código LDPC que ha sido sometida a reducción. La matriz de comprobación de paridad de código LDPC puede ser extraída utilizando una memoria, puede estar proporcionada en el aparato de transmisión o puede ser generada por el aparato de transmisión.
El controlador 1510 controla el aplicador 1520 de patrón de reducción para determinar un patrón de reducción en función de la longitud de información. El aplicador 1520 del patrón de reducción inserta bits con un valor de 0 en las posiciones correspondientes a bits reducidos, o elimina columnas correspondientes a los bits reducidos, a partir de una matriz de comprobación de paridad de un código LDPC citado. El patrón de reducción puede determinarse extrayendo un patrón de reducción almacenado en una memoria, generando un patrón de reducción utilizando un
generador de secuencia (no mostrado) u obteniendo un patrón de reducción utilizando un algoritmo de análisis de evolución de la densidad para una matriz de comprobación de paridad y una longitud de información dada.
El aplicador 1520 del patrón de reducción es opcional cuando no se requiere la reducción para el código. Además, el controlador 1510 controla el aplicador 1580 del patrón de perforación para determinar y aplicar un patrón de perforación en función de un esquema de modulación y de una longitud de bits de perforación.
El aplicador 1580 del patrón de perforación determina el número de bits de paridad a perforar, divide en intervalos predeterminados los bits de paridad, determina el número de bits de perforación, que son sometidos a perforación dentro de los intervalos predeterminados, determina un esquema de modulación, determina posiciones de los bits de paridad a perforar correspondientes al número determinado de bits de perforación dentro de los intervalos predeterminados de acuerdo con el esquema de modulación determinado, y lleva a cabo perforación repetidamente sobre los bits de paridad a perforar correspondientes a las posiciones determinadas en dichos intervalos predeterminados. Los intervalos predeterminados se determinan dividiendo la longitud de los bits de paridad por la longitud de un grupo de columnas en una matriz de comprobación de paridad.
Los bits restantes, excepto los bits perforados, son transmitidos a un receptor de acuerdo con el esquema de modulación, mediante una unidad de transmisión (no mostrada).
El codificador LDPC 1560 lleva a cabo la codificación en base al código LDPC reducido mediante el controlador 1510 y el aplicador 1520 del patrón de reducción.
La figura 16 es un diagrama de bloques de un aparato de recepción acorde con una realización de la presente invención, en el que una señal transmitida desde un sistema de comunicación que utiliza un código DVB-S2 LDPC perforado/reducido, es recibida y restablecida a los datos deseados por el usuario.
Haciendo referencia a la figura 16, un aparato de recepción incluye un controlador 1610, una unidad 1620 de determinación/estimación de un patrón de reducción/perforación, un desmodulador 1630 y un descodificador LDPC 1640.
El desmodulador 1630 recibe y desmodula un código LDPC reducido/perforado, y proporciona la señal desmodulada a la unidad 1620 de determinación/estimación del patrón de reducción/perforación y al descodificador LDPC 1640.
La unidad 1620 de determinación/estimación del patrón de reducción/perforación, bajo el control del controlador 1610, estima o determina información sobre un patrón de perforación/reducción del código LDPC a partir de la señal desmodulada, y proporciona al descodificador LDPC 1640 información de posición de los bits perforados/reducidos. La unidad 1620 de determinación/estimación del patrón de reducción/perforación puede determinar o estimar el patrón de perforación/reducción mediante extraer un patrón de perforación/reducción almacenado en una memoria, generar un patrón de perforación/reducción utilizando un método de generación implementado previamente u obtener un patrón de perforación/reducción utilizando un algoritmo de análisis de evolución de la densidad para una matriz de comprobación de paridad y una longitud de información dada. El descodificador LDPC 1640 realiza un proceso de borrado sobre los bits perforados y lleva a cabo descodificación sobre los mismos.
Cuando el aparato de transmisión aplica tanto reducción como perforación, la unidad 1620 de determinación/estimación del patrón de reducción/perforación, en el aparato de recepción, puede llevar a cabo la determinación/estimación del patrón sobre la reducción en primer lugar, llevar a cabo la estimación/determinación del patrón sobre la perforación en primer lugar, o realizar la determinación/estimación del patrón tanto sobre la reducción como sobre la perforación. La unidad 1620 de determinación/estimación del patrón de reducción/perforación determina la presencia/ausencia de bits que perforación en la señal desmodulada. Cuando existen bits de perforación, la unidad 1620 de determinación/estimación del patrón de reducción/perforación determina las posiciones de los bits de paridad perforados mediante estimar información sobre el patrón de perforación.
El descodificador LDPC 1640 descodifica datos utilizando las posiciones determinadas de los bits de paridad perforados, asumiendo que la probabilidad de que los bits perforados sean cero (0) y la probabilidad de que los bits perforados sean de 1, son iguales a 1/2. Debido a que la probabilidad de que los valores de los bits reducidos sean cero vale 1 (es decir, el 100%), el descodificador LDPC 1640 determina si permitirá o no que los bits reducidos formen parte de su operación de descodificación, en función del valor 1 de la probabilidad de que los bits reducidos sean cero. Cuando el descodificador LDPC 1640 recibe información sobre la longitud del código DVB-S2 LDPC reducido, mediante la unidad 1620 de determinación/estimación del patrón de reducción/perforación, el descodificador LDPC 1640 restablece los datos deseados por el usuario a partir de las señales recibidas.
Tal como se ha descrito en relación con la figura 15, la reducción se lleva a cabo en la etapa de entrada del codificador LDPC 1560 y la perforación se lleva a cabo en la etapa de salida del codificador LDPC 1560. Sin embargo, en el aparato de recepción mostrado en la figura 16, el descodificador LDPC 1640 debería tener simultáneamente información sobre la perforación y la reducción, para hacer posible la descodificación.
Tal como resulta evidente a partir de la descripción anterior, las realizaciones de la presente invención pueden generar un código LDPC independiente con una longitud de palabra de código diferente, mediante optimizar el 5 rendimiento de codificación/descodificación utilizando información sobre una matriz de comprobación de paridad dada en el sistema de comunicación que utiliza modulación de orden superior y códigos LDPC.
Si bien la invención ha sido mostrada y descrita haciendo referencia a ciertas realizaciones a modo de ejemplo de la misma, los expertos en la materia comprenderán que pueden realizarse en la misma diversos cambios en la forma y los detalles sin apartarse del alcance de la invención, tal como se define mediante las reivindicaciones adjuntas y
10 sus equivalentes.

Claims (12)

  1. REIVINDICACIONES
    1. Un método para perforar bits de paridad de una palabra de código de comprobación de paridad de baja densidad (LDPC) asociada con una codificación de canal en un sistema de comunicación que utiliza un código LDPC en un transmisor que incluye un aplicador 1580 de patrón de perforación, involucrando el código LDPC una matriz de comprobación de paridad, comprendiendo la matriz de comprobación de paridad una parte de información correspondiente a bits de información de una palabra de código LDPC y una parte de paridad correspondiente a bits de paridad de la palabra de código LDPC, comprendiendo la parte de información grupos de columnas que tienen igual longitud, caracterizado porque el método comprende:
    determinar un número Np de bits de paridad para perforación y un esquema de modulación;
    formar conjuntos de bits de paridad mediante dividir los bits de paridad en intervalos predeterminados, y estando formados los conjuntos de bits de paridad mediante la siguiente ecuación:
    donde Pj indica el j-ésimo conjunto de bits de paridad, N1 indica la longitud de la palabra de código LDPC, K1 indica la longitud de una palabra de información, M1 indica la longitud de un grupo de columnas, q es un valor que satisface q = (N1 - K1) / M1 e indica el intervalo predeterminado, donde K1/M1 es un entero, y 0 : j < q;
    determinar el número A de conjuntos de bits de paridad para perforación, a partir del número de bits de paridad para perforación y de la longitud de un grupo de columnas, determinándose el número de conjuntos de bits de paridad mediante la siguiente ecuación:
    y
    perforar bits de paridad en base al número determinado A de conjuntos de bits de paridad a perforar, y de acuerdo con un orden predeterminado de conjuntos de bits de paridad a perforar,
    en el que el orden predeterminado de conjuntos de bits de paridad se determina de acuerdo con el esquema de modulación.
  2. 2. El método según la reivindicación 1, que comprende además:
    transmitir bits restantes, excepto los bits perforados.
  3. 3. Un aparato para perforar bits de paridad de una comprobación de paridad de baja densidad (LDPC) asociada con una codificación de canal en un sistema de comunicación que utiliza un código LDPC en un transmisor que incluye un aplicador 1580 de patrón de perforación, involucrando el código LDPC una matriz de comprobación de paridad, comprendiendo la matriz de comprobación de paridad una parte de información correspondiente a bits de información de una palabra de código LDPC y una parte de paridad correspondiente a bits de paridad de la palabra de código LDPC, comprendiendo la parte de información grupos de columnas que tienen igual longitud, caracterizado porque el aparato comprende:
    un aplicador 1580 de patrón de perforación, para:
    determinar un número Np de bits de paridad para perforación y un esquema de modulación;
    formar conjuntos de bits de paridad mediante dividir los bits de paridad en intervalos predeterminados, y estando formados los conjuntos de bits de paridad mediante la siguiente ecuación:
    donde Pj indica el j-ésimo conjunto de bits de paridad, N1 indica la longitud de una palabra de código LDPC, K1 indica la longitud de una palabra de información, M1 indica la longitud de un grupo de columnas, q es un valor que satisface q = (N1 - K1) / M1 e indica el intervalo predeterminado, donde K1/M1 es un entero, y 0 : j < q;
    determinar el número A de conjuntos de bits de paridad para perforación, a partir del número de bits de paridad para perforación y de la longitud de un grupo de columnas, determinándose el número de conjuntos de bits de paridad mediante la siguiente ecuación:
    y
    perforar bits de paridad en base al número determinado de conjuntos de bits de paridad a perforar, y de acuerdo con un orden predeterminado de conjuntos de bits de paridad a perforar,
    en el que el orden predeterminado de conjuntos de bits de paridad se determina de acuerdo con el esquema de modulación.
  4. 4. El aparato según la reivindicación 3, que comprende además:
    un transmisor para transmitir bits de paridad restantes, excepto los bits de paridad perforados.
  5. 5.
    El método según la reivindicación 1, el aparato según la reivindicación 3, respectivamente, en los que el orden de los conjuntos de bits de paridad a perforar se determinan como 6, 4, 13, 9, 18, 8, 15, 20, 5, 17, 2, 22, 24, 7, 12, 1, 16, 23, 14, 0, 21, 10, 19, 11, 3, cuando la longitud de una palabra de código es de 16200 y la longitud de información es de 7200, y el esquema de modulación es 16QAM.
  6. 6.
    El método según la reivindicación 1, el aparato según la reivindicación 3, respectivamente, en los que el orden de los conjuntos de bits de paridad a perforar se determinan como 6, 15, 13, 10, 3, 17, 21, 8, 5, 19, 2, 23, 16, 24, 7, 18, 1, 12, 20, 0, 4, 14, 9, 11, 22, cuando la longitud de una palabra de código es de 16200 y la longitud de información es de 7200, y el esquema de modulación es 64QAM.
  7. 7.
    El método según la reivindicación 1, el aparato según la reivindicación 3, en el que
    el orden de los conjuntos de bits de paridad a perforar se determina en base a conexiones entre bits perforados y bits no perforados y a fiabilidades de bits que constituyen un símbolo de modulación de acuerdo con el esquema de modulación.
  8. 8.
    El método según la reivindicación 1, que comprende además:
    perforar adicionalmente bits de paridad restantes, excepto los bits de paridad perforados, cuando el número de bits de paridad a perforar no es un múltiplo de la longitud de un grupo de columnas.
  9. 9.
    El aparato según la reivindicación 3, en el que el aplicador 1580 del patrón de perforación perfora adicionalmente bits de paridad restantes, excepto los bits de paridad perforados, cuando el número de bits de paridad a perforar no es un múltiplo de la longitud de un grupo de columnas.
  10. 10.
    El método según la reivindicación 1, el aparato según la reivindicación 3, respectivamente, en los que, cuando el esquema de modulación es 16QAM, un código LDPC con una longitud de palabra de código de 16200, una longitud de información de 7200 y una longitud de un grupo de columnas de 360, el orden de conjuntos de bits de paridad a perforar se determina a partir de la siguiente función de permutación n:
    n(0)
    n(1) n(2) n(3) n(4) n(5) n(6) n(7) n (8)
    6
    4 13 9 18 8 15 20 5
    n(9)
    n(10) n(11) n(12) n(13) n(14) n(15) n(16) n(17)
    (continuación)
    17
    2 22 24 7 12 1 16 23
    n(18)
    n(19) n(20) n(21) n(22) n(23) n(24)
    14
    0 21 10 19 11 3
    de manera que la perforación se lleva a cabo con respecto a A grupos Pn(0), Pn(1), ...Pn(A-1), que definen el patrón de perforación.
  11. 11. El método según la reivindicación 1, el aparato según la reivindicación 3, respectivamente, en los que, cuando el esquema de modulación es 64QAM, un código LDPC con una longitud de palabra de código de 16200, una longitud de información de 7200 y una longitud de un grupo de columnas de 360, el orden de conjuntos de bits de paridad a perforar se determina a partir de la siguiente función de permutación n:
    n(0)
    n(1) n(2) n(3) n(4) n(5) n(6) n(7) n(8)
    6
    15 13 10 3 17 21 8 5
    n(9)
    n(10) n(11) n(12) n(13) n(14) n(15) n(16) n(17)
    19
    2 23 16 24 7 18 1 12
    n(18)
    n(19) n(20) n(21) n(22) n(23) n(24)
    20
    0 4 14 9 11 22
    10 de manera que la perforación se lleva a cabo con respecto a A grupos Pn(0), Pn(1), ...Pn(A-1), que definen el patrón de perforación.
  12. 12. El método según la reivindicación 1, el aparato según la reivindicación 3, respectivamente, en los que, el codificador LDPC con una longitud de palabra de código de 16200, una longitud de información de 7200 y una longitud de un grupo de columnas de 360, el orden de los conjuntos de bits de paridad a perforar se determina a
    15 partir de la función de permutación n, determinada a partir de las siguientes relaciones:
    n(0)
    n(1) n(2) n(3) n(4) n(5) n(6) n(7) n(8)
    n(9)
    n(10) n(11) n(12) n(13) n(14) n(15) n(16) n(17)
    n(18)
    n(19) n(20) n(21) n(22) n(23) n(24) - -
    Relación entre funciones de permutación suboptimizadas en BPSK/QPSK
    6
    4 18 9 13 8 15 20 5
    17
    2 24 10 22 12 3 16 23
    1
    14 0 21 19 7 11 - -
    Relación entre funciones de permutación suboptimizadas en 16QAM
    6
    4 13 9 18 8 15 20 5
    (continuación)
    17
    2 22 24 7 12 1 16 23
    14
    0 21 10 19 11 3 - -
    Relación entre funciones de permutación suboptimizadas en 64QAM
    6
    15 13 10 3 17 21 8 5
    19
    2 23 16 24 7 18 1 12
    20
    0 4 14 9 11 22 - -
    de manera que la perforación se lleva a cabo con respecto a A grupos Pn(0), Pn(1), ...Pn(A-1), que definen el patrón de perforación.
ES09153765.4T 2008-02-26 2009-02-26 Perforación de códigos LDPC en función del esquema de modulación Active ES2439262T3 (es)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20080017280 2008-02-26
KR20080017280 2008-02-26
KR20080022472 2008-03-11
KR20080022472 2008-03-11
KR20080025143 2008-03-18
KR1020080025143A KR101503058B1 (ko) 2008-02-26 2008-03-18 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2439262T3 true ES2439262T3 (es) 2014-01-22

Family

ID=40577879

Family Applications (4)

Application Number Title Priority Date Filing Date
ES18215832T Active ES2965396T3 (es) 2008-02-26 2009-02-26 Patrón de perforación específico del formato de modulación para códigos LDPC en combinación con 16QAM
ES13150843.4T Active ES2547688T3 (es) 2008-02-26 2009-02-26 Método y aparato para codificación de canales en un sistema de comunicaciones utilizando códigos LDPC perforados
ES09153765.4T Active ES2439262T3 (es) 2008-02-26 2009-02-26 Perforación de códigos LDPC en función del esquema de modulación
ES13150863.2T Active ES2604033T3 (es) 2008-02-26 2009-02-26 Procedimiento y aparato para decodificación de canal en un sistema de comunicación que utiliza códigos LDPC perforados

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES18215832T Active ES2965396T3 (es) 2008-02-26 2009-02-26 Patrón de perforación específico del formato de modulación para códigos LDPC en combinación con 16QAM
ES13150843.4T Active ES2547688T3 (es) 2008-02-26 2009-02-26 Método y aparato para codificación de canales en un sistema de comunicaciones utilizando códigos LDPC perforados

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES13150863.2T Active ES2604033T3 (es) 2008-02-26 2009-02-26 Procedimiento y aparato para decodificación de canal en un sistema de comunicación que utiliza códigos LDPC perforados

Country Status (19)

Country Link
US (1) US8271846B2 (es)
EP (5) EP2584707B1 (es)
JP (4) JP5440805B2 (es)
KR (1) KR101503058B1 (es)
CN (4) CN102017427B (es)
AU (1) AU2009217933B2 (es)
DK (3) DK2584707T3 (es)
ES (4) ES2965396T3 (es)
FI (1) FI3490157T3 (es)
HR (1) HRP20240053T3 (es)
LT (1) LT3490157T (es)
MY (1) MY163692A (es)
PL (1) PL2096761T3 (es)
PT (3) PT3490157T (es)
RU (3) RU2450443C1 (es)
SG (2) SG188820A1 (es)
SI (2) SI3490157T1 (es)
TW (3) TWI511470B (es)
WO (1) WO2009107989A2 (es)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209582B1 (en) 2006-11-07 2012-06-26 Marvell International Ltd. Systems and methods for optimizing a product code structure
KR101503058B1 (ko) * 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
US8792602B2 (en) * 2010-02-22 2014-07-29 Analog Devices, Inc. Mixed signal stochastic belief propagation
US8347169B1 (en) * 2010-03-01 2013-01-01 Applied Micro Circuits Corporation System and method for encoding using common partial parity products
KR101670511B1 (ko) 2010-05-07 2016-10-28 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
WO2012074334A2 (en) 2010-12-03 2012-06-07 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving data in communication system
CN102541675B (zh) * 2010-12-23 2015-03-11 慧荣科技股份有限公司 提升错误更正能力的方法、记忆装置及其控制器
KR101611169B1 (ko) * 2011-01-18 2016-04-11 삼성전자주식회사 통신/방송 시스템에서 데이터 송수신 장치 및 방법
JP2012151676A (ja) * 2011-01-19 2012-08-09 Jvc Kenwood Corp 復号装置および復号方法
JP5630283B2 (ja) * 2011-01-19 2014-11-26 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5664919B2 (ja) * 2011-06-15 2015-02-04 ソニー株式会社 データ処理装置、及び、データ処理方法
KR101791477B1 (ko) * 2011-10-10 2017-10-30 삼성전자주식회사 통신/방송 시스템에서 데이터 송수신 장치 및 방법
KR102015121B1 (ko) * 2012-10-17 2019-08-28 삼성전자주식회사 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러 및 컨트롤러의 동작 방법
US9154261B2 (en) * 2013-01-16 2015-10-06 Broadcom Corporation Low density parity check (LDPC) coding in communication systems
WO2015137626A1 (en) 2014-03-10 2015-09-17 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
JP6544620B2 (ja) * 2014-05-16 2019-07-17 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法
KR102177807B1 (ko) 2014-08-22 2020-11-11 삼성전자주식회사 비이진 부호의 단축 및 천공 방법 및 장치
KR101800423B1 (ko) * 2015-02-13 2017-11-23 삼성전자주식회사 송신 장치 및 그의 부가 패리티 생성 방법
CN111669253B (zh) 2015-02-13 2023-11-03 三星电子株式会社 发送器及其附加奇偶校验产生方法
KR101776267B1 (ko) 2015-02-24 2017-09-07 삼성전자주식회사 송신 장치 및 그의 리피티션 방법
CN111865496B (zh) * 2015-02-25 2023-06-20 三星电子株式会社 发送器及其产生附加奇偶校验的方法
KR102426380B1 (ko) 2015-02-25 2022-07-29 삼성전자주식회사 송신 장치 및 그의 부가 패리티 생성 방법
KR102453471B1 (ko) 2015-02-27 2022-10-14 한국전자통신연구원 고정 길이 시그널링 정보 부호화를 위한 제로 패딩 장치 및 이를 이용한 제로 패딩 방법
CA3065452C (en) 2015-02-27 2022-05-17 Electronics And Telecommunications Research Institute Zero padding apparatus for encoding fixed-length signaling information and zero padding method using same
KR102453475B1 (ko) 2015-02-27 2022-10-14 한국전자통신연구원 가변 길이 시그널링 정보 부호화를 위한 제로 패딩 장치 및 이를 이용한 제로 패딩 방법
US10284227B2 (en) 2015-02-27 2019-05-07 Electronics And Telecommunications Research Institute Parity puncturing device for fixed-length signaling information encoding, and parity puncturing method using same
CA3065458C (en) 2015-02-27 2022-05-24 Electronics And Telecommunications Research Institute Zero padding apparatus for encoding variable-length signaling information and zero padding method using same
KR102426780B1 (ko) * 2015-03-02 2022-07-29 삼성전자주식회사 송신 장치 및 그의 패리티 퍼뮤테이션 방법
CA3214526A1 (en) 2015-03-02 2016-09-09 Samsung Electronic Co., Ltd. Transmitter and parity permutation method thereof
KR101800415B1 (ko) 2015-03-02 2017-11-23 삼성전자주식회사 송신 장치 및 그의 패리티 퍼뮤테이션 방법
US10326474B2 (en) 2015-03-02 2019-06-18 Samsung Electronics Co., Ltd. Transmitter and parity permutation method thereof
CN111865499B (zh) 2015-03-02 2023-07-21 三星电子株式会社 接收设备和接收方法
CN112291040B (zh) * 2015-03-02 2024-01-26 三星电子株式会社 发送方法和接收方法
CN106158046B (zh) * 2015-05-15 2021-03-30 爱思开海力士有限公司 用于turbo乘积码的误校正避免
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10326477B2 (en) * 2015-12-30 2019-06-18 SK Hynix Inc. Techniques for miscorrection detection for constituent codewords in product codes
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) * 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
TWI589125B (zh) * 2016-08-26 2017-06-21 國立交通大學 渦輪編碼的數位資料之去穿刺方法與裝置及渦輪解碼器系統
US10340949B2 (en) 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
MA47656B1 (fr) 2017-06-27 2021-02-26 Ericsson Telefon Ab L M Conception de valeurs de décalage de codes ldpc quasi-cycliques
CN108234077A (zh) * 2017-12-26 2018-06-29 中国电子科技集团公司第三十研究所 一种受密码控制的动态删余安全Turbo编码方法
KR102428522B1 (ko) * 2018-04-05 2022-08-03 삼성전자 주식회사 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
CA3184451A1 (en) 2020-05-21 2021-11-25 Infinera Corp Methods and apparatus for power efficient design of forward error correction for optical communication systems
KR20220022801A (ko) 2020-08-19 2022-02-28 삼성전자주식회사 무선 통신 시스템에서 신호를 복호하는 방법 및 장치
US11455208B2 (en) 2020-08-20 2022-09-27 Western Digital Technologies, Inc. Soft information for punctured bit estimation in a data storage device
US11949436B2 (en) * 2022-08-12 2024-04-02 Qualcomm Incorporated Low-density parity-check coding scheme with varying puncturing pattern

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2394263C (en) * 1999-12-20 2006-06-06 Research In Motion Limited Hybrid automatic repeat request system and method
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
CN1151672C (zh) * 2001-08-28 2004-05-26 清华大学 一种采用多层分组乘积码的信道编码调制方法
WO2003065591A2 (en) * 2002-01-29 2003-08-07 Seagate Technology Llc A method and decoding apparatus using linear code with parity check matrices composed from circulants
US7139964B2 (en) * 2002-05-31 2006-11-21 Broadcom Corporation Variable modulation with LDPC (low density parity check) coding
EP1656737B1 (en) * 2003-08-08 2019-05-08 Intel Corporation Method and apparatus for varying lengths of low density parity check codewords
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US7221680B2 (en) * 2003-09-02 2007-05-22 Qualcomm Incorporated Multiplexing and transmission of multiple data streams in a wireless multi-carrier communication system
KR100918763B1 (ko) 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
JP3875693B2 (ja) 2004-03-24 2007-01-31 株式会社東芝 Lpc符号を用いた符号化ビットのマッピング方法及び送信装置
KR100594818B1 (ko) * 2004-04-13 2006-07-03 한국전자통신연구원 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법
KR100659266B1 (ko) * 2004-04-22 2006-12-20 삼성전자주식회사 다양한 코드율을 지원하는 저밀도 패러티 검사 코드에 의한데이터 송수신 시스템, 장치 및 방법
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
JP4138723B2 (ja) * 2004-09-22 2008-08-27 株式会社東芝 復号処理方法および通信装置
US7996746B2 (en) 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7581159B2 (en) * 2004-11-23 2009-08-25 Texas Instruments Incorporated Simplified decoding using structured and punctured LDPC codes
US7953047B2 (en) 2005-01-24 2011-05-31 Qualcomm Incorporated Parser for multiple data streams in a communication system
KR101157246B1 (ko) 2005-05-16 2012-06-15 삼성전자주식회사 저밀도 패리티 검사 부호의 패딩 및 천공 방법
KR100946884B1 (ko) * 2005-07-15 2010-03-09 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
US20070040000A1 (en) * 2005-08-19 2007-02-22 3M Innovative Properties Company Zoned stretching of a web
KR100856235B1 (ko) 2005-09-26 2008-09-03 삼성전자주식회사 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100943623B1 (ko) * 2005-09-30 2010-02-24 삼성전자주식회사 저밀도 패러티 검사 부호의 천공기법
KR101351140B1 (ko) * 2005-11-22 2014-01-15 조지아 테크 리서치 코오포레이션 통신 시스템에서 신호 송수신 장치 및 방법
KR101102396B1 (ko) 2006-02-08 2012-01-05 엘지전자 주식회사 이동통신 시스템에서의 코드워드 크기 정합 방법 및 송신장치
CN101034953B (zh) * 2006-03-06 2010-06-23 诺基亚西门子通信系统技术(北京)有限公司 应用低密度奇偶校验码进行数据传输的方法
WO2007145491A1 (en) 2006-06-15 2007-12-21 Samsung Electronics Co., Ltd. Apparatus and method of encoding/decoding block low density parity check codes in a communication system
JP4253332B2 (ja) * 2006-07-03 2009-04-08 株式会社東芝 復号装置、方法およびプログラム
WO2008075627A1 (ja) * 2006-12-18 2008-06-26 Mitsubishi Electric Corporation 符号化装置、符号化方法、符号化復号装置及び通信装置
CN101005334B (zh) * 2007-01-12 2010-12-29 中兴通讯股份有限公司 一种低密度奇偶校验码的混合自动请求重传包生成方法
US20100107033A1 (en) * 2007-01-31 2010-04-29 Kenichi Kuri Radio communication device and puncturing method
KR101502623B1 (ko) * 2008-02-11 2015-03-16 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
KR101503058B1 (ko) * 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
RU2010135579A (ru) 2012-02-27
PT3490157T (pt) 2023-12-18
AU2009217933A1 (en) 2009-09-03
EP2584707A3 (en) 2013-06-12
DK2584707T3 (en) 2015-09-07
EP2096762A1 (en) 2009-09-02
EP2584707B1 (en) 2015-06-24
EP2096761B1 (en) 2013-09-11
WO2009107989A3 (en) 2009-12-03
SI2096761T1 (sl) 2014-01-31
SI3490157T1 (sl) 2024-01-31
CN103401633A (zh) 2013-11-20
PL2096761T3 (pl) 2014-02-28
WO2009107989A2 (en) 2009-09-03
EP2096761A1 (en) 2009-09-02
EP2584707A2 (en) 2013-04-24
HRP20240053T3 (hr) 2024-03-29
KR20090092196A (ko) 2009-08-31
CN103401563B (zh) 2016-12-28
ES2604033T3 (es) 2017-03-02
TW201330517A (zh) 2013-07-16
CN103368584B (zh) 2016-12-07
JP2014053941A (ja) 2014-03-20
JP5644012B2 (ja) 2014-12-24
TW200943739A (en) 2009-10-16
JP5644010B2 (ja) 2014-12-24
CN103368584A (zh) 2013-10-23
SG188820A1 (en) 2013-04-30
JP2011514070A (ja) 2011-04-28
DK2096761T3 (da) 2013-12-02
JP5440805B2 (ja) 2014-03-12
SG10201401195QA (en) 2014-07-30
CN103401563A (zh) 2013-11-20
TWI399928B (zh) 2013-06-21
JP2014042336A (ja) 2014-03-06
PT2096761E (pt) 2013-12-11
TWI511470B (zh) 2015-12-01
AU2009217933B2 (en) 2013-06-06
EP2584708B1 (en) 2016-08-24
FI3490157T3 (fi) 2024-01-08
PT2584707E (pt) 2015-10-16
ES2547688T3 (es) 2015-10-08
EP2584708A2 (en) 2013-04-24
EP3490157B1 (en) 2023-10-11
TW201334426A (zh) 2013-08-16
CN102017427A (zh) 2011-04-13
ES2965396T3 (es) 2024-04-15
JP5644011B2 (ja) 2014-12-24
KR101503058B1 (ko) 2015-03-18
MY163692A (en) 2017-10-13
US20090217130A1 (en) 2009-08-27
RU2450443C1 (ru) 2012-05-10
DK3490157T3 (da) 2024-01-08
EP2096762B1 (en) 2018-12-26
EP2584708A3 (en) 2013-05-29
CN103401633B (zh) 2016-09-28
RU2012110392A (ru) 2013-09-27
RU2012110390A (ru) 2013-09-27
RU2520405C2 (ru) 2014-06-27
RU2520406C2 (ru) 2014-06-27
EP3490157A1 (en) 2019-05-29
US8271846B2 (en) 2012-09-18
LT3490157T (lt) 2023-12-27
JP2014042335A (ja) 2014-03-06
TWI511469B (zh) 2015-12-01
CN102017427B (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
ES2439262T3 (es) Perforación de códigos LDPC en función del esquema de modulación
ES2927436T3 (es) Procedimiento y aparato para codificación y descodificación en un sistema de comunicación que usa códigos de comprobación de paridad de baja densidad
ES2849723T3 (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
EP2351230B1 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
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
EP2510623A2 (en) Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
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