ES2197683T3 - Intercalador hibrido para turbo codigos. - Google Patents

Intercalador hibrido para turbo codigos.

Info

Publication number
ES2197683T3
ES2197683T3 ES99953182T ES99953182T ES2197683T3 ES 2197683 T3 ES2197683 T3 ES 2197683T3 ES 99953182 T ES99953182 T ES 99953182T ES 99953182 T ES99953182 T ES 99953182T ES 2197683 T3 ES2197683 T3 ES 2197683T3
Authority
ES
Spain
Prior art keywords
encoder
bits
input
interleaver
bit
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
ES99953182T
Other languages
English (en)
Inventor
Sung-Hyuk Shin
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.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology 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
Application filed by InterDigital Technology Corp filed Critical InterDigital Technology Corp
Application granted granted Critical
Publication of ES2197683T3 publication Critical patent/ES2197683T3/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
    • 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
    • H03M13/2993Implementing the return to a predetermined state, i.e. trellis termination
    • 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/2742Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
    • H03M13/2746S-random interleaver
    • 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/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of 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/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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Medicinal Preparation (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Detection And Correction Of Errors (AREA)
  • Interface Circuits In Exchanges (AREA)
  • Supercharger (AREA)
  • Compositions Of Oxide Ceramics (AREA)

Abstract

Un codificador de turbo-códigos (17) para codificar al menos un conjunto de entrada de N bits con números enteros de posición de permutación (k), en donde k=1 a N, que comprende: un primer codificador (21) con tamaño de memoria m, que tiene una primera entrada, acoplada a una primera fuente y una fuente común, y un registro de múltiples estados que tiene 2alpha estados, para recibir dicho conjunto de bits de entrada como dicha primera fuente y codificar dicho conjunto de bits de entrada para proporcionar un conjunto de bits de entrada codificados en una primera salida: un intercalador híbrido de aleatoriedad S (19) para recibir dicho conjunto de bits de entrada y reordenar los bits dentro de dicho conjunto de bits de entrada para proporcionar un conjunto de bits de entrada reordenados, en donde S es un valor predeterminado arbitrario; un segundo codificador (23) con un tamaño de memoria m, que tiene una segunda entrada, acoplada a una segunda fuente y a dicha fuente común, y un registro demúltiples estados que tiene 2alpha estados, para recibir dicho conjunto de bit de entrada reordenados como dicha segunda fuente y codificar dicho conjunto de bits de entrada reordenados para proporcionar un conjunto de bits de entrada codificados reordenados en una segunda salida; y un conmutador (SW), para conmutar dicho primer codificador desde dicha primera fuente a dicha fuente común y para conmutar dicho segundo codificador desde dicha segunda fuente a dicha fuente común: por lo que dicha primera salida proporciona dicha fuente común, caracterizado porque dicho intercalador (19) reordena dichos números enteros I(k) de manera que, una vez reordenados, el valor para (k)-(k-nL) no es divisible por L, en donde L = 2m - 1, y n es un número entero positivo definido como k-nL >- 0 y nL <- S.

Description

Intercalador híbrido para turbo códigos.
Antecedentes de la invención Campo de la invención
La presente invención se refiere generalmente procedimientos que generan diversidad de tiempo en sistemas con elevado aumento de procesamiento. Más concretamente, la invención se refiere a un sistema y método de representación (``mapping'') de intercalación de turbo-códigos en el que se reduce el número de bits de cola requeridos para vaciar o borrar los registros de almacenamiento de cada codificador constituyente hasta un estado de todo ceros.
Descripción de la técnica anterior
En muchos tipos de sistemas de comunicación de datos, ya sean con voz o sin voz, la diversidad o redundancia de señal cuando se transmite información se muestra para mejorar el rendimiento sin comprometer otros aspectos del sistema de transmisión de datos. Son conocidas dos técnicas que añaden diversidad de tiempo como codificación de intercalación y la codificación hacia corrección de error (FEC).
El procedimiento de intercalación es aquel en el que la secuencia de datos de entrada se permuta o reordena en otra secuencia. Por ejemplo:
\dotable{\tabskip\tabcolsep\hfil#\hfil\+\hfil#\hfil\+\hfil#\hfil\tabskip0ptplus1fil\dddarstrut\cr}{
 \+  I  _{N} \+\cr  (01234567) \+  \leftarrow  \+
(30671524)\cr}
en donde el operador matemático I_{N} [J] transpone la posición original de cada bit o símbolo de una secuencia de entrada finita a una nueva posición J mediante el funcionamiento del intercalador I_{N}. Este proceso de reordenación que consigue diversidad de tiempo se llama intercalación y se puede realizar de muchas formas. Se conocen dos métodos de intercalación típicas, como la intercalación en bloque o la intercalación aleatoria.
En el destino de transmisión, la señal es reordenada de nuevo, volviendo a poner la secuencia de datos en el orden original. El proceso inverso se denomina desintercalación.
La ventaja más reciente en las técnicas de codificación que presentan mejor rendimiento son los turbo-códigos. Existe una gran variedad de diseños de intercalación de turbo-códigos y requieren menos complejidad durante la descodificación. Los tres más conocidos son: 1) intercaladores de bloque; 2) intercaladores pseudo-aleatorios; y 3) intercaladores de aleatoriedad S.
Los intercaladores de mejor rendimiento son los intercaladores de aleatoriedad S. Los intercaladores de aleatoriedad S explotan la propiedad de las posiciones próximas de no presentación dentro de una cierta longitud de secuencia, para las posiciones próximas que presentan la misma longitud. Esto hace la longitud de la secuencia tan larga como sea posible. Todos los diseños de intercaladores requieren un conjunto específico de reglas que ajusten sucesivamente el tamaño de secuencia de entrada y la permutación.
En combinación con la intercalación, la codificación FEC mejora el rendimiento para las señales que están desmoduladas coherentemente. La codificación FEC añade redundancia adicional en la secuencia de datos original. En sistemas de comunicación que se comunican sobre una interfaz de aire de amplio espectro, la redundancia ya está presente en el canal de transmisión espectral compartido. Un descodificador FEC es una máquina de estado finito que depende de los nodos o estados y los registros de retraso. Las transmisiones predeterminadas entre los registros definen una trayectoria desde la cual una entrada de datos dada puede producir una salida. Una forma común para ilustrar la técnica de codificación y descodificación para los datos codificados en bucle es el uso de un registro de diagrama enrejado (``trellis'') en los bits de información de entrada \vec{x}_{N} en su orden original mientras que el segundo descodificador reordena los bits de salida a medida que son permutados por el intercalador de turbo-códigos \vec{x}'_{N}. La secuencia de información de salida \vec{x}_{N} es también transmitida a través del canal. Dependiendo de la velocidad de transmisión de datos, las salidas de ambos codificadores pueden estar ``pinchadas'' antes de la transmisión \vec{y}_{N}. La perforación (``puncturig'') es un proceso en el cual las salidas alternas de las tomas inferiores (primer y segundo codificadores \vec{p}^{1}_{N}, \vec{p}^{2}_{N}) son retrasadas desde la salida. Este proceso establece una velocidad de código.
El intercalador de turbo-códigos es un distorsionador (``scrambler'') definido por una permutación de la longitud de secuencia sin repeticiones. Una secuencia completa es una entrada en el intercalador y salida en un orden definido con anterioridad.
Un procedimiento de reducción de información final (``tailling off'') de la técnica anterior se muestra y describe en las Figs. 3 y 4. Los bits de cola para cada codificador se obtienen desde la retroalimentación del registro desde cada codificador, como se muestra en la Fig. 3. Dado que los contenidos del registro de cada codificador constituyente son diferentes al inicio de la operación de reducción de la información final, cada codificador debe ser vaciado de forma separada. Como se ha descrito en la Fig. 4, cada codificador (en la Fig. 3) es vaciado exclusiva e independientemente uno de otro después de que los bits de información hayan sido codificados. Cada codificador deriva y recibe sus propios bits de cola. Por lo tanto, si m iguala en número de estados de memoria de registro de un codificador, se necesitan m bits de cola para un codificador y son necesarios 2m para ambos codificadores.
Un decodificador de turbo-códigos de la técnica anterior se muestra en la Fig. 5. Durante la recepción de la señal de valor de software desmodulada \vec{y}_{N}, la información de decisión de software para los bits de (información) y paridad sistemática \vec{p}'_{N} proveniente del primer codificador constituyente son enviadas al primer decodificador constituyente. El primer decodificador constituyente genera valores de probabilidad de decisión de software, actualizados \vec{L}_{e1}(\vec{x}_{N}) para los bits de información que entran junto con los bits de información a un intercalador de decodificador. La entrada al segundo decodificador constituyente incluye las secuencias de valor de software intercaladas \vec{x}'_{N} y \vec{L}_{e1}(\vec{x}_{N}) y los bits de paridad \vec{p}^{2}_{N} procedentes del segundo codificador constituyente. La salida del segundo decodificador mejora los valores de probabilidad de decisión de software derivados de la salida del primer decodificador constituyente y es retroalimentada al primer decodificador constituyente después del reordenamiento de acuerdo con el intercalador de turbo-decodificador como un proceso iterativo la salida \vec{x}^{e} proveniente del segundo decodificador constituyente se obtiene después de que se haya completado la operación de descodificación.
Como se ha expuesto anteriormente, el uso de un intercalador de turbo-códigos requiere que la codificación se realice en una longitud de secuencia finita. Para codificar tal secuencia de información finita, es necesario que ambos codificadores RSC constituyente en el turbo-codificador empiecen y acaben en el estado de todo ceros para la terminación de enrejado. Sin embargo, debido a la presencia del turbo-intercalador, es difícil forzar de manera simultánea los dos codificadores constituyente para terminar en el estado de todo ceros con los mismos bits de enrejado. Los turbo- codificadores de la técnica anterior tienen sus secuencias de información terminadas con una pluralidad de bits de cola. Los bits de cola son considerados una molestia y sobrecarga de la secuencia turbo-codificada.
Las dificultades con los codificadores de turbo-códigos de vaciado y llevar sus enrejados de nuevo a su estado inicial han sido reconocidas durante mucho tiempo por en la técnica anterior. Por ejemplo, el artículo titulado ``Terminación de Turbo- códigos y Condiciones de Intercalador'' por Blackert y otros, Electronics Letters, Vol. 31, Nº 24, pp. 2082-2084, 1995, el artículo titulado ``Turbo-códigos para Aplicaciones PSC'' por Divsalar y otros, IEEE Proc. Conf. Comm, 1995, pp. 54-59, y el artículo titulado ``Terminación de enrejados de Turbo-Códigos en el Mismo Estado'' por Barbulescu y otros, Electronics Letters, Vol. 31, No 1, páginas 23-23. 1995, reconocen los problemas inherentes parea devolver los enrejados de múltiples codificadores a sus estados iniciales. Sin embargo, ninguna de las soluciones de la técnica anterior proporciona un método adecuado para devolver los enrejados de múltiples codificadores a su estado inicial sin reducción en la eficacia del codificador.
Por consiguiente, existe la necesidad de un intercalador de turbo-códigos que no requiera una pluralidad de bits de cola para forzar cada codificador constituyente a un estado de todo ceros.
Sumario de la invención
La presente invención se refiere a un intercalador híbrido de turbo-códigos que tiene codificadores constituyentes sistemáticos recursivos. El sistema y proceso codifica un marco finito de bits sin requerir una pluralidad de bits de cola para vaciar los registros de cada codificador a un estado de todo ceros. El intercalador híbrido reduce la sobrecarga de turbo-códigos utilizando el mismo número de bits de cola para ambos codificadores constituyentes mejorando el rendimiento del mejor turbo- intercalador.
Por consiguiente, es un objeto de la presente invención proporcionar un sistema y método de intercalación que no requiera una pluralidad de bits de cola para formar parte del proceso de codificación.
Es otro objeto de la invención, eliminar la sobrecarga innecesaria en la secuencia de codificación de turbo-códigos limitando el número de bits de cola que terminan el proceso de codificación a un estado inicial cero con una única cola de m bits en el que m es en número de registros de almacenamiento en cada codificador constituyente.
Otros objetos y ventajas del sistema y el método resultarán evidentes para los expertos en la técnica después de la lectura de la descripción detallada de la realización preferida.
La presente invención proporciona un codificador de turbo-códigos de acuerdo con la reivindicación 1 y el método de acuerdo con la reivindicación 7. Se proporcionan aspectos preferidos adicionales de la invención de acuerdo con las reivindicaciones dependientes.
Breve descripción de los dibujos
La Figura 1 es un diagrama de enrejados de la técnica anterior para un codificador RSC de cuatro estados.
La Figura 2 es un diagrama de sistema de un codificador de turbo- códigos de la técnica anterior.
La Fig. 3 es un diagrama de sistema de un codificador de cuatro estados de la técnica anterior, mostrando la reducción de información final.
La Figura 4. es una carta de flujo de un método de reducción de la información final de la técnica anterior.
La Figura 5 es un diagrama de sistema de un descodificador de turbo-códigos de la técnica anterior.
La Figura 6 es un diagrama de sistema de un codificador de turbo- códigos con un intercalador híbrido que emplea el sistema y método de la presente invención.
La Figura 7 es una carta de flujo de la realización del método de intercalador de la presente invención.
La Figura 8 es una secuencia de intercalación de tamaño de marco 16 producida por la presente invención para un codificador de turbo-códigos de 4 estados con S igual a 2 y L igual a 4.
La Figura 9 es la representación de la secuencia de intercalación de la Figura 8.
La Figura 10 es la secuencia de intercalación de tamaño de marco 16 de la Figura 8 verificada.
La Figura 11 es una carta de flujo de la realización del método de reducción de información final de la presente invención.
La Figura 12 es una carta de flujo de una realización alternativa.
Descripción detallada de las realizaciones preferidas
Un codificador de turbo-códigos 17 con un intercalador híbrido 19 mostrado de acuerdo con la presente invención, como se ilustra en la Figura 6 hace que el primer 21 y segundo 23 codificadores constituyentes RSC terminen en un estado de todo ceros utilizando una única operación 25 de bits de reducción de información final. La presente invención 17 aprovecha la propiedad cíclica de cada codificador constituyente 21, 23 a la vez que mantiene el rendimiento de los mejores turbo- intercaladores. El codificador de turbo-códigos 17 con el intercalador híbrido 19 reduce la sobrecarga de bits de cola adicional necesaria para la terminación de enrejados de cada codificador constituyente 21, 23.
Las Figuras 6 y 7 describen el sistema y procedimiento del intercalador 19 de turbo-códigos. El proceso 51 comienza (etapa 53) recibiendo una secuencia de datos de entrada 27 para su codificación. Se elige el tamaño del marco de secuencia de codificación N (etapa 55). El tamaño de estado y velocidad de perforación (``puncturing'') (velocidad de código) son independientes del intercalador híbrido 19. El intercalador híbrido 19 genera los números enteros I(k) para la permutación (etapa 57).
Como se muestra en las Figuras 8 y 9, la generación de la secuencia de números enteros aleatorios se realiza bit a bit para cada posición 31_{1- N} de marco 29.La generación de un número entero aleatorio (etapa 57) denominado I(k) es: 1\leq I(k) \leq N\eqnum{Ecuación (1)} en donde k = 1, 2, ......, N) para cada posición 35_{1-N} representada 33 de la secuencia de intercalador. La secuencia corriente I(k) debe cumplir las condiciones A (etapa 59), B (etapa 63 y C (etapa 65) como sigue: \text{Condición A: }|I(k - j)|>S\eqnum{Ecuación (2)} en donde 0 < j \leq S\eqnum{Ecuación (3)} y k-j \geq 0\eqnum{Ecuación (4)}
La ecuación (2) de la Condición A representa las propiedades de los intercaladores de aleatoriedad S. S es un valor arbitrario. \text{Condición B: }|I(k) - I(k - n.L)|\neq j .L.\eqnum{Ecuación (5)} (etapa 63) en donde n y j son números enteros positivos sujetos a: k-n.L \geq 0;\eqnum{Ecuación (6)} y n.L \leq S\eqnum{Ecuación (7)}
(etapa 61)
L se determina por el codificador constituyente utilizado en el codificador de turbo-códigos. A modo de ejemplo, L = 7 se utiliza en un turbo- codificador de ocho estados. \text{Condición C: } k \mod 2^{m}- 1 = I(k) \mod 2^{m}-1 \forall k \eqnum{Ecuación (9)}
(etapa 65) en donde m es el tamaño de la memoria del codificador constituyente. Para codificadores de 4 y 8 estados, m es igual a 2 y 3 respectivamente. Las etapas anteriores se repiten hasta que todos los números enteros I(k) para k = 1, 2,...... N (etapa 66) para el intercalador híbrido 19 son seleccionados (etapa 67) y extraídos (etapa 69).
Un ejemplo del sistema y método anteriormente mencionados se muestra en las Figs. 8, 9 y 10. Un tamaño de marco de secuencia de 16 que utiliza un descodificador 17 de turbo-códigos de 4 estados con intercalador híbrido 19 con S igual a 2 y L igual 4 se muestra permutado de acuerdo con los principios de la invención. El intercalador híbrido 19 cumple las Condiciones A y B. La salida 37 del intercalador híbrido 19 está verificada en la Figura 10 utilizando la Condición C de manera que después de dividir el índice de una secuencia de información de entrada 27 por 2^{m}-1, la secuencia restante resultante 39A es igual a la secuencia restante correspondiente 39B debido al índice de presentación de intercalación 33. Una vez que el intercalador híbrido 19 de turbo- códigos 19 es especificado 51, los bits de información 27 son permutados de acuerdo con el intercalador híbrido 19 en orden para el segundo codificador 23 constituyente para recibir la salida 37.
El procedimiento de la presente invención que termina el enrejado utilizando los mismos bits de cola para el primer 21 y segundo 23 codificadores constituyentes se muestra y describe en las Figs. 6 y 11. Como se ha descrito anteriormente, los bits de información son codificados por ambos codificadores. El primer 21 codificador constituyente opera sobre los bits de información 27 en su orden original. El segundo 23 codificador constituyente opera sobre los bits de información 27 cuando están permutados 37 de acuerdo con el intercalador híbrido 19. la salida del primer 21 y segundo 23 codificadores es perforada y multiplicada produciendo una salida (véase la Figura 2).
El proceso de terminación de enrejado 81 que utiliza los mismos bits de cola para ambos codificadores constituyentes empieza (etapa 83) con el reconocimiento de todos los bits de información que han sido codificados por el primer 21 y segundo 23 codificadores constituyentes. En este momento, en el proceso de codificación, los contenidos de registro de ambos codificadores son iguales. El primer 21 y segundo 23 codificadores conmutan las entradas procedentes de la información original 27 y las corrientes de bits permutadas 37 para retroalimentar 41 desde el primer 21 codificador. La perforación de la primera 21 salida de codificador \vec{p}^{1}_{N} y la segunda 23 salida <dm>\vec{p}^{2}_{N}</dm> con la salida de información \vec{x}_{N} para el proceso de reducción de información final es el mismo que durante la codificación 21, 23 de los bits de información 27, 37. Después de la transmisión de ambos conmutadores 43, 45, el primer codificador 21 recibe los bits de cola procedentes de su propio registro a través de la retroalimentación 41 (etapa 85). Los bits de cola enviados al segundo codificador 23 no han sido intercalados por el intercalador híbrido 19 y son los mismos bits de cola 41 para la terminación del enrejado que en el primer codificador 21 (etapa 87).
Para un codificador de estado M, son necesarios log_{2} M bits de cola para vaciar todos los registros del primer 21 y segundo 23 codificadores hasta un estado inicial todo cero. Con L = log_{2}M, la Tabla 1 muestra el número de bits de cola necesarios y el número total de símbolos codificados de cola para un codificador de 4 y 8 estados.
TABLA 1
\catcode`\#=12\nobreak\centering\begin{tabular}{|c|c|c|c|c|}\hline\multicolumn{2}{|c|}{}\+
L  \+ Total de bits  \+ Total de \\\multicolumn{2}{|c|}{}\+  \+
codificados  \+ bits \\\multicolumn{2}{|c|}{}\+  \+ en parte de  \+
codificados \\\multicolumn{2}{|c|}{}\+  \+ cola  \+ en parte
\\\multicolumn{2}{|c|}{}\+  \+ (técnica  \+ cola
\\\multicolumn{2}{|c|}{}\+  \+ anterior)  \+ (presente
\\\multicolumn{2}{|c|}{}\+  \+  \+ invención \\\hline  Codificador 
\+ Turbo-código de velecidad 1/2  \+ 3  \+ 2 X 6 =
12  \+  6 \\  de 4 \+ \+ \+ \+ \\\dddcline{2}{5}  estados  \+
Turbo-código de velocidad 1/3  \+ 3  \+ 2 X 9 = 18 
\+ 9 \\\hline  Codificador  \+ Turbo-código de
velocidad 1/2  \+ 2  \+ 2 X 4 = 8  \+ 4 \\  de 4 \+ \+ \+ \+
\\\dddcline{2}{5}  estados  \+ Turbo-código de
velocidad 1/3  \+ 2  \+ 2X 6 = 12  \+ 6
\\\hline\end{tabular}\par\vskip.5\baselineskip
Para un codificador de turbo-códigos de velocidad 1/2 y velocidad 1/3 con codificadores constituyentes de cuatro (4) estados, la presente invención elimina 4 y 6 bits de cola, respectivamente. Para un codificador de turbo- códigos de velocidad 1/2 y velocidad 1/3 con codificadores constituyentes de ocho (8) estados, la presente invención 17 elimina 6 y 9 bits de cola, respectivamente, en comparación con los requeridos por la técnica anterior.
El codificador de turbo-códigos con intercalador híbrido produce un mejor rendimiento que los intercaladores de aleatoriedad S dado que las reglas establecidas en la Condición B evitan la distribución de bajo peso de peor caso de los turbo- códigos a la vez que la Condición A mantiene las mejores características. Dado que el intercalador híbrido 19 conduce a las mismas secuencias de estado de enrejado para tanto el primer 21 como para el segundo 23 codificadores constituyentes al inicio de la parte de cola, el uso de una secuencia de cola de m bits para vaciar tanto el primer 21 como el segundo 23 codificadores hasta un estado inicial todo ceros es aceptable. La información extrínseca \vec{L}^{I}_{e1}, que incluye los bits de cola generados a partir del primer descodificador constituyente son hechos pasar a un segundo descodificador constituyente para el rendimiento total (véase la Figura 5).
Como ejemplo, si la secuencia de información original es \vec{x}_{N} = \{1011010001110101\}.
La secuencia de información permutada de acuerdo con el intercalador híbrido 19 es \vec{x}'_{N} = \{0001011110101011\}.
La secuencia de información es codificada por el primer 21 y segundo 23 codificadores constituyentes. El primer 21 codificador constituyente opera en la entrada \vec{x} en su orden original, mientras que el segundo 23 codificador constituyente opera en la salida \vec{x}' de intercalador 19.
La secuencia de estado de enrejado obtenida a partir del primer codificador 21 es
\dotable{\tabskip\tabcolsep\hfil#\hfil\tabskip0ptplus1fil\dddarstrut\cr}{

\{233310000210023310\}.\cr}
La secuencia de estado de enrejado obtenida a partir del segundo codificador 23 es
\dotable{\tabskip\tabcolsep\hfil#\hfil\tabskip0ptplus1fil\dddarstrut\cr}{

\{000233333100233310\}.\cr}
Como se muestra anteriormente, los últimos dos estados (cuatro bits) para cada secuencia de estado de enrejado son los mismos debido al intercalador híbrido 19. Esto permite que el primer 21 y segundo 23 codificadores constituyentes reciban los mismos bits de cola que conducen a leer la sobrecarga reducida del proceso de turbo-codificación.
La Condición C hace que el estado de enrejado de los dos codificadores constituyentes sea el mismo después de la codificación de los bits de información. Esto permite los mismos bits de cola para ambos codificadores constituyentes, dando lugar a la reducción de sobrecarga de turbo-códigos debido a los bits de cola. Además, la utilización de los mismos bits de cola es deseable para un descodificador iterativo, como se ha explicado anteriormente, en el cual el diseño de intercalación estaba basado en un intercalador de aleatoriedad S. A la vez que la presente invención mejora el rendimiento de los turbo-códigos, su requisito de memoria es el mismo que para el intercalador de aleatoriedad S con el requisito de almacenamiento de memoria proporcional al tamaño del intercalador.
Una realización alternativa se describe en la Fig. 12.
Supongamos que D indica la secuencia de información de bits binarios con una tamaño de bloque N tal que: D = \{d_{1}, d_{2}, ... ,d_{N}\} en\; donde\; d_{k} = \pm1\eqnum{Ecuación (10)}
Dado un turbo-codificador de M estados, en donde M es igual a 4 u 8, se puede dividir la secuencia de información, D, en p subconjuntos de desunión, S, en donde p = M-1, como sigue:
\begin{align} S_{0}
\+ =\{d_{k}|,k \mod p=0\} \tag*{Ecuación (11)}\\ S_{1} \+
=\{d_{k}|,k \mod p=1\} \tag*{Ecuación (12)}\\    \+
\hskip2.5cm\vdots\notag\\ S_{p-1} \+ =\{d_{k}|,k
\mod p=p-1\} \tag*{Ecuación (13)} \end{align}
en donde p está comprendido entre 3 y 7 para turbo-códigos de 4 estados y 8 estados, respectivamente. El método de partición anterior es similar a la partición de subconjuntos anterior. Este valor es especificado para cada turbo-código de estado.
Cada subconjunto tiene un tamaño de bloque de [N/p] en donde [N/p] indica el valor entero más pequeño mayor o igual a N/P. Cada subconjunto es permutado por el uso de cualquier representación de intercalador. Después se combinan todos los subconjuntos individuales con el fin de obtener la salida de intercalador total, denominada I, como sigue:
\catcode`\#=12\nobreak\centering\begin{tabular}{|l|}\hline 
Count = 0 \\  for k=1 tamaño de bloque de subconjunto \\ \quad for i
= 1 : P \\ \quad\quad if i = p \\ \quad\qquad I (count) =
S _O (k) \\ \quad\quad else \\ \quad\qquad I (count) =
S _i (k) \\ \quad\quad end if \\ \quad\quad count = count + 1
\\ \quad\quad if count = N \\ \quad\qquad exit \\ \quad end \\  end
\\\hline\end{tabular}\par\vskip.5\baselineskip
en donde S_{i} (k) es el bit de salida intercalado k^{th} del subconjunto S_{i} y S_{0} (k) es el bit de salida intercalado k^{th} del subconjunto S_{0}. Los procedimientos anteriormente mencionados que incluyen la partición y combinación de los subconjuntos se pueden volver a ilustrar utilizando un intercalador de bloque con [N/p] filas y p columnas como sigue:
1)
Los bits de información son almacenados en forma de filas en el intercalador de bloque como sigue:
Escribir
\usefont{U}{psy}{m}{n}\char248
\catcode`\#=12\nobreak\centering\begin{tabular}{|l|l|l|l|l|}\hline
  d_{1}   \+  d_{2}   \+  d_{3}   \+ ....  \+  d_{p}  \\\hline 
 d_{p+1}   \+  d_{p+2}   \+  d_{p+3}   \+ ....  \+  d_{2p}  \\\hline
  d_{2p+1}   \+  d_{2p+2}   \+  d_{2p+3}   \+ ....  \+  d_{3p} 
\\\hline   d_{3p+1}   \+  d_{3p+2}   \+  d_{3p+3}   \+ ....  \+
 d_{4p}  \\\hline  :  \+ :  \+ :  \+ ....  \+ : \\\hline 
 d_{N/p+1}   \+  d_{N/p+2}   \+  d_{N/p+3}   \+ ....  \+  d_{N/p+p} 
\\\hline\multicolumn{1}{c}{ \Uparrow 
}\+\multicolumn{1}{c}{ \Uparrow  }\+\multicolumn{1}{c}{ \Uparrow 
}\+\multicolumn{1}{c}{}\+\multicolumn{1}{c}{ \Uparrow }\\\multicolumn{1}{c}{ S_{1} 
}\+\multicolumn{1}{c}{ S_{2}  }\+\multicolumn{1}{c}{ S_{3} 
}\+\multicolumn{1}{c}{}\+\multicolumn{1}{c}{ S_{0} }\\\end{tabular}\par\vskip.5\baselineskip
2)
Permutar los bits dentro de cada bloque de columna de acuerdo con el tipo de intercalador dado, que puede ser, en principio, uno cualquiera de los intercaladores candidatos. Por ejemplo, aplicando las condiciones A y B a cada bloque de columna; la condición C no es necesaria en estas circunstancias.
3)
Leer la matriz fila por fila en orden, como se muestra a continuación, para accionar el segundo constituyente, cuya entrada es la secuencia de salida intercalada, al mismo estado que sin intercalar la secuencia de información original.
Leer
\usefont{U}{psy}{m}{n}\char248
\catcode`\#=12\nobreak\centering\begin{tabular}{|l|l|l|l|l|}\hline
  d_{N/p+1}   \+  d_{N/p+2}   \+  d_{N/p+3}   \+ ....  \+
 d_{N/p+p}  \\\hline   d_{3p+1}   \+  d_{3p+2}   \+  d_{3p+3}   \+
....  \+  d_{4p}  \\\hline   d_{2p+1}   \+  d_{2p+2}   \+  d_{2p+3} 
 \+ ....  \+  d_{3p}  \\\hline  :  \+ :  \+ :  \+ ....  \+ :
\\\hline   d_{p+1}   \+  d_{p+2}   \+  d_{p+3}   \+ ....  \+
 d_{2p}  \\\hline   d_{1}   \+  d_{2}   \+  d_{3}   \+ ....  \+
 d_{p}  \\\hline\multicolumn{1}{c}{ \Uparrow 
}\+\multicolumn{1}{c}{ \Uparrow  }\+\multicolumn{1}{c}{ \Uparrow 
}\+\multicolumn{1}{c}{}\+\multicolumn{1}{c}{ \Uparrow }\\\multicolumn{1}{c}{ S_{1} 
}\+\multicolumn{1}{c}{ S_{2}  }\+\multicolumn{1}{c}{ S_{3} 
}\+\multicolumn{1}{c}{}\+\multicolumn{1}{c}{ S_{0} }\\\end{tabular}\par\vskip.5\baselineskip
Aunque la presente invención se ha descrito en términos de la realización preferida, serán evidentes, por los expertos en la técnica, otras variaciones que están dentro del campo de la invención como está definido en las reivindicaciones adjuntas.

Claims (11)

1. Un codificador de turbo-códigos (17) para codificar al menos un conjunto de entrada de N bits con números enteros de posición de permutación I(k), en donde k=1 a N, que comprende:
un primer codificador (21) con tamaño de memoria m, que tiene una primera entrada, acoplada a una primera fuente y una fuente común, y un registro de múltiples estados que tiene 2^{m} estados, para recibir dicho conjunto de bits de entrada como dicha primera fuente y codificar dicho conjunto de bits de entrada para proporcionar un conjunto de bits de entrada codificados en una primera salida:
un intercalador híbrido de aleatoriedad S (19) para recibir dicho conjunto de bits de entrada y reordenar los bits dentro de dicho conjunto de bits de entrada para proporcionar un conjunto de bits de entrada reordenados, en donde S es un valor predeterminado arbitrario;
un segundo codificador (23) con un tamaño de memoria m, que tiene una segunda entrada, acoplada a una segunda fuente y a dicha fuente común, y un registro de múltiples estados que tiene 2^{m} estados, para recibir dicho conjunto de bit de entrada reordenados como dicha segunda fuente y codificar dicho conjunto de bits de entrada reordenados para proporcionar un conjunto de bits de entrada codificados reordenados en una segunda salida; y
un conmutador (SW), para conmutar dicho primer codificador desde dicha primera fuente a dicha fuente común y para conmutar dicho segundo codificador desde dicha segunda fuente a dicha fuente común: por lo que dicha primera salida proporciona dicha fuente común,
caracterizado porque dicho intercalador (19) reordena dichos números enteros I(k) de manera que, una vez reordenados, el valor para |I(k) - I(k-nL)| no es divisible por L, en donde L = 2^{m}-1, y n es un número entero positivo definido como k-nL \geq 0 y nL \leq S.
2. El codificador de la reivindicación 1, que además comprende un generador de bits de cola para generar un conjunto de bits de cola para que dicho conjunto de bits de entrada codificados reinicien dichos dos registros.
3. El codificador de la reivindicación 2, en el que dicho generador de bits de cola genera dichos conjuntos de bits de cola utilizando el registro de dicho codificador cuando se completa la codificación por dicho primer y segundo codificadores.
4. El codificador de la reivindicación 1, en el que dicho intercalador (19) reordena aleatoriamente los números enteros I(k) de tal manera que |I(k) - I(k-j)| > S y j es un número entero positivo definido como 0 < j <dm>\leq</dm> S y k-j \geq 0.
5. El codificador de la reivindicación 4, en el que la secuencia de número entero I(k) reordenada es verificada de acuerdo con lo siguiente:
k mod 2^{m}-1 = I(k) mod 2^{m}-1.
6. El codificador de la reivindicación 1, en el que d_{k} es un bit de entrada de dicho conjunto de N bits y en el que d_{k}= \pm1, comprendiendo dicho intercalador además:
medios para disponer dichos conjuntos de bits de entrada para un codificador de turbo-códigos de M estados en p subconjuntos de desunión S_{i} de tamaño b, en donde p = M-1, i es in número entero comprendido entre 0 y (p-1), y b es el valor de número entero más pequeño mayor o igual que N/p, en donde S_{i}={d_{k}|}, k mod p=i};
medios para combinar los subconjuntos S_{i}, para formar un bloque de b filas y p columnas, en donde k es un número entero comprendido entre 1 y b, de tal manera que cada elemento de un subconjunto está en la misma columna;
medios para reordenar el conjunto de bits de entrada dentro de dichas columnas; y
medios para dar salida a dichas filas después de dicha reordenación de columna para producir un conjunto de bits de entrada reordenados de intercalador.
7. Un método para codificar al menos un conjunto de bits de entrada de N bits ordenados con números enteros I(k) de posición de permutación, en donde k=1 a N, que comprende las etapas de:
a.
codificar dicho conjunto de bits de entrada utilizando y un primer codificador (21) que tiene un registro de múltiples estados 2^{m} para proporcionar una primera salida;
b.
Reordenar selectivamente el conjunto de bits de entrada utilizando un intercalador híbrido de aleatoriedad S (19) para proporcionar un conjunto de bits de entrada reordenado, por lo que dicho intercalador (19) reordena dichos números enteros I(k), de tal manera que una vez reordenados, el valor para |I(k) -I(k-nL)| no es divisible por L, en donde L=2^{m}-1, n es un número entero positivo definido como k-nL \geq 0 y nL \leq S, y S es un valor arbitrario predeterminado; y
c.
codificar dicho conjunto de bits de entrada reordenado utilizando un segundo codificador (23) que tiene un registro 2^{m} de múltiples estados para proporcionar una segunda salida; y
d.
conmutar dicho primer codificador (21) desde una primera fuente hasta una fuente común y conmutar dicho segundo codificador (23) desde una segunda fuente hasta dicha fuente común, por lo que dicha primera salida proporciona dicha fuente común.
8. El método de turbo-codificación de la reivindicación 7, que además comprende las etapas de:
generar un conjunto de bits de cola para cada uno de dichos conjuntos de bits de entrada; y
aplicar dicho conjunto de bits de cola para reiniciar los registros tanto de dicho primer como dicho segundo codificadores.
9. El método de turbo-codificación de la reivindicación 7, en el que dicha reordenación selectiva comprende las etapas de:
a)
recibir una pluralidad de N bits de información, en donde N es un número entero positivo;
b)
definir el tamaño de N de marco de intercalador híbrido
c)
generar números enteros aleatorios I(k) para k comprendido entre 1 y N que satisfagan las condiciones:
1)
|I(k) - I(k-j)|> S, en donde S es un valor arbitrario predeterminado y j es un número entero positivo definido como 0 < j \leq S y k- j \geq 0;
2)
nL \leq S, en donde L es igual al número de estados de registro de codificador menos 1, y n es un número entero positivo definido por k-nL \geq 0, en donde si no es cierto, se prosigue hacia el paso 4;
3)
|I(k) - I(k-nL)|\neq jL, en donde, si no es cierto, se repiten los pasos 1-3, por el contrario se prosigue hacia el paso 4;
4)
para cada número entero aleatorio I(k), k mod 2^{m}-1 = I(k)mod 2^{m}- 1, e donde 2^{m} es el número de estados de registro de uno de dichos codificadores, si no es cierto, se repiten los pasos 1-4; y
d)
dar salida a la secuencia de datos de intercalador permutada para la codificación.
10. El método de la reivindicación 8, que comprende además las etapas de:
a)
reconocer que la codificación de dicho primer y segundo codificador se ha completado;
b)
conmutar las entradas a dicho primer y segundo codificador desde una corriente de bits de información y una corriente de bits permutados, respectivamente, a una retroalimentación común desde dicho primer codificador constituyente hasta la última etapa; y
c)
incrementar el número de bits de cola recibidos desde dicha retroalimentación hasta que dicho número de bits de cola sea mayor que el número de registros utilizados en dicho primer codificador constituyente, si no es así, repetir las etapas b-c.
11. El método de la reivindicación 7, en el que d_{k} es un bit de entrada de dicho conjunto de n bits y d_{k} = \pm 1, comprendiendo además dicha reordenación selectiva, las etapas de:
disponer dichos conjuntos de bits de entrada para un codificador de turbo- códigos de M estados en p subconjuntos de desunión S_{i}, de tamaño b, en donde p = M-1, i es un número entero comprendido entre 0 y p-1, y b es el valor de número entero más pequeño mayor o igual que N/p, en donde S_{i} = {d_{k}|},k mod p=i};
combinar los subconjuntos S_{i}, para formar un bloque de b filas y p columnas en donde k es un número entero comprendido entre 1 y b, de manera que cada elemento de un subconjunto está en la misma columna;
reordenar los elementos del subconjunto dentro de cada columna; y
\newpage
dar salida a dichas filas después de dicha reordenación de columnas para producir un conjunto de bits de entrada reordenado de intercalador.
ES99953182T 1998-10-13 1999-10-12 Intercalador hibrido para turbo codigos. Expired - Lifetime ES2197683T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10404098P 1998-10-13 1998-10-13
US104040P 1998-10-13
US11231898P 1998-12-14 1998-12-14
US112318P 1998-12-14

Publications (1)

Publication Number Publication Date
ES2197683T3 true ES2197683T3 (es) 2004-01-01

Family

ID=26801127

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99953182T Expired - Lifetime ES2197683T3 (es) 1998-10-13 1999-10-12 Intercalador hibrido para turbo codigos.

Country Status (12)

Country Link
EP (1) EP1119915B9 (es)
JP (1) JP3837023B2 (es)
KR (2) KR100504988B1 (es)
CN (2) CN1183687C (es)
AT (1) ATE242563T1 (es)
AU (1) AU6517499A (es)
CA (1) CA2346830C (es)
DE (1) DE69908629T2 (es)
DK (1) DK1119915T3 (es)
ES (1) ES2197683T3 (es)
HK (1) HK1039411B (es)
WO (1) WO2000022739A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2361852A (en) * 2000-04-28 2001-10-31 Mitel Corp Turbo coded trellis code modulation
US6757859B1 (en) 2000-05-01 2004-06-29 Zarlink Semiconductor Inc. Parallel turbo trellis-coded modulation
KR100893053B1 (ko) * 2001-10-26 2009-04-15 엘지전자 주식회사 길쌈 부호화 및 복호화를 위한 프레임 구성 및 에러 검출방법
CN1494791A (zh) * 2002-01-15 2004-05-05 连宇通信有限公司 一种用于无线信道分组数据传输的混合arq方法
JP3735579B2 (ja) 2002-02-26 2006-01-18 株式会社東芝 ディスク記憶装置及びデータ記録再生方法
GB2386039B (en) * 2002-03-01 2005-07-06 Fujitsu Ltd Data encoding and decoding apparatus and a data encoding and decoding method
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
KR101279204B1 (ko) * 2006-10-24 2013-06-26 삼성전자주식회사 터보 부호기의 인터리빙 방법 및 장치
KR200488155Y1 (ko) 2017-03-09 2018-12-20 변동수 발열부재 수용 및 인출이 가능한 손난로 인형

Also Published As

Publication number Publication date
KR100453605B1 (ko) 2004-10-20
EP1119915A1 (en) 2001-08-01
CN1614898B (zh) 2011-04-27
DK1119915T3 (da) 2003-10-06
EP1119915B9 (en) 2004-07-14
JP2002527981A (ja) 2002-08-27
ATE242563T1 (de) 2003-06-15
HK1039411A1 (en) 2002-04-19
KR20010080130A (ko) 2001-08-22
AU6517499A (en) 2000-05-01
CA2346830A1 (en) 2000-04-20
HK1039411B (zh) 2004-04-16
CN1323463A (zh) 2001-11-21
JP3837023B2 (ja) 2006-10-25
KR100504988B1 (ko) 2005-08-01
EP1119915B1 (en) 2003-06-04
WO2000022739A1 (en) 2000-04-20
CN1183687C (zh) 2005-01-05
DE69908629D1 (de) 2003-07-10
DE69908629T2 (de) 2004-05-13
CA2346830C (en) 2006-11-28
CN1614898A (zh) 2005-05-11
KR20040037157A (ko) 2004-05-04

Similar Documents

Publication Publication Date Title
US6772391B1 (en) Hybrid interleaver for turbo codes
US8543884B2 (en) Communications channel parallel interleaver and de-interleaver
US6744744B1 (en) Rate matching and channel interleaving for a communications system
US7924763B2 (en) Method and appratus for rate matching within a communication system
KR20080067987A (ko) 큐피피 인터리브를 갖는 병렬 터보 디코딩을 위한 공식적플렉서블 충돌 방지 메모리 억세싱
ES2197683T3 (es) Intercalador hibrido para turbo codigos.
US6625762B1 (en) Interleaving device and method for turbocoding and turbodecoding
JP4420924B2 (ja) 情報ビット系列を符号化する方法および符号化器
US8024636B2 (en) Serially concatenated convolutional code decoder with a constrained permutation table
KR20080112088A (ko) 인터리빙 수행 방법
US20050289438A1 (en) QRinv codes and decoding method
KR101154229B1 (ko) 적어도 두 번 동일한 기본 코드를 이용하는 에러 정정부호화 방법, 부호화 방법, 상응하는 부호화 및 복호화 장치
JP4420925B2 (ja) 情報ビット系列を符号化する方法および符号化器
EP1347580A2 (en) Hybrid interleaver for turbo codes
US7904784B2 (en) Serial concatenated convolutional code decoder
Svirid Additive upper bounds for turbo-codes with perfect interleaving
Prashantha et al. Performance analysis of stack decoding on block coded modulation schemes using tree diagram
Hole et al. Low-complexity decoding of partial unit memory codes on precoded partial-response channels
Ingvarsson et al. Error performance of turbo codes
Ibrahim Study of the Convolutional Turbo Codes' Performance in UMTS System