ES2330061T3 - Decodificador de salida de decision flexible para la descodificar palabras de codigo codificadas de manera convolucional. - Google Patents

Decodificador de salida de decision flexible para la descodificar palabras de codigo codificadas de manera convolucional. Download PDF

Info

Publication number
ES2330061T3
ES2330061T3 ES97945610T ES97945610T ES2330061T3 ES 2330061 T3 ES2330061 T3 ES 2330061T3 ES 97945610 T ES97945610 T ES 97945610T ES 97945610 T ES97945610 T ES 97945610T ES 2330061 T3 ES2330061 T3 ES 2330061T3
Authority
ES
Spain
Prior art keywords
state
direct
metrics
lattice
inverse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES97945610T
Other languages
English (en)
Inventor
Andrew J. Viterbi
Nagabhushana T. Sindhushayana
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2330061T3 publication Critical patent/ES2330061T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3911Correction factor, e.g. approximations of the exp(1+x) function
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

UN DECODIFICAR DE SALIDA DE DECISIONES PONDERADAS (20) Y UN PROCEDIMIENTO DE DECODIFICACION. EL DECODIFICADOR (20) DECODIFICA UNA SECUENCIA DE SEÑALES QUE SALE DE UN CODIFICADOR (12) Y ES TRANSMITIDA POR UN CANAL (17). EL DECODIFICADOR DE SALIDA DE DECISIONES PONDERADAS (20) INCLUYE UN PRIMER DECODIFICADOR VITERBI "GENERALIZADO" (24) PARA LA DECODIFICACION DE LA SECUENCIA DE SEÑALES RECIBIDA A TRAVES DEL CANAL DURANTE UNA ITERACCION DIRECTA A TRAVES DE UN ENREJADO QUE REPRESENTA LA SALIDA DEL CODIFICADOR QUE TIENE UNA LONGITUD DE BLOQUE T. EL PRIMER DECODIFICADOR VITERBI "GENERALIZADO" (24) EMPIEZA EN UNA ETAPA INICIAL T 0 Y PROPORCIONA UNA PLURALIDAD DE MEDIDAS AL DE LOS ESTADOS DE ITERACCION DIRECTOS PARA CADA ESTADO EN CADA INTERVALO DE TIEMPO A LO LARGO DE UNA VENTANA DE LONGITUD 2L, SIENDO L DEL ORDEN DE UNAS POCAS LONGITUDES LIMITADAS Y 2L MENOR QUE UNA LONGITUD DE BLOQUE. UN SEGUNDO DECODIFICADOR VITERBI "GENERALIZADO" DECODIFICA LA SECUENCIA DE SEÑALES RECIBIDA A TRAVES DEL CANAL (17) DURANTE UNA ITERACCION INVERSA A TRAVES DEL ENREJADO. EL SEGUNDO DECODIFICADOR (26) EMPIEZA EN UN SEGUNDO PERIODO DE TIEMPO T 2L Y PROPORCIONA UNA PLURALIDAD DE MEDIDAS BE DE LOS ESTADOS DE ITERACCION INVERSA PARA CADA UNO DE LOS ESTADOS DE CADA INTERVALO DE TIEMPO. A CONTINUACION, UN PROCESADOR (28) REALIZA UN CALCULO DOBLE DE MAXIMOS EN CADA ESTADO UTILIZANDO LA MEDIDA DE ESTADOS DIRECTOS, LA MEDIDA DE ESTADOS INVERSOS Y LA MEDIDA DERIVADA DE LOS MISMOS PARA PROPORCIONAR UNA MEDIDA DE LA PROBABILIDAD DE QUE UNA SECUENCIA DE DATOS PARTICULAR QUE FUE TRANSMITIDA POR EL CODIFICADOR (12). AL LLEVAR A CABO UNA DECODIFICACION VITERBI DIRECTA E INVERSA CON CALCULOS DOBLES DE MAXIMOS EN CADA NODO DE UNA VENTANA QUE SE MUEVE POR LA REJILLA, EL DECODIFICADOR DE LA INVENCION (20) PROPORCIONA LAS VENTAJAS DE RENDIMIENTO ASOCIADAS A UN DECODIFICADOR LOG-MAP AL TIEMPO QUE EVITA QUE ESTE UTILICE UNA CANTIDAD EXCESIVA DE MEMORIA.

Description

Descodificador de salida de decisión flexible para descodificar palabras de código codificadas de manera convolucional.
Antecedentes de la invención I. Campo de la invención
La presente invención se refiere a sistemas de comunicación. Más específicamente, la presente invención se refiere a sistemas para codificar y descodificar datos en sistemas de comunicaciones digitales.
II. Descripción de la técnica relacionada
Los sistemas de comunicación facilitan la transmisión y recepción de información desde una fuente hasta un receptor separado físicamente. Los sistemas de comunicaciones móviles se caracterizan por el movimiento de un receptor con respecto a un transmisor o viceversa. El enlace de comunicaciones entre los transmisores y los receptores de un sistema de comunicaciones móviles está caracterizado como un canal de desvanecimiento de señal. Los sistemas de comunicaciones por satélite móviles, que presentan un transmisor en un vehículo espacial y un receptor en un vehículo terrestre, los sistemas de telefonía celular y los sistemas de microondas terrestres son ejemplos de sistemas de comunicaciones con desvanecimiento de señal. Un canal de desvanecimiento de señal es un canal que se degrada en gran medida. La degradación se debe a numerosos efectos que incluyen el desvanecimiento de señal de trayectoria múltiple, una gran atenuación debida a la recepción, a través de múltiples trayectorias, de reflexiones de la señal transmitida desde objetos y estructuras en la atmósfera y sobre la superficie. Otros efectos que contribuyen al deterioro del canal de desvanecimiento de señal incluyen el desplazamiento Doppler generado por el movimiento del receptor con respecto al transmisor y el ruido aditivo.
Aunque se han utilizado procedimientos de comunicación tanto analógicos como digitales, los procedimientos digitales proporcionan varias ventajas que incluyen: una inmunidad mejorada contra la interferencia y ruido de canal, una mayor capacidad y una seguridad mejorada de la comunicación a través del uso de la encriptación.
Normalmente, una señal de información se convierte en primer lugar en una forma adecuada para una transmisión eficiente a través del canal. La conversión o modulación de la señal de información implica modificar un parámetro de una onda portadora en función de la señal de información de tal manera que el espectro de la portadora modulada resultante esté incluida dentro del ancho de banda de canal. En la ubicación de un usuario, la señal de mensaje original se duplica a partir de una versión de la portadora modulada recibida después de propagarse a través del canal. La métrica de rama representa la probabilidad condicional de que se produzca la transmisión desde un estado a otro, suponiendo que el estado inicial sea realmente el estado correcto y dado el símbolo recibido realmente.
Existen dos estados posibles que llevan a cualquier otro estado, correspondiéndose cada uno a la ocurrencia de un cero o de un uno en el bit situado más a la derecha del registro de desplazamiento de un codificador convolucional. El descodificador decide cuál es el estado más probable mediante una operación de suma, comparación y selección (ACS). La suma se refiere a sumar cada métrica de estado del nivel anterior a las dos métricas de rama de las ramas para las transiciones permitidas. La comparación se refiere a comparar el par de tales sumas de métricas para las trayectorias que entran en un estado (nodo) en el nivel dado. La selección se refiere a seleccionar la mayor de las dos y descartar la otra. Por tanto, solo se conserva la rama ganadora en cada nodo junto con la métrica de estado de nodo. Si las dos cantidades comparadas son iguales puede elegirse cualquiera de las ramas ya que la probabilidad de una selección errónea será la misma en cualquier caso.
El algoritmo de Viterbi es un procedimiento computacionalmente eficaz para actualizar las probabilidades condicionales del mejor estado y la secuencia de bits más probable transmitida desde los 2^{K-1} estados posibles. Para calcular esta probabilidad deben calcularse todos los 2^{K-1} estados para cada bit. La decisión resultante de cada uno de estos cálculos se almacena como un único bit en una memoria de trayectorias.
Se lleva a cabo una operación de retrocadena, una operación inversa a la operación de codificación, en la que se utilizan C bits de decisión para seleccionar un bit de salida, donde C es la distancia de retrocadena. Después de muchas ramas se seleccionará la trayectoria más probable con un alto grado de certeza. La profundidad de la memoria de trayectorias debe ser lo bastante larga para controlarse por la relación señal a ruido y no por la longitud de la memoria de retrocadena.
Aunque esto no es necesario para analizar las características de código o el rendimiento del descodificador óptimo, es útil para entender ambos y para representar el código en un diagrama de enrejado. El término "enrejado" (trellis) es un término que describe un árbol en el que una rama no solo se bifurca en dos o más ramas, sino que además dos o más ramas pueden converger en una. Un diagrama de enrejado es una réplica infinita del diagrama de estados de un codificador. Los nodos (estados) en un nivel del enrejado son accesibles desde los estados de nodo del nivel anterior mediante la transición a través de una rama, correspondiente a un bit de entrada, según determina el diagrama de estados. Cualquier palabra de código de un código convolucional se corresponde con los símbolos a lo largo de un trayectoria (que consiste en ramas sucesivas) del diagrama de enrejado.
Los códigos convolucionales con los descodificadores de Viterbi se han utilizado ampliamente para conseguir una comunicación fiable a través de canales limitados por potencia tales como sistemas de comunicaciones por satélite y canales limitados por interferencias tales como sistemas de comunicaciones inalámbricas CDMA. En el documento titulado "Channel Coding with Multilevel/Phase Signals" de G. Ungerboeck, IEEE Transactions of Information Theory, vol. IT-28, nº 1, enero de 1982, páginas 55 a 67, se utilizan códigos convolucionales adaptados a constelaciones de señales de dos dimensiones para conseguir ganancias de codificación de hasta 6 dB (con respecto a sistemas no codificados) sobre canales limitados por banda. Esta técnica se conoce como modulación codificada enrejada y se utiliza ampliamente en la comunicación de datos a través de módems telefónicos de bandas de voz, en la transmisión digital a través de cables coaxiales, etc. En el tratado de códigos concatenados de G.D. Forney Jr., Instituto de Tecnología de Massachusetts, 1966, se desarrolla una estructura de codificación de múltiples niveles (que consiste en un código convolucional y en un código de bloques) conocida como un código concatenado, el cual se ha utilizado en el espacio lejano, dando como resultado ganancias de codificación muy altas.
Los logros mencionados anteriormente representan un hito importante en el continuo esfuerzo de reducir la distancia entre el rendimiento de los sistemas de comunicaciones prácticos y las limitaciones fundamentales impuestas por el teorema de Shannon. La limitación de Shannon se refiere a la relación de señal a ruido mínima necesaria para una comunicación fiable a través de un medio de comunicaciones dado a una eficiencia espectral (ancho de banda) dada. Recientemente se han desarrollado nuevas clases de códigos de corrección de errores tales como los códigos turbo y los códigos entrelazados y concatenados en serie (SCIC), los cuales proporcionan un aumento adicional en el rendimiento en comparación con los códigos concatenados clásicos. Se ha demostrado que estos códigos consiguen una comunicación fiable a menos de 1dB por encima del límite de Shannon. La utilización de los códigos turbo se describe en el documento titulado "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo Codes" de C. Berrou, Proceedings of ICC'93, Ginebra, Suiza, páginas 1064 a 1070, mayo de 1993. Los códigos concatenados en serie se describen en el documento "Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding" de S. Benedetto, TDA Progress Report, páginas 42 a 126.
Los códigos turbo así como los códigos concatenados en serie utilizan esquemas de codificación iterativos, en los que cada iteración utiliza uno o más descodificadores de enrejado de salida de decisión flexible. El gran éxito de estos códigos he devuelto la atención a los descodificadores de enrejado de decisión flexible. En el documento "Iterative (Turbo) Decoding of Systematic Concatenated Codes with MAP and SOVA Algorithms" de J. Hagenauer, Proceedings of the ITG Conference on Source and Channel Coding, Frankfurt, Alemania, páginas 1 a 9, octubre de 1994, se describe un algoritmo de Viterbi de salida flexible (SOVA, soft output Viterbi algorithm) utilizando descodificadores métricos de salida flexible. Además, en el documento "Concatenated Viterbi Decoding", de J. Hagenauer, Proceedings of the Fourth Joint Swedish-Soviet Int. Workshop on Information Theory, Gotland, Suecia, páginas 29 a 33, agosto de 1989, se describe un algoritmo de Viterbi de salida flexible.
El problema general de estimar las probabilidades a posteriori de los estados y de las transiciones de una fuente de Markov observada a través de un canal sin memoria discreto se considera en el documento "Optimal Decoding of Linear Codes for Minimising Symbol Error Rate" de L.R. Bahl, I. Cocke, F. Jelinek y J. Raviv, IEEE Transactions on Information Theory, vol. IT-20, marzo de 1974, páginas 284 a 287, XP647243, en el que se obtiene un algoritmo de descodificación opcional como una alternativa al algoritmo de Viterbi. El ejemplo (4) de Bahl et al define la factorización de la probabilidad conjunta \sigma en \alpha, \gamma y \beta.
En el documento "Soft-Output Decoding of Parallel Concatenated Convolutional Codes", de S. Benedetto, D. Divsalar, G. Montorsi y F. Pollara, 1996 IEEE International Conference on Communications (ICC), Converging Technologies for Tomorrow's Applications, vol. 1 de 3, del 23 al 27 de junio de 1996, Dallas, páginas 112 a 117, XP625652, se actualiza, con nuevas notaciones, el algoritmo de Bahl et al, el cual se identifica en este documento como el algoritmo BCJR por las iniciales de los cuatro autores. El algoritmo BCJR se considera como el algoritmo óptimo para generar la secuencia de distribuciones de probabilidad a posteriori (APP) de símbolos de información en un procedimiento de descodificación para códigos convolucionales concatenados en paralelo (PCCC, parallel concatenated convolutional codes). El procedimiento de descodificación propuesto para los PCCC utiliza un procedimiento iterativo que incluye un algoritmo para calcular la secuencia de la distribución APP de los símbolos de información. Aunque los algoritmos basados en la probabilidad máxima a posteriori (MAP) se conocen desde hace mucho tiempo, son menos populares que el algoritmo de Viterbi y casi nunca se aplican en los sistemas prácticos. Con el fin de conseguir el objetivo de calcular la distribución APP, varios intentos se han basado en modificaciones del algoritmo de Viterbi para obtener, en la salida del descodificador, información con cierto grado de fiabilidad. Esto ha llevado al concepto del algoritmo de Viterbi de salida flexible (SOVA). Claramente, tales soluciones no son del todo óptimas ya que no pueden suministrar la APP requerida.
Benedetto et al. aplican un enfoque diferente que implica revisar los algoritmos de descodificación MAP de símbolos originales y proponen versiones de ventana deslizante del algoritmo MAP, una de las cuales es una versión óptima y la otra es una versión menos óptima, permitiendo ambas sin embargo una descodificación continua del PCCC. El algoritmo BCJR requería que se recibiera toda la secuencia antes de que se iniciara el proceso de descodificación. Benedetto et al. describen algoritmos BCJR de ventana deslizante en los que el problema de inicializar la recursión inversa sin tener que esperar la secuencia completa queda resuelto. Una versión logarítmica simplificada del algoritmo BCJR (por ejemplo, el algoritmo MAP) está descrita y explicada.
\newpage
El documento "A Comparison of Optimal and Sub-Optimal Map Decoding Algorithms Operating in the Log Domain" de P. Robertson, E. Villebrun y P. Hoeher, Communications - Gateway to Globalization, Proceedings of the Conference on Communications, vol. 2, del 18 al 22 de junio de 1995, Seattle, páginas 1009 a 1013, XP533149, describe el algoritmo log-MAP que evita aproximaciones en el algoritmo Max-Log-MAP y se dice que es equivalente al algoritmo MAP verdadero, pero sin sus desventajas principales. El algoritmo MAP símbolo a símbolo es óptimo para estimar los estados o las salidas de un proceso Markov, pero este algoritmo, incluso en su forma recursiva, presenta dificultades técnicas debido a los problemas de representación numérica, la necesidad de funciones no lineales y a un alto número de sumas y multiplicaciones. Los algoritmos basados en MAP que funcionan en el dominio logarítmico resuelven el problema numérico y reducen la complejidad computacional, pero son menos óptimos. Una simplificación adicional es el algoritmo de Viterbi de salida flexible (SOVA).
El documento compara los algoritmos MAP, Max-Log-MAP y SOVA desde un punto de vista teórico para explicar sus semejanzas y diferencias. El algoritmo Max-Log-MAP y el SOVA funcionan con la misma métrica y se dice que son idénticos con respecto a las decisiones firmes. Sin embargo, se comportan de diferente manera para calcular la información devuelta acerca de la fiabilidad de cada bit de información descodificado. El algoritmo SOVA sólo considera una trayectoria competidora por etapa de descodificación. No considera todas las trayectorias competidoras, sino solamente las que soportan el algoritmo de Viterbi. Para que se tenga en cuenta en la estimación de fiabilidad, una trayectoria competidora debe unirse a la trayectoria elegida por el algoritmo de Viterbi sin ser eliminada.
El algoritmo MAP considera todas las trayectorias en su cálculo, pero las divide en dos conjuntos, aquéllas que tienen un bit de información a uno en una etapa particular y aquéllas que lo tienen a cero. El algoritmo Max-Log-MAP sólo considera dos trayectorias por etapa, pudiendo cambiar una de estas trayectorias de etapa a etapa, pero una siendo siempre la trayectoria de probabilidad máxima. El algoritmo SOVA siempre obtendrá correctamente una de estas dos trayectorias pero no necesariamente la otra. En lo que respecta a la complejidad, se dice que el número de operaciones del algoritmo Log-MAP es aproximadamente el doble del número de operaciones del algoritmo SOVA.
Una publicación titulada "A Forward Backward Algorithm for ML state and sequence estimation" de G.D. Brushe et al., International Symposium on Signal Processing and its Applications, ISSPA, del 25 al 30 de agosto de 1996, páginas 224 a 227, describe la utilización de un algoritmo de Viterbi clásico para estimar la secuencia de estados de probabilidad máxima de un bloque de datos observados. La probabilidad de trayectoria máxima a posteriori se factoriza en un producto de un término directo y de un término inverso. En la realización ilustrativa, el segundo descodificador suma productos de las métricas de estado inversas \beta_{t+1}(S') para cada estado posterior s' mediante una métrica de rama \gamma_{t}(s,s') entre cada estado posterior s' y cada estado seleccionado s para proporcionar la métrica de rama \beta_{t}(S) para el estado seleccionado s.
Después, un procesador realiza cada vez un cálculo de dobles máximos generalizado utilizando la métrica de estado directa de un estado, la métrica de estado inversa de otro estado y la métrica de rama de la rama que conecta los dos estados para el mismo para proporcionar una medición de la probabilidad de que una secuencia de datos particular se transmita por el codificador. En la realización ilustrativa, el procesador calcula un logaritmo de la relación de probabilidad utilizando las métricas de estado directa e inversa y las métricas de rama para un estado seleccionado. Esto se consigue calculando en primer lugar una función de máximos como una aproximación de la medida de la probabilidad de que una secuencia de datos particular se transmita por el codificador. Después se calcula un factor de corrección para la aproximación para proporcionar una medida más exacta de la probabilidad de que una secuencia de datos particular se transmita por el codificador. En una realización específica, el factor de corrector incluye una función exponencial de la métrica de estado directa, de la métrica de estado inversa y de la métrica de rama para un estado seleccionado. Una técnica similar se aplica al funcionamiento de los dos descodificadores de Viterbi
generalizados.
En una realización alternativa se proporciona un tercer descodificador de Viterbi para llevar a cabo una segunda iteración inversa a través del enrejado. El tercer descodificador proporciona una segunda pluralidad de métricas \beta de estado de iteración inversa para cada estado en cada intervalo de tiempo empezando en un tercer tiempo t_{3L}.
Realizando la codificación de Viterbi directa e inversa con cálculos de dobles máximos en cada nodo de una ventana que se desplaza por el enrejado, la invención proporciona los beneficios de rendimiento asociados con un descodificador LOG-MAP, evitando al mismo tiempo excesivos requisitos de memoria para el mismo.
Breve descripción de los dibujos
Las características, objetos y ventajas de la presente invención se harán más evidentes a partir de la descripción detallada expuesta a continuación cuando se toma junto con los dibujos en los que los mismos caracteres de referencia identifican a los mismos elementos en todos ellos y en los que:
La figura 1 es un diagrama de bloques de un transmisor y de un receptor que funcionan sobre un canal y que utilizan un descodificador MAP convencional.
La figura 2 es un diagrama de enrejado de un código convolucional por bloques (o simplificado) que empieza y termina en un estado cero.
La figura 3 es un diagrama de bloques de un transmisor y de un receptor que funcionan sobre un canal y que utilizan un descodificador LOG-MAP simplificado según las enseñanzas de la presente invención.
La figura 4 es un diagrama de bloques de una implementación ilustrativa del descodificador de decisión de salida flexible de la presente invención.
La figura 5 es un diagrama de enrejado de un código convolucional por bloques (o simplificado) que empieza y termina en un estado cero.
La figura 6 muestra la temporización para los descodificadores de Viterbi directo e inverso según una primera implementación ilustrativa del procedimiento LOG-MAP simplificado de memoria reducida de la presente invención.
La figura 7 es un diagrama de flujo de la primera implementación ilustrativa del procedimiento LOG-MAP simplificado de memoria reducida de la presente invención.
La figura 8 muestra la temporización para los descodificadores de Viterbi directo e inverso según una segunda implementación ilustrativa del procedimiento LOG-MAP simplificado de memoria reducida de la presente invención.
La figura 9 es un diagrama de flujo de la segunda implementación ilustrativa del procedimiento LOG-MAP simplificado de memoria reducida de la presente invención.
Descripción detallada de las realizaciones preferidas
A continuación se describirán realizaciones ilustrativas y aplicaciones a modo de ejemplo con referencia a los dibujos adjuntos para describir las enseñanzas ventajosas de la presente invención.
Aunque la presente invención se describe en el presente documento con referencia a realizaciones ilustrativas para aplicaciones particulares, debe entenderse que la invención no está limitada a las mismas. Los expertos en la técnica que tengan acceso a las enseñanzas proporcionadas en este documento podrán concebir modificaciones, aplicaciones y realizaciones adicionales dentro del alcance las mismas y campos adicionales en los que la presente invención sea de gran utilidad.
La presente invención se ilustrará con más detalle con una visión preliminar del algoritmo MAP tal y como se conoce en la técnica; véase el documento de Robertson et al. Obsérvese a partir de estas expresiones las recursiones
1
con el estado inicial y el estado final \alpha_{0}(s) = 1 = \beta_{N}.
Con dicha información preliminar puede establecerse la medición de interés, la salida flexible para la rama k-ésima. Por motivos de simplicidad se considerará un enrejado binario que pertenece a un único bit para cada rama, denotado como u (la generación para una rama de varios bits, como para la modulación codificada enrejada, será sencilla). La relación de probabilidad de u_{k} dado y es:
2
en la que las sumas del numerador y del denominador se realizan con estos pares de estados para los que u_{k} = +1 y u_{k} = -1, respectivamente, y las probabilidades condicionales de la primera relación se sustituyen por probabilidades conjuntas según la regla de Bayes y la cancelación del término común p(y) en el numerador y el denominador. La relación de probabilidad de la ecuación (7) proporciona una medida de la probabilidad de que se transmita un +1 en lugar de un -1 en un tiempo t. Cuando la relación de probabilidad se calcula para cada periodo de tiempo, el código se ha descodificado. Con los descodificadores de salida de decisión firme, si un "1" es más probable que un "0", se descodifica como un "1" y en caso contrario se descodifica como un "0". Pero con los códigos turbo no se toma realmente una decisión firme. En cambio, las relaciones de probabilidad se mantienen como un nivel de confianza. Por consiguiente, la función del descodificador es proporcionar una indicación de lo que se ha transmitido y su nivel de confianza determinado por la relación de probabilidad (es decir, la ecuación (7)).
Por lo tanto, el algoritmo MAP consiste en la operación de la ecuación (7) junto con las recursiones de las ecuaciones (5) y (6) que utilizan la probabilidad de rama de la ecuación (4). Obsérvese que como la ecuación (7) es una relación, las métricas de estado \alpha y \beta pueden normalizarse en cualquier nodo, lo que impide que se desborden.
El enfoque MAP convencional descrito anteriormente se conoce en la técnica desde hace más de veinte años y generalmente se ha ignorado porque:
a)
con salidas de decisión firme, el rendimiento es casi el mismo que para el algoritmo de Viterbi, y
b)
la complejidad es mucho mayor debido a la operación de multiplicación requerida y a la recursión inversa adicional.
Es decir, debe almacenarse todo el enrejado 30'. La memoria requerida es del orden de la longitud del enrejado por el número de estados por el almacenamiento requerido para cada estado.
Con el incentivo proporcionado por los códigos turbo y los SCIC y su rendimiento mejorado utilizando MAP se ha reavivado el interés y se ha reconocido que la simplificación puede llevarse a cabo sin comprometer el rendimiento, tal y como se describe a continuación.
LOG-MAP, un doble enfoque de Viterbi generalizado
Considerando los logaritmos de todos los parámetros de las ecuaciones (4 a 7), se define como el símbolo latino equivalente al símbolo griego, a = ln\alpha, b = ln\beta, c = ln\gamma y L = ln.
Por lo tanto, las ecuaciones (4 a 7) se convierten en (véase el documento de Robertson et al., aparatado 2.3)
3
\vskip1.000000\baselineskip
4
Obsérvese que para un árbol binario, las sumas de las ecuaciones (5') y (6') se realizan solamente con dos términos, mientras que en la ecuación (7') cada una se realiza con la mitad de los pares de estados conectados cuyo número asciende a 2^{m} en cada subconjunto, donde m es el número de elementos de memoria del codificador 12' convolucional. Obsérvese además que como las métricas \alpha y \beta pueden normalizarse por un factor común en cada nodo, las métricas a y b pueden reducirse en una cantidad común en cada nodo.
Tal y como se explica en el documento de Robertson et al., apartado 2.3, el algoritmo max-log-MAP se obtiene utilizando la aproximación
5
aproximación que mejora a medida que divergen los valores x_{i}. Por lo tanto, las ecuaciones (5') y (6') se convierten en la recursión directa y en la recursión inversa, respectivamente, del algoritmo de Viterbi, donde esta última comienza en el nodo final. De manera similar, la ecuación (7') se convierte en el procedimiento de dobles máximos. Por lo tanto, se obtiene un algoritmo de Viterbi directo e inverso asociado a cada nodo mediante cálculos de dobles máximos.
La figura 3 es un diagrama de bloques de un transmisor y de un receptor que funcionan a través de un canal y que utilizan un descodificador LOG-MAP simplificado según las enseñanzas de la presente invención. El sistema 10 incluye un codificador 12 convolucional que recibe una secuencia de entrada u_{t} y que transmite un flujo de señales x_{t} a un modulador 14. El modulador 14 modula la señal de manera convolucional y la proporciona al transmisor 16. El transmisor 16 incluye amplificadores de potencia y antenas necesarias para transmitir la señal a través del canal 17. La señal recibida a través del canal y_{t} se desmodula mediante un desmodulador 19 convencional y se reenvía a un descodificador 20 LOG-MAP simplificado diseñado según estas enseñanzas. El descodificador 20 es un descodificador de salida de decisión flexible que transmite una estimación de la secuencia de entrada \hat{u}_{t}.
La figura 4 es un diagrama de bloques de una implementación ilustrativa del descodificador 20 de decisión de salida flexible de la presente invención. En la implementación ilustrativa, el descodificador 20 incluye una memoria 22 intermedia que recibe la señal recibida desmodulada desde el desmodulador 19. La memoria intermedia retarda las entradas para un descodificador 24 de Viterbi directo hasta que se reciban las suficientes muestras de señales para que un descodificador 26 de Viterbi inverso inicie una recursión inversa a través del enrejado. Las salidas del descodificador 24 de Viterbi directo y del descodificador 26 de Viterbi inverso se introducen en un procesador 28 de dobles máximos. El procesador de dobles máximos proporciona una estimación de la secuencia u_{t} bajo el control de un circuito 27 de temporización y utilizando un factor de corrección suministrado por una memoria de solo lectura 29 (ROM) tal y como se describirá posteriormente en mayor detalle. Un experto en la técnica puede implementar el procesador 28 de dobles máximos con un circuito integrado de aplicación específica (ASIC), un procesador de señales digitales (DSP) o un microprocesador.
A continuación se describirá el funcionamiento del descodificador 20 con referencia a la figura 5.
La figura 5 es un diagrama de enrejado de un código convolucional por bloques (o simplificado) que empieza y termina en un estado cero. El enrejado 30 es el mismo que el 30' de la figura 2 con la excepción de que las recursiones directa e inversa están asociadas entre sí en cada nodo mediante el cálculo de dobles máximos de la ecuación (7').
Desafortunadamente, la aproximación de la ecuación (8) genera necesariamente cierto grado de degradación. Esto puede evitarse utilizando el hecho (documento de Robertson et al., apartado 2.4) de que
6
El segundo término es un factor de corrección que se implementa utilizando una tabla de consulta almacenada en la memoria 29 ROM. La memoria 29 ROM está regida por |x-y| donde el signo (x-y) se necesita para determinar Max(x,y).
Para obtener una forma precisa de la ecuación (8) cuando hay más de dos términos en la suma, se anidan las operaciones g() para obtener
7
que se requiere para la ecuación (7'), así como para las ecuaciones (5') y (6') cuando la estructura de enrejado no es binaria.
Pero la conclusión es la misma con la corrección (segundo término de la ecuación (9)) proporcionando la forma exacta.
Implementación de la reducción de memoria
El último inconveniente que queda por explicar del enfoque LOG-MAP expuesto anteriormente es que requiere mucha memoria. Todo el historial de métricas de estado debe almacenarse hasta el final del enrejado, punto en el que comienza el algoritmo inverso y las decisiones pueden transmitirse empezando en la última rama sin necesidad de almacenar nada salvo el último conjunto de métricas de estado calculadas de manera inversa. Obviamente, este requisito de almacenamiento es excesivo. Para un código de 16 estados, suponiendo métricas de estado de 6 bits, se requieren 96 bits de almacenamiento por rama, para un total de 96.000 bits para un bloque de 1.000 bits, lo que un experto en la técnica considera lo mínimo para el rendimiento de los códigos turbo. Benedetto et al. tratan este problema proponiendo un enfoque de ventana deslizante.
La base para este enfoque es el hecho de que el descodificador de Viterbi puede iniciarse en frío en cualquier estado en cualquier momento. Inicialmente, las métricas de estado tienen poco valor pero, después de algunas longitudes limitantes, el conjunto de métricas de estado es tan fiable como si el proceso hubiera empezado en el nodo inicial (o final). Supóngase que este periodo de "aprendizaje" consista en L ramas. (Para un código de 16 estados, L = 32 sería más que suficiente, lo que equivale a longitudes limitantes de 6 del código convolucional). Esto proporciona equidad tanto al algoritmo inverso como al directo, y supone que todas las métricas de estado se normalizan restando de cada nodo la misma cantidad. El requisito de memoria para un código de 16 estados se reduce a algunos miles de bits, independientemente de la longitud de bloque T.
Si se utiliza una única iteración inversa, se deja que los símbolos de rama recibidos se retarden en 2L tiempos de rama, donde L es la longitud de una ventana del enrejado 30. Después se fija una condición inicial de "1" en una implementación lineal (o de "0" en una implementación logarítmica) para el nodo inicial y cero para el resto de nodos en el tiempo inicial t_{0}. A continuación, el descodificador 24 de Viterbi directo de la figura 4 empieza a calcular métricas de estado directas en el nodo inicial en el tiempo t_{0} para cada nodo en cada tiempo de rama según la ecuación (5 ó 5'). Estas métricas de estado se almacenan en una memoria del procesador 28. Este proceso se muestra en el diagrama de la figura 6.
La figura 6 muestra la temporización para los descodificadores de Viterbi directo e inverso. Desde el tiempo t=0 hasta el tiempo t=L, el algoritmo de Viterbi directo generalizado calcula la métrica de estado directa mostrada por el segmento 42. En el tiempo t=L, se interrumpe la iteración directa y se inicia una iteración inversa mediante el descodificador 26 de Viterbi inverso de la figura 4. La iteración inversa no se inicia desde el final del enrejado como en el enfoque convencional, sino desde el tiempo 2L como si fuera el final de una trama de longitud 2L. Todos los nodos o estados del enrejado 30 se fijan al valor inicial de "1" en una implementación lineal o de "0" en una implementación logarítmica. En primer lugar, las métricas tienen de nuevo poca fiabilidad tal y como se muestra mediante la línea 44 de puntos de la figura 6. Estás métricas se vuelven fiables después de L tal y como se muestra en 46. Por lo tanto, en el tiempo L se obtienen métricas directas e inversas fiables. En este punto puede realizarse el proceso de dobles máximos generalizado según la ecuación (7') y se transmiten decisiones flexibles correspondientes a las primeras L ramas. Ahora pueden descartarse las métricas directas desde el tiempo t = 0 hasta el tiempo t = L. Las métricas inversas se descartan después del cálculo del siguiente conjunto de métricas inversas.
A continuación, el descodificador 24 de Viterbi directo avanza desde el tiempo t = L y se calculan como antes métricas directas para cada nodo hasta el tiempo 2L. Esto se muestra de nuevo mediante el segmento 42 de línea de la figura 6. En 2L se interrumpe la descodificación directa y el descodificador 26 de Viterbi inverso comienza a generar métricas desde el tiempo 3L. Estas métricas son de nuevo poco fiables hasta el tiempo 2L, tal y como se muestra mediante la línea 48 de puntos. Sin embargo, desde L hasta 2L, se obtienen métricas directas e inversas fiables. Por lo tanto, puede calcularse la relación de probabilidad durante este intervalo de tiempo utilizando los cálculos de dobles máximos generalizados.
El procedimiento se muestra en el diagrama de flujo de la figura 7. Tal y como se muestra en la figura 7, el proceso descrito anteriormente se repite por todo el enrejado 30.
Los expertos en la técnica apreciarán que la memoria requerida es del orden de L veces el número de estados en lugar de T veces el número de estados, donde T es la longitud de trama de enrejado y L << T. Los expertos en la técnica también podrán elegir una longitud de trama óptima. Se ha observado que una longitud de trama de L en el intervalo de longitudes limitantes de 5 a 7 es suficiente.
Con respecto a la implementación preferida de la presente invención, se hace referencia a la figura 8 que muestra los tiempos de procesamiento de bits para un procesador directo y dos procesadores inversos que funcionan en sincronismo con los símbolos de rema recibidos, es decir, calculando un conjunto de métricas de estado durante cada tiempo de rama recibido (tiempo de bit para un enrejado binario). De nuevo, se deja que los símbolos de rama recibidos se retarden en 2L tiempos de rama. El descodificador 24 directo de la figura 4 empieza de nuevo en el nodo inicial en el tiempo de rama 2L, calculando todas las métricas de estado para cada nodo en cada tiempo de rama y almacenando las mismas en la memoria. Para esta implementación, el primer y el segundo descodificador de Viterbi inversos se muestran de manera genérica como "26" en la figura 4. El primer descodificador inverso empieza al mismo tiempo que el descodificador 24 directo, pero procesa de manera inversa desde el nodo 2L-ésimo, fijando cada métrica de estado inicial al mismo valor, no almacenando nada hasta el tiempo de rama 3L, punto en el que ha acumulado métricas de estado fiables y en el que obtiene las últimas métricas del primer conjunto de L métricas calculadas de manera directa. En este punto se lleva a cabo el proceso de dobles máximos generalizado según la ecuación (7'), se transmiten las decisiones flexibles de rama L-ésima y el procesador inverso avanza hasta llegar al nodo inicial en el tiempo 4L. Mientras tanto, empezando en el tiempo 3L, el segundo descodificador inverso inicia el procesamiento con métricas idénticas en el nodo 3L, descartando todas las métricas hasta el tiempo 4L, punto en el que observa que el algoritmo directo ha calculado las métricas de estado para el nodo 2L-ésimo. Después, el proceso de dobles máximos generalizado se activa hasta el tiempo 5L, punto en el que se habrán transmitido todas la salidas de decisión flexible desde el nodo 2L-ésimo hasta el nodo L-ésimo. Los dos procesadores inversos avanzan 4L ramas cada vez que hayan generado de manera inversa 2L conjuntos de métricas de estado y comparten el tiempo del procesador de salida ya que uno genera métricas inservibles mientras que el otro genera métricas útiles que se combinan con las del algoritmo directo.
El procedimiento de esta implementación alternativa se ilustra en el diagrama de flujo de la figura 9. Obsérvese que no necesita almacenarse nada para los algoritmos inversos salvo el conjunto de métricas del último nodo y sólo cuando se estén generando métricas fiables. El algoritmo directo sólo necesita almacenar 2L conjuntos de métricas de estado ya que después de sus primeros 2L cálculos (realizados en el tiempo 4L), su primer conjunto de métricas se descartará y el almacenamiento vacío puede llenarse entonces empezando con las métricas calculadas de manera directa para el nodo (2L +1)-ésimo (en el tiempo de rama 4L+1). Por tanto, el requisito de almacenamiento para un código de 16 estados utilizando métricas de estado de 6 bits es de solamente 192L bits en total, lo que para L = 32 equivale a 6.000 bits aproximadamente. (Obsérvese además que un descodificador de Viterbi de K = 7 convencional con 64 estados y una memoria de trayectorias de 32 bits requiere aproximadamente 2.000 bits de memoria, mientras que un descodificador de K = 9 requiere al menos una memoria de trayectorias de 40 bits dando como resultado más de 10.000 bits de almacenamiento). Por lo tanto, los requisitos de almacenamiento de LOG-MAP no son mayores que los de un algoritmo de Viterbi convencional.
En lo que respecta a los requisitos de procesamiento, puede parecer que la carga del algoritmo de Viterbi está triplicada; además, la complejidad del proceso de dobles máximos generalizado no es mayor que la del procesador de algoritmos de Viterbi directos o inversos, de manera que la complejidad total no supera una complejidad cuadruplicada. Además, se evita el procedimiento de retrocadena. Asimismo, puesto que el código es más corto, el número de estados se reduce en un factor de 4 ó 16 para K = 7 y 9 en los ejemplos mostrados. Puesto que el descodificador MAP (con una longitud limitante corta) solo se justifica para los códigos turbo, debe tenerse en cuenta el número de iteraciones requeridas, las cuales están en el orden de 4 a 8. Por lo tanto, un descodificador turbo en serie de 16 estados que lleve a cabo 8 iteraciones multiplica por dos la carga de procesamiento de un descodificador de Viterbi con K = 9 y 8 veces la de un descodificador con K = 7.
El retardo de descodificación mínimo se fija mediante la longitud del bloque o por su entrelazador correspondiente. Si los procesadores descritos anteriormente funcionan a la velocidad de las ramas recibidas, puede ser necesario procesar en cadena las iteraciones sucesivas y, por lo tanto, multiplicar el retardo mínimo por el número de iteraciones. Si, por otro lado, los procesadores pueden funcionar a una velocidad mucho mayor, el retardo adicional puede reducirse en gran medida.
La anterior descripción de las realizaciones preferidas se proporciona para permitir que cualquier experto en la técnica realice o utilice la presente invención. Varias modificaciones de estas realizaciones serán fácilmente evidentes para los expertos en la técnica, y los principios genéricos definidos en este documento pueden aplicarse a otras realizaciones sin utilizar la facultad inventiva. Por tanto, la presente invención no pretende limitarse a las realizaciones mostradas en este documento sino que se le otorga el alcance más amplio según los principios y características novedosas descritos en el presente documento.

Claims (12)

1. Un sistema para descodificar una secuencia de señales emitidas por un codificador y transmitidas a través de un canal, estando representada la salida de dicho codificador mediante un enrejado que presenta una longitud de bloque T, comprendiendo dicho sistema:
\quad
primeros medios para la descodificación de Viterbi de dicha secuencia de señales recibidas a través de dicho canal durante una iteración directa a través de dicho enrejado, proporcionando dichos primeros medios una pluralidad de métricas \alpha de estado de iteración directa fiables para cada estado en cada intervalo de tiempo a través de una ventana de longitud L, donde L es un número de longitudes limitantes y L es menor que una longitud de bloque T;
\quad
segundos medios para la descodificación de Viterbi de dicha secuencia de señales recibidas a través de dicho canal durante una iteración inversa a través de dicho enrejado, proporcionando dichos segundos medios una pluralidad de métricas \beta de estado inversas para cada estado en cada intervalo de tiempo empezando en un segundo tiempo 2L desde un punto en el que se inician métricas de estado directas fiables; y
\quad
terceros medios para realizar un cálculo de dobles máximos calculando una aproximación de función de máximos de la probabilidad MAP logarítmica de que una secuencia de datos particular se transmita por dicho codificador en cada estado y en cada tiempo de rama de la ventana utilizando las métricas de estado directas fiables, las métricas de estado inversas fiables proporcionadas después de L métricas de rama y la métrica de rama para el mismo para proporcionar una medición de la probabilidad de que una secuencia de datos particular se transmita por dicho codificador;
\quad
y estando adaptado el sistema para repetir dicha descodificación y cálculo por todo el enrejado.
2. El sistema según la reivindicación 1, en el que dichos primeros medios incluyen medios para multiplicar una métrica de estado directa \alpha_{t-1}(s') para un estado previo s' por una métrica de rama \gamma_{t}(s',s) para proporcionar dicha métrica de estado directa \alpha_{t}(s) para un estado seleccionado s.
3. El sistema según la reivindicación 2, en el que dichos primeros medios incluyen medios para sumar productos de las métricas de estado directas \alpha_{t-1}(s') para cada estado previo s' por una métrica de rama \gamma_{t}(s',s) entre cada estado anterior s' y el estado seleccionado s para proporcionar dicha métrica de estado directa \alpha_{t}(s) para el estado seleccionado s.
4. El sistema según la reivindicación 1, en el que dichos segundos medios incluyen medios para multiplicar una métrica de estado inversa \beta_{t+1}(s') para un estado posterior s' por una métrica de rama \gamma_{t}(s,s') para proporcionar dicha métrica de rama \beta_{t}(s) para un estado seleccionado s.
5. El sistema según la reivindicación 4, en el que dichos segundos medios incluyen medios para sumar productos de las métricas de estado inversas \beta_{t+1}(s') para cada estado posterior s' por una métrica de rama \gamma_{t}(s, s') entre cada estado posterior s' y cada estado seleccionado s para proporcionar dicha métrica de rama \beta_{t}(s) para el estado seleccionado
s.
6. El sistema según la reivindicación 1, en el que dichos terceros medios incluyen medios para proporcionar un factor de corrección para dicha aproximación para proporcionar una medición más exacta de la probabilidad de que una secuencia de datos particular se transmita por dicho codificador.
7. El sistema según la reivindicación 6, en el que dicho factor de corrección incluye una función exponencial de la métrica de estado directa, de la métrica de estado inversa y de la métrica de rama para un estado seleccionado.
8. El sistema según la reivindicación 1, en el que dichos segundos medios incluyen medios para proporcionar una segunda iteración inversa a través de dicho enrejado, proporcionando dichos segundos medios una segunda pluralidad de métricas \beta de estado de iteración inversa para cada estado en cada intervalo de tiempo empezando en el un tercer tiempo t_{3L}.
9. Un procedimiento para descodificar una palabra de código codificada de manera convolucional que incluye las etapas de:
a)
proporcionar un enrejado representativo de una salida de un codificador utilizado para codificar dicha palabra de código, presentando dicho enrejado una longitud de bloque T;
b)
asignar una condición inicial a cada nodo de inicio del enrejado para una iteración directa a través del enrejado;
c)
asignar una condición inicial a cada nodo de inicio del enrejado para una iteración inversa a través del enrejado;
d)
calcular métricas de estado directas fiables para cada nodo de una ventana de longitud L del enrejado durante una iteración directa, donde L es un número de longitudes limitantes y donde la longitud de ventana L es menor que la longitud de bloque T;
e)
calcular, durante una iteración inversa, métricas de estado inversas para cada nodo de una ventana de longitud L del enrejado empezando en un tiempo 2L desde un punto en el que se inicia la iteración directa fiable;
f)
calcular dobles máximos para cada nodo de la ventana calculando una aproximación de función de máximos de la probabilidad MAP logarítmica de que una secuencia de datos particular se transmita por dicho codificador en cada estado y en cada tiempo de rama de la ventana utilizando las métricas de estado directas fiables, las métricas de estado inversas fiables proporcionadas después de L métricas de rama y la métrica de rama para el mismo para proporcionar una medida de la probabilidad de que una secuencia de datos particular se transmita por dicho codificador, utilizando las métricas de estado directas fiables y las métricas de estado inversas proporcionadas después de L para descodificar dicha palabra de código; y
g)
repetir las etapas d) a f) para todo el bloque.
10. El procedimiento según la reivindicación 9, en el que la etapa f) incluye una etapa de correlación logarítmica.
11. El procedimiento según la reivindicación 9, en el que la etapa e) incluye una etapa de iniciar una segunda iteración inversa que empieza en el tiempo 3L desde un punto en el que se inicia la iteración directa.
12. El procedimiento según la reivindicación 9, en el que la etapa d) incluye:
d)
utilizar un algoritmo de Viterbi para calcular una métrica directa para cada nodo de una ventana de longitud L del enrejado durante una iteración directa, donde la longitud de ventana L es inferior a la longitud de bloque T; y en el que la etapa
e)
incluye utilizar un algoritmo de Viterbi para calcular, durante una iteración inversa, una métrica inversa para cada nodo de una ventana de longitud L del enrejado empezando en un tiempo 2L desde un punto en el que se inicia la iteración directa.
ES97945610T 1996-11-06 1997-11-06 Decodificador de salida de decision flexible para la descodificar palabras de codigo codificadas de manera convolucional. Expired - Lifetime ES2330061T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US743688 1996-11-06
US08/743,688 US5933462A (en) 1996-11-06 1996-11-06 Soft decision output decoder for decoding convolutionally encoded codewords

Publications (1)

Publication Number Publication Date
ES2330061T3 true ES2330061T3 (es) 2009-12-03

Family

ID=24989778

Family Applications (1)

Application Number Title Priority Date Filing Date
ES97945610T Expired - Lifetime ES2330061T3 (es) 1996-11-06 1997-11-06 Decodificador de salida de decision flexible para la descodificar palabras de codigo codificadas de manera convolucional.

Country Status (14)

Country Link
US (1) US5933462A (es)
EP (3) EP0937336B1 (es)
JP (1) JP3998723B2 (es)
KR (1) KR100566084B1 (es)
CN (1) CN1178397C (es)
AT (1) ATE439705T1 (es)
AU (1) AU722477B2 (es)
CA (1) CA2270668C (es)
DE (1) DE69739533D1 (es)
ES (1) ES2330061T3 (es)
MY (1) MY116167A (es)
TW (1) TW431097B (es)
WO (1) WO1998020617A1 (es)
ZA (1) ZA979958B (es)

Families Citing this family (180)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI102335B (fi) * 1997-02-28 1998-11-13 Nokia Telecommunications Oy Vastaanottomenetelmä ja vastaanotin
FI102230B (fi) * 1997-02-28 1998-10-30 Nokia Telecommunications Oy Vastaanottomenetelmä ja vastaanotin
US6888788B1 (en) * 1997-04-30 2005-05-03 Siemens Aktiengesellschaft Method and arrangement for determining at least one digital signal from an electrical signal
ATE540497T1 (de) * 1997-05-30 2012-01-15 Qualcomm Inc Fehlerschutzverfahren und vorrichtung für über- funk-dateiübertragung
IT1292066B1 (it) * 1997-06-03 1999-01-25 Italtel Spa Ricevitore non coerente a stima di sequenza per modulazioni numeriche lineari
US6118825A (en) * 1997-08-11 2000-09-12 Sony Corporation Digital data transmission device and method, digital data demodulation device and method, and transmission medium
US6081802A (en) * 1997-08-12 2000-06-27 Microsoft Corporation System and method for accessing compactly stored map element information from memory
US7184426B2 (en) * 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
US9118387B2 (en) * 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
US6141388A (en) * 1998-03-11 2000-10-31 Ericsson Inc. Received signal quality determination method and systems for convolutionally encoded communication channels
US6108386A (en) * 1998-04-03 2000-08-22 Lucent Technologies Inc. List Viterbi algorithms for continuous data transmission
KR100544555B1 (ko) * 1998-05-28 2006-01-24 소니 가부시끼 가이샤 길쌈 부호의 연출력 복호 장치 및 연출력 복호 방법
US6460161B1 (en) * 1998-06-01 2002-10-01 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Processing of state histories in Viterbi decoding
JP3413759B2 (ja) * 1998-07-17 2003-06-09 株式会社ケンウッド Bsディジタル放送受信機
US6381728B1 (en) * 1998-08-14 2002-04-30 Qualcomm Incorporated Partitioned interleaver memory for map decoder
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
US6263467B1 (en) * 1998-08-20 2001-07-17 General Electric Company Turbo code decoder with modified systematic symbol transition probabilities
US6343368B1 (en) * 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
US7406098B2 (en) 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
US6393012B1 (en) 1999-01-13 2002-05-21 Qualcomm Inc. System for allocating resources in a communication system
FI106416B (fi) * 1999-02-09 2001-01-31 Nokia Mobile Phones Ltd Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi
US6598204B1 (en) * 1999-02-18 2003-07-22 Imec Vzw System and method of turbo decoding
US6678843B2 (en) 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
US6754290B1 (en) * 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
US6661832B1 (en) * 1999-05-11 2003-12-09 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
KR100300306B1 (ko) * 1999-05-28 2001-09-26 윤종용 무선통신 시스템에서 채널 적응형 맵 채널 복호 장치 및 방법
US6516136B1 (en) * 1999-07-06 2003-02-04 Agere Systems Inc. Iterative decoding of concatenated codes for recording systems
JP3924093B2 (ja) * 1999-07-15 2007-06-06 富士通株式会社 ビタビ復号器および送信装置
JP3846527B2 (ja) * 1999-07-21 2006-11-15 三菱電機株式会社 ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム
US6889053B1 (en) * 1999-07-26 2005-05-03 Lucent Technologies Inc. Likelihood-based geolocation prediction algorithms for CDMA systems using pilot strength measurements
US8064409B1 (en) 1999-08-25 2011-11-22 Qualcomm Incorporated Method and apparatus using a multi-carrier forward link in a wireless communication system
US6778507B1 (en) 1999-09-01 2004-08-17 Qualcomm Incorporated Method and apparatus for beamforming in a wireless communication system
US6343103B1 (en) * 1999-09-03 2002-01-29 Agere Systems Guardian Corp. Methods and apparatus for representation of branch metrics in a communication system decoder
US6563810B1 (en) 1999-09-30 2003-05-13 Qualcomm Incorporated Closed loop resource allocation
US6621804B1 (en) 1999-10-07 2003-09-16 Qualcomm Incorporated Method and apparatus for predicting favored supplemental channel transmission slots using transmission power measurements of a fundamental channel
US6580767B1 (en) * 1999-10-22 2003-06-17 Motorola, Inc. Cache and caching method for conventional decoders
US7206580B2 (en) * 1999-11-04 2007-04-17 Qualcomm Incorporated Method and apparatus for performing handoff in a high speed communication system
US6400290B1 (en) 1999-11-29 2002-06-04 Altera Corporation Normalization implementation for a logmap decoder
AU4515801A (en) * 1999-12-03 2001-06-18 Broadcom Corporation Viterbi slicer for turbo codes
US6693566B2 (en) 1999-12-03 2004-02-17 Broadcom Corporation Interspersed training for turbo coded modulation
US6597743B1 (en) * 1999-12-07 2003-07-22 Ericsson Inc. Reduced search symbol estimation algorithm
US6857101B1 (en) * 1999-12-14 2005-02-15 Intel Corporation Apparatus and method of storing reference vector of state metric
US6487694B1 (en) * 1999-12-20 2002-11-26 Hitachi America, Ltd. Method and apparatus for turbo-code decoding a convolution encoded data frame using symbol-by-symbol traceback and HR-SOVA
EP1115209A1 (en) * 2000-01-07 2001-07-11 Motorola, Inc. Apparatus and method for performing parallel siso decoding
DE10001856A1 (de) * 2000-01-18 2001-08-09 Infineon Technologies Ag Verfahren zur Decodierung eines Datensignals
US7092457B1 (en) * 2000-01-18 2006-08-15 University Of Southern California Adaptive iterative detection
US6980605B2 (en) * 2000-01-31 2005-12-27 Alan Gatherer MAP decoding with parallelized sliding window processing
US6477681B1 (en) * 2000-02-07 2002-11-05 Motorola, Inc. Methods for decoding data in digital communication systems
US6868132B1 (en) 2000-02-10 2005-03-15 Motorola, Inc. Soft output decoder for convolutional codes
US6901117B1 (en) 2000-02-10 2005-05-31 Motorola, Inc. Soft output decoder for convolutional codes
US6856657B1 (en) 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes
US6580769B1 (en) * 2000-02-14 2003-06-17 Motorola, Inc. Method and apparatus for backward recursion next state generation in recursive convolutional decoding
US6658071B1 (en) 2000-02-14 2003-12-02 Ericsson Inc. Delayed decision feedback log-map equalizer
DE60007956T2 (de) * 2000-02-21 2004-07-15 Motorola, Inc., Schaumburg Vorrichtung und Verfahren zur SISO Dekodierung
GB0004765D0 (en) * 2000-03-01 2000-04-19 Mitel Corp Soft-decision decoding of convolutionally encoded codeword
JP2001251226A (ja) * 2000-03-03 2001-09-14 Yrp Kokino Idotai Tsushin Kenkyusho:Kk 双方向ビタビ型等化器
US6516437B1 (en) * 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
GB2360858B (en) * 2000-03-20 2004-08-18 Motorola Inc High-speed maximum a posteriori (MAP) architecture with optimized memory size and power consumption
JP2001266498A (ja) * 2000-03-23 2001-09-28 Sony Corp データ再生装置及びデータ再生方法、並びに、データ記録再生装置及びデータ記録再生方法
US7088701B1 (en) 2000-04-14 2006-08-08 Qualcomm, Inc. Method and apparatus for adaptive transmission control in a high data rate communication system
US6307901B1 (en) 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6606725B1 (en) * 2000-04-25 2003-08-12 Mitsubishi Electric Research Laboratories, Inc. MAP decoding for turbo codes by parallel matrix processing
US6888897B1 (en) 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
US7184486B1 (en) 2000-04-27 2007-02-27 Marvell International Ltd. LDPC encoder and decoder and method thereof
WO2001084720A1 (en) * 2000-05-03 2001-11-08 University Of Southern California Reduced-latency soft-in/soft-out module
JP3613134B2 (ja) * 2000-05-12 2005-01-26 日本電気株式会社 高速ターボデコーダ
US7245594B1 (en) * 2000-05-12 2007-07-17 Qualcomm Incorporated Method and apparatus for fast closed-loop rate adaptation in a high rate packet data transmission
FR2809249B1 (fr) * 2000-05-16 2004-04-23 France Telecom Procede et systeme de detection et de decodage iteratif de symboles recus, couple a une reestimation des coefficients du canal de transmission
JP2001352256A (ja) * 2000-06-08 2001-12-21 Sony Corp 復号装置及び復号方法
JP2001352254A (ja) * 2000-06-08 2001-12-21 Sony Corp 復号装置及び復号方法
US6965652B1 (en) 2000-06-28 2005-11-15 Marvell International Ltd. Address generator for LDPC encoder and decoder and method thereof
US7000177B1 (en) 2000-06-28 2006-02-14 Marvell International Ltd. Parity check matrix and method of forming thereof
US7072417B1 (en) 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US6751206B1 (en) 2000-06-29 2004-06-15 Qualcomm Incorporated Method and apparatus for beam switching in a wireless communication system
FI109162B (fi) * 2000-06-30 2002-05-31 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
US6529527B1 (en) 2000-07-07 2003-03-04 Qualcomm, Inc. Method and apparatus for carrying packetized voice and data in wireless communication networks
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US6813743B1 (en) * 2000-07-31 2004-11-02 Conexant Systems, Inc. Sliding window technique for map decoders
EP1189355B1 (en) * 2000-08-04 2003-10-22 Motorola Inc. Linearly approximated log map algorithm for turbo decoding
US6879581B1 (en) 2000-08-22 2005-04-12 Qualcomm Incorporated Method and apparatus for providing real-time packetized voice and data services over a wireless communication network
US7099384B1 (en) 2000-09-01 2006-08-29 Qualcomm, Inc. Method and apparatus for time-division power assignments in a wireless communication system
DE60141982D1 (de) * 2000-09-01 2010-06-10 Broadcom Corp Satellitenempfänger und entsprechendes verfahren
JP4834863B2 (ja) * 2000-09-04 2011-12-14 エスティー‐エリクソン、ソシエテ、アノニム ターボデコーダのためのステークの損失性圧縮
EP1329025A1 (en) * 2000-09-05 2003-07-23 Broadcom Corporation Quasi error free (qef) communication using turbo codes
US6452979B1 (en) * 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
US7242726B2 (en) 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US7127664B2 (en) * 2000-09-18 2006-10-24 Lucent Technologies Inc. Reconfigurable architecture for decoding telecommunications signals
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
US7099411B1 (en) 2000-10-12 2006-08-29 Marvell International Ltd. Soft-output decoding method and apparatus for controlled intersymbol interference channels
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
US6518892B2 (en) * 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US6999430B2 (en) * 2000-11-30 2006-02-14 Qualcomm Incorporated Method and apparatus for transmitting data traffic on a wireless communication channel
US6711208B2 (en) 2000-12-04 2004-03-23 Qualcomm, Incorporated Estimation of traffic-to-pilot ratios
US6856656B2 (en) * 2000-12-04 2005-02-15 Conexant Systems, Inc. Iterative carrier phase tracking decoding system
US6865711B2 (en) * 2000-12-15 2005-03-08 Conexant Systems, Inc. System of and method for decoding trellis codes
AU2002232576A1 (en) * 2000-12-15 2002-06-24 Conexant Systems, Inc. Decoding of trellis codes
US20020122507A1 (en) * 2000-12-15 2002-09-05 Eidson Donald Brian System for carrier phase tracking of multi-dimensional coded symbols
US6973615B1 (en) 2000-12-15 2005-12-06 Conexant Systems, Inc. System of and method for decoding trellis codes
US7027531B2 (en) * 2000-12-29 2006-04-11 Motorola, Inc. Method and system for initializing a training period in a turbo decoding device
US6952457B2 (en) * 2000-12-29 2005-10-04 Motorola, Inc. Method and system for adapting a training period in a turbo decoding device
US20120246539A1 (en) * 2001-01-02 2012-09-27 Icomm Technologies Inc. Wireless system with diversity processing
US6850499B2 (en) * 2001-01-05 2005-02-01 Qualcomm Incorporated Method and apparatus for forward power control in a communication system
US6990137B2 (en) 2001-05-17 2006-01-24 Qualcomm, Incorporated System and method for received signal prediction in wireless communications systems
US7170924B2 (en) 2001-05-17 2007-01-30 Qualcomm, Inc. System and method for adjusting combiner weights using an adaptive algorithm in wireless communications system
US7961616B2 (en) 2001-06-07 2011-06-14 Qualcomm Incorporated Method and apparatus for congestion control in a wireless communication system
US20030007580A1 (en) * 2001-06-08 2003-01-09 Toshio Nagata Blind transport format detection system and method
US7020827B2 (en) * 2001-06-08 2006-03-28 Texas Instruments Incorporated Cascade map decoder and method
US6757520B2 (en) 2001-06-26 2004-06-29 Qualcomm Incorporated Method and apparatus for selecting a serving sector in a data communication system
WO2003001838A1 (en) 2001-06-26 2003-01-03 Qualcomm Incorporated Method and apparatus for adaptive server selection in a data communication system
US7058035B2 (en) * 2001-06-29 2006-06-06 Qualcomm, Indorporated Communication system employing multiple handoff criteria
DE60116923T2 (de) * 2001-07-10 2006-07-27 Motorola, Inc., Schaumburg Verbesserte Hochschnellheitsarchitektur "maximal a posteriori" (MAP) mit optimisierter Speichergrösse und Leistungsverbrauch
US7661059B2 (en) * 2001-08-06 2010-02-09 Analog Devices, Inc. High performance turbo and Viterbi channel decoding in digital signal processors
US6961921B2 (en) 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
US20030115061A1 (en) * 2001-09-11 2003-06-19 Broadcom Corporation MPSK equalizer
US6760883B2 (en) * 2001-09-13 2004-07-06 Agere Systems Inc. Generating log-likelihood values in a maximum a posteriori processor
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
US7489744B2 (en) * 2001-09-25 2009-02-10 Qualcomm Incorporated Turbo decoding method and apparatus for wireless communications
CA2463614A1 (en) * 2001-10-15 2003-04-24 Qualcomm Incorporated Method and apparatus for managing imbalance in a communication system
US7336952B2 (en) * 2001-10-24 2008-02-26 Qualcomm, Incorporated Method and system for hard handoff in a broadcast communication system
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US6928599B2 (en) * 2001-12-05 2005-08-09 Intel Corporation Method and apparatus for decoding data
GB2383506A (en) * 2001-12-21 2003-06-25 Ubinetics Ltd Trellis decoding in parallel where extra trellis sections are appended
JP2003203435A (ja) * 2002-01-09 2003-07-18 Fujitsu Ltd データ再生装置
FI20020108A0 (fi) * 2002-01-21 2002-01-21 Nokia Corp Menetelmõ ja laite polkumetriikoiden muodostamiseksi trelliksessõ
US7353450B2 (en) * 2002-01-22 2008-04-01 Agere Systems, Inc. Block processing in a maximum a posteriori processor for reduced power consumption
US6697628B1 (en) * 2002-03-01 2004-02-24 Nokia Corporation Apparatus, and associated method, for determining geographical positioning of a mobile station operable in a radio communication system
JP3898574B2 (ja) * 2002-06-05 2007-03-28 富士通株式会社 ターボ復号方法及びターボ復号装置
KR100487183B1 (ko) * 2002-07-19 2005-05-03 삼성전자주식회사 터보 부호의 복호 장치 및 방법
KR100703307B1 (ko) * 2002-08-06 2007-04-03 삼성전자주식회사 터보 복호화 장치 및 방법
JP2004080508A (ja) * 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
US7139274B2 (en) * 2002-08-23 2006-11-21 Qualcomm, Incorporated Method and system for a data transmission in a communication system
US7107509B2 (en) * 2002-08-30 2006-09-12 Lucent Technologies Inc. Higher radix Log MAP processor
US7154965B2 (en) 2002-10-08 2006-12-26 President And Fellows Of Harvard College Soft detection of data symbols in the presence of intersymbol interference and timing error
GB2394627B (en) * 2002-10-23 2004-09-08 Modem Art Ltd Communication unit and method of decoding
US8213390B2 (en) 2002-10-24 2012-07-03 Qualcomm Incorporated Reverse link automatic repeat request
US7564818B2 (en) 2002-11-26 2009-07-21 Qualcomm Incorporated Reverse link automatic repeat request
US8179833B2 (en) * 2002-12-06 2012-05-15 Qualcomm Incorporated Hybrid TDM/OFDM/CDM reverse link transmission
US7680052B2 (en) * 2002-12-16 2010-03-16 Qualcomm Incorporated Closed loop resource allocation
US20040163030A1 (en) * 2003-02-13 2004-08-19 International Business Machines Corporation Iterative error correcting system
US20040179480A1 (en) * 2003-03-13 2004-09-16 Attar Rashid Ahmed Method and system for estimating parameters of a link for data transmission in a communication system
US20040179469A1 (en) * 2003-03-13 2004-09-16 Attar Rashid Ahmed Method and system for a data transmission in a communication system
US7746816B2 (en) * 2003-03-13 2010-06-29 Qualcomm Incorporated Method and system for a power control in a communication system
US20040181569A1 (en) * 2003-03-13 2004-09-16 Attar Rashid Ahmed Method and system for a data transmission in a communication system
US7246295B2 (en) * 2003-04-14 2007-07-17 Agere Systems Inc. Turbo decoder employing simplified log-map decoding
JP4227481B2 (ja) * 2003-07-11 2009-02-18 パナソニック株式会社 復号装置および復号方法
US7050514B2 (en) * 2003-08-13 2006-05-23 Motorola, Inc. Interference estimation and scaling for efficient metric storage and interference immunity
JP4041445B2 (ja) * 2003-09-19 2008-01-30 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 復号装置、通信装置および復号方法
GB0323211D0 (en) * 2003-10-03 2003-11-05 Toshiba Res Europ Ltd Signal decoding methods and apparatus
CN100542053C (zh) * 2004-03-03 2009-09-16 中国科学院沈阳自动化研究所 一种带有自适应性以及高速Viterbi解码器的设计方法
US7555070B1 (en) 2004-04-02 2009-06-30 Maxtor Corporation Parallel maximum a posteriori detectors that generate soft decisions for a sampled data sequence
US7447970B2 (en) * 2004-06-16 2008-11-04 Seagate Technology, Inc. Soft-decision decoding using selective bit flipping
US7197692B2 (en) * 2004-06-18 2007-03-27 Qualcomm Incorporated Robust erasure detection and erasure-rate-based closed loop power control
SE528195C2 (sv) * 2004-07-14 2006-09-19 Teliasonera Ab Metod och anordning i ett telekommunikationssystem
GB0418263D0 (en) * 2004-08-16 2004-09-15 Ttp Communications Ltd Soft decision enhancement
US7643548B2 (en) * 2004-09-27 2010-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Iterative forward-backward parameter estimation
US7577892B1 (en) 2005-08-25 2009-08-18 Marvell International Ltd High speed iterative decoder
US7861131B1 (en) 2005-09-01 2010-12-28 Marvell International Ltd. Tensor product codes containing an iterative code
US8793560B2 (en) * 2006-03-14 2014-07-29 Qualcomm Incorporated Log-likelihood ratio (LLR) computation using piecewise linear approximation of LLR functions
CN101595700B (zh) * 2006-03-14 2014-04-16 高通股份有限公司 使用llr函数的分段线性逼近的对数似然比(llr)计算
US7698624B2 (en) * 2006-03-31 2010-04-13 Trellisware Technologies, Inc. Scheduling pipelined state update for high-speed trellis processing
US7697642B2 (en) 2006-04-17 2010-04-13 Techwell, Inc. Reducing equalizer error propagation with a low complexity soft output Viterbi decoder
US7697604B2 (en) * 2006-04-17 2010-04-13 Techwell, Inc. Dual pDFE system with forward-backward viterbi
US8074155B2 (en) * 2006-09-28 2011-12-06 Broadcom Corporation Tail-biting turbo coding to accommodate any information and/or interleaver block size
US7958437B2 (en) * 2007-03-30 2011-06-07 Seagate Technology Llc MAP detector with a single state metric engine
US8111767B2 (en) * 2007-05-31 2012-02-07 Renesas Electronics Corporation Adaptive sliding block Viterbi decoder
US20090041166A1 (en) * 2007-08-09 2009-02-12 Mbit Wireless, Inc. Method and apparatus to improve information decoding when its characteristics are known a priori
US8358713B2 (en) * 2007-09-10 2013-01-22 Sarath Babu Govindarajulu High throughput and low latency map decoder
US8259868B1 (en) 2007-09-25 2012-09-04 University Of Southern California Conditionally cycle-free generalized tanner graphs based decoding
US8601355B2 (en) * 2008-05-28 2013-12-03 Texas Instruments Incorporated System and method for determining parity bit soft information at a turbo decoder output
US8321769B1 (en) 2008-11-06 2012-11-27 Marvell International Ltd. Multi-parity tensor-product code for data channel
US8255780B2 (en) * 2009-02-18 2012-08-28 Saankhya Labs Pvt Ltd. Scalable VLIW processor for high-speed viterbi and trellis coded modulation decoding
GB0915135D0 (en) 2009-08-28 2009-10-07 Icera Inc Decoding signals received over a noisy channel
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
US8489971B1 (en) * 2010-05-28 2013-07-16 Sk Hynix Memory Solutions Inc. Hardware implementation scheme to adapt coefficients for data dependent noise prediction and soft output viterbi algorithm
US20130142057A1 (en) * 2011-12-01 2013-06-06 Broadcom Corporation Control Channel Acquisition
WO2014190540A1 (zh) 2013-05-31 2014-12-04 华为技术有限公司 一种译码方法及译码器
US10333561B2 (en) * 2015-01-26 2019-06-25 Northrop Grumman Systems Corporation Iterative equalization using non-linear models in a soft-input soft-output trellis
WO2019234903A1 (ja) 2018-06-08 2019-12-12 日本電気株式会社 復号装置、復号方法、及び非一時的なコンピュータ可読媒体
CN115882873B (zh) * 2023-02-23 2023-05-23 成都星联芯通科技有限公司 低密度奇偶校验码译码方法、装置、通信设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207075A (ja) * 1992-01-24 1993-08-13 Hitachi Ltd ディジタル通信システム
US5442627A (en) * 1993-06-24 1995-08-15 Qualcomm Incorporated Noncoherent receiver employing a dual-maxima metric generation process
US5629958A (en) * 1994-07-08 1997-05-13 Zenith Electronics Corporation Data frame structure and synchronization system for digital television signal
US5583889A (en) * 1994-07-08 1996-12-10 Zenith Electronics Corporation Trellis coded modulation system for HDTV

Also Published As

Publication number Publication date
EP1388945A3 (en) 2004-06-09
EP0937336B1 (en) 2009-08-12
CN1236507A (zh) 1999-11-24
EP2034612A2 (en) 2009-03-11
ZA979958B (en) 1998-05-25
AU5104598A (en) 1998-05-29
AU722477B2 (en) 2000-08-03
ATE439705T1 (de) 2009-08-15
JP2001503588A (ja) 2001-03-13
US5933462A (en) 1999-08-03
JP3998723B2 (ja) 2007-10-31
DE69739533D1 (de) 2009-09-24
WO1998020617A1 (en) 1998-05-14
CA2270668A1 (en) 1998-05-14
EP0937336A1 (en) 1999-08-25
TW431097B (en) 2001-04-21
CA2270668C (en) 2006-06-13
EP2034612A3 (en) 2010-06-02
MY116167A (en) 2003-11-28
KR100566084B1 (ko) 2006-03-30
CN1178397C (zh) 2004-12-01
KR20000053091A (ko) 2000-08-25
EP1388945A2 (en) 2004-02-11

Similar Documents

Publication Publication Date Title
ES2330061T3 (es) Decodificador de salida de decision flexible para la descodificar palabras de codigo codificadas de manera convolucional.
US6968021B1 (en) Synchronization method and apparatus for modems based on jointly iterative turbo demodulation and decoding
Peleg et al. Iterative decoding for coded noncoherent MPSK communications over phase-noisy AWGN channel
US6813742B2 (en) High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
JP3861084B2 (ja) 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ
Kang et al. Turbo codes for noncoherent FH-SS with partial band interference
US8112698B2 (en) High speed turbo codes decoder for 3G using pipelined SISO Log-MAP decoders architecture
US20030084398A1 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
Sadjadpour Maximum a posteriori decoding algorithms for turbo codes
JP3741616B2 (ja) 畳込み符号用のソフト判定出力デコーダ
KR100390416B1 (ko) 터보 디코딩 방법
JP2001267937A (ja) 畳込み符号用のソフト出力デコーダ
Aarthi et al. Attenuation Factor approach to minimize the correlation effect in Soft Output Viterbi Algorithm
US20120246539A1 (en) Wireless system with diversity processing
Ang et al. Modification of SOVA-based algorithms for efficient hardware implementation
Chaikalis Implementation of a reconfigurable turbo decoder in 3GPP for flat Rayleigh fading
Ha et al. Performance of turbo trellis-coded modulation (T-TCM) on frequency-selective Rayleigh fading channels
Sybis et al. Simplified Log-MAP decoding with max* approximation based on the Jensen inequality
Im et al. An efficient tail-biting MAP decoder for convolutional turbo codes in OFDM systems
Gwak et al. Reduced complexity sliding window BCJR decoding algorithms for turbo codes
Brejza A joint algorithm and architecture design approach to joint source and channel coding schemes
Chei et al. Design of optimal soft decoding for combined trellis coded quantization/modulation in Rayleigh fading channel
Bera et al. Reliable Wireless Communication for Medical Devices Using Turbo Convolution Code
Sharma et al. A review on performance analysis on LOG-MAP & SOVA Decoder
Yang et al. Reliable transfer of variable-length coded correlated date: an low complexity iterative joint source-channel decoding approach