ES2344299T3 - Metodo y dispositivo para codificacion de canal adaptativo. - Google Patents
Metodo y dispositivo para codificacion de canal adaptativo. Download PDFInfo
- Publication number
- ES2344299T3 ES2344299T3 ES05016017T ES05016017T ES2344299T3 ES 2344299 T3 ES2344299 T3 ES 2344299T3 ES 05016017 T ES05016017 T ES 05016017T ES 05016017 T ES05016017 T ES 05016017T ES 2344299 T3 ES2344299 T3 ES 2344299T3
- Authority
- ES
- Spain
- Prior art keywords
- bits
- component
- encoder
- queue
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- 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
-
- 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
-
- 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/2703—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 the interleaver involving at least two directions
- H03M13/2721—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 the interleaver involving at least two directions the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
-
- 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/2732—Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
-
- 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/275—Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
-
- 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
-
- 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
- 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/2792—Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
-
- 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/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
- H03M13/296—Particular turbo code structure
- H03M13/2972—Serial concatenation using convolutional component 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
- H03M13/2996—Tail biting
-
- 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- 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
-
- 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/0065—Serial concatenated codes
-
- 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
-
- 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/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
-
- 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/0071—Use of interleaving
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- 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/0059—Convolutional 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)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Un codificador turbo para codificar bits de información de entrada, que comprende: un primer codificador de componente (410) para codificar bits de información de entrada en una trama para generar primeros bits de paridad; un intercalador (430) para intercalar los bits de información de entrada, y un segundo codificador de componente (420) para codificar los bits de información de entrada intercalada para generar segundos bits de paridad, caracterizados porque un primer generador de bits de cola (450) separado del primer codificador de componente (410) para generar primeros bits de cola es igual a valores retroalimentados del primer codificador de componente (410) para terminar el primer codificador de componente, dicho primer generador de bits de cola comprende unos medios X-OR; un segundo generador de bits de cola (460) separado del segundo codificador de componente (420) para generar segundos bits de cola que son iguales a los valores retroalimentados de los segundos codificador de componente (420) para terminar el segundo codificador de componentes, dicho segundo generador de bits de cola comprende unos medios X-OR; un primer interruptor (455) para conmutar los valores retroalimentados del primer codificador de componente (410) al primer codificador de componentes como los primeros bits de cola en el extremo de la trama, y un segundo interruptor (465) para conmutar los valores de retroalimentados del segundo codificador de componente (420) al segundo codificador de componentes como el segundo bits de cola en el extremo de la trama, en donde cada uno de los codificadores de componentes (410, 420) requiere bits de cola tanto como memorias del codificador de componente que están dispuestas para codificar bits de información de entrada de tamaños de trama variables, en donde los codificadores de componente (410, 420) generan un bit de información y dos bits de paridad en respuesta a proporcionar cada uno de los bits de información al codificador de componente y generar dos bits de de cola y dos los bits de paridad en respuesta a proporcionar cada uno de los primeros y segundos bits de cola al codificador de componente (410, 420).
Description
Método y dispositivo para codificación de canal
adaptativo.
La presente invención se relaciona con métodos y
dispositivos para codificación de canal adaptativo para sistemas de
comunicaciones, y en particular, con métodos y dispositivos para
codificación de canales adaptativos para uso en transmisión de voz y
datos.
Un codificador turbo, constituido en una
estructura en paralelo o en serie, genera símbolos de paridad a
partir de una trama de bit de información N de entrada con dos
codificadores de componente simple (o constituyentes). Este utiliza
un código convolucional sistemático recursivo (RSC) como un código
de componente (o constituyentes).
La Fig. 1 es un diagrama de bloques de un
codificador turbo paralelo convencional, descrito en la Patente
Estadounidense No. 5,446,747 otorgada a Berrou. En el codificador
turbo de La Fig. 1, se interpone un intercalador 12 entre los
primeros y segundos codificadores de componente 11 y 13. El
intercalador 12 tiene un tamaño equivalente a la longitud de la
trama N de los bits de información de entrada, y modifica la
secuencia de los bits de información recibidos en el segundo
codificador componente 13 para reducir la correlación entre los bits
de información. La Fig. 2 es un diagrama de bloques de un
codificador turbo en serie convencional que también tiene el
intercalador 12 conectado entre los primeros y segundos
codificadores de componente 11 y 13.
Los codificadores turbo anteriores producen un
código turbo para uso en comunicaciones espaciales. Aunque una
restricción de la longitud K en los codificadores de componente 11 y
13 es más corta que aquella de un código convolucional convencional
(es decir, K=9), el intercalador 12 utiliza una memoria muy grande,
lo que resulta en un retraso muy largo en la decodificación.
La Fig. 3 es un diagrama de bloques de un
decodificador turbo para decodificar la salida del codificador turbo
paralelo mostrado en la Fig. 1, también descrito en la Patente
Estadounidense No. 5,446,747 otorgada a Berrou. La Fig. 4 es un
diagrama de bloques de un decodificador turbo para decodificar la
salida del codificador turbo en serie mostrado en la Fig. 2,
propuesto por Benedetto en un artículo de IEEE Electronics Letters,
Vol. 32, No. 13, Junio 1996.
El decodificador turbo en paralelo de La Fig. 3
mejora ventajosamente las características de desempeño en términos
de error de bit (BER) al decodificar respectivamente datos de
entrada en unidades de trama, utilizando un algoritmo de
decodificación iterativo. Un intercalador 323 contribuye a un
incremento en una capacidad de corrección de error al distribuir
los patrones de error en ráfaga que no se corrigen, mediante un
primer decodificador 319, antes de la corrección de los patrones de
error en ráfaga en un segundo decodificador 327.
La decodificación iterativa se refiere a la
decodificación repetida de símbolos que se decodifican en un
procedimiento especifico, utilizando la información extrínseca
resultante, para lograr excelente desempeño de decodificación. Los
algoritmos de decodificación iterativa son SOVA
(Soft-Output Viterbi Algorithm: ver Proceedings of
IEEE Vehicular Technology Conference, pp. 941-944,
Mayo 1993) y MAP (Maximum Aposteriori Probability: ver IEEE
Transactions on Information Theory, pp. 429-445,
Vol. 42, No. 2, Marzo 1996). SOVA es una modificación de un
algoritmo Viterbi que produce una salida de decisión suave y puede
minimizar el índice de error de palabra de código. De otra parte,
MAP puede minimizar el índice de error de símbolo.
En el decodificador de La Fig. 3, la salidas y1k
e y2k de un "despunzador" 313 son y_{k} y cero,
respectivamente, cuando se recibe símbolo de paridad yk del primer
codificador de componente 11 de La Fig. 1, mientras que ellos sean
cero y y_{k}, respectivamente, cuando se recibe el símbolo de
paridad y_{k} del segundo codificador de componente 13 de La Fig.
1. Z_{k+1} es un símbolo de decisión suave utilizada como
información extrínseca en un algoritmo de decodificación iterativo
y una entrada para decodificación en una siguiente etapa. Se obtiene
un símbolo propuesto final al someter Z_{k+1} a una decisión
dura. El desempeño del código turbo depende del tamaño del
intercalador, la estructura del intercalador, y el número de
decodificaciones iterativa.
Como se muestra en la Fig. 1, el codificador
turbo incluye el intercalador 12. El intercalador 12 produce la
codificación/decodificación turbo para ser implementada en unidades
de trama. Así, la complejidad del código turbo es proporcional al
producto del tamaño de trama de una memoria necesaria para primeros
y segundos decodificadores iterativos 319 y 327 mostrados en la
Fig. 3 y el número de estado de los códigos componentes para los
primeros y segundos codificadores de componente 11 y 13. El código
turbo no puede encontrar su aplicación en trasmisión de voz y datos
debido al uso de tramas muy grandes. Incrementar el número de estado
de los códigos de componentes para el codificador turbo con el fin
de alcanzar mejor desempeño conduce a una complejidad incrementada
de los primeros y segundos codificadores de componente 11 y 13.
Con un error en ráfaga en los decodificadores
como se muestra en la Fig. 3, la salida del primer decodificador
iterativo 319 tiene una correlación, que impide la decodificación
confiable en el segundo decodificador iterativo 327 en la siguiente
etapa de decodificación, por lo tanto, se incurren en errores en un
bloque completo y no se pueden corregir en una siguiente etapa de
decodificación iterativa. En este contexto, hay una necesidad cada
vez mayor de un intercalador y un desintercalador que pueda
distribuir errores en ráfagas en una única trama de un sujeto de
código para decodificación iterativa sin correlación.
Debido a la ventaja de la baja correlación, un
intercalador aleatorio incrementa el desempeño del código turbo.
Con un tamaño pequeño de trama, sin embargo, el intercalador
aleatorio tiene limitaciones en su efectividad para distribuir
errores en ráfagas sin la correlación y requiere una Tabla de
Valores. Por lo tanto, la transmisión de voz o la transmisión de
datos de bajo índice requieren un tamaño de trama pequeño un número
pequeño de estados de código de componente para minimizar el tiempo
de retraso. La transmisión de voz o la transmisión de datos de bajo
índice necesitan adicionalmente un intercalador estructurado. En
resumen, el código turbo convencional no es viable en la
transmisión de voz y datos debido a la inaceptable longitud de
restricción de los códigos componentes y el intercalador grande. No
obstante, se han hecho grandes esfuerzos en la realización de un
codificador y un decodificador para un sistema de comunicaciones,
que tiene en cuenta la ventaja del código turbo convencional.
Por lo tanto, existe la necesidad de un
codificador turbo que tenga un desempeño igual a o menor que aquel
de un codificador convolucional en un sistema de comunicaciones
convencional. Existe una necesidad adicional de un intercalador que
tenga excelente desempeño con estados de código de componentes y
tiempo de retraso minimizado. Aunque el desempeño del intercalador
12 de La Fig. 1 o 2 para uso en un codificador turbo es generalmente
proporcional al tamaño del intercalador, el tamaño de la trama del
código turbo es limitado. En este caso, es preferible utilizar un
intercalador que maximice una distancia Hamming mínima de los
códigos turbo en términos de un código de bloque. Se puede emplear
un intercalador estructurado para tramas pequeñas.
Divsalar, D., et al. "Codigo turbo for
Deep-Space Communications", TDA Progress Report,
Volumen 42-120, Febrero 15, 1995, páginas
29-39, en particular se refiere a una concatenación
en paralelo de dos códigos convolucionales y el problema de la
terminación trellis. Se describe un método de terminación particular
que se puede utilizar para índices desiguales y codificadores. De
acuerdo con este método de terminación, de proporciona un cambio
que está en una primera posición para los primeros N ciclos de reloj
y en una segunda posición para M ciclos adicionales. Aquellos M
ciclos adicionales vaciará los codificadores con ceros.
Bomer, L., et al.: "A CDMA Radio Link
con ``Turbo -Decoding'': Concept y Performance Evaluation", 6th
IEEE symposium y personal, indoor y mobile radio communications
PIMRC'1995 Volumen 2, Septiembre 27, 1995, paginas
788-793, describe una conexión de radio CDMA de
acuerdo con la cual se pueden transmitir servicios de datos y voz.
Se dan los parámetros de transmisión correspondientes y se simula
una conexión CDMA para servicio de voz y servicio de datos. En
particular se describe mediante esta referencia que un código
multidimensional sencillo con decodificación turbo se puede
utilizar ventajosamente para servicio de voz y datos.
Barbulescu, A.S., et al.: "Rate
Compatible Turbo Codes", Electronic Letters, IEE Stevenage, March
30, 1995,GB, Volumen 31, No. 7, páginas 535-536,
describe códigos turbo multi-dimensionales
particulares en donde el índice se puede variar de la mitad a1/n en
donde n corresponde a la dimensión del código. La protección de
error desigual y que corresponde a los códigos turbo se describen
para ser utilizados en la transmisión de imágenes comprimidas o
velocidad también canales satelitales móviles.
Berrou, C., et al.: "Near Shannon Limit
Error - Correcting Coding y Decoding: Turbo -Codes (1)",
Proceedings of The International Conference on Communications (ICC)
Ginebra, Mayo 23-26, 1993, Vol. 3, páginas
1064-1070, describe básicas de código turbo y en
particular se refiere a la concatenación en paralelo de dos códigos
convolucionales sistémicos recursivos con respecto a un codificador
y se dice que el decodificador asociado utiliza una regla de
decodificación de retroalimentación.
Es un objeto de la presente invención para
proporcionar métodos y dispositivos de codificación turbo, que
pueden codificar datos de radiotransmisión bajos y voz en un sistema
de comunicaciones en donde los bits de cola y los bits de paridad
generados de los bits de cola se transmiten sobre un canal para
codificar señales de voz y datos a un código turbo.
Este objeto se resuelve mediante las
características de las reivindicaciones independientes.
Se describen realizaciones ventajosas mediante
las sub-reivindicaciones.
Son posibles diferentes métodos de
intercalación.
Un método de intercalado diagonal puede
comprender las etapas de recibir una señal de tamaño de trama;
determinar los valores de fila y columna que corresponden al tamaño
de una trama de entrada; e intercalar diagonalmente los bits de
información de la trama de entrada de acuerdo con los valores de
fila y columna.
El intercalado diagonal se puede implementar
sobre la base de
\vskip1.000000\baselineskip
En donde M y N son los valores de fila y
columna, MxN es el tamaño de trama, y k es un índice, y new addr []
representa la nueva dirección de los bits de información
intercalados diagonalmente.
también se puede implementar el intercalado
diagonal sobre la base de
en donde M y N son los valores de
fila y columna, MxN es el tamaño de trama, y i y j are indexes y new
addr [] representa la nueva dirección de los bits de información
intercalados
diagonalmente.
\vskip1.000000\baselineskip
En donde M y N son los valores de fila y
columna, M x N es el tamaño de trama, e i y j son los índices y new
addr [] representa La nueva dirección de los bits de información
intercalados diagonalmente.
Adicionalmente, el intercalado diagonal se puede
implementar sobre la base de
En donde M y N son los valores de fila y
columna, M x N es el tamaño de trama, e i y j son los índices y new
addr [] representa la nueva dirección de los bits de información
intercalados diagonalmente.
Un método de intercalado de cambio circular,
puede comprender las etapas de:
Recibir una señal de tamaño de trama;
determinar parámetros de etapa y salto que
corresponde al tamaño de una trama entrada; y
\vskip1.000000\baselineskip
Desarrollar un intercalado circular sobre los
bits de información de la trama de entrada de acuerdo con los
parámetros de salto y etapa determinados, utilizando los bits de
información por lo menos en un círculo.
El intercalado de cambio circular se puede
implementar sobre la base de
en donde SIZE es el tamaño de los
datos a ser intercalados, p es el parámetro de salto para
intercalado de cambio circular, STEP es el parámetro de etapa que
tiene un valor entero, para datos de cambio desde una posición
saltada, new addr [] representa la nueva dirección de los bits de
información intercalados diagonalmente e i es un
índice.
\vskip1.000000\baselineskip
También se puede implementar el intercalado de
cambio circular sobre la base de
En donde SIZE es el tamaño de los datos a ser
intercalados, p es el parámetro de salto para intercalado de cambio
circular, STEP es el parámetro de etapa que tiene un valor entero,
para datos de cambio desde una posición saltada, new addr []
representa la nueva dirección de los bits de información
intercalados diagonalmente, GCD es el denominador común más grande e
i y k son los índices.
Un codificador turbo puede comprender una
pluralidad de codificadores de componente para codificar bits de
información de entrada; y un intercalador conectado a un puerto de
entrada de uno de los codificadores de componentes y tiene
información de filas y columnas que corresponden a los tamaños de la
información de entrada, para determinar la información de fila y
columna que corresponde al tamaño de trama de los bits de
información de entrada e intercalar diagonalmente los bits de
información.
Un intercalador diagonal correspondiente puede
comprender una tabla de intercalado diagonal para almacenar la
información de filas y columnas que corresponde al tamaño de la
información de entrada, un intercalado diagonal de los bits de
información de acuerdo con la información de filas y columnas,
mediante
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
En donde M y N son información de fila y
columna, k es índice y new addr [] representa la nueva dirección de
los bits de información intercalados diagonalmente, y M x N es un
tamaño de trama
o mediante
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
En donde M y N son la información de filas y
columnas, new addr [] representa la nueva dirección de los bits de
información intercalados diagonalmente e i y j son índices, o
también mediante
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
En donde M y N son la información de filas y
columnas new addr [] representa la nueva dirección de los bits de
información intercalados diagonalmente e i y j son índices.
Tal un codificador turbo puede comprender una
pluralidad de codificadores componentes para codificar bits de
información de entrada; yun intercalador de cambio circular
conectado a un puerto de entrada de uno de los codificadores de
componente y tiene información de etapa y salto que corresponden a
los tamaños de la información de entrada, para determinar la
información de etapa y salto que corresponde al tamaño de la trama
de los bits de información de entrada desarrolla un intercalado de
cambio circular sobre los bits de información.
El intercalador de cambio circular puede
comprender: una tabla de intercalado de cambio circular para
almacenar la información de filas y columnas que corresponden a los
tamaños de una trama de entrada; un controlador de intercalado de
cambio circular para generar direcciones para ser utilizadas en el
intercalado de cambio circular de los bits de información de la
trama de acuerdo con la información de etapa y salto, mediante
\vskip1.000000\baselineskip
\newpage
En donde SIZE es el tamaño de los datos a ser
intercalados, p es el parámetro de salto para intercalado de cambio
circular new addr [] representa la nueva dirección de los bits de
información intercalados diagonalmente, STEP es el parámetro de
etapa que es un entero, para datos de cambio desde una posición
saltada, e i es un índice,
mediante
en donde SIZE es el tamaño de los
datos de trama a ser intercalados, p es el parámetro de salto para
intercalado de cambio circular, e i, j y k son índices, new addr []
representa la nueva dirección de los bits de información
intercalados diagonalmente y STEP es en parámetro de etapa que es un
entero, para datos de cambio desde una posición
saltada.
\vskip1.000000\baselineskip
El método de intercalado de cambio circular
puede comprender los etapas de: recibir una señal representativa de
tamaño de la información de entrada; determinar un parámetro de
salto que corresponde al tamaño de información de entrada, y
desarrollar un intercalado de cambio circular sobre los bits de
información de entrada de acuerdo con el parámetro de salto
determinado, utilizando la bits de información en por lo menos un
círculo.
El intercalado de cambio circular se puede
implementar sobre la base de
En donde SIZE es el tamaño de la información de
entrada a ser intercalada, p es el parámetro de salto para el
intercalado de cambio circular, STEP es el parámetro de etapa que
tiene un valor entero, para datos de cambio desde una posición
saltada, new addr [] representa la nueva dirección de la bits de
información intercalados diagonalmente, e i es un índice,
o sobre la base de
En donde SIZE es el tamaño de la información de
entrada a ser intercalado, p es el parámetro de salto para
intercalado de cambio circular, new addr [] representa la nueva
dirección de los bits de información intercalados diagonalmente, GCD
es el denominador común más grande, i, j y k son índices y STEP es
el parámetro de etapa que tiene un valor entero, para datos de
cambio desde una posición saltada.
Generalmente, el intercalado de cambio circular
se puede implementar de acuerdo con un parámetro de salto que
corresponde al tamaño de la información de entrada. El tamaño de la
información de entrada y el parámetro de salto corresponden al
tamaño de la información de entrada que puede ser almacenado.
El intercalado de cambio circular también se
puede implementar de acuerdo a un parámetro de salto que corresponde
al tamaño de la información de entrada y el orden en que están
dispuestos los bits de información de entrada.
El intercalado de cambio circular se puede
implementar, utilizando un remanente obtenido al dividir el producto
del parámetro salto y la información de orden de los bits de
información de entrada mediante un tamaño de círculo.
El tamaño de círculo puede ser igual al tamaño
de la trama de entrada.
Los objetos y ventajas anteriores de la presente
invención serán más evidentes, al describir en detalle las
realizaciones preferidas de la misma con referencia a los dibujos
adjuntos en los que:
La Figura 1 es un diagrama de bloques de un
codificador sistemático recursivo contactado en paralelo
convencional;
La Figura 2 es un diagrama de bloque de un
codificador sistemático recursivo contactado en serie
convencional;
La Figura 3 es un diagrama de bloques de un
decodificador sistemático recursivo contactado en paralelo
convencional;
La Figura 4 es un diagrama de bloques de un
decodificador sistemático recursivo contactado en serie
convencional;
La Figura 5 es un diagrama de bloques de un
codificador sistemático recursivo concatenado en de acuerdo con una
primer realización de la presente invención;
La Figura 6 es un diagrama de bloques de un
codificador sistemático recursivo concatenado en de acuerdo con una
segunda realización de la presente invención;
La Figura 7 es un diagrama de bloques en el
intercalador diagonal en el codificador turbo de acuerdo con la
primer realización de la presente invención;
La Figura 8 es un diagrama de flujo que muestra
una primera operación de intercalado de diagonal en el intercalador
diagonal de la figura 7;
La Figura 9 es un diagrama de bloques de un
intercalador de cambio circular en el codificador turbo de acuerdo
con la segunda realización de la presente invención;
La Figura 10 es un diagrama de flujo que muestra
una primera operación de intercalado de cambio circular en el
intercalador de cambio circular de la figura.
La Figura 11 es un diagrama de flujo que muestra
una segunda operación de intercalado de cambio circular en el
intercalado mostrado en la figura
La Figura 12 es una gráfica que muestra
características de un codificador turbo que se basa en intercalados
de bloque y aleatorios versus aquellos del codificador turbo que se
basan en el intercalado de cambio circular de acuerdo con una
segunda realización de la presente invención, y
La Figura 13 es un diagrama de bloques de un
codificador turbo de acuerdo con las realizaciones de la presente
invención, relacionado para describir la punción y generación de bit
de cola.
Para claridad de descripción, las realizaciones
de la presente invención se describe con referencia a un codificador
turbo recursivo concatenado en paralelo, se contemplan otras
configuraciones tal como el codificador turbo recursivo en serie.
Las Figs. 5 y 6 son diagramas en bloque de, codificador turbo de
acuerdo con las realizaciones de la presente invención. Los
codificadores 410 y 420 son codificadores de componente para
codificar un bit de información de entrada d_{k} en un símbolo de
paridad Y_{k} similar a los codificadores de componente de las
Figs. 1 y 2. Un intercalador diagonal 432 y un intercalador de
cambio circular 434 son una característica de la presente invención
y se denominaran un intercalador 430 a menos que se especifique lo
contrario.
Con referencia a las Figs. 5 y 6, los bits de
información d_{k} se cargan simultáneamente al primer codificador
de componente 410 y el intercalador 430. El intercalador 430
modifica el orden en el que se disponen los bits de información y,
preferiblemente, maximizan una distancia mínima Hamming de una
secuencia de salida codificada (X_{k}, Y_{k}) que corresponde a
los bits de información d_{k}. Una entrada de trama de datos al
codificador de canal es variable en longitud debido a un bit CRC
(Comprobación de Redundancia Cíclica) y otros bits de control que se
agregan a los datos. Para fijar forzadamente la longitud de trama de
datos, de deben agregar bit vacíos dependiendo de la diferencia
entre el tamaño de la trama y el tamaño de intercalador. Pero,
debido a que estos bits vacíos no tienen nada que hacer con la
mejora del desempeño del sistema, es deseable reducirlos. Así, el
intercalador 430 proporciona excelente desempeño y operación
confiable independiente de una variación en los parámetros asociados
con el tamaño de la trama.
La Fig. 7 es un diagrama de bloque del
intercalador diagonal 432 y el intercalador de cambio circular 434
mostrados en las Figs. 5 y 6, respectivamente. Ambos intercaladores
de cambio circular y diagonal 432 y 434 analizan sus tamaños de
trama variable correspondientes y luego del recibo de los bits de
información y desarrollan un intercalado optimo sobre los bit de
información mediante los parámetros relacionados con el intercalador
recibido desde un controlador de sistema de acuerdo con los
resultados de análisis de tamaño de la trama. El intercalador
diagonal 432 y el intercalador de cambio circular 434 se combinan en
una descripción de las realizaciones de la presente invención, sin
embargo, un codificador turbo puede emplear específicamente
intercalado diagonal o intercalado de cambio circular, en forma
separada. En adelante, el intercalador diagonal 432 y el
intercalador de cambio circular 434 se denominan como el
intercalador 430.
Con referencia a La Fig. 7, un registrador 511
almacena una señal de tamaño de trama y una señal de tipo de
intercalador recibidos de un controlador de sistema (no mostrada).
Una Tabla de intercalado diagonal 513 almacena los números M y N de
columnas y filas en una matriz que permite las características de
intercalado diagonal óptimo con respecto al tamaño de la trama
durante el intercalado diagonal. Esto es, almacena valores MxN
medidos que permite el intercalado diagonal óptimo de los bits de
información con un tamaño de trama variable. La Tabla de intercalado
diagonal 513 genera un valor MxN que corresponde a la señal de
tamaño de la trama recibida del registrador 511. Un controlador de
intercalado diagonal 517 recibe el valor MxN de la Tabla de
intercalado diagonal 513 y genera una dirección de lectura para
intercalar los bits de información en el método de intercalado
designado.
La Tabla de intercalado de cambio circular 515
almacena parámetros de salto P y parámetros de etapa STEP que
permiten características de intercalado de cambio circular con
respecto al tamaño de la trama de los bits de información en el caso
del intercalado de cambio circular. Los parámetros de salto P y los
parámetros de etapa STEP se miden empíricamente. La Tabla de
intercalado de cambio circular 515 genera los parámetros P y STEP
que corresponden a la señal de tamaño de la trama recibida del
registrador 511. Un controlador de intercalado de cambio circular
519 recibe los parámetros P y STEP de la Tabla de intercalado de
cambio circular 515 y genera una dirección de lectura para
intercalarlos bits de información en un método de intercalado de
cambio circular designado. Un multiplexor 521 recibe una dirección
de lectura del controlador de intercalado diagonal 517 y el
controlador de intercalado de cambio circular 519 y selecciona uno
de ellos de acuerdo con la señal de tipo de intercalador recibido
desde el registrador 511. Una memoria 523 recibe los bits de
información secuencialmente y genera los bits de información
almacenados en la dirección de lectura recibida del multiplexor 521
en un orden intercalado. La memoria 523 se diseña para ser
suficientemente larga para acomodar los bits de información con un
tamaño de trama máximo variable.
Se incluyen para una estructura con solo el
intercalador diagonal 432 en la Fig. 7, el registrador 511, la Tabla
de intercalado diagonal 513, el controlador de intercalado diagonal
517, y la memoria 523. De otra parte, para una estructura con solo
el intercalador de cambio circular 434 en la Fig. 7, se incluye el
registrador 511, la Tabla de intercalado de cambio circular 515, el
controlador de intercalado de cambio circular 519, y la memoria 523.
En ambos casos no se necesita el multiplexor 521 y la señal de tipo
intercalador si solo se emplea un tipo de intercalado.
La Tabla de intercalado diagonal 513 y la Tabla
de intercalado de cambio circular 515 pueden estar compuestas de una
memoria similar a ROM o RAM, o dispositivos lógicos en combinación.
El controlador de intercalado diagonal 517 y el controlador de
intercalado de cambio circular 519 se pueden realizar, utilizando
dispositivos lógicos en combinación o un procesador de señal
digital.
Las Figs. 8 y 9 son diagramas de flujo de
intercalados diagonales de ejemplo, y las Figs. 10 y 11 son
diagramas de flujo de intercalado de cambio circular de ejemplo. Un
intercalador que se puede describir adelante, por vía de ejemplo,
tiene un amortiguador de entrada.
Con referencia a la estructura del intercalador
430 mostrado en la Fig. 7, se describirán adelante primeras a
terceras operaciones de intercalado diagonal.
La Fig. 8 es un diagrama de flujo de la primera
operación de intercalado diagonal. En la Fig. 8, el primer
intercalado diagonal incluye un proceso de reordenamiento de una
secuencia de bit de entrada en una matriz MxN. Para el primer
intercalado diagonal, luego del recibo de los bits de información
d_{k}, se almacenan los bits de información en una dirección
old_addr[k] para almacenar secuencialmente los bits de
información en la memoria 523 (Fig. 7) y se determina el tamaño de
trama de datos k, en la etapa 611. Luego, se determinan los
parámetros de columnas y filas MxN de la trama de datos para
intercalados diagonales en la etapa 613. Esto es, para implementar
el intercalado diagonal, se designan valores MxN de la Tabla de
intercalado diagonal sobre la base del tamaño de datos de trama de
entrada k. Se puede almacenar una pluralidad de valores MxN en una
Tabla de Valores a ser seleccionada de acuerdo con el tamaño de
trama de entrada k. Alternativamente, se puede calcular un MxN
óptimo de acuerdo con el tamaño de trama de entrada k. En la etapa
615, se determina si el máximo común divisor (GCD) de M y N es 1.
Cuando el GCD de M y N es 1, las primeras direcciones de intercalado
diagonal se operan como sigue, en la etapa 617.
Luego de la designación de las direcciones en un
amortiguador de salida como en la ecuación (1), los bits de
información de entrada almacenados en el amortiguador de entrada se
intercalan y almacenan en el amortiguador de salida.
Si el GCD de M y N no es 1, es decir, [GCD (M,
N) \neq 1] en la etapa 615, si se determina que el intercalado
falla en la etapa 619 y el proceso se termina.
En el primer intercalado diagonal, asumiendo que
una secuencia de datos con M = 6 y N = 5 almacenados en
old_addr[k] es {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26 27 28 29}, una primer secuencia de salida
de intercalador diagonal almacenada en new_addr[k] del
amortiguador de salida es {25 21 17 13 9 0 26 22 18 14 5 1 27 23 19
10 6 2 28 24 15 11 7 3 29 20 16 12 8 4}.
Los datos de entrada y la salida del primer
intercalador diagonal se tabulan matrices de MxN como sigue.
\vskip1.000000\baselineskip
Sin embargo, el anterior primer intercalado
diagonal es viable solo cuando el GCD de M y N es 1. Cuando el GCD
(M, N) \neq 1, por ejemplo, M = 6 y N =6, el primer intercalado
diagonal es imposible y los mismos datos se sobrescriben como
mostrados en Tabla 2.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Segundos y terceros intercalado diagonal incluye
un proceso para permutar una secuencia de bit de información de
entrada expresada en una matriz MxN y permitir que los datos de
entrada se intercalen independientemente del GCD (M, N) = 1 o \neq
1.
La Fig. 9 es un diagrama de flujo de la segunda
operación de intercalado diagonal. Con referencia a La Fig. 9, el
segundo intercalado diagonal reordena los bit de entrada en una
matriz MxN y se puede aplicar a ambos casos en donde el GCD (M, N) =
1 y en donde el GCD (M, N) \neq 1. En el segundo intercalado
diagonal, luego de la entrada de los bits de información d_{k},
los bits de entrada de información se almacenan en la dirección
old_addr [k] y se determina el tamaño de la trama k, en la etapa
631. Un parámetro de columna y fila (MxN) para el intercalado
diagonal se determina en la etapa 633. En la etapa 635, las segundas
direcciones de intercalado diagonal se operan mediante
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
en donde i y j incrementan la
ubicación de la
trama.
\vskip1.000000\baselineskip
Luego de la designación de las direcciones del
amortiguador de salida como en la ecuación (2), los bits de
información almacenados en el amortiguador de entrada se intercalan
y almacenan en el amortiguador de salida.
La segunda salida intercalada diagonal
corresponde a una secuencia de entrada con M = 6, N = 5, y el GCD
(M, N) = 1 se muestran en Tabla 3.
\vskip1.000000\baselineskip
Adicionalmente, una secuencia de entrada con M =
6, N = 6, y el GCD (M, N) \neq 1 se intercala como se muestra
en
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
En el tercer intercalado diagonal, el
controlador de intercalado diagonal 517 se puede implementar
mediante
Una secuencia de entrada se almacena en
dirección de una memoria mapeada y luego se leen secuencialmente por
columnas o filas por el intercalador diagonal 432. De otra forma, la
secuencia de entrada se almacena secuencialmente en la memoria
mediante columnas o filas y se leen desde un bit de dirección por
bit mediante el intercalador diagonal 432.
El desintercalado se implementa en un orden
inverso a aquel del intercalado de datos de entrada.
La Fig. 10 es un diagrama de flujo de un primer
intercalador circular implementado por el intercalador de cambio
circular 434. La primera operación de intercalado de cambio circular
es un procedimiento de reordenamiento de datos en un intervalo
predeterminado, considerando una secuencia de entrada como un
círculo. La primera operación de intercalado de cambio circular
puede intercalar una secuencia de entrada independiente de su
longitud.
Con referencia a La Fig. 10, se almacenan bits
de información de entrada d_{k} en la dirección old_addr [k] de un
amortiguador de entrada, y se determina el tamaño de trama en la
etapa 711. Se determinan parámetros P y STEP en la etapa 713. Aquí,
P es un parámetro de intervalo de salto que determina el desempeño
de un intercalador de cambio circular y se obtiene así empíricamente
para alcanzar un efecto óptimo. Adicionalmente, STEP es un parámetro
para datos de cambio desde una ubicación saltada por P a la
izquierda o derecha y tiene un valor entero. Luego, se determina si
el GCD de P y SIZE es 1 en la etapa 715. Cuando el GCD (P, SIZE) =
1, se computa la primer dirección de intercalado de cambio circular,
en la etapa 717, mediante
en donde i es un parámetro
representativo del tamaño de trama de los datos de entrada o menos
que aquel del tamaño de los datos de entrada, que varía de cero a
SIZE, es decir, el número de direcciones, SIZE es un tamaño de
trama, p es un número natural que satisface el GCD (SIZE, p) = 1, y
STEP es un entero e indicador de un punto de
partida.
Por ejemplo, la primer salida intercalada de
cambio circular, almacenada en new_addr[k] del amortiguador,
que corresponde a una secuencia de entrada con SIZE = 30 almacenada
en new_addr[k] del amortiguador de entrada, esto es, {0 1 2 3
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
29} es {0 11 22 3 14 25 6 17 28 9 20 1 12 23 4 15 26 7 18 29 10 21 2
13 24 5 16 27 8 19} si P = 11 y STEP = 0. La secuencia de entrada y
la primer secuencia de salida intercalada de cambio circular se
tabula como en
\vskip1.000000\baselineskip
Sin embargo, con el GCD (SIZE, p) \neq 1 y p =
6, el primer intercalado de cambio circular no es viable debido a
que los mismos datos se sobre escriben.
Asumiendo que SIZE = 30 para una secuencia de
entrada almacenada en un dirección secuencial old_addr[k] de
una memoria inicial, P = 11, y STEP = 0, una salida intercalada
correspondiente que resulta del primer intercalado de cambio
circular de La Fig. 10 se expresa en una matriz MxN como se muestra
adelante.
\vskip1.000000\baselineskip
Un segundo esquema de intercalado circular
incluye permitir el intercalado del caso con el GCD (SIZE, p) \neq
1, como se muestra en la Fig. 11. El segundo intercalado de cambio
circular un procedimiento de reordenamiento de datos en el que se ve
una secuencia de entrada como una matriz de d x SIZE/d, las filas
son primero intercalada de cambio circular, y las columnas se
bloquean en forma intercalada.
La Fig. 11 es un diagrama de flujo del segundo
intercalado de cambio circular que se puede aplicar independiente
del GCD (SIZE, p) = 1 o \neq 1. En la segunda operación de
intercalado de cambio circular, se almacenan bits de información de
entrada en una dirección secuencial old_addr[k] de una
memoria y se determina el tamaño, en la etapa 721. Aquí, SIZE es un
parámetro indicador del tamaño de los datos de entrada. Los
parámetros P y STEP para el intercalado de cambio circular se
determina en la etapa 723. En la etapa 725, se alcanza la segunda
dirección de intercalado de cambio circular mediante la ecuación
(5):
en donde i y k están entre 0 a
SIZE, j es un parámetro de dirección, que varía de 0 a d, P es un
parámetro de salto para implementar intercalado de cambio circular,
y STEP es un parámetro que determina un punto de partida al cambiar
datos colocados en una ubicación establecida por P a la izquierda o
derecha.
De la ecuación (5), (P x i + STEP) representa
una operación de intercalado de cambio circular y j indica una
operación de intercalado de bloque. SIZE es el tamaño de los datos
de entrada, p es un número natural, y STEP es un entero.
Con SIZE = 30 y p = 11, se expresa una segunda
salida de intercalado de cambio circular en una matriz M x N
como
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Que es la misma que aquella de la Tabla 6. Aún,
con el GCD (SIZE, p) \neq 1,
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Después que se almacena la secuencia de entrada
en la dirección de una memoria mapeada, se leen los datos
secuencialmente por columnas o filas mediante el intercalador de
cambio circular. De otra forma, la secuencia de entrada se almacena
secuencialmente en la memoria mediante columnas o filas y luego se
lee desde las direcciones bit por bit.
Se puede implementar el desintercalado en un
orden inverso a aquel de los datos de entrada de intercalado.
La Fig. 12 es una gráfica que muestra el
desempeño del intercalador de cambio circular en un codificador
turbo concatenado paralelo de acuerdo con la segunda realización de
la presente invención. Los intercaladores aleatorio y de bloque
utilizados ampliamente se compara con el intercalador de cambio
circular en términos de BER bajo las condiciones de un código
componente con K=3, una trama de entrada 104-bit,
decodificaciones iterativa ocho, modulación BPSK (código de cambio
Bi-fase), y AWGN (ruido blanco Gaussian aditivo).
Como se anoto de la Fig. 12, Eb/No del intercalador de cambio
circular es 3 dB, aunque aquel del intercalador de bloque es 3.4 dB,
bajo un 10^{-5} BER. Así, se infiere que el intercalador de cambio
circular es superior al intercalador de bloque en desempeño en
aproximadamente 0.4 dB.
La Fig. 13 es un diagrama de bloque de un
codificador turbo de acuerdo con las realizaciones de la presente
invención.
Con referencia a La Fig. 13, el primer
codificador de componente 410 codifica bits de información de
entrada con K = 3, por ejemplo. El intercalador 430 intercala los
bits de información en un método predeterminado para modificar por
lo tanto el orden de los bits de información. El intercalador 430 se
puede constituir como se muestra en la Fig. 7. En este caso, este se
puede implementar puno de los primero a terceros intercalado
diagonales y el primero a tercero de los intercalado de cambio
circulares. El segundo codificador de componente 420 codifica la
salida del intercalador 430 con K = 3, por ejemplo.
Un primer generador de bits de cola 450 incluye
un primer interruptor 455 conectado a un puerto de entrada del
primer codificador de componente 410, una salida oclusiva para
desarrollar una operación oclusiva en la salidas de Memorias 412 y
413 del primer codificador de componente 410, y un generador de bit
453 para generar una señal para terminar tramas de acuerdo con la
salida de la puerta exclusiva 451, y aplicar la señal al primer
interruptor 455. En el primer generador de bits de cola 450, el
primer interruptor 455 se conecta al primer codificador de
componente 410 y luego de la terminación de una trama y se genera
una señal determinación de trama. Un segundo generador de bits de
cola 460 incluye un segundo interruptor 465 conectado a un puerto de
entrada del segundo codificador de componente 420, una puerta o
oclusiva 461 para desarrollar una operación o exclusiva en las
salidas de Los dispositivos de memoria 422 y 423 del segundo
codificador de componente 420, y un generador de bit 463 de acuerdo
con la salida de la puerta o exclusiva 461, que genera una señal de
terminación de trama, y aplicar la señal al segundo interruptor 465.
En el segundo generador de bits de cola 460, se conecta el segundo
interruptor 465 al segundo codificador de componente 420 luego de la
terminación de una trama y se genera una señal de terminación de
trama.
Un primer punzador 470 punza bits de
información. Un segundo punzador 480 punza datos codificados
recibidos de los primeros y segundos codificadores de componente 410
y 420. Los primeros y segundos punzadores 470 y 480 sirve para
ajustar un índice de transmisión de datos. Un multiplexor 491
multiplexa la salidas de los generadores de bit 453 y 463. Un tercer
interruptor 493 conmuta bits de cola recibidos del multiplexor 491 a
un canal de transmisión luego de la terminación de una trama.
Los primeros y segundos generadores de bits de
cola 450 y 460 generan bits de cola para terminar las operaciones de
los primeros y segundos codificadores de componente 410 y 420,
respectivamente. Los primeros y segundos punzadores 470 y 480
funcionan para ajustar un índice de transmisión a un nivel
aceptable.
Con referencia a la Fig. 13, un código turbo
tiene bits de cola para terminar los codificadores de componente 410
y 420. Aquí, debido a que los códigos de componente del código turbo
son sistemáticos, las memorias 412 y 413, 422 y 423 de los
codificadores de componente 410 y 420 no se inicializan aun con la
entrada de ceros consecutivos como en un código convolucional no
sistemático. Para fijar valores en una memoria más cercana a la
entrada a ceros, los primeros y segundos codificadores de componente
410 y 420 ingresan la suma de los valores retroalimentados a las
memorias mediante el uso de generadores de bits de cola. Por lo
tanto, el codificador turbo requiere bits de cola tanto como
memorias de cada codificador de componente. El primero y segundo
interruptores 455 y 465 se conmutan luego de generación de los bits
de cola. Luego, los bits de paridad generados de los bits de cola se
aplican desde los primeros y segundos codificadores de componente
410 y 420 al segundo punzador 480, y los bits de cola generados de
los generadores de bits de cola se conmutan mediante el tercer
interruptor 493 a ser generados como bits de información
X_{k}.
Es deseable fijar un índice de transmisión a una
potencia de 2 con el fin de reducir la complejidad del hardware. Sin
embargo, el índice de transmisión 384 kbps no puede ser una potencia
de 2 utilizando un código turbo con un índice de código de 1/2. En
este caso, el código turbo 1/2 se punza a un código turbo 3/8.
Especialmente, en el caso de 144 kbps, el código turbo 1/2 se punza
para ser un código turbo 9/16 código turbo. Las matrices de punción
9/16 se muestran como ejemplo en
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
En las Tablas 9 y 10, los bits de información
son d_{k}, aplicados al primer punzador 470, y RSC1 son bits de
paridad aplicados desde el primer codificador de componente 410 al
segundo punzador 480. Aquí, la Tabla 9 muestra ejemplos punción de
bits de paridad de salida de los codificadores de componente 410 y
420. En este caso, existen varios ceros consecutivos que corresponde
a bits de paridad. Esto es, cuando los bits de paridad se punzan
para ajustar un índice de transmisión, aparecen ceros sucesivamente
como se indica por lo subrayado en la Tabla 9. Sin embargo, debido a
dos memorias en cada uno de los codificadores de componente 410 y
420, se pueden generar serios errores a menos que se transmita
consecutivamente dos o más bits de paridad. Por lo tanto, los bits
de información se punzan como se muestra en la Tabla 10 en la
presente invención. Tabla 10 muestra una matriz punción 9/16
diferente de aquella de la Tabla 9 en la que dos o más de los bits
de paridad se transmite sucesivamente. Aun mas, el desempeño del
código turbo se mejora cuando se incrementa el número de
decodificaciones iterativa.
De acuerdo con la presente invención como se
describió anteriormente, un código turbo, que es inaceptable para
transmisión de voz y datos en un sistema de comunicación debido al
retraso de tiempo, se puede encontrar aplicaciones en la
transmisión de voz y datos con la introducción de un intercalador
que tiene un tamaño reducido y que muestra excelente desempeño con
respecto al código turbo en un codificador turbo. Adicionalmente, el
intercalador que tiene excelente desempeño reduce el número de
estado de un codificador de componente en el codificador turbo,
reduciendo por lo tanto la complejidad de un decodificador, a su
vez, también, de acuerdo con una realización de la presente
invención como se describió anteriormente, se puede proporcionar una
variedad de índices de codificación al punzar la información de
entrada.
Aunque se ha descrito la presente invención en
detalle con referencia a las realizaciones específicas, ellas son
aplicaciones únicamente de ejemplo. Así, se debe entender claramente
que se pueden hacer muchas variaciones por el experto en la técnica
dentro del alcance de la presente invención como se establece por
las reivindicaciones adjuntas.
Claims (12)
1. Un codificador turbo para codificar bits de
información de entrada, que comprende:
un primer codificador de componente (410) para
codificar bits de información de entrada en una trama para generar
primeros bits de paridad;
un intercalador (430) para intercalar los bits
de información de entrada, y un segundo codificador de componente
(420) para codificar los bits de información de entrada intercalada
para generar segundos bits de paridad,
caracterizados porque
un primer generador de bits de cola (450)
separado del primer codificador de componente (410) para generar
primeros bits de cola es igual a valores retroalimentados del primer
codificador de componente (410) para terminar el primer codificador
de componente, dicho primer generador de bits de cola comprende unos
medios X-OR;
un segundo generador de bits de cola (460)
separado del segundo codificador de componente (420) para generar
segundos bits de cola que son iguales a los valores retroalimentados
de los segundos codificador de componente (420) para terminar el
segundo codificador de componentes, dicho segundo generador de bits
de cola comprende unos medios X-OR;
un primer interruptor (455) para conmutar los
valores retroalimentados del primer codificador de componente (410)
al primer codificador de componentes como los primeros bits de cola
en el extremo de la trama, y
un segundo interruptor (465) para conmutar los
valores de retroalimentados del segundo codificador de componente
(420) al segundo codificador de componentes como el segundo bits de
cola en el extremo de la trama,
en donde cada uno de los codificadores de
componentes (410, 420) requiere bits de cola tanto como memorias del
codificador de componente que están dispuestas para codificar bits
de información de entrada de tamaños de trama variables, en donde
los codificadores de componente (410, 420) generan un bit de
información y dos bits de paridad en respuesta a proporcionar cada
uno de los bits de información al codificador de componente y
generar dos bits de de cola y dos los bits de paridad en respuesta a
proporcionar cada uno de los primeros y segundos bits de cola al
codificador de componente (410, 420).
\vskip1.000000\baselineskip
2. El código turbo de acuerdo con la
reivindicación 1, que comprende adicionalmente:
Un punzador (480) para punzar una de los
primeros bits de paridad o los segundos bits de paridad a la
vez.
\vskip1.000000\baselineskip
3. El código turbo de acuerdo con la
reivindicación 1, que comprende adicionalmente: un multiplexor (491)
para multiplexar los primeros bits de cola y los segundos bits de
cola.
4. El código turbo de acuerdo con la
reivindicación 1, en donde el primer codificador de componente (410)
codifica los bits de información de entrada o los primeros bits de
cola para generar los primeros bits de paridad, y el segundo
codificador de componente (420) codifica los bits de información de
entrada intercalados o los segundos bits de cola para generar los
segundos bits de paridad.
5. El código turbo de acuerdo con la
reivindicación 4, en donde los bits de cola se cargan en cada
codificador de componente (410, 420) después que se han codificado
todos los bits de información de entrada.
6. Un método de codificación de canal para uso
en un codificador de canal que tiene un primer codificador de
componente (410) y un segundo codificador de componentes (420),
caracterizados porque
Comprende las etapas de:
recibir bits de información de entrada;
generar primeros bits de paridad de los bit de
información de entrada y primeros valores retroalimentación mediante
el primer codificador de componente (410);
intercalar los bits de información de entrada
adaptativamente de acuerdo con el número de bits de información de
entrada;
generar segundos bits de paridad de los bits de
información de entrada intercalados y segundos valores
retroalimentación mediante el segundo codificador de componentes
(420);
generar mediante un primer generador de bits de
cola (450) separado del primer codificador de componente (410) y que
comprende unos medios X-OR (451) primeros bits de
cola y mediante un segundo generador de bits de cola (460) separado
del segundo codificador de componentes (420) y que comprende unos
medios X-OR (461) segundos bits de cola que son
iguales al primeros y segundos valores de retroalimentación,
respectivamente para terminar las memorias en
los primeros y segundos codificadores de componente (410, 420) y
alimentar los bits de cola en el primero y segundo codificador de
componente, y
punzar la salidas de los codificadores de
componente (410, 420) para ajustar un índice de transmisión, en
donde cada uno de los codificadores de componente (410, 420)
requiere bits de cola tanto como memorias del codificador de
componente que están dispuestas para codificar los bits de
información de entrada de tamaños de trama variables, en donde un
bit de información y dos bits de paridad se generan en respuesta a
proporcional cada uno de los bits de información al codificador de
componente y dos bits de cola y dos bits de paridad se generan en
respuesta a proporcionar cada uno de los primeros y segundos bits de
cola a los codificadores de componente (410, 420).
\vskip1.000000\baselineskip
7. El método de codificación de canal de acuerdo
con la reivindicación 6, en donde los bits de cola se cargan a cada
codificador de componente (410, 420) después que se han codificado
todos los bit de información de entrada.
8. El método de codificación de canal de acuerdo
con la reivindicación 6, que comprende la etapa adicional de:
multiplexar los primeros bits de cola y los
segundos bits de cola.
\vskip1.000000\baselineskip
9. El codificador turbo de acuerdo con la
reivindicación 1, que comprende adicionalmente:
Una entrada para recibir bits de tamaño variable
de bits de información de entrada y una salida para generar los bits
de información;
un punzador (480) para punzar una parte de los
primeros y segundos los bits de paridad para ajustar el índice de
transmisión de datos, en donde se genera un número de bits de cola
idénticos al número de memorias de retraso en el índice de
transmisión de datos, en donde se genera un número de bits de cola
idéntico al número de memorias de retraso para terminar el
codificador de componentes (410, 420) y los bits de cola se
transmiten en la salida de los bits de información;
en donde el primer codificador de componente
(420) tiene un número predeterminado de memorias de retraso para
codificar los bits de información de entrada recibidos desde la
entrada y generar los primeros los bits de paridad y
el intercalador (430) intercala los bits de
información de entrada recibidos de la entrada y el segundo
codificador de componentes (420) tiene un número predeterminado de
memorias de retraso para codificar los bits de información
intercalada y generar segundos bits de paridad.
\vskip1.000000\baselineskip
10. El dispositivo de codificación de canal de
acuerdo con la reivindicación 9, en donde la información de entrada
y los bits de paridad se punzan en forma separada.
11. El dispositivo de codificación de canal de
acuerdo con la reivindicación 9, en donde no toda la información de
entrada, los primeros bits de paridad, y los segundos bits de
paridad se punzan.
12. El dispositivo de codificación de canal de
acuerdo con la reivindicación 9, en donde no todos los primero bits
de paridad y los segundos bits de paridad se punzan.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR97-036265 | 1997-07-30 | ||
KR19970036265 | 1997-07-30 | ||
KR1019970060101A KR100454952B1 (ko) | 1997-07-30 | 1997-11-10 | 적응형채널부호화방법및장치 |
KR97-060101 | 1997-11-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2344299T3 true ES2344299T3 (es) | 2010-08-24 |
Family
ID=26632977
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES05016017T Expired - Lifetime ES2344299T3 (es) | 1997-07-30 | 1998-07-30 | Metodo y dispositivo para codificacion de canal adaptativo. |
ES98935383T Expired - Lifetime ES2290990T3 (es) | 1997-07-30 | 1998-07-30 | Metodo y dispositivo de codificacion de canal adaptiva. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES98935383T Expired - Lifetime ES2290990T3 (es) | 1997-07-30 | 1998-07-30 | Metodo y dispositivo de codificacion de canal adaptiva. |
Country Status (9)
Country | Link |
---|---|
EP (2) | EP1601109B1 (es) |
JP (2) | JP3492632B2 (es) |
CN (2) | CN1150680C (es) |
BR (1) | BR9811299A (es) |
CA (1) | CA2295791C (es) |
DE (2) | DE69841631D1 (es) |
ES (2) | ES2344299T3 (es) |
RU (1) | RU2193276C2 (es) |
WO (1) | WO1999007076A2 (es) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536624B2 (en) | 2002-01-03 | 2009-05-19 | The Directv Group, Inc. | Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes |
US6430722B1 (en) | 1998-01-23 | 2002-08-06 | Hughes Electronics Corporation | Forward error correction scheme for data channels using universal turbo codes |
KR100557177B1 (ko) * | 1998-04-04 | 2006-07-21 | 삼성전자주식회사 | 적응 채널 부호/복호화 방법 및 그 부호/복호 장치 |
EP1046236B1 (en) | 1998-08-17 | 2016-02-24 | Dtvg Licensing, Inc | Turbo code interleaver with near optimal performance |
EP1455458B8 (en) | 1998-08-27 | 2011-03-02 | The DirecTV Group, Inc. | Method for a general turbo code trellis termination |
EP1919087A1 (en) | 1999-03-01 | 2008-05-07 | Fujitsu Limited | Turbo decoder |
FR2790621B1 (fr) * | 1999-03-05 | 2001-12-21 | Canon Kk | Dispositif et procede d'entrelacement pour turbocodage et turbodecodage |
CA2268853C (en) * | 1999-04-13 | 2011-08-02 | Wen Tong | Rate matching and channel interleaving for a communications system |
WO2000074249A1 (en) * | 1999-05-28 | 2000-12-07 | Lucent Technologies Inc. | Turbo code termination |
AU2003204597B2 (en) * | 1999-07-06 | 2005-01-20 | Samsung Electronics Co., Ltd. | Rate matching device and method for a data communication system |
IL141800A0 (en) * | 1999-07-06 | 2002-03-10 | Samsung Electronics Co Ltd | Rate matching device and method for a data communication system |
DE19934646C2 (de) * | 1999-07-16 | 2001-09-13 | Univ Dresden Tech | Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes |
FR2796780B1 (fr) * | 1999-07-21 | 2003-09-19 | Groupe Ecoles Telecomm | Procede et dispositif de codage a au moins deux codages en parallele et permutation amelioree, et procede et dispositif de decodage correspondants |
DE19935785A1 (de) | 1999-07-29 | 2001-02-08 | Siemens Ag | Verfahren und Einrichtung zur Erzeugung eines ratenkompatiblen Codes |
FI108822B (fi) * | 2000-02-14 | 2002-03-28 | Nokia Corp | Lomittelumenetelmä ja -järjestelmä |
DE10008064B4 (de) * | 2000-02-22 | 2009-07-02 | Siemens Ag | Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung |
US6289000B1 (en) * | 2000-05-19 | 2001-09-11 | Intellon Corporation | Frame control encoder/decoder for robust OFDM frame transmissions |
JP2002076925A (ja) * | 2000-08-31 | 2002-03-15 | Sony Corp | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
JP2002076915A (ja) * | 2000-08-31 | 2002-03-15 | Sony Corp | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 |
DE10048872A1 (de) | 2000-10-02 | 2002-04-25 | Infineon Technologies Ag | Abschnittsweise Entschachtelung |
US6871270B2 (en) * | 2001-12-03 | 2005-03-22 | Samsung Electronics Co., Ltd. | Device and method for minimizing puncturing-caused output delay |
US6973579B2 (en) | 2002-05-07 | 2005-12-06 | Interdigital Technology Corporation | Generation of user equipment identification specific scrambling code for the high speed shared control channel |
FI20021222A (fi) | 2002-06-20 | 2003-12-21 | Nokia Corp | Informaatiobittien limitys |
CN1333598C (zh) * | 2004-03-05 | 2007-08-22 | 上海交通大学 | 一种用于数字电视地面传输的比特交织方法 |
CN1333599C (zh) * | 2004-03-29 | 2007-08-22 | 上海交通大学 | 一种用于数字电视地面传输的比特交织方法 |
JP4249750B2 (ja) | 2005-01-11 | 2009-04-08 | 三星電子株式会社 | 無線通信システムにおける高速フィードバック情報の伝送装置及び方法 |
JP4848359B2 (ja) * | 2005-02-03 | 2011-12-28 | パナソニック株式会社 | 並列インターリーバ、並列デインターリーバ及びインターリーブ方法 |
KR100729258B1 (ko) * | 2005-12-07 | 2007-06-18 | 엘지전자 주식회사 | 확장된 링크 적응화 기법을 제공하는 이동 통신 단말기 및그 방법 |
JP4436315B2 (ja) * | 2005-12-26 | 2010-03-24 | 京セラ株式会社 | 畳み込み符号化器、通信装置、及び畳み込み符号化方法 |
WO2007134542A1 (fr) * | 2006-05-23 | 2007-11-29 | Huawei Technologies Co., Ltd. | Procédé et appareil d'envoi et de réception de signaux |
US7925956B2 (en) * | 2006-10-03 | 2011-04-12 | Motorola Mobility, Inc. | Method and apparatus for encoding and decoding data |
US8194750B2 (en) * | 2006-10-16 | 2012-06-05 | Samsung Electronics Co., Ltd. | System and method for digital communication having a circulant bit interleaver for equal error protection (EEP) and unequal error protection (UEP) |
CN101584121B (zh) * | 2007-01-16 | 2014-10-29 | 皇家飞利浦电子股份有限公司 | 用于对数据比特或码元进行交织的系统、装置和方法 |
CN101075812B (zh) * | 2007-06-08 | 2011-01-05 | 中国科学技术大学 | 一种并行级联结构的系统形式低密度码的构造方法 |
CN101350626B (zh) * | 2007-07-20 | 2012-02-15 | 电信科学技术研究院 | 一种Turbo码编码装置及方法 |
JP2009077371A (ja) * | 2007-08-30 | 2009-04-09 | Hitachi Communication Technologies Ltd | インタリーブ方法、送信機、無線機、および無線通信システム。 |
ES2373240T3 (es) | 2007-12-20 | 2012-02-01 | Panasonic Corporation | Señalización de canal de control usando un campo de señalización común para el formato de transporte y la versión de redundancia. |
CN102089985B (zh) | 2008-07-13 | 2014-07-09 | Lg电子株式会社 | 在移动通信系统中使用CTC(卷积的Turbo码)编码器发送数据的装置和方法 |
CN101753261B (zh) * | 2008-12-01 | 2012-11-21 | 电信科学技术研究院 | 一种编码器、译码器及编码、译码方法 |
CN101753151B (zh) * | 2008-12-02 | 2014-02-05 | 电信科学技术研究院 | 一种数据处理装置及方法 |
CN101753153B (zh) * | 2008-12-04 | 2014-02-05 | 电信科学技术研究院 | 一种Turbo码编码器、译码器及编码、译码方法 |
CN101753155B (zh) * | 2008-12-22 | 2014-12-03 | 电信科学技术研究院 | 一种数据处理装置及其方法 |
CN105100862B (zh) * | 2014-04-18 | 2018-04-24 | 阿里巴巴集团控股有限公司 | 网格移动的显示处理方法及其系统 |
US10784901B2 (en) | 2015-11-12 | 2020-09-22 | Qualcomm Incorporated | Puncturing for structured low density parity check (LDPC) codes |
US11043966B2 (en) | 2016-05-11 | 2021-06-22 | Qualcomm Incorporated | Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes |
US10454499B2 (en) | 2016-05-12 | 2019-10-22 | Qualcomm Incorporated | Enhanced puncturing and low-density parity-check (LDPC) code structure |
US9917675B2 (en) | 2016-06-01 | 2018-03-13 | Qualcomm Incorporated | Enhanced polar code constructions by strategic placement of CRC bits |
US10313057B2 (en) | 2016-06-01 | 2019-06-04 | Qualcomm Incorporated | Error detection in wireless communications using sectional redundancy check information |
US10469104B2 (en) | 2016-06-14 | 2019-11-05 | Qualcomm Incorporated | Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes |
AU2016416176B2 (en) | 2016-07-27 | 2021-11-25 | Qualcomm Incorporated | Design of hybrid automatic repeat request (HARQ) feedback bits for polar codes |
KR102502529B1 (ko) * | 2017-03-23 | 2023-02-21 | 퀄컴 인코포레이티드 | 폴라 코딩을 위한 패리티 비트 채널 할당 |
US10312939B2 (en) | 2017-06-10 | 2019-06-04 | Qualcomm Incorporated | Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code |
JP6912648B2 (ja) | 2017-07-07 | 2021-08-04 | クアルコム,インコーポレイテッド | 低密度パリティ検査コードのベースグラフ選択を適用する通信技法 |
CN110098891B (zh) * | 2018-01-30 | 2021-09-07 | 华为技术有限公司 | 交织方法和交织装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4901319A (en) * | 1988-03-18 | 1990-02-13 | General Electric Company | Transmission system with adaptive interleaving |
GB2296165B (en) * | 1994-12-15 | 1999-12-29 | Int Mobile Satellite Org | Multiplex communication |
US5721745A (en) * | 1996-04-19 | 1998-02-24 | General Electric Company | Parallel concatenated tail-biting convolutional code and decoder therefor |
-
1998
- 1998-07-30 RU RU2000102353A patent/RU2193276C2/ru active
- 1998-07-30 EP EP05016017A patent/EP1601109B1/en not_active Expired - Lifetime
- 1998-07-30 CA CA002295791A patent/CA2295791C/en not_active Expired - Lifetime
- 1998-07-30 BR BR9811299-6A patent/BR9811299A/pt not_active Application Discontinuation
- 1998-07-30 WO PCT/KR1998/000232 patent/WO1999007076A2/en active IP Right Grant
- 1998-07-30 EP EP98935383A patent/EP0997031B1/en not_active Expired - Lifetime
- 1998-07-30 ES ES05016017T patent/ES2344299T3/es not_active Expired - Lifetime
- 1998-07-30 JP JP2000505687A patent/JP3492632B2/ja not_active Expired - Lifetime
- 1998-07-30 DE DE69841631T patent/DE69841631D1/de not_active Expired - Lifetime
- 1998-07-30 CN CNB988073528A patent/CN1150680C/zh not_active Expired - Lifetime
- 1998-07-30 DE DE69838451T patent/DE69838451T2/de not_active Expired - Lifetime
- 1998-07-30 ES ES98935383T patent/ES2290990T3/es not_active Expired - Lifetime
- 1998-07-30 CN CN 02147194 patent/CN1256812C/zh not_active Expired - Lifetime
-
2003
- 2003-07-23 JP JP2003278667A patent/JP3730238B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69838451T2 (de) | 2008-01-10 |
EP0997031A2 (en) | 2000-05-03 |
JP3492632B2 (ja) | 2004-02-03 |
CN1264509A (zh) | 2000-08-23 |
CN1492589A (zh) | 2004-04-28 |
ES2290990T3 (es) | 2008-02-16 |
DE69838451D1 (de) | 2007-10-31 |
DE69841631D1 (de) | 2010-06-02 |
EP1601109A2 (en) | 2005-11-30 |
BR9811299A (pt) | 2000-12-05 |
JP3730238B2 (ja) | 2005-12-21 |
EP1601109A3 (en) | 2007-10-03 |
EP0997031B1 (en) | 2007-09-19 |
WO1999007076A2 (en) | 1999-02-11 |
WO1999007076A3 (en) | 1999-09-16 |
CN1256812C (zh) | 2006-05-17 |
JP2001512914A (ja) | 2001-08-28 |
EP1601109B1 (en) | 2010-04-21 |
JP2004040818A (ja) | 2004-02-05 |
RU2193276C2 (ru) | 2002-11-20 |
CA2295791A1 (en) | 1999-02-11 |
CN1150680C (zh) | 2004-05-19 |
CA2295791C (en) | 2006-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2344299T3 (es) | Metodo y dispositivo para codificacion de canal adaptativo. | |
US6289486B1 (en) | Adaptive channel encoding method and device | |
US8520496B2 (en) | Method and apparatus for rate matching within a communication system | |
CA2363410C (en) | Highly parallel map decoder | |
CA2318803C (en) | Encoder/decoder with serial concatenated structure in communication system | |
CA2337161C (en) | Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system | |
US6859906B2 (en) | System and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network | |
US7210075B2 (en) | Prunable S-random block interleaver method and corresponding interleaver | |
KR100454952B1 (ko) | 적응형채널부호화방법및장치 | |
EP1926215B1 (en) | Parallel concatenated zigzag codes with UMTS turbo interleavers | |
KR19990017546A (ko) | 터보부호기의 복호기 |