MXPA01003814A - Sistema de codificacion que tiene una maquina de estado basada en un intercalador. - Google Patents

Sistema de codificacion que tiene una maquina de estado basada en un intercalador.

Info

Publication number
MXPA01003814A
MXPA01003814A MXPA01003814A MXPA01003814A MXPA01003814A MX PA01003814 A MXPA01003814 A MX PA01003814A MX PA01003814 A MXPA01003814 A MX PA01003814A MX PA01003814 A MXPA01003814 A MX PA01003814A MX PA01003814 A MXPA01003814 A MX PA01003814A
Authority
MX
Mexico
Prior art keywords
memory
data
address
addresses
size
Prior art date
Application number
MXPA01003814A
Other languages
English (en)
Inventor
Naggabhushana Sindhushayana
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of MXPA01003814A publication Critical patent/MXPA01003814A/es

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/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
    • 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
    • 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
    • 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/2757Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
    • 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/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/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

La presente invención es una técnica novedosa y mejorada para efectuar la codificación con activación particular a técnicas de codificación turbo o interactivas. De acuerdo con una modalidad de la invención, la intercalación se efectúa generando la dirección de una memoria que utiliza un generador de estado PN. Los datos son escritos en una memoria (26) en orden secuencial, y a continuación leídos utilizando las direcciones especificadas por el generador de estado PN. Para desintercalar, los datos intercalados son escritos en una memoria (16) utilizando la dirección especificada por el generador de estado PN. Para desintercalar, los datos intercalados son escritos en la memoria (26) utilizando las direcciones especificadas por el generador de estado PN, y a continuación leídas en orden secuencial. Se proporciona un conjunto de generadores de estado PN, que proporciona un diseño de codificación excelen

Description

SISTEMA DE CODIFICACION QUE TIENE UNA MAQUINA DE ESTADO BASADA EN UN INTERCALADOR ANTECEDENTES DE LA INVENCION I . Campo de la Invención La presente invención se relaciona con la codificación. De manera más particular, la presente invención se relaciona con una técnica novedosa y mejorada para efectuar la codificación y decodificación iterativas.
II. Descripción de la Técnica Relacionada La "turbocodificación" representa un avance importante en el área de la corrección anticipada de errores (FEC). Existen muchas variantes de la turbocodificación, pero la mayoría de los tipos de turbocodificación utilizan múltiples pasos de codificación separados por pasos de intercalación combinados con el uso de la decodificación interactiva. Esta combinación proporciona un desempeño previamente no disponible con respecto a la tolerancia al ruido en un sistema de comunicaciones. Es decir, que la turbocodificación permite comunicaciones a niveles de Eb No que anteriormente eran inaceptables utilizando las técnicas de corrección anticipadas de errores existentes.
Muchos sistemas utilizan técnicas de corrección anticipada de errores, y por lo tanto se beneficiarían del uso de la turbocodificación . Por ejemplo, los turbocódigos podrían mejorar el desempeño de enlaces de satélite inalámbricos, donde la potencia de transmisión del enlace descendente limitada del satélite necesita sistemas receptores que puedan operar a niveles de E /No bajos. Los sistemas de telecomunicación inalámbricos digitales, tales como los sistemas telefónicos celulares digitales y PCS, también utilizan corrección anticipada de errores. Por ejemplo, el estándar ce la interfaz o interconexión aérea IS-95, y sus derivados, tales como el IS-95B, definen un sistema de comunicaciones inalámbrico digital que utiliza codificador convolucional para proporcionar ganancia de codificación para incrementar la capacidad del sistema. Un sistema y un método para procesar señales de RF sustancialmente de acuerdo con el uso del estándar IS-95 se describe en la Patente Estadounidense 5,103,459 titulada "Sistema y Método para Generar Formas de Onda de Señal en un Sistema de Telefonía Celular CDMA" otorgada al beneficiario de la presente invención e incorporada aquí como referencia (patente M59) . Debido a que los sistemas de comunicación inalámbricos digitales similares al IS-95 son principalmente para comunicaciones móviles, es importante tener dispositivos que reduzcan al mínimo el uso de energía y que sean pequeños y ligeros. Típicamente, esto requiere el desarrollo de un circuito integrado semiconductor ("microcircuito integrado") para efectuar la mayoría de o todo el procesamiento necesario. Aunque la codificación convolucional es relativamente compleja, los circuitos necesarios para efectuar la codificación y decodificación convolucional pueden ser formados sobre un solo microcircuito integrado junto con cualesquier otros circuitos necesarios. La turbocodificación (en particular la operación de decodificación) es significativamente más compléja que la codificación convolucional. No obstante, sería altamente deseable incluir la turbocodificación en sistemas de telecomunicación inalámbricos digitales, incluyendo sistemas de comunicación digitales móviles. De este modo, la presente invención está dirigida a reducir la complejidad asociada con el desempeño de la turbocodificación, y por lo tanto facilitar el uso de la turbocodificación en sistemas donde la movilidad es deseable, o donde el consumo de energía y el tamaño del circuito son una preocupación.
BREVE DESCRIPCION DE LA INVENCION La presente invención es una técnica novedosa y mejorada para efectuar la codificación con la aplicación particular a técnicas de codificación turbo o iterativas. De acuerdo con una modalidad de la invención, la intercalación se efectúa generando la dirección de una memoria utilizando un generador de estado PN. Los datos son escritos en la memoria en orden secuencial, y a continuación leídos utilizando las direcciones especificadas por el generador de estado PN . Para desintercalar, los datos intercalados son escritos en una memoria utilizando direcciones especificadas por el generador de estado PN, y a continuación leyendo en orden secuencial. Se proporciona un conjunto de generadores de estado PN que proporciona un excelente desempeño de la codificación .
BREVE DESCRIPCION DE LOS DIBUJOS Las características, objetos y ventajas de la presente invención se volverán más evidentes a partir de la descripción detallada expuesta más adelante cuando se tome en conjunto con los dibujos en los cuales los caracteres de referencia similares se identifican de manera correspondientes a su través y donde : Las FIGURAS 1A y IB son diagramas de bloques de turbocodificadores cuando se configuran de acuerdo con una modalidad de la invención; La FIGURA 2 es un diagrama de bloques de un intercalador cuando se configura de acuerdo con una modalidad de la invención; Las FIGURAS 3A y 3B son diagramas de generadores de código PN cuando se configuran de acuerdo con una modalidad de la invención; Las FIGURAS 5A y 5B son diagramas de bloques de decodificadores configurados de acuerdo con una modalidad de la invención; La FIGURA 6 es una gráfica que ilustra el funcionamiento de una modalidad de la invención; La FIGURA 7 es una gráfica que ilustra el funcionamiento de otra modalidad de la invención.
DESCRIPCION DETALLADA DE LAS MODALIDADES PREFERIDAS La presente invención es una técnica novedosa y mejorada para efectuar la turbocodificación . La modalidad ejemplar se describe en el contexto de un sistema de telefonía celular digital. Aunque el uso dentro de este contexto es ventajoso, pueden ser incorporadas diferentes modalidades de la invención en diferentes ambientes o configuraciones. En general, los diferentes sistemas descritos aquí pueden ser formados utilizando procesadores controlados por programas y sistemas de programación, circuitos integrados o lógicas discretas, sin embargo, la implementación en un circuito integrado es la preferida. Los datos, instrucciones, órdenes, información, señales, símbolos y microcircuitos integrados a los que puede hacerse referencia a través de la solicitud son representados de manera ventajosa por voltajes, corrientes, ondas electromagnéticas, campos o partículas magnéticas, campos o partículas ópticas, o una combinación de los mismos. Además, los bloques mostrados en cada diagrama de bloques pueden representar componentes físicos de computación o pasos del método. Las Figuras 1A y IB, proporcionan ilustraciones altamente simplificadas de dos tipos de turbocodificadores . La Figura 1A describe un turbocodificador concatenado, en paralelo. El codificador 1 y el intercalador 2 reciben los datos de entrada del codificador 4, los cuales son típicamente información o datos de control del usuario. El codificador 1 produce símbolos sistemáticos 5 (típicamente una copia de los bits de entrada originales) y símbolos de paridad 3. El codificador 6 recibe la salida intercalada del intercalador 2 y produce un segundo conjunto de símbolos de paridad 7. Las salidas del codificador 1 y el codificador 6 son multiplexadas en el flujo de datos de salida por una velocidad de codificación total R de 1/3. Puede agregarse un par de codificador e intercalador adicional para reducir la velocidad de codificación y para incrementar la corrección anticipada de errores. Los codificadores 1 y 6 pueden ser varios tipos de codificadores, incluyendo codificadores de bloques o codificadores convolucionales . Como codificadores convolucionales, los codificadores 1 y 6 típicamente tienen una pequeña longitud de restricción, tal como de 4 (cuatro) para reducir la complejidad, y son codificadores convolucionales sistemáticos recursivos (RSC). La longitud de restricción menor reduce la complejidad del decodificador correspondiente. Típicamente, los dos codificadores producen dos símbolos de paridad por cada bit recibido para una velocidad de codificación R=l/2. La velocidad de codificación total para el turbocodificador de la Figura 1A es R=l/3, sin embargo, debido a que el bit sistemático del codificador 6 está perforado. También pueden agregarse pares de intercalador y codificador adicionales en paralelo para reducir la velocidad de codificación, y por lo tanto proporcionar una mayor corrección de errores. La Figura IB describe un turbocodificador concatenado en serie. Los datos de entrada 13 son codificados por el codificador 10 y los símbolos de paridad son aplicados al intercalador 12. Los símbolos de paridad intercalados resultantes son suministrados al codificador 14, el cual efectúa la codificación adicional para generar símbolos de paridad 15. Típicamente, el codificador 10 (el codificador externo) puede ser de varios tipos de codificadores, incluyendo codificadores de bloques o codificadores convolucionales, pero el codificador 14 (el codificador interno) debe ser un codificador recursivo y es típicamente un codificador sistemático recursivo. Los codificadores convolucionales sistemáticos recursivos (RSC), los codificadores 10 y 14 generan símbolos a una velocidad de codificación R < 1. Es decir, que par-a un número dado de bits de entrada N, son generados M símbolos de salida donde M > N. La velocidad de codificación total para el turbocodificador concatenado en serie de la Figura IB es la velocidad de codificación del ' codificador 10 multiplicada por la velocidad de codificación del codificador 14. También pueden ser agregados pares de intercalador y codificador adicionales en serie para reducir la velocidad de codificación y por lo tanto proporcionar una protección contra errores adicional.
La Figura 2 es un diagrama de bloques de un intercalador configurado de acuerdo con una modalidad de la invención. El intercalador puede ser utilizado, por ejemplo, como los intercaladores 2 ó 12 dentro de los circuitos de la Figura 1A o la Figura IB. Dentro del intercalador, la memoria 26 recibe los datos de entrada del codificador 19, asi como datos de dirección 21 del mux 20. El mux 20 suministra datos de dirección 21 de cualquier contador 18 o máquina de estado PN 22 y el filtro de dirección 24. Un sistema de control (no mostrado para facilitar los dibujos) controla el mux 20, el contador 18, la máquina de estado PN 22 y el filtro de dirección 24. El sistema de control está preferiblemente comprendido de un microprocesador o instrucciones de programas y sistemas de programación que funcionan en DSP almacenadas en la memoria. Durante la operación, los datos de entrada del codificador 19 son escritos en la memoria 26 con la memoria especificada por la aplicación del contador 18 a la entrada de dirección utilizando el mux 20. Una vez que un bloque de los datos de entrada del codificador 19 ha sido escrito a la memoria 16, los datos son entonces leídos al codificador 14 aplicando la máquina de estado PN 22, filtrando después por medio del filtro de dirección 24, a la entrada de dirección de la memoria 26 vía el mux 20. De este modo, los datos son leídos en un orden alternativo para el codificador 14 con respecto a los datos del codificador recibidos por el codificador 10. Para efectuar la desintercalación, la máquina de estado PN es aplicada a la entrada de dirección de la memoria cuando los datos son escritos, y el contador es aplicado a la entrada de dirección de la memoria cuando los datos son escritos. Los beneficios obtenidos por el uso del intercalador de la Figura 2 para la codificación, como se describe a través de la aplicación, también se obtienen cuando se utiliza para la decodificación. El filtro de dirección 24 remueve direcciones de la ¦ máquina de estado PN 22 que son mayores que el espacio de memoria direccionado de la memoria 26. Durante la operación, el filtro de dirección 24 recibe direcciones de la máquina de estado PN 22. El posible conjunto de direcciones para un generador PN de longitud L es igual a 2L-1, donde L es el número de bits en el estado P . Cuando el tamaño de la memoria 26 es un número N que es menor que 2L-1, el filtro de dirección 24 determina cuando una dirección de la máquina de estado PN 22 es menor que el tamaño de la memoria N. Si es asi, el filtro de dirección indica a la máquina de estado PN 22 cambiar al siguiente estado, y efectuar la comparación nuevamente. En tanto la dirección de la dirección de la máquina de estado PN 22 exceda N, el filtro de dirección 24 continuará haciendo avanzar el estaco de la máquina de estado PN 22 hasta que se genere una dirección que sea menor que N. De este modo, ajustando N, e incrementando o haciendo disminuir los bits generados por la máquina de estado PN 22, pueden acomodarse diferentes tamaños de memoria cambiando el valor de N. Como será evidente, debe ser seleccionado un generador de estado de modo que la máquina de estado PN no entre al mismo estado dos veces, antes de cubrir todos los estados posibles. Esta condición será satisfecha si el generador PN produce una secuencia de registro de desviación de longitud máxima. Hacer que el generador PN sea un polinomio primitivo en el campo de Galois GF2 es una manera de lograr esta característica. También, la máquina de estado puede ser inicializada con un lógico en la posición más significativa, seguida por cero lógicos en las posiciones restantes. También pueden ser utilizados valores de inicialización . Como se hizo notar anteriormente, el filtro de dirección asegura que únicamente las direcciones dentro del tamaño de la memoria 16 sean aplicadas. Como será evidente, es preferible seleccionar generadores de estado PN que no produzcan secuencias grandes de direcciones que sean menores que N. En otras palabras, sería ventajoso seleccionar la longitud L del generador PN de modo que 2L-1<N<2L. También es, preferible configurar la máquina de estado PN 22 con la capacidad de hacer avanzar el generador PN muchas veces hacia el futuro, y almacenar la lista de estados intermedios durante el ciclo de procesamiento de la memoria 26, de modo que pueda generarse una dirección adecuada con una velocidad suficiente. Este asegura que la velocidad de reloj PN necesaria sea a lo más dos veces la velocidad del intercalador . En otra modalidad de la invención, puede sustraerse un valor V de la dirección generada por la máquina de estado PN . La dirección resultante es entonces retenida únicamente si se encuentra dentro de 1 y N. Los valores de V de 1 ó 64 son aceptables. En otra modalidad más de la invención, el número V puede ser sustraído cuando los registros más a la derecha de la máquina de estado tengan un valor de entre V y N-l + V y utilizarse sin sustracción de V en otras circunstancias. Como es ampliamente sabido, el uso de intercaladores de "bloque" simples no proporciona un desempeño óptimo para la turbocodi ficación . Sin el uso de intercalación de bloques, sin embargo, o algún otro esquema de intercalación más regular, es típicamente necesario utilizar una "tabla de consulta" que especifique la secuencia de direcciones a las cuales deberán ser leídos los datos. Para los tamaños de bloques más grandes necesarios para efectuar al turbocodificación de manera óptima, tales tablas de consulta requieren cantidades significativas de memoria integrada adicional - algunas veces del orden de la memoria del intercalador en sí. Esta memoria puede consumir una cantidad significativa del espacio del microcircuito integrado, lo cual a su vez incrementa los costos y consumo de energía de microcircuitos integrados. De este modo, una ventaja de la invención es que puede efectuarse una intercalación más efectiva que proporciona un desempeño de la codificación y decodificación con un mínimo de complejidad adicional. Mediante el uso de una máquina de estado PN para generar las direcciones, puede efectuarse una intercalación más compleja, y por lo tanto se obtiene un mayor desempeño de la codificación y codificación, con espacio y consumo de energía del microcircuito integrado reducidos . En una modalidad alternativa de la invención, el contador 18 puede ser reemplazado con otra máquina de estado. Podría utilizarse una segunda máquina de estado PN en lugar del contador 18, en tanto las dos máquinas de estado PN cubran el espacio de dirección necesario en diferente orden. (De manera alternativa, podría simplemente ser considerado una máquina de estado PN que tenga una secuencia PN igual a la secuencia de conteo binaria) . En una modalidad alternativa de la invención, la secuencia de estados PN generados es ajustada para incrementar aún más el desempeño con poca complejidad adicional. Para un conjunto de estados PN Si, S2, S3, ... SN se encuentra un entero k que es relativamente primo al periodo de la secuencia PN 2L-1. La secuencia de estado es entonces definida como S(ki mod D para el índice I, por cada 0<=KN. Si N=2L-1 esto contribuye a la sincronización del generador PN k veces para obtener el siguiente estado P . Pueden obtenerse mejoras de desempeño significativas eligiendo k de modo que sea del orden de L. En otra modalidad más de la invención, . pueden ser entrelazados dos o más intercaladores para generar un solo intercalador de mayor alcance. Los dos intercaladores pueden basarse en polinomios, y generalmente utilizan diferentes polinomios. La combinación de intercaladores basados en polinomios y otros tipos de intercaladores también se contempló.
En un ejemplo, pueden ser utilizados dos intercaladores de longitud igual en paralelo para generar una sola permuta en la cual los índices par e impar son permutados por separados. Esto puede ser útil si el decodificador necesita tener acceso a dos símbolos adyacentes en la entrada/salida simultáneamente sin el uso de una memoria de doble puerto. En otro ejemplo, pueden ser entrelazados dos intercaladores de diferentes tamaños para formar un intercalador más grande que no sea de una potencia integrada 2. Por ejemplo, los intercaladores de lapso 2047 y 1023 pueden ser entrelazados para construir un intercalador de lapso más grande 3070. Los dos intercaladores constituyentes se obtienen a partir de polinomios primitivos de grados 11 y 10 respectivamente. Las Figuras 3A y 3B ilustran dos generadores de secuencia PN cuando están configurados de acuerdo con una modalidad de la invención. Refiriéndose a la Figura 3A, un conjunto de circuitos de retención 50(1) -50 (L) almacenan variables de estado Si~SL. Los coeficientes polinomiales Ci-CL-i son aplicados a compuertas AND 52(1)-52(L-1), las cuales también reciben las variables de estado Si-SL-i. Las variables de estado Si-SL_i también son aplicadas a la entrada del siguiente circuito de retención.
Las compuertas XOR 54(1)-(L-1) reciben las salidas de las compuertas AND 52(1)-(L). Las compuertas XOR 5 (1) -5 (L-2) también reciben las salidas de compuertas XOR adyacentes 5 (2) -54 (L-l) y la compuerta XOR 54 (L) también recibe la salida del circuito de retención 50 (L) . La salida de la compuerta XOR 54(1) es la salida de la máquina de estado PN, asi como la entrada al circuito de retención 50(1). Durante la operación, los coeficientes polinomiales determinan la forma en que las variables cambian cuando los datos son sincronizados a su través. La aplicación de diferentes polinomios cambia la secuencia PN particular generada, y la selección de ciertos polinomios genera una secuencia de direcciones, la cual permite que se efectúe una intercalación casi óptima. Utilizando una secuencia PN generada, puede ser utilizado un circuito tal como el que se muestra en la Figura 2A. Tal circuito ocupa significativamente menor área del circuito que una tabla de consulta correspondiente, y por lo tanto reduce el área del microcircuito integrado requerida total para implementar el turbocodificador . La Figura 3B proporciona un método alternativo para generar estados PN . Las compuertas XOR 62 ( 1 ) -62 ( 1-2 ) están acopladas entre los circuitos de retención 62(0)-62 (L) , y la salida del circuito de retención 60(0) es aplicado a las compuertas AND 64 ( 1) -64 (L-l ) asi como al circuito de retención 60 (L-l) . Las compuertas AND 64(1)-6 (L-l) también reciben los coeficientes polinomiales C(1)-C(L-1) . Las salidas de las compuertas AND 64(1)-64 (L-l) son aplicadas a las compuertas XOR 62 ( 1 ) -62 (L-2 ) . Como con la Figura 2A, la aplicación de diferentes polinomios cambia la secuencia P particular generada, y la selección de ciertos polinomios genera una secuencia de direcciones la cual permite que se efectúe una intercalación casi óptima. De acuerdo con una modalidad de la invención, para ciertos valores de L, y por lo tanto para espacios de dirección de diferente tamaño, los polinomios utilizados en la máquina de estado PN son como se exponen en la Tabla I: L Tamaño máximo Polinomio de la memoria 2 3 1+D+DA2 3 7 l +D+D^ 4 15 1+D+DA4 5 31 1+DA2+DA5 6 63 1+D+D/6 7 127 1+D+DA7 L Tamaño máximo Pol inomio de la memoria 8 255 1+DA2+DA3+DA4+DA8 9 511 1+DA4+DA9 10 1023 1+DA3+DA10 11 2047 1+DA2+DA11 12 409b 1+D+D 4+DA6+S 12 13 8191 1+D+DA3+DA4+DA13 14 16383 1+D+DA3+DA5+DA14 15 32767 1+D+DA15 Tabla I Típicamente, donde está presente un elemento de orden particular en el polinomio, el coeficiente C correspondiente se ajusta a uno lógico; de otro modo, el coeficiente se ajusta a un cero lógico. Aquellos expertos en la técnica reconocerán varias formas de implementar máquinas de estado PN que utilicen el polinomio especificado, o algún derivado del mismo. También, el tamaño de bits de la dirección es preferiblemente el número L más pequeño que de una dirección máxima que sea mayor que o igual al tamaño N de la memoria. La Tabla II proporciona más polinomios adicionales que pueden ser utilizados en modalidades alternativas de la invención.
L Tamaño máximo de Polinomio la memoria 9 511 l+DA4 + D-^5+DA8 + D/S9 10 1023 1+DA2+DA3+DA8+DA10 11 2047 1+0+??2+??3+?? +??5+??6+??8+ DAll La tabla III proporciona algunos polinomios que pueden ser utilizados en modalidades alternativas de la invención . L Tamaño máximo de Polinomio la memoria 9 511 1+DA5+DA6+DA8+DA9 10 1023 1+D+D 5+DA6+D 8+DA DA10 Tabla III La Figura 4 es un diagrama de bloques de una modalidad alternativa y más generalizada de la invención. En esta modalidad alternativa de la invención, la generación de la dirección del intercalador se efectúa combinando un generador de dirección de renglón-columna con uno o más generadores de dirección P . Como se ilustra, la memoria del intercalador 200 tiene entrada-salida (I/O) de datos 202 y entrada de dirección 204. La entrada de dirección 204 está comprendida de entrada de renglones 206 y entrada de columnas 208. El multiplexor de columna 210 proporciona la salida del contador de columna 212 o el generador de dirección PN de columna a la entrada de la columna 208. El multiplexor de renglón 220 proporciona la salida del contador de renglones 222 o el generador de dirección PN de renglón 214 a la entrada de renglones 206. El generador de dirección PN de columna 214 recibe valores polinomiales del banco de polinomios PN 216 y el generador de dirección de PN de renglón 214 recibe valores polinomiales del banco de polinomios PN 226. En una modalidad, cada renglón está asociado con un generador de dirección PN de longitud c, con el generador particular definido por un polinomio diferente almacenado en el banco de polinomios PN 226. De manera similar, cada columna está asociada con un intercalador PN de longitud r, con el generador particular definido por un polinomio diferente almacenado en el banco de polinomios PN 216. Los intercaladores asociados con los diferentes renglones o columnas pueden ser idénticos o distintos. Adicionalmente, en modalidades alternativas de la invención, uno de cualquiera de los generadores de dirección de columna o renglón puede ser algún otro que un generador de dirección basado en PN tal como un generador de dirección invertido de bits, generador de dirección de desviación de selección o aún un generador de dirección de identidad. Durante la operación, los datos a ser intercalados son escritos en la memoria intermedia del intercalador en una forma de renglón por renglón utilizando el contador de renglones 222, mientras que las columnas se seleccionan utilizando el generador de dirección PN de columna 214. Cuando los datos son leídos, cada renglón es dirigido utilizando el generador de dirección PN de renglón 224 y las columnas son dirigidas utilizando un contador de columnas 212. Como será evidente, el orden o lectura y escritura puede ser intercambiado . De manera preferible, el .polinomio ' utilizado por un generador de dirección PN es cambiado por cada renglón o columna dirigida cargando un nuevo polinomio de un banco de polinomios P . Los diferentes polinomios pueden ser generados utilizando la imagen "especular" de los polinomios generados en las Tablas I-III, donde los unos lógicos son ajustados a ceros lógicos y viceversa. Pueden ser utilizados otros métodos para cambiar la generación de dirección de renglón a renglón (o columna a columna) . Por ejemplo, los estados iniciales de las máquinas de estado PN pueden ser cambiados de renglón a renglón. La máquina de estado PN podría ser sincronizada un número diferente de veces por cada renglón. También, podrían ser utilizadas diferentes máquinas de estado, similares a las dos máquinas de estado de la Figura 3, para diferentes renglones. El uso del intercalador como se muestra en la Figura 4 proporciona desempeño adicional con solo una mínima cantidad de complejidad. La Figura 5A es un diagrama de bloques de un decodificador para la turbodecodificación en paralelo cuando se configura de acuerdo con una modalidad de la invención. Los datos recibidos son recibidos en la entrada 40 y aplicado al decodificador 44 y el intercalador 46. La salida del desintercalador 46 es aplica'da al decodificador 48 y las salidas de los decodificadores 44 y 48 son aplicadas al sumador 50. La salida del sumador 50 forma la salida del decodificador , pero también se aplica como una segunda entrada a través del mux 42 para la decodificación iterativa. Adicionalmente, el decodificador 48 y el decodificador 44 son acoplados vía el intercalador 50 y el desintercalador 52. Durante una operación ejemplar, los datos recibidos por el decodificador 44 y el decodificador 48 son decodificados repetidamente e intercambiados después de ser intercalados y desintarcalados por el intercalador 54 y el desintercalador 52. Una vez efectuado el número de iteraciones deseadas, o alcanzado el nivel de errores deseado, la salida es tomada del sumador 50. La Figura 5B es un diagrama de blogues de un decodificador para la turbodecodificación en serie configurado de acuerdo con una modalidad de la invención. Los datos de entrada 70 son recibidos por el decodificador 72, la salida del cual es aplicada al desintercalador 74. La salida desintercalada del desintercalador 74 es aplicada al decodificador 76. La salida del decodificador 76 es aplicada al desintercalador 78, la salida del cual es aplicada al decodificador 72. La salida del decodificador 76 también forma la salida del turbodecodificador en serie. Durante una operación ejemplar, los símbolos recibidos son decodificados repetidamente por los decodificadores 72 y 76. Una vez efectuado un número deseado de iteraciones del decodificador , o alcanzado un nivel de error deseado, la salida es tomada del decodificador 76. En una modalidad de la invención, los desintercaladores de las Figuras 4A y 4B son configurados de una manera similar a la que se muestra en la Figura 2 excepto que, como se describió anteriormente, la máquina de estado PN es aplicada durante la escritura y el contador es aplicado durante la lectura. Los intercaladores son configurados preferiblemente como se muestra en la Figura 2. La Figura 6 es una gráfica que ilustra el desempeño de un polinomio particular utilizando un turbocódigo concatenado en serie a una velocidad de 1/4 cuando se compara con otros esquemas de intercalación, los cuales requieren el uso de una tabla de consulta. El valor de K es el tamaño del cuadro de datos que está siendo procesado. La tasa de error del cuadro (FER) y la tasa de error del bit (BER) se muestran para un intercalador ideal y el intercalador basado en PN. Como se muestra, el desempeño del esquema de intercalación basado en PN es casi idéntico al del esquema de tabla de consulta a una tasa de error (probabilidad de error) de IxlO3. Esta tasa de error es el nivel de operación preferido para un sistema de telecomunicaciones inalámbrico CDMA basado en el IS-95, asi como muchos sistemas inalámbricos digitales. De este modo, pueden proporcionarse ahorros en el espacio del circuito con poca o ninguna reducción en el desempeño mediante el uso del esquema de intercalación basado en PN. La Figura 7 es una gráfica que ilustra un turbocódigo concatenado en serie a una velocidad de 1/2 cuando se compara con otros esquemas de intercalación que requieren el uso de una tabla de consulta. Una vez más, la diferencia entre el intercalador ideal y basado en PN es pequeña a una tasa de error de lxlO3. De este modo, pueden proporcionarse ahorros en el espacio del circuito con poca o ninguna reducción en el desempeño mediante el uso del esquema de intercalación basado en PN. De este modo, ha sido descrita una técnica novedosa y mejorada para efectuar la turbocodificación . La descripción anterior de las modalidades preferidas se proporcionó para permitir a cualquier experto en la técnica hacer uso de la presente invención. Las diferentes modificaciones a esas modalidades serán fácilmente evidentes a aquellos expertos en la técnica, y los principios genéricos definidos aquí pueden ser aplicados a otras modalidades sin el uso de una facultad inventiva. De este modo, la presente invención no pretende ser limitada a las modalidades mostradas aquí, sino de acuerdo al más amplio alcance consistente con los principios y características novedosas reveladas aquí. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (22)

  1. REIVINDICACIONES
  2. Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones: 1. Un método para decodificar datos codificados, caracterizado porque comprende los pasos de: (a) escribir los datos codificados en una memoria utilizando una primera unidad de generación de direcciones; y (b) leer los datos codificados de la memoria utilizando una segunda unidad de generación de direcciones. 2. El método de conformidad con la reivindicación 1, caracterizado porque el paso (b) está comprendido de los pasos de: generar un conjunto de direcciones incrementando la máquina de estado P .
  3. 3. El método de conformidad con la reivindicación 2, caracterizado porque comprende además el paso de: remover una dirección del conjunto de direcciones, si la dirección es mayor que un número N, donde N es una cantidad de datos codificados a ser intercalados.
  4. 4. El método de conformidad con la reivindicación 3, caracterizado porque la máquina de estado PN tiene un estado de L bits, donde L es el número más pequeño para satisfacer la ecuación N<=2L-1.
  5. 5. El método de conformidad con la reivindicación 1, caracterizado porque la segunda unidad de dirección está comprendida de: una máquina de estado que utiliza los siguientes polinomios: 1 + D 4 + DA9 cuando el tamaño de la memoria es > 256 y <= 511; 1 + DA3 + D 10 cuando el tamaño de la memoria es > 511 y <= 1023; 1 + D 2 + D 11 cuando el tamaño de la memoria es > 1024 y <= 2047; 1 + D + DA 4 + DA 6 + DA12 cuando el tamaño de la memoria es > 2047 y <= 4095; 1 + D + D 3 + D 4 + DA13 cuando el tamaño de la memoria es > 4095 y <= 8191; 1 + D + D 3 + DA 5 + DA14 cuando el tamaño de la memoria es > 8195 y <= 16383; 1 + D + DA15 cuando el tamaño de la memoria es > 163831 y <= 32767.
  6. 6. Un sistema para codificar datos, caracterizado porque comprende: una memoria de tamaño N, que tiene una entrada de dirección y una entrada de datos; medios contadores para controlar la entrada de direcciones cuando los datos son escritos a la memoria; y una máquina de estado PN para controlar la entrada de direcciones cuando los datos son leídos de la memoria .
  7. 7. El sistema de conformidad con la reivindicación 5, caracterizado porque comprende además: un filtro de dirección para remover valores mayores que N generados por la máquina de estado PN .
  8. 8. El sistema de conformidad con la reivindicación 6, caracterizado porque comprende además: un primer codificador, acoplado a la memoria, para generar primeros símbolos de paridad en respuesta a datos de entrada.
  9. 9. El sistema de conformidad con la reivindicación 6, caracterizado porque comprende además un segundo codificador para codificar símbolos recibidos de la memoria.
  10. 10. Un método para decodificar datos, caracterizado porque comprende los pasos de: escribir los datos utilizando un primer conjunto de direcciones definidas por una máquina de estado PN; leer los datos utilizando un segundo conjunto de direcciones definido por un contador.
  11. 11. El método de conformidad con la reivindicación 10, caracterizado porque comprende además los pasos de: remover una dirección del primer conjunto de direcciones, si la dirección es mayor que un número N, donde N es una cantidad de datos codificados a ser intercalados .
  12. 12. El método de conformidad con la reivindicación 10, caracterizado porque la máquina de estado PN utiliza los siguientes polinomios: 1 + DA4 + D 9 cuando el tamaño de la memoria es > 256 y <= 511; 1 + DA3 + DA10 cuando el tamaño de la memoria es > 511 y <= 1023; 1 + DA2 + D 11 cuando el tamaño de la memoria es > 1024 y <= 2047; 1 + D + D 4 + D? 6 + D 12 cuando el tamaño de la memoria es > 2047 y <= 4095; 1 + D + DA3 + D 4 + D 13 cuando el tamaño de la memoria es > 4095 y <= 8191; 1 + D + DA 3 + DA 5 + DA14 cuando el tamaño de la memoria es > 8195 y <- 16383; 1 + D + D 15 cuando el tamaño de la memoria es > 163831 y <= 32767.
  13. 13. Un decodificador , caracterizado porque comprende : una memoria de tamaño N, que tiene una entrada de dirección y una entrada de datos; una máquina de estado PN para controlar la entrada de direcciones cuando los datos sean escritos en la memoria; y medios contadores para controlar la entrada de direcciones cuando los datos sean leídos de la memoria.
  14. 14. El decodificador de conformidad con la reivindicación 13, caracterizado porque comprende además: un filtro de dirección para remover valores mayores que N generados por la máquina de estado P .
  15. 15. El decodificador de conformidad con la reivindicación 14, caz acteri zado porque comprende además: un primer codificador, acoplado a la memoria, para generar primeros símbolos de paridad en respuesta a datos de entrada.
  16. 16. El decodificador de conformidad con la reivindicación 15, caracterizado porque comprende además un segundo codificador para codificar símbolos recibidos de la memoria.
  17. 17. Un método para efectuar la intercalación en un turbocodificador , caracterizado porque comprende los pasos de: (a) generar un primer conjunto de direcciones basadas en PN; (b) escribir datos en una memoria utilizando el primer conjunto de direcciones basadas en PN como direcciones de renglón; (c) leer los datos utilizando un contador para direcciones de renglón.
  18. 18. El método de conformidad con la reivindicación 17, caracterizado porque comprende además los pasos de: generar direcciones de columna utilizando el contador durante el paso de escritura; generar direcciones de renglón utilizando un contador durante el paso de lectura.
  19. 19. El método de conformidad con la reivindicación 17, caracterizado porque ¦ las direcciones basadas en PN son generadas utilizando un polinomio seleccionado del siguiente conjunto de polinomios: 1 + D + DA2 1 + D + ??3 1 + D + ??4 1 + DA2 + DA5 1 + D + D? 6 1 + D + D 7 1 + D 2 + DA3 + D A4 + DA 8 1 + + DA9 1 + DA3 + D 10 1 + DA2 + DA11 1 + D + D 4 + D? 6 + DA 12 1 + D + DA 3 + DA 4 + DA 13 1 + D + DA 3 + D 5 + DA 14 1 + D + DA15
  20. 20. Un método para efectuar la intercalación en un turbocodificadcr, caracterizado porque comprende los pasos de: (d) generar un primer conjunto de direcciones basadas en PN; (e) escribir datos en una memoria utilizando el primer conjunto de direcciones basadas en PN como direcciones de columna; (f) leer los datos utilizando un contador de direcciones de columna.
  21. 21. El método de conformidad con la reivindicación 17, caracterizado porque comprende además los pasos de: generar direcciones de columna utilizando un contador durante el paso de escritura; generar direcciones de renglón utilizando un contador durante el paso de lectura.
  22. 22. El método de conformidad con la reivindicación 17, caracterizado porque las direcciones basadas en PN son generadas utilizando un polinomio seleccionado del siguiente conjunto de polinomios: 1 + D + DA2 1 + D + DA 3 1 + D + D 4 1 + DA2 + D 5 1 + D + DA 6 1 + D + D 7 1 + DA2 + DA3 + D 4 + DA 8 1 + DA 4 + DA 9 1 + DA3 + D 10 1 + DA2 + DA11 1 + D + D 4 + D 6 + D 12 1 + D + D 3 + DA4 + DA13 1 + D + D 3 + D 5 + D 14 1 + D + DA15
MXPA01003814A 1998-10-13 1999-10-12 Sistema de codificacion que tiene una maquina de estado basada en un intercalador. MXPA01003814A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/172,069 US6353900B1 (en) 1998-09-22 1998-10-13 Coding system having state machine based interleaver
PCT/US1999/024061 WO2000022738A1 (en) 1998-10-13 1999-10-12 Coding system having state machine based interleaver

Publications (1)

Publication Number Publication Date
MXPA01003814A true MXPA01003814A (es) 2003-07-21

Family

ID=22626248

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA01003814A MXPA01003814A (es) 1998-10-13 1999-10-12 Sistema de codificacion que tiene una maquina de estado basada en un intercalador.

Country Status (15)

Country Link
US (1) US6353900B1 (es)
EP (1) EP1121761A1 (es)
JP (1) JP2002527980A (es)
KR (1) KR20010080157A (es)
CN (1) CN1186880C (es)
AU (1) AU6517299A (es)
BR (1) BR9914541A (es)
CA (1) CA2347237A1 (es)
HK (1) HK1040011B (es)
ID (1) ID29939A (es)
IL (1) IL142562A0 (es)
MX (1) MXPA01003814A (es)
NO (1) NO20011889L (es)
RU (1) RU2001112766A (es)
WO (1) WO2000022738A1 (es)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
EP1650873B1 (en) * 1999-02-26 2011-05-11 Fujitsu Ltd. Turbo decoding apparatus and interleave-deinterleave apparatus
WO2000052833A1 (fr) * 1999-03-01 2000-09-08 Fujitsu Limited Procede et appareil de decodage de probabilite maximale a posteriori
US6536001B1 (en) * 1999-03-11 2003-03-18 Globespanvirata, Inc. Circuit and method for convolutional interleaving using a single modulo operation
US6480976B1 (en) * 1999-03-11 2002-11-12 Globespanvirata, Inc. System and method for resource optimized integrated forward error correction in a DMT communication system
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
DE20023252U1 (de) * 1999-04-02 2003-07-31 Samsung Electronics Co Ltd Vorrichtung zum Verschachteln/Entschachteln für ein Kommunikationssystem
US6591391B1 (en) * 1999-09-08 2003-07-08 Sencore Inc. Method of generating an 8-VSB modulated signal
JP3973066B2 (ja) * 1999-09-10 2007-09-05 パイオニア株式会社 符号誤り訂正回路及び符号誤り訂正方法
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6714606B1 (en) * 2000-01-04 2004-03-30 Lsi Logic Corporation Integrated services digital broadcasting deinterleaver architecture
JP4532637B2 (ja) * 2000-01-11 2010-08-25 キヤノン株式会社 データ順序変更装置
US6769093B1 (en) * 2000-12-15 2004-07-27 Conexant Systems, Inc. Synchronization of a communications system
DE10206727A1 (de) * 2002-02-18 2003-08-28 Infineon Technologies Ag Kombinierter Ver-und Entschachteler sowie Turbo-Decodierer mit kombiniertem Ver-und Entschachteler
US7051261B1 (en) * 2002-10-29 2006-05-23 Lattice Semiconductor Corporation Turbo encoder with reduced processing delay
KR100925429B1 (ko) * 2002-12-28 2009-11-06 엘지전자 주식회사 터보 코더
KR100518295B1 (ko) * 2003-03-14 2005-10-04 삼성전자주식회사 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
GB2454195A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
GB2454193B (en) 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
EP1463255A1 (en) * 2003-03-25 2004-09-29 Sony United Kingdom Limited Interleaver for mapping symbols on the carriers of an OFDM system
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
GB2454194A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 1k OFDM sub-carrier mode interleaver
GB2454196B (en) 2007-10-30 2012-10-10 Sony Corp Data processsing apparatus and method
US20040267968A1 (en) * 2003-06-25 2004-12-30 Agilent Technologies Belgium S.A./N.V Implementation of a column interleaving function with a limited amount of columns
US7509556B2 (en) * 2003-11-20 2009-03-24 Seagate Technology Llc Method and apparatus for combining output of different type interleavers based on an input data sequence to obtain a combined output
US7673213B2 (en) * 2004-02-19 2010-03-02 Trellisware Technologies, Inc. Method and apparatus for communications using improved turbo like codes
US7958425B2 (en) * 2004-02-19 2011-06-07 Trelliware Technologies, Inc. Method and apparatus for communications using turbo like codes
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7395461B2 (en) 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7360147B2 (en) * 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7843988B1 (en) * 2006-09-21 2010-11-30 Rockwell Collins, Inc. System and method for pre-processing transmission sequences in a jammed environment
EP2092652A4 (en) * 2006-11-10 2012-11-07 Ericsson Telefon Ab L M NAKED / DECORATED WITH QUADRIC PERMUTATION POLYNOME FOR TURBOCODES
US8959403B2 (en) 2006-11-10 2015-02-17 Optis Wireless Technology, Llc QPP interleaver/de-interleaver for turbo codes
US20080133997A1 (en) * 2006-12-01 2008-06-05 Broadcom Corporation, A California Corporation Turbo decoder employing ARP (almost regular permutation) interleave and inverse thereof as de-interleave
CN101217336B (zh) * 2007-01-04 2011-02-09 浙江华立通信集团有限公司 TD-SCDMA/3G硬核turbo译码器
DK2204002T3 (da) 2007-10-30 2013-06-17 Sony Corp Anordning og fremgangsmåde til databehandling
GB2454318B (en) * 2007-10-30 2012-10-17 Sony Corp Data processing apparatus and method
DK2056464T3 (da) 2007-10-30 2013-02-18 Sony Corp Databehandlingsanordning og -fremgangsmåde
TWI459724B (zh) * 2007-11-26 2014-11-01 Sony Corp Data processing device and data processing method
TWI497920B (zh) * 2007-11-26 2015-08-21 Sony Corp Data processing device and data processing method
TWI410055B (zh) * 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
PT2509270T (pt) * 2007-11-26 2017-07-18 Sony Corp Aparelho de processamento de dados e método de processamento de dados bem como aparelho de descodificação e método de descodificação
TWI427937B (zh) * 2007-11-26 2014-02-21 Sony Corp Data processing device and data processing method
KR101209824B1 (ko) 2011-10-12 2012-12-07 고려대학교 산학협력단 블록 인터리빙 장치
CN103166735B (zh) * 2011-12-15 2015-11-25 无锡中星微电子有限公司 一种交织器的读写方法
CN114978420B (zh) * 2022-05-05 2023-05-16 重庆邮电大学 一种基于有限状态机的数字分集拷贝编码器及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
US4547887A (en) * 1983-11-30 1985-10-15 The United States Of America As Represented By The Secretary Of The Army Pseudo-random convolutional interleaving
FR2639781B1 (fr) * 1988-11-25 1991-01-04 Alcatel Thomson Faisceaux Procede d'entrelacement pour dispositif de transmission numerique
US5042033A (en) 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5241563A (en) * 1992-08-10 1993-08-31 General Instrument Corporation Method and apparatus for communicating interleaved data
JPH06216882A (ja) * 1993-01-19 1994-08-05 Matsushita Electric Ind Co Ltd 誤り訂正送信装置及び受信装置

Also Published As

Publication number Publication date
RU2001112766A (ru) 2003-06-10
CN1329777A (zh) 2002-01-02
AU6517299A (en) 2000-05-01
KR20010080157A (ko) 2001-08-22
NO20011889L (no) 2001-06-05
EP1121761A1 (en) 2001-08-08
WO2000022738A1 (en) 2000-04-20
HK1040011B (zh) 2005-09-02
HK1040011A1 (en) 2002-05-17
CN1186880C (zh) 2005-01-26
ID29939A (id) 2001-10-25
CA2347237A1 (en) 2000-04-20
IL142562A0 (en) 2002-03-10
US6353900B1 (en) 2002-03-05
NO20011889D0 (no) 2001-04-17
BR9914541A (pt) 2002-01-02
JP2002527980A (ja) 2002-08-27

Similar Documents

Publication Publication Date Title
MXPA01003814A (es) Sistema de codificacion que tiene una maquina de estado basada en un intercalador.
JP4955150B2 (ja) 高並列map復号器
RU2235424C2 (ru) Перемежитель турбокода, использующий линейные конгруэнтные последовательности
US6854077B2 (en) Apparatus and method for providing turbo code interleaving in a communications system
FI109162B (fi) Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
CN101232289B (zh) 涡轮解码器及解码涡轮编码信号的方法
US8010867B2 (en) Error correction code decoding device
EP1204210A1 (en) Architecture for a communications device
KR20010072501A (ko) 맵 디코더용 메모리 구조
EP1204211B1 (en) Butterfly processor for telecommunications
CN104218956B (zh) 一种无线接收设备的软比特译码方法及装置
KR20000074862A (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
US6304985B1 (en) Coding system having state machine based interleaver
EP1204212B1 (en) Method and apparatus for path metric processing in telecommunications systems
CN101371448B (zh) 快速编码和解码方法及相关设备
EP1695443A1 (en) Multi-standard turbo interleaver using tables
KR100628201B1 (ko) 터보 디코딩 방법
CA2340366C (en) Memory architecture for map decoder
CN101777923B (zh) Ctc编码器、内码交织器以及内码交织方法、编码处理方法
Adrat et al. Optimized bit rate allocation for iterative source-channel decoding and its extension towards multi-mode transmission
Martina et al. Hardware design of a low complexity, parallel interleaver for WiMax duo-binary turbo decoding
KR20000071582A (ko) 이차원 인터리빙 장치 및 방법