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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000005259 measurement Methods 0.000 claims abstract description 4
- 238000013459 approach Methods 0.000 claims description 9
- 238000012937 correction Methods 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims 1
- 108010076504 Protein Sorting Signals Proteins 0.000 abstract 3
- 238000003874 inverse correlation nuclear magnetic resonance spectroscopy Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 238000005562 fading Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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/3911—Correction factor, e.g. approximations of the exp(1+x) function
-
- 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
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3972—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0055—MAP-decoding
-
- 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
- H04L1/006—Trellis-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.
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.
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.
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.
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.
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
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:
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.
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)
\vskip1.000000\baselineskip
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
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
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
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.
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.
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.
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)
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)
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 |
-
1996
- 1996-11-06 US US08/743,688 patent/US5933462A/en not_active Expired - Lifetime
-
1997
- 1997-11-05 MY MYPI97005254A patent/MY116167A/en unknown
- 1997-11-05 ZA ZA9709958A patent/ZA979958B/xx unknown
- 1997-11-06 EP EP97945610A patent/EP0937336B1/en not_active Expired - Lifetime
- 1997-11-06 WO PCT/US1997/020109 patent/WO1998020617A1/en active IP Right Grant
- 1997-11-06 CA CA002270668A patent/CA2270668C/en not_active Expired - Fee Related
- 1997-11-06 AT AT97945610T patent/ATE439705T1/de not_active IP Right Cessation
- 1997-11-06 ES ES97945610T patent/ES2330061T3/es not_active Expired - Lifetime
- 1997-11-06 KR KR1019997004015A patent/KR100566084B1/ko not_active IP Right Cessation
- 1997-11-06 EP EP03021021A patent/EP1388945A3/en not_active Withdrawn
- 1997-11-06 JP JP52172498A patent/JP3998723B2/ja not_active Expired - Lifetime
- 1997-11-06 EP EP08170994A patent/EP2034612A3/en not_active Withdrawn
- 1997-11-06 CN CNB971994870A patent/CN1178397C/zh not_active Expired - Lifetime
- 1997-11-06 DE DE69739533T patent/DE69739533D1/de not_active Expired - Lifetime
- 1997-11-06 AU AU51045/98A patent/AU722477B2/en not_active Ceased
-
1998
- 1998-04-16 TW TW086116566A patent/TW431097B/zh not_active IP Right Cessation
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 |