ES2416356T3 - Aparato y método de procesamiento de datos - Google Patents

Aparato y método de procesamiento de datos Download PDF

Info

Publication number
ES2416356T3
ES2416356T3 ES08253469T ES08253469T ES2416356T3 ES 2416356 T3 ES2416356 T3 ES 2416356T3 ES 08253469 T ES08253469 T ES 08253469T ES 08253469 T ES08253469 T ES 08253469T ES 2416356 T3 ES2416356 T3 ES 2416356T3
Authority
ES
Spain
Prior art keywords
data
bits
symbols
symbol
ldpc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES08253469T
Other languages
English (en)
Inventor
Matthew Paul Athol Taylor
Samuel Asanbeng Atungsiri
John Nicholas Wilson
Takashi Yokokawa
Makiko Yamamoto
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.)
Sony Corp
Original Assignee
Sony Corp
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
Priority claimed from GB0721270A external-priority patent/GB2454194A/en
Priority claimed from GB0721271A external-priority patent/GB2454195A/en
Priority claimed from GB0721269.9A external-priority patent/GB2454193B/en
Priority claimed from GB0721272.3A external-priority patent/GB2454196B/en
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of ES2416356T3 publication Critical patent/ES2416356T3/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
    • 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/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/65Arrangements characterised by transmission systems for broadcast
    • H04H20/71Wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/18Arrangements characterised by circuits or components specially adapted for receiving
    • 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/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2626Arrangements specific to the transmitter only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0058Allocation criteria
    • H04L5/0064Rate requirement of the data, e.g. scalable bandwidth, data priority
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0001Arrangements for dividing the transmission path
    • H04L5/0003Two-dimensional division
    • H04L5/0005Time-frequency
    • H04L5/0007Time-frequency the frequencies being orthogonal, e.g. OFDM(A), DMT

Landscapes

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

Abstract

Un receptor dispuesto en operación para la recuperación de bits de datos a partir de símbolos de datos recibidos apartir de un número predeterminado de señales sub-portadoras de símbolos Multiplexados por División de FrecuenciasOrtogonales (OFDM) y para formar un flujo de bits de salida, siendo el número predeterminado de señales subportadorasde los símbolos OFDM que se determina en función de uno entre una pluralidad de modos defuncionamiento, comprendiendo dicho receptor: un desintercalador de símbolos (514) dispuesto en operación para la recuperación de primeros conjuntos de símbolos dedatos a partir de primeros símbolos OFDM en función de un proceso de intercalado impar y de segundos conjuntos desímbolos de datos a partir de segundos símbolos OFDM en función de un proceso de intercalado par y para formar unflujo de símbolos de salida a partir de los primeros y segundos conjuntos de símbolos de datos, una unidad demapeadora (52) dispuesta en operación para generar, a partir de los símbolos de datos del flujo desímbolos de salida, los bits de datos codificados del Control de Paridad de Baja Densidad (LDPC), con paridadintercalada, convirtiendo cada uno de los símbolos de datos del flujo de símbolos de salida que representa un símbolo demodulación de las señales sub-portadoras de OFDM en bits de datos en función de un sistema de modulación,un permutador inverso (53, 55) adaptado para realizar un proceso de permutación inversa para efectuar una inversión deun proceso de permutación aplicado a los bits de datos de LDPC, de paridad intercalada, codificados, para permutar losbits de datos de LDPC codificados, de modo que una pluralidad de los bits de datos de LDPC codificados quecorresponda a un valor de 1 en una fila arbitraria de una matriz de información correspondiente a bits de información deun código de LDPC, que se utilizó para codificar los bits de datos, no se incorpore en el mismo símbolo yun decodificador de LDPC (56) adaptado para realizar una decodificación de LDPC sobre los bits de datos de LDPCcodificados, en donde el proceso de permutación inversa se haya realizado para formar los bits de datos de salida, endonde el proceso de intercalado impar incluye: la escritura de los primeros conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de losprimeros símbolos OFDM en una memoria del intercalador de símbolos en función de un orden definido por un código depermutación y la lectura de los primeros conjuntos de símbolos de datos a partir de la memoria del intercalador de símbolos (100) enfunción de un orden secuencial en el flujo de datos de salida y el proceso de intercalado par incluye la escritura de los segundos conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de lossegundos símbolos OFDM en la memoria del intercalador de símbolos (540) en función de un orden secuencial yla lectura los segundos conjuntos de símbolos de datos a partir de la memoria del intercalador de símbolos (540) enfunción de un orden definido por el código de permutación en el flujo de datos de salida, de tal modo que mientras lossímbolos de datos desde el primer conjunto esté siendo objeto de lectura a partir de posiciones en la memoria delintercalador de símbolos (540), los símbolos de datos a partir del segundo conjunto puedan ser objeto de escritura en lasposiciones desde donde acaban de leerse y cuando los símbolos de datos desde el segundo conjunto estén siendoleídos a partir de las posiciones en la memoria del intercalador de símbolos (540), los símbolos de datos a partir de unprimer conjunto siguiente puedan ser objeto de escritura en las posiciones desde las que acaban de leerse, en dondecuando en una de la pluralidad de modos de funcionamiento en donde el número de sub-portadoras por símbolo deOFDM proporcione la mitad, o menos de la mitad, de un número máximo de sub-portadoras en los símbolos OFDM decualquiera de los modos de funcionamiento, el aparato de procesamiento de datos sea utilizable para el desintercaladode los símbolos de datos en función de solamente el proceso de intercalado impar.

Description

Aparato y método de procesamiento de datos
CAMPO DE LA INVENCIÓN
La presente invención se refiere a métodos y aparatos de procesamiento de datos para la recuperación de bits de datos a partir de varias señales sub-portadoras de símbolos Multiplexados por División de Frecuencias Ortogonales (OFDM) para formar un flujo de bits de salida.
Formas de realización de la presente invención pueden dar a conocer un receptor de OFDM.
ANTECEDENTES DE LA INVENCIÓN
La norma de Difusión Vídeo Digital Terrestre (DVB-T) utiliza la Multiplexación por División de Frecuencias Ortogonales (OFDM) para comunicar datos que representan imágenes de vídeo y sonido a receptores mediante una señal de comunicaciones por radio de difusión. Se conoce, por la técnica anterior, que existen dos modos para la norma DVB-T que son conocidos como el modo de 2k y el modo de 8k. El modo de 2k proporciona 2048 sub-portadoras, mientras que el modo de 8k proporciona 8192 sub-portadoras. De modo similar, para la norma de Difusión de Vídeo Digital-Portátil (DVB-H) se ha proporciona un modo de 4k, en donde el número de sub-portadoras es 4096.
Los sistemas de codificación de corrección de errores, tales como la codificación LDPC/BCH, que han sido propuestos para realizar mejor DVB-T2 cuando el ruido y la degradación de los valores de símbolos, resultantes de la comunicación, no están en correlación. Los canales de difusión terrestres pueden sufrir un desvanecimiento correlacionado en los dominios del tiempo y de la frecuencia. En consecuencia, separando los bits de datos codificados en símbolos de datos diferentes y separando la comunicación de los símbolos de datos en señales de sub-portadoras diferentes del símbolo OFDM es tanto más posible, con lo que se puede aumentar el rendimiento de los sistemas de codificación de corrección de errores.
Con el fin de mejorar la integridad de los datos comunicados utilizando DVB-T o DVB-H, es conocido proporcionar un intercalador de símbolos con el fin de intercalar símbolos de datos de entrada puesto que estos símbolos son puestos en correspondencia con las señales de sub-portadoras de un símbolo OFDM. Para el modo de 2k y el modo 8k, se ha dado a conocer una disposición en donde la norma de DVB-T para generar las direcciones se pone en práctica en el establecimiento de la correspondencia. De forma análoga, para el modo de 4k de la norma DVB-H, se ha dado a conocer una disposición operativa para generar direcciones para la puesta en correspondencia y un generador de direcciones para poner en práctica esta puesta en correspondencia que se da a conocer en la solicitud de patente europea 04251667.4. El intercalador de direcciones comprende un registro de desplazamiento de realimentación lineal que utilizable para generar una secuencia de bits pseudo-aleatoria y un circuito de permutación. El circuito de permutación permuta el orden del contenido del registro de desplazamiento de realimentación lineal con el fin de generar una dirección. La dirección proporciona una indicación de una posición de memoria de la memoria de intercalador para la escritura del símbolo de datos de entrada o la lectura del símbolo de datos de entrada desde la memoria de intercalador para la puesta en correspondencia con una de las señales de sub-portadoras del símbolo OFDM. De modo similar, un generador de direcciones, en el receptor, está dispuesto para generar direcciones de la memoria del intercalador para la escritura de los símbolos de datos recibidos o la lectura de los símbolos de datos desde la memoria del intercalador para formar un flujo de símbolos de salida.
En un artículo titulado: “Un demapeador reconfigurable nuevo y de alta velocidad-Arquitectura de-intercalador de símbolos de dispositivos de puesta en correspondencia para DVB-T”, por Howarth L. et al, publicado en ISCAS ’99 en Proceedings de IEEE International Symposium, sobre circuitos y sistemas páginas 382-385, 30 de mayo de 1999, se ha dado a conocer un transmisor adecuado para la norma DVB-T que está dispuesto para poner en correspondencia palabras de bits de datos desde una fuente de entrada en símbolos de modulación y para intercalar los símbolos de modulación en las sub-portadoras de símbolos OFDM. El intercalador incluye una memoria de intercalador para la escritura de los símbolos de modulación desde el flujo de entrada de la fuente en la memoria de intercalador antes de la puesta en correspondencia de los símbolos de modulación desde la memoria de intercalador en las sub-portadoras de los símbolos OFDM. Asimismo, se da a conocer un receptor que incluye un de-intercalador de símbolos para la puesta en correspondencia de los símbolos de modulación recibidos desde los símbolos OFDM en un flujo de símbolos de salida, mediante la lectura de los símbolos de modulación y la salida de una memoria de intercalador.
En conformidad con otro desarrollo de la norma de Difusión Vídeo Digital-Terrestre, conocida como DVB-T2, existe un deseo de mejorar la comunicación de bits de datos y más en particular, proporcionar una disposición mejorada para el intercalado de bits de datos codificados con código LDPC y símbolos de datos en las señales de sub-portadoras de símbolos OFDM.
SUMARIO DE LA INVENCIÓN
En conformidad con la presente invención se da a conocer un aparato de procesamiento de datos dispuesto en operación para recuperar bits de datos a partir de los símbolos de datos recibidos desde un número predeterminado de señales sub-portadoras de símbolos Multiplexados por División de Frecuencias Ortogonales (OFDM) y para formar un flujo de bits de salida. El número predeterminado de señales sub-portadoras de los símbolos OFDM se determina en conformidad con uno de entre una pluralidad de modos de funcionamiento. El aparato de procesamiento de datos incluye un desintercalador de símbolos, una unidad demapeadora, un permutador inverso y un decodificador de Control de Paridad de Baja Densidad (LDPC).
El desintercalador de símbolos está dispuesto en operación para recuperar primeros conjuntos de símbolos de datos a partir de los primeros símbolos OFDM en conformidad con un proceso de intercalado impar y de segundos conjuntos de símbolos de datos a partir de segundos símbolos de OFDM en conformidad con un proceso de intercalado par y para formar un flujo de símbolo de salida a partir de los primeros y segundos conjuntos de símbolos de datos.
La unidad demapeadora está dispuesta en operación para generar, a partir de los símbolos de datos del flujo de símbolos de salida, los bits de datos de LDPC, con paridad intercalada, codificados, convirtiendo cada uno de los símbolos de datos del flujo de símbolos de salida, que representan un símbolo de modulación de las señales subportadoras de OFDM, en bits de datos en conformidad con un sistema de modulación.
El permutador inverso está adaptado para realizar un proceso de permutación inversa para efectuar una inversión de un proceso de permutación aplicado a los bits de datos codificados de LDPC, con paridad intercalada, para permutar los bits de datos de LDPC codificados, de modo que una pluralidad de los bits de datos de LDPC codificados, que correspondan a un valor de 1 en una fila arbitraria de una matriz de información correspondiente a bits de información de un código de LDPC, que fue utilizado para codificar los bits de datos, no se incorpore en el mismo símbolo.
El decodificador de LDPC está adaptado para realizar la decodificación de LDPC sobre los LDPC bits de datos de LDPC codificados, en donde se haya realizado el proceso de permutación inversa para formar los bits de datos de salida. El proceso de intercalado impar del desintercalador incluye la escritura de los primeros conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de los primeros símbolos OFDM en una memoria del intercalador de símbolos, en función de un orden definido por un código de permutación y
lectura de los primeros conjuntos de símbolos de datos desde la memoria del intercalador de símbolos, en función de un orden secuencial en el flujo de datos de salida. El proceso de intercalado par incluye
la escritura de los segundos conjuntos de símbolos de datos recuperados a partir de las señales subportadoras de los segundos símbolos OFDM, en la memoria del intercalador de símbolos, en función de un orden secuencial y
la lectura de los segundos conjuntos de símbolos de datos desde la memoria del intercalador de símbolos en función de un orden definido por el código de permutación en el flujo de datos de salida, en conformidad con un orden secuencial de modo que mientras los símbolos de datos, procedentes del primer conjunto, son objeto de lectura desde posiciones en la memoria de intercalador de símbolos, los símbolos de datos procedentes del segundo conjunto pueden ser objeto de escritura para las posiciones que se acaban de leer y cuando los símbolos de datos, desde el segundo conjunto, son objeto de lectura desde las posiciones en la memoria de intercalador de símbolos, los símbolos de datos, procedentes de un primer conjunto siguiente, pueden ser objeto de escritura en las posiciones que se acaban de leer. El aparato de procesamiento de datos está diseñado de modo que, cuando en uno de entre la pluralidad de modos de funcionamiento, en donde el número de sub-portadoras por símbolo OFDM proporciona la mitad o menos de la mitad de un número máximo de sub-portadoras en los símbolos OFDM de cualquiera de los modos de funcionamiento, el aparato de procesamiento de datos es utilizable para intercalar los símbolos de datos en conformidad con el proceso de intercalado impar.
Formas de realización de la presente invención pueden dar a conocer un aparato de procesamiento de datos para recibir bits de datos a partir de símbolos OFDM en donde el intercalado/desintercalado de bits se combina con el intercalado/desintercalado de símbolos para mejorar el rendimiento de un sistema de comunicación de OFDM, que utiliza la codificación de corrección de errores del Control de Paridad de Baja Densidad (LDPC). El intercalado/desintercalado de bits incluye la permutación/permutación inversa al efecto de que, cuando dos o más bits de código de un código de LDPC se transmitan/reciban como un símbolo, un proceso de permutación que permuta los bits de código del código de LDPC, de modo que una pluralidad de bits de código que corresponda a un valor de 1 en una fila arbitraria de una matriz de información, correspondiente a bits de información del código de LDPC, no se incorpore en el mismo símbolo y luego, se recupere por la permutación inversa.
Los primeros símbolos OFDM pueden ser símbolos OFDM impares y los segundos símbolos OFDM pueden ser símbolos OFDM pares.
El aparato de procesamiento de datos puede ser un dispositivo independiente y puede ser también un bloque interno incluido en un dispositivo, tal como un receptor.
Los códigos LDPC pueden proporcionar un alto rendimiento de corrección de errores en rutas de comunicación, que no sean los canales de Ruido Gaussiano Blanco Aditivo, que es superior a los códigos convolucionales o códigos convolucionales de Reed Solomon (RS) concatenados. Esto puede proporcionarse en canales de comunicación que presentan ráfagas de errores, que causan borrados de información. Por ello, existe una necesidad de dar a conocer un método para aumentar la resistencia a errores de ráfagas o borrados operativos, mientras se mantiene el rendimiento de las rutas de comunicación de AWGN. Formas de realización de la presente invención dan a conocer, por lo tanto, un aparato y método de procesamiento de datos que puede aumentar la resistencia a errores en bits de código de los códigos de LDPC, tales como errores de ráfagas o borrados, combinando un intercalador de bits para los bits de datos de LDPC codificados con un intercalador de símbolos.
Es decir, en conformidad con las formas de realización de la invención, el intercalado/desintercalado de paridad se realiza en un código LDPC obtenido realizando la codificación por LDPC, en función de una matriz de control de paridad, que incluye una matriz de paridad estructurada de forma escalonada, correspondiente a bits de paridad del código LDPC, de modo que los bits de paridad del código LDPC estén intercalados para posiciones de bits de paridad diferentes.
En algunos transmisores y receptores de OFDM convencionales, que funcionan en conformidad con los modos de dos 2k y de 8k para la norma DVB-T y el modo de 4k para la norma DVB-H, se utilizan dos procesos de intercalado de símbolos en el transmisor y en el receptor, uno para símbolos OFDM pares y otro para símbolos OFDM impares. Sin embargo, el análisis correspondiente ha demostrado que los sistemas de intercalado, diseñados para los intercaladores de símbolos de 2k y de 8k para DVB-T y el intercalador de símbolos de 4k para DVB-H, funcionan mejor para símbolos impares que para símbolos pares. Formas de realización de la presente invención están diseñadas de modo que solamente el proceso de intercalado de símbolos impar se utiliza a no ser que el transmisor/receptor esté en el modo del número máximo de sub-portadoras. Por lo tanto, cuando el número de símbolos de datos que pueden transmitirse por las sub-portadoras de un símbolo OFDM, en uno de la pluralidad de modos de funcionamiento, es menor que la mitad del número de símbolos de datos, que se pueden transmitir en un modo de funcionamiento, que demuestra ser el mayor número de datos que soportan señales de sub-portadoras por símbolo OFDM; en tal caso, un intercalador del transmisor y del receptor de los símbolos OFDM está diseñado para intercalar los símbolos de datos de los primeros y segundos conjuntos con la utilización del proceso de intercalado impar. Puesto que el intercalador está realizando el intercalado de los símbolos de datos de, a la vez, los primeros y los segundos conjuntos de símbolos de datos en los símbolos OFDM, utilizando el proceso de intercalado impar, el intercalador utiliza diferentes partes de la memoria de intercalador para la escritura y lectura de los símbolos de datos. En consecuencia, en comparación con la forma de realización, a modo de ejemplo, en donde el intercalador está utilizando el proceso de intercalado impar y el proceso de intercalado par para intercalar los primeros y segundos conjuntos de símbolos de datos en primeros y segundos símbolos OFDM sucesivos, que utiliza la memoria nivel, la magnitud de capacidad de memoria utilizada es dos veces el número de símbolos de datos que pueden transmitirse por un símbolo OFDM para el intercalado solamente impar. Lo anterior se compara con un requisito de memoria de una vez el número de símbolos de datos, que se pueden transmitir en un símbolo OFDM, en el modo con el mayor número de símbolos de datos por símbolo OFDM utilizando, a la vez, el proceso de intercalado impar y el proceso de intercalado par. Sin embargo, el número de sub-portadoras por símbolo OFDM, para este modo operativo máximo, es dos veces la capacidad del siguiente mayor número de sub-portadoras por símbolo OFDM para cualquier otro modo operativo con el siguiente mayor número de sub-portadoras por símbolo OFDM.
Según otras formas de realización, a modo de ejemplo, por lo tanto, un tamaño mínimo de la memoria de intercalador puede proporcionarse en función del número máximo de símbolos de datos que pueden transmitirse sobre las subportadoras de los símbolos OFDM, que están disponibles para transmitir los símbolos de datos en cualquiera de los modos de funcionamiento.
En algunas formas de realización, el modo de funcionamiento que proporciona el número máximo de sub-portadoras por símbolo OFDM es un modo de 32K. Los otros modos pueden incluir uno o más de los modos de 2K, 4K, 8K y 16K. Por ello, como se apreciará por la descripción anterior, en el modo de 32K los procesos de intercalado impar y par se utilizan para intercalar los símbolos de datos, de modo que la magnitud de la memoria de intercalador pueda ser suficiente para contabilizar los 32K símbolos de datos. Sin embargo, para el modo de 16K y cualquiera de los demás modos, entonces se utiliza solamente el proceso de intercalado impar, de modo que, con el modo de 16K, se requiere un tamaño de memoria equivalente de 32K símbolos, con el modo de 4k se necesita un tamaño de memoria equivalente de 8k símbolos y con el modo de 2k se requiere un tamaño de memoria equivalente de 4k símbolos.
En algunas formas de realización, a modo de ejemplo, se utiliza un código de permutación diferente para realizar el intercalado para símbolos OFDM sucesivos. El uso de diferentes códigos de permutación para símbolos OFDM sucesivos puede proporcionar una ventaja cuando el aparato de procesamiento de datos es utilizable para intercalar los símbolos de datos a comunicarse por las sub-portadoras de los símbolos OFDM o recibidos desde las señales de subportadoras de cada uno de los símbolos OFDM utilizando solamente el proceso de intercalado impar. Por lo tanto, en un transmisor, un aparato de procesamiento de datos es utilizable para intercalar los símbolos de datos de entrada en las señales de sub-portadoras de los símbolos OFDM efectuando la lectura de los símbolos de datos en la memoria en un orden secuencial y efectuando la lectura de los símbolos de datos desde la memoria de intercalador en un orden determinado en función del conjunto de direcciones generadas por el generador de direcciones. En un receptor, un aparato de procesamiento de datos es utilizable para intercalar los símbolos de datos de entrada en las señales de subportadoras de los símbolos OFDM efectuando la lectura en memoria de los símbolos de datos recibidos desde las subportadoras de los símbolos OFDM en un orden determinado en función del conjunto de direcciones generadas por el generador de direcciones y la lectura desde la memoria en un flujo de datos de salida en un orden secuencial.
Varios aspectos y características de la presente invención se definen en las reivindicaciones adjuntas. Aspectos
5 adicionales de la presente invención incluyen un método de recuperación de bits de datos a partir de un número predeterminado de señales sub-portadoras de símbolos Multiplexados por División de Frecuencias Ortogonales (OFDM) así como un receptor.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
10 Formas de realización de la presente invención se describirán ahora, a modo de ejemplo solamente con referencia a los dibujos adjuntos, en donde los elementos similares están provistos de referencias numéricas correspondientes y en donde:
15 La Figura 1 es un diagrama de bloques esquemático de un transmisor OFDM codificado que puede utilizarse, a modo de ejemplo, con la norma DVB-T2;
La Figura 2 ilustra una matriz de control de paridad H, a modo de ejemplo, de un código LDPC;
20 La Figura 3 es un diagrama de flujo que ilustra un procesamiento para decodificar un código LDPC;
La Figura 4 ilustra una matriz de control de paridad, a modo de ejemplo, de un código LDPC;
La Figura 5 ilustra un gráfico de Tanner de una matriz de control de paridad; 25 La Figura 6 ilustra un nodo variable;
La Figura 7 ilustra un nodo de control;
30 La Figura 8 es un diagrama de bloques esquemático que ilustra una configuración, a modo de ejemplo, de un transmisor;
La Figura 9 ilustra una matriz de control de paridad;
La Figura 10 ilustra una matriz de paridad;
35 Las Figuras 11a y 11b ilustran una matriz de control de paridad de un código LDPC y los pesos de ponderación de columnas definidos en la especificación de DVB-S.2;
Las Figuras 12a y 12b ilustran una disposición de puntos de señales de 16QAM; 40 La Figura 13 ilustra una disposición de puntos de señales de 64QAM;
La Figura 14 ilustra una disposición de puntos de señales de 64QAM;
45 La Figura 15 ilustra una disposición de puntos de señales de 64QAM;
Las Figuras 16a a 16d ilustran el funcionamiento de un demultiplexor 25;
Las Figuras 17a a 17d ilustran el funcionamiento del demultiplexor 25; 50 La Figura 18 ilustra un gráfico de Tanner para la decodificación de un código LDPC;
Las Figuras 19a y 19b ilustran una matriz de paridad HT que presenta una estructura escalonada y un gráfico de Tanner correspondiente a la matriz de paridad HT;
55 La Figura 20 ilustra una matriz de paridad HT de una matriz de control de paridad H correspondiente a un código LDPC después de que se realice una operación de intercalado de paridad en el código LDPC;
Las Figuras 21a y 21b ilustran una matriz de control de paridad convertida; 60 La Figura 22 ilustra el funcionamiento de un intercalador de columna con torsión 24;
La Figura 23 ilustra el número de columnas de una memoria 31 que se requiere para el intercalado de columnas con torsión y las direcciones de posiciones iniciales de escritura; 65
La Figura 24 ilustra el número de columnas de la memoria 31 necesarias para el intercalado de columnas con torsión y las direcciones de las posiciones de inicio de escritura;
La Figura 25 es un diagrama de flujo que ilustra un procedimiento de transmisión; 5 Las Figuras 26a y 26b ilustran un modelo de una ruta de comunicación utilizada en simulaciones;
La Figura 27 ilustra las relaciones entre las frecuencias Doppler fd y las tasas de errores obtenidas a partir de simulaciones;
La Figura 28 ilustra las relaciones entre las frecuencias Doppler fd y las tasas de errores obtenidas a partir de simulaciones;
La Figura 29 es un diagrama de bloques esquemático de un receptor de OFDM codificado que puede utilizarse, a modo de ejemplo, con la norma DVB-T2;
15 La Figura 30 es un diagrama de flujo que ilustra un procedimiento de recepción;
La Figura 31 ilustra una matriz de control de paridad, a modo de ejemplo, de un código LDPC;
La Figura 32 ilustra una matriz (matriz de control de paridad convertida) obtenida realizando la permutación de filas y la permutación de columnas en la matriz de control de paridad;
La Figura 33 ilustra la matriz de control de paridad convertida dividida en unidades de matrices 5 x 5;
25 La Figura 34 es un diagrama de bloques que ilustra una configuración, a modo de ejemplo, de un dispositivo de decodificación que realiza cálculos de nodos P en paralelo;
La Figura 35 representa una configuración, a modo de ejemplo, de un decodificador LDPC 56;
La Figura 36 es un diagrama de bloques que ilustra una configuración, a modo de ejemplo, de una forma de realización de un ordenador al que se aplica la invención;
La Figura 37 es un diagrama de bloques esquemático de componentes del transmisor ilustrado en la Figura 1 en donde un dispositivo de mapeado de puesta en correspondencia de símbolos y un constructor de tramas ilustra el
35 funcionamiento de un intercalador;
La Figura 38 es un diagrama de bloques esquemático del intercalador de símbolos representado en la Figura 37;
La Figura 39 es un diagrama de bloques esquemático de una memoria de intercalador representada en la Figura 38 y el correspondiente de-intercalador de símbolos en el receptor;
La Figura 40 es un diagrama de bloques esquemático de un generador de direcciones ilustrado en la Figura 38 para el modo de 32k;
45 La Figura 41(a) es un diagrama que ilustra los resultados para un intercalador que utiliza el generador de direcciones representado en la Figura 40 para símbolos pares y la Figura 41(b) es un diagrama que ilustra los resultados de la simulación de diseño para símbolos impares, mientras que la Figura 41(c) es un diagrama que ilustra resultados comparativos para un generador de direcciones que utiliza un código de permutación diferente para símbolos pares y la Figura 41 (d) es un diagrama correspondiente para símbolos impares;
La Figura 42 es un diagrama de bloques esquemático de un de-intercalador de símbolos que se representa en la Figura 29;
La Figura 43(a) es un diagrama que ilustra los resultados para un intercalador que utiliza el generador de direcciones
55 representado en la Figura 40 para símbolos OFDM pares y la Figura 43(b) es un diagrama que ilustra resultados para símbolos OFDM impares. Las Figuras 44(a) y 44(b) representan trazados de la distancia, a la salida del intercalador de sub-portadoras, que eran adyacentes a la entrada del intercalador;
La Figura 44 da a conocer un diagrama de bloques esquemático del intercalador de símbolos representado en la Figura 38, que ilustra un modo de funcionamiento en el que se realiza el intercalado en conformidad con un modo de intercalado impar solamente y
La Figura 45 representa un diagrama de bloques esquemático del de-intercalador de símbolos representado en la Figura 42, que ilustra el modo de funcionamiento en el que la operación de intercalado se realiza en conformidad con el modo
65 de intercalado impar solamente.
DESCRIPCIÓN DE FORMAS DE REALIZACIÓN PREFERIDAS
La Figura 1 representa un diagrama de bloques, a modo de ejemplo, de un transmisor OFDM que puede utilizarse, también a modo de ejemplo, para transmitir imágenes de vídeo y señales de audio en conformidad con la norma DVB5 T2. En la Figura 1, una fuente de programas genera datos a transmitirse por el transmisor OFDM. Un codificador de vídeo 2, un codificador de audio 4 y un codificador de datos 6 generan imágenes de vídeo, señales de audio y otros datos a transmitirse, que se alimentan operativamente a un multiplexor de programas 10. La salida del multiplexor de programas 10 forma un flujo multiplexado con otra información requerida para comunicar las imágenes de vídeo, las señales de audio y otros datos. El multiplexor 10 proporciona un flujo continuo en un canal de conexión 13. Pueden
10 existir bastantes flujos continuos multiplexados que se alimentan en diferentes ramas de derivación A, B, etc. Para mayor simplicidad, solamente se describirá la rama de derivación A.
Según se ilustra en la Figura 1, un transmisor OFDM 11 recibe el flujo continuo en un bloque de dispersión de energía y adaptación del multiplexor 20. El bloque de dispersión de energía y adaptación del multiplexor 20 aleatoriza los datos y 15 alimenta los datos adecuados a un codificador de corrección de errores en sentido directo 21 que realiza la codificación de corrección de errores del flujo continuo. Un intercalador de bits 22 está provisto para intercalar los bits de datos codificados que, a modo de ejemplo, de la norma DVB-T2 es la salida del codificador LDPC. La salida desde el intercalador de bits 22 se alimenta a un dispositivo de puesta en correspondencia de constelación 26, que pone en correspondencia grupos de bits en un punto de constelación, que ha de utilizarse para transportar los bits de datos 20 codificados. Las salidas desde el bit en el dispositivo de puesta en correspondencia de constelación 26 son etiquetas de puntos de constelación que representan componentes reales e imaginarios. Las etiquetas de puntos de constelación representan símbolos de datos formados a partir de dos o más bits, dependiendo del sistema de modulación utilizado. Estas circunstancias operativas se referirán como celdas de datos. Estas celdas de datos se hacen pasar a través de un intercalador temporal 30 cuyo efecto es intercalar celdas de datos resultantes de múltiples palabras de código LDPC. Las
25 celdas de datos desde el intercalador temporal 30 se alimentan, luego, a un constructor de tramas y modulación 27, que establece la puesta en correspondencia de las celdas de datos con los símbolos de modulación para transmisión.
Las celdas de datos se reciben dentro de la unidad de modulación 27 por un constructor de tramas 32, con celdas de datos generadas por la rama de derivación B, etc., en la Figura 1, por intermedio de otros canales 31. El constructor de
30 tramas 32 forma entonces, numerosas celdas de datos en secuencias a transmitirse en símbolos OFDM, en donde un símbolo OFDM comprende varias celdas de datos, estando cada celda de datos en correspondencia con una de las subportadoras. El número de sub-portadoras dependerá del modo de funcionamiento del sistema, que puede incluir un modo de 1k, 2k, 4k, 8k, 16k o 32k, cada uno de los cuales proporciona un número diferente de sub-portadoras en conformidad, a modo de ejemplo, con la tabla siguiente:
Modo
Sub-portadoras
1K
756
2K
1512
4K
3024
8K
6048
16K
12096
32K
24192
Número de sub-portadoras adaptadas desde la norma DVB-T/H
En consecuencia, a modo de ejemplo, el número de sub-portadoras para el modo de 32k es veinticuatro mil ciento
40 noventa y dos. Para el sistema DVB-T2, el número de sub-portadoras por símbolo OFDM puede variar dependiendo del número de portadoras piloto u otras portadoras reservadas. Por ello, en DVB-T2, a diferencia de DVB-T, el número de sub-portadoras para transmitir datos no es fijo. Los dispositivos de difusión pueden seleccionar uno de los modos de funcionamiento desde los modos de 1k, 2k, 4k, 8k, 16k, 32k, proporcionando cada uno de ellos un margen de subportadoras para datos por símbolo OFDM, siendo el máximo disponible para cada uno de estos modos 1024, 2048,
45 4096, 8192, 16384, 32768, respectivamente. En DVB-T2, una trama de capa física está constituida por numerosos símbolos OFDM. En condiciones normales, la trama se inicia con uno o más preámbulos o símbolos OFDM P2, que luego van seguidos por una carga útil numérica que transmite símbolos OFDM. El final de la trama de capa física está marcado por símbolos de cierre de trama. Para cada modo de funcionamiento, el número de sub-portadoras puede ser diferente para cada tipo de símbolo. Además, esta circunstancia operativa puede variar para cada uno, en función de si
50 se selecciona una extensión de ancho de banda, si se permite una reserva de tonos y en función de que se haya seleccionado una configuración de sub-portadoras piloto. En consecuencia, resulta difícil una generalización para un número específico de sub-portadoras por símbolo OFDM. Sin embargo, el intercalador de frecuencias para cada modo puede intercalar cualquier símbolo cuyo número de sub-portadoras sea más pequeño que, o el mismo que, el número disponible máximo de sub-portadoras para el modo dado. A modo de ejemplo, en el modo de 1k, el intercalador
55 funcionaría para símbolos con el número de sub-portadoras siendo menor que o igual a 1024 y para el modo de 16k, con el número de sub-portadoras siendo menor o igual a 16384.
La secuencia de celdas de datos a transmitirse en cada símbolo OFDM se transmite luego al intercalador de símbolos
33. A continuación, se genera el símbolo OFDM por un bloque constructor de símbolos OFDM 37 que introduce señales piloto y de sincronización, alimentadas desde un conformador de señales piloto e incorporadas 36. Un modulador de OFDM 38 forma luego el símbolo OFDM en el dominio del tiempo, que se alimenta a un procesador de inserción de guarda 40 para generar un intervalo de guarda entre símbolos y luego, a un convertidor digital a analógico 42 y por último, a un amplificador de RF dentro de un extremo frontal de RF 44 para su posible difusión por el transmisor OFDM desde una antena 46.
Formas de realización de la presente invención dan a conocer un sistema de comunicación OFDM que incluye un intercalador de bits para intercalar bits codificados con un codificador LDPC en combinación con un intercalador de símbolos, que intercala símbolos que representan los uno o más bits intercalados y codificados en las señales subportadoras de un símbolo OFDM. El intercalador de bits y el intercalador de símbolos, según formas de realización, a modo de ejemplo, se describen en los apartados siguientes, comenzando con el intercalador de bits, que se describe con codificación por LDPC:
Intercalador de bits para codificación por LDPC
Código de corrección de errores de LDPC
Los códigos de LDPC presentan un alto rendimiento en corrección de errores y comenzaron recientemente a utilizarse en sistemas de comunicación, que incluyen la difusión digital vía satélite, tal como DVB-S.2, que ha introducido su uso en Europa (a modo de ejemplo, véase DVB-S.2: ETSI EN 302 307 V1.1.2 (2006-06)). Asimismo, se somete a consideración la aplicación de códigos LDPC a la difusión digital terrestre de la siguiente generación.
Recientes estudios demuestran que el rendimiento de los códigos LDPC se aproximan al denominado Límite de Shannon cuando se aumenta la longitud del codificación, de forma similar a los denominados códigos turbo. Puesto que los códigos LDPC tienen una propiedad de que la distancia mínima es proporcional a la longitud del código, los códigos LDPC tienen ventajas por cuanto que las características de probabilidad de errores en bloques son excelentes y tienen un límite inferior de errores, que es un fenómeno observado en asociación con las características de decodificación de códigos turbo o similares, lo que ocurre en raras ocasiones.
Se hará ahora referencia, en detalle, a dichos códigos LDPC. Los códigos LDPC con códigos lineales. Aunque los códigos LDPC no son necesariamente binarios, la siguiente descripción se proporcionará haciendo referencia a los códigos LDPC binarios.
La característica más importante de los códigos LDPC es que una matriz de control de paridad, que define cada código LDPC, es una matriz que tiene un muy pequeño número de elementos de “1”, esto es, sus elementos son principalmente “0”.
La Figura 2 ilustra una matriz de control de paridad H, a modo de ejemplo, de un código LDPC.
Cada columna de la matriz de control de paridad H de la Figura 2 tiene un peso de ponderación de 3 (esto es, 3 elementos de “1”) y cada fila tiene un peso de ponderación de 6 (esto es, 6 elementos de “1”).
Se realiza una codificación basada en códigos LDPC (esto es, codificación por LDPC), a modo de ejemplo, calculando una matriz de generación G basada en una matriz de control de paridad H y multiplicando la matriz de generación G por los bits de información para generar una palabra de código (código LDPC).
Más concretamente, un codificador LDPC calcula primero una matriz de generación G que satisface una ecuación GHT = 0, con una matriz transpuesta HT de la matriz de control de paridad H. En este caso, cuando la matriz de generación G es una matriz KxN, el codificador multiplica la matriz de generación G por una secuencia de bits de información de K-bits (vector u) para generar una palabra de código de N-bits c (= uG). La palabra de código (código LDPC) generada por el codificador se recibe por un lado receptor a través de una ruta de comunicación.
El código LDPC puede decodificarse mediante un algoritmo de paso de mensajes propuesto por Gallager y denominado como un “algoritmo de decodificación probabilística”. El algoritmo de paso de mensajes utiliza una, así denominada, propagación de creencia en un gráfico de Tanner incluyendo nodos de variables (también referidos como nodos de mensajes) y nodos de control. En la siguiente descripción, cada uno de los nodos de variables y de los nodos de control se referirá simplemente como un “nodo” cuando sea adecuado.
La Figura 3 ilustra un procedimiento para decodificar un código LDPC.
A continuación, un valor real que expresa, como una relación de probabilidad logarítmica, la probabilidad de que un iésimo bit de código de un código LDPC (una palabra de código) recibido por un lado receptor tenga un valor de “0” se refiere como un valor recibido u01 cuando sea adecuado. Además, una salida de mensaje desde un nodo de control se refiere como uj y una salida de mensaje desde un nodo de variable se refiere como vi.
Un código LDPC se decodifica en el modo siguiente. En primer lugar, según se ilustra en la Figura 3, en la etapa S11, se recibe un código LDPC, un mensaje (mensaje de nodo de control) uj se inicializa a “0” y una variable k, que tiene un valor de número entero como un contador de un proceso iterativo, se inicializa a “0”. A continuación, el procedimiento prosigue
5 con la etapa S12. En la etapa S12, un cálculo (cálculo de nodo variable) representado por la ecuación (1) se realiza sobre la base de un valor recibido u0i obtenido mediante la recepción del código LDPC para obtener un mensaje (mensaje de nodo de variable) vi y un cálculo (cálculo de nodo de control) representado por la ecuación (2) se realiza luego sobre la base del mensaje vi para obtener un mensaje uj.
10 ECUACIÓN 1
ECUACIÓN 2
dv y dc en la ecuación (1) y en la ecuación (2) son parámetros arbitrariamente seleccionables que representan los números respectivos de 1 en una dirección vertical (columna) y en una dirección horizontal (fila) de la matriz de control de 20 paridad H. A modo de ejemplo, dv= 3 y dc= 6 en el caso de un código (3,6).
Los márgenes respectivos para el cálculo en el cálculo de nodo de variable de la ecuación (1) y el cálculo de nodo de control de la ecuación (2) son desde a dv-1 y desde 1 a dc-1, puesto que un mensaje recibido desde un borde (esto es, una línea que conecta un nodo de variable y un nodo de control entre sí) que proporciona a la salida el mensaje se 25 excluye de cada uno de los cálculos de las ecuaciones (1) y (2). En realidad, el cálculo del nodo de control de la ecuación
(2) se realiza mediante utilización recursiva, según se ilustra en la ecuación (4), una tabla anteriormente creada de una función R(v1, v2), representada por la ecuación (3), que se define como una sola salida con respecto a dos entradas v1 y v2.
30 ECUACIÓN 3
ECUACIÓN 4
En la etapa S12, la variable k se incrementa en “1” y el procedimiento prosigue con la etapa S13. En la etapa S13, se determina si la variable k es, o no, mayor que un número predeterminado de iteraciones de decodificación C. Si se 40 determina, en la etapa S13, que la variable k no es mayor que C, el procedimiento retorna a la etapa S12 para repetir el mismo proceso.
Si se determina, en la etapa S13, que la variable k es mayor que C, el procedimiento prosigue con la etapa S14 para realizar un cálculo representado por la ecuación (5) para obtener y proporcionar a la salida un mensaje vi como un 45 resultado de decodificación final. Entonces, se termina el procedimiento de decodificación de código LDPC.
ECUACIÓN 5
En este caso, a diferencia del cálculo del nodo de variable de la ecuación (1), el cálculo de la ecuación (5) se realiza utilizando mensajes uj desde todos los bordes conectados al nodo de variable.
La Figura 4 ilustra una matriz de control de paridad H, a modo de ejemplo, de un código LDPC (3,6) con una tasa de
5 código de 1/2 y una longitud de código de 12. Como en el caso de la matriz de control de paridad H de la Figura 2, la matriz de control de paridad H de la Figura 4 tiene un peso de ponderación de columna de 3 y un peso de ponderación de fila de 6.
La Figura 5 ilustra un gráfico de Tanner de la matriz de control de paridad H de la Figura 4.
10 En la Figura 5, “+” representa un nodo de control y “=” representa un nodo de variable. Los nodos de control y los nodos de variable corresponden a filas y columnas de la matriz de control de paridad H, respectivamente. Cada línea de conexión entre un par de nodos de control y de variable es un borde correspondiente a un elemento de “1” de la matriz de control de paridad H.
15 Más concretamente, cuando un elemento de la j-ésima fila y de la i-ésima columna de una matriz de control de paridad es “1”, un i-ésimo nodo de variable “=” (conteo desde la parte superior) y j-ésimo nodo de control “+” (conteo desde la parte superior) se conectan a través de un borde en la Figura 5. El borde indica que un bit de código correspondiente al nodo de variable tiene una limitación correspondiente al nodo de control.
20 Un algoritmo de producto de sumas, que es un algoritmo de decodificación de códigos LDPC, realiza repetidamente un cálculo de nodo de variable y un cálculo de nodo de control.
La Figura 6 ilustra un cálculo de nodo de variable realizado en un nodo de variable. 25 Un mensaje vi correspondiente a un borde para cálculo se obtiene según el cálculo de nodo de variable de la ecuación
(1) utilizando un valor recibido uoi y mensajes u1 y u2 desde los restantes bordes conectados al nodo de variable. Los mensajes correspondientes a otros bordes se obtienen de la misma manera.
30 La Figura 7 ilustra un cálculo de nodo de control realizado en un nodo de control.
La ecuación (2) anterior para el cálculo de nodo de control se puede rescribir como la ecuación (6) utilizando una ecuación de relación de axb=exp{In(|a|)+In(|b|)}xsign(a)xsign(b), en donde sign(x) es 1 cuando x>0 y -1 cuando x<0.
35 ECUACIÓN 6
Además, cuando una función !(x)=In(tanh(x/2)) se define cuando x>0, se satisface una ecuación !-1(x)=2tanh-1(e-x) y por 40 lo tanto, la ecuación (6) se puede redisponer en la ecuación (7).
ECUACIÓN 7
En el nodo de control, el cálculo del nodo de control de la ecuación (2) se realiza aplicando la ecuación (7).
Es decir, en el nodo de control, un mensaje uj correspondiente a un borde para el cálculo se obtiene en función del cálculo del nodo de control de la ecuación (7) utilizando los mensajes v1, v2, v3, v4 y v5 a partir de los restantes bordes conectados al nodo de control según se ilustra en la Figura 7. Los mensajes correspondientes a otros bordes se obtienen
5 de la misma manera.
La función !(x) en la ecuación (7) pueden expresarse también de modo que !(x)=In((ex +1)/(ex-1)) y !(x)=!-1(x) cuando x>0. Cuando las funciones !-1(x) y !(x) están incorporadas en el hardware, se pueden incorporar utilizando la misma Tabla de Consulta (LUT).
Aunque es conocido que los códigos LDPC presentan muy alto rendimiento en la ruta de comunicación de Ruido Gaussiano Blanco Aditivo (AWGN), es también conocido en los últimos años que los códigos LDPC tienen un alto rendimiento en corrección de errores en otras rutas de comunicación, en comparación con los códigos convolucionales o códigos de Reed Solomon (RS) convolucionales concatenados con anterioridad en el tiempo.
15 Es decir, cuando se selecciona un código que tiene un excelente rendimiento en una ruta de comunicación de AWGN, el código seleccionado suele presentar un excelente rendimiento en otras rutas de comunicación, superior a otros códigos.
A modo de ejemplo, cuando se aplican códigos LDPC a la difusión digital terrestre, se ha recomendado que los códigos LDPC, definidos en la especificación DVB-S.2 y los sistemas de modulación definidos en la especificación DVB-T se combinen y un intercalador de bits, que intercala bits de código de un código LDPC, se proporcione entre un codificador LDPC y un modulador para mejorar el rendimiento de códigos LDPC en rutas de comunicación AWGN.
Sin embargo, pueden producirse borrados operativos o errores de ráfagas en las rutas de comunicación que se asumen
25 como siendo ondas de componente terrestre. A modo de ejemplo, en un sistema de Multiplexación por División de Frecuencias Ortogonales (OFDM), se puede borrar un símbolo específico (esto es, caer a cero en potencia) debido al retardo de un eco, que es una ruta distinta a la ruta principal, en entornos multi-ruta, en donde una relación de Deseado a Indeseado (D/U) es 0 dB, de modo que la potencia de la ruta principal, como potencia deseada, es igual a la potencia de eco como potencia indeseada.
Cuando la relación D/U es 0dB, todos los símbolos OFDM, en un tiempo concreto, pueden borrarse también (esto es, caída a cero en potencia) debido a una frecuencia Doppler en un dispositivo de fluctuación que es una ruta de comunicación a la que se aplica un eco con un frecuencia Doppler y que tiene un retardo de “0” que se ha añadido.
35 Además, pueden ocurrir errores de ráfagas debido a potencia inestable o condiciones indeseables de cableados desde antenas a receptores.
En la técnica relacionada, código correctores de errores que presentan un excelente rendimiento en rutas de comunicación AWGN, se suelen utilizar frecuentemente en rutas de comunicación en donde se producen borrados operativos o errores de ráfagas según se describió anteriormente.
Por otro lado, cuando se decodifica un código LDPC, un nodo de variable correspondiente no solamente a una columna de una matriz de control de paridad H, sino también a un bit de código del código LDPC se calcula aplicando la ecuación
(1) que implica la adición de un bit de código (un valor recibido u0i) de un código LDPC, según se ilustra en la Figura 6.
45 Por lo tanto, la exactitud del mensaje obtenido se reduce si ocurre un error en un bit de código utilizado en el cálculo del nodo de variable.
Además, cuando se decodifica un código LDPC, se calcula un nodo de control aplicando la ecuación (7) utilizando un mensaje obtenido en un nodo de variable conectado al nodo de control. Por lo tanto, el rendimiento de la decodificación se reduce si un error que incluye un borrado operativo ocurre simultáneamente en (una pluralidad de bits de código del código LDPC correspondiente) una pluralidad de nodos de variables conectados a cada uno de un gran número de nodos de control.
Más concretamente, a modo de ejemplo, cuando dos o más nodos de variables conectados a un nodo de control se
55 suprimen simultáneamente, el nodo de control reenvía un mensaje con una probabilidad de “0” que es igual a la probabilidad “1” a cada nodo de variable conectado al nodo de control. En este caso, el nodo de control que reenvía el mensaje con probabilidades iguales de “0” y “1”, no contribuye a un proceso de decodificación que es un conjunto de un cálculo de nodos de variable y un cálculo de nodos de control. Esta circunstancia operativa aumenta el número de procesos de decodificación requeridos, con lo que se disminuye el rendimiento de decodificación y se aumenta el consumo de energía de un receptor que realiza la decodificación de códigos LDPC.
En consecuencia, existe una necesidad de dar a conocer un método para aumentar la resistencia a los errores de ráfagas o borrados operativos, al mismo tiempo que se mantiene el rendimiento de las rutas de comunicación de AWGN.
65 En este caso, será posible aumentar el rendimiento de decodificación si un intercalador de bits, que intercala bits de código de un código LDPC, se proporciona entre un codificador LDPC y un modulador para mejorar el rendimiento de código de LDPC en rutas de comunicación de AWGN según se describió anteriormente y si el intercalador de bits está diseñado de modo que pueda realizar la función de intercalado para reducir la probabilidad de que un error ocurriere simultáneamente en (una pluralidad de bits de código de un código LDPC correspondiente ) una pluralidad de nodos de variable conectados a un nodo de control.
5 La invención se ha realizado considerando las circunstancias anteriores y proporciona un aparato de procesamiento de datos y un método que puede aumentar la resistencia a errores en bits de código de códigos LDPC, tales como errores de ráfagas o borrados operativos.
10 Un aparato de procesamiento de datos, para intercalar datos según una forma de realización de la invención, incluye un intercalador de paridad para realizar el intercalado de paridad en un código de Control de Paridad de Baja Densidad (LDPC) obtenido realizando la codificación de LDPC en función de una matriz de control de paridad, que incluye una matriz de paridad correspondiente a los bits de paridad del código de LDPC, presentando la matriz de paridad una estructura escalonada, de modo que un bit de paridad del código LDPC se intercale a una posición de bit de paridad
15 diferente.
Un método de procesamiento de datos, para un aparato de procesamiento de datos que intercala datos según una forma de realización de la invención, incluye la etapa de hacer que el aparato de procesamiento de datos realice un intercalado de paridad en un código de Control de Paridad de Baja Densidad (LDPC) obtenido realizando la codificación de LDPC en
20 función de una matriz de control de paridad, que incluye una matriz de paridad correspondiente a bits de paridad del código LDPC, presentando la matriz de paridad una estructura escalonada, de modo que un bit de paridad del código LDPC se intercale a una posición de bit de paridad diferente.
Es decir, según las formas de realización de la invención, el intercalado de paridad se realiza sobre un código LDPC
25 obtenido realizando la código de LDPC en función de una matriz de control de paridad, que incluye una matriz de paridad de estructura escalonada correspondiente a bits de paridad del código LDPC, de modo que los bits de paridad del código LDPC se intercalen a diferentes posiciones de bits de paridad.
El aparato de procesamiento de datos puede ser un dispositivo independiente y puede ser también un bloque interno 30 incluido en un dispositivo.
Explicación detallada, a modo de ejemplo, de un intercalador de bits
La Figura 8 ilustra una representación más detallada de partes del transmisor representado en la Figura 1, que sirve para
35 describir el funcionamiento del intercalador de bits. En particular, se describirá ahora el codificador LDPC 21. El codificador LDPC 21 codifica los datos objetivos en bits de datos codificados por LDPC que incluyen bits de información correspondientes a los datos objetivos en función de una matriz de control de paridad, en donde una matriz de paridad correspondiente a los bits de paridad del código LDPC tiene una estructura escalonada.
40 Más concretamente, el codificador LDPC 21 codifica datos objetivos en un código LDPC definido, a modo de ejemplo, en conformidad con la especificación DVB-S.2 y proporciona, a la salida, el código LDPC.
El código LDPC definido en la especificación DVB-S.2 es un código de Acumulación de Repetición Regular (IRA) y una matriz de paridad en una matriz de control de paridad del código LDPC presenta una estructura escalonada. Detalles de
45 la matriz de paridad y de su estructura escalonada se describirán a continuación. A modo de ejemplo, el código IRA se describe en el documento “Códigos de Repetición-Acumulación Irregular”, H. Jin, A. Khandekar y R. J. McEliece, en Proceedings of 2 International Symposium sobre códigos turbo y temas relacionados, páginas 1-8, septiembre 2000.
La salida de código LDPC, desde el codificador LDPC 21, se proporciona al intercalador de bits 22.
50 El intercalador de bits 22 es un aparato de procesamiento de datos que intercala datos e incluye un intercalador de paridad 23, un intercalador de columnas con torsión 24 y un demultiplexor 25.
El intercalador de paridad 23 realiza una operación de intercalado de paridad en el código LDPC desde el codificador
55 LDPC 21 para intercalar bits de paridad del código LDPC a diferentes posiciones de bits de paridad y proporciona el código LDPC, intercalado en paridad, al intercalador de columnas con torsión 24.
El intercalador de columnas con torsión 24 realiza la operación de intercalado de columnas con torsión en el código LDPC desde el intercalador de paridad 23 y luego, proporciona el código LDPC con intercalado de columnas con torsión
60 al demultiplexor 25.
De este modo, el código LDPC se transmite después que de dos o más bits de código del código LDPC se pongan en correspondencia con un símbolo modulado de forma ortogonal mediante la unidad de puesta en correspondencia 26 descrita a continuación.
65 El intercalador de columnas con torsión 24 realiza la permutación (a modo de ejemplo, el intercalado de columnas con torsión descrito a continuación) sobre los bits de código del código LDPC recibidos desde el intercalador de paridad 23, de modo que una pluralidad de bits de código del código LDPC correspondiente a “1” en una fila arbitraria en la matriz de control de paridad, utilizada por el codificador de LDPC 21, no sea puesta en correspondencia con un solo símbolo.
5 El demultiplexor 25 realiza un proceso de reordenamiento sobre el código LDPC recibido desde el intercalador de columnas con torsión 24, de modo que las posiciones de dos o más bits de códigos del código LDPC puestos en correspondencia con un solo símbolo sea reordenado, obteniendo un código LDPC con resistencia aumentada para AWGN y luego, proporciona el código LDPC obtenido para la puesta en correspondencia de la unidad 26.
La unidad de puesta en correspondencia 26 efectúa la puesta en correspondencia de dos o más bits de código del código LDPC desde el demultiplexor 25 a cada punto de señal, que se determina en conformidad con un sistema de modulación que utiliza el modulador ortogonal 27 para realizar una modulación ortogonal (modulación multivalor).
15 Más concretamente, la unidad de puesta en correspondencia 26 convierte el código LDPC desde demultiplexor 25 en símbolos (valores de símbolos) representados por puntos de señales determinados en conformidad con el sistema de modulación sobre un plano de IQ (denominada constelación de IQ) definido con un eje I que representa I componentes de las mismas fases que las portadoras y un eje Q que representa Q componentes ortogonales a las portadoras.
El sistema de modulación que utiliza el transmisor OFDM de la Figura 1 para realizar la modulación ortogonal incluye un sistema de modulación definido en la especificación DVB-T, de la que formas de realización, a modo de ejemplo, incluyen la Modulación por Desplazamiento de Fase en Cuadratura (QPSK), Modulación de Amplitud en Cuadratura de 16 estados (16QAM), 64QAM, 256QAM, 1024QAM y 4096QAM. Uno de los sistemas de modulación que utiliza el modulador ortogonal 27 para realizar una modulación ortogonal está preestablecido, a modo de ejemplo, mediante la
25 operación por un operador que utiliza el transmisor de la Figura 1. Formas de realización, a modo de ejemplo, de otros sistemas de modulación que el modulador ortogonal 27 puede utilizar para realizar la modulación ortogonal incluyen la modulación en amplitud de 4 pulsos (4PAM).
El símbolo obtenido en la unidad de puesta en correspondencia 26 se proporciona al intercalador temporal, que puede intercalar diferentes palabras de código LDPC en diferentes símbolos OFDM. La salida del intercalador temporal 30 se alimenta luego al constructor de tramas representado en la Figura 1.Las partes restantes del transmisor, representado en la Figura 1, realizan la modulación ortogonal de las señales de sub-portadoras del símbolo OFDM recibido desde la unidad de puesta en correspondencia 26 para generar una señal modulada y luego, transmite dicha señal modulada.
35 La Figura 9 ilustra una matriz de control de paridad H que el codificador LDPC 21 de la Figura 8 utiliza para la codificación de LDPC.
La matriz de control de paridad H tiene una estructura de Matriz de Generación de Baja Densidad (LDGM) y puede expresarse por una ecuación “H=[HA|HT]” que incluye una matriz de información HA como un componente a la izquierda y una matriz de paridad HT como una componente a la derecha, en donde la matriz de información HA corresponde a bits de información entre los bits de código del código LDPC y la matriz de paridad HT corresponde a bits de paridad.
En este caso, el número de bits de información el número de bits de paridad entre los bits de código de un código LDPC (una sola palabra de código) se definen como una longitud de información de K y una longitud de paridad de M y el
45 número de los bits de código se define como una longitud de código de N(=K+M).
La longitud de paridad K y la longitud de paridad M de un código LDPC de una longitud de código de N se determinan en función de una tasa de códigos. De este modo, la matriz de control de paridad H es una matriz MxN. Además, la matriz de información HA es una matriz MxK y la matriz de paridad HT es una matriz MxM.
La Figura 10 ilustra una matriz de paridad HT de una matriz de control de paridad H de un código LDPC definido en la especificación DVB-S.2.
La matriz de paridad HT del matriz de control de paridad H de un código LDPC definido en la especificación DVB-S.2
55 presenta una estructura escalonada, de modo que los elementos de “1” de la matriz de paridad HT estén dispuestos, de una forma escalonada, según se representa en la Figura 10. La primera fila de la matriz de control de paridad H tiene un peso de ponderación de 1 y las restantes filas tienen un peso de ponderación de 2. La última columna de la matriz de control de paridad H tiene un peso de ponderación de 1 y las restantes columnas tienen un peso de ponderación de 2.
El código LDPC de la matriz de control de paridad H, que presenta la matriz de paridad puede generarse fácilmente utilizando la matriz de control de paridad H.
Más concretamente, suponiendo que un vector de fila c representa un código LDPC (palabra de código) se supone que CT representa un vector de columna obtenido mediante transposición del vector de fila. Además, se supone que un
65 vector de fila A representa una parte de bits de información del vector de fila c, que es el código de LDPC y se supone que un vector de fila T representa su parte de bits de paridad.
En este caso, el vector de fila c puede expresarse por una ecuación “c=[A|T]” que incluye un vector de fila A como componente a la izquierda y un vector de fila T como un componente a la derecha, en donde el vector de fila A corresponde a bits de información y el vector de fila T corresponde a bits de paridad.
5 La matriz de control de paridad H y el vector de fila c=[A|T], que corresponde al código LDPC, necesitan satisfacer una ecuación “HzT=0”. De este modo, el valor de cada elemento del vector de fila T correspondiente a los bits de paridad incluidos en el vector de fila c=[A|T], puede obtenerse, de forma secuencial, estableciendo un elemento de cada fila del vector de columna HcT en la ecuación “HcT=0” a cero en el orden que se inicia desde el elemento de la primera fila, cuando la matriz de paridad HT, en la matriz de control de paridad H=[HA|HT] tiene una estructura escalonada según se ilustra en la Figura 10.
Las Figuras 12a y 12b ilustran una matriz de control de paridad H de un código LDPC y pesos de ponderación de columnas definidos en la especificación DVB-S.2.
15 Es decir, la Figura 111A ilustra una matriz de control de paridad H de un código LDPC definido en la especificación DVB
S.2.
En primer lugar, las KX-ésimas columnas de la matriz de control de paridad H tienen un peso de ponderación de columna de X, las K3 columnas siguientes tienen un peso de ponderación de columna de 3, las M-1 columnas siguientes tienen un peso de ponderación de columna de 2 y la última columna tiene un peso de ponderación de columna de 1.
En este caso, la suma de los números de las columnas “KX+K3+M-1+1” es igual la longitud de código de N.
25 En la especificación DVB-S.2, los números de columnas KX, K3 y M (longitud de paridad) y el peso de ponderación de columnas X se definen según se ilustra en la Figura 111B.
Es decir, la Figura 111B ilustra los números de columnas KX, K3 y M y el peso de ponderación de columna X para cada tasa de códigos de códigos LDPC definidos en la especificación de DVB-S.2.
Dos códigos LDPC, con respectivas longitudes de código de N de 64800 bits y 16200 bits se definen en la especificación DVB-S.2.
Además, 11 tasas de códigos nominales 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9 y 9/10 se definen para el código
35 LDPC cuya longitud de código N es 64800 bits y 10 tasas de códigos nominales 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6 y 8/9 se definen para código LDPC cuya longitud de código N es 16200 bits, según se ilustra en la Figura 111B.
Para códigos LDPC, se conoce que la tasa de errores de un bit de código disminuye a medida que aumenta el peso de ponderación de una columna correspondiente al bit de código en una matriz de control de paridad H.
En el caso de la matriz de control de paridad H definida en la especificación DVB-S.2 ilustrada en las Figuras 12a y 12b, el peso de ponderación de una columna aumenta a medida que disminuye el número ordinal de la columna (esto es, cuando la columna está más próxima al extremo izquierdo de la matriz de control de paridad H) y, por lo tanto, un bit de código en un código LDPC correspondiente a la matriz de control de paridad H es más sólido operativamente contra
45 (resistente a) errores a medida que disminuye el número ordinal del bit de código (es decir, el primer bit de código es el más resistente) y más susceptible a errores a medida que aumenta el número ordinal del bit de código (es decir, el último bit de código es el más susceptible).
Las Figuras 12A y 12B ilustran una disposición de (punto de señales correspondientes a) 16 símbolos en un plano IQ en el caso en donde se realiza 16QAM en el modulador ortogonal 27 representado en la Figura 8.
Es decir, la Figura 13A ilustra símbolos de 16QAM.
En 16QAM, un solo símbolo representa 4 bits y se proporcionan 16(=24) símbolos. Además, 16 símbolos están 55 dispuestos en un cuadrado de 4x4 símbolos en las direcciones I y Q, centrados en el origen del plano IQ.
En este caso, cuando y0, y1, y2 e y3 indican 4 bits representados por un solo símbolo de 16QAM, comenzando, de forma secuencial, desde el bit más significativo (MSB), la unidad de puesta en correspondencia 26 de la Figura 8 efectúa la puesta en correspondencia de 4 bits de código de un código LDPC como un símbolo de 4 bits y0 a y3 correspondientes a los 4 bits de código en el caso en donde el sistema de modulación es 16QAM.
La Figura 13B muestra límites de bits de cuatro bits y0a y3 representados por un símbolo 16QAM.
En este caso, un límite de bits de un bit yi (i=0,1, 2, 3 en las Figuras 12A y 12B) es un límite entre símbolos con un bit yi 65 de “0” y símbolos con un bit yi de “1”.
Según se ilustra en la Figura 13B, un límite correspondiente al eje Q, en el plano IQ, es el único límite de bits para el primer bit (esto es, el bit MSB) y0 de los 4 bits y0 a y3 representados por un símbolo 16QAM y un límite correspondiente al eje I, en el plano IQ, es el único límite de bits para el segundo bit (esto es, el segundo bit MSB) y1.
Además, dos límites, uno entre las primera y segunda columnas de símbolos (contando desde el lado izquierdo) entre los 4x4 símbolos y el otro entre las tercera y cuarta columnas, son límites de bits para el tercer bit y2.
Además, dos límites, uno entre las primera y segunda filas de símbolos (contando desde la parte superior) entre los 4x4 símbolos y el otro entre las tercera y cuarta filas, son límites de bits para el cuarto bit y3.
Cada bit y1, representado por un símbolo, es más resistente a errores a medida que aumenta el número de símbolos distantes desde el límite de bits y es más susceptible a errores a medido que aumenta el número de símbolos cerca del límite de bits.
Cuando un bit resistente a (sólido contra) errores se refiere como un “bit fuerte” y un bit susceptible a (sensible a) errores se refiere como un “bit débil”, el primer bit (es decir, el bit MSB) y0 y el segundo bit y1 son bit fuertes y el tercer bit y2 y el cuarto bit y3, son bits débiles, según se ilustra en las Figuras 12A y 12B.
Las Figuras 13 a 15 ilustran una disposición de (puntos de señales correspondientes a) 64 símbolos en un plano IQ en el caso en que se realicen 64QAM en el modulador ortogonal 27 representado en la Figura 8.
En 64QAM, un solo símbolo representa 4 bits y 64(=26) símbolos se proporcionan a este respecto. Además, 64 símbolos están dispuestos en un cuadrado de 8x8 símbolos en las direcciones I y Q, centrados en el origen del plano IQ.
En este caso, cuando y0, y1, y2, y3, y4 e y5 indican 6 bits representados por un solo símbolo de 64QAM, comenzando secuencialmente desde el bits más significativo (MSB), la unidad de puesta en correspondencia 26 de la Figura 8 efectúa la puesta en correspondencia de 6 bits de código de un código LDPC con un símbolo de 6 bits y0 a y5 correspondiente a los 6 bits de código en el caso en donde el sistema de modulación es 64QAM.
La Figura 13 representa límites de bits de los primero y segundo bits y0 e y1 entre los 6 bits y0 a y5 representados por un símbolo de 64QAM, la Figura 14 representa límites de bits de los tercero y cuarto bits y2 y y3 y la Figura 15 representa límites de bits del quinto y sexto bits y4 e y5.
Un límite de bits está presente para cada uno de los primero y segundo bits y0 e y1 según se ilustra en la Figura 14. Dos límites de bits están presentes para cada uno de los tercero y cuarto bits y2 e y3 según se ilustra en la Figura 14 y cuatro límites de bits están presentes para cada uno de los quinto y sexto bits, y4 e y5, según se ilustra en la Figura 15.
En consecuencia, los primero y segundo bits y0 e y1, entre los 6 bits y0 a y5, representados por un símbolo de 64QAM son los bits más fuertes, los tercero y cuarto bits y2 e y3 son los segundos bits más fuertes y los quinto y sexto bits y4 e y5 son los bits débiles.
A partir de las Figuras 12, 13 y 15 se pueden deducir que, en el caso de bits de símbolos con modulación ortogonal, los bits más significativos son bits fuertes y los bits menos significativos son bits débiles.
La salida de código de LDPC desde el codificador LDPC 21 de la Figura 8 incluye bits de código susceptibles a errores y bits de código resistentes a errores, según se describió anteriormente con referencia a la Figura 111.
Los bits de símbolos ortogonalmente modulados por el modulador ortogonal 27 incluyen bits fuertes y bits débiles según se describió anteriormente con referencia a las Figuras 12 a 15.
En consecuencia, cuando los bits de códigos susceptibles a errores de un código LDPC son puestos en correspondencia con los bits débiles de símbolos ortogonalmente modulados, se reduce la resistencia global a errores.
Por lo tanto, la invención recomienda un intercalador que intercale bits de código de un código LDPC, de modo que los bits de códigos susceptibles a errores, del código LDPC, sean puestos en correspondencia con los bits fuertes de símbolos ortogonalmente modulados.
El demultiplexor 25 de la Figura 8 realiza la operación de este intercalador.
Las Figuras 16A a 16D ilustran la operación del demultiplexor 25 representado en la Figura 8.
Más concretamente, la Figura 16A ilustra una configuración funcional, a modo de ejemplo, del demultiplexor 25.
El demultiplexor 25 incluye una memoria 31 y una unidad de reordenamiento 32. Un código LDPC se proporciona a la memoria 31. La memoria 31 tiene una capacidad de almacenamiento para almacenar mb bits en una dirección de fila (horizontal) y almacenar N/mb bits en una dirección de columna (vertical). Los bits de código del código LDPC proporcionados a la memoria 31 son objeto de escritura en una dirección de columna para la memoria 31 y son objeto de lectura en una dirección de fila desde la memoria 31 y los bits de código leídos se proporcionan luego a la unidad de reordenamiento 32.
5 En este caso, “m” representa el número de bits de código del código LDPC puestos en correspondencia con un solo símbolo y “b” representa un número entero positivo específico (esto es, factor) por el que se multiplica “m” para obtener un múltiplo entero de “m”. Además, “N” (= longitud de información K + longitud de paridad M) representa la longitud de código del código LDPC según se describió anteriormente.
La Figura 16A ilustra una configuración, a modo de ejemplo, del demultiplexor 25 cuando el sistema de modulación es 64QAM. En consecuencia, el número de bits de código “m” de un código LDPC puesto en correspondencia con un solo símbolo es 6.
En la Figura 16A, el factor “b” es 1 y por lo tanto, la memoria 31 tiene una capacidad de almacenamiento de 15 N/(6x1)x(6x1) bits en las direcciones de columnas y de filas.
En lo sucesivo, una zona de almacenamiento de la memoria 31, que es un solo bit en una dirección de fila y se extiende en una dirección de columna, se refiere como una columna cuando sea adecuado. En la forma de realización, a modo de ejemplo, de la Figura 16A, la memoria 31 incluye 6(=6x1) columnas.
El demultiplexor 25 realiza la escritura del bit de código del código LDPC en la memoria 31 en una dirección de columna desde la parte superior a la parte inferior de cada columna, comenzando secuencialmente desde la columna más a la izquierda a la derecha.
25 Cuando los bits de código han sido completamente escritos hasta la parte inferior de la columna más a la derecha, los bits de código son objeto de lectura desde la memoria 31 en una dirección de fila, comenzando secuencialmente desde la primera fila de todas las columnas de la memoria 31 en unidades de 6 bits (es decir, mb bits) y los bits de código leídos se proporcionan a la unidad de reordenamiento 32.
La unidad de reordenamiento 32 reordena las posiciones de 6 bits de código recibidos desde la memoria 31 y proporciona, a la salida, los 6 bits reordenados como 6 bits y0, y1, y2, y3, y4 e y5 que representan un solo símbolo 64QAM.
Más concretamente, cuando los 6 bits de código leídos desde la memoria 31, en una dirección de fila, se indican por b0, b1, b2, b3, b4 y b5 comenzando secuencialmente desde el bit MSB, los bits de código que incluyen y son adyacentes al bit
35 “b0” son bits de código resistentes a errores y los bits de código que incluyen y son adyacentes al bit “b5” son bits de código susceptibles a errores en función de la relación de peso de ponderación de columnas anteriormente descrita con referencia a la Figura 111.
La unidad de reordenamiento 32 reordena las posiciones de los 6 bits de código b0 a b5 recibidos desde la memoria 31, de modo que los bits de código susceptibles a errores, entre los 6 bits de código b0 a b5 desde la memoria 31, son asignados a bits fuertes entre los 6 bits y0 a y5 que representan un solo símbolo de 64QAM.
Varios operadores han recomendado una diversidad de métodos para reordenar los 6 bits de código b0 a b5 desde la memoria 31 y asignándoles a 6 bits y0 a y5 que representan un solo símbolo 64QAM, respectivamente.
45 La Figura 16B ilustra un primer método de reordenamiento, la Figura 16C ilustra un segundo método de reordenamiento y la Figura 16D ilustra un tercer método de reordenamiento.
En las Figuras 16B a 16D, una línea que conecta los bis bi e yj indica que un bit de código bi está asignado a un bit de símbolo yj (esto es, la posición del bit de código bi se cambia a la del bit de símbolo yj ), similar a las Figuras 17A y 17B, descritas a continuación.
Mientras el primer método de reordenamiento, representado en la Figura 16B, recomienda utilizar uno de tres tipos de reordenamiento, el segundo método de reordenamiento, representado en la Figura 16C, recomienda utilizar uno de dos
55 tipos de reordenamiento.
El tercer método de reordenamiento de la Figura 16D recomienda la selección secuencial y la utilización de seis tipos de reordenamiento.
Las Figuras 17A y 17B ilustran una configuración, a modo de ejemplo, de un demultiplexor 25 y un cuarto método de reordenamiento en el caso en donde el método de modulación es 64QAM (de modo que el número de bits de código “m” de un código LDPC puesto en correspondencia con un símbolo es 6 como en la Figura 16) y el factor “b” es 2.
Cuando el factor "b" es 2, la memoria 31 tiene una capacidad de almacenamiento de N/(6x2)x(6x2) en las direcciones de 65 columna y de fila y tiene 12(=6x2) columnas.
La Figura 17A ilustra el orden en el que los bits de código de un código LDPC son objeto de escritura en la memoria 31.
El demultiplexor 25 realiza la escritura de bits de código del código LDPC en la memoria 31 en una dirección de columna desde la parte superior a la parte inferior de cada columna, comenzando secuencialmente desde la columna más a la izquierda a la derecha, según se describió anteriormente con referencia a la Figura 16A.
Cuando los bits de código se han escrito completamente hasta la parte inferior de la columna más a la derecha, los bits de código son objeto de lectura desde la memoria 31 en una dirección de fila, comenzando secuencialmente desde la primera fila de todas las columnas de la memoria 31 en unidades de 12 bits (esto es, mb bits) y los bits de código leídos se proporcionan a la unidad de reordenamiento 32.
La unidad de reordenamiento 32 reordena las posiciones de 12 bits de códigos recibidos desde la memoria 31 en conformidad con el cuarto método de reordenamiento y proporciona, a la salida, los 12 bits reordenados como 12 bits que representan dos símbolos (esto es, b símbolos) de 64QAM, esto es 6 bits y0, y1, y2, y3, y4 e y5 que representan un símbolo 64QAM y 6 bits y0, y1, y2, y3, y4 e y5 que representan el otro símbolo.
La Figura 17B ilustra el cuarto método de reordenamiento realizado por la unidad de reordenamiento 32 de la Figura 17A.
El último de los métodos de reordenamiento, que reduce al mínimo la tasa de errores en las rutas de comunicación de AWGN, depende de la tasa de códigos de un código LDPC o similar.
La forma en que el intercalador de paridad 23, representado en la Figura 8, realiza el intercalado de paridad se describirá ahora con referencia a las Figuras 18 a 20.
La Figura 18 ilustra (parte de) un gráfico de Tanner de una matriz de control de paridad de un código LDPC.
Si ocurre un error, tal como un borrado operativo simultáneamente en dos o más nodos de variable conectados (o dos o más bits de código correspondientes a) un nodo de control, entonces, el nodo de control reenvía un mensaje con una probabilidad de “0” que es igual a la probabilidad de "1" para cada nodo de variable conectado al nodo de control según se representa en la Figura 18. Por lo tanto, el rendimiento de decodificación se reduce si borran múltiples nodos de variables conectados al mismo nodo de control.
Un LDPC definido en la especificación DVB-S.2, que se proporciona por el codificador de LDPC 21 de la Figura 8, es un código IRA y una matriz de paridad HT de la matriz de control de paridad H presenta una estructura escalonada según se indica en la Figura 11.
Las Figuras 19A y 19B ilustran una matriz de paridad HT que tiene una estructura escalonada y un gráfico de Tanner correspondiente a la matriz de paridad HT.
Es decir, la Figura 19A ilustra una matriz de paridad con estructura escalonada HT y la Figura 19B ilustra un gráfico de Tanner correspondiente a la matriz de paridad HT de la Figura 19A.
Cuando la matriz de paridad HT presenta una estructura escalonada, los nodos de variables, cuyos mensajes se obtienen utilizando bits de código adyacentes (bits de paridad) de un código LDPC, correspondientes a las columnas que incluyen elementos que tengan un valor de "1" en la matriz de paridad HT, están conectados al mismo nodo de control en el gráfico de Tanner de la matriz de paridad HT.
En consecuencia, si un error tal como un error de ráfagas o borrado operativo ocurre simultáneamente en bits de paridad adyacentes, disminuye el rendimiento de la decodificación puesto que un nodo de control, conectado a nodos de variables correspondientes respectivamente a los bits de paridad erróneos (esto es, nodos de variables cuyos mensajes se obtienen utilizando los bits de paridad), reenvía un mensaje con una probabilidad de "0" siendo igual a la probabilidad de "1" para cada nodo de variable conectado al nodo de control. El rendimiento de la decodificación se reduce también cuando es grande la longitud de la ráfaga, que es el número de bits erróneos debido a la ráfaga.
Entonces, el intercalador de paridad 23, representado en la Figura 8, realiza una función de intercalado de paridad en el código LDPC desde el codificador de LDPC 21 para intercalar bits de paridad del código LDPC a diferentes posiciones de bit de paridad con el fin de evitar una reducción en el rendimiento de la decodificación.
La Figura 20 ilustra una matriz de paridad HT de una matriz de control de paridad H, correspondiente a un código LDPC, después de que el intercalador de paridad 23, representado en la Figura 8, realice una función de intercalado de paridad en el código LDPC.
En este caso, una matriz de información HA, en la matriz de control de paridad H, correspondiente al código LDPC definido en la salida de especificación DVB-S.2, desde el codificador LDPC 21 presenta una estructura cíclica.
El término “estructura cíclica” se refiere a una estructura en donde una columna, cuando se desplaza de forma cíclica, coincide con otra columna. Formas de realización, a modo de ejemplo, de la estructura cíclica incluyen una estructura en la que la posición de un elemento de "1" de cada fila de cada P columnas corresponde a la de la primera de las P columnas que se ha desplazado, de forma cíclica, en una dirección de las columnas en un valor proporcional al valor "q" obtenido dividiendo la longitud de paridad "M". A continuación, el número de columnas “P”, en la estructura cíclica, se refiere como un número unitario de columnas que tienen una estructura cíclica, cuando sea adecuado.
Formas de realización, a modo de ejemplo, del código LDPC definido en la especificación DVB-S.2, objeto de salida desde el codificador de LDPC 21, incluyen dos tipos de códigos LDPC con respectivas longitudes de código de N de 64800 bits y 16200 bits, según se describió anteriormente con referencia a la Figura 12.
A continuación, la siguiente descripción se concentrará en el tipo de códigos LDPC que tienen una longitud de código N de 64800 bits entre los dos tipos de códigos LDPC con longitudes de códigos respectivas de N 64800 bits y 16200 bits. 11 tasas de código nominales se definen para el código LDPC, cuya longitud de código N es 64800 bits, según se describió anteriormente con referencia a la Figura 12.
Para cualquier código LDPC que tenga una longitud de código N de 64800 bits de cada una de las 11 tasas de códigos nominales, el número unitario de las columnas P, que tiene una estructura cíclica, se define como “360”, que es uno de los divisores (excluyendo 1 y M) de la longitud de paridad M, en la especificación DVB-S.2.
Para un código LDPC que tenga una longitud de código N de 64800 bits de cada una de las 11 tasas de códigos nominales, la longitud de paridad M se calcula para ser un valor no primo según una ecuación M= qxP=qx360 utilizando un valor "q" que varía dependiendo de la tasa de código. En consecuencia, de forma similar al número unitario de columnas P que tienen una estructura cíclica, el valor "q" es otro de los divisores (excluyendo 1 y M) de la longitud de paridad M y se calcula dividiendo la longitud de paridad M por el número unitario de columnas P que tienen una estructura cíclica (esto es, la longitud de paridad M es el producto de los divisores ”P” y "q" de la longitud de paridad M).
Cuando K es la longitud de información, x es un número entero igual o mayor que 0 y menor que P e y es un número entero igual o mayor que 0 y menor que q, el intercalador de paridad 23 realiza una función de intercalado de paridad sobre el código LDPC recibido desde el codificador LDPC 21 para intercalar un K+qx+y+1-ésimo bit de código entre bits de paridad, que son K+1-ésimo a K+M (=N)-ésimo bits de código del código LDPC, a una posición de K+Py+x+1-ésimo bit de código.
Según este método de intercalado de paridad, (los bits de paridad correspondientes a) nodos de variables, conectados al mismo nodo de control, están a una distancia correspondiente al número unitario de columnas P que presentan una estructura cíclica (360 bits, a modo de ejemplo), impidiendo, de este modo, la ocurrencia de error simultánea en una pluralidad de nodos de variables conectados al mismo nodo de control. Esta circunstancia operativa puede mejorar la resistencia a los errores de ráfagas.
El código LDPC, que ha realizado la operación de intercalado de paridad, de modo que el K+qx+y+1-ésimo bit de código se intercale en la posición de K+Py+x+1-ésimo bit de código, sea idéntico a un código LDPC de una matriz de control de paridad (en adelante, referida como una matriz de control de paridad convertida) que se obtiene realizando una permutación de columnas en la matriz de control de paridad H original para sustituir (más concretamente, permutar) la K+Py+x+1-ésima columna de la matriz de control de paridad H original con la K+qx+y+1-ésima columna.
La matriz de paridad de la matriz de control de paridad convertida presenta una estructura pseudo-cíclica cuyo número unitario de columnas es “P” (360 en la Figura 20), según se indica en la Figura 20.
En este caso, el término “estructura pseudo-cíclica” se refiere a una estructura en la que una parte de la matriz de paridad, excluyendo una parte específica de la matriz de paridad, tiene una estructura cíclica. Una matriz de control de paridad convertida obtenida realizando una permutación de columnas correspondiente al intercalado de paridad, en una matriz de control de paridad de un código LDPC definido en la especificación DVB-S.2 tiene una parte de esquina derecha de 360 x 360 (correspondiente a una matriz desplazada descrita a continuación) que es solamente un elemento de "1" corto de la estructura cíclica (esto es, la parte de la esquina derecha de 360 x 360 tiene un elemento de "0" y no de "1", que se requiere en la estructura cíclica). Puesto que la matriz de control de paridad convertida no tiene una estructura cíclica (completa), se refiere como teniendo una “estructura pseudo-cíclica”.
En realidad, la matriz de control de paridad convertida, representada en la Figura 20, se obtiene realizando una permutación de filas, además de la permutación de columnas correspondiente a la operación de intercalado de paridad, en la matriz de control de paridad H original para permitir que la matriz de control de paridad convertida incluya matrices componentes, descritas a continuación.
Haciendo referencia a las Figuras 21 a 24, se describirá ahora la forma en la que el intercalador de columnas con torsión 24, representado en la Figura 8, realiza el intercalado de columnas con torsión como un proceso de permutación.
El transmisor 11, representado en la Figura 8, transmite dos o más bits de código del código LDPC como un solo símbolo según se describió anteriormente con el fin de mejorar la eficiencia de uso de frecuencias. A modo de ejemplo, QPSK se utiliza como un método de modulación cuando se transmiten dos bits de código como un solo símbolo y 16QAM se emplea como un método de modulación cuando cuatro bits de código se transmiten como un solo símbolo.
5 Si un error tal como un borrado operativo ocurre en un símbolo en el caso de que se transmitan dos o más bits de código como el símbolo según se describió anteriormente, todos los bits de código del símbolo se hacen erróneos (esto es, son operativamente borrados).
10 En consecuencia, para mejorar el rendimiento de la decodificación, con el fin de reducir la probabilidad de (bits de código correspondientes a) nodos de variables conectados al mismo nodo de control que se está suprimiendo simultáneamente, es necesario impedir que los nodos de variables correspondientes a bits de código de un símbolo estén conectados al mismo nodo de control.
15 Por otro lado, en el caso de la matriz de control de paridad H del código LDPC, definida en la salida, según la especificación DVB-S.2 desde el codificador LDPC 21, la matriz de información HA en la matriz de control de paridad H, presenta una estructura cíclica y la matriz de paridad HT presenta una estructura escalonada, según se describió anteriormente. En el caso de la matriz de control de paridad convertida, que es la matriz de control de paridad del código LDPC que se ha sometido a la función de intercalado de paridad, la matriz de paridad presenta también una estructura
20 cíclica (más concretamente, una estructura pseudo-cíclica) según se describió anteriormente con referencia a la Figura
20.
Las Figuras 21A y 21B ilustran una matriz de control de paridad convertida.
25 Más concretamente, la Figura 21A ilustra una matriz de control de paridad convertida de una matriz de control de paridad H de un código LDPC que tiene una longitud de código N de 64800 bits y una tasa de código (r) de ¾.
En la Figura 21A, la posición de cada elemento que tiene un valor de "1", en la matriz de control de paridad convertida se representa por un punto “.”.
30 La Figura 21B ilustra una operación, que el demultiplexor 25, representado en la Figura 8, realiza en un código LDPC de la matriz de control de paridad convertida de la Figura 21A, esto es, un código LDPC que se ha sometido a la operación de intercalado de paridad.
35 En la Figura 21B, utilizando 16QAM como un método de modulación, bits de código del código LDPC con intercalado de paridad son objeto de escritura en una dirección de las columnas, en cuatro columnas que constituyen la memoria 31 del demultiplexor 25.
Los bits de código, objeto de escritura en una dirección de columna, en las cuatro columnas de la memoria 31 se leen en 40 una dirección de fila en unidades de 4 bits como un solo símbolo.
En este caso, los cuatro bits de código, B0, B1, B2 y B3 de un símbolo pueden incluir una pluralidad de bits de código, correspondientes a "1" en una fila arbitraria en la matriz de control de paridad convertida representada en la Figura 21A. En este caso, los nodos de variables correspondientes a los cuatro bits de códigos B0, B1, B2 y B3 están conectados al
45 mismo nodo de control.
En consecuencia, si ocurre un borrado operativo en un símbolo, en el caso de que los cuatro bits de código B0, B1, B2 y B3 del símbolo incluyan bits de código correspondientes a "1", en una fila arbitraria en la matriz de control de paridad convertida, resulta difícil obtener un mensaje adecuado para el mismo nodo de control conectado a nodos de variables
50 correspondientes, respectivamente, a los bits de código B0, B1, B2 y B3 con lo que se reduce el rendimiento de la decodificación.
Cuando se utiliza una tasa de código distinta de 3/4, una pluralidad de bits de código correspondientes a una pluralidad de nodos de variables conectados al mismo nodo de control pueden constituir un símbolo de 16QAM.
55 Por lo tanto, el intercalador de columnas con torsión 24 realiza una operación de intercalado de columnas con torsión sobre el código LDPC, con intercalado de paridad, desde el intercalador de paridad 23 para intercalar los bits de código del código LDPC, con intercalado de paridad, de modo que una pluralidad de bits de código correspondientes a "1", en una fila arbitraria en la matriz de control de paridad convertida, no sean objeto de puesta en correspondencia con un solo
60 símbolo.
La Figura 22 ilustra la forma en que se realiza el intercalado de columnas con torsión.
Más concretamente, la Figura 22 ilustra la memoria 31 del demultiplexor 25 ilustrado en las Figuras 16 y 17. 65
La memoria 31 tiene una capacidad de almacenamiento para almacenar mb bits en una dirección de fila (horizontal) y para almacenar N/mb bits en una dirección de columna (vertical) e incluye mb columnas, según se describió anteriormente con referencia a la Figura 16. El intercalador de columnas con torsión 24 realiza el intercalado de columnas con torsión controlando una posición inicial de escritura en cada columna en la memoria 31, en donde se inicia la escritura en la columna, cuando bits de código de un código LDPC son objeto de escritura en la memoria 31 en una dirección de columna y se leen desde la memoria 31 en una dirección de las filas.
Más concretamente, el intercalador de columnas con torsión 24 cambia adecuadamente la posición de inicio de escritura en donde los bits de código comienzan a escribirse en cada una de la pluralidad de columnas, de modo que una pluralidad de bits de código, leídos en una dirección de las filas para constituir un símbolo, no incluya una pluralidad de bits de código correspondientes a "1" en una fila arbitraria de la matriz de control de paridad convertida. Es decir, el intercalador de columnas con torsión 24 permuta los bits de código del código LDPC, de modo que una pluralidad de bits de código correspondientes a "1", en una fila arbitraria de la matriz de control de paridad, no se incorporen en el mismo símbolo.
La Figura 22 ilustra una configuración, a modo de ejemplo, de la memoria 31 en el caso de que 16QAM se utilice como u método de modulación y el factor "b" descrito con referencia a la Figura 16 es "1". En consecuencia el número de bits de código "m" del código LDPC, objeto de puesta en correspondencia con un símbolo es 4 y la memoria 31 incluye 4 (= mb) columnas.
El intercalador de columnas con torsión 24 de la Figura 22 (en lugar del demultiplexor 25 de la Figura 16) escribe bits de código del código LDPC en la memoria 31 en una dirección de las columnas desde la parte superior a la parte inferior de cada una de las cuatro columnas de la memoria 31, comenzando secuencialmente desde la columna más a la izquierda hacia la derecha.
Cuando los bits de código hayan sido completamente escritos en la columna más a la derecha, el intercalador de columnas con torsión 24 efectúa la lectura de bits de código en unidades de 4 bits (mb bits) en una dirección de las filas, comenzando desde la primera fila de todas las columnas de la memoria 31 y con la salida de los bits de código leídos, como un código LDPC con intercalado de columnas con torsión, a la unidad de reordenamiento 32 del demultiplexor 25, según se ilustra en las Figuras 16 y 17.
Cuando la dirección de la primera posición (superior) de cada columna se representa por "0" y la dirección de cada posición, a lo largo de una dirección de columna, se representa por un número entero secuencialmente creciente, el intercalador de columnas con torsión 24 de la Figura 22, determina que la dirección de una posición inicial de escritura en la columna más a la izquierda es "0", la dirección de una posición de inicio de escritura en la segunda columna (desde la izquierda) es “2”, la dirección de posición inicial de escritura en la tercera columna es “4” y la dirección de una posición de inicio de escritura en la cuarta columna es “7”.
Después de que se hayan escrito bits de código en una columna que tiene una posición de inicio de escritura, en una dirección distinta de "0", hasta la posición inferior de la columna, el intercalador de columnas con torsión 24 retorna a la primera posición de la columna en una dirección de "0" y continúa la escritura de los bits de código en la columna hasta una posición inmediatamente antes de la posición inicial de escritura, el intercalador de columnas con torsión 24 realiza, entonces, la escritura en la columna siguiente a la derecha.
La realización del intercalado de columnas con torsión, según se describió anteriormente, puede evitar que una pluralidad de bits de código correspondientes a una pluralidad de nodos de variables, conectados al mismo nodo de control, sean asignados a un solo símbolo de 16QAM (esto es, se impide que se incorpore en el mismo símbolo) para un código LDPC de cada tasa de código que tenga una longitud de código N de 64800, según se define en la especificación DVB-S.2. Esta circunstancia operativa puede mejorar el rendimiento de decodificación en una ruta de comunicación en la que ocurre un borrado operativo.
La Figura 23 ilustra el número de columnas de la memoria 31 que se requiere para el intercalado de columnas con torsión y las direcciones de posiciones de inicio de escritura en asociación con cada método de modulación para un código LDPC de cada una de las 11 tasas de código que tienen una longitud de código N de 64800, según se define en la especificación DVB-S.2.
El número de bits "m" de un símbolo es 2 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento, representados en la Figura 16, se utiliza en el proceso de reordenamiento del demultiplexor 25 ilustrado en la Figura 8 y QPSK se emplea como el método de modulación.
En este caso, la memoria 31 tiene 2 columnas para almacenar 2x1(=mb) bits en una dirección de las filas y almacena 64800 /(2x1) bits en una dirección de las columnas según se ilustra en la Figura 23. La posición de inicio de la escritura de la 1ª de las 2 columnas de la memoria 31 está en una dirección de "0" y la posición de inicio de escritura de la 2ª columna está en una dirección de “2”.
Además, el número de bits "m" de un símbolo es 2 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 ilustrado en la Figura 8 y QPSK se utiliza como el método de modulación.
En este caso, la memoria 31 tiene 4 columnas para almacenar 2x2 bits en una dirección de las filas y almacena 64800/(2x2) bits en una dirección de las columnas según se ilustra en la Figura 23. La posición inicial de escritura la 1ª de las 4 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de “2”, la posición inicial de escritura de la 3ª columna está en una dirección de “4” y la posición de inicio de escritura de la 4ª columna está en una dirección de “7”.
Además, el número de bits "m" de un símbolo es 4 y el factor "b" es 1, cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 ilustrado en la Figura 8 y 16QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 4 columnas para almacenar 4x1 bits en una dirección de las filas y almacena 64800/(4x1) bits en una dirección de las columnas según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 4 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de “2”, la posición de inicio de escritura de la 3ª columna está en una dirección de “4” y la posición de inicio de escritura de la cuarta columna está en una posición de “7”.
Además, el número de bits "m" de un símbolo es 4 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 que se ilustra en la Figura 8 y la 16QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 8 columnas para almacenar 4x2 bits en una dirección de las filas y almacena 64800/(4x2) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de la primera de las 8 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “2”, la posición de inicio de escritura de la 4ª columna está en una dirección de “4”, la posición de inicio de escritura de la 5ª columna está en una dirección de “4”, la posición de inicio de escritura de la 6ª columna está en una dirección de “5”, la posición de inicio de escritura de la 7ª columna está en una dirección de “7” y la posición de inicio de escritura de la 8ª columna está en una dirección de “7”.
Además, el número de bits "m" de un símbolo es 6 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 64QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 6 columnas para almacenar 6x1 bits en una dirección de las filas y almacena 64800/(6x1) bits en una dirección de las columnas según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 6 columnas de la memoria 31 está en un dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de “2”, la posición de inicio de escritura de la 3ª columna está en una dirección de “5”, la posición de inicio de escritura de la 4ª columna está en una dirección de “9”, la posición de inicio de escritura de la 5ª columna está en una dirección de “10” y la posición de inicio de escritura de la 6ª columna está en una dirección de “13”.
Además, el número de bits "m" de un símbolo es 6 y el factor "b" es 2 cuando se utiliza el cuarto método de reordenamiento de la Figura 17 en el proceso de reordenamiento del demultiplexor 25 ilustrado en la Figura 8 y 64QAM se emplea como el método de reordenamiento.
En este caso, la memoria 31 tiene 12 columnas para almacenar 6x2 bits en una dirección de las filas y almacena 64800/(6x2) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 12 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “2”, la posición de inicio de escritura de la 4ª columna está en una dirección de “2”, la posición de inicio de escritura de la 5ª columna está en una dirección de “3”, la posición de inicio de escritura de la 6ª columna está en una dirección de “4”, la posición de inicio de escritura de la 7ª columna está en una dirección de “4”, la posición de inicio de escritura de la 8ª columna está en una dirección de “5”, la posición de inicio de escritura de la 9ª columna está en una dirección de “5”, la posición de inicio de escritura de la 10ª columna está en una dirección de “7”, la posición de inicio de escritura de la 11ª columna está en una dirección de “8” y la dirección de inicio de escritura de la 12ª columna está en una dirección de “9”.
Además, el número de bits "m" de un símbolo es 8 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 256QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 8 columnas para almacenar 8x1 bits en una dirección de las filas y almacena 64800/(8x1) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 8 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna
está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “2”, la posición de inicio de escritura de la 4ª columna está en una dirección de “4”, la posición de inicio de escritura de la 5ª columna está en una dirección de “4”, la posición de inicio de escritura de la 6ª columna está en una dirección de “5”, la posición de inicio de escritura de la 7ª columna está en una dirección de “7” y la posición de inicio de escritura de la 8ª columna está en una dirección de “7”.
Además, el número de bits "m" de un símbolo es 8 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 256QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 16 columnas para almacenar 8x2 bits en una dirección de las filas y almacena 64800/(8x2) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 16 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "2", la posición de inicio de escritura de la 3ª columna está en una dirección de “2”, la posición de inicio de escritura de la 4ª columna está en una dirección de “2”, la posición de inicio de escritura de la 5ª columna está en una dirección de “2”, la posición de inicio de escritura de la 6ª columna está en una dirección de “3”, la posición de inicio de escritura de la 7ª columna está en una dirección de “7”, la posición de inicio de escritura de la 8ª columna está en una dirección de “15”, la posición de inicio de escritura de la 9ª columna está en una dirección de “16”, la posición de inicio de escritura de la 10ª columna está en una dirección de “20”, la posición de inicio de escritura de la 11ª columna está en una dirección de “22”, la posición de inicio de escritura de la 12ª columna está en una dirección de “22”, la posición de inicio de escritura de la 13ª columna está en una dirección de “27”, la dirección de inicio de escritura de la 14ª columna está en una dirección de “27”, la posición de inicio de escritura de la 15ª columna está en una dirección de “28” y la posición de inicio de escritura de la 16ª columna está en una dirección de “32”.
Además, el número de bits "m" de un símbolo es 10 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 1024QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 10 columnas para almacenar 10x1 bits en una dirección de las filas y almacena 64800/(10x1) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 10 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "3", la posición de inicio de escritura de la 3ª columna está en una dirección de “6”, la posición de inicio de escritura de la 4ª columna está en una dirección de “8”, la posición de inicio de escritura de la 5ª columna está en una dirección de “11”, la posición de inicio de escritura de la 6ª columna está en una dirección de “13”, la posición de inicio de escritura de la 7ª columna está en una dirección de “15”, la posición de inicio de escritura de la 8ª columna está en una dirección de “17”, la posición de inicio de escritura de la 9ª columna está en una dirección de “18” y la posición de inicio de escritura de la 10ª columna está en una dirección de “20”.
Además, el número de bits "m" de un símbolo es 10 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 1024QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 20 columnas para almacenar 10x2 bits en una dirección de las filas y almacena 64800/(10x2) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 20 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "1", la posición de inicio de escritura de la 3ª columna está en una dirección de “3”, la posición de inicio de escritura de la 4ª columna está en una dirección de “4”, la posición de inicio de escritura de la 5ª columna está en una dirección de “5”, la posición de inicio de escritura de la 6ª columna está en una dirección de “6”, la posición de inicio de escritura de la 7ª columna está en una dirección de “6”, la posición de inicio de escritura de la 8ª columna está en una dirección de “9”, la posición de inicio de escritura de la 9ª columna está en una dirección de “13”, la posición de inicio de escritura de la 10ª columna está en una dirección de “14”, la posición de inicio de escritura de la 11ª columna está en una dirección de “14”, la posición de inicio de escritura de la 12ª columna está en una dirección de “16”, la posición de inicio de escritura de la 13ª columna está en una dirección de “21”, la dirección de inicio de escritura de la 14ª columna está en una dirección de “21”, la posición de inicio de escritura de la 15ª columna está en una dirección de “23”, la posición de inicio de escritura de la 16ª columna está en una dirección de “25”, la posición de inicio de escritura de la 17ª columna está en una dirección de “25”, la posición de inicio de escritura de la 18ª columna está en una dirección de “26”, la posición de inicio de escritura de la 19ª columna está en una dirección de “28” y la posición de inicio de escritura de la 20ª columna está en una dirección de “30”.
Además, el número de bits "m" de un símbolo es 12 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 4096QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 12 columnas para almacenar 12x1 bits en una dirección de las filas y almacena 64800/(12x1) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de la 1ª de las 12 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “2”, la posición de inicio de escritura de la 4ª columna está en una dirección de “2”, la posición de inicio de escritura de la 5ª columna está en una dirección de “3”, la posición de inicio de escritura de la 6ª columna está en una dirección de “4”, la posición de inicio de escritura de la 7ª columna está en una dirección de “4”, la posición de inicio de escritura de la 8ª
5 columna está en una dirección de “5”, la posición de inicio de escritura de la 9ª columna está en una dirección de “5”, la posición de inicio de escritura de la 10ª columna está en una dirección de “7”, la posición de inicio de escritura de la 11ª columna está en una dirección de “8” y la posición de inicio de escritura de la 12ª columna está en una dirección de “9”.
Además, el número de bits "m" de un símbolo es 12 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la 10 Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 4096QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 24 columnas para almacenar 12x2 bits en una dirección de las filas y almacena 64800/(12x2) bits en una dirección de las columnas, según se ilustra en la Figura 23. La posición de inicio de escritura de 15 la 1ª de las 24 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "5", la posición de inicio de escritura de la 3ª columna está en una dirección de “8”, la posición de inicio de escritura de la 4ª columna está en una dirección de “8”, la posición de inicio de escritura de la 5ª columna está en una dirección de “8”, la posición de inicio de escritura de la 6ª columna está en una dirección de “8”, la posición de inicio de escritura de la 7ª columna está en una dirección de “10”, la posición de inicio de escritura de la 8ª 20 columna está en una dirección de “10”, la posición de inicio de escritura de la 9ª columna está en una dirección de “10”, la posición de inicio de escritura de la 10ª columna está en una dirección de “12”, la posición de inicio de escritura de la 11ª columna está en una dirección de “13”, la posición de inicio de escritura de la 12ª columna está en una dirección de “16”, la posición de inicio de escritura de la 13ª columna está en una dirección de “17”, la dirección de inicio de escritura de la 14ª columna está en una dirección de “19”, la posición de inicio de escritura de la 15ª columna está en una dirección de 25 “21”, la posición de inicio de escritura de la 16ª columna está en una dirección de “22”, la posición de inicio de escritura de la 17ª columna está en una dirección de “23”, la posición de inicio de escritura de la 18ª columna está en una dirección de “26”, la posición de inicio de escritura de la 19ª columna está en una dirección de “37”, la posición de inicio de escritura de la 20ª columna está en una dirección de “39”, la posición de inicio de escritura de la 21ª columna está en una dirección de “40”, la posición de inicio de escritura de la 22ª columna está en una dirección de “41”, la posición de inicio
30 de escritura de la 23ª columna está en una dirección de “41” y la posición de inicio de escritura de la 24ª columna está en una dirección de “41”.
La Figura 24 ilustra el número de columnas de la memoria 31 que se requiere para el intercalado de columnas con torsión y las direcciones de posiciones de inicio de escritura en asociación con cada método de modulación para un 35 código LDPC de cada una de las 10 tasas de códigos que tienen una longitud de código N de 16200 según se define en la especificación DVB-S.2.
El número de bits "m" de un símbolo es 2 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la 40 Figura 8 y QPSK se emplea como el método de modulación.
En este caso, la memoria 31 tiene 2 columnas para almacenar 2x1 bits en una dirección de las filas y almacena 16200/(2x1) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 2 columnas de la memoria 31 está en una dirección de "0" y la posición de inicio de escritura de la 2ª columna
45 está en una dirección de "0”.
Además, el número de bits "m" de un símbolo es 2 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y QPSK se emplea como el método de modulación.
50 En este caso, la memoria 31 tiene 4 columnas para almacenar 2x2 bits en una dirección de las filas y almacena 16200/(2x2) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 4 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "2", la posición de inicio de escritura de la 3ª columna está en una dirección de “3” y la posición
55 de inicio de escritura de la 4ª columna está en una dirección de “3”.
Además, el número de bits "m" de un símbolo es 4 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 16QAM se emplea como el método de modulación.
60 En este caso, la memoria 31 tiene 4 columnas para almacenar 4x1 bits en una dirección de las filas y almacena 16200/(4x1) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 4 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "2", la posición de inicio de escritura de la 3ª columna está en una dirección “3” y la posición de
65 inicio de escritura de la 4ª columna está en una dirección de “3”.
Además, el número de bits "m" de un símbolo es 4 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 16QAM se emplea como el método de modulación. En este caso, la memoria 31 tiene 8 columnas para almacenar 4x2 bits en una dirección de las filas y almacena 16200/(4x2) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 8 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección “0”, la posición de inicio de escritura de la 4ª columna está en una dirección de “1”, la posición de inicio de escritura de la 5ª columna está en una dirección de “7”, la posición de inicio de escritura de la 6ª columna está en una dirección de “20”, la posición de inicio de escritura de la 7ª columna está en una dirección de “20” y la posición de inicio de escritura de la 8ª columna está en una dirección de “21”.
Además, el número de bits "m" de un símbolo es 6 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 64QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 6 columnas para almacenar 6x1 bits en una dirección de las filas y almacena 16200/(6x1) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 6 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “2”, la posición de inicio de escritura de la 4ª columna está en una dirección de “3”, la posición de inicio de escritura de la 5ª columna está en una dirección de “7” y la posición de inicio de escritura de la 6ª columna está en una dirección de “7”.
Además, el número de bits "m" de un símbolo es 6 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 64QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 12 columnas para almacenar 6x2 bits en una dirección de las filas y almacena 16200/(6x2) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 12 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “0”, la posición de inicio de escritura de la 4ª columna está en una dirección de “2”, la posición de inicio de escritura de la 5ª columna está en una dirección de “2”, la posición de inicio de escritura de la 6ª columna está en una dirección de “2”, la posición de inicio de escritura de la 7ª columna está en una dirección de “3”, la posición de inicio de escritura de la 8ª columna está en una dirección de “3”, la posición de inicio de escritura de la 9ª columna está en una dirección de “3”, la posición de inicio de escritura de la 10ª columna está en una dirección de “6”, la posición de inicio de escritura de la 11ª columna está en una dirección de “7” y la posición de inicio de escritura de la 12ª columna está en una dirección de “7”.
Además, el número de bits "m" de un símbolo es 8 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 256QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 8 columnas para almacenar 8x1 bits en una dirección de las filas y almacena 16200/(8x1) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 8 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “0”, la posición de inicio de escritura de la 4ª columna está en una dirección de “1”, la posición de inicio de escritura de la 5ª columna está en una dirección de “7”, la posición de inicio de escritura de la 6ª columna está en una dirección de “20”, la posición de inicio de escritura de la 7ª columna está en una dirección de “20” y la posición de inicio de escritura de la 8ª columna está en una dirección de “21”.
Además, el número de bits "m" de un símbolo es 10 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 1024QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 10 columnas para almacenar 10x1 bits en una dirección de las filas y almacena 16200/(10x1) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 10 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "1", la posición de inicio de escritura de la 3ª columna está en una dirección de “2”, la posición de inicio de escritura de la 4ª columna está en una dirección de “2”, la posición de inicio de escritura de la 5ª columna está en una dirección de “3”, la posición de inicio de escritura de la 6ª columna está en una dirección de “3”, la posición de inicio de escritura de la 7ª columna está en una dirección de “4”, la posición de inicio de escritura de la 8ª columna está en una dirección de “4”, la posición de inicio de escritura de la 9ª columna está en una dirección de “5” y la posición de inicio de escritura de la 10ª columna está en una dirección de “7”.
Además, el número de bits "m" de un símbolo es 10 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 1024QAM se emplea como el método de modulación.
5 En este caso, la memoria 31 tiene 20 columnas para almacenar 10x2 bits en una dirección de las filas y almacena 16200/(10x2) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 20 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “0”, la posición de inicio de escritura de la 4ª columna está en una dirección de “2”, la posición de inicio de escritura de la 5ª columna está en una dirección de “2”, la posición de inicio de escritura de la 6ª columna está en una dirección de “2”, la posición de inicio de escritura de la 7ª columna está en una dirección de “2”, la posición de inicio de escritura de la 8ª columna está en una dirección de “2”, la posición de inicio de escritura de la 9ª columna está en una dirección de “5”, la posición de inicio de escritura de la 10ª columna está en una dirección de “5”, la posición de inicio de escritura de la 11ª columna está en una dirección de “5”, la posición de inicio de escritura de la 12ª columna está en una dirección de “5”, la
15 posición de inicio de escritura de la 13ª columna está en una dirección de “5”, la dirección de inicio de escritura de la 14ª columna está en una dirección de “7”, la posición de inicio de escritura de la 15ª columna está en una dirección de “7”, la posición de inicio de escritura de la 16ª columna está en una dirección de “7”, la posición de inicio de escritura de la 17ª columna está en una dirección de “7”, la posición de inicio de escritura de la 18ª columna está en una dirección de “8”, la posición de inicio de escritura de la 19ª columna está en una dirección de “8” y la posición de inicio de escritura de la 20ª columna está en una dirección de “10”.
Además, el número de bits "m" de un símbolo es 12 y el factor "b" es 1 cuando uno de los primero a tercero métodos de reordenamiento de la Figura 16 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 4096QAM se emplea como el método de modulación.
25 En este caso, la memoria 31 tiene 12 columnas para almacenar 12x1 bits en una dirección de las filas y almacena 16200/(12x1) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 12 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “0”, la posición de inicio de escritura de la 4ª columna está en una dirección de “2”, la posición de inicio de escritura de la 5ª columna está en una dirección de “2”, la posición de inicio de escritura de la 6ª columna está en una dirección de “2”, la posición de inicio de escritura de la 7ª columna está en una dirección de “3”, la posición de inicio de escritura de la 8ª columna está en una dirección de “3”, la posición de inicio de escritura de la 9ª columna está en una dirección de “3”, la posición de inicio de escritura de la 10ª columna está en una dirección de “6”, la posición de inicio de escritura de la 11ª
35 columna está en una dirección de “7” y la posición de inicio de escritura de la 12ª columna está en una dirección de “7”.
Además, el número de bits "m" de un símbolo es 12 y el factor "b" es 2 cuando el cuarto método de reordenamiento de la Figura 17 se utiliza en el proceso de reordenamiento del demultiplexor 25 según se ilustra en la Figura 8 y 4096QAM se emplea como el método de modulación.
En este caso, la memoria 31 tiene 24 columnas para almacenar 12x2 bits en una dirección de las filas y almacena 16200/(12x2) bits en una dirección de las columnas, según se ilustra en la Figura 24. La posición de inicio de escritura de la 1ª de las 24 columnas de la memoria 31 está en una dirección de "0", la posición de inicio de escritura de la 2ª columna está en una dirección de "0", la posición de inicio de escritura de la 3ª columna está en una dirección de “0”, la 45 posición de inicio de escritura de la 4ª columna está en una dirección de “0”, la posición de inicio de escritura de la 5ª columna está en una dirección de “0”, la posición de inicio de escritura de la 6ª columna está en una dirección de “0”, la posición de inicio de escritura de la 7ª columna está en una dirección de “0”, la posición de inicio de escritura de la 8ª columna está en una dirección de “1”, la posición de inicio de escritura de la 9ª columna está en una dirección de “1”, la posición de inicio de escritura de la 10ª columna está en una dirección de “1”, la posición de inicio de escritura de la 11ª columna está en una dirección de “2”, la posición de inicio de escritura de la 12ª columna está en una dirección de “2”, la posición de inicio de escritura de la 13ª columna está en una dirección de “2”, la dirección de inicio de escritura de la 14ª columna está en una dirección de “3”, la posición de inicio de escritura de la 15ª columna está en una dirección de “7”, la posición de inicio de escritura de la 16ª columna está en una dirección de “9”, la posición de inicio de escritura de la 17ª columna está en una dirección de “9”, la posición de inicio de escritura de la 18ª columna está en una dirección de “9”, la
55 posición de inicio de escritura de la 19ª columna está en una dirección de “10”, la posición de inicio de escritura de la 20ª columna está en una dirección de “10”, la posición de inicio de escritura de la 21ª columna está en una dirección de “10”, la posición de inicio de escritura de la 22ª columna está en una dirección de “10”, la posición de inicio de escritura de la 23ª columna está en una dirección de “10” y la posición de inicio de escritura de la 24ª columna está en una dirección de “11”.
Un procedimiento de transmisión, realizado por el transmisor 11 de la Figura 8 se describirá ahora con referencia a un diagrama de flujo de la Figura 25.
El codificador LDPC 21 espera hasta que se reciban los datos objetivos y codifica los datos objetivos recibidos en un
65 código LDPC y proporciona el código LDPC al intercalador de bits 22 en la etapa S101 y luego, el procedimiento prosigue con la etapa S102.
En la etapa S102, el intercalador de bits 22 realiza el intercalado de bits en el código LDPC desde el codificador LDPC 21 y proporciona el código LDPC con intercalado de bits a la unidad de puesta en correspondencia 26 y luego, el procedimiento prosigue con la etapa S103.
Más concretamente, en la etapa S102, el intercalador de paridad 23, en el intercalador de bits 22 realiza el intercalado de paridad en el código LDPC desde la codificación de LDPC 21 y proporciona el código LDPC, con intercalado de paridad, al intercalador de columnas con torsión 24.
El intercalador de columnas con torsión 24 realiza el intercalado de columnas con torsión en el código LDPC desde el intercalador de paridad 23 y el demultiplexor 25 realiza un proceso de reordenamiento en el código LDPC que es objeto de intercalado de columnas con torsión por intermedio del intercalador de columnas con torsión 24. El demultiplexor 25 proporciona, entonces, el código LDPC reordenado a la unidad de puesta en correspondencia 26.
En la etapa S103, la unidad de puesta en correspondencia 26 efectúa la puesta en correspondencia de m bits de código del código LDPC desde el demultiplexor 25 a un símbolo representado por un punto de señal determinado en conformidad con un sistema de modulación que el modulador ortogonal 27 utiliza para realizar la modulación ortogonal y proporciona el símbolo, puesto en correspondencia, al modulador ortogonal 27 y luego, el procedimiento prosigue con la etapa S104.
En la etapa S104, el modulador ortogonal 27 realiza la modulación ortogonal de portadoras en el símbolo desde la unidad de puesta en correspondencia 26 y luego, el procedimiento prosigue con la etapa S105 y transmite la señal ortogonalmente modulada y a continuación, el procedimiento se termina.
El procedimiento de transmisión de la Figura 25 es objeto de repetición.
La realización del intercalado de paridad o del intercalado de columnas con torsión, según se describió anteriormente, puede aumentar la resistencia a los borrados operativos o errores de ráfagas cuando una pluralidad de bits de código de un código LDPC se transmite como un símbolo.
El intercalado de paridad 23, que es un bloque para realizar el intercalado de paridad y el intercalador de columnas con torsión 24, que es un bloque para realizar el intercalado de columnas con torsión, pueden construirse íntegramente aunque el intercalador de paridad 23 y el intercalador de columnas con torsión 24 se ilustran como estando construidos por separado en la Figura 8 para facilidad de explicación.
Más concretamente, el intercalador de paridad y el intercalador de columnas con torsión pueden efectuar las operaciones de escritura y lectura de los bits de código, a y desde la memoria, y pueden representarse con una matriz que convierta una dirección (dirección de escritura) en donde un bit de código es objeto de escritura para una dirección (dirección de lectura) en la que se lee un bit de código.
En consecuencia, es posible obtener un código LDPC que haya sido objeto de intercalado de paridad y luego, haya sido objeto de intercalado de columnas con torsión convirtiendo bits de código utilizando una matriz obtenida multiplicando una matriz que representa un intercalado de paridad y una matriz que representa un intercalado de columnas con torsión.
El demultiplexor 25 puede construirse también íntegramente con el intercalador de paridad 23 y el intercalador de columnas con torsión 24.
Más concretamente, un proceso de reordenamiento, realizado por el demultiplexor 25, puede representarse también por una matriz que convierte una dirección de escritura de la memoria 31, que almacena un código LDPC para una dirección de lectura.
En consecuencia, es posible realizar colectivamente el intercalado de paridad, el intercalado de columnas con torsión y un proceso de reordenamiento que utiliza una matriz obtenida multiplicando una matriz que representa una intercalado de paridad, una matriz que representa un intercalado de columnas con torsión y una matriz que representa un proceso de reordenamiento.
También es posible realizar un intercalado de paridad o un intercalado de columnas con torsión solamente.
Las simulaciones para medir las tasas de errores de bits que se realizaron con el transmisor 11 de la Figura 8 se describirán ahora con referencia a las Figuras 26 a 28.
Se realizaron simulaciones utilizando una ruta de comunicación con un dispositivo de fluctuación de 0 dB D/U.
Las Figuras 26A y 26B ilustran un modelo para una ruta de comunicación utilizada en las simulaciones.
Más concretamente, la Figura 26A ilustra un modelo de un dispositivo de fluctuación empleado en las simulaciones.
La Figura 26B ilustra un modelo de ruta de comunicación que tiene el dispositivo de fluctuación cuyo modelo se ilustra en la Figura 26A.
5 “H” en la Figura 26B, indica el modelo del dispositivo de fluctuación de la Figura 26A. “N” indica la Interferencia Interportadoras (ICI) en la Figura 26B. En la simulación, una expectativa E[N2] de potencia de la interferencia ICI fue aproximadamente por AWGN.
Las Figuras 27 y 28 ilustran relaciones entre las frecuencias Doppler fd de dispositivo de fluctuación y tasas de errores 10 desde las simulaciones.
Más concretamente, la Figura 27 representa las relaciones entre tasas de errores y frecuencias Doppler fd cuando el sistema de modulación es 16QAM, la tasa de código (r) es ¾ y el método de reordenamiento es el primer método de reordenamiento. La Figura 28 ilustra las relaciones entre las tasas de errores y las frecuencias Doppler fd cuando el
15 sistema de modulación es 64QAM, la tasa de código (r) es 5/6 y el método de reordenamiento es el primer método de reordenamiento.
En las Figuras 27 y 28, una línea continua indica una relación entre las tasas de errores y las frecuencias Doppler fd cuando el intercalado de paridad, el intercalado de columnas con torsión y un proceso de reordenamiento se realizaron
20 todos ellos y una línea delgada indica una relación entre tasas de errores y frecuencias Doppler fd cuando solamente se realizó el proceso de reordenamiento entre los tres procesos.
Puede deducirse de cualquiera de las Figuras 27 y 28 que se mejoran las tasas de errores (esto es, se reducen) cuando el intercalado de paridad, el intercalado de columnas con torsión y un proceso de reordenamiento se realizaron todos
25 ellos, en comparación a cuando solamente se realiza el proceso de reordenamiento.
Receptor
La Figura 29 proporciona una ilustración, a modo de ejemplo, de un receptor que puede utilizarse para detectar símbolos
30 de OFDM y para recuperar bits de datos desde las señales de sub-portadoras de los símbolos OFDM. Según se ilustra en la Figura 29, una señal de OFDM se recibe por una antena 500 y se detecta por un sintonizador 502 y se convierte en una forma digital mediante un convertidor analógico a digital 504. Un procesador de eliminación de intervalo de guarda 506 elimina el intervalo de guarda desde un símbolo OFDM recibido, antes de que se recuperen los datos desde el símbolo OFDM utilizando un procesador de Transformada de Fourier Rápida (FFT) 508 en combinación con un
35 estimador de canales y corrección 510, en cooperación con una unidad de decodificación de señalización incorporada 511, en conformidad con las técnicas conocidas. Los símbolos de datos demodulados se recuperan desde un demapeador 512 y se alimentan a un de-intercalador de símbolos 514, que funciona para efectuar el mapeado de puesta en correspondencia inversa de los símbolos de datos recibidos para generar un flujo de símbolos de salida con símbolos de datos de-intercalados. El de-intercalador de símbolos 514 se describirá con más detalle a continuación.
Intercalador de bits y codificador de LDPC
Según se ilustra en la Figura 29, el receptor incluye, además, una unidad demapeadora 52, un de-intercalador 53 y un decodificador LDPC 56. La unidad demapeadora 52 recibe símbolos (con valores respectivos de direcciones de ejes I y
45 Q) desde el de-intercalador de símbolos 514 y funciona para efectuar el demapeado de los símbolos en bits codificados de un código LDPC y proporciona los bits codificados del código LDPC al de-intercalador de bits 53. La función demapeado de los símbolos de datos recibidos se realiza identificando los bits que están representados por el símbolo de datos identificado desde la señal de sub-portadora del símbolo OFDM.
50 El de-intercalador de bits 53 incluye un demultiplexor 54 y un de-intercalador de columnas con torsión 55 y realiza la operación de de-intercalado sobre los bits de código del código LDPC desde la unidad demapeadora 52.
Más concretamente, el demultiplexor 54 realiza un proceso de reordenamiento inverso, que es el inverso del proceso de reordenamiento realizado por el demultiplexor 25 de la Figura 8, sobre el código LDPC desde la unidad demapeadora 52.
55 Más concretamente, el demultiplexor 54 realiza un proceso de reordenamiento inverso para restablecer las posiciones de los bits de código reordenados por el proceso de reordenamiento en posiciones originales y proporciona el código LDPC, con reordenamiento inverso, al de-intercalador de columnas con torsión 55.
El de-intercalador de columnas con torsión 55 realiza un proceso de de-intercalado de columnas con torsión inverso, que
60 es el inverso del intercalado de columnas con torsión como el proceso de permutación realizado por el intercalador de columnas con torsión 24 de la Figura 8, sobre el código LDPC desde el demultiplexor 54. Más concretamente, el deintercalador de columnas con torsión 55 realiza un proceso de permutación inversa (a modo de ejemplo, de-intercalado de columnas con torsión) para restablecer el orden original de los bits de código del código LDPC reordenado mediante intercalado de columnas con torsión como el proceso de permutación de los bits de código.
65 Más concretamente, el de-intercalador de columnas con torsión 55 realiza la operación de de-intercalado de columnas con torsión mediante la escritura y lectura de los bits de código del código LDPC a y desde una memoria para la operación de de-intercalado que se establece similarmente para la memoria 31 ilustrada en la Figura 22.
5 Sin embargo, el de-intercalador de columnas con torsión 55 realiza la escritura de un bit de código en una dirección de las filas en la memoria para desintercalar utilizando una dirección de lectura, en donde el bit de código fue objeto de lectura desde la memoria 31, como una dirección de escritura. Además, el de-intercalador de columnas con torsión 55 efectúa la lectura de un bit de código en una dirección de las columnas desde la memoria para su desintercalado utilizando una dirección de escritura, en donde el bit de código fue objeto de escritura en la memoria 31, como una dirección de lectura.
El de-intercalador de columnas con torsión 55 proporciona el código LDPC, con desintercalado de columnas con torsión al decodificador LDPC 56.
15 Aunque las operaciones de intercalado de paridad, intercalado de columnas con torsión y un proceso de reordenamiento se realizaron secuencialmente sobre el código LDPC provisto desde la unidad demapeadora 52 al de-intercalador 53, el decodificador 53 realiza solamente los dos procesos, esto es, un proceso de reordenamiento inverso correspondiente al proceso de reordenamiento y el desintercalado de columnas con torsión correspondiente al intercalado de columnas con torsión, sobre el código LDPC. De este modo, el de-intercalador 53 no realiza el desintercalado de paridad correspondiente al intercalado de paridad (esto es, la inversa de la operación de intercalado de paridad). Es decir, el deintercalador 53 no realiza el desintercalado de paridad para restablecer el orden original del bit de código del código LDPC reordenado mediante intercalado de paridad.
En consecuencia, el código LDPC, sobre el que se ha realizado el proceso de reordenamiento inverso y el desintercalado
25 de columnas con torsión y no se ha realizado ningún desintercalado de paridad, se proporciona desde (el de-intercalador de columnas con torsión 55 del) de-intercalador 53 al decodificador LDPC 56.
En decodificador LDPC 56 realiza la decodificación de LDPC sobre el código LDPC desde el de-intercalador 53 utilizando una matriz de control de paridad convertida, obtenida realizando al menos una permutación de columnas correspondiente al intercalado de paridad sobre la matriz de control de paridad H que el codificador LDPC 21 de la Figura 8 utilizado para la codificación de LDPC y luego, proporciona, a la salida, los datos resultantes como datos objetivos decodificados.
La Figura 30 es un diagrama de flujo que ilustra un procedimiento de recepción realizado por el receptor 12 de la Figura 35 29.
El demodulador ortogonal 51 recibe una señal modulada desde el transmisor 11 en la etapa S111. A continuación, el procedimiento prosigue con la etapa S112 para realizar la demodulación ortogonal sobre la señal modulada. El demodulador ortogonal 51 proporciona, luego, un símbolo obtenido mediante la demodulación ortogonal a la unidad demapeadora 52 y luego, el procedimiento prosigue desde la etapa S112 a la etapa S113.
En la etapa S113, la unidad demapeadora 52 efectúa el demapeado del símbolo desde el demodulador ortogonal 51 en bits de código de un código LDPC y proporciona los bits de código de un código LDPC al de-intercalador 53. A continuación, el procedimiento prosigue con la etapa S114.
45 En la etapa S114, el de-intercalador 53 realiza la operación de desintercalado sobre los bits de código del código LDPC desde la unidad demapeadora 52 y a continuación, el procedimiento prosigue con la etapa S115.
Más concretamente, en la etapa S114, el demultiplexor 54, en el de-intercalador 53 realiza un proceso de reordenamiento inverso sobre el código LDPC desde la unidad demapeadora 52 y proporciona el código LDPC resultante al de-intercalador de columnas con torsión 55.
El de-intercalador de columnas con torsión 55 realiza la operación de desintercalado de columnas con torsión sobre el código LDPC desde el demultiplexor 54 y proporciona el código LDPC resultante al decodificador de LDPC 56.
55 En la etapa S115, el decodificador de LDPC 56 realiza la decodificación de LDPC sobre el código LDPC desde el deintercalador de columnas con torsión 55 utilizando una matriz de control de paridad convertida, obtenida realizando al menos la permutación de columnas correspondiente al intercalado de paridad sobre la matriz de control de paridad H que el codificador de LDPC 21 de la Figura 8 utilizó para la codificación de LDPC y luego, proporciona los datos resultantes como datos objetivo decodificados. A continuación, se termina el procedimiento.
El procedimiento de recepción de la Figura 30 es objeto de repetición.
El demultiplexor 54, que realiza un proceso de reordenamiento inverso, y el de-intercalador de columnas con torsión 55, 65 que realiza el desintercalado de columnas con torsión, pueden construirse de forma integrada aunque el demultiplexor 54 y el de-intercalador de columnas con torsión 55 se representan como estando construidos de forma separada en la Figura 29 en la misma manera que en la Figura 8 para facilidad de explicación.
En el caso en que el transmisor 11 de la Figura 8 no realice el intercalado de columnas con torsión, no hay necesidad de 5 proporcionar el de-intercalador de columnas con torsión 55 en el receptor 12 de la Figura 29.
Se hará referencia ahora a la forma en que el codificador de LDPC 56 de la Figura 29 realiza la decodificación de LDPC.
El decodificador de LDPC 56 de la Figura 29 realiza la decodificación de LDPC del código LDPC desde el de-intercalador de columnas con torsión 55, en donde se han realizado el proceso de reordenamiento inverso y la operación de desintercalado de columnas con torsión y no se ha realizado ningún desintercalado de paridad, utilizando una matriz de control de paridad convertida obtenida realizando al menos una permutación de columnas correspondiente al intercalado de paridad sobre la matriz de control de paridad H que el codificador de LDPC 21 de la Figura 8 utilizó para la codificación de LDPC.
15 En este caso, la decodificación de LDPC, que se realiza utilizando la matriz de control de paridad convertida, con el fin de reducir la magnitud de los circuitos y limitar la frecuencia operativa dentro de un margen que puede ser completamente conseguible, se ha recomendado con anterioridad (a modo de ejemplo, véase la publicación de la solicitud de patente japonesa nº 2004-343170).
En primer lugar, la decodificación de LDPC utilizando la matriz de control de paridad convertida, anteriormente recomendada, se describe haciendo referencia a las Figuras 31 a 34.
La Figura 31 ilustra una matriz de control de paridad H, a modo de ejemplo, de un código LDPC que tiene una longitud 25 de código N de 90 y una tasa de código de 2/3.
En la Figura 31, "0" se representa por un punto “.” Según se ilustra en las Figuras 32 y 33 descritas a continuación.
Una matriz de paridad en la matriz de control de paridad H de la Figura 31 presenta una estructura escalonada.
La Figura 32 ilustra una matriz de control de paridad H’ obtenida realizando una permutación de filas de la Expresión Matemática (8) y una permutación de columnas de la Expresión Matemática (9) en la matriz de control de paridad H representada en la Figura 31.
35 Permutación de filas: 6s+t+1-ésima fila � 5t+s+1-ésima fila ….(8)
Permutación de columnas: 6x+y+61-ésima columna � 5y+x+61-ésima columna …(9)
En las expresiones matemáticas (8) y (9), s, t, x e y son números enteros de modo que se tiene 0<s<5, 0<t<6, 0<x<5 y 0<y<6.
En conformidad con la permutación de filas de la expresión matemática (8), las filas 1ª, 7ª, 13ª, 19ª y 25ª, cuyos números ordinales proporcionan "1" como un resto cuando se dividen por 6, se cambian a (concretamente, se intercambian con) las filas 1ª, 2ª, 3ª, 4ª y 5ª, respectivamente y las filas 2ª, 8ª, 14ª, 20ª y 26ª, cuyos números ordinales proporcionan “2”
45 como un resto cuando se dividen por 6, se cambian a la fila 6ª, 7ª, 8ª, 9ª y 10ª, respectivamente.
En conformidad con la permutación de columnas de la expresión matemática (9), las columnas 61ª, 67ª, 73ª, 79ª y 89ª entre columnas (paridad) posteriores a la columna 60ª, cuyos números ordinales proporcionan "1" como un resto cuando se dividen por 6, se cambian a las columnas 61ª, 62ª, 63ª, 64ª y 65ª, respectivamente y columnas 62ª, 68ª, 74ª, 80ª y 86ª, cuyos números ordinales proporcionan “2” como un resto cuando se dividen por 6, se cambian a las columnas 66ª, 67ª, 68ª, 69ª y 70ª, respectivamente.
Una matriz obtenida realizando la permutación de filas y de columnas en la matriz de control de paridad H de la Figura 31, en esta manera, es la matriz de control de paridad H’ de la Figura 32.
55 En este caso, la realización de la permutación de filas de la matriz de control de paridad H no afecta al orden de los bits de código del código LDPC.
La permutación de columnas de la expresión matemática (9) corresponde al intercalado de paridad que se realiza para intercalar el K+qx+y+1-ésimo bit de código a la posición de K+Py+x+1-ésimo bit de código, según se describió anteriormente cuando la longitud de información K es “60” el número unitario de columnas P que presenta una estructura cíclica es “5” y el divisor q(M/P) de la longitud de paridad M (30, en este ejemplo), es “6”.
Un vector cero es objeto de salida si la matriz de control de paridad H’ de la Figura 32 que, en adelante, se refiere como
65 “matriz de control de paridad convertida”, cuando sea adecuado, se multiplica por un código LDPC obtenido realizando la misma permutación que en la expresión matemática (9) sobre el código LDPC de la matriz de control de paridad H de la
Figura 31 que, adelante, se refiere como una “matriz de control de paridad original” cuando sea adecuado. Más concretamente, cuando “c’” representa un vector de fila obtenido realizando la permutación de columnas de la expresión matemática (9) sobre un vector de fila “c” como un código LDPC (una palabra de código) de la matriz de control de paridad original H, HcT es un vector cero debido a la naturaleza de la matriz de control de paridad y por lo tanto, H’c’T es también un vector cero.
De este modo, la matriz de control de paridad convertida H’ de la Figura 32 es una matriz de control de paridad del código LDPC c’ obtenido realizando la permutación de columnas de la expresión matemática (9) sobre el código c de LDPC de la matriz de control de paridad H original.
En consecuencia, el mismo código LDPC de la matriz de control de paridad H original, que se obtiene mediante decodificación utilizando la matriz de control de paridad H, se puede obtener mediante decodificación por LDPC del código c’ de LDPC con permutación de columnas, que fue generado realizando la permutación de columnas de la expresión matemática (9) sobre el código c de LDPC de la matriz de control de paridad H original, utilizando la matriz de control de paridad H’ convertida de la Figura 32 y luego, realizando la inversa de la permutación de columnas de la expresión matemática (9) sobre el código c’ de LDPC decodificado.
La Figura 33 ilustra la matriz de control de paridad H’ convertida de la Figura 32 en donde los elementos se representan como estando dispuestos en unidades de matrices 5x5 espaciadas entre sí.
En la Figura 33, la matriz de control de paridad H’ convertida se representa como una combinación de matrices unitarias 5x5, cada una de las cuales se obtiene sustituyendo uno o más "1" en una matriz unitaria 5x5 con "0" (en adelante referidas como “matrices cuasi-unitarias, cuando sea adecuado), las matrices obtenidas mediante desplazamiento cíclico de matrices unitarias o matrices casi unitarias (en adelante referidas como matrices desplazadas, cuando sea adecuado), matrices, cada una de las cuales es la suma de dos o más de una matriz unitaria, una matriz cuasi-unitaria y una matriz desplazada (en adelante, referida como “matrices sumas” cuando sea adecuado) y matrices de ceros 5x5.
Es decir, la matriz de control de paridad H’ convertida de la Figura 33 puede ser una matriz que incluya matrices unitarias 5x5, matrices casi unitarias, matrices desplazadas, matrices sumas y matrices cero 5x5. De este modo, las matrices 5x5, que constituyen la matriz de control de paridad convertida H’, se referirán ahora como “matrices componentes” cuando sea adecuado.
La decodificación de un código LDPC representado por una matriz de control de paridad representada por matrices componentes PxP puede realizarse utilizando una arquitectura que realice simultáneamente P cálculos de nodos de control y P cálculos de nodos de variables.
La Figura 34 es un diagrama de bloques que ilustra una configuración, a modo de ejemplo, de un dispositivo de decodificación que realiza la decodificación según se describió anteriormente.
Más concretamente, la Figura 34 ilustra una configuración, a modo de ejemplo, de un dispositivo de decodificación que realiza la decodificación de un código LDPC utilizando la matriz de control de paridad convertida H’ de la Figura 33 obtenida realizando al menos la permutación de columnas de la expresión matemática (9) en la matriz de control de paridad H original de la Figura 31.
El dispositivo de decodificación de la Figura 34 incluye una memoria de almacenamiento de datos de borde 300 que comprende 6 FIFOs 3001 a 3006, un selector 301, para seleccionar una de entre FIFOs 3001 a 3006, una unidad de cálculo de nodo de control 302, dos circuitos de desplazamiento cíclicos 303 y 308, una memoria de almacenamiento de datos de borde 304 que incluye 18 FIFOs 3041 a 30418, un selector 305 para seleccionar una de las FIFOs 3041 a 30018, una memoria de datos recibidos 306 para almacenar información recibida, una unidad de cálculos de nodos de variables 307, una unidad de cálculo de palabras decodificadas 309, una unidad de permutación de datos recibidos 310 y una unidad de permutación de datos decodificados 311.
En primer lugar, se hace referencia a un método para almacenar datos en la memoria de almacenamiento de datos de borde 300 y 304.
La memoria de almacenamiento de datos de borde 300 incluye el mismo número de 6 FIFOs 3001 a 3006, como un número obtenido dividiendo el número de filas “30” de la matriz de control de paridad convertida H’ de la Figura 33 por el número de filas “5” de cada matriz componente. Cada FIFO 300y (y = 1, 2, …, 6) incluye zonas de almacenamiento respectivas de múltiples etapas, a o desde cada una de las cuales pueden escribirse o leerse mensajes correspondientes al mismo número de “5” bordes como el número de filas y el número de columnas de cada matriz componente. El número de las etapas de zonas de almacenamiento de cada FIFO 300y es “9”, que es igual al máximo de los números de 1 (pesos de ponderación de Hamming) en una dirección de las filas de la matriz de control de paridad convertida representada en la Figura 33.
Los datos (esto es, mensajes vi desde nodos de variables) correspondientes a las posiciones de "1" de la primera a quinta filas de la matriz de control de paridad convertida H’ de la Figura 33 se memoriza en FIFO 3001 en una dirección
horizontal en cada fila simultáneamente mientras se desechan los "0". Más concretamente, cuando (j, i) representa un elemento de la j-ésima fila y e-ésima columna, los datos correspondientes a las posiciones de "1" de una matriz unitaria 5x5 de (1,1) a (5,5) de la matriz de control de paridad convertida H’ se memoriza en la zona de almacenamiento de la primera etapa de FIFO 3001. Los datos correspondientes a las posiciones de "1" de una matriz desplazada de (1, 21) a (5, 25) de la matriz de control de paridad convertida H', que se obtiene mediante el desplazamiento cíclico de una matriz unitaria 5x5 a la derecha en 3 elementos se memoriza en la zona de almacenamiento de la segunda etapa. De modo similar, los datos se memorizan en la zona de almacenamiento de las 3ª a 8ª etapas en asociación con la matriz de control de paridad convertida H'. Los datos correspondientes a las posiciones de "1" de una matriz desplazada de (1, 81) a (5, 90) de la matriz de control de paridad convertida H', que se obtiene sustituyendo "1" en la primera fila con "0" en la matriz unitaria 5x5 y con el desplazamiento cíclico de la matriz unitaria 5x5 a la izquierda en un elemento, se memoriza en la zona de almacenamiento de la novena etapa.
Los datos correspondientes a las posiciones de "1" desde la 6ª a 10ª filas de la matriz de control de paridad convertida H' de la Figura 33 se almacenan en FIFO 3002. Más concretamente, los datos correspondientes a las posiciones de "1" de una primera matriz desplazada incluida en una matriz suma de (6, 1) a (10, 5) de la matriz de control de paridad convertida H', que se obtiene añadiendo la primera matriz desplazada obtenida mediante desplazamiento cíclico de una matriz unitaria 5x5 a la derecha en un elemento y una segunda matriz desplazada, obtenida desplazando cíclicamente una matriz unitaria 5x5 a la derecha en 2 elementos, se memoriza en la zona de almacenamiento de la primera etapa de FIFO 3002. Los datos correspondientes a las posiciones de "1" de la segunda matriz desplazada, incluida en la matriz suma de (6,1) a (10, 5) de la matriz de control de paridad convertida H', se memorizan en la zona de almacenamiento de la segunda etapa de FIFO 3002.
Más concretamente, cuando una matriz componente que tiene un peso de ponderación de 2 o más, se representa por la suma de dos o más de una matriz unitaria PxP con un peso de ponderación de 1, una matriz cuasi-unitaria obtenida sustituyendo uno o más "1" de la matriz unitaria con "0" y una matriz desplazada obtenida mediante el desplazamiento cíclico de la matriz unitaria o la matriz casi unitaria, los datos correspondientes a las posiciones de "1" de la matriz unitaria con un peso de ponderación de 1, la matriz casi unitaria, o la matriz desplazada (esto es, mensajes correspondientes a bordes que pertenecen a la matriz unitaria, la matriz cuasi-unitaria o la matriz desplazada) se memorizan en la misma dirección (la misma FIFO entre las FIFO 3001 a 3006 ).
Los datos se memorizan también en las zonas de almacenamiento de la 3ª a 9ª etapas en asociación con la matriz de control de paridad convertida H'.
De modo similar, los datos se memorizan en las FIFOs 3003 a 3006 en asociación con la matriz de control de paridad convertida H'.
La memoria de almacenamiento de datos de bordes 304 incluye el mismo número de 18 FIFOs 3041 a 30418, como un número obtenido dividiendo el número de columnas “90” de la matriz de control de paridad convertida H’ por el número de columnas “5” de cada matriz componente. Cada FIFO 304x (x=1, 2, …, 18) incluye zonas de almacenamiento respectivas de múltiples etapas, a o desde cada una de las cuales pueden escribirse o leerse simultáneamente mensajes correspondientes al mismo número de “5” bordes como el número de filas y el número de columnas de cada matriz componente convertida H’.
Los datos (esto es, mensajes ui desde nodos de control) correspondientes a las posiciones de "1" de la primera a quinta columnas de la matriz de control de paridad convertida H’ de la Figura 33 se memorizan en FIFO 3041 en una dirección vertical en cada columna simultáneamente mientras se desechan los "0". Más concretamente, cuando los datos correspondientes a las posiciones de "1" de una matriz unitaria 5x5 de (1,1) a (5,5) de la matriz de control de paridad convertida H’ se memoriza en la zona de almacenamiento de la primera etapa de FIFO 3041. Los datos correspondientes a las posiciones de "1" de una primera matriz desplazada incluida en una matriz suma de (6, 1) a (10, 5) de la matriz de control de paridad convertida H', que se obtiene añadiendo una primera matriz desplazada generada por el desplazamiento cíclico de una matriz unitaria 5x5 a la derecha en 1 elemento y una segunda matriz desplazada obtenida por desplazamiento cíclico de una matriz unitaria 5x5, a la derecha en 2 elementos, se memorizan en la zona de almacenamiento de la segunda etapa. Los datos correspondientes a las posiciones de "1" de la segunda matriz desplazada incluida en la matriz suma de (6, 1) a (10, 5) de la matriz de control de paridad convertida H', se memorizan en la zona de almacenamiento de la tercera etapa.
Más concretamente, cuando una matriz componente que tenga un peso de ponderación de 2 o más, se representa por la suma de dos o más de una matriz unitaria PxP con un peso de ponderación de 1, una matriz cuasi-unitaria obtenida sustituyendo uno o más "1" de la matriz unitaria con "0" y una matriz desplazada obtenida mediante el desplazamiento cíclico de la matriz unitaria o de la matriz cuasi-unitaria, los datos correspondientes a las posiciones de "1" de la matriz unitaria con un peso de ponderación de 1, la matriz cuasi-unitaria, o la matriz desplazada (esto es, mensajes correspondientes a bordes que pertenecen a la matriz unitaria, la matriz cuasi-unitaria o la matriz desplazada) se memorizan en la misma dirección (la misma FIFO entre las FIFOs 3041 a 30418 ).
Los datos se memorizan también en las zonas de almacenamiento de la 4ª a 5ª etapas en asociación con la matriz de control de paridad convertida H'. El número de las etapas de la zona de almacenamiento de FIFO 3041 es “5”, que es
igual al máximo de los números de "1" (pesos de ponderación de Hamming) en una dirección de las filas en las primera a quinta columnas de la matriz de control de paridad convertida H'.
De modo similar, los datos se memorizan en las FIFOs 3042 y 3043 en asociación con la matriz de control de paridad convertida H' y la longitud (es decir, el número de etapas) de cada FIFO es “5”. De modo similar, los datos se memorizan en las FIFOs 3044 a 30412 en asociación con la matriz de control de paridad convertida H' y la longitud de cada FIFO es “3”. De modo similar los datos se memorizan en las FIFOs 30413 a 30418 en asociación con la matriz de control de paridad convertida H' y la longitud de cada FIFO es “2”.
Se ahora referencia al funcionamiento del dispositivo de decodificación de la Figura 34.
En la memoria de almacenamiento de datos de borde 300, que incluye 6 FIFOs 3001 a 3006, una FIFO para almacenar datos se selecciona desde entre las FIFOs 3001 a 3006, en función de la información (datos de matrices) D312 que indica una fila en la matriz de control de paridad convertida H', a la que pertenecen 5 mensajes D311 recibidos desde el circuito de desplazamiento cíclico 308 situado flujo arriba de la memoria de almacenamiento de datos de borde 300 y los 5 mensajes D311 se recogen y memorizan en la FIFO seleccionada en orden. Cuando se leen datos desde la memoria de almacenamiento de datos de bordes 300, en primer lugar, 5 mensajes D3001 se leen en orden desde la FIFO 3001 y luego, se proporcionan al selector 301 situado flujo debajo de la memoria de almacenamiento de datos de borde 300. Después de que se lean completamente los mensajes desde la FIFO 3001 se leen mensajes en orden desde las FIFOs 3002 a 3006 en la memoria de almacenamiento de datos de borde 300 y luego, se proporcionan al selector 301 en la misma manera.
El selector 301 selecciona 5 mensajes recibidos desde una FIFO desde la que se están leyendo actualmente datos entre las FIFOs 3001 a 3006 en función de una señal de selección D301 y proporciona los mensajes seleccionados como mensajes D302 a la unidad de cálculo del nodo de control 302.
La unidad de cálculo del nodo de control 302 incluye 5 calculadores de nodos de control 3021 a 3025 y realiza los cálculos del nodo de control en conformidad con la ecuación (7) utilizando los mensajes D302 (D3021 a D3025) (correspondientes a mensajes vi en la ecuación (7)) recibidos a través del selector 301 y proporciona 5 mensajes D303 (D3031 a D3035) (correspondientes a mensajes ui en la ecuación (7)) obtenidos a través de los cálculos del nodo de control para el circuito de desplazamiento cíclico 303.
El circuito de desplazamiento cíclico 303 desplaza, de forma cíclica, los 5 mensajes D3031 a D3035 por la unidad de cálculo del nodo de control 302 en función de la información (datos de matrices) D305 que indica el número de elementos mediante los cuales una matriz unitaria original fue desplazada, de forma cíclica para obtener cada borde correspondiente en la matriz de control de paridad convertida H' y proporciona los mensajes, con desplazamiento cíclico, como mensajes D304 a la memoria de almacenamiento de datos de borde 304.
En la memoria de almacenamiento de datos de borde 304, que incluye 18 FIFOs 3041 a 30418, una FIFO para almacenar datos se selecciona de entre las FIFOs 3041 a 30418 en función de la información D305 que indica una fila en la matriz de control de paridad convertida H', a la que pertenecen 5 mensajes D304, recibidos desde el circuito de desplazamiento cíclico 303 situado flujo arriba de la memoria de almacenamiento de datos de borde 304 y los 5 mensajes D304 son recogidos y memorizados en la FIFO seleccionada en orden. Cuando se leen datos desde la memoria de almacenamiento de datos de borde 304, en primer lugar, 5 mensajes D3061 son leídos en orden desde la FIFO 3041 y luego, se proporcionan al selector 305 situado flujo abajo de la memoria de almacenamiento de datos de borde 304. Una vez que se hayan leído completamente los datos desde la FIFO 3041, se leen mensajes en orden desde las FIFOs 3042 a 30418 en la memoria de almacenamiento de datos de borde 304 y luego, se proporcionan al selector 305 en la misma manera.
El selector 305 selecciona 5 mensajes recibidos desde una FIFO desde la que se están leyendo actualmente datos entre las FIFOs 3041 a 30418, en función de una señal de selección D307 y proporciona los mensajes seleccionados como mensajes D308 a la unidad de cálculo de nodo de variable 307 y la unidad de cálculo de palabras decodificadas 309.
Por otro lado, la unidad de permutación de datos recibidos 310 realiza la permutación de columnas de la expresión matemática (9) para permutar un código LDPC D313 recibido a través de una ruta de comunicación y proporciona los datos resultantes como datos recibidos D314 a la memoria de datos recibidos 306. La memoria de datos recibidos 306 calcula y memoriza una Relación de Probabilidad Logarítmica (LLR) de recepción a partir de los datos recibidos D314 recibidos desde la unidad de permutación de datos recibidos 310 y proporciona LLRs de recepción en grupos de 5 LLRs como valores recibidos D309 para la unidad de cálculo del nodo de variable 307 y la unidad de cálculo de palabras decodificadas 309.
La unidad de cálculo de nodos de variables 307 incluye 5 unidades de cálculo de nodos de variables 3071 a 3075 y realiza cálculos de nodos de variables según la ecuación (1) utilizando los mensajes D308 (D3081 a D3085) (correspondientes a mensajes uj en la ecuación (1)) recibidos a través del selector 305 y los 5 valores recibidos D309 (dientes a los valores recibidos uoi en la ecuación (1)) recibidos desde la memoria de datos recibidos 306 y luego, proporciona 5 mensajes D310 (D3101 a D3105) (correspondientes a mensajes vi en la ecuación (1)) obtenidos a través de los cálculos de nodos de variables para el circuito de desplazamiento cíclico 308.
El circuito de desplazamiento cíclico 308 desplaza, de forma cíclica, los 5 mensajes D3101 a D3105 calculados por la
5 unidad de cálculo de nodos de variables 307 en función de la información que indica el número de elementos mediante los cuales una matriz unitaria original fue desplazada, de forma cíclica, para obtener cada borde correspondiente en la matriz de control de paridad convertida H' y proporciona los mensajes desplazados, de forma cíclica, como mensajes D311 a la memoria de almacenamiento de datos de borde 300.
10 El código LDPC se puede decodificar una vez realizando las operaciones anteriores una vez. Después de decodificar el código LDPC un número de veces predeterminado, el dispositivo de decodificación de la Figura 34 obtiene y proporciona, a la salida, datos decodificados finales mediante la unidad de cálculo de palabras decodificadas 309 y la unidad de permutación de datos decodificados 311.
15 Más concretamente, la unidad de cálculo de palabras decodificadas 309 incluye 5 unidades de cálculo de palabras decodificadas 3091 a 3095 y realiza, como un proceso final de una pluralidad de procedimientos de decodificación, el cálculo de los datos decodificados (esto es, una palabra decodificada) en función de la ecuación (5) utilizando los 5 mensajes D308 (D3081 a D3085) (correspondientes a los mensajes uj en la ecuación (5)) que es objeto de salida desde el selector 305 y los 5 valores recibidos D309 (correspondientes a los valores recibidos uoi en la ecuación (5)) recibidos
20 desde la memoria de datos recibidos 306 y proporciona los datos decodificados calculados D315 a la unidad de permutación de datos decodificados 311.
La unidad de permutación de datos decodificados 311 realiza la inversa de la permutación de columnas de la expresión matemática (9) sobre los datos decodificados D315 recibidos desde la unidad de cálculo de palabras decodificadas 309
25 para cambiar el orden de los datos decodificados D315 y luego, proporciona, a la salida, los datos resultantes como datos decodificados finales D316.
Según se describió anteriormente, una o ambas permutaciones de filas y permutaciones de columnas se realizan sobre la matriz de control de paridad (esto es, la matriz de control de paridad original) para convertirla en una matriz de control 30 de paridad (esto es, matriz de control de paridad convertida) que puede representarse por una combinación de matrices componentes, esto es, una combinación de una matriz unitaria PxP, una matriz cuasi-unitaria obtenida sustituyendo uno
o más "1" de la matriz unitaria con "0", una matriz desplazada obtenida mediante el desplazamiento, de forma cíclica, de la matriz unitaria o de la matriz cuasi-unitaria, una matriz suma obtenida añadiendo dos o más de las matrices unitarias, la matriz cuasi-unitaria o la matriz de desplazamiento y una matriz de ceros PxP. Esta conversión de matriz de control de
35 paridad hizo posible emplear, cuando se decodifica un código LDPC, una arquitectura que realiza simultáneamente P cálculos de nodos de control y P cálculos de nodos de variables. La realización simultánea de P cálculos de nodos limita la frecuencia operativa dentro de un margen que puede ser completamente alcanzable, con lo que se hace posible realizar la decodificación un número de veces.
40 De modo similar, al dispositivo de decodificación representado en la Figura 34, el decodificador de LDPC 56 incluido en el receptor 12 de la Figura 29, está diseñado para decodificar un código LDPC realizando simultáneamente P cálculos de nodos de control y P cálculos de nodos de variables.
Más concretamente, cuando se supone, para facilidad de explicación, que la matriz de control de paridad de una salida
45 de código LDPC desde el codificador de LDPC 21 incluido en el transmisor 11 de la Figura 8 es una matriz de control de paridad H, en donde una matriz de paridad tiene una estructura escalonada, a modo de ejemplo, según se ilustra en la Figura 31, el intercalador de paridad 23, en el transmisor 11, realiza un intercalado de paridad para intercalar un K+qx+y+1-ésimo bit de código a una posición de K+Py+x+1-ésimo bit de código con la longitud de información K siendo “60”, el número unitario de columnas P teniendo una estructura cíclica de “5” y el divisor q(=M/P) de la longitud de
50 paridad M siendo “6”.
Puesto que este intercalado de paridad corresponde a la permutación de columnas de la expresión matemática (9) según se describió anteriormente, el decodificador de LDPC 56 no necesita realizar la permutación de columnas de la expresión matemática (9).
55 Por lo tanto, en el receptor 12, de la Figura 29, un código de LDPC que no se haya sometido a un desintercalado de paridad, es decir, un código LDPC con permutación de columnas realizada de la expresión matemática (9), se proporciona desde el de-intercalador de columnas con torsión 55 al decodificador LDPC 56, según se describió con anterioridad. El decodificador LDPC 56 realiza los mismos procesos que los realizados por el dispositivo de
60 decodificación de la Figura 34 con la excepción de que la permutación de columnas de la expresión matemática (9) no se realiza en el decodificador de LDPC 56.
Más concretamente, la Figura 35 representa una configuración, a modo de ejemplo, del decodificador LDPC 56 de la Figura 29.
El decodificador de LDPC 56, ilustrado en la Figura 35, tiene la misma configuración que el dispositivo de decodificación representado en la Figura 34, con la excepción de que la unidad de permutación de datos recibidos 310 de la Figura 34 no se proporciona y realiza los mismos procesos que los del dispositivo de decodificación de la Figura 34, con la excepción de la permutación de columnas de la expresión matemática (9) que no se realiza en el decodificador de LDPC 56 y en consecuencia, se omite aquí una descripción de la misma configuración y procesos.
El decodificador de LDPC 56 se puede reducir en tamaño en comparación con el dispositivo de decodificación de la Figura 34 puesto que el decodificador de LDPC 56 se puede construir sin la unidad de permutación de datos recibidos 310, según se describió anteriormente.
Aunque, para facilidad de explicación, las Figuras 31 a 35 se han descrito con referencia a una forma de realización, a modo de ejemplo, en donde la longitud de código N de un código LDPC es 90, la longitud de información K es 60, el número unitario de columnas P que presenta una estructura cíclica (es decir, el número de filas y el número de columnas de una matriz componente) es 5 y el divisor q(=M/P) de la longitud de paridad M es 6, la longitud de código N, la longitud de información K, el número unitario de columnas P que tiene una estructura cíclica y el divisor q (=M/P) no están limitados a estos valores.
Por lo tanto, mientras el codificador LDPC 21, en el transmisor 11 de la Figura 8, proporciona, a la salida, un código LDPC, a modo de ejemplo, teniendo una longitud de código N de 64800, una longitud de información K de N-Pq(=N-M), un número unitario de columnas P que tienen una estructura cíclica de 360 y un divisor q de M/P, el decodificador de LDPC 56 de la Figura 35 puede aplicar al LDPC, con la decodificación del código LDPC realizando simultáneamente P cálculos de nodos de control y P cálculos de nodos de variables.
Las anteriores series de procesos se pueden realizar no solamente por hardware sino también por software. Cuando las series de procesos se realizan por software, un programa que pone en práctica el software se instala en un ordenador de uso general o dispositivo similar.
La Figura 36 ilustra una configuración, a modo de ejemplo, de una forma de realización de un ordenador con un programa para realizar las series anteriores de procesos allí instalados.
El programa se puede grabar anteriormente en un disco duro 405 o memoria ROM 403 como un medio de registro incorporado en el ordenador.
El programa puede también memorizarse de forma temporal o permanente (o grabarse) en un medio de grabación extraíble 411, tal como un disco flexible, una memoria de lectura solamente-disco compacto (CR-ROM), un disco magneto-óptico (MOD), un disco versátil digital (DVD), un disco magnético o una memoria de semiconductores. Este medio de registro extraíble 411 se puede proporcionar como un así denominado paquete de software.
En lugar de instalar el programa desde el medio de registro extraíble 411 según se describió anteriormente para un ordenador, el programa puede transmitirse, de forma inalámbrica, desde un emplazamiento de descarga a un ordenador a través de un satélite para difusión vía satélite digital o puede transmitirse por cableado a un ordenador a través de una red tal como una red de área local (LAN) o Internet y el ordenador puede recibir el programa transmitido a través de una unidad de comunicación 408 y puede instalar el programa recibido en un disco duro incorporado 405.
El ordenador puede incluir una unidad central de procesamiento (CPU) 402. La unidad CPU 402 está acoplada a una interfaz 410 de entrada/salida (I/O) a través de un bus 401. La CPU 402 ejecuta un programa memorizado en la memoria de lectura solamente (ROM) 403 cuando una orden, que el usuario ha introducido, a modo de ejemplo, operando una unidad de entrada 407 que incluye un teclado, un ratón, un micrófono y dispositivos similares se ha recibido a través de la interfaz I/O 410. Como alternativa, la unidad CPU 402 se carga, en una memoria de acceso directorio (RAM) 404, y ejecuta un programa memorizado en el disco duro 405, que es un programa que ha sido instalado en el disco duro 405 después de recibirse desde un satélite o red a través de la unidad de comunicación 408 o un programa que ha sido instalado en el disco duro 405 después de leerse desde el medio de registro extraíble 411 instalado en una unidad de disco 409. Al ejecutar el programa de esta manera, la CPU 402 realiza los procesos anteriormente descrito con referencia a lo diagramas de flujo o los procesos realizados por los componentes anteriormente descritos con referencia a los diagramas de bloques. A continuación, cuando se necesita, la CPU 402 proporciona, a la salida, los resultados de los procesos, a modo de ejemplo, a través de una unidad de salida 406 que incluye una pantalla de cristal líquido (LCD), un altavoz o dispositivos similares a través de la interfaz I/O 410 o transmite los resultados de los procesos a través de la unidad de comunicación 408 o registra los resultados de los procesos en el disco duro 405.
En la descripción anterior, conviene señalar que las etapas que describen el programa que hace que el ordenador realice varios tipos de procesamiento no están necesariamente realizadas, de forma cronológica, en el orden descrito anteriormente con referencia a los diagramas de flujo y se pueden realizar en paralelo o de forma individual (a modo de ejemplo, a través del procesamiento de paralelo o procesamiento orientado al objeto).
El programa puede ejecutarse con un ordenador o puede ejecutarse con múltiples ordenadores en una manera distribuida. El programa puede transferirse también a un ordenador distante con el fin de ejecutarse en dicho ordenador distante.
Los expertos en esta técnica apreciarán que las formas de realización de la invención no están limitadas a las anteriormente descritas y se pueden realizar varios cambios sin desviarse por ello del alcance de la invención según se da a conocer en las reivindicaciones adjuntas.
Más concretamente, aunque el intercalado de paridad o intercalado de columnas con torsión, que es un proceso de permutación, se realiza sobre un código LDPC definido en la especificación DVB-S.2 en las anteriores formas de realización, el intercalado de paridad puede aplicarse a un código LDPC de una matriz de control de paridad en donde una matriz de información no tiene una estructura cíclica, a condición de que una matriz de paridad en la matriz de control de paridad tenga una estructura escalonada y el intercalado de columnas con torsión, como un proceso de permutación, pueda aplicarse a, a modo de ejemplo, un código LDPC de una matriz de control de paridad que se convierte en una estructura pseudo-cíclica mediante al menos una permutación de columnas de un código LDPC cuasi cíclico (QC) de una matriz de control de paridad que tiene una estructura cíclica en su integridad.
Es decir, la matriz de control de paridad de un código LDPC que ha de someterse a un intercalado de paridad, solamente necesita incluir una matriz de paridad que tenga una estructura escalonada y no necesita incluir una matriz de información que presente una estructura cíclica.
La matriz de control de paridad de un código LDPC que ha de someterse a un intercalado de columnas con torsión, como un proceso de permutación, no está limitada a ninguna estructura específica.
Además, el proceso de permutación solamente necesita ser capaz de permutar bits de código de un código LDPC, tal como una pluralidad de bits de código correspondientes a "1" en una fila arbitraria de la matriz de control de paridad que no están incorporados en el mismo símbolo y pueden realizarse utilizando un método distinto al intercalado de columnas con torsión. Más concretamente, el proceso de permutación puede realizarse controlando las direcciones de escritura y de lectura, a modo de ejemplo, utilizando una memoria en la que se almacenan datos en solamente una dirección en lugar de la memoria 31 en la que los datos se almacenan en las direcciones de filas y de columnas.
Intercalador de símbolos
Se ha propuesto que el número de modos, que están disponibles dentro de la norma DVB-T2 debe ampliarse para incluir un modo de 1k, un modo de 16k y un modo de 32k. La siguiente descripción se proporciona para ilustrar el funcionamiento de un intercalador de símbolos en conformidad con la presente técnica, aunque se apreciará que el intercalador de símbolos puede utilizarse con otros modos y otras normas DVB.
Para crear nuevos modos, han de definirse varios elementos, uno de los cuales es el intercalador de símbolos 33. El mapeador de bits a constelación 26, el intercalador de símbolos 33 y el constructor de tramas 32 se ilustran con más detalle en la Figura 37.
Según se explicó anteriormente, la presente técnica da a conocer medios para proporcionar un mapeo cuasi óptimo de los símbolos de datos en las señales de sub-portadoras de OFDM. Según la técnica, a modo de ejemplo, el intercalador de símbolos se proporciona para efectuar el mapeado óptimo de símbolos de datos de entrada en señales de subportadoras de OFDM, en función de un código de permutación y de un polinomio generador, que se ha verificado mediante análisis de simulación. Por lo tanto, el intercalador de símbolos se combina con el intercalador de bits y la codificación por LDPC para mejorar el rendimiento de la comunicación de datos en canales de comunicación tales como los propuestos para la norma DVB.
Según se ilustra en la Figura 37, una ilustración más detallada, a modo de ejemplo, del mapeador de constelación de bits a símbolos 26 y el constructor de tramas 32 se proporcionan para ilustrar una forma de realización, a modo de ejemplo, de la presente técnica. Los bits de datos recibidos desde el intercalador de bits 26 a través de un canal 62 se agrupan en conjuntos de bits para ser mapeados en una celda de datos, en función del número de bits por símbolo proporcionados por el sistema de modulación. Los grupos de bits, que forman una palabra de datos, se alimentan en paralelo a través de canales de datos 64 a un procesador de mapeado 66. El procesador de mapeado 66 selecciona luego uno de los símbolos de datos, en conformidad con un mapeado preasignado. El punto de constelación, que se representa por un componente real y un componente imaginario, se proporciona al canal de salida 29 como una de un conjunto de entrada al constructor de tramas 32.
El constructor de tramas 32 recibe las celdas de datos desde el mapeador de bits a constelación 28 a través del canal 29, junto con las celdas de datos desde los demás canales 31. Después de construir una trama de numerosas secuencias de llamadas OFDM, las celdas de cada símbolo OFDM son luego objeto de escritura en una memoria de intercalador 100 y de lectura a la salida de la memoria de intercalador 100, en función de las direcciones de escritura y de las direcciones de lectura generadas por un generador de direcciones 102. En conformidad con el orden de escritura y de lectura, se consigue el intercalado de las celdas de datos, generando direcciones adecuadas. El funcionamiento de generador de direcciones 102 y de la memoria de intercalador 100 se describirán con más detalle, a continuación, con referencia a las Figuras 38, 39 y 40. Las celdas de datos intercaladas se combinan, luego, con los símbolos pilotos y de sincronización recibidos desde el conformador de señalización piloto e incorporado 36 en un constructor de símbolos OFDM 37 para formar el símbolo OFDM, que se alimenta al modulador OFDM 38 según se explicó anteriormente.
5 La Figura 38 proporciona una forma de realización, a modo de ejemplo, de partes del intercalador de símbolos 33, que ilustra la presente técnica para intercalar símbolos. En la Figura 38, las celdas de datos de entrada desde el constructor de tramas 32 se escriben en la memoria de intercalador 100. Las celdas de datos se escriben en la memoria de intercalador 100 en función de una dirección de escritura alimentada desde el generador de direcciones 102 en el canal 104 y son objeto de lectura desde la memoria de intercalador 100 en función de una dirección de lectura alimentada desde el generador de direcciones 102 en un canal 106. El generador de direcciones 102 genera la dirección de lectura y la dirección de escritura según se explica a continuación, dependiendo de si el símbolo OFDM es impar o par, lo que se identifica a partir de una señal alimentada desde un canal 108 y que depende de un modo selecciona, que se identifica a partir de una señal alimentada a partir de un canal 110. Según se explicó anteriormente, el modo puede ser uno de entre
15 un modo de 1k, modo de 2k, modo de 4k, modo de 8k, modo de 16k o modo de 32k. Según se explica a continuación, la dirección de escritura y la dirección de lectura se generan de forma diferente para símbolos impares y pares, según se explica con referencia a la Figura 39, que proporciona una puesta en práctica, a modo de ejemplo, de la memoria de intercalador 100.
En la forma de realización, a modo de ejemplo, ilustrada en la Figura 39, la memoria de intercalador se ilustra para comprender una parte superior 100 que representa el funcionamiento de la memoria de intercalador en el transmisor y una parte inferior 340, que ilustra el funcionamiento de la memoria del de-intercalador en el receptor. El intercalador 100 y el de-intercalador 340 se ilustran juntos en la Figura 39 con el fin de facilitar el entendimiento de su operación. Según se ilustra en la Figura 39, una representación de la comunicación entre el intercalador 100 y el de-intercalador 340, a través
25 de otros dispositivos y a través de un canal de transmisión, se ha simplificado y representado como una sección 140 entre el intercalador 100 y el de-intercalador 340. El funcionamiento del intercalador 100 se describe en los apartados siguientes:
Aunque la Figura 39 proporciona una ilustración de solamente cuatro celdas de datos de entrada en una forma de realización, a modo de ejemplo, de cuatro señales de sub-portadoras de un símbolo OFDM, se apreciará que la técnica ilustrada en la Figura 39 se puede extender a un mayor número de sub-portadoras tales como 756 para el modo de 1k, 1512 para el modo de 2k, 3024 para el modo de 4k y 6048 para el modo de 8k, 12096 para el modo de 16k y 24192 por el modo de 32k.
35 El direccionamiento de entrada y de salida de la memoria de intercalador 100, que se ilustra en la Figura 39, es para símbolos impares y pares. Para un símbolo OFDM par, las celdas de datos se toman desde el canal de entrada 120 y se escriben en la memoria de intercalador 124.1 en conformidad con una secuencia de direcciones 120 generadas para cada símbolo OFDM por el generador de direcciones 102. Las direcciones de escritura se aplican para el símbolo par, de modo que el intercalado ilustrado se efectúa mediante la mezcla aleatoria, shuffling, de las direcciones de escritura. Por lo tanto, para cada símbolo intercalado se tiene y(h(q)) = y’(q).
Para símbolos impares, se utiliza la misma memoria de intercalador 124.2. Sin embargo, según se ilustra en la Figura 39, para el símbolo impar, el orden de escritura 132 está en la misma secuencia de direcciones utilizada para la lectura del símbolo par anterior 126. Esta característica permite que el intercalador de símbolos impares y pares se ponga en
45 práctica para solamente utilizar una memoria de intercalador 100 a condición de que la operación de lectura para una dirección dada se realice antes de la operación de escritura. Las celdas de datos escritas en la memoria de intercalador 124, durante los símbolos impares, se leen luego en una secuencia 134 generada por el generador de direcciones 102 para el siguiente símbolo OFDM par y así sucesivamente. De este modo, solamente una dirección se genera por símbolo, con la escritura y lectura para el símbolo OFDM impar/par siendo realizadas al mismo tiempo.
En resumen, según se representa en la Figura 39, una vez que se ha calculado el conjunto de direcciones H(q) para todas las sub-portadoras activas, el vector de entrada Y’ =(y0’, y1’, y2’,….yNmax-1’) se procesa para obtener el vector intercalado Y =(y0, y1, y2,….yNmax-1) definido por:
55 yH(q) = y’q para símbolos pares para q = 0, …, Nmax-1
yq = y’H(q) para símbolos impares para q = 0, …, Nmax-1
Dicho de otro modo, para símbolos OFDM pares, las palabras de entrada se escriben en una forma permutada en una memoria y se vuelven a leer en una forma secuencial, mientras que para los símbolos impares, se escriben secuencialmente y luego se leen de forma permutada. En el caso anterior, la permutación H(q) se define por la tabla siguiente:
q
0 1 2 3 H(q)
1 3 0 2
55 Tabla 1: permutación para caso simple en donde Nmax = 4
Según se ilustra en la Figura 39, el de-intercalador 340 funciona para invertir el intercalado aplicado por el intercalador 100, aplicando el mismo conjunto de direcciones que se genera por un generador de direcciones equivalente, pero aplicando las direcciones de lectura y de escritura en orden inverso. En consecuencia, para símbolos pares, las direcciones de escritura 342 están en orden secuencial, mientras que las direcciones de lectura 344 se proporcionan por el generador de direcciones. En correspondencia, para los símbolos impares, el orden de escritura 346 se determina a partir del conjunto de direcciones generadas por el generador de direcciones, mientras que la lectura 348 está en orden secuencial.
Generador de direcciones para modos de funcionamiento
Un diagrama de bloques esquemático del algoritmo utilizado para generar la función de permutación H(q) se representa en la Figura 40 para un modo de 32K. Sin embargo, como se apreciará, el intercalador del modo de 32K, representado en la Figura 40, se puede adaptar para funcionar como un intercalador según un modo de 1K, 2K, 4K, 8K o 16K haciendo una adaptación adecuada del polinomio generador y del código de permutación según se explica a continuación.
En la Figura 40, un registro de desplazamiento de realimentación lineal se forma mediante trece etapas de registro 200 y una puerta lógica XOR 202 que está conectada a las etapas del registro de desplazamiento 200 en conformidad con un polinomio generador. Por lo tanto, en función del contenido del registro de desplazamiento 200, un bit siguiente del registro de desplazamiento se proporciona desde la salida de la puerta lógica XOR 202 efectuando dicha función lógica del contenido del registro de desplazamiento R[0], R[1], R[2], R[12] en función del polinomio generador.
En conformidad con el polinomio generador, se genera una secuencia de bits pseudo-aleatoria a partir del contenido del registro de desplazamiento 200. Sin embargo, con el fin de generar una dirección para el modo de 32k según se ilustra, se proporciona un circuito de permutación 210 que permuta efectivamente el orden de los bits dentro del registro de desplazamiento 200,1 desde un orden R’i[n] a un orden Ri[n] a la salida del circuito de permutación 210. Catorce bits desde la salida del circuito de permutación 210 se alimentan luego en un canal de conexión 212 al que se añade un bit más significativo a través de un canal 214 que se proporciona por un circuito de permutación 218. Una dirección de quince bits se genera, por lo tanto, en el canal 212. Sin embargo, con el fin de asegurar la autenticidad de una dirección, un circuito de control de direcciones 216 analiza la dirección generada para determinar si excede un valor máximo predeterminado. El valor máximo predeterminado puede corresponder al número máximo de señales de sub-portadoras, que están disponibles para símbolos de datos dentro del símbolo OFDM, disponibles para el modo que se está utilizando. Sin embargo, el intercalador para el modo de 32k puede utilizarse también para otros modos, de modo que el generador de direcciones 102 puede utilizarse también para el modo de 2k, modo de 4k, modo de 8k, modo de 16k y el modo de 32k, ajustando, el consecuencia, el número de la dirección válida máxima.
Si la dirección generada supera el valor máximo predeterminado, en tal caso, se genera una señal de control por la unidad de control de dirección 216 y se alimenta, a través de un canal de conexión 220 a una unidad de control 224. Si la dirección generada excede el valor máximo predeterminado, entonces, esta dirección se rechaza y una nueva dirección se regenera para ese símbolo particular.
Para el modo de 32k, se define una palabra de (Nr-1) bits R’i, con Nr = log2 Mmax, en donde Mmax = 32768 utilizando un registro LFSR (Registro de Desplazamiento de Realimentación Lineal).
El polinomio utilizado para generar esta secuencia es:
en donde i varía desde 0 a Mmax-1
Una vez que se haya generado una palabra R’i, la palabra R’i mediante una permutación para generar otra palabra de (Nr-1) bits denominada Rj. Rj se deriva de R’i mediante las permutaciones de bits dadas a continuación.
Posiciones de bits de R’i
13 12 11 10 9 8 7 6 5 4 3 2 1 0
Posiciones de bits de Rj
6 5 0 10 8 1 11 12 2 9 4 3 13 7
Permutación de bits para el modo de 32k A modo de ejemplo, esto significa que para el modo de 32K, el número de bits 12 de R’i se envía al número de posición de bits 5 de Rj. 37
La dirección H(q) se deriva, entonces, de Ri mediante la aplicación de la ecuación siguiente:
5 La parte de (i mod2) · 2N,-1 de la ecuación anterior se representa en la Figura 40 por el bloque basculante T 218.
A continuación, se realiza un control de dirección sobre H(q) para verificar que la dirección generada está dentro del margen de direcciones aceptables: si (H(q)<Nmax), en donde Nmax=24192, a modo de ejemplo, en el modo de 32K,
10 entonces, la dirección es válida. Si la dirección no es válida, se informa a la unidad de control e intentará generar una nueva H(q) incrementando el índice i.
La función del bloque basculante es cerciorarse de que no generamos una dirección que excede Nmax dos veces en una fila. En efecto, si se generó un valor excedente, esto significa que el bit MSB (esto es, el bit basculante) de la dirección
15 H(q) era uno. Por ello, el siguiente valor generado tendrá un bit MSB puesto a cero, con lo que se asegura la generación de una dirección válida. El bit adicional, por lo tanto, reduce una probabilidad de que si una dirección excede la dirección válida máxima predeterminada, entonces la siguiente dirección será una dirección válida. A modo de ejemplo, el bit adicional es el bit más significativo.
20 Las siguientes ecuaciones resumen el comportamiento global y ayudan a entender la estructura en bucle de este algoritmo:
q = 0;
25 para (i = 0; i < Mmax; i = i+1)
si (H(q)<Nmax) q = q+1; }
30 Análisis que soporta el generador de direcciones
La selección del polinomio generador y del código de permutación, anteriormente escritos, para el generador de direcciones 102 para cada modo de funcionamiento, a modo de ejemplo, el modo de 32k, se ha identificado después del análisis de simulación del rendimiento relativo del intercalador. El rendimiento relativo del intercalador se ha evaluado 35 utilizando una capacidad relativa del intercalador para separar símbolos sucesivos o una “calidad de intercalado”. Según se indicó anteriormente, efectivamente el intercalado debe realizarse para los símbolos impares y pares, a la vez, con el fin de utilizar una memoria de intercalador única. La medida relativa de la calidad del intercalador se determina definiendo una distancia D (en número de sub-portadoras). Un criterio C se elige para identificar un número de sub-portadoras que están a una distancia < D, a la salida del intercalador que estaban a una distancia < D a la entrada del intercalador,
40 siendo, entonces, el número de sub-portadoras, para cada distancia D, ponderado con respecto a la distancia relativa. El criterio C se evalúa para los símbolos OFDM impares y pares. Al minimizar C se produce un intercalador de calidad superior.
45 en donde Neven(d) y Nodd(d) son los números de sub-portadoras en un símbolo par e impar, respectivamente, a la salida del intercalador que permanece dentro del espaciamiento de sub-portadoras d entre sí.
El análisis del intercalador, anteriormente identificado para el modo de 32k, para un valor de D = 5 se ilustra en la Figura
50 41(a) para los símbolos de OFDM pares y en la Figura 41(b) para los símbolos de OFDM impares. En conformidad con el análisis anterior, el valor de C para el código de permutación anteriormente identificado para el modo de 32k generó un valor de C = 21.75, es decir, el número ponderado de sub-portadoras con símbolos que se separan por cinco o menos en la salida, en conformidad con la ecuación anterior, era 21.75.
55 Un análisis correspondiente se proporciona para un código de permutación alternativo para símbolos OFDM pares en la Figura 41(c) y para símbolos de OFDM impares en la Figura 41(d). Según puede deducirse al comparar los resultados ilustrados en las Figuras 41(a) y 41(b), existen más componentes presentes que representan símbolos separados por pequeñas distancias, tales como D = 1 y D = 2, cuando se comparan con los resultados mostrados en las Figuras 41(a) y 41(b), lo que ilustra que el código de permutación anteriormente identificado, para el intercalador de símbolos del modo de 32k, proporciona un intercalador de calidad superior.
Códigos de permutación alternativos
Los siguientes quince códigos posibles alternativos (posiciones de [n]Rj bits, en donde n = 1 a 15) se han encontrado para proporcionar un intercalador de símbolos con una buena calidad según se determina por el criterio C anteriormente identificado.
Posiciones de bits de R’i
13 12 11 10 9 8 7 6 5 4 3 2 1 0
[1] posiciones de bits de Ri
0 6 1 7 2 11 12 5 9 8 3 10 4 13
[2] posiciones de bits de Ri
9 5 0 7 2 8 3 6 12 11 4 1 10 13
[3] posiciones de bits de Ri
9 12 0 1 2 13 5 8 6 3 7 4 10 11
[4] posiciones de bits de Ri
13 8 1 12 11 0 9 5 3 7 6 2 10 4
[5] posiciones de bits de Ri
5 8 7 0 3 2 11 4 13 6 1 10 12 9
[6] posiciones de bits de Ri
8 9 5 13 0 10 7 1 12 3 2 4 11 6
[7] posiciones de bits de Ri
11 10 0 7 2 9 8 1 5 3 6 4 12 13
[8] posiciones de bits de Ri
11 4 0 13 10 12 5 7 2 8 3 1 6 9
[9] posiciones de bits de Ri
4 0 5 1 12 2 10 3 13 9 6 11 8 7
[10] posiciones de bits de Ri
4 7 0 8 10 1 6 3 2 9 11 12 13 5
[11] posiciones de bits de Ri
4 6 0 13 12 1 11 2 8 3 10 7 9 5
[12] posiciones de bits de Ri
0 5 1 9 2 12 3 6 8 7 4 10 11 13
[13] posiciones de bits de Ri
12 4 2 11 10 1 13 6 0 9 3 8 5 7
[14] posiciones de bits de Ri
10 6 0 13 12 11 8 5 2 4 3 1 9 7
[15] posiciones de bits de Ri
7 6 0 1 10 3 9 4 2 5 8 11 12 13
10 Permutación de bits para el modo de 32K. Adaptación del intercalador de símbolos y generador de direcciones para otros modos
15 Según se indicó anteriormente, el intercalador de símbolos, representado en la Figura 40 puede adaptarse para intercalar símbolos desde otros modos cambiando simplemente la dirección válida máxima, el número de etapas en el registro de desplazamiento de realimentación lineal y el código de permutación. En particular, en conformidad con el análisis antes citado, se ha establecido lo siguiente para cada uno de los modos de 1K, 2K, 4K, 8K y 16K.
20 Modo de 1K Dirección válida máxima: aproximadamente mil Número de etapas en el registro de desplazamiento de realimentación lineal: Nueve
25 Polinomio generador: Código de permutación:
Posiciones de bits de R’i
8 7 6 5 4 3 2 1 0
Posiciones de bits de Ri
4 3 2 1 0 5 6 7 8
Modo de 2K
Dirección válida máxima: aproximadamente dos mil 35 Número de etapas en el registro de desplazamiento de realimentación lineal: 10
39 Polinomio generador: Código de permutación:
Posiciones de bits de R’i [n]
9 8 7 6 5 4 3 2 1 0
Posiciones de bits de Ri [n]
0 7 5 1 8 2 6 9 3 4
Modo de 4K
Dirección válida máxima: aproximadamente cuatro mil
Número de etapas en el registro de desplazamiento de realimentación lineal: Once
Polinomio generador: 15 Código de permutación:
R’i [n] para n =
10 9 8 7 6 5 4 3 2 1 0
Ri [n] para n =
7 10 5 8 1 2 4 9 0 3 6
Modo de 8K
20 Dirección válida máxima: aproximadamente ocho mil Número de etapas en el registro de desplazamiento de realimentación lineal: Doce
Código de permutación:
Posiciones de bits de R’i
11 10 9 8 7 6 5 4 3 2 1 0
Posiciones de bits de Ri
5 11 3 0 10 8 6 9 2 4 1 7
Modo de 16K
Dirección válida máxima: aproximadamente dieciséis mil Número de etapas en el registro de desplazamiento de realimentación lineal: 13
Código de permutación:
Posiciones de bits de R’i
12 11 10 9 8 7 6 5 4 3 2 1 0
Posiciones de bits de Ri
8 4 3 2 0 11 1 5 12 10 6 7 9
40 Descripción adicional del intercalador de símbolos en el receptor
Volviendo al intercalador representado en la Figura 29, el de-intercalador de símbolos 514 está formado a partir de un aparato de procesamiento de datos según se representa en la Figura 42 con una memoria de intercalador 540 y un generador de direcciones 542. La memoria de intercalador 540 es según se representa en la Figura 39 y funciona como
45 ya se explicó anteriormente para efectuar la operación de desintercalado utilizando conjuntos de direcciones generados por el generador de direcciones 542. El generador de direcciones 542 está formado según se ilustra en la Figura 40 y está dispuesto para generar direcciones correspondientes para establecer la correspondencia de mapeado de los símbolos de datos recuperados de cada señal de sub-portadora de OFDM en un flujo continuo de datos de salida.
Las partes restantes del receptor OFDM, ilustrado en la Figura 29, se proporcionan para efectuar la decodificación de corrección de errores 518 de los bits de datos codificados por LDPC para corregir errores y recuperar una estimación de los datos de origen.
Una ventaja proporcionada por la presente técnica, para el receptor y el transmisor, a la vez, es que un intercalador de símbolos y un de-intercalador de símbolos, que funcionan en los receptores y transmisores, se pueden conmutar entre los modos de 1k, 2k, 4k, 8k, 16k y 32k cambiando los polinomios generadores y el orden de permutación. En consecuencia, el generador de direcciones 542, ilustrado en la Figura 42, incluye una entrada 544, que proporciona una indicación del modo así como una entrada 546 que indica si existen símbolos OFDM impares/pares. De este modo, se proporciona una puesta en práctica flexible porque un intercalador y un de-intercalador de símbolos se pueden formar según se ilustra en las Figuras 38 y 42, con un generador de direcciones según se representa en una u otra de las Figuras 40. Por lo tanto, el generador de direcciones se puede adaptar a los diferentes modos cambiando a los polinomios generadores y los órdenes de permutación indicados para cada uno de los modos. A modo de ejemplo, esta operación se puede efectuar utilizando un cambio de software. Como alternativa, en otras formas de realización, una señal incorporada, que indica el modo de la transmisión de DVB-T2, se puede detectar en el receptor en la unidad de procesamiento de señalización incorporada 511 y se utiliza para configurar automáticamente el de-intercalador de símbolos en conformidad con el modo detectado.
Como alternativa, según se indicó anteriormente, se pueden utilizar diferentes intercaladores con diferentes modos, simplemente adaptando la dirección válida máxima en conformidad con el modo que se está utilizando.
Uso óptimo de intercaladores impares
Según se ilustra en la Figura 39, dos procesos de intercalado de símbolos, uno para símbolos OFDM pares y otro para símbolos OFDM impares permite la reducción de la cantidad de memoria utilizada durante el intercalado. En la forma de realización, a modo de ejemplo, ilustrada en la Figura 39, el orden de escritura para el símbolo impar que es el mismo que el orden de lectura para el símbolo par y por lo tanto, mientras un símbolo impar está siendo objeto de lectura desde la memoria, un símbolo par puede escribirse en la posición que acaba de leerse; posteriormente, cuando ese símbolo par se lee desde la memoria, el siguiente símbolo impar puede ser objeto de escritura en la posición que se acaba de leer.
Según se indicó anteriormente, durante un análisis experimental del rendimiento de los intercaladores (utilizando el criterio C según se definió anteriormente) y que se representa, a modo de ejemplo, en la Figura 43(a) y la Figura 43(b), se ha descubierto que los sistemas de intercalado diseñados para los intercaladores de símbolos de 2k y de 8k para el DVB-T y el intercalador de símbolos de 4k para DVB-H funcionan mejor para los símbolos impares que para los símbolos pares. En consecuencia, a partir de los resultados de evaluación del rendimiento de los intercaladores, a modo de ejemplo, según se ilustra en las Figuras 43(a) y 43(b), se ha descubierto que los intercaladores impares funcionan mejor que los intercaladores pares. Esta circunstancia puede deducirse al comparar la Figura 43(a) que muestra resultados para un intercalador para símbolos pares y la Figura 43(b) que ilustra resultados para símbolos impares: puede deducirse que la distancia media a la salida del intercalador de sub-portadoras que eran adyacentes a la entrada del intercalador es mayor para un intercalador para símbolos impares que para un intercalador para símbolos pares.
Como se entenderá, la cantidad de memoria de intercalador requerida para poner en práctica un intercalador de símbolos, depende del número de símbolo de datos objeto de mapeado en los símbolos de portadoras de OFDM. De este modo, un intercalador de símbolos, en el modo de 16k, requiere la mitad de la memoria necesaria para poner en práctica un intercalador de símbolos del modo de 32k y de forma similar, la cantidad de memoria necesaria para poner en práctica un intercalador de símbolos de 8k es la mitad de la requerida para poner en práctica un intercalador de 16k. Por lo tanto, un transmisor o receptor que esté diseñado para poner en práctica un intercalador de símbolos de un modo, que establece el número máximo de símbolos de datos que se pueden transmitirse por símbolos OFDM, entonces, ese receptor o transmisor incluirá memoria suficiente para poner en práctica dos procesos de intercalado impar para cualquier otro modo, que proporcionan la mitad o menos de la mitad del número de sub-portadoras por símbolos OFDM en ese modo máximo dado. A modo de ejemplo, un receptor o un transmisor, que incluye un intercalador de 32k, tendrán suficiente memoria para admitir dos procesos de intercalado impar de 16k, cada uno con su propia memoria de 16k.
Por lo tanto, con el fin de obtener el mejor rendimiento de los procesos de intercalado impar, un intercalador de símbolos, capaz de admitir múltiples modos de modulación, puede diseñarse de modo que solamente se utilice un proceso de intercalado de símbolos impar, si en un modo que comprende la mitad o menos de la mitad del número de subportadoras en un modo máximo, que representa el número máximo de sub-portadoras por símbolo OFDM. Este modo máximo, por lo tanto, establece la magnitud de memoria máxima. A modo de ejemplo, en un transmisor/receptor capaz del modo de 32k, cuando se funciona en un modo con menos portadoras (esto es, 16k, 8k, 4k o 1k), entonces en lugar de emplear procesos de intercalado de símbolos impares y pares por separado, utilizaría dos intercaladores impares.
Una ilustración de una adaptación del intercalador de símbolos 33, que se representa en la Figura 38, cuando se intercalan símbolos de datos a la entrada en las sub-portadoras de símbolos OFDM, en el modo de intercalado impar, solamente se ilustra en la Figura 44. El intercalador de símbolos 33.1 corresponde exactamente al intercalador de símbolos 33 según se ilustra en la Figura 38, con la excepción de que el generador de direcciones 102.1 está adaptado para realizar solamente procesos de intercalado impar. Para la forma de realización, a modo de ejemplo, ilustrada en la
Figura 44, el intercalador de símbolos 33.1 está funcionando en un modo en donde el número de símbolos de datos, que pueden transmitirse por el símbolo OFDM, es menor que la mitad del número máximo que puede transmitirse por un símbolo OFDM en un modo operativo con el mayor número de sub-portadoras por símbolo OFDM. En consecuencia, el intercalador de símbolos 33.1 se ha dispuesto para la partición de la memoria de intercalador 100. Para la presente 5 ilustración, representada en la Figura 44, la memoria de intercalador 100 se divide, entonces, en dos partes, 601, 602. A modo de ilustración del intercalador de símbolos 33.1, que funciona en un modo en el que los símbolos de datos son puestos en correspondencia con los símbolos OFDM que utilizan el proceso de intercalado impar, la Figura 44 proporciona una vista ampliada de cada mitad de la memoria de intercalador 601, 602. La vista ampliada proporciona una ilustración del modo de intercalado impar según se representa para el lado del transmisor para cuatro símbolos A, B, C, D reproducidos a partir de la Figura 39. En consecuencia, según se ilustra en la Figura 44, para conjuntos sucesivos de primeros y segundos símbolos de datos, los símbolos de datos son objeto de escritura en la memoria de intercalador 601, 602 en un orden secuencial y objeto de lectura en función de las direcciones generadas por el generador de direcciones 102 en un orden permutado, en función de las direcciones generadas por el generador de direcciones según se explicó anteriormente. De este modo, según se ilustra en la Figura 44, puesto que se está realizando un proceso de
15 intercalado impar para conjuntos sucesivos de primeros y segundos conjuntos de símbolos de datos, la memoria del intercalador debe ser objetivo de partición en dos partes. Los símbolos desde un primer conjunto de símbolos de datos son objeto de escritura en una primera mitad de la memoria de intercalador 601 y los símbolos desde un segundo conjunto de símbolos de datos son objeto de escritura una segunda parte de la memoria de intercalador 602, porque el intercalador de símbolos ya no es capaz de reutilizar las mismas partes de la memoria de intercalador de símbolos que las que se pueden admitir cuando se funciona en un modo de intercalado impar y par.
Una forma de realización, a modo de ejemplo, correspondiente del intercalador en el receptor, que se representa en la Figura 42, pero adaptada para funcionar con un proceso de intercalado impar solamente, se ilustra en la Figura 45. Según se representa en la Figura 45, la memoria de intercalador 540 se divide en dos mitades 710, 712 y el generador 25 de direcciones 542 está adaptado para escritura de símbolos de datos en la memoria de intercalador y para leer símbolos de datos desde la memoria de intercalador en las respectivas partes de la memoria 710, 712, para conjuntos sucesivos de símbolos de datos para poner en práctica solamente un proceso de intercalado impar. Por lo tanto, en correspondencia con la representación ilustrada en la Figura 44, la Figura 45 ilustra el mapeado de puesta en correspondencia del proceso de intercalado, que se realiza en el receptor y se ilustra en la Figura 39 como una vista ampliada que se utiliza para las primera y segunda mitades de la memoria de intercalador 710, 712. Por lo tanto, un primer conjunto de símbolos de datos son objeto de escritura en una primera parte de la memoria de intercalador 710 en un orden permutado definido en función de las direcciones generadas por el generador de direcciones 542, según se ilustra por el orden de escritura de los símbolos de datos que proporcionan una secuencia de escritura de 1, 3, 0, 2. Según se ilustra, los símbolos de datos son objeto de posterior lectura desde la primera parte de la memoria de
35 intercalador 710 en un orden secuencial, con lo que se recupera la secuencia original A, B, C, D.
En correspondencia, un segundo conjunto de símbolos de datos subsiguiente, que se recuperan a partir de un símbolo OFDM sucesivo, son objeto de escritura en la segunda mitad en la memoria de intercalador 712 en función de las direcciones generadas por el generador de direcciones 542 en un orden permutado y son objeto de lectura en el flujo de datos de salida en un orden secuencial.
En una forma de realización, a modo de ejemplo, las direcciones generadas para un primer conjunto de símbolos de datos para la escritura en la primera mitad de la memoria de intercalador 710 se pueden reutilizar para la escritura de un segundo conjunto posterior de símbolos de datos en la memoria de intercalador 712. En correspondencia, el transmisor
45 puede reutilizar también direcciones generadas para una mitad del intercalador para un primer conjunto de símbolos de datos para lectura de un segundo conjunto de símbolos de datos que han sido objeto de escritura en la segunda mitad de la memoria en orden secuencial.
Utilización de una secuencia de permutaciones
En una forma de realización, a modo de ejemplo, el generador de direcciones puede aplicar un código de permutación diferente a partir de un conjunto de códigos de permutación para símbolos OFDM sucesivos. Utilizando una secuencia de permutaciones, en el generador de direcciones del intercalador, se reduce la probabilidad de que cualquier bit de entrada de datos al intercalador no module siempre la misma sub-portadora en el símbolo OFDM. A modo de otro
55 ejemplo, dos generadores de direcciones se podrían utilizar, uno de ellos para generar direcciones para el primer conjunto de símbolos de datos y la primera mitad de la memoria y el otro para generar una secuencia diferente de direcciones para el segundo conjunto de símbolos de datos y la segunda mitad de la memoria. Los dos generadores de direcciones podrían diferir en su elección de código de permutación desde la tabla de permutaciones adecuadas anteriores, a modo de ejemplo.
A modo de otro ejemplo, se podría utilizar una secuencia cíclica, de modo que un código de permutación diferente, en un conjunto de códigos de permutación, en una secuencia, se utilice para símbolos OFDM sucesivos y luego, se repita el proceso. Esta secuencia cíclica podría ser, a modo de ejemplo, de una longitud de dos o cuatro. Para las formas de realización, a modo de ejemplo, del intercalador de símbolos de 16k, una secuencia de dos códigos de permutación que
65 sean objeto de ciclo a través de un símbolo OFDM podría ser, a modo de ejemplo:
8 4 3 2 0 11 1 5 12 10 6 7 9 7 9 5 3 11 1 4 0 2 12 10 8 6
mientras que una secuencia de cuatro códigos de permutación podría ser:
5 8 4 3 2 0 11 1 5 12 10 6 7 9 7 9 5 3 11 1 4 0 2 12 10 8 6 6 11 7 5 2 3 0 1 10 8 12 9 4 5 12 9 0 3 10 2 4 6 7 8 11 1
10 La conmutación de un código de permutación a otro podría efectuarse en respuesta a un cambio en la señal impar/par indicada en el canal de control 108. En respuesta, la unidad de control 224, cambia el código de permutación en el circuito de código de permutación 210 por intermedio de la línea de control 111.
15 Para la realización, a modo de ejemplo, de un intercalador de símbolos de 1k, dos códigos de permutación podrían ser:
4 3 2 1 0 5 6 7 8 3 2 5 0 1 4 7 8 6
20 mientras que cuatro códigos de permutación podrían ser:
4 3 21 0 5 6 7 8 3 2 5 0 1 4 7 8 6 7 5 3 8 2 6 1 4 0
25 1 6 8 2 5 3 4 0 7
Otras combinaciones de secuencias pueden ser posibles para modos de portadoras de 2k, 4k y 8k o en realidad, un modo de portadora de 0.5k. A modo de ejemplo, los siguientes códigos de permutación para cada uno de los modos de 0.5k, 2k, 4k y 8k proporcionan una de-correlación adecuada de símbolos y se pueden utilizar, de forma cíclica, para
30 generar la compensación para la dirección generada por un generador de direcciones para cada uno de los modos respectivos:
Modo de 2k:
35 0 7 5 1 8 2 6 9 3 4 * 4 8 3 2 9 0 1 5 6 7 8 3 9 0 2 1 5 7 4 6 7 0 4 8 3 6 9 1 5 2
40 Modo de 4k:
7 10 5 8 1 2 4 9 0 3 6 ** 6 2 7 10 8 0 3 4 1 9 5 9 5 4 2 3 10 1 0 6 8 7
45 1 4 10 3 9 7 2 6 5 0 8
Modo de 8k:
5 11 3 0 10 8 6 9 2 4 1 7 *
50 10 8 5 4 2 9 1 0 6 7 3 11 11 6 9 8 4 7 2 1 0 10 5 3 8 3 11 7 9 1 5 6 4 0 2 10
Para los códigos de permutación indicados anteriormente, los dos primeros podrían utilizarse en un ciclo de dos
55 secuencias, mientras que los cuatro podrían usarse para un ciclo de cuatro secuencias. Además, algunas secuencias adicionales de cuatro códigos de permutación, que son objeto de ciclo operativo para proporcionar la compensación en un generador de direcciones para obtener una de-correlación adecuada en los símbolos intercalados (algunos son comunes a los anteriores) se proporcionan a continuación:
60 Modo de 0.5k:
3 7 4 6 1 2 0 5 4 2 5 7 3 0 1 6 5 3 6 0 4 1 2 7
65 6 1 0 5 2 7 4 3
Modo de 2k:
0 7 5 1 8 2 6 9 3 4 * 3 2 7 0 1 5 8 4 9 6 4 8 3 2 9 0 1 5 6 7 7 3 9 5 2 1 0 6 4 8
Modo de 4k:
7 10 5 8 1 2 4 9 0 3 6 ** 6 2 7 10 8 0 3 4 1 9 5 10 3 4 1 2 7 0 6 8 5 9 0 8 9 5 10 4 6 3 2 1 7
Modo de 8k:
5 11 3 0 10 8 6 9 2 4 1 7 * 8 10 7 6 0 5 2 1 3 9 4 11 11 3 6 9 2 7 4 10 5 1 0 8 10 8 1 7 5 6 0 11 4 2 9 3
* éstas son las permutaciones en la norma de DVB-T
** éstas son las permutaciones en la norma de DVB-H.
Formas de realización, a modo de ejemplo, de generadores de direcciones y de los intercaladores correspondientes, para los modos de 2k, 4k y 8k se dan a conocer en la solicitud de patente europea número 04251667.4. Un generador de direcciones para el modo de 0.5k se da a conocer en nuestra solicitud de patente en el Reino Unido co-pendiente número 0722553.5.
Otros diversos aspectos en las características de la presente invención se definen en las reivindicaciones independientes. Varias modificaciones se pueden realizar a las formas de realización anteriormente descritas sin desviarse por ello del alcance de protección de la presente invención. En particular, la representación, a modo de ejemplo, del polinomio generador y el orden de permutación, que se han utilizado para representar aspectos de la idea inventiva no están previstos para ser limitadores y se extienden a formas equivalentes del polinomio generador y del orden de permutación.
Según se apreciará, el transmisor y el receptor ilustrados en la Figuras 1 y 7, respectivamente, se proporcionan a modo de ilustración solamente y no están previstos para ser limitadores en modo alguno. A modo de ejemplo, se apreciará que la posición del intercalador de símbolos y del de-intercalador con respecto, a modo de ejemplo, al intercalador de bits y al mapeador y de-mapeador se puede cambiar. Como se apreciará, el efecto del intercalador y del de-intercalador no se puede cambiar, por su posición relativa, aunque el intercalador puede intercalar símbolos de IQ en lugar de vectores de v-bits. Un cambio correspondiente se puede realizar en el receptor. En consecuencia, el intercalador y el de-intercalador pueden funcionar con diferentes tipos de datos y pueden situarse, en forma distinta, a la posición descrita en las formas de realización a modo de ejemplo.
Según se explicó anteriormente, los códigos de permutación y el polinomio generador del intercalador, que se han descrito con referencia a una puesta en práctica de un modo particular, pueden aplicarse igualmente a otros modos, cambiando la dirección permitida máxima predeterminada, en función del número de portadoras para ese modo operativo.
En conformidad con una puesta en práctica de un receptor, se incluye un aparato de procesamiento de datos utilizable para realizar un mapeado de correspondencia símbolos datos recibidos desde un número predeterminado de señales de sub-portadoras de símbolos Multiplexados por División de Frecuencias Ortogonales OFDM en un flujo continuo de datos de salida.
Según se indicó anteriormente, las formas de realización de la presente invención encuentran aplicación con normas DVB tales como DVB-T, DVB-T2 y DVB-H. A modo de ejemplo, formas de realización de la presente invención se pueden utilizar en un transmisor o un receptor que funcionen en conformidad con la norma DVB-T2, según se especifica en conformidad con la norma EN 302 755 de ETSI, aunque se apreciará que la presente invención no está limitada a la aplicación con la norma DVB y puede extenderse a otras normas para transmisión o recepción, fijas y móviles. En otras formas de realización, a modo de ejemplo, la presente invención encuentra aplicación con la norma de transmisión por cable conocida como DVB-C2.
Además de las formas de realización, a modo de ejemplo, anteriormente descritas y los aspectos y características de la idea inventiva que se definen en las reivindicaciones adjuntas, otras formas de realización pueden dar a conocer un
aparato de procesamiento de datos utilizable para efectuar la puesta en correspondencia de símbolos de entrada a comunicarse en un número predeterminado de señales de sub-portadoras para un símbolo Multiplexado por División de Frecuencias Ortogonales (OFDM). El número predeterminado de señales de sub-portadoras corresponde a un modo de modulación y los símbolos de entrada incluyen símbolos de datos impares y símbolos de datos pares. El aparato de 5 procesamiento de datos comprende un intercalador utilizable para realizar un primer proceso de intercalado, que intercala símbolos de datos de entrada impares en las señales de sub-portadoras y un proceso de intercalado par que intercala símbolos de datos de entrada pares en las señales de sub-portadoras, estando los primeros proceso de intercalado impar y el proceso de intercalado par los que realizan las operaciones de lectura y escritura, respectivamente, de los símbolos de datos para el mapeado de correspondencia en las señales de sub-portadoras OFDM para una 10 memoria de intercalador, siendo la salida de lectura realizada en un orden diferente que la operación de lectura a la entrada, de modo que mientras un símbolo impar es objeto de lectura desde una posición en la memoria, un símbolo par puede ser objeto de escritura en la posición que acaba de leerse desde y cuando un símbolo par es objeto de lectura desde la posición en la memoria, un siguiente símbolo impar puede ser objeto de escritura en la posición de donde acaba de leerse, con el proceso de intercalado impar realizando la lectura a la entrada y la lectura a la salida de los símbolos de 15 datos impares desde la memoria de intercalador en conformidad con un sistema de intercalado impar y el proceso de intercalado par realizando las operaciones de lectura a la entrada y salida de símbolos de datos desde la memoria de intercalador en conformidad con un sistema de intercalado par. Cuando el modo de modulación es un modo que incluye la mitad o menos de la mitad de las señales de sub-portadoras que un número total de sub-portadoras que pueden admitirse por la memoria de intercalador, el aparato de procesamiento de datos es utilizable para asignar una parte de la
20 memoria de intercalador al primero proceso de intercalado impar y asignar una segunda parte de la memoria del intercalador a un segundo proceso de intercalado impar que opera en conformidad con los primeros, el segundo proceso de intercalado impar que intercala los símbolos de entrada pares.
Según otra forma de realización, a modo de ejemplo, un aparato de procesamiento de datos es utilizable para la puesta
25 en correspondencia de símbolos de entrada a comunicarse en un número predeterminado de señales de sub-portadoras de un símbolo Multiplexado por División de Frecuencias Ortogonales (OFDM). El número predeterminado de señales de sub-portadoras corresponde a un modo de modulación y los símbolos de entrada incluyen primeros símbolos de datos para la puesta en correspondencia con un primer símbolo OFDM y segundos símbolos de datos para la puesta en correspondencia con un segundo símbolo OFDM. El aparato de procesamiento de datos comprende un intercalador
30 utilizable para realizar un proceso de intercalado impar que intercala primeros símbolos de datos de entrada en las señales de sub-portadoras y un proceso de intercalado par que intercala segundos símbolos de datos de entrada en las señales de sub-portadoras, realizando el proceso de intercalado impar la escritura de los primeros símbolos de datos de entrada en una memoria de intercalador en conformidad con un orden secuencial de los primeros símbolos de datos de entrada y la lectura, a la salida, de los primeros símbolos de datos desde una memoria de intercalador en las señales de
35 sub-portadoras en conformidad con un orden definido por un código de permutación, la escritura por el proceso de intercalado par de los segundos símbolos de datos de entrada en una memoria de intercalador en conformidad con un orden definido por el código de permutación y la lectura, a la salida, de los segundos símbolos de datos desde la memoria de intercalador en las señales de sub-portadoras en conformidad con un orden secuencial de modo que mientras un primer símbolo de datos de entrada está siendo objeto de lectura desde una posición en la memoria de
40 intercalador, un segundo símbolo puede ser objeto de escritura en la posición desde donde acaba de leerse y cuando un segundo símbolo es objeto de lectura desde la posición en la memoria de intercalador, un siguiente primer símbolo puede ser objeto de escritura en la posición desde donde acaba de leerse. Cuando el modo de modulación es un modo que incluye la mitad o menos de la mitad de un número de señales de sub-portadoras que un número total de subportadoras que pueden admitirse por la memoria de intercalador, el aparato de procesamiento de datos es utilizable para
45 intercalar primeros y segundos símbolos de entrada en conformidad con el proceso de intercalado impar.
Otra forma de realización, a modo de ejemplo, puede dar a conocer un método de puesta en correspondencia de los símbolos de entrada a comunicarse en un número predeterminado de señales de sub-portadoras de un símbolo Multiplexado por División de Frecuencias Ortogonales (OFDM). El método comprende la puesta en correspondencia de
50 los primeros símbolos de datos con un primer símbolo OFDM y la puesta en correspondencia de los segundos símbolos de datos en un segundo símbolo OFDM.

Claims (15)

  1. REIVINDICACIONES
    1. Un receptor dispuesto en operación para la recuperación de bits de datos a partir de símbolos de datos recibidos a partir de un número predeterminado de señales sub-portadoras de símbolos Multiplexados por División de Frecuencias Ortogonales (OFDM) y para formar un flujo de bits de salida, siendo el número predeterminado de señales subportadoras de los símbolos OFDM que se determina en función de uno entre una pluralidad de modos de funcionamiento, comprendiendo dicho receptor:
    un desintercalador de símbolos (514) dispuesto en operación para la recuperación de primeros conjuntos de símbolos de datos a partir de primeros símbolos OFDM en función de un proceso de intercalado impar y de segundos conjuntos de símbolos de datos a partir de segundos símbolos OFDM en función de un proceso de intercalado par y para formar un flujo de símbolos de salida a partir de los primeros y segundos conjuntos de símbolos de datos,
    una unidad demapeadora (52) dispuesta en operación para generar, a partir de los símbolos de datos del flujo de símbolos de salida, los bits de datos codificados del Control de Paridad de Baja Densidad (LDPC), con paridad intercalada, convirtiendo cada uno de los símbolos de datos del flujo de símbolos de salida que representa un símbolo de modulación de las señales sub-portadoras de OFDM en bits de datos en función de un sistema de modulación,
    un permutador inverso (53, 55) adaptado para realizar un proceso de permutación inversa para efectuar una inversión de un proceso de permutación aplicado a los bits de datos de LDPC, de paridad intercalada, codificados, para permutar los bits de datos de LDPC codificados, de modo que una pluralidad de los bits de datos de LDPC codificados que corresponda a un valor de 1 en una fila arbitraria de una matriz de información correspondiente a bits de información de un código de LDPC, que se utilizó para codificar los bits de datos, no se incorpore en el mismo símbolo y
    un decodificador de LDPC (56) adaptado para realizar una decodificación de LDPC sobre los bits de datos de LDPC codificados, en donde el proceso de permutación inversa se haya realizado para formar los bits de datos de salida, en donde el proceso de intercalado impar incluye:
    la escritura de los primeros conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de los primeros símbolos OFDM en una memoria del intercalador de símbolos en función de un orden definido por un código de permutación y
    la lectura de los primeros conjuntos de símbolos de datos a partir de la memoria del intercalador de símbolos (100) en función de un orden secuencial en el flujo de datos de salida y
    el proceso de intercalado par incluye
    la escritura de los segundos conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de los segundos símbolos OFDM en la memoria del intercalador de símbolos (540) en función de un orden secuencial y
    la lectura los segundos conjuntos de símbolos de datos a partir de la memoria del intercalador de símbolos (540) en función de un orden definido por el código de permutación en el flujo de datos de salida, de tal modo que mientras los símbolos de datos desde el primer conjunto esté siendo objeto de lectura a partir de posiciones en la memoria del intercalador de símbolos (540), los símbolos de datos a partir del segundo conjunto puedan ser objeto de escritura en las posiciones desde donde acaban de leerse y cuando los símbolos de datos desde el segundo conjunto estén siendo leídos a partir de las posiciones en la memoria del intercalador de símbolos (540), los símbolos de datos a partir de un primer conjunto siguiente puedan ser objeto de escritura en las posiciones desde las que acaban de leerse, en donde
    cuando en una de la pluralidad de modos de funcionamiento en donde el número de sub-portadoras por símbolo de OFDM proporcione la mitad, o menos de la mitad, de un número máximo de sub-portadoras en los símbolos OFDM de cualquiera de los modos de funcionamiento, el aparato de procesamiento de datos sea utilizable para el desintercalado de los símbolos de datos en función de solamente el proceso de intercalado impar.
  2. 2. Un receptor según la reivindicación 1, en donde el proceso de permutación inversa realizado por el permutador inverso (53, 55) sobre los datos de LDPC codificados tiene un efecto de inversión de una permutación de los bits de datos codificados, que se realizó por un permutador correspondiente en un transmisor, con el permutador correspondiente habiendo realizado el intercalado de paridad en los bits de datos de LDPC codificados, que se obtuvieron realizando la codificación de LDPC en función de una matriz de control de paridad de un código de LDPC, incluyendo la matriz de control de paridad una matriz de paridad correspondiente a los bits de paridad del código de LDPC, presentando la matriz de paridad una estructura escalonada, de modo que un bit de paridad de los bits de datos de LDPC codificados se intercale para una posición de bit de paridad diferente y realizando luego un proceso de permutación sobre los bits de datos codificados de LDPC para permutar los bits de código de los bits de datos codificados de LDPC, de modo que una pluralidad de los bits de datos codificados de LDPC del código de LDPC que corresponda a un valor de 1 en una fila arbitraria de una matriz de información, correspondiente a los bits de información de los bits codificados de LDPC, no se incorpore en el mismo símbolo y en donde el decodificador de LDPC (56) realice la decodificación de LDPC del código de LDPC, en donde se haya realizado el proceso de permutación inversa y no se haya realizado el desintercalado de paridad correspondiente al intercalado de paridad, utilizando una matriz de control de paridad convertida obtenida efectuando al menos una permutación de columnas correspondiente al intercalado de paridad en la matriz de control de paridad.
    5 3. Un receptor según la reivindicación 1 o 2, en donde el desintercalador de símbolos (514) incluye un controlador, un generador de direcciones (102) y la memoria del intercalador de símbolos (540), siendo el controlador (544, 546) utilizable para controlar el generador de direcciones (102) para generar direcciones, durante el proceso de intercalado impar para realizar la escritura de los primeros y segundos conjuntos de símbolos de datos a partir de las señales subportadoras de los primeros y segundos símbolos OFDM en la memoria del intercalador de símbolos, en función de un orden definido por el código de permutación, antes de la lectura de los segundos conjuntos de símbolos de datos, desde la memoria del intercalador de símbolos, en función del orden secuencial en el flujo de datos de salida.
  3. 4. Un receptor según la reivindicación 3, en donde el generador de direcciones comprende:
    15 un registro de desplazamiento de realimentación lineal (200) que comprende un número predeterminado de etapas de registro y siendo utilizable para generar una secuencia de bits pseudo-aleatoria en conformidad con un polinomio generador,
    un circuito de permutación (210) utilizable para recibir el contenido de las etapas del registro de desplazamiento y permutar los bits presentes en las etapas del registro, en conformidad con el código de permutación con el fin de formar las direcciones de una de las portadoras de OFDM y
    una unidad de control (224) utilizable, en combinación con un circuito de control de dirección (216), para regenerar una dirección cuando una dirección generada supera una dirección válida máxima predeterminada, estando la dirección
    25 válida máxima predeterminada definida en conformidad con el modo de funcionamiento.
  4. 5.
    Un receptor según cualquiera de las reivindicaciones precedentes, en donde una capacidad mínima de la memoria del intercalador de símbolos (540) puede proporcionarse en función del número máximo de símbolos de datos que se pueden transmitir en las sub-portadoras de los símbolos OFDM que estén disponibles para transmitir los símbolos de datos en cualquiera de los modos de funcionamiento.
  5. 6.
    Un receptor según la reivindicación 5, en donde cuando se utiliza en el modo de funcionamiento que proporciona el número máximo de sub-portadoras por símbolo de OFDM , el desintercalador es utilizable para usar la memoria del intercalador de símbolos disponible (540) en función del proceso de intercalado impar y de los procesos de intercalado
    35 par al efecto de la lectura de símbolos de datos desde las posiciones en la memoria del intercalador de símbolos (540) y la escritura de los símbolos de datos desde las posiciones de donde acaban de leerse y cuando se opera en cualquier otro modo en el que el número de sub-portadoras es una mitad, o menos de una mitad, del número de sub-portadoras para transmitir los símbolos de datos por símbolo OFDM , siendo el desintercalador de símbolos (514) utilizable en el proceso de intercalado impar para leer los primeros conjuntos de símbolos de datos a partir de las primeras posiciones en la memoria del intercalador de símbolos (540) y para la escritura de los segundos conjuntos de símbolos de datos en la memoria del intercalador de símbolos (540) en las segundas posiciones, siendo las segundas posiciones diferentes con respecto a las primeras posiciones.
  6. 7. Un receptor según la reivindicación 6, en donde el modo de funcionamiento que proporciona el número máximo de
    45 sub-portadoras por símbolo OFDM es un modo de 32K y los otros modos incluyen uno o más de los modos de 2K, 4K, 8K y 16K.
  7. 8.
    Un receptor según una cualquiera de las reivindicaciones 3 a 7, en donde el aparato de procesamiento de datos es utilizable para cambiar el código de permutación que se utiliza para formar las direcciones de un símbolo OFDM a otro.
  8. 9.
    Un receptor según la reivindicación 8, en donde los bits de datos se reciben a partir de los símbolos OFDM en función de una norma de Difusión de Video Digital, tal como la norma de Difusión de Vídeo Digital-Terrestre, la norma de Difusión de Vídeo Digital-Portátil, la norma de Difusión de Vídeo Digital-Terrestre 2 o la norma de Difusión de Vídeo Digital por Cable 2.
  9. 10. Un método de recepción de bits de datos a partir de símbolos de datos recibidos desde un número predeterminado de señales sub-portadoras de símbolos Multiplexados por División de Frecuencias Ortogonales (OFDM) para formar un flujo de bits de salida, siendo el número predeterminado de señales sub-portadoras de los símbolos OFDM determinado en función de uno de entre una pluralidad de modos de funcionamiento, comprendiendo dicho método:
    la recuperación de los primeros conjuntos de símbolos de datos a partir de primeros símbolos OFDM en función de un proceso de intercalado impar y segundos conjuntos de símbolos de datos a partir de segundos símbolos OFDM en función de un proceso de intercalado par,
    65 la formación de un flujo de símbolos de salida a partir de los primeros y segundos conjuntos de símbolos de datos, la generación, a partir de los símbolos de datos del flujo de símbolos de salida, de bits de datos codificados del Control de Paridad de Baja Densidad (LDPC), con paridad intercalada, convirtiendo cada símbolo de datos representado por un símbolo de modulación de las señales sub-portadoras de OFDM en bits de datos codificados intercalados en conformidad con un sistema de modulación,
    5 la realización de un proceso de permutación inversa para efectuar una inversión de un proceso de permutación aplicado a los bits de datos de LDPC, con paridad intercalada, codificados para permutar los bits de datos codificados de LDPC, de modo que una pluralidad de los bits de datos codificados de LDPC que corresponda a un valor de 1 en un fila arbitraria de una matriz de información, correspondiente a los bits de información del código de LDPC, no se incorpore en el mismo símbolo y
    la realización de una decodificación de LDPC sobre los bits de datos de LDPC codificados, en donde se haya realizado el proceso de permutación inversa para formar los bits de datos de salida, en donde el proceso de intercalado impar incluye
    15 la escritura de los primeros conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de los primeros símbolos OFDM en una memoria del intercalador de símbolos (540) en función de un orden definido por un código de permutación y
    la lectura de los primeros conjuntos de símbolos de datos desde la memoria del intercalador de símbolos (540), en función de un orden secuencial en el flujo de datos de salida y
    el proceso de intercalado par incluye:
    la escritura de los segundos conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de los 25 segundos símbolos OFDM en la memoria del intercalador de símbolos (540) en función de un orden secuencial y
    la lectura de los segundos conjuntos de símbolos de datos a partir de la memoria del intercalador de símbolos (540) en función de un orden definido por el código de permutación en el flujo de datos de salida, de tal modo que mientras los símbolos de datos desde el primer conjunto esté siendo objeto de lectura a partir de posiciones en la memoria del intercalador de símbolos (540), los símbolos de datos a partir del segundo conjunto puedan ser objeto de escritura en las posiciones desde donde acaban de leerse y cuando los símbolos de datos desde el segundo conjunto estén siendo leídos a partir de las posiciones en la memoria del intercalador de símbolos (540), los símbolos de datos a partir de un primer conjunto siguiente puedan ser objeto de escritura en las posiciones desde las que acaban de leerse, en donde
    35 cuando en una de la pluralidad de modos de funcionamiento en donde el número de sub-portadoras por símbolo de OFDM proporcione la mitad, o menos de la mitad, de un número máximo de sub-portadoras en los símbolos OFDM de cualquiera de los modos de funcionamiento, el intercalado comprende el intercalado de los símbolos de datos en función de solamente el proceso de intercalado impar.
  10. 11. Un método según la reivindicación 10, en donde la realización del proceso de permutación inversa sobre los datos de LDPC intercalados codificados tiene un efecto de inversión de una permutación de los bits codificados de LDPC, de paridad intercalada, que se obtuvieron realizando la codificación de LDPC en función de una matriz de control de paridad del código de LDPC, incluyendo la matriz de control de paridad a una matriz de paridad correspondiente a los bits de paridad de un código de LDPC, presentando la matriz de paridad una estructura escalonada, de modo que un bit de
    45 paridad del código de LDPC se intercale para una posición de bit de paridad diferente y realizando luego un proceso de permutación sobre los bits de datos codificados de LDPC para permutar los bits de código de los bits de datos codificados de LDPC, de modo que una pluralidad de los bits de código de los bits de datos codificados de LDPC que correspondan a un valor de 1, en una fila arbitraria de una matriz de información correspondiente a los bits de información del código LDPC, no se incorpore en el mismo símbolo y en donde la decodificación de LDPC de los bits de LDPC codificados y en donde se haya realizado el proceso de permutación inversa y no se haya realizado el desintercalado de paridad correspondiente al intercalado de paridad, incluye la utilización de una matriz de control de paridad convertida obtenida efectuando al menos una permutación de columnas correspondiente al intercalado de paridad en la matriz de control de paridad.
    55 12. Un método según la reivindicación 10 u 11, en donde el intercalado impar incluye:
    la generación de direcciones utilizando un generador de direcciones (542) basado en el código de permutación para la lectura de los primeros y segundos conjuntos de símbolos de datos recuperados a partir de las señales sub-portadoras de los primeros y segundos símbolos OFDM en la memoria del intercalador de símbolos (540), antes de la lectura de los símbolos de datos en el flujo de símbolo de salida en función de un orden secuencial.
  11. 13. Un método según la reivindicación 12, en donde la generación de las direcciones utilizando el generador de direcciones (542) comprende:
    65 la generación de una secuencia bits pseudo-aleatoria utilizando un registro de desplazamiento de realimentación lineal
    (200) que comprende un número predeterminado de etapas del registro y un polinomio generador, la permutación de los bits presentes en las etapas del registro, en conformidad con el código de permutación, con el fin de formar las direcciones de una de las sub-portadoras de OFDM y
    5 la regeneración de una dirección cuando una dirección generada sobrepasa una dirección válida máxima predeterminada, estando definida la dirección válida máxima predeterminada en conformidad con el modo de funcionamiento.
  12. 14. Un método según cualquiera de las reivindicaciones 10 a 13, en donde una capacidad mínima de la memoria del
    10 intercalador de símbolos (540) puede proporcionarse en función del número máximo de símbolos de datos que se puedan transmitir en las sub-portadoras de los símbolos OFDM que estén disponibles para transmitir los símbolos de datos en cualquiera de los modos de funcionamiento.
  13. 15. Un método según la reivindicación 14, en donde el desintercalado incluye:
    15 cuando se opera en el modo de funcionamiento que proporciona el número máximo de sub-portadoras por símbolo OFDM , el uso de la memoria del intercalador de símbolos disponible (540) en función del proceso de intercalado impar y del proceso de intercalado par al efecto de la lectura de símbolos de datos desde las posiciones en la memoria del intercalador de símbolos (540) y la escritura de símbolos de datos en la memoria del intercalador de símbolos (540)
    20 desde las posiciones de donde acaban de leerse y
    cuando se opera en cualquier otro modo en el que el número de sub-portadoras es una mitad, o menos de una mitad, del número de sub-portadoras para transmitir los símbolos de datos por símbolo OFDM , el desintercalado según el proceso de intercalado impar para leer los primeros conjuntos de símbolos de datos a partir de las primeras posiciones en la
    25 memoria del intercalador y para la escritura de los segundos conjuntos de símbolos de datos en la memoria del intercalador en segundas posiciones, siendo las segundas posiciones diferentes con respecto a las primeras posiciones.
  14. 16. Un método según la reivindicación 15, en donde el modo de funcionamiento que proporciona el número máximo de
    sub-portadoras por símbolo OFDM es un modo de 32K y los otros modos incluyen uno o más de los modos de 2K, 4K, 30 8Ky 16K.
  15. 17. Un método según una cualquiera de las reivindicaciones 10 a 16, que comprende la modificación del código de permutación para formar las direcciones desde un símbolo OFDM a otro.
    35 18. Un método según cualquiera de las reivindicaciones 10 a 17, el método comprendiendo recibir los símbolos OFDM, en conformidad con una norma de Difusión de Vídeo Digital tal como la norma de Difusión de Vídeo Digital Terrestre, la norma de Difusión de Vídeo Digital Portátil, la norma de Difusión de Vídeo Digital Terrestre 2 o la norma de Difusión de Vídeo Digital por Cable 2.
    Codificador vídeoAdaptacióndispersión
    Codificador audio
    energía
    Codificador datos
    Codificación fuente y multiplexión Adaptacióndispersiónenergía
    CodificadorBCH LDPC
    CodificadorBCH LDPC
    Constructortramas
    Intercaladorde bits
    Intercaladorde bits
    Intercaladorsímbolos
    Bit paramapeadorconstelación
    Bit paramapeadorconstelación
    ConstructorsímbolosOFDM
    Pilotos +señalizaciónincorporada
    Intercaladortiempos
    Intercaladortiempos
    Extremo frontal Modulador
    Inserción
    OFDM
    intervaloguarda
    NODO CONTROL
    NODO VARIABLE
    DATOSOBJETIVO
    A CONSTRUCTORTRAMAS
    MATRIZ CONTROL PARIDAD
    MATRIZ PARIDAD HT
    A MATRIZ CONTROL PARIDAD
    B
    EL NÚMERO DECOLUMNAS DE CADAPESO DE PONDERACIÓNDE COLUMNA
    SÍMBOLO
    LÍMITE BITS LÍMITES BITS
    LÍMITE BITS LÍMITES BITS
    BIT FUERTE = SUCEPTIBLE A ERRORES BIT DÉBIL = RESISTENTE A ERRORES
    LÍMITE BITS
    LÍMITES BITS
    MEMORIA 31 MEMORIA 31
    ESCRITURA LECTURA
    DIRECCIÓNCOLUMNASB PRIMER MÉTODO REORDENAMIENTO
    COLUMNA
    C SEGUNDO MÉTODO REORDENAMIENTOBIT FUERTE BIT DÉBIL
    DIRECCIÓN DE LAS FILAS
    UNIDAD REORDENAMIENTO
    EJEMPLO DE 64 QAM
    DEMULTIPLEXOR 25
    TERCER MÉTODO REORDENAMIENTO
    Nodo variable
    NODO VARIABLE
    NODO CONTROL
    LAS PRÓXIMAS 15 SON360 COLUMNASSEPARADAS
    SE APLICA TAMBIÉN EN ESTE EJEMPLO
    LOS BITS DE PARIDAD SE HACEN RESISTENTES A ERRORES DE RÁFAGAS SOLAMENTE CON ESTA DISPOSICIÓN OPERATIVA
    16QAM, r=3/4 (DESPUÉS DE INTERCALADO PARIDAD)
    MATRIZ CONTROLPARIDAD
    CUANDO SE BORRA UN SÍMBOLO QAM, 4 BITS SE BORRAN COLECTIVAMENTE
    COLUMNA
    CUANDO SE BORRA UN SÍMBOLOMEMORIA 31
    QAM, 4 BITS SE BORRAN COLECTIVAMENTE
    ESTE INTERCALADO ES INCONVENIENTE EN CANALES CON BORRADOS OPERATIVOS
    MEMORIA 31
    COLUMNA
    LOS BITS DE CÓDIGO PERTENECIENTES AL MISMO NODO DE CONTROL NO SON INCORPORADOS EN EL MISMO SÍMBOLO QAM PARA TODOS LOS 11 CÓDIGOS DE 64K
    POSICIONES INICIO ESCRITURA RESPECTIVAS DE mb COLUMNAS
    EL NÚMERO DEPRIMER A TERCER CUARTO MÉTODOCOLUMNASMÉTODOS DEREORDENAMIENTO REQUERIDA DEREORDENAMIENTO MEMORIA “mb)
    POSICIONES INICIO ESCRITURA RESPECTIVAS DE mb COLUMNAS
    EL NÚMERO DEPRIMER A TERCER CUARTO MÉTODOCOLUMNASMÉTODOS DEREORDENAMIENTO REQUERIDA DEREORDENAMIENTO MEMORIA “mb)
    PROCEDIMIENTO TRANSMISIÓN
    CODIFICACIÓN LDPC
    INTERCALADOR DE BITS (INTERCALADO DE PARIDAD, INTERCALADO DE COLUMNAS CON TORSIÓN, PROCESO REORDENAMIENTO)
    MAPEADO
    MODULACIÓN
    TRANSMISIÓN
    FIN
    MÓDELO DE FLUTTER REDUCIDO EQUIVALENTE
    Frecuencia Doppler
    Tiempo SE REALIZARON SIMULACIONES USANDO UN MODELOCORRESPONDIENTE A UNA PORTADORA EXTRAÍDA EN EL LADO DE RECEPCIÓN DESPUÉS DE QUE SE REALICE FFT EN UN SÍMBOLOOFDM QUE FUE TRANSMITIDO A TRAVÉS DE ESTE CANAL
    número símbolo m: Ts: longitud símbolo (seg.) Tu: longitud símbolo efectiva (seg.) Nu: número de portadoras OFDM
    POTENCIA DE APROXIMADA POR AWGN
    Intercalado bits usual Intercalado bits columnas torsión y paridad
    NINGÚN INTERCALADO PARA CANALES 1 borrado/5,5 portadora 1 borrado/5,0 portadora
    Tasa errores bits
    Intercalado bits usual Intercalado bits columnas torsión y paridad
    NINGÚN INTERCALADO PARA CANALES 1 borrado/14 portadora 1 borrado/12,4 portadora
    Tasa errores bits
    Desde antena Elimina-EstimaciónSintoni-Demapeador
    cióncanal yzador
    guarda corrección
    Extracciónseñalincorporada
    DecodificadorDe-intercaladorDemultiplexorUnidadDe-intercalador LDPC columnas torsión (DEMUX) demapeadora símbolos
    MEMORIA DATOS RECIBIDOS
    UNIDADLLR
    A TRAVÉS DE RUTA COMUNICACIÓN
    PERMUTA-RECEP-UNIDAD CÁLCULOCIÓN DATOSCIÓN PALABRASRECIBIDOS DECODIFICADAS
    SI CADA FIFO ESTÁ VACIO, ENTONCES PROSEGUIR AL SIGUIENTE
    MEMORIA ALMACENAMIENTODATOS BORDES UNIDADPERMUTACIÓN
    SI CADA FIFO ESTÁ VACIO,DATOS
    DATOS
    ENTONCES PROSEGUIR ALDECODIFICADOS
    DECODIFICADOS
    SIGUIENTE FINALES MEMORIA ALMACENAMIENTODATOS BORDES
    DATOS
    DATOS MATRIZ
    MATRIZ
    CIRCUITO
    CIRCUITO
    DESPLAZ.
    DESPLAZ.
    CÍCLICO
    CÍCLICO
    UNIDAD CÁLCULONODO VARIABLE UNIDAD CÁLCULONODO CONTROL
    DISCO DURO
    INTERFACE I/O
    MEDIO
    UNIDADUNIDAD DE
    UNIDAD DEUNIDAD DE
    ALMACENAMIENTO
    COMUNICA-DISCO
    SALIDA ENTRADA
    EXTRAIBLE
    CIÓN
    ORDENADOR
    Símbolos pares Símbolos impares
    Secuencia Secuencia direcciones direcciones escritura:escritura:
    0,1,2,3
    Dirección RAM:
    Dirección RAM: Secuencia
    Secuencia direcciones
    direcciones lectura:
    lectura:0,1,2,3Intercalador en transmisor
    Secuencia transmitida Secuencia transmitida
    Secuencia Secuencia
    direcciones direcciones
    escritura:escritura:
    0,1,2,31,3,0,2Dirección RAM:
    Dirección RAM:Secuencia direcciones
    Secuencia lectura:
    direcciones lectura:0,1,2,3
    De-Intercalador en receptor
    Número de portadoras
    Símbolos pares Símbolos impares
    Secuencia Secuencia
    direcciones direcciones
    escritura:escritura:
    0,1,2,3
    0,1,2,3 Dirección RAM: Secuencia
    Dirección RAM: direcciones Secuencia lectura: direcciones lectura:
    Intercalador en transmisor Intercalador en transmisor
    Secuencia transmitida
    Secuencia transmitida
    Memoriaintercalador
    Dirección escritura
    Dirección lectura
    Impar/par Generadordirecciones
    Secuencia transmitida
    Secuencia direcciones escritura:0,1,2,3
    Dirección RAM:
    Secuencia direcciones lectura: 1,3,0,2
    Símbolospares/impares
    Generacióndirecciones
    Modo
    Dirección H(q)
    Secuencia transmitida
    Secuencia direcciones escritura:1,3,0,2
    Dirección RAM:
    Secuencia direccioneslectura:0,1,2,3
    Símbolo entrada: Y’
    RAMintercalador
    Símbolo intercalado: Y
ES08253469T 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos Active ES2416356T3 (es)

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
GB0721270A GB2454194A (en) 2007-10-30 2007-10-30 Address generation polynomial and permutation matrix for DVB-T2 1k OFDM sub-carrier mode interleaver
GB0721269 2007-10-30
GB0721271A GB2454195A (en) 2007-10-30 2007-10-30 Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
GB0721269.9A GB2454193B (en) 2007-10-30 2007-10-30 Data processing apparatus and method
GB0721272 2007-10-30
GB0721271 2007-10-30
GB0721270 2007-10-30
GB0721272.3A GB2454196B (en) 2007-10-30 2007-10-30 Data processsing apparatus and method
GB0722645A GB2455071A (en) 2007-10-30 2007-11-19 Memory efficient data symbol interleaver which adaptively applies odd only, or odd and even interleaving processes, depending on OFDM mode
GB0722645 2007-11-19
GB0722728 2007-11-20
GB0722728A GB2454267A (en) 2007-10-30 2007-11-20 DVB interleaver for odd/even symbol streams splits memory for sub-carrier number up to half maximum/has common memory and immediate location reuse otherwise
JP2007304689 2007-11-26
JP2007304689 2007-11-26
JP2007304690 2007-11-26
JP2007304690 2007-11-26

Publications (1)

Publication Number Publication Date
ES2416356T3 true ES2416356T3 (es) 2013-07-31

Family

ID=40352807

Family Applications (5)

Application Number Title Priority Date Filing Date
ES11183243.2T Active ES2562031T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos
ES08253461T Active ES2399157T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos
ES08253466T Active ES2398851T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos
ES08253469T Active ES2416356T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos
ES08253479T Active ES2407505T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES11183243.2T Active ES2562031T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos
ES08253461T Active ES2399157T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos
ES08253466T Active ES2398851T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES08253479T Active ES2407505T3 (es) 2007-10-30 2008-10-24 Aparato y método de procesamiento de datos

Country Status (9)

Country Link
US (2) US8179955B2 (es)
EP (6) EP2056550B1 (es)
JP (1) JP5048629B2 (es)
KR (2) KR101518510B1 (es)
CN (1) CN103560993B (es)
DK (4) DK2056510T3 (es)
ES (5) ES2562031T3 (es)
PL (5) PL2056550T3 (es)
TW (2) TWI451702B (es)

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2454196B (en) * 2007-10-30 2012-10-10 Sony Corp Data processsing apparatus and method
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
GB2454193B (en) 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
JP4887357B2 (ja) * 2006-03-20 2012-02-29 パナソニック株式会社 無線通信移動局装置およびランダムアクセス方法
CN101689865B (zh) * 2007-07-04 2012-10-24 Nxp股份有限公司 置乱式ldpc解码
GB2454318B (en) 2007-10-30 2012-10-17 Sony Corp Data processing apparatus and method
TWI497920B (zh) * 2007-11-26 2015-08-21 Sony Corp Data processing device and data processing method
JP5273054B2 (ja) * 2007-11-26 2013-08-28 ソニー株式会社 データ処理装置、及びデータ処理方法、並びに、符号化装置、及び符号化方法
TWI427937B (zh) * 2007-11-26 2014-02-21 Sony Corp Data processing device and data processing method
TWI459724B (zh) * 2007-11-26 2014-11-01 Sony Corp Data processing device and data processing method
TWI410055B (zh) * 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
PL2091156T3 (pl) 2008-02-18 2014-01-31 Samsung Electronics Co Ltd Urządzenie i sposób do kodowania i dekodowania kanału w systemie komunikacyjnym z wykorzystaniem kodów kontroli bitów parzystości o niskiej gęstości
TWI387212B (zh) * 2008-02-18 2013-02-21 Samsung Electronics Co Ltd 使用低密度同位檢查碼之通訊系統中用來將通道編碼與解碼的裝置及其方法
KR101623468B1 (ko) * 2008-03-03 2016-05-23 라이 라디오텔레비지오네 이탈리아나 에스.페.아. Ldpc 코딩된 변조 및 qam 성상도들에 대한 비트 치환 패턴들
US8392786B2 (en) * 2008-05-07 2013-03-05 Broadcom Corporation LDPC coding systems for 60 GHz millimeter wave based physical layer extension
GB2460459B (en) * 2008-05-30 2012-07-11 Sony Corp Data processing apparatus and method
ITTO20080472A1 (it) 2008-06-16 2009-12-17 Rai Radiotelevisione Italiana Spa Metodo di elaborazione di segnali digitali e sistema di trasmissione e ricezione che implementa detto metodo
US8276052B1 (en) 2009-01-20 2012-09-25 Marvell International Ltd. Iterative PRBS seed recovery using soft decisions
JP5344228B2 (ja) * 2009-03-26 2013-11-20 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
US8386904B2 (en) * 2009-04-29 2013-02-26 Adeptence, Llc High speed low density parity check codes encoding and decoding
US8352846B2 (en) * 2009-05-07 2013-01-08 Adeptence, Llc Method an apparatus for low density parity check codes encoding and decoding
WO2010142909A1 (fr) * 2009-06-09 2010-12-16 France Telecom Procede et dispositifs d'emission et reception de symboles multi porteuse
EP2282470A1 (en) * 2009-08-07 2011-02-09 Thomson Licensing Data reception using low density parity check coding and constellation mapping
EP2282471A1 (en) * 2009-08-07 2011-02-09 Thomson Licensing Data transmission using low density parity check coding and constellation mapping
ES2367745A1 (es) * 2009-10-07 2011-11-08 Sistemas Integrados De Servicios De Telecontrol S.L. Sistema de clasificación de señales de televisión.
US8223890B1 (en) * 2009-10-30 2012-07-17 The United States Of America As Represented By The Secretary Of The Army Asymptotically optimal modulation classification method for software defined radios
EP2323326A2 (en) 2009-11-06 2011-05-18 Electronics and Telecommunications Research Institute Terminal transmission apparatus for providing multimedia service via satellite communication link and method for providing multimedia service using the same
TWI415396B (zh) * 2009-11-23 2013-11-11 Nat Univ Tsing Hua 適用於根據里德-索羅門碼建立之低密度同位檢查碼的解碼器及解碼方法
TWI425519B (zh) * 2009-12-09 2014-02-01 Nat Chip Implementation Ct Nat Applied Res Lab 低複雜度低密度同位元檢查碼解碼器之記憶體配置方法及其解碼器結構
GB2469393C (en) 2010-04-22 2014-08-06 Cen Jung Tjhai Public encryption system using deliberatily corrupted codewords from an error correcting code
US9362955B2 (en) * 2010-09-10 2016-06-07 Trellis Phase Communications, Lp Encoding and decoding using constrained interleaving
US9240808B2 (en) * 2010-09-10 2016-01-19 Trellis Phase Communications, Lp Methods, apparatus, and systems for coding with constrained interleaving
EP2625813B1 (en) 2010-10-07 2017-05-31 Marvell World Trade Ltd. Tone reordering in a wireless communication system
JP5578617B2 (ja) 2010-10-18 2014-08-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信方法、送信装置、受信方法および受信装置
US8443269B2 (en) * 2010-11-04 2013-05-14 Himax Media Solutions, Inc. System and method for handling forward error correction code blocks in a receiver
GB2473154B (en) * 2010-11-16 2011-06-15 Martin Tomlinson Public key encryption system using error correcting codes
US9203544B2 (en) * 2010-12-03 2015-12-01 Wuhan Research Institute Of Posts And Telecommunications Optical communication system, device and method employing advanced coding and high modulation order
JP5672489B2 (ja) * 2011-02-08 2015-02-18 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5703839B2 (ja) * 2011-02-28 2015-04-22 ソニー株式会社 送信装置、情報処理方法、プログラム、および送信システム
ITTO20110310A1 (it) * 2011-04-05 2012-10-06 Rai Radiotelevisione Italiana Metodo di elaborazione di segnali digitali e relativi sistemi di trasmissione e ricezione
EP2518923A1 (en) * 2011-04-26 2012-10-31 Panasonic Corporation Bit permutation patterns for BICM with LDPC codes of rate 2/5 and QAM constellations
EP2518922A1 (en) * 2011-04-26 2012-10-31 Panasonic Corporation Bit permutation patterns for BICM with LDPC codes of rate 1/3 and QAM constellations
EP2525498A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525497A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525496A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525495A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
GB2491377A (en) * 2011-05-31 2012-12-05 British Broadcasting Corp Method and apparatus for memory access in an interleaver
EP2536030A1 (en) * 2011-06-16 2012-12-19 Panasonic Corporation Bit permutation patterns for BICM with LDPC codes and QAM constellations
EP2552043A1 (en) 2011-07-25 2013-01-30 Panasonic Corporation Spatial multiplexing for bit-interleaved coding and modulation with quasi-cyclic LDPC codes
US8971435B2 (en) 2011-07-25 2015-03-03 Blackberry Limited Multi-user communication using sparse space codes
EP2560311A1 (en) 2011-08-17 2013-02-20 Panasonic Corporation Cyclic-block permutations for spatial multiplexing with quasi-cyclic LDPC codes
US8862960B2 (en) * 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8959365B2 (en) * 2012-07-01 2015-02-17 Speedtrack, Inc. Methods of providing fast search, analysis, and data retrieval of encrypted data without decryption
EP2879297B1 (en) 2012-07-27 2019-03-13 Sun Patent Trust Transmission method, transmitter, reception method, and receiver
US9148676B2 (en) * 2012-12-04 2015-09-29 Sony Corporation Broadcast transition channel
CN103888399A (zh) * 2012-12-20 2014-06-25 中山大学深圳研究院 正交调幅软解映射方法
US9362956B2 (en) * 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
US9077378B2 (en) 2013-01-31 2015-07-07 Lsi Corporation Integrated-interleaved low density parity check (LDPC) codes
MX2015009839A (es) * 2013-02-08 2015-12-01 Sony Corp Dispositivo de procesamiento de datos y metodo de procesamiento de datos.
CN104969478B (zh) * 2013-02-08 2019-05-07 索尼公司 数据处理装置以及数据处理方法
WO2014123016A1 (ja) * 2013-02-08 2014-08-14 ソニー株式会社 データ処理装置、及びデータ処理方法
KR102091889B1 (ko) 2013-02-08 2020-04-14 소니 주식회사 데이터 처리 장치, 및 데이터 처리 방법
WO2014123018A1 (ja) 2013-02-08 2014-08-14 ソニー株式会社 データ処理装置、及びデータ処理方法
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US20140294124A1 (en) 2013-03-28 2014-10-02 Sony Corporation Transmitter and method of transmitting and receiver and method of detecting ofdm signals
EP2993793B1 (en) * 2013-05-02 2021-06-23 Sony Corporation Ldpc coded modulation in combination with 8psk and 16apsk
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
KR102104937B1 (ko) * 2013-06-14 2020-04-27 삼성전자주식회사 Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
WO2014204181A1 (en) 2013-06-19 2014-12-24 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
KR20150005853A (ko) 2013-07-05 2015-01-15 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
KR102002559B1 (ko) * 2013-07-05 2019-07-22 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9400797B2 (en) 2013-09-17 2016-07-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for recovered data stitching
MX2016003228A (es) * 2013-09-20 2016-06-07 Sony Corp Dispositivo de procesamiento de datos y metodo de procesamiento de datos.
US10396822B2 (en) * 2013-09-26 2019-08-27 Samsung Electronics Co., Ltd. Transmitting apparatus and signal processing method thereof
KR102264832B1 (ko) * 2013-09-26 2021-06-14 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9658921B2 (en) * 2013-10-31 2017-05-23 Samsung Display Co., Ltd. Maximal transition hamming codes
JP6509890B2 (ja) * 2013-11-11 2019-05-08 エルジー エレクトロニクス インコーポレイティド 放送信号送信装置、放送信号受信装置、放送信号送信方法及び放送信号受信方法
US9240916B2 (en) 2013-11-13 2016-01-19 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
EP3069517B1 (en) 2013-11-13 2019-01-09 LG Electronics Inc. Broadcast signal transmission method and broadcast signal transmission apparatus with deletion of null packets
US9379928B2 (en) 2013-11-17 2016-06-28 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
GB201320983D0 (en) * 2013-11-28 2014-01-15 Ibm Data encoding in solid-state storage apparatus
KR101781623B1 (ko) 2013-12-06 2017-09-25 엘지전자 주식회사 방송 신호 송수신 장치 및 방법
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9602137B2 (en) * 2014-02-19 2017-03-21 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US10425110B2 (en) 2014-02-19 2019-09-24 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
WO2015124107A1 (zh) * 2014-02-20 2015-08-27 上海数字电视国家工程研究中心有限公司 Ldpc码字的交织映射方法及解交织解映射方法
CN104917587B (zh) * 2014-03-13 2018-08-14 钜泉光电科技(上海)股份有限公司 通信设备中的数据块交织和解交织方法及其装置
KR101776272B1 (ko) 2014-03-19 2017-09-07 삼성전자주식회사 송신 장치 및 그의 인터리빙 방법
CN111200443B (zh) * 2014-03-19 2023-09-12 三星电子株式会社 发送设备及其交织方法
US10432228B2 (en) * 2014-03-27 2019-10-01 Electronics And Telecommunications Research Institute Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 5/15 and 4096-symbol mapping, and bit interleaving method using same
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
KR101775703B1 (ko) 2014-05-21 2017-09-06 삼성전자주식회사 송신 장치 및 그의 인터리빙 방법
US9602245B2 (en) * 2014-05-21 2017-03-21 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
KR101785692B1 (ko) * 2014-05-21 2017-10-16 삼성전자주식회사 송신 장치 및 그의 인터리빙 방법
US9780808B2 (en) * 2014-05-21 2017-10-03 Samsung Electronics Co., Ltd. Transmitter apparatus and bit interleaving method thereof
KR101775704B1 (ko) * 2014-05-21 2017-09-19 삼성전자주식회사 송신 장치 및 그의 인터리빙 방법
US9800269B2 (en) * 2014-05-21 2017-10-24 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
EP3151567A4 (en) 2014-05-28 2018-01-17 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method and broadcast signal reception method
US20160007354A1 (en) * 2014-07-07 2016-01-07 Qualcomm Incorporated Systems and methods for improved communication efficiency in high efficiency wireless networks
KR101807673B1 (ko) 2014-11-06 2017-12-11 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법
US9654145B1 (en) 2014-11-24 2017-05-16 Seagate Technology Llc Interleaving code-words
KR20160102500A (ko) 2014-12-08 2016-08-30 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR102240744B1 (ko) * 2015-01-27 2021-04-16 한국전자통신연구원 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
WO2016125968A1 (ko) 2015-02-06 2016-08-11 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR102287629B1 (ko) * 2015-02-16 2021-08-10 한국전자통신연구원 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102287623B1 (ko) * 2015-02-16 2021-08-10 한국전자통신연구원 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 1024-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102287620B1 (ko) 2015-02-16 2021-08-10 한국전자통신연구원 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 1024-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102287635B1 (ko) * 2015-02-17 2021-08-10 한국전자통신연구원 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102287639B1 (ko) * 2015-02-17 2021-08-10 한국전자통신연구원 길이가 16200이며, 부호율이 4/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102426771B1 (ko) * 2015-02-25 2022-07-29 삼성전자주식회사 송신 장치 및 그의 부가 패리티 생성 방법
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
US9692453B2 (en) 2015-05-19 2017-06-27 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9680505B2 (en) 2015-05-19 2017-06-13 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9595978B2 (en) 2015-05-19 2017-03-14 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9748975B2 (en) * 2015-05-19 2017-08-29 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9729174B2 (en) 2015-05-19 2017-08-08 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9634692B2 (en) * 2015-05-19 2017-04-25 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US10340954B2 (en) * 2015-05-19 2019-07-02 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US10447428B2 (en) 2015-05-19 2019-10-15 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US10439646B2 (en) * 2015-05-19 2019-10-08 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US10075323B2 (en) * 2015-10-14 2018-09-11 Intel IP Corporation Interleaving and deinterleaving source data for single carrier modulation and coding schemes
US20170134126A1 (en) * 2015-11-06 2017-05-11 Qualcomm Incorporated System and method for encoding and decoding header data portion of a frame
US10277439B2 (en) * 2016-07-18 2019-04-30 Qualcomm Incorporated Dual stage channel interleaving for data transmission
EP3343801A1 (en) * 2016-12-30 2018-07-04 Eutelsat S.A. Method for protection of signal blockages in a satellite mobile broadcast system
WO2018187902A1 (en) 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes
WO2018218466A1 (zh) 2017-05-28 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
CN110870207B (zh) * 2017-06-03 2022-05-10 华为技术有限公司 信息处理的方法和通信装置
CN108039937B (zh) * 2017-12-20 2021-01-08 北京数码视讯科技股份有限公司 基带处理中的资源优化方法、装置及电子设备
CN108897716B (zh) 2018-07-04 2022-07-01 合肥工业大学 通过存储器读写操作来缩减计算量的数据处理装置及方法
US10216567B1 (en) * 2018-08-22 2019-02-26 Avago Technologies International Sales Pte. Limited Direct parity encoder
US10778339B2 (en) * 2018-09-14 2020-09-15 Viasat, Inc. Systems and methods for creating in a transmitter a stream of symbol frames configured for efficient processing in a receiver
CN110308889B (zh) * 2019-05-14 2021-01-12 北京思朗科技有限责任公司 调制处理装置及方法
US11139830B2 (en) * 2020-01-28 2021-10-05 Qualcomm Incorporated Bit inversion for data transmission
CN111900959B (zh) * 2020-08-28 2021-06-15 无锡英迪芯微电子科技股份有限公司 一种基于线性反馈移位寄存器的时钟展频生成电路
CN112737711B (zh) * 2020-12-24 2023-04-18 成都戎星科技有限公司 一种基于自适应噪声基底估计的宽带载波检测方法
US20220385307A1 (en) * 2021-05-21 2022-12-01 Samsung Electronics Co., Ltd. Interleaver design and pairwise codeword distance distribution enhancement for turbo autoencoder
US11283516B1 (en) 2021-08-02 2022-03-22 Hubble Network Inc Multi spoke beamforming for low power wide area satellite and terrestrial networks
US11569904B1 (en) 2021-08-02 2023-01-31 Hubble Network Inc. Differentiating orthogonally modulated signals received from multiple transmitters at one or more antenna arrays
CN117560118B (zh) * 2024-01-12 2024-03-15 高拓讯达(北京)微电子股份有限公司 一种符号解码方法、装置、计算机设备及可读存储介质

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB722553A (en) 1952-06-09 1955-01-26 Johannes Ditzel Improvements in or relating to feed or delivery devices for strip material
EP2302805B1 (en) 1995-02-01 2012-08-22 Sony Corporation Multi-channel transmission with interleaving through in-place addressing of RAM memory
US6353900B1 (en) * 1998-09-22 2002-03-05 Qualcomm Incorporated Coding system having state machine based interleaver
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
JP4505953B2 (ja) 2000-06-08 2010-07-21 ソニー株式会社 符号化装置及び符号化方法、並びに、復号装置及び復号方法
GB0110907D0 (en) * 2001-05-03 2001-06-27 British Broadcasting Corp Improvements in decoders for many carrier signals, in particular in DVB-T recievers
DK1529389T3 (en) * 2002-08-13 2016-05-30 Nokia Technologies Oy Symbol Interleaving
US7002900B2 (en) * 2002-10-25 2006-02-21 Qualcomm Incorporated Transmit diversity processing for a multi-antenna communication system
EP1463255A1 (en) 2003-03-25 2004-09-29 Sony United Kingdom Limited Interleaver for mapping symbols on the carriers of an OFDM system
GB2454193B (en) 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
GB2454196B (en) 2007-10-30 2012-10-10 Sony Corp Data processsing apparatus and method
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
JP4224777B2 (ja) 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
KR100505694B1 (ko) * 2003-07-09 2005-08-02 삼성전자주식회사 직접 계산 방식에 의한 코드화 직교 주파수 분할 다중화수신기의 채널 상태 평가 장치 및 그 방법
JP2005051469A (ja) 2003-07-28 2005-02-24 Sony Corp 符号化装置および符号化方法、並びにプログラム
EP1575175B1 (en) 2004-03-10 2008-10-08 Telefonaktiebolaget LM Ericsson (publ) Address generator for an interleaver memory and a deinterleaver memory
US7165205B2 (en) 2004-05-14 2007-01-16 Motorola, Inc. Method and apparatus for encoding and decoding data
EP1771963A1 (en) * 2004-07-29 2007-04-11 Qualcomm Incorporated System and method for interleaving
US8527855B2 (en) 2004-08-16 2013-09-03 Koninklijke Philips N.V. Interleaving and parsing for MIMO-OFDM systems
KR100608913B1 (ko) * 2004-11-10 2006-08-09 한국전자통신연구원 직교주파수분할다중(ofdm) 송신기에서의 인터리빙장치 및 방법
US7543197B2 (en) * 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
KR20060097503A (ko) * 2005-03-11 2006-09-14 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
US7395461B2 (en) 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7657818B2 (en) 2005-06-22 2010-02-02 Adaptive Spectrum And Signal Alignment, Inc. Dynamic minimum-memory interleaving
JP2007214783A (ja) 2006-02-08 2007-08-23 Kddi Corp 送信装置、受信装置及び伝送方法
US7681092B2 (en) 2006-04-11 2010-03-16 Sharp Laboratories Of America, Inc. Systems and methods for interleaving and deinterleaving data in an OFDMA-based communication system
JP4688841B2 (ja) 2007-03-20 2011-05-25 日本放送協会 符号化器及び復号器、並びに送信装置及び受信装置
GB2454318B (en) 2007-10-30 2012-10-17 Sony Corp Data processing apparatus and method
PL2204002T3 (pl) 2007-10-30 2013-08-30 Sony Corp Urządzenie i sposób przetwarzania danych
TWI410055B (zh) 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
TWI427937B (zh) 2007-11-26 2014-02-21 Sony Corp Data processing device and data processing method
TWI497920B (zh) 2007-11-26 2015-08-21 Sony Corp Data processing device and data processing method
JP5273054B2 (ja) 2007-11-26 2013-08-28 ソニー株式会社 データ処理装置、及びデータ処理方法、並びに、符号化装置、及び符号化方法
TWI459724B (zh) 2007-11-26 2014-11-01 Sony Corp Data processing device and data processing method
TWI390856B (zh) 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
GB2460459B (en) 2008-05-30 2012-07-11 Sony Corp Data processing apparatus and method
US7945746B2 (en) * 2008-06-02 2011-05-17 Newport Media, Inc. Memory sharing of time and frequency de-interleaver for ISDB-T receivers

Also Published As

Publication number Publication date
TWI448087B (zh) 2014-08-01
CN103560993A (zh) 2014-02-05
JP2009153109A (ja) 2009-07-09
TW200937874A (en) 2009-09-01
ES2562031T3 (es) 2016-03-02
EP2405584A2 (en) 2012-01-11
TW200937870A (en) 2009-09-01
EP2405584B1 (en) 2016-04-06
DK2056550T3 (da) 2013-06-17
EP2403147A3 (en) 2012-08-08
EP2056464A2 (en) 2009-05-06
US20090125780A1 (en) 2009-05-14
DK2056549T3 (da) 2013-02-04
JP5048629B2 (ja) 2012-10-17
EP2056464A3 (en) 2009-09-16
KR101518510B1 (ko) 2015-05-07
EP2403147B1 (en) 2016-01-06
KR101459152B1 (ko) 2014-11-07
CN103560993B (zh) 2017-06-06
US8351541B2 (en) 2013-01-08
EP2056549B1 (en) 2012-12-12
PL2056464T3 (pl) 2013-04-30
EP2056550A2 (en) 2009-05-06
DK2056510T3 (da) 2013-05-21
EP2405584A3 (en) 2012-08-08
ES2399157T3 (es) 2013-03-26
PL2056550T3 (pl) 2013-08-30
KR20090045101A (ko) 2009-05-07
EP2056464B1 (en) 2012-12-12
EP2056549A3 (en) 2009-09-16
PL2056549T3 (pl) 2013-04-30
US20120189079A1 (en) 2012-07-26
EP2056549A2 (en) 2009-05-06
ES2398851T3 (es) 2013-03-22
TWI451702B (zh) 2014-09-01
DK2056464T3 (da) 2013-02-18
EP2056510B1 (en) 2013-04-03
EP2056550B1 (en) 2013-04-24
EP2056550A3 (en) 2009-09-16
PL2403147T3 (pl) 2016-04-29
EP2056510A3 (en) 2009-09-16
EP2403147A2 (en) 2012-01-04
ES2407505T3 (es) 2013-06-12
PL2056510T3 (pl) 2013-08-30
US8179955B2 (en) 2012-05-15
EP2056510A2 (en) 2009-05-06
KR20090045096A (ko) 2009-05-07

Similar Documents

Publication Publication Date Title
ES2416356T3 (es) Aparato y método de procesamiento de datos
US11356117B2 (en) Transmitting apparatus and signal processing method thereof
US9871621B2 (en) Transmitting apparatus and signal processing method thereof
US10305632B2 (en) Transmitting apparatus and signal processing method thereof
US10396822B2 (en) Transmitting apparatus and signal processing method thereof
KR101474049B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
CA2940275C (en) Transmitting apparatus and interleaving method thereof
US20150095744A1 (en) Transmitting apparatus and signal processing method thereof
ES2697695T3 (es) Codificación y descodificación de un código LDPC con tasa 18/30 (3/5) de longitud 64.800
US11817953B2 (en) Transmitting apparatus and signal processing method thereof
US11063610B2 (en) Transmitting apparatus and signal processing method thereof
US11791839B2 (en) Transmitting apparatus and signal processing method thereof