ES2275508T3 - Aparato y metodo de intercalado turbo. - Google Patents

Aparato y metodo de intercalado turbo. Download PDF

Info

Publication number
ES2275508T3
ES2275508T3 ES00927908T ES00927908T ES2275508T3 ES 2275508 T3 ES2275508 T3 ES 2275508T3 ES 00927908 T ES00927908 T ES 00927908T ES 00927908 T ES00927908 T ES 00927908T ES 2275508 T3 ES2275508 T3 ES 2275508T3
Authority
ES
Spain
Prior art keywords
information
row
bits
turbo
interleaving
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.)
Expired - Lifetime
Application number
ES00927908T
Other languages
English (en)
Inventor
Min-Goo Kim
Beong-Jo Kim
Soon-Jae Choi
Young-Hwan Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26635221&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2275508(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2275508T3 publication Critical patent/ES2275508T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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/2771Internal interleaver for turbo 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/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/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
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • 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/276Interleaving address generation
    • 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/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/2957Turbo codes and decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Container Filling Or Packaging Operations (AREA)
  • Complex Calculations (AREA)
  • Television Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Control Of Positive-Displacement Air Blowers (AREA)

Abstract

Turbo codificador que comprende: un primer codificador (111) dispuesto para codificar una trama de bits K de información de entrada para generar primeros símbolos codificados; un dispositivo (112) de intercalado dispuesto para escribir secuencialmente los bits K de información de entrada en una matriz rectangular R x C fila por fila comenzando en la primera columna de la primera fila, permutar dentro de la fila las posiciones de los bits de información en la matriz rectangular R x C en cada fila según una regla de intercalado dada, en el que dicha permutación dentro de la fila deja las posiciones de los bits en la última columna de dicha matriz sin cambiar después de dicha permutación, intercambiar la posición del bit de información en la última columna de la última fila con una posición dentro de la última fila que precede a la última columna, realizar permutaciones entre filas de la matriz rectangular R x C, y leer los bits de información desde la matriz rectangular R x C permutada columna por columna comenzando en la primera fila de la primera columna; y un segundo codificador (113) dispuesto para codificar los bits de información leídos para generar segundos símbolos codificados, en el que la matriz rectangular R x C tiene R filas y C columnas, K = R x C y especifica el número de bits de información de entrada en la trama, y K > R >1.

Description

Aparato y método de intercalado turbo.
La presente invención se refiere generalmente a un turbo codificador usado para sistemas de comunicación por radio (que incluyen sistemas satélites, RDSI, celulares digitales, W-CDMA e IMT-2000), y en particular a un dispositivo de intercalado interno de un turbo codificador.
En general un dispositivo de intercalado utilizado para un turbo codificador aleatoriza una dirección de palabra de información de entrada y mejora una propiedad de distancia de una palabra de código. En particular, se ha decidido que un turbo codificador se utilizará en un canal suplementario (o canal de transmisión de datos) de interfaces aéreas IS-95C e IMT-2000 (o CDMA-2000) y en un canal de datos del UMTS ("Universal Mobile Telecommunication System", sistema universal de telecomunicaciones móviles) propuesto por el ETSI ("European Telecommunication Standards Institute", instituto europeo de estándares de telecomunicaciones). Por tanto, para este fin se requiere un método para poner en práctica un dispositivo de intercalado. Adicionalmente la invención se refiere a un código de corrección de errores que afecta en gran medida a la mejora del rendimiento de los sistemas de comunicación digital existentes y futuros.
Para un dispositivo de intercalado interno existente para un turbo codificador (en lo sucesivo, se hace referencia a un dispositivo de intercalado turbo) se han propuesto diversos dispositivos de intercalado tales como dispositivos de intercalado aleatorio PN ("Pseudo Noise", pseudo ruido), dispositivos de intercalado aleatorios, dispositivos de intercalado a bloques, dispositivo de intercalado no lineal y dispositivo de intercalado aleatorio S. Sin embargo, hasta ahora, tales dispositivos de intercalado eran simples algoritmos diseñados para mejorar sus rendimientos en términos de investigaciones científicas más que de implementación. Por tanto, cuando se implementa un sistema real, debe tenerse en cuenta la complejidad de la implementación de hardware. Ahora se realizará una descripción de propiedades y problemas asociados al dispositivo de intercalado convencional para el turbo codificador.
El rendimiento del turbo codificador depende de su dispositivo de intercalado interno. En general, un aumento en el tamaño de trama de entrada (es decir, el número de bits de información incluidos en una trama) mejora la eficacia del turbo codificador. Sin embargo, un aumento en el tamaño del dispositivo de intercalado provoca un aumento geométrico en los cálculos. Por tanto, en general no es posible implementar el dispositivo de intercalado para el tamaño grande de trama.
Por tanto, en general, los dispositivos de intercalado se implementan determinando las condiciones que cumplen con varios criterios dados. Los criterios son los siguientes:
Propiedad de distancia: la distancia entre símbolos de palabras de código adyacentes debería mantenerse hasta una determinada medida. Esto tiene la misma función que una propiedad de distancia de palabra de código del código convolucional, y como un criterio que indica esto, se utiliza una distancia libre mínima que es un valor del trayecto de palabra de código o una secuencia de palabra de código con el peso Hamming mínimo de entre las secuencias de símbolo de código (o trayectos de palabra de código) emitidos en el enrejado ("trellis"). En general se prefiere que el dispositivo de intercalado se diseñe para tener la distancia libre más larga, si es posible.
Propiedad aleatoria: un factor de correlación entre símbolos de palabras de salida tras el intercalado debería ser mucho más bajo que un factor de correlación entre símbolos de palabras de entrada originales antes del intercalado. Es decir, debería realizarse completamente la aleatorización entre los símbolos de palabra de salida. Esto afecta directamente a la calidad de la información extrínseca generada en la decodificación continua.
Aunque los criterios anteriores puedan aplicarse a un dispositivo de intercalado turbo general, es difícil analizar claramente las propiedades cuando el dispositivo de intercalado aumenta su tamaño.
Adicionalmente, otro problema que se produce cuando se diseña el dispositivo de intercalado turbo es que la distancia libre mínima del código de turbo varía según el tipo de la palabra de código de entrada. Es decir, cuando la palabra de información de entrada tiene un patrón de secuencia específico definido como patrón de secuencia de información crítica (CISP) la distancia libre de los símbolos de código de salida generados desde el turbo codificador tiene un valor muy pequeño. Si la palabra de información de entrada tiene un peso Hamming 2, el CISP se produce cuando la palabra de información de entrada tiene dos bits de información de "1" y puede producirse también cuando la palabra de información de entrada tiene 3 o más bits de información de "1". Sin embargo, en la mayoría de los casos, cuando la palabra de información de entrada tiene 2 bits de información de "1" se forma la distancia mínima libre y la mayoría de los eventos de error se producen en esta condición. Por tanto, cuando se diseña el dispositivo de intercalado turbo se realiza generalmente un análisis en el caso en el que la palabra de información de entrada tenga el peso Hamming 2. Un motivo de la existencia del CISP es que el turbo codificador utiliza generalmente codificadores RSC ("Recursiv Systematic Convolutional Codes", codificadores sistemáticos convolucionales recursivos) para los codificadores de componentes mostrados en la figura 1 (descritos adicionalmente más adelante). Para mejorar el rendimiento del turbo codificador debería emplearse un polinomio primitivo para un polinomio de retroalimentación (gf(x) de la figura 1) de entre los polinomios de generador para el codificador de componentes. Por tanto, cuando el número de las memorias del codificador RSC es m, una secuencia de retroalimentación generada por el polinomio de retroalimentación repite continuamente el mismo patrón a un periodo de 2^{m}-1. Por tanto si se recibe una palabra "1" de información de entrada a la distancia correspondiente a este periodo, los mismos bits de información son O exclusivos de manera que el estado del codificador RSC se convierte en un estado de todo ceros de ahora en adelante, generando así los símbolos de salida de todo ceros. Esto significa que el peso Hamming de la palabra de código generada por el codificador RSC tiene un valor constante después de este evento. Es decir, la distancia libre del turbo código se mantiene tras este tiempo, y el CISP se convierte en una causa principal de una reducción de la distancia libre del turbo codificador, mientras que, como se observó anteriormente, es deseable una distancia libre mayor.
En este caso (en el dispositivo de intercalado turbo de la técnica anterior) para aumentar la distancia libre, el dispositivo de intercalado turbo dispersa aleatoriamente la palabra de información de entrada CISP para impedir un descenso en la distancia libre en el símbolo de salida del otro codificador RSC de componentes.
Las propiedades expuestas anteriormente son características fundamentales del dispositivo de intercalado turbo conocido. Sin embargo, para el CISP es conveniente que la palabra de información tenga el peso Hamming mínimo, cuando la palabra de información de entrada tenga el peso Hamming 2. En otras palabras, no se tuvo en cuenta el hecho de que el CISP pueda generarse incluso cuando la palabra de información de entrada tiene el peso Hamming 1 (es decir cuando la palabra de información de entrada tiene un bit de información de "1") cuando la entrada de la palabra de información al turbo codificador tenía el tipo de un bloque compuesto de tramas.
Por ejemplo, un dispositivo (PIL) de intercalado principal diseñado como el modelo de trabajo del dispositivo de intercalado de turbo código especificado mediante el estándar UMTS presente muestra tales problemas, presentando una propiedad de distancia libre degradada. Es decir, el algoritmo de implementación del modelo de dispositivo de intercalado turbo PIL incluye 3 etapas, de las cuales la segunda etapa que juega el papel más importante, realiza la permutación aleatoria en los bits de información de los grupos respectivos. La segunda etapa se divide en tres casos caso A, caso B y caso C, y el caso B siempre invoca el caso en el que la distancia libre disminuye debido al evento en el que la palabra de información de entrada tiene el peso Hamming 1. Adicionalmente incluso el caso C implica una posibilidad de que tal evento ocurrirá. Los problemas detallados se describirán posteriormente con referencia al
PIL.
Como conclusión, cuando se requieren varios tamaños de dispositivos de intercalado y la complejidad de la implementación del hardware está limitada al sistema IMT-2000 o UMTS, el dispositivo de intercalado turbo debería diseñarse para garantizar el rendimiento óptimo del dispositivo de intercalado teniendo en cuenta las limitaciones. Es decir, el dispositivo de intercalado requerido debería poder garantizar el rendimiento uniforme para los diversos tamaños del dispositivo de intercalado mientras que cumple las propiedades expuestas anteriormente. Más recientemente, se han propuesto varios tipos de dispositivos de intercalado para un dispositivo de intercalado turbo PCCC ("Parallel Concatenated Convolutional Codes", códigos convolucionales concatenados en paralelo) y un dispositivo de intercalado turbo LCS ("Linear Congruential Sequence", de secuencia congruente lineal) se ha establecido provisionalmente como el dispositivo de intercalado turbo en las especificaciones IS-95C e IMT-2000 (o CDMA-2000). Sin embargo la mayoría de estos dispositivos de intercalado turbo tienen los problemas del CSIP con el peso Hamming 1., y los detalles de la implementación de estos dispositivos de intercalado turbo todavía no están definidos. Por tanto, la presente invención propone una solución de los problemas de los dispositivos de intercalado turbo, y un nuevo método para implementar el dispositivo de intercalado turbo. Adicionalmente, la invención muestra el dispositivo de intercalado turbo PIL que es una hipótesis de trabajo del dispositivo de intercalado turbo UMTS, y propone una solución del problema de este dispositivo de intercalado.
Como resumen, la técnica anterior tiene las desventajas siguientes.
(1)
El dispositivo de intercalado turbo está diseñado para el tamaño de trama infinito basándose en el CISP para el que la palabra de información de entrada tiene el peso Hamming 2, sin considerar el hecho de que la determinación del CISP según el tipo de palabra de información de entrada está limitada al tamaño de trama. Sin embargo, en un sistema real, la trama tiene un tamaño finito, provocando así una disminución de la distancia libre del turbo código.
(2)
Al diseñar el dispositivo de intercalado turbo existente, no se consideró el hecho de que la palabra de información de entrada pudiera tener el peso Hamming 1. En otras palabras, para el tamaño de trama finito, debería determinarse la regla para el diseño del dispositivo de intercalado turbo considerando el hecho de que la distancia libre mínima generada en el turbo codificador PCCC se determina mediante el CISP que tiene el peso Hamming 1. Sin embargo esto no se consideró totalmente para los dispositivos de intercalado turbo existentes.
(3)
El dispositivo (PIL) de intercalado primario diseñado como la hipótesis de trabajo del dispositivo de intercalado de turbo código definido mediante la especificación UMTS implica problemas de este tipo, presentando así un rendimiento de distancia libre degradada.
S. Dolinar et al., "Weight Distributions for Turbo Codes Using Random and Nonrandom Permutations", TDA, Progress Report 42-122, páginas 56 a 65, 15-08-1995 es una publicación que trata las distribuciones de peso que pueden conseguirse para códigos turbo utilizando permutaciones aleatorias, permutaciones diseñadas tales como permutaciones no aleatorias basadas en el intercalado a bloques o en el desplazamiento circular y permutaciones semi-aleatorias. El documento describe adicionalmente que debido a la propiedad de excursión de los codificadores, es importante distinguir entre las secuencias de entrada de terminación automática y de terminación no automá-
tica.
El documento TS25.212 V1.0.0 (1999-04) es una especificación técnica del grupo de especificaciones técnicas 3GPP para la red de acceso por radio (RAN WG1) que se refiere a la multiplexación y a la codificación de canal. En este método de intercalado, los datos se escriben en una matriz RXC, implicando el intercalado un intercalado dentro de la fila, después el intercalado entre filas seguido columna por columna leído desde la matriz. Esta especificación técnica también se refiere a la turbo codificación y por tanto al intercalado. Los detalles de esta especificación se describirán más adelante en relación con las características de la presente invención.
Por tanto es un objeto de la presente invención proporcionar un dispositivo y método de intercalado que considera las propiedades de un dispositivo de intercalado turbo y una propiedad de un patrón de secuencia de información crítica (CISP) que mejora el rendimiento de distancia libre del dispositivo de intercalado turbo.
El problema se soluciona mediante el objeto de las reivindicaciones independientes. Las realizaciones preferidas son el objeto de las reivindicaciones dependientes.
Es un aspecto de la presente invención proporcionar un dispositivo y método de intercalado para mejorar el rendimiento de la distancia libre de un turbo codificador para el caso en el que una palabra de información de entrada tiene un peso Hamming 1 cuando la entrada de palabra de información a un dispositivo de intercalado turbo tiene un tipo de bloque comprendido por tramas.
Es un aspecto adicional de la presente invención proporcionar un dispositivo y método de intercalado para solucionar el problema de que la distancia libre disminuye cuando una palabra de información de entrada tiene un peso Hamming 1 en un dispositivo (PIL) de intercalado principal que es el dispositivo y método de intercalado especificado en la especificación UMTS.
Para conseguir los aspectos anteriores, se proporciona un método de intercalado bidimensional que comprende la división de una trama de bits de información de entrada en una pluralidad de grupos y almacenar secuencialmente los grupos divididos en una memoria: permutar los bits de información de los grupos según una regla determinada y desplazar un bit de información existente en la última posición del último grupo a una posición anterior a la última posición; y seleccionar los grupos según un orden predeterminado, y seleccionar uno de los bits de información en el grupo seleccionado.
Los anteriores y otros aspectos, características y ventajas de la presente invención resultarán más evidentes a partir de la siguiente descripción detallada cuando se considera en conjunción con los dibujos acompañantes en los que:
la figura 1 es un diagrama que ilustra un turbo codificador paralelo general,
la figura 2 es un diagrama que ilustra un dispositivo de intercalado general,
la figura 3 es un diagrama que ilustra un dispositivo de desintercalado general,
la figura 4 es un diagrama que ilustra un método para generar un patrón de secuencia de información crítica (CISP) en un dispositivo de intercalado turbo,
la figura 5 es un diagrama que ilustra otro método para generar el CISP en el dispositivo de intercalado turbo,
la figura 6 es un diagrama que ilustra un método para resolver un problema que se produce cuando se genera el CISP de la figura 4,
la figura 7 es un diagrama que ilustra un método para resolver un problema que se produce cuando se genera el CISP de la figura 5,
la figura 8 es un diagrama que ilustra otro método para resolver un problema que se produce cuando se genera el CISP en el dispositivo de intercalado turbo;
la figura 9 es un diagrama que ilustra un método para generar el CISP en un dispositivo de intercalado turbo bidimensional,
la figura 10 es un diagrama que ilustra un método para resolver un problema que se produce cuando se genera el CISP de la figura 7,
la figura 11 es un diagrama de bloques que ilustra un dispositivo de intercalado para eliminar el CISP según una realización de la presente invención, y
la figura 12 es un diagrama de flujos para explicar un proceso de intercalado de un PIL modificado (dispositivo de intercalado principal) según una realización de la presente invención.
Ahora se describirá una realización preferida de la presente invención en la presente memoria más adelante con referencia a los dibujos acompañantes. En la siguiente descripción no se describen en detalle las funciones o construcciones muy conocidas ya que impediría ver claramente la invención con detalles innecesarios.
Antes de describir la invención, la especificación presentará los problemas que se producen cuando una palabra de información de entrada, que es uno de los criterios de diseño utilizados en el dispositivo de intercalado/desintercalado turbo existente se procesa basándose en una unidad de trama, y después se analiza un efecto que tiene el CISP con un peso Hamming 1 en el peso Hamming de los símbolos de código de salida. A continuación, la especificación propondrá un método para resolver los problemas y verificar la diferencia de rendimiento a través del análisis de la distancia libre mínima.
La figura 1 muestra una estructura de un turbo codificador paralelo general que se describe detalladamente en la patente estadounidense nº 5.446.747, publicada el 29 de agosto de 1995 que se incorpora a modo de referencia en la presente memoria.
Con referencia a la figura 1, el turbo codificador incluye un primer codificador 111 de componentes para codificar datos de trama de entrada, un dispositivo 112 de intercalado para intercalar los datos de trama de entrada y un segundo codificador 113 de componentes para codificar una salida del dispositivo 112 de intercalado. Un codificador RSC (códigos convolucionales sistemáticos recursivos) conocido se utiliza normalmente para los codificadores 111, 113 de componentes primero y segundo. En lo sucesivo, al primer codificador 111 de componentes RSC se hará referencia como RSC1 y al segundo codificador 113 de componentes se hará referencia como RSC2. Además el dispositivo 112 de intercalado tiene el mismo tamaño que la trama de bits de información de entrada y reordena la secuencia de los bits de información proporcionada al segundo codificador 113 de componentes para reducir una correlación entre los bits de información.
Las figuras 2 y 3 muestran estructuras fundamentales del dispositivo de intercalado/desintercalado general respectivamente.
Con referencia a las figuras 2 se describirá un dispositivo de intercalado para intercalar datos de trama emitidos desde el primer codificador de componentes. Un generador 211 de direcciones genera una dirección de lectura para cambiar la secuencia de bits de datos de entrada según un tamaño L de datos de trama de entrada y un reloj de entrada, y proporciona una memoria 212 de dispositivo de intercalado con la dirección de lectura generada. La memoria 212 de dispositivo de intercalado almacena secuencialmente datos de entrada en un modo de operación de escritura, y emite los datos almacenados según la dirección de lectura proporcionada desde el generador 211 de direcciones en un modo de operación de lectura. Un contador 213 cuenta el reloj de entrada y proporciona el valor de contador de reloj a la memoria 212 de dispositivo de intercalado como una dirección de escritura. Tal como se describe anteriormente, el dispositivo de intercalado almacena secuencialmente datos de entrada en la memoria 212 de dispositivo de intercalado en el modo de operación de escritura y emite los datos almacenados en la memoria 212 de dispositivo de intercalado según la dirección de lectura proporcionada desde el generador 211 de direcciones en el modo de operación de lectura. Alternativamente también es posible cambiar la secuencia de los bits de datos de entrada antes de almacenarlos en la memoria del dispositivo de intercalado en el modo de operación de escritura, y secuencialmente leer los datos almacenados en el modo de operación de lectura.
Con referencia a la figura 3 se describirá un dispositivo de desintercalado. Un generador 311 de direcciones genera una dirección de escritura para restaurar la secuencia de los bits de datos de entrada a la secuencia original según un tamaño L de datos de trama de entrada y un reloj de entrada, y proporciona una memoria 312 de dispositivo de desintercalado con la dirección de lectura generada. La memoria 312 de dispositivo de desintercalado almacena datos de entrada según la dirección de escritura proporcionada desde el generador 311 de direcciones en el modo de operación de escritura, y emite secuencialmente los datos almacenados en el modo de operación de lectura. Un contador 313 cuenta el reloj de entrada y proporciona el valor de contador de reloj a la memoria 312 de dispositivo de desintercalado como una dirección de lectura. Tal como se describe anteriormente, el dispositivo de desintercalado tiene la misma estructura que el dispositivo de intercalado pero tiene el funcionamiento inverso del dispositivo de intercalado. El dispositivo de desintercalado se diferencia solamente del dispositivo de intercalado en que los datos de entrada tienen secuencias diferentes tanto en el modo de escritura como en el de lectura. Por tanto, por conveniencia, la descripción siguiente se hará con referencia solamente al dispositivo de intercalado.
En general, dado que el turbo código es un código de bloque lineal, una palabra de información nueva obtenida añadiendo una palabra de información no cero a una palabra de información de entrada tiene la misma propiedad de distribución de palabras de código. Por tanto aunque la propiedad se desarrolle basándose en la palabra de información de todo ceros, se proporcionará el mismo rendimiento comparando con el rendimiento determinado que emplea la palabra de información no cero. Así, se realizará una descripción más adelante con referencia al caso en el que la palabra de información de entrada es la palabra de código de todo ceros. Es decir, se analizará el rendimiento del turbo código suponiendo que la palabra de información de entrada tenga bits de todo ceros y solamente un bit de información dado sea "1".
Para mejorar el rendimiento del turbo codificador, puede usarse un polinomio primitivo para un polinomio de retroalimentación de un generador de polinomios para el codificador de componentes. El polinomio de retroalimentación se proporciona por la derivación de expresión que sufre la retroalimentación en los codificadores 111, 1113 de componentes RSC de la figura 1 en un polinomio, y el polinomio de retroalimentación se define como gf(x). Si en la figura 1, gf(x) = 1+x^{2}+x^{3}. Es decir, el orden más elevado indica la profundidad de una memoria, y la conexión más a la derecha determina si el coeficiente x^{3} de gf(x) es 0 o 1. Por tanto, cuando el número de las memorias para el codificador RSC es m, una secuencia de retroalimentación generada por el polinomio de retroalimentación repite continuamente el mismo patrón en un periodo de 2^{m}-1. Así cuando se recibe una palabra de información de entrada "1" en el momento que corresponde a este periodo (por ejemplo para m = 3, cuando se recibe una palabra de información de entrada de "10000001...") los mismos bits de información son O exclusivos de manera que el estado del codificador RSC se convierte en un estado de todo ceros de ahora en adelante, generando así los símbolos de salida de todo ceros. Esto significa que el peso Hamming de la palabra de código generada por el codificador RSC tiene el valor constante de 1 después de este evento. Es decir, la distancia libre del turbo código se mantiene tras este tiempo, y el CISP se convierte en una causa principal de una reducción de la distancia libre del turbo codificador.
En este caso para aumentar la distancia libre, el dispositivo de intercalado turbo dispersa aleatoriamente la palabra de información de entrada CISP para impedir un descenso en la distancia libre en el símbolo de salida del otro codificador RSC de componentes. La tabla 1 a continuación muestra una secuencia de retroalimentación generada desde gf(x) = 1+x^{2}+x^{3}. En la tabla 1, X(t) indica un bit de información de entrada en un tiempo t de la palabra de información de entrada. Además, m(t), m(t-1) y m(t-2) indican 3 estados de memoria del codificador RSC respectivamente. En este caso, dado que el número de memorias es 3, el periodo es 2^{3}-1 = 7.
\vskip1.000000\baselineskip
TABLA 1
1
Desde la tabla 1 se observa que si X(t) = 1, en el tiempo t = 7, entonces m(t), m(t-1) y m(t-2) se convierten en estados de todo ceros de aquí en adelante. Por tanto el peso Hamming de los siguientes símbolos de salida se convierte siempre en cero. En este caso, si el dispositivo de intercalado turbo proporciona el RSC2 con la secuencia de información de entrada "10000001000..." como es, el peso Hamming de los símbolos de salida en el tiempo siguiente de t = 7 no cambiará a partir de aquí incluso en el RSC2 que emplea el mismo polinomio de retroalimentación por la misma razón. Esto provoca una disminución en la distancia libre de todos los símbolos de salida del turbo codificador. Para impedir esto, el dispositivo de intercalado turbo cambia la secuencia de información de entrada original "10000001000" a una secuencia de información de un patrón diferente (por ejemplo, cambia una posición del bit "1" de información tal como 110000000...) y proporciona la secuencia resultante al RSC2. Por tanto aunque se detenga un aumento en el peso Hamming en el RSC1, el peso Hamming aumenta continuamente en el RSC2 de manera que aumenta la distancia libre total del turbo codificador. Esto es porque el polinomio de retroalimentación que tiene el tipo de filtro de respuesta de impulso infinita (IIR) genera continuamente el símbolo "1" de salida infinito incluso para un bit "1" de información de entrada. La ecuación 1 muestra a continuación la relación entre el RSC1 y el RSC2 en términos del peso Hamming o la distancia libre del turbo codificador.
Ecuación 1
HW \ (secuencia \ de \ código \ de \ salida) = HW \ (secuencia \ de \ código \ RSC1) + HW \ (secuencia \ de \ código \ RSC2)
en la que HW es el peso Hamming.
Desde la ecuación 1 se observa que es muy importante un equilibrio del peso Hamming entre RSC1 y RSC2. En particular, se observa que la distancia mínima libre del turbo código se genera para el peso Hamming mínimo de la palabra de información de entrada cuando se considera la característica IIR ("Infinite Impulse Response", de respuesta de impulso infinita) del codificador RSC. En general, la distancia libre mínima se proporciona cuando la palabra de información de entrada tiene el peso Hamming 2 tal como se mencionó anteriormente.
Sin embargo, tal como se describió anteriormente, la distancia libre mínima se produce cuando la palabra de información de entrada tiene el peso Hamming 3, 4, 5,..., así como cuando la palabra de información de entrada tiene el peso Hamming 2. Esto se produce cuando la palabra de información de entrada se recibe basándose en la unidad de trama, como sigue.
Por ejemplo, cuando solamente el bit de información situado en la última posición de la palabra de información de entrada, es decir, la última posición de la trama, es "1" y todos los demás bits de información son ceros, el peso Hamming de la palabra de información de entrada se convierte en 1. En este caso, el número de los símbolos "1" emitidos desde el RSC1 se vuelve muy pequeño porque no hay más palabras de información de entrada. Naturalmente, cuando se usan bits de cola cero existen dos símbolos pero aquellos se usan de manera independiente más que someterse al intercalado turbo. Por tanto, en la presente memoria se supone que el peso aumenta ligeramente. Dado que se añade el peso constante, esto se excluirá de un análisis del dispositivo de intercalado. En este caso, se observa de la ecuación 1 que el RSC2 debería generar un gran número de símbolos "1" de salida para aumentar la distancia libre
total.
Ahora con referencia a las figuras 4 a 10, se realizará una descripción de manera comparativa con respecto a los problemas de la técnica anterior y las soluciones a los problemas.
En las figuras 4 a 10, las partes sombreadas indican las posiciones en las que el bit de información de entrada es "1", y las otras partes indican las posiciones en las que el bit de información de entrada es "0".
Si, tal como se muestra en la figura 4, el dispositivo de intercalado turbo desplaza (o permuta) la posición de la palabra de información de entrada, en la que el símbolo original del RSC1 es "1" a la última posición de la trama tras el intercalado, el número de los símbolos "1" de salida generado desde RSC2 será muy pequeño. En este caso, dado que el RSC1 y el RSC2 generan un número muy pequeño de los símbolos de salida "1" según la ecuación 1, la distancia libre total disminuye drásticamente. Sin embargo, si tal como se muestra en la figura 5, el dispositivo de intercalado turbo desplaza la posición de la palabra de información de entrada, en la que el símbolo original del RSC1 es "1" a la primera posición o a una posición cercana a la posición de cabeza de la trama tras el intercalado, el número de los símbolos "1" de salida generados desde el RSC2 aumentará. Esto es porque una pluralidad de símbolos "1" se emiten a través de transiciones de estado (N (tamaño del dispositivo de intercalado)-h (un número de "1") del codificador RSC2. En este caso, el RSC2 genera un gran número de símbolos "1" de salida, incrementando de este modo la distancia libre total.
Adicionalmente a la disminución de la distancia libre que se produce cuando el dispositivo de intercalado interno desplaza el bit "1" de información de entrada situado en la última posición de la trama a la última posición de la trama tal como se muestra en la figura 4, si uno de dos bits de información "1" situado en la parte final de la trama está situados todavía en (o cerca de) la posición final de la trama incluso después del intercalado, tal como se muestra en la figura 6, la distancia libre total disminuirá.
Por ejemplo, si las operaciones del dispositivo de intercalado interno en el modo de trama mostrado en la figura 6, en la que dos símbolos situados en la posición final de la trama son unos, y los otros símbolos son todos ceros, entonces el peso Hamming de la palabra de información de entrada es 2. Incluso en este caso, el número de los símbolos "1" de salida generados desde el RSC1 se vuelve muy pequeño dado que no hay más bit de información de entrada. Por tanto, según la ecuación 1, el RSC2 debería generar un gran número de los símbolos "1" de salida para aumentar la distancia libre total. Sin embargo, si tal como se muestra en la figura 6, el dispositivo de intercalado tubo desplaza la posición de los dos símbolos anteriores a la posición final (o en algún lugar cerca de la posición final) de la trama incluso después del intercalado, el RSC2 generará también un número pequeño de los símbolos "1" de salida. Sin embargo, si tal como se muestra en la figura 7, el dispositivo de intercalado turbo desplaza la posición de los dos símbolos anteriores a la posición de cabeza (o en algún lugar cerca de la posición de cabeza) de la trama, el RSC2 generará un gran número de símbolos "1". Esto es, el codificador RSC2 emite una pluralidad de símbolos "1" a través de las transiciones de estado (N-h) (N = tamaño del dispositivo de intercalado, h = un número del símbolo "1"). En este caso, por tanto, el RSC2 genera el número aumentado de símbolos "1" de salida, incrementando así la distancia libre total.
Este principio puede expandirse al caso en el que el dispositivo de intercalado turbo funciona en el modo de trama mostrado en la figura 8 en el que existe una pluralidad de bits "1" de información en el periodo final (o duración) de la trama y los demás bits de información son todos ceros. Incluso en este caso, la distancia libre total se aumenta mediante el desplazamiento de los bits de información que existen en la posición final de la trama a la posición de cabeza de la trama o a posiciones más cercanas a la posición de cabeza, tal como se muestra en la figura 8. Naturalmente, dado que el turbo código es el código de bloque lineal, incluso la nueva palabra de información obtenida al añadir una palabra de información no cero a una palabra de información de este tipo tiene la misma propiedad. Por tanto, se realizará una descripción más adelante basándose en la palabra de información de todos ceros.
En conclusión, cuando se diseña el dispositivo de intercalado turbo, deberían cumplirse las condiciones siguientes así como la propiedad aleatoria y la propiedad de distancia para garantizar el rendimiento del turbo decodificador y la distancia libre del turbo codificador.
Condición 1: cuando se diseña cada dispositivo de intercalado turbo, los bits de información correspondientes a un periodo específico desde la última posición de la trama deberían desplazarse a la primera posición de la trama mediante el intercalado para aumentar la distancia libre del turbo código.
Condición 2: los bits de información correspondientes a la última posición de la trama deberían desplazarse a una posición anterior a la última posición (si es posible a la posición de cabeza de la trama) mediante el intercalado para aumentar la distancia libre del turbo código.
Estas condiciones pueden aplicarse a un dispositivo de intercalado turbo bidimensional así como al dispositivo de intercalado unidimensional anteriormente descrito. El dispositivo de intercalado unidimensional realiza el intercalado, con respecto a la trama de información de entrada como un grupo, tal como se muestra en las figuras 4 a 8. El dispositivo de intercalado bidimensional realiza el intercalado dividiendo la trama de información de entrada en una pluralidad de grupos. La figura 9 muestra el intercalado bidimensional en el que la palabra de información de entrada tiene el peso Hamming 1.
Tal como se ilustra, los bits de información de entrada se escriben secuencialmente en los grupos respectivos (o filas). Es decir, los bits de información de entrada se escriben secuencialmente en los grupos (o filas) r0, r1,..., r(R-1). En cada grupo, los bits de información de entrada se escriben secuencialmente de izquierda a derecha. Por tanto, un algoritmo de intercalado turbo cambia aleatoriamente la posición de los elementos RxC (es decir, bits de información de entrada) en la que R es el número de filas, C es el número de columnas o, de manera equivalente, el número de bits de información en un grupo. En este caso, es preferible diseñar el algoritmo de intercalado turbo de tal manera que el bit de información situado en la última posición (o la posición más a la derecha) del último grupo debería situarse en la posición primera, si es posible durante la salida. Naturalmente, en función del orden de selección de grupos, el bit de información de entrada situado en la última posición puede desplazarse a la posición primera (o cercana a la misma) del grupo correspondiente. Adicionalmente, la condición 1 y la condición 2 pueden normalizarse en un dispositivo de intercalado turbo de dimensión k (en el que k > 2) así como el dispositivo de intercalado bidi-
mensional.
La figura 10 muestra un caso en el que la palabra de información de entrada tiene el peso Hamming superior a 2. Tal como se muestra, los bits de información situados en la última posición del último grupo se desplazan a las posiciones de cabeza del último grupo mediante el intercalado. Naturalmente la regla de desplazamiento detallado (o intercalado) se determina según un algoritmo para un dispositivo de intercalado específico. La invención presenta la condición 1y la condición 2 que deberían cumplir necesariamente la determinación de la regla de
intercalado.
A continuación se realizará una descripción del dispositivo PIL de intercalado que tiene los problemas de la técnica anterior, y después se realizará una descripción adicional de una solución de los problemas que tiene el dispositivo PIL de intercalado.
Primera etapa (1) determinar un número de fila tal que
R = 10 en el caso de que el número del bit K de información de entrada sea de 481 a 530 y
R = 20 en el caso de que el número del bit K de información de entrada sea cualquier otra longitud de bloque excepto de 481 a 530, (2) determina un número C de columna tal que el caso 1 es C = p = 53 en el que p = número primo mínimo y el caso 2 es
(i)
encontrar un número primo mínimo p que cumpla 0 = <(p+1)-K/R
(ii)
si (0<p-K/R) ir entonces a (iii) sino C = p+1
(iii)
si 0 = <(p-1-K/R), entonces C = p-1, sino C = p
En primer lugar se describirá una segunda etapa, caso -B, si C = p+1 a partir de un algoritmo de intercalado para el dispositivo PIL de intercalado que se determinó provisionalmente como el dispositivo de intercalado de turbo UMTS. En la ecuación 2 siguiente, R indica el numero de grupos (o filas) y tiene el valor de R = 10 o R = 20. Adicionalmente C indica el tamaño de cada grupo y se determina mediante el número primo p que cumple 0 < (p+1) - K/R tal como se determina en la etapa 1 según un valor K/R en el que K es el tamaño de los bits de información de entrada reales de una trama. En el caso -B, es siempre que C = p+1. Por tanto el tamaño real del dispositivo PIL de intercalado se convierte en un valor determinado por RxC, que es mayor que K. Adicionalmente, Cj(i) indica una posición de los bits de información obtenidos mediante la permutación aleatoria de la posición de los bits de información de entrada en el grupo basándose en un grupo de orden i, en el que i = 0, 1, 2, 3...., p. Adicionalmente Pj indica un valor semilla inicial para un vector de fila de orden j, y se proporciona inicialmente mediante el algoritmo.
Ecuación 2
B-1) Se selecciona una raíz g0 primitiva a partir de una tabla de constantes de inicialización aleatoria dada (3GPP TS 25.212 tabla 2, tabla de un primo p y raíz primitiva asociada) de tal manera que g0 es una raíz primitiva de un campo basado en el primo p.
B-2) Construir una secuencia C(i) de base a utilizar para la aleatorización de los vectores de fila, se genera utilizando la fórmula siguiente.
C(i)=[g0 \ x \ C(i-1)] \ mod \ p, \ i = 1, \ 2, \ 3, ..., \ p-2,\ C(0)=1
B-3) Seleccionar el conjunto de números enteros primos mínimo {q_{j}, j = 0, 1, 2, ..., R-1} de tal manera que g.c.d{q_{j}, p-1} = 1, q_{j} > 6 y q_{j} > q_{(j-1)}, en el que g.c.d ("greatest common divider"), es un máximo común divisor y q_{0} = 1.
B-4) {p_{j}, j = 0, 1, 2, ..., R-1} que es un conjunto nuevo de números primos se calcula a partir de {q_{j,} j = 0, 1, 2, ..., R-1} de tal manera que p_{p(j)} = q_{j}, en el que j = 0, 1, ... R-1 y p_{(j)} es el patrón de permutación entre filas definido en la tercera etapa.
B-5) Elementos de la permutación dentro de una fila de orden j como método siguiente
C_{j}(i)=C(i \ x \ p_{j}] \ mod \ (p-1)), \ i=1, \ 2, \ 3, ..., \ p-2,
C_{j}(p-1)=0
y
C_{j}(p)=p
Una tercera etapa,
Realizar la permutación de filas basada en los siguientes patrones p_{(j)} (j = 0, 1, 2, R-1) en los que p_{(j)} es la posición de fila original de la fila permutada de orden j. El uso de estos patrones es el siguiente, cuando el número del bit K de información de entrada es de 320 a 480 bit realizar el patrón p_{A} de selección de grupo, cuando el número del bit K de información de entrada es de 481 a 530 bit realizar el patrón p_{C} de selección de grupo, cuando el número del bit K de información de entrada es de 531 a 2280 bit realizar el patrón p_{A} de selección de grupo, cuando el número del bit K de información de entrada es de 2281 a 2480 bit realizar el patrón p_{B} de selección de grupo, cuando el número del bit K de información de entrada es de 2481 a 3160 bit realizar el patrón p_{A} de selección de grupo, cuando el número del bit K de información de entrada es de 3161 a 3210 bit realizar el patrón p_{B} de selección de grupo, y cuando el número del bit K de información de entrada es de 3211 a 5114 bit realizar el patrón p_{A} de selección de grupo. El patrón de selección de grupo es como sigue;
p_{A}: {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11} para R = 20
p_{B}: {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10} para R = 20
p_{C}: { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0} para R = 10
Debería observarse en la presente memoria que la última operación de B-5) se define como C_{j}(p) = p. Es decir, esto significa que cuando la posición del bit de información de entrada antes del intercalado es p, la posición del bit de información de entrada se mantiene en la posición p incluso después del intercalado PIL. Por tanto para el último grupo (j = 19), los bits C_{R-1}(P) = C_{19}(p) de información existentes en la última posición mantienen la misma posición i = P que es la última posición del grupo de orden 19. Por tanto, la condición 2 para diseñar el dispositivo intercalado turbo no se cumple.
Es decir, para resolver el problema del dispositivo PIL de intercalado puede modificarse la etapa B-5) de algoritmo de la manera siguiente. La invención presenta seis métodos de B-5-1) a B-5-6) a modo de ejemplo. Entre estos, un rendimiento óptimo puede determinarse a través de simulaciones a la luz de las propiedades del dispositivo de intercalado turbo.
Se selecciona uno de los 6 métodos siguientes.
B-5-1) Se intercambian las posiciones de C_{R-1}(0) y C_{R-1} (p). R = 10 o 20
B-5-2) Se intercambian las posiciones de C_{R-1}(p-1) y C_{R-1} (p). R = 10 o 20
B-5-3) Para cada j se intercambian las posiciones de C_{j}(0) y C_{j}(p). j = 0, 1, 2, ..., R-1
B-5-4) Para cada j se intercambian las posiciones de C_{j}(p-1) y C_{j}(p). j = 0, 1, 2, ..., R-1
B-5-5) Para cada j se busca una posición k de intercambio óptima para el algoritmo de intercalado utilizado para intercambiar posiciones de C_{j}(k) y C_{j}(p).
B-5-6) Para una fila de orden (R-1) se busca una posición k de intercambio óptima para el algoritmo de intercalado utilizado para intercambiar posiciones de C_{R-1}(k) y C_{R-1}(p).
Las figuras 11 y 12 muestran un diagrama de bloques y un diagrama de flujo según una realización de la presente invención respectivamente.
Con referencia a la figura 11, un bloque 912 de permutación de vectores de fila (o generador de índices de permutación de vectores de fila) genera un índice para seleccionar un vector de fila según el conteo de un contador 911 de fila, y proporciona el índice generado a una memoria intermedia de direcciones altas de la memoria 918 intermedia de direcciones. El bloque 912 de permutación de vectores de fila es un seleccionador de grupo para seleccionar secuencialmente o de manera aleatoria, cuando la palabra de información de entrada está dividida en una pluralidad de grupos, los grupos divididos. Un bloque 914 de permutación de vectores de columna (o generador de índices de permutación de elementos de vector de columna) genera, en función de un logaritmo 915 PIL modificado, un índice para permutar las posiciones de los elementos en el vector (o grupo) de fila correspondiente según un conteo de un contador 913 de columna, y proporciona el índice generado a una memoria intermedia de direcciones bajas de la memoria 918 intermedia de direcciones. El bloque 914 de permutación de vectores de columna es un dispositivo de aleatorización para permutar la posición de los bits de información en el grupo, que se almacenaron secuencialmente en el orden de entrada según una regla determinada. Una memoria 917 RAM ("Random Access Memory", memoria de acceso aleatoria) almacena datos temporales generados en el proceso del programa. Una tabla 916 de consulta almacena parámetros para el intercalado y la raíz primitiva. Las direcciones obtenidas mediante permutación de fila y permutación de columna (es decir, las direcciones almacenadas en la memoria 918 intermedia de dirección) se usan como direcciones para el intercalado.
La figura 12 muestra un diagrama de flujo del algoritmo PIL modificado. Una descripción a continuación se refiere a la segunda etapa, caso-B, en el algoritmo PIL. Con referencia a la figura 12 se selecciona una raíz g0 primitiva a partir de una tabla de constantes de inicialización aleatoria determinada, en la etapa 1011. Después, en la etapa 1013 se genera una secuencia C(i) de base para aleatorizar los elementos (o bits de información) del grupo empleando la fórmula siguiente.
C(i)=[g0 \ x \ C(i-1)] \ mod \ p, \ i=1, \ 2, \ 3, ..., \ p-2, \ C(0)=1
Después en la etapa 1015 se calcula un conjunto de números primo mínimo {q_{j}, j = 0, 1, 2, ..., R-1} dado para el algoritmo. Entonces, en la etapa 1017 se calcula un conjunto de números primo {p_{j}, j = 0, 1, 2, ..., R-1} a partir del conjunto de números primo mínimo calculado. A continuación, en la etapa 1019, los elementos de un grupo de orden j se aleatorizan en el siguiente método.
C_{j}(i)=c([i \ x \ p_{j}] \ mod \ (p-1), \ i=0, \ 1, \ 2, \ 3, ..., \ p-2
C_{j}(p-1)=0
\vskip1.000000\baselineskip
En este caso, para incrementar la distancia libre mínima del turbo codificador mientras se aleatorizan los elementos del grupo, uno de B-5-1) a B-5-6) se selecciona para permutar (o desplazar) los bits de información existentes en la última parte de la trama a otras posiciones tras el intercalado.
B-5-1) significa que las posiciones del primer bit de información y el último bit de información en el último grupo se intercambian entre sí. B-5-2) significa que los dos últimos bits de información en el último grupo se intercambian entre sí. B-5-3) significa que para cada grupo, el bit de información existente en la última posición y el bit de información existente en la primera posición se intercambian entre sí. B-5-4) significa que para cada grupo, se intercambian las posiciones de los dos últimos bits de información. B-5-5) significa que para cada grupo se busca una posición k óptima para una regla de intercalado dada para intercambiar una posición del bit de información existente en la última posición de cada fila con una posición del bit de información existente en la posición k. Finalmente, B-5-6) significa que para el último grupo, se busca una posición k óptima para una regla de intercalado dada para intercambiar una posición del bit de información existente en la última posición con una posición del bit de información existente en la posición k.
Aplicando el algoritmo modificado al dispositivo PIL de intercalado es posible impedir una disminución en la distancia libre del turbo codificador. La tabla 2 a continuación muestra un espectro de peso del dispositivo PIL de intercalado antes de la modificación y la tabla 3 a continuación muestra un espectro de peso del dispositivo PIL de intercalado después de la modificación.
En las tablas 2 y 3, K indica el tamaño de la trama de información de entrada, Dlibre(1) indica una distancia libre calculada con el CISP para el que la palabra de información de entrada tiene el peso Hamming 1, y Dlibre(2) indica una distancia libre calculada con el CISP para el que la palabra de información de entrada tiene el peso Hamming 2. Por ejemplo, para K = 600, Dlibre(1) del dispositivo PIL de intercalado original se indica mediante 25/39/49/53/57/... en la tabla 2, y esto significa que la distancia libre mínima es 25 y la siguiente distancia libre mínima es 39. De manera similar, Dlibre(2) = 38/38/42/... significa que la distancia libre mínima es 38. Por tanto se observa que la distancia libre mínima se determina según la distancia libre mediante el CISP con el peso Hamming 1. Para impedir una disminución en la distancia libre mediante el CISP con el peso Hamming 1, la invención utiliza el método B-5-1) en este ejemplo. Es decir, se mejora Dlibre(1) eliminando el CISP con el peso Hamming 1.
La tabla 2 a continuación muestra un espectro de peso del dispositivo PIL de intercalado antes de la modificación.
TABLA 2
2
TABLA 2 (continuación)
3
TABLA 2 (continuación)
4
TABLA 2 (continuación)
5
La tabla 3 muestra a continuación un espectro de peso del dispositivo PIL de intercalado después de la modificación.
TABLA 3
50
TABLA 3 (continuación)
6
TABLA 3 (continuación)
7
TABLA 3 (continuación)
8
Tal como se ha descrito anteriormente, el turbo codificador novedoso suprime una disminución en la distancia libre provocada por uno o más bits de información de "1" situados en el último periodo de una entrada de trama de datos al codificador de componentes, utilizando el dispositivo de intercalado interno, contribuyendo así a la implementación de un turbo codificador con alto rendimiento.

Claims (3)

1. Turbo codificador que comprende:
un primer codificador (111) dispuesto para codificar una trama de bits K de información de entrada para generar primeros símbolos codificados;
un dispositivo (112) de intercalado dispuesto para escribir secuencialmente los bits K de información de entrada en una matriz rectangular R x C fila por fila comenzando en la primera columna de la primera fila, permutar dentro de la fila las posiciones de los bits de información en la matriz rectangular R x C en cada fila según una regla de intercalado dada, en el que dicha permutación dentro de la fila deja las posiciones de los bits en la última columna de dicha matriz sin cambiar después de dicha permutación, intercambiar la posición del bit de información en la última columna de la última fila con una posición dentro de la última fila que precede a la última columna, realizar permutaciones entre filas de la matriz rectangular R x C, y leer los bits de información desde la matriz rectangular R x C permutada columna por columna comenzando en la primera fila de la primera columna; y
un segundo codificador (113) dispuesto para codificar los bits de información leídos para generar segundos símbolos codificados,
en el que la matriz rectangular R x C tiene R filas y C columnas, K = R x C y especifica el número de bits de información de entrada en la trama, y K > R > 1.
2. Turbo codificador según la reivindicación 1, en el que el turbo codificador se dispone adicionalmente para almacenar los bits de información de entrada en una memoria, para realizar el intercalado de los bits de información en la matriz rectangular R x C basándose en direcciones de lectura generadas correspondientes a la matriz rectangular R x C permutada, y para emitir los bits de información desde la memoria mediante las direcciones de lectura generadas.
3. Turbo codificador según la reivindicación 1, en el que el turbo codificador se dispone adicionalmente para intercambiar una posición de un bit de información en la última columna de la última fila con una posición de un bit de información en la primera columna de la última fila.
ES00927908T 1999-05-19 2000-05-19 Aparato y metodo de intercalado turbo. Expired - Lifetime ES2275508T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR19990018928 1999-05-19
KR99-018928 1999-05-19
KR19990018560 1999-05-21
KR99-018560 1999-05-21

Publications (1)

Publication Number Publication Date
ES2275508T3 true ES2275508T3 (es) 2007-06-16

Family

ID=26635221

Family Applications (2)

Application Number Title Priority Date Filing Date
ES03019290T Expired - Lifetime ES2408118T3 (es) 1999-05-19 2000-05-19 Aparato y método de intercalado turbo.
ES00927908T Expired - Lifetime ES2275508T3 (es) 1999-05-19 2000-05-19 Aparato y metodo de intercalado turbo.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES03019290T Expired - Lifetime ES2408118T3 (es) 1999-05-19 2000-05-19 Aparato y método de intercalado turbo.

Country Status (14)

Country Link
US (2) US6598202B1 (es)
EP (6) EP1097516B1 (es)
JP (1) JP3359912B1 (es)
CN (6) CN1271796C (es)
AT (1) ATE349108T1 (es)
AU (1) AU752231B2 (es)
CA (1) CA2337918C (es)
CY (2) CY1105921T1 (es)
DE (2) DE20023169U1 (es)
DK (2) DK1367726T3 (es)
ES (2) ES2408118T3 (es)
IL (2) IL140661A (es)
PT (2) PT1097516E (es)
WO (1) WO2000070771A1 (es)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE20023169U1 (de) 1999-05-19 2003-04-24 Samsung Electronics Co., Ltd., Suwon, Kyonggi Turbo-Verschachtelungsvorrichtung
US6789218B1 (en) * 2000-01-03 2004-09-07 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
JP2001285077A (ja) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp 通信装置および通信方法
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
FR2823923A1 (fr) * 2001-04-18 2002-10-25 Koninkl Philips Electronics Nv Procede et ensemble d'interconnexion sans fil pour etablir une communication bidirectionnelle entre deux dispositifs audio et/ou video
US7085969B2 (en) * 2001-08-27 2006-08-01 Industrial Technology Research Institute Encoding and decoding apparatus and method
JP3624874B2 (ja) * 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
US7586993B2 (en) * 2001-12-06 2009-09-08 Texas Instruments Incorporated Interleaver memory selectably receiving PN or counter chain read address
JP3669433B2 (ja) * 2001-12-25 2005-07-06 ソニー株式会社 インターリーブ装置及びインターリーブ方法、符号化装置及び符号化方法、並びに復号装置及び復号方法
CN1324811C (zh) * 2002-02-06 2007-07-04 三星电子株式会社 通信系统中的交织器和交织方法
RU2292654C2 (ru) * 2002-08-13 2007-01-27 Нокиа Корпорейшн Символьное перемежение
US7620111B2 (en) 2002-08-13 2009-11-17 Nokia Corporation Symbol interleaving
WO2004030225A1 (en) * 2002-09-25 2004-04-08 Koninklijke Philips Electronics N.V. Circuit for recursively calculating data
US20040103359A1 (en) * 2002-11-27 2004-05-27 Molina Robert Jose Dynamic real time generation of 3GPP turbo decoder interleaver sequence
KR100518295B1 (ko) * 2003-03-14 2005-10-04 삼성전자주식회사 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
EP1770892A3 (en) * 2003-08-29 2007-04-18 Mitsubishi Electric Information Technology Centre Europe B.V. Method for transmitting in an optimal manner interleaved data in a MIMO telecommunication system
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
JP4539107B2 (ja) * 2004-02-12 2010-09-08 富士通株式会社 送信装置、ビット配置方法
JP4909498B2 (ja) 2004-02-27 2012-04-04 日本電気株式会社 インターリーブパラメータ演算方法/プログラム/プログラム記録媒体/装置、携帯電話機
TWI237448B (en) * 2004-04-12 2005-08-01 Benq Corp Method for interleaving data frame and circuit thereof
KR20060004198A (ko) * 2004-07-08 2006-01-12 삼성전자주식회사 이동통신 시스템에서 블록 디인터리버 버퍼의 운용 방법및 장치
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
KR100708474B1 (ko) * 2005-09-15 2007-04-18 삼성전자주식회사 선형 합동 인터리버의 매개변수 결정 방법 및 그를 이용한 선형 합동 인터리버
DE102006026895B3 (de) * 2006-06-09 2007-11-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver-Vorrichtung, Empfänger für ein von der Interleaver-Vorrichtung erzeugtes Signal, Sender zum Erzeugen eines Sendesignals, Verfahren zum Verarbeiten eines Codeworts, Verfahren zum Empfangen eines Signals und Computer-Programm
US8379738B2 (en) 2007-03-16 2013-02-19 Samsung Electronics Co., Ltd. Methods and apparatus to improve performance and enable fast decoding of transmissions with multiple code blocks
US8386878B2 (en) 2007-07-12 2013-02-26 Samsung Electronics Co., Ltd. Methods and apparatus to compute CRC for multiple code blocks
US8296627B2 (en) * 2007-07-20 2012-10-23 Electronics And Telecommunications Research Institute Address generation apparatus and method of data interleaver/deinterleaver
CN101359977B (zh) * 2007-08-02 2012-09-26 财团法人工业技术研究院 适用于数据切换多路复用的方法及装置
US8555148B2 (en) * 2007-09-18 2013-10-08 Samsung Electronics Co., Ltd. Methods and apparatus to generate multiple CRCs
US8161360B1 (en) * 2007-10-31 2012-04-17 Link—A—Media Devices Corporation Integrated interleaved codes
US8200733B1 (en) 2008-04-15 2012-06-12 Freescale Semiconductor, Inc. Device having interleaving capabilities and a method for applying an interleaving function
US8982832B2 (en) * 2008-04-28 2015-03-17 Qualcomm Incorporated Wireless communication of turbo coded data with time diversity
US20110047434A1 (en) * 2008-04-28 2011-02-24 Qualcomm Incorporated Wireless communication of turbo coded atsc m/h data with time diversity
US8612820B2 (en) * 2009-04-11 2013-12-17 Qualcomm Incorporated Apparatus and methods for interleaving in a forward link only system
CN101931419B (zh) * 2009-06-24 2013-04-03 中兴通讯股份有限公司 一种turbo码内交织器的计算方法及装置
DE102011006112B4 (de) * 2011-03-25 2024-01-18 Siemens Aktiengesellschaft Elektrischer Schalter und Überstromauslösemodul
US9160370B2 (en) * 2014-01-02 2015-10-13 Oracle International Corporation Single component correcting ECC using a reducible polynomial with GF(2) coefficients

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL186790C (nl) 1980-07-14 1991-02-18 Philips Nv Werkwijze voor het coderen van een reeks van blokken tweetallige databits in een reeks van blokken van tweetallige kanaalbits, alsmede modulator, demodulator en registratiedrager te gebruiken bij de werkwijze.
US4802170A (en) * 1987-04-29 1989-01-31 Matrox Electronics Systems Limited Error disbursing format for digital information and method for organizing same
FR2675971B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
US5483541A (en) * 1993-09-13 1996-01-09 Trw Inc. Permuted interleaver
US5548775A (en) * 1993-12-30 1996-08-20 International Business Machines Corporation System and method for adaptive active monitoring of high speed data streams using finite state machines
US5446474A (en) 1994-01-19 1995-08-29 Lockheed Missiles & Space Company, Inc. Redeployable furlable rib reflector
US5537420A (en) * 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
KR970036265A (ko) 1995-12-29 1997-07-22 한승준 무릎 보호용 완충 패드가 장착된 자동차의 인스트루먼트 패널
KR0176888B1 (ko) 1996-01-24 1999-04-15 구자홍 광디스크 기록재생기의 서보 제어 장치
US5996104A (en) 1996-09-13 1999-11-30 Herzberg; Hanan System for coding system
US6035434A (en) * 1997-06-12 2000-03-07 Advanced Micro Devices, Inc. System and method for bit interleaving of half-rate speech data
US6101465A (en) * 1997-06-12 2000-08-08 Advanced Micro Devices, Inc. System and method for bit interleaving of full-rate speech data
KR19990012821A (ko) * 1997-07-31 1999-02-25 홍성용 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법
WO1999012265A1 (en) 1997-09-02 1999-03-11 Sony Corporation Turbo-coder/decoder and turbo-coding/decoding method
US6437714B1 (en) 1998-04-18 2002-08-20 Samsung Electronics, Co., Ltd. Channel encoding device and method for communication system
EP0963049B1 (en) * 1998-06-01 2007-08-01 Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry Interleaving with golden section increments
US6007995A (en) 1998-06-26 1999-12-28 Isis Pharmaceuticals Inc. Antisense inhibition of TNFR1 expression
DE69936626T2 (de) 1998-08-06 2008-05-21 Samsung Electronics Co., Ltd., Suwon Kanalkodierung und -dekodierung für ein kommunikationssystem
KR100373965B1 (ko) * 1998-08-17 2003-02-26 휴우즈 일렉트로닉스 코오포레이션 최적 성능을 갖는 터보 코드 인터리버
BR9906704A (pt) * 1998-08-20 2000-08-08 Samsung Electronics Co Ltd Dispositivo de turbo codificação, e, processo para inserir um bit especìfico em um turbo codificador
US6704370B1 (en) * 1998-10-09 2004-03-09 Nortel Networks Limited Interleaving methodology and apparatus for CDMA
KR100453605B1 (ko) 1998-10-13 2004-10-20 인터디지탈 테크날러지 코포레이션 터보 코드용 하이브리드 인터리버
US6304991B1 (en) 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
FI106493B (fi) 1999-02-09 2001-02-15 Nokia Mobile Phones Ltd Menetelmä ja järjestelmä pakettimuotoisen datan luotettavaksi siirtämiseksi
DE20023169U1 (de) 1999-05-19 2003-04-24 Samsung Electronics Co., Ltd., Suwon, Kyonggi Turbo-Verschachtelungsvorrichtung
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
EP1576735B1 (en) * 2002-12-16 2016-04-06 Telecom Italia S.p.A. Address generation for interleavers in turbo encoders and decoders

Also Published As

Publication number Publication date
ATE349108T1 (de) 2007-01-15
AU4621300A (en) 2000-12-05
JP2003500885A (ja) 2003-01-07
CN100574116C (zh) 2009-12-23
JP3359912B1 (ja) 2002-12-24
CN1497866A (zh) 2004-05-19
DK1367726T3 (da) 2013-05-06
US6598202B1 (en) 2003-07-22
CA2337918A1 (en) 2000-11-23
AU752231B2 (en) 2002-09-12
CN1520059A (zh) 2004-08-11
USRE43212E1 (en) 2012-02-21
EP1367730B1 (en) 2018-03-28
CN100442679C (zh) 2008-12-10
EP1367728A1 (en) 2003-12-03
DE60032441D1 (de) 2007-02-01
DE60032441T2 (de) 2007-06-06
EP1367731A1 (en) 2003-12-03
CN1520058A (zh) 2004-08-11
IL140661A (en) 2006-10-31
CN1520060A (zh) 2004-08-11
PT1097516E (pt) 2007-01-31
WO2000070771A1 (en) 2000-11-23
EP1367730A1 (en) 2003-12-03
IL169471A (en) 2010-04-29
EP1367729A1 (en) 2003-12-03
CN1274096C (zh) 2006-09-06
CN1318225A (zh) 2001-10-17
EP1097516A1 (en) 2001-05-09
CY1105921T1 (el) 2011-04-06
EP1097516A4 (en) 2002-06-12
CN1271795C (zh) 2006-08-23
EP1367726B1 (en) 2013-02-20
EP1097516B1 (en) 2006-12-20
CN1520044A (zh) 2004-08-11
EP1367726A1 (en) 2003-12-03
DE20023169U1 (de) 2003-04-24
PT1367726E (pt) 2013-05-10
ES2408118T3 (es) 2013-06-18
CY1114077T1 (el) 2016-07-27
CN1271796C (zh) 2006-08-23
CN1171393C (zh) 2004-10-13
CA2337918C (en) 2006-02-21
DK1097516T3 (da) 2007-01-29
IL169471A0 (en) 2007-07-04
IL140661A0 (en) 2002-02-10

Similar Documents

Publication Publication Date Title
ES2408118T3 (es) Aparato y método de intercalado turbo.
JP3359913B1 (ja) 移動通信システムの直列鎖状コンボルーション符号化器に使用するためのインタリーバ及びそのインタリービング方法
US6334197B1 (en) Turbo code interleaver with near optimal performance
US6591381B1 (en) 2-dimensional interleaving apparatus and method
KR100330234B1 (ko) 터보 인터리빙 장치 및 방법
RU2212103C2 (ru) Устройство и способ для турбоперемежения
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법