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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2742—Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2757—Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
- H03M13/2764—Circuits therefore
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2771—Internal interleaver for turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2789—Interleaver providing variable interleaving, e.g. variable block sizes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel 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)
- REIVINDICACIONES
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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)
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)
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 | 誤り訂正送信装置及び受信装置 |
-
1998
- 1998-10-13 US US09/172,069 patent/US6353900B1/en not_active Expired - Lifetime
-
1999
- 1999-10-12 WO PCT/US1999/024061 patent/WO2000022738A1/en active IP Right Grant
- 1999-10-12 AU AU65172/99A patent/AU6517299A/en not_active Abandoned
- 1999-10-12 MX MXPA01003814A patent/MXPA01003814A/es unknown
- 1999-10-12 EP EP99953179A patent/EP1121761A1/en not_active Withdrawn
- 1999-10-12 RU RU2001112766/09A patent/RU2001112766A/ru not_active Application Discontinuation
- 1999-10-12 CN CNB998142719A patent/CN1186880C/zh not_active Expired - Fee Related
- 1999-10-12 KR KR1020017004714A patent/KR20010080157A/ko active IP Right Grant
- 1999-10-12 JP JP2000576546A patent/JP2002527980A/ja not_active Withdrawn
- 1999-10-12 CA CA002347237A patent/CA2347237A1/en not_active Abandoned
- 1999-10-12 ID IDW00200101068A patent/ID29939A/id unknown
- 1999-10-12 IL IL14256299A patent/IL142562A0/xx unknown
- 1999-10-12 BR BR9914541-3A patent/BR9914541A/pt not_active Application Discontinuation
-
2001
- 2001-04-17 NO NO20011889A patent/NO20011889L/no not_active Application Discontinuation
-
2002
- 2002-02-27 HK HK02101499.2A patent/HK1040011B/zh not_active IP Right Cessation
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) | 이차원 인터리빙 장치 및 방법 |