ES2172486T3 - Descodificador de viterbi multicanal. - Google Patents

Descodificador de viterbi multicanal.

Info

Publication number
ES2172486T3
ES2172486T3 ES01120761T ES01120761T ES2172486T3 ES 2172486 T3 ES2172486 T3 ES 2172486T3 ES 01120761 T ES01120761 T ES 01120761T ES 01120761 T ES01120761 T ES 01120761T ES 2172486 T3 ES2172486 T3 ES 2172486T3
Authority
ES
Spain
Prior art keywords
data
decoder
signal
symbols
memory
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
ES01120761T
Other languages
English (en)
Other versions
ES2172486T1 (es
Inventor
John D. Kaewell, Jr.
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.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology Corp
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 InterDigital Technology Corp filed Critical InterDigital Technology Corp
Publication of ES2172486T1 publication Critical patent/ES2172486T1/es
Application granted granted Critical
Publication of ES2172486T3 publication Critical patent/ES2172486T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • 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
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • 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/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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/0046Code rate detection or code type detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
    • 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/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • 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/0072Error control for data other than payload data, e.g. control data
    • 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/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/70703Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation using multiple or variable rates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/03592Adaptation methods
    • H04L2025/03598Algorithms
    • H04L2025/03675Blind algorithms using gradient methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Power Engineering (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Transceivers (AREA)
  • Circuits Of Receivers In General (AREA)
  • Selective Calling Equipment (AREA)
  • Radio Relay Systems (AREA)

Abstract

Un decodificador para decodificar simultáneamente una pluralidad de señales de datos codificadas recibidos de forma convolucionada, teniendo al menos dos de las señales codificadas una velocidad de datos diferente, comprendiendo el decodificador: - un Circuito de Cálculo de Distancia Euclidiana que tiene una entrada configurada para recibir los símbolos I y Q no decodificados de la pluralidad de señales de datos codificadas y emitiendo distancias Euclidianas correspondientes a cada señal codificada basada en parte por los símbolos de I y Q recibidos; para cada señal de datos, un circuito de Suma-Comparación-Selección que tiene una entrada configurada para recibir estas distancias Euclidianas del canal y disponiendo estas distancias de señales de datos sobre un retículo; y - un circuito de proceso de seguimiento para seguir las decisiones en cada retículo de señal de datos para emitir los símbolos de decodificados de cada señal de datos.

Description

Descodificador de Viterbi multicanal.
Antecedentes del invento Campo del invento
El presente invento se refiere en general a las comunicaciones digitales. Más específicamente, el invento se refiere a un sistema en el que se transmiten datos a una velocidad variable de transmisión y se reciben en un receptor de comunicaciones donde los datos de velocidad variable de transmisión se descodifican en un descodificador multicanal eficiente de datos de múltiples velocidades de transmisión.
Descripción de la técnica anterior
La tecnología de telecomunicaciones más avanzada en la actualidad hace uso de la modulación de espectro ampliado o acceso múltiple con división de código (en adelante CDMA) para telecomunicaciones punto a multipunto. Desde la década de los 50, se ha utilizado el CDMA en aplicaciones militares, debido a la dificultad de detectar y perturbar la transmisión de comunicaciones. Este atributo se debe a una técnica de comunicación sin hilos que utiliza un ancho de banda de transmisión modulada mucho mayor que el ancho de banda de información de la señal transmitida.
En la Figura 1 se muestra un esquema simplificado de comunicación CDMA. Un canal único de comunicación de un ancho de banda determinado se mezcla con un código de ampliación. La señal modulada de banda relativamente estrecha se amplía secuencialmente para ocupar un ancho de banda trasmitida mucho más amplio mediante la multiplicación con un código único de ampliación. El código de ampliación comprende una secuencia o un código seudoaleatorios de alta velocidad de transmisión similares a ruido, que se convierten en parte de los datos transmitidos. La apariencia similar al ruido de bajo nivel de la señal resultante transmitida es tal, que no es probable que interfiera con otros usuarios del espectro.
En el receptor, la señal se reduce mediante la correlación de la señal recibida de banda ancha con una secuencia idéntica seudoaleatoria generada localmente para resolver los datos de una pluralidad de señales de datos que ocupan el mismo ancho de banda de transmisión. Esto disminuye intensamente la señal volviéndola a su ancho de banda original, y también amplía cualesquiera señales de radio de banda estrecha presentes en el espectro ocupado, de modo que ahora aparecen como ruido que entra al receptor. Mediante la utilización de muchas secuencias seudoaleatorias diferentes de código, se pueden acomodar múltiples usuarios dentro del mismo espectro de transmisión.
Las mismas características que han permitido que las técnicas CDMA de comunicación hayan tenido éxito en las aplicaciones militares han hecho de uso obligatorio los sistemas de comunicación CDMA, en particular los sistemas B-CDMA^{R} de acceso múltiple con división de código de banda ancha para la utilización eficiente del poblado espectro de frecuencias de la radio comercial. Entre los muchos atributos del sistema CDMA se encuentra su capacidad prácticamente ilimitada. Como cada usuario de un sistema de comunicación CDMA transmite y recibe señales sobre el mismo ancho de banda de transmisión, hay requisitos menos rigurosos de banda de protección y canalización. A diferencia de los sistemas FDMA y TDMA, cuya capacidad está limitada por el número de canales discretos, la capacidad de los sistemas CDMA está limitada por interferencia. En consecuencia, aumenta significativamente el número de usuarios capaces de comunicar simultáneamente sobre ese ancho de banda determinado de transmisión.
Además de información de voz, se puede transmitir al receptor información no vocal, sola o una combinación de las dos. Ciertos estándares de comunicaciones como la red digital de servicios integrados (en adelante ISDN) requieren una velocidad de transmisión de datos mucho mayor que la voz digitalizada. Para optimizar el sistema de comunicación, se transmiten varias velocidades de datos con el fin de aumentar la relación señal/ruido (en adelante SNR) a todos los receptores.
Una medida del comportamiento del espectro ampliado es la ganancia de proceso del sistema, G_{p,}, que viene determinada por la relación entre la velocidad de transmisión de bits de canal y la velocidad de transmisión de bits de información, R_{c}/R_{i}. Las relaciones señal/ruido entre la entrada y la salida vienen determinadas por:
(Ecuación 1)\frac{S}{N_{0}}=G_{p}*\left(\frac{S}{N_{0}}\right)_{i}
De la ecuación 1 se deduce que cuanto mayor sea la velocidad de transmisión de datos, más interferencia se producirá, lo que deteriorará la relación señal/ruido. La reducción de interferencia se traduce directamente en un aumento de capacidad.
La mayoría de los sistemas de telecomunicaciones CDMA transmiten datos de velocidad variable de transmisión para mantener la SNR en el máximo valor posible. Para lograrlo, o bien se identifica la velocidad de transmisión de datos dentro del mensaje de control de nivel del sistema que es parte del canal de señal, o bien un receptor determinado debe ser capaz de detectar la velocidad de los datos transmitidos.
Puesto que hay muchos usuarios que comparten este mismo canal de transmisión espectral, se puede inducir interferencia de uno a otro usuario cuando no hay suficiente aislamiento de código entre los usuarios. Más aún, debe conocerse la velocidad de transmisión de datos antes de la descodificación convolucional de la corrección de error en el transmisor o en el receptor.
La mayor parte de los receptores de la técnica anterior hacen uso de descodificadores independientes de circunvolución de una sola velocidad de transmisión, para reconstruir adecuadamente los datos digitales una vez recibidos y reducidos. Como se transmite información de velocidad de transmisión de datos para cada cuadro, el receptor no tiene que determinar a partir del cuadro recibido de datos la velocidad de transmisión a la que se codificaron los datos, disminuyendo de ese modo la complejidad del receptor y aumentando la velocidad global del sistema. Sin embargo, el uso de descodificadores convolucionales dedicados a cada velocidad de transmisión de datos transmitidos reduce el rendimiento total del proceso y aumenta los costes del sistema.
El documento WO-A-95-08888 describe un descodificador Viterbi para procesar una corriente de datos que tiene una velocidad de transmisión de datos desconocida. El descodificador descodifica simultáneamente la corriente de datos a múltiples velocidades de transmisión de datos. Un procesador determina qué velocidad de transmisión de datos descodificada es la velocidad correcta de transmisión de datos.
El documento EP- A- 0 712 219 describe una solución para determinar una velocidad preferida de transmisión de datos de un canal. Los datos se transmiten sobre el canal a cuatro velocidades de transmisión de datos. Cuatro descodificadores Viterbi descodifican cada velocidad de transmisión de datos. Se determinan los errores en cada señal recibida de velocidad de transmisión de datos, y se selecciona una velocidad óptima de transmisión de datos para el canal.
El presente invento está relacionado con un sistema de comunicación en el que la velocidad de transmisión de datos de una transmisión determinada se codifica mediante un transmisor y luego se utiliza para ajustar una pluralidad de descodificadores convolucionales que comparten una memoria común. El sistema utiliza recursos comunes de proceso para proporcionar hasta cuatro canales discretos que tienen descodificación convolucional de múltiples velocidades con corrección de error, lo que resulta en una menor área de silicio y en un funcionamiento a baja potencia. El sistema es capaz de soportar comunicación de voz a 8 kb/s hasta 64 kb/s para comunicación ISDN de alta velocidad de transmisión. Aunque el presente invento se puede utilizar en una variedad de sistemas de comunicación, los sistemas de comunicación preferidos incluyen teléfonos celulares o portátiles, PCS, comunicación sin hilos de bucle local y comunicación CDMA. El presente invento puede usarse en los receptores de emplazamientos tanto de estación base como de unidad de consumidor.
De acuerdo con lo anterior, un objeto del presente invento es proporcionar un descodificador convolucional eficiente de múltiples velocidades de transmisión para aplicaciones multicanal.
Un objeto adicional del invento es proporcionar una arquitectura de descodificador convolucional multicanal de menor complejidad y mejores prestaciones.
Otros objetos y ventajas del sistema y del método resultarán evidentes para los expertos en la técnica tras la lectura de la descripción detallada de la realización preferida.
Sumario del invento
El presente invento proporciona un descodificador para descodificar una pluralidad de señales codificadas convolucionalmente de acuerdo con la reivindicación 1, y un método de descodificar de acuerdo con la reivindicación 16. Los aspectos preferidos adicionales se proporcionan de acuerdo con las reivindicaciones subordinadas.
De acuerdo con lo anterior, un objeto del presente invento es proporcionar un descodificador convolucional eficiente de múltiples velocidades de transmisión para aplicaciones multicanal.
El objeto adicional del invento es proporcionar una arquitectura de descodificador convolucional multicanal de menor complejidad y mejores prestaciones.
Otros objetos y ventajas del sistema y del método resultarán evidentes para los expertos en la técnica tras la lectura de la descripción detallada de la realización preferida.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques de un sistema típico de comunicaciones CDMA de la técnica anterior.
La figura 2 es un diagrama detallado de bloques de un sistema de comunicaciones CDMA.
La figura 3a es la primera sección de un diagrama detallado de bloques de la realización preferida.
La figura 3b es la segunda sección de un diagrama detallado de bloques de la realización preferida.
La figura 4 es un diagrama global de bloques de la realización preferida.
La figura 5 es un diagrama de bloques de la interfaz entre un procesador central de señal digital y la realización preferida.
La figura 6 es un diagrama de la constelación de manipulación para cambio fase-cuadratura (en adelante QPSK).
La figura 7 es un diagrama detallado de bloques de un canal de "suma- comparación-selección".
La figura 8a es la primera sección de un diagrama de flujo del secuenciador de "suma-comparación-selección".
La figura 8b es la segunda sección de un diagrama de flujo del secuenciador de "suma-comparación-selección".
La figura 9 es un diagrama detallado de bloques del secuenciador de "suma-comparación-selección".
La figura 10 es un diagrama de flujo del procedimiento de retrolocalización.
La figura 11 es un diagrama de flujo del proceso de velocidad de transmisión de errores de bit.
La figura 12 es una representación gráfica del comportamiento de la velocidad de transmisión de errores de bit (en adelante BER) en función de la relación señal/ruido.
Descripción detallada de la realización preferida
El presente invento se describe con referencia a las figuras de los dibujos, en las que los números análogos representan elementos análogos en toda su extensión.
El descodificador Viterbi multicanal de múltiples velocidades de transmisión construido de acuerdo con el presente invento se ha realizado dentro del contexto de un sistema CDMA 17 de teléfono celular. Tales descodificadores se usan en estaciones multicanal de comunicaciones sin hilos con la recepción de señales de comunicación. El sistema (17) como se muestra en la Figura 2 incluye un transmisor (19) y un receptor (21), que pueden estar instalados o bien en un receptor de estación base o en un receptor de usuario móvil.
El transmisor (19) incluye un procesador de señal (23) que codifica datos (25) de voz y no vocales en cuadros de diversas velocidades de transmisión de datos, por ejemplo, cuadros de velocidades de 8 kb/s, 16 kb/s, 32 kb/s o 64 kb/s. El procesador de señal (23) selecciona una velocidad de transmisión que depende de la cantidad de actividad de voz, si los datos son de voz, o en respuesta a una velocidad establecida de transmisión de datos.
En la generación de una señal transmitida en un entorno de acceso múltiple están implicadas dos etapas. En primer lugar, los datos (25) de entrada que se pueden considerar como una señal modulada bifásica se codifican utilizando codificación "con corrección de error directo" (en adelante FEC) (27). Como se usa un código de convolución R = 1/2, la señal única bifásica modulada de datos se convierte en dos señales bifásicas moduladas. Una señal se designa como el canal I de señal en fase. La otra señal se designa como el canal de señal en cuadratura Q. Al conjunto de las dos señales bifásicas moduladas I y Q se hace referencia usualmente como "manipulación para cambio de señal en fase a señal en cuadratura" (QPSK). En la realización preferida, los polinomios (29, 31) de generador de derivaciones para una longitud restringida de K=7 y una velocidad de transmisión de código convolucional de R=1/2 son:
G_{1} = 171_{8} \ y \ G_{2}= 133_{8}
En la segunda etapa, los dos datos o símbolos bifásicos modulados (33a, 33b) se amplían con las secuencias seudoaleatorias QPSK en fase (35a) (I) y en cuadratura (Q) (35b). Las señales ampliadas resultantes I (37a) y Q (37b) se mezclan con una frecuencia de portadora (43), se combinan en (45) con otras señales ampliadas (canales) que tienen diferentes códigos de ampliación, y se transmiten en (47). La transmisión (47) puede contener una pluralidad de canales individuales que tengan diferentes velocidades de transmisión de datos.
El receptor (21) incluye un desmodulador (49a, 49b) que mezcla la señal transmitida (47) de banda ancha en una frecuencia intermedia de portadora (51a, 51b). Las señales QPSK se filtran a continuación (53) y se mezclan (55a, 55b) con el código seudoaleatorio (35a, 35b) generado localmente, que se adapta al código transmitido. Solamente se reducirán de modo efectivo las formas de onda originales que se ampliaron por el mismo código en el transmisor (19). Las otras señales aparecerán como ruido al receptor (21). Los datos (57a, 57b) se pasan luego a un procesador (59) de señal, donde se lleva a cabo la descodificación FEC en los datos codificados de forma convolucional.
El presente invento (61) realiza la descodificación usando un eficiente descodificador Viterbi multicanal (61) de varias velocidades de transmisión, como se muestra en las Figuras (3a) y (3b). El descodificador (61) comprende un procesador de señal digital (en adelante DSP) que entra a la interfaz (63) de descodificador Viterbi, una calculadora común (65) de distancia euclídiana, una pluralidad de canales (67a,67b,67c) y (67d) (ACS) de suma-comparación-selección, una agrupación (69) de memorias de valores métricos de estado, un secuenciador de ACS 71, una agrupación (73) de memorias de retrolocalización, un procesador (75) de retrolocalización y un descodificador a la interfaz (77) de sistema. El sistema como se muestra en las Figuras (3a) y (3b) se puede ensamblar en forma discreta, o bien realizarse como un eficiente circuito integrado específico de aplicación (en adelante ASIC) (79).
En la realización preferida, uno cualquiera de los cuatro canales (0,1,2 y 3) del descodificador (61) puede procesar una pluralidad de velocidades de transmisión de datos: 8 kb/s, 16 kb/s, 32 kb/s o 64 kb/s. En realizaciones alternativas se pueden usar otras velocidades de transmisión de datos. Las velocidades de datos de valor menor se consiguen mediante la habilitación de una función combinadora de diversidades de factores de multiplicación que trabaja sobre símbolos recibidos de modo redundante. Esto aumenta de forma efectiva la SNR de las señales recibidas de diversidad de factores de multiplicación. Para aquellos símbolos en cuadros correspondientes a velocidades de transmisión de datos menores que la máxima velocidad esperada de transmisión de datos, los datos de símbolo se repiten para mantener una velocidad constante de transmisión del símbolo para el cuadro.
Para la velocidad de transmisión de datos de 64 kb/s, se envía un símbolo QPSK cada 15,625 \mus. Para la velocidad de transmisión de datos de 32 kb/s, el correspondiente símbolo QPSK se envía dos veces a través de un canal. Los símbolos se envían todavía en la velocidad de transmisión de datos de 64 kb/s, pero con doble redundancia, reduciendo de ese modo de forma efectiva la velocidad de transmisión de información a 32 kb/s. Para una velocidad de transmisión de datos de 16 kb/s, los correspondientes símbolos QPSK se envían a través del canal con diversidad de un factor de multiplicación igual a 4. Para un canal de datos de 8 kb/s, se utiliza una diversidad con un factor de multiplicación igual a 8.
Refiriéndose a las Figuras (3a) y (3b), el descodificador multicanal (61) comparte recursos comunes para minimizar el área de silicio. Como se muestra en la figuras, la memoria de valores métricos de estado (69) y la memoria de retrolocalización (73) son de acceso aleatorio estático (en adelante SRAM) y se utilizan comúnmente para cada canal. Se aumenta adicionalmente el rendimiento con la calculadora común (65) de geometría de distancia euclidiana, que calcula el cuadrado de la distancia euclidiana entre el símbolo QPSK recibido y los cuatro puntos posibles de constelación en el espacio QPSK para los cuatro canales.
La arquitectura del sistema como se muestra en las figuras implementa el algoritmo de Viterbi y descodifica los datos codificados convolucionalmente. Los polinomios de generador de derivación que corresponden para una longitud restringida de K=7 y una velocidad de transmisión de código de R=1/2 son G_{1}= 171_{8} (29) y G_{2} = 133_{8} (31). Debe entenderse que se pueden utilizar otros polinomios de generador de derivación en realizaciones alternativas, dependiendo de diferentes longitudes restringidas y códigos de velocidad de transmisión. Por ejemplo, para una longitud restringida de K= 9 y una velocidad de transmisión de código de R=1/2, los polinomios de generador de derivación son G_{1} = 753_{8} y G_{2} = 561_{8}. El uso de generadores de derivación es bien conocido para los expertos en telecomunicaciones, y se emplean en el codificador FEC 27.
En la Figura 4 se muestra una arquitectura global del sistema. Un microcontrolador central (81) programa un módulo de control y temporización (83) (en adelante TCM) situado en el ASIC (79) por medio de líneas (85) de datos de microcontrolador, líneas (87) de acceso y marcador 89 de escritura. El microcontrolador (81) determina, a partir del cuadro transmitido, el factor de diversidad de factor de multiplicación para un canal determinado. La combinación de diversidades se controla afirmando y negando selectivamente las señales (91a), (91b), (91c) y (91d) de combinación de diversidades para los canales 0 a 3 respectivamente. Una salida (93) de datos sale de un DSP central (95) y transporta las señales I y Q para los cuatro canales a la interfaz (63) de descodificador Viterbi. El DSP central (95) que activa a la señal (97) y las líneas (99) de acceso está acoplado también a la interfaz (63) de descodificador Viterbi. El microcontrolador central (81) controla cada señal (91a), (91b), (91c) y (91d) de combinación de diversidades. El DSP central (95) controla los datos (93) de canal individual que entran a la interfaz (63) de descodificador.
El TCM (83) acepta una señal de referencia de alta frecuencia (103) derivada externamente para la temporización global del sistema. El TCM (83) utiliza la señal de referencia (103) y deriva unas señales de alta frecuencia (105) de vaciado y (107) de reloj Viterbi. El TCM (83) produce también una reposición global (109) del descodificador.
La velocidad de transmisión de datos de un canal particular se disminuye mediante el microcontrolador (81) que activa la respectiva señal combinadora de diversidades (91a), (91b), (91c) y (91d). Para una velocidad de transmisión de datos de (32) kb/s, se combinan dos símbolos adyacentes; para una velocidad de transmisión de datos de 16 kb/s, se combinan cuatro símbolos, y para una de 8 kb/s, se combinan ocho símbolos.
La realización preferida usa la diversidad de factores de multiplicación para procesar los datos de múltiples velocidades de transmisión. A una velocidad de transmisión de datos de 64 kb/s se usa cada bit individual transmitido. Sin embargo, a la velocidad mínima de transmisión de datos, 8 kb/s, cada bit se duplica por un factor de 8. Cuando se procesa a la mínima velocidad de transmisión de datos, los símbolos redundantes simplemente se suman juntos. Como se ha expuesto en los antecedentes del invento, cada vez que se envía un símbolo a través de un canal respectivo se reciben una ganancia y cifra de ruido determinadas. Por tanto, si se envía dos veces la misma señal a través del canal, la relación señal/ruido (SNR) se ha duplicado efectivamente. La razón estriba en que los símbolos redundantes se suman coherentemente, mientras que el ruido aleatorio introducido no se suma coherentemente. Desde la máxima velocidad de transmisión de datos de 64 kb/s hasta la mínima de 8 kb/s la ganancia de la señal se multiplica efectivamente por un factor de 8.
Mediante la disminución de la velocidad de transmisión de bits de datos y la utilización de la diversidad de factores de multiplicación, se puede disminuir de modo conmensurable la potencia de transmisión de señal, puesto que la ganancia se recuperará cuando se ensamblen los diversos símbolos. Con el uso de la combinación de diversidades se logran menores velocidades de transmisión de datos sin sufrir efectos perjudiciales para menores relaciones señal/ruido.
Para la máxima salida de datos de 64 kb/s, se debe desactivar la función de combinación de diversidades, lo que se realiza manteniendo elevadas las señales combinadoras de diversidad (91a), (91b), (91c) y (91d) para ese canal particular. Cuando el descodificador multicanal (61) funciona a bajas velocidades de transmisión de datos, las señales combinadoras de diversidad (91a), (91b), (91c) y (91d) controlan qué símbolos adyacentes se combinan, cuándo se activa el descodificador, y cuándo se libera la interfaz para un nuevo conjunto de símbolos.
Como se muestra en la Figura 5, la interfaz (63) de descodificador acepta dos muestras de cumplimiento I y Q de 8 bits sobre el bus de datos (93) del DSP central (95). Los datos procedentes del DSP central (95) se hacen entrar en el bus de datos 93 a un descodificador de accesos. El bus de datos (93) es un bus de entradas en paralelo, pero los datos llegan en forma secuencial entre los cuatro canales. A continuación, los datos se separan en los componentes individuales de señal en fase y señal en cuadratura para cada canal, y salen a cada circuito de vaciado y de integración de saturación (113I), (113Q), (115I), (115Q), (117I), (117Q), (119I) y (119Q) sobre las líneas (121I), (121Q), (123I), (123Q), (125I), (125Q), (127I), y (127Q), para los canales 0 a 3 respectivamente. La interfaz 63 incluye acumuladores de 8 bits que tienen lógica de saturación. El máximo valor positivo de saturación es 0x7f_{16}, y el máximo valor negativo de saturación es 0x80_{16}.
En la interfaz (63) de descodificador Viterbi, la combinación de diversidades de factores de multiplicación se realiza utilizando dos operaciones binarias de cumplimiento. Todas las muestras redundantes I y Q se suman cuando se trabaja a las velocidades de transmisión de datos más bajas. Similarmente, se usan sumadores de saturación para eliminar el cambio de signo si se produce un exceso de capacidad. En lugar de que la función combinadora de diversidades resida en un circuito integrado separado del DSP, se ha incluido en el ASIC la característica "según especificaciones del cliente". Una vez que se ha realizado la función combinadora de diversidades, los resultados se introducen como salidas en las líneas (129I), (129Q), (131I), (131Q), (133I), (133Q), (135I) y (135Q) para los canales 0 a 3 respectivamente. Los circuitos de vaciado y de integración de saturación controlan también las líneas de activación (137a), (137b),(137c) y (137d) de la calculadora de distancia euclidiana (65) para los canales 0 a 3 respectivamente.
Refiriéndose de nuevo a las Figuras 3a y 3b, todos los procesadores internos del descodificador multicanal (61) están sincronizados con el reloj Viterbi (107). El DSP central (95) se sincroniza mediante su propio reloj asíncrono (no mostrado). El reloj del DSP y la señal de vaciado (105) se resincronizan con respecto al reloj Viterbi (107). El descodificador (61) requiere que el reloj Viterbi (107) deba ser marginalmente más rápido que la señal de vaciado (105).
Todos los canales se acoplan desde la interfaz (63) de descodificador a la calculadora de distancia euclidiana (65) en líneas individuales I y Q y líneas individuales de activación, como se muestra en la Figura 4. Con referencia a la Figura 3a, la calculadora de distancia euclidiana (65) calcula los cuatro cuadrados de las distancias euclidianas entre cada símbolo recibido I y Q y los cuatro puntos posibles de constelación QPSK. Una calculadora común calcula las distancias para cada canal solamente cuando la activan sus respectivos canales.
Como se muestra en la Figura 6, la calculadora de distancia euclidiana (65) compara todos los símbolos recibidos p por canal representando sus correspondencias en una constelación x_{00}, x_{01}, x_{10} y x_{11}. Es necesario examinar cada punto recibido p debido a la corrupción durante la transmisión (47) por ruido y distorsión, ya sea de frecuencia multicamino o de radiofrecuencia. La calculadora geométrica 65 calcula las cuatro distancias d_{00}, d_{01}, d_{10} y d_{11} desde el símbolo recibido p y elige la mínima distancia d_{00}.
El mecanismo activador utilizado se basa en la velocidad de transmisión de los datos transmitidos para un canal particular. Se obtiene una ganancia en el rendimiento total del proceso, puesto que los cálculos se realizan en la calculadora de distancia euclidiana (65) solamente si se le ha entregado un nuevo símbolo I y Q y se ha activado adecuadamente la citada calculadora (65). El rendimiento aumenta, puesto que no se desecha ningún cálculo cuando se procesan datos de las velocidades de transmisión más bajas.
Refiriéndose de nuevo a las Figuras 3a y 3b, una vez calculadas las distancias euclidianas, las salidas discretas de 12 bits (139a),(139b),(139c) y (139d) para cada canal junto con las señales activadoras asociadas (141a),(141b),(141c) y (141d) se acoplan en serie a cuatro circuitos discretos ACS (67a), (67b), (67c) y (67d), donde se representan las correspondencias de las distancias euclidianas en un diagrama Trellis basado en el codificador. El uso de un esquema de Trellis para descodificar datos FEC codificados convolucionalmente es bien conocido para los familiarizados con la técnica.
El presente invento normaliza cada símbolo y calcula la mínima distancia Trellis utilizando lógica de saturación. A cada símbolo transmitido que se haya recibido recientemente se le añaden los datos anteriores de valores métricos de estado. Cada punto individual de datos por canal desarrolla y actualiza el diagrama Trellis. Los datos de valores métricos de estado se leen de la memoria (69) de valores métricos de estado. Los circuitos ACS (67a), (67b), (67c) y (67d) implementan el algoritmo Viterbi. El descodificador de máxima probabilidad se basa en el diagrama Trellis, que es una réplica infinita de un diagrama de estado. Cualquier palabra de código de un código convolucional corresponde a los símbolos a lo largo de un camino en el diagrama Trellis. En cada estado y en cada nivel del diagrama Trellis está implicada una operación del ACS. La implementación de un descodificador basado en el algoritmo Viterbi requiere el almacenamiento de dos conjuntos de datos diferentes. El primer almacenamiento es para la memoria 69 de estado de camino o memoria de valores métricos actualizada para cada nivel sucesivo del diagrama Trellis. El segundo conjunto de datos lo constituyen las selecciones de cada nodo o estado en el diagrama Trellis, denominada memoria (73) de camino.
En la técnica anterior, cada respectivo descodificador o circuito ACS requeriría el almacenamiento individual para los dos conjuntos de datos. En el presente invento, tanto la agrupación de memoria (69) de valores métricos como la de memoria (73) de camino están consolidadas en una memoria común para cada canal de una manera original, con el fin de reducir significativamente el tamaño del área de silicio. Asimismo, la transmisión común de accesos y datos se combina adicionalmente, aumentando el rendimiento. Los datos de valores métricos de estado se escriben en (143a), (143b), (143c) y (143d), y se leen de la memoria (69) de valores métricos de estado en (145a), (145b), (145c) y (145d).
Hay dos posibles caminos de Trellis que terminan en cada estado. En los circuitos ACS (67a), (67b), (67c) y (67d) se realiza una operación de depuración, donde el mejor valor métrico termina en un estado dado. El mejor valor métrico se determina eligiendo la mínima distancia acumulada de Trellis. El camino elegido, superior o inferior, viene representado por 0 o por 1, respectivamente. Esta información se escribe en la memoria de retrolocalización (73) en las líneas (149a), (149b), (149c) y (149d).
El diagrama Trellis se ensambla sobre muchos símbolos recibidos. La realización preferida requiere 35 símbolos en tiempo discreto, y se actualiza tras la recepción de cada símbolo sincronizado. Después de haberse acumulado 35 símbolos, una determinación halla el camino Trellis que tenga el error mínimo. Este método de descodificación determina qué símbolo QPSK se ha transmitido. La estructura de Trellis introduce redundancia y acumula la historia anterior.
En la Figura 7 se muestra un circuito de ACS (67a) para el canal 0. Cada símbolo nuevo que representa un punto de constelación QPSK es la entrada (139a). Puesto que cada nodo en el diagrama Trellis tiene dos caminos que entran y salen, los valores se escinden y seleccionan basándose en el estado actual en el diagrama Trellis y en lo que se ha codificado. Cada valor de constelación se introduce como entrada en multiplexadores separados de 4 entradas (189u,1891). La salida (191u,1911) de cada multiplexador (189u,1891) se basa en el presente estado en el diagrama Trellis y en el codificador. Esta decisión (153a) se origina en el secuenciador de ACS (71) que se describe posteriormente en la presente memoria. El valor métrico de estado (145a) se lee de la memoria (69), se escinde similarmente para los caminos superior e inferior, y se introduce como entrada en los flip-flops especulares de 8 bits (193u y 1931). Las salidas de los flip-flops (193u y 1931) entran en los sustractores de saturación (197u y 1971) con el mejor valor métrico anterior (201), y se combinan con el nuevo valor de símbolo (191u y 1911) con los sustractores de saturación (199u y 1991). Ambos caminos superior e inferior de cada nodo de diagrama Trellis se comparan con un comparador 203 de magnitud de 8 bits. Cada canal ACS procesa 64 estados de diagrama Trellis para cada símbolo particular. Se examina cada camino para determinar qué distancia o trayectoria es la más corta. Ambos caminos superior e inferior (205u) y (2051) se introducen como entradas en un multiplexador (207) de 2 entradas, en el que se elige la distancia o valor métrico de estado mínimos (145a) y se guarda en la memoria (209). Este valor se utiliza para normalización con la próxima entrada de símbolo. En el presente invento se normalizan a posteriori todas las entradas para cada operación.
En la técnica anterior, la normalización se realizaba típicamente sobre una base de bloque o después de haberse procesado muchos símbolos de información. Sin embargo, mediante la normalización a posteriori después de elegirse cada valor métrico de estado, el rendimiento mejora notablemente. Esta post-normalización requiere lógica de saturación, puesto que el proceso de normalización puede dar lugar a exceso de capacidad. Si no se emplease dicha lógica, el número podría rebosar al final y el número binario podría variar drásticamente con respecto al valor deseado. El sistema no puede determinar si el valor es realista. Utilizando lógica de saturación, el valor por último corresponde a un punto de aplanamiento.
Como cada nodo del diagrama Trellis tiene dos caminos que terminan en él y dos caminos que se originan en él, el proceso se va depurando constantemente. El diagrama Trellis representa los valores métricos para dos caminos, en los que una decisión elige un camino que se base en la distancia más corta. El mejor camino o el mejor valor métrico se guardan en la memoria (69) de valores métricos de estado, y el bit de camino o de decisión se guardan en la memoria de retrolocalización (149a,149b,149c) y (149d).
Al comenzar un símbolo, cada canal ACS (67a, 67b, 67c) y (67d) recibirá una señal de comienzo de descodificador (141a, 141b, 141c) y (141d) para inicializar el canal. Como se ha descrito anteriormente, el valor ganador de la operación de depuración que se guardó en la memoria se confronta con el primero; si el segundo valor ganador es menor que el primero, entonces se escoge ese valor particular como el mejor valor métrico. Esta operación es similar para las 63 salidas restantes del diagrama trellis.
La dependencia histórica de los símbolos a medida que entran en un descodificador Viterbi acumula energía de los muchos símbolos dando lugar a una ganancia muy elevada. La ganancia de energía se basa en la integración de la energía de más de 35 símbolos, lo que en efecto estrecha el ancho de banda.
La secuencialización del funcionamiento de los circuitos (67a, 67b, 67c) y (67d) del ACS se controla mediante el secuenciador ACS (71) sobre las líneas (151a, 151b, 151c) y (151d). Se utiliza un solo secuenciador ACS (71) para controlar los circuitos individuales de ACS (67a, 67b, 67c) y (67d) para cada canal que se descodifica. Cuando un canal particular no se ha activado (141a, 141b, 141c) y (141d), bien debido a una velocidad más baja de transmisión de datos o si el canal está vacante, las operaciones de escritura a las memorias de valores métricos 69 y de camino 73 para ese canal particular se inhiben a través de las líneas (153a,153b,153c) y (153d).
El secuenciador ACS (71) controla todo el funcionamiento del presente invento. Su función es similar a la de un equipo de estado. Sin embargo, en lugar de utilizar un dispositivo programable y un código ejecutable de descarga que normalmente se ven en la técnica anterior, el secuenciador ACS (71) se ejecuta estrictamente en hardware, dando lugar a un rendimiento inesperado.
El funcionamiento del secuenciador ACS (71) es similar al de un contador accionado por un contador, y controla los cuatro circuitos independientes de ACS (67a), (67b, 67c) y (67d) en paralelo con una memoria común (69). El secuenciador de ACS (71) funciona también como un procesador de agrupaciones de rebanadas de bits. En las Figuras (8a) y (8b) se muestra un diagrama de flujo para el secuenciador de ACS (71). Tras la inicialización (etapa 401), el secuenciador de ACS (71) establece una cuenta de base que es igual a cero (etapa 403). Puesto que un secuenciador es esencialmente un contador, se requiere un camino de retorno para contar (etapa 415). Una decisión (etapa 405) determina si el proceso se ha completado dependiendo del incremento desde 0 hasta 127, contrastando las 64 operaciones de lectura y las 64 operaciones de escritura de los diagramas Trellis. El secuenciador se sincroniza a la velocidad Viterbi que acciona el acceso (etapas 411, 419, 425 y 429) y secuencialización de los accesos, y la secuencialización de las operaciones de lectura (etapas 413 y 421) y escritura (etapas 427 y 431). El secuenciador de ACS (71) procesa cada canal de ACS (67a, 67b, 67c) y (67d) en paralelo con una memoria común (69).
La agrupación (69) de memoria de valores métricos de estado tiene 64 bits de anchura y está dispuesta en un segmento "ping" y en un segmento "pong". Los primeros 32 bits de la palabra de 64 bits son el segmento "ping" y los segundos 32 bits son el segmento "pong". Cada uno de los segmentos de 8 bits del segmento de 32 bits representa un canal diferente (0,1,2 y 3). Cuando el secuenciador de ACS (71) está leyendo del segmento "pong", está escribiendo en secuencia en el segmento "ping". El secuenciador lee del "ping" y escribe en el "pong", y, con el próximo símbolo, lee del "pong" y escribe en el "ping". Este método de acceso compartido de memoria es conocido para los expertos en la técnica.
El secuenciador de ACS (71) manipula cuatro canales que pueden estar procesando datos a diferentes velocidades de transmisión de datos, de tal manera que dicho secuenciador 71 puede estar leyendo del "ping" para el canal 0, leyendo del "pong" para el canal 1, sin efectuar ninguna lectura ni escritura para el canal 2, y leyendo del "ping" para el canal 3. Este método de acceso de memoria es extremadamente flexible, lo cual se logra porque cada canal tiene una señal asignada de comienzo (141a, 141b, 141c) y (141d).
El secuenciador de ACS (71) accede a la agrupación (69) de memorias de valores métricos de estado y a cada circuito de ACS (67a, 67b, 67c) y (67d) examinando la cuenta de base (etapa 405) y observando los dos bits menos significativos (en adelante LSB) de la cuenta de base (etapa 407). Los dos primeros estados de la secuencia son siempre operaciones de lectura (etapas 413 y 421), y los dos últimos estados de la secuencia son operaciones de escritura (etapas 427 y 431). Las operaciones de escritura envían los resultados a la memoria (69) de valores métricos de estado.
Como se muestra en la Figura 9, la implementación del secuenciador de ACS (71) se realiza con un hardware mínimo. El contador (211) proporciona a la cuenta base los flip-flops (213a, 213b, 213c, 213d, 215a, 215b, 215c) y (215d) que proveen las operaciones de cambio y la escritura y lectura para los cuatro canales de datos variables de velocidad de transmisión. Un multiplexador (217) de 4 entradas activa los accesos de valores métricos de estado para todos los canales.
La agrupación (69) de memorias de valores métricos de estado tiene suficiente capacidad de almacenamiento para 64 valores métricos de estado por canal. Para facilitar la lectura de (145a,145b,145c) y (145d) y la escritura en (143a,143b,143c) y (143d) en la agrupación (69) de memorias de valores métricos de estado, la estructura "ping-pong" para la memoria facilita ambas operaciones durante las operaciones individuales de ACS coordinadas por el secuenciador ACS (71) sobre la línea "ping-pong" (155) y bus de accesos (157). La capacidad total de la agrupación SRAM (69) de memorias de valores métricos de estado es de 4.096 bits.
La agrupación de memorias de retrolocalización (73) se utiliza para registrar qué camino ha sobrevivido en cada estado para cada símbolo descodificado. Puesto que un diagrama Trellis es en teoría una réplica infinita de un diagrama de estado, se necesitaría una cantidad infinita de memoria para registrar toda la información para cada símbolo transmitido. Sin embargo, la historia de la retrolocalización se mantiene únicamente para 35 símbolos consecutivos y se sobrescribe de los circuitos de ACS (67a, 67b, 67c) y (67d) sobre las líneas (149a, 149b, 149c) y (149d). La memoria de retrolocalización (73) requiere 8.960 bits de SRAM organizados en una agrupación de 32 x 280. La retrolocalización tiene una profundidad de 35 símbolos; por tanto, antes de que se dé salida a un símbolo descodificado, ha tenido lugar una acumulación de 35 símbolos de información. El símbolo de entrada que produce una salida determinada ha ocurrido 35 símbolos antes en el tiempo.
La memoria de retrolocalización (73) está dispuesta como un circuito separador circular. Cada vez que se escribe un símbolo nuevo a la memoria de retrolocalización (73), todos los símbolos guardados anteriormente se desplazan, descartando el valor de símbolo más antiguo. La memoria requerida se basa en la regla de 5 veces la longitud restringida, por lo que se necesitan 35 símbolos de memoria para una longitud restringida K = 7.
En la Figura 10 se muestra el funcionamiento de la memoria de retrolocalización. El procesador de retrolocalización (75) es una operación recurrente similar a la del procesador de ACS (71), en el sentido de que se inicializa un contador (etapa 501) y se configura (etapa 503) asignando un valor de (34) como se ha descrito anteriormente (5 veces la longitud restringida). A continuación se asigna el mejor valor métrico local al mejor valor métrico (etapa 505). Se debe tomar una decisión si la cuenta de retrolocalización es igual a 0 (etapa 507). Si es así, el proceso se ha acabado (etapa 531) y es conocida la trayectoria que fue más probable, y el descodificador da como salida un bit (etapa 529). Si la cuenta de retrolocalización no es igual a 0, la operación vuelve a empezar hasta llegar al mejor valor métrico.
Como se pueden procesar cuatro velocidades diferentes de transmisión de datos, la memoria de retrolocalización (73) se consume de acuerdo con ello, es decir, si el canal 0 está trabajando a 64 kb/s, después de (35) símbolos en el canal 0 la memoria de retrolocalización estará llena para ese canal particular; sin embargo, si el canal 2 está trabajando a la mitad de la velocidad, es decir, a 32 kb/s, el canal 2 solamente llenaría la mitad de la memoria de retrolocalización (73).
La memoria de retrolocalización (73) se asigna en secuencia, puesto que un canal puede estar muy retrasado con respecto a otro canal. El proceso de retrolocalización (75) es único para cada canal, puesto que los datos que se han codificado en el transmisor son únicos. En consecuencia, la operación de retrolocalización para cada uno de los cuatro canales será única. Además, pueden ser diferentes las velocidades de transmisión de datos entre los cuatro canales.
El proceso de retrolocalización se desarrolla en serie, y el procesador (75) funciona secuencialmente para el canal 0, luego para el canal 1, luego para el canal 2 y finalmente para el canal 3, puesto que los accesos no son comunes. El almacenamiento de la información de retrolocalización depende de los accesos, requiriendo segregar cada proceso para cada canal en el tiempo. Si se transmiten los cuatro canales a la máxima velocidad, la memoria todavía necesitaría segregación, puesto que los datos que se codificaron en el transmisor crearon un diagrama Trellis o trayectoria de retrolocalización diferentes entre cada uno de los cuatro canales. El proceso aún se complicaría más si se procesasen a diferentes velocidades de transmisión de datos.
Refiriéndose al diagrama de flujo de la Figura 10, si la cuenta de retrolocalización no es igual a 0 (etapa 507) el proceso debe retrolocalizarse en el tiempo para la trayectoria que sea más probable. El procesador lee el acceso de 9 bits que incluye un campo, un acceso de un byte y un acceso de 1 bit. Esto se realiza desplazando a la derecha el acceso en 4 bits (etapa 509), luego desplazando a la derecha en 1 bit (etapa 511), y ocultando los 3 bits menos significativos (etapa 513). El mejor valor métrico local es un número de 7 bits. Los 4 bits más significativos se convertirán en el acceso de 1 byte, los 3 bits siguientes se convertirán en el número de bits, y los 4 bits menos significativos se ignoran. Se examina el bit de camino (etapa 515) para ver si es un 1 o un 0. Si el bit de camino es un 0, el mejor valor métrico local anterior se desplaza a la derecha en 1, lo que le divide efectivamente por 2. Si el bit de camino es igual a 0, el mejor valor métrico local se desplaza a la derecha en 1 (etapa 517). Si el bit de camino no es igual a 0, se suman 64 al mejor valor métrico local, situando de ese modo el resultado entre un valor de 32 y 63. El procesador 75 sigue la pista (etapas 521,523,525 y 527) de todas las trayectorias y su operación se repite hasta que se encuentre el bit codificado.
El procesador halla la trayectoria que termina en los 64 estados con la mínima energía que indica el mínimo error. La memoria de retrolocalización guarda las 35 trayectorias asociadas con los 64 estados con un bit que indica si la trayectoria viene de arriba o de abajo, puesto que hay solamente dos caminos en un estado determinado. Por tanto, un 0 o un 1 indican el camino. El camino asociado de bit para el mejor valor métrico local se guarda junto con el acceso de 1 byte y el acceso de bit. Como toda la información se guarda en bytes, se lleva a cabo una descomposición puesto que hay 64 estados, con 8 bytes, con 8 bits por byte. Puesto que hay 8 bits dentro del primer byte, los 8 bits indicarían los estados 0 a 7, lo cual indica qué mejor valor métrico local está apuntando a estos estados. El siguiente byte sería para los estados 8 a 15, y así sucesivamente hasta el estado 63º.
El proceso descarta siempre el bit menos significativo del número de 7 bits. Los 3 bits más significativos, como se ha expuesto anteriormente, apuntan a un acceso particular de byte. Los 3 bits que siguen a los 3 más significativos apuntan a un bit particular en el acceso de byte. Este es el "bit de camino", que se utiliza para modificar el mejor valor métrico local.
El proceso de retrolocalización funciona 512 veces más deprisa que la máxima velocidad de salida. El control del bus de accesos se coordina entre el secuenciador ACS (71) y el procesador de retrolocalización (75). Durante la fase de ACS del funcionamiento del descodificador, el secuenciador ACS controla a través de las líneas (151a,151b,151c) y (151d) al bus de accesos 159 de las dos memorias de valores métricos de estado y de retrolocalización. Una vez finalizado el funcionamiento del ACS, el control del bus de accesos de la memoria de retrolocalización se entrega al procesador de retrolocalización (75).
La memoria de retrolocalización (73) se usa en un procedimiento denominado "reencadenamiento" o retrolocalización que comienza en el último nodo del diagrama Trellis, siguiendo en orden inverso el camino de decisión desde la última decisión hasta la primera. Este proceso determina el símbolo descodificado que se va a liberar como una salida (161a,161b,161c) y (161d). El proceso de retrolocalización para los cuatro canales no se puede llevar a cabo en paralelo dentro de un bloque común (69, 75) de SRAM, puesto que se supone que son independientes las características de acceso del proceso de retrolocalización para los canales separados de datos. Es necesario secuenciar dicho proceso para cada canal individual. Si un canal particular no se ha habilitado para un intervalo particular de símbolo, se pasa por alto el proceso de retrolocalización para ese canal. El proceso requiere un mínimo de 35 ciclos de reloj para realizar el proceso de retrolocalización para un canal determinado.
El presente invento tiene también una característica de diagnóstico de comportamiento que calcula la velocidad de transmisión de error de bit (en adelante BER). La calculadora (65) de distancia euclidiana da salida a una decisión difícil 163 que entra al procesador de retrolocalización (75). Esta decisión difícil se separa en una memoria del tipo "primero que entra-primero que sale" (en adelante FIFO) de 35 símbolos, y luego se compara con la salida de símbolo codificado reconvolucionalmente (161a,161b,161c) y (161d) que fue liberada por el procesador de retrolocalización (75). Las diferencias de bits entre las dos se acumulan. Después de 256 símbolos, el acumulador del procesador de retrolocalización (75) se vacía (165) a un circuito (77) de salida de BER mostrado en la Figura 7. Cuando un nuevo valor acumulado de BER de 8 bits está preparado para que lo lea el microprocesador central, se activa la señal (167) de preparado BER para ese canal particular.
Como se muestra en el diagrama de flujo de la Figura 11, se describe el proceso de diagnóstico de la BER. Para el cálculo de la BER, el proceso requiere una parte de transmisor y una parte de receptor. Los datos se introducen (etapa 601) al transmisor y soportarán codificación con corrección de error directo, modulación QSPK, y ampliación de la señal en cuadratura. La señal no se transmite, sino que se introduce directamente como entrada a la parte de receptor, donde se reduce dicha señal. La salida del proceso reductor pone en derivación al descodificador Viterbi (etapa 603) y se retarda durante 35 símbolos (etapas 607, 609 y 611) para permitir que el descodificador Viterbi descodifique la información (etapa 605). Los datos que han soportado la decisión difícil (no descodificados) se comparan con la salida del descodificador Viterbi, lo cual proporciona una indicación del comportamiento de la relación señal/ruido (SNR) y del procesador.
En la Figura 12 se muestra el comportamiento del presente invento. Dicha Figura 12 muestra una representación gráfica de la probabilidad de la BER en función de la relación señal/ruido comparando datos codificados en forma no convolucional y datos codificados. Se presentan dos realizaciones del invento. En la primera realización se utiliza una longitud restringida de K = 7. Una realización alternativa usa una longitud restringida de K = 9. Como puede verse en el gráfico, cuando la relación señal/ruido aumenta hasta 5, el comportamiento de los datos codificados no convolucionalmente presenta una probabilidad de error de bit del 0,05%. Sin embargo, para la misma relación señal/ruido, los datos codificados convolucionalmente presentan un drástico aumento en comportamiento hacia arriba de un error de bit en un millón. El gráfico muestra también un perfeccionamiento sobre la longitud restringida de 7 cuando se usa una realización alternativa que emplea una longitud restringida de 9.
En lugar de ensamblar un descodificador Viterbi en cuadratura que tenga cuatro canales de entrada, cada uno con dos pares de señales I y Q, se usa una calculadora de distancia para dar entrada a cuatro canales y salida a 16 distancias. A continuación se acoplan las 16 distancias a bloques de ACS. Después, las salidas del bloque calculador de distancia euclidiana se prorratean por bloque individual ACS sobre una base por canal.
En una realización alternativa, en lugar de disponer de cuatro bloques discretos de ACS para cada canal individual, se podría conseguir una reducción drástica con un aumento lineal en la velocidad de reloj. La característica ACS que incorpora la operación del diagrama Trellis se puede reducir a dos o incluso a un circuito de ACS mediante la multiplexación de la entrada de datos, junto con un aumento en la velocidad de reloj.
Aunque se han mostrado y descrito realizaciones específicas del presente invento, los expertos en la técnica podrían llevar a cabo muchas modificaciones y variaciones.

Claims (19)

1. Un descodificador para descodificar una pluralidad de señales de datos codificadas recibidas convolucionalmente, cuyo descodificador comprende: medios (65) para recibir símbolos I y Q descodificados de la pluralidad de señales de datos codificadas y que entregan como salidas distancias euclidianas correspondientes a cada señal codificada; caracterizándose el descodificador por:
al menos dos de las señales codificadas de datos que tienen una velocidad diferente de transmisión de datos;
medios (67 a, 67b, 67c, 67d, 71) para representar las correspondencias de cada una de las distancias de señal de datos en un diagrama trellis;
medios (75) para retrolocalizar decisiones en cada diagrama trellis de señal de datos para entregar como salida símbolos descodificados de cada señal de datos usando una memoria común (69); y
la memoria común (69) que tiene una memoria de estado de camino y una memoria de valores métricos de estado.
2. El descodificador de la reivindicación 1, en el que los medios (65) para entregar como salidas distancias euclidianas comprenden un circuito de cálculo de distancias euclidianas; los medios (67 a, 67b, 67c, 71) de representación de correspondencias comprenden una pluralidad de circuitos de suma-comparación-selección; y los medios (75) de retrolocalización comprenden un circuito de proceso de retrolocalización.
3. El descodificador de la reivindicación 2, en el que cada una de las decisiones de diagrama trellis de señal se basa en un algoritmo de Viterbi.
4. El descodificador de la reivindicación 2, en el que el circuito de cálculo de distancia euclidiana procesa solamente los símbolos no codificados recibidos I y Q cuando los símbolos no codificados recibidos I y Q se liberan al circuito de cálculo de distancia euclidiana.
5. El descodificador de la reivindicación 2, en el que la pluralidad de señales codificadas de datos son cuatro.
6. El descodificador de la reivindicación 5, el que el descodificador es capaz de procesar las señales codificadas de datos que tiene velocidades de transmisión de datos de 64 Kb/s, 32Kb/s, 16 Kb/s y 8 Kb/s.
7. El descodificador de la reivindicación 1, en el que los medios de representación de correspondencias (67 a, 67b, 67c, 67d, 71) comprenden un circuito (67 a, 67b, 67c, 67d) de suma-comparación-selección, para cada señal de
datos.
8. El descodificador de la reivindicación 1, en el que los medios de representación de correspondencias (67 a, 67b, 67c, 67d, 71) comprenden un circuito (71) de suma-comparación-selección para representar correspondencias de cada señal de datos sobre una base multiplexada de tiempo.
9. El descodificador de la reivindicación 8, en el que el un circuito (71) de suma-comparación-selección está sincronizado a una velocidad de transmisión mayor que los medios (65) que entregan como salidas distancias
euclidianas.
10. El descodificador de la reivindicación 1, en el que las decisiones trellis de cada señal se basan en un algoritmo de Viterbi.
11. El descodificador de la reivindicación 1, en el que los medios (65) que entregan como salidas distancias euclidianas procesan solamente los símbolos no codificados recibidos I y Q cuando los símbolos no codificados recibidos I y Q se liberan al circuito de cálculo de distancias euclidianas.
12. El descodificador de la reivindicación 1, en el que la memoria común (69) está dividida en una pluralidad de secuencias, teniendo cada secuencia un segmento "ping" y un segmento "pong", cada uno de cuyos segmentos "ping" y "pong" comprenden bits asociados con cada señal de datos, en la que para cada segmento, cuando se lee el "ping", se escribe el "pong", y cuando se lee el "pong", se escribe el "ping".
13. El descodificador de la reivindicación 12, en el que cada secuencia es de 64 bits, y cada segmento "ping" y cada segmento "pong" son de 32 bits.
14. El descodificador de la reivindicación 13, en el que cada segmento "ping" y cada segmento "pong" tienen 8 bits asociados con cada una de las cuatro señales de datos.
15. El descodificador de la reivindicación 1, que comprende además una memoria de retrolocalización (75) para almacenar datos de retrolocalización asociados con cada señal codificada de datos.
\newpage
16. Un método para descodificar una pluralidad de señales de datos codificadas recibidas convolucionalmente, cuyo método comprende: recibir símbolos no codificados I y Q de la pluralidad de señales codificadas de datos, cuyo método se caracteriza por:
al menos dos de las señales codificadas de datos tienen una velocidad diferente de transmisión de datos;
procesar los símbolos no codificados I y Q para entregar como salidas distancias euclidianas correspondientes a cada señal codificada;
representar correspondencias de distancias de cada señal de datos en un diagrama trellis; y
retrolocalizar decisiones en cada diagrama trellis de señal de datos para entregar como salidas símbolos descodificados de cada señal de datos usando una memoria común, cuya memoria común (69) tiene una memoria de estado de camino y una memoria de valor métrico de estado.
17. El método de la reivindicación 16, en el que las decisiones de diagrama de trellis de cada señal se basan en un algoritmo de Viterbi.
18. El método de la reivindicación 16, que comprende además:
liberar los símbolos recibidos no codificados I y Q;
en el que el proceso de los símbolos recibidos no codificados I y Q se realiza únicamente cuando se han liberado los símbolos recibidos no codificados I y Q.
19. El método de la reivindicación 16, en el que la pluralidad de señales codificadas de datos son cuatro.
ES01120761T 1997-03-12 1998-03-04 Descodificador de viterbi multicanal. Expired - Lifetime ES2172486T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US4047797P 1997-03-12 1997-03-12
US40477P 1997-03-12
US08/871,008 US6005898A (en) 1997-03-12 1997-06-06 Multichannel viterbi decoder
US871008 1997-06-06

Publications (2)

Publication Number Publication Date
ES2172486T1 ES2172486T1 (es) 2002-10-01
ES2172486T3 true ES2172486T3 (es) 2004-12-16

Family

ID=26717094

Family Applications (8)

Application Number Title Priority Date Filing Date
ES06012665T Expired - Lifetime ES2300083T3 (es) 1997-03-12 1998-03-04 Descodificador de viterbi multicanal.
ES01120762T Expired - Lifetime ES2172487T3 (es) 1997-03-12 1998-03-04 Sistema de comunicaciones multicanal con decodificador.
ES98908938T Expired - Lifetime ES2146560T3 (es) 1997-03-12 1998-03-04 Sistema de comunicaciones multicanal con decodificador.
ES01120761T Expired - Lifetime ES2172486T3 (es) 1997-03-12 1998-03-04 Descodificador de viterbi multicanal.
ES07025032T Expired - Lifetime ES2386278T3 (es) 1997-03-12 1998-03-04 Método y aparato para la adaptación de la velocidad de datos en un sistema de comunicación de AMDC
ES04009884T Expired - Lifetime ES2268532T3 (es) 1997-03-12 1998-03-04 Descodificador viterbi multicanal.
ES01120763T Expired - Lifetime ES2172488T3 (es) 1997-03-12 1998-03-04 Descodificador de viterbi multicanal.
ES10179535T Expired - Lifetime ES2387708T3 (es) 1997-03-12 1998-03-04 Método y aparato para comunicación inalámbrica

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES06012665T Expired - Lifetime ES2300083T3 (es) 1997-03-12 1998-03-04 Descodificador de viterbi multicanal.
ES01120762T Expired - Lifetime ES2172487T3 (es) 1997-03-12 1998-03-04 Sistema de comunicaciones multicanal con decodificador.
ES98908938T Expired - Lifetime ES2146560T3 (es) 1997-03-12 1998-03-04 Sistema de comunicaciones multicanal con decodificador.

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES07025032T Expired - Lifetime ES2386278T3 (es) 1997-03-12 1998-03-04 Método y aparato para la adaptación de la velocidad de datos en un sistema de comunicación de AMDC
ES04009884T Expired - Lifetime ES2268532T3 (es) 1997-03-12 1998-03-04 Descodificador viterbi multicanal.
ES01120763T Expired - Lifetime ES2172488T3 (es) 1997-03-12 1998-03-04 Descodificador de viterbi multicanal.
ES10179535T Expired - Lifetime ES2387708T3 (es) 1997-03-12 1998-03-04 Método y aparato para comunicación inalámbrica

Country Status (10)

Country Link
US (2) US6005898A (es)
EP (8) EP1895671B1 (es)
JP (1) JP3988956B2 (es)
CN (2) CN1109414C (es)
AT (7) ATE268074T1 (es)
DE (7) DE69825328T2 (es)
DK (6) DK2259440T3 (es)
ES (8) ES2300083T3 (es)
HK (3) HK1041386B (es)
WO (1) WO1998040971A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060262832A1 (en) * 1997-03-12 2006-11-23 Interdigital Technology Corporation Convolutionally encoding and decoding multiple data streams
US6404828B2 (en) * 1997-03-12 2002-06-11 Interdigital Technology Corporation Multichannel decoder
US6301683B1 (en) * 1997-06-09 2001-10-09 Vocal Technologies, Ltd. Trellis encoding technique for PCM modems
US6400966B1 (en) * 1997-10-07 2002-06-04 Telefonaktie Bolaget Lm Ericsson (Publ) Base station architecture for a mobile communications system
US6259687B1 (en) * 1997-10-31 2001-07-10 Interdigital Technology Corporation Communication station with multiple antennas
US6112325A (en) * 1998-01-23 2000-08-29 Dspc Technologies, Ltd. Method and device for detecting rate
JP4048510B2 (ja) * 1998-03-05 2008-02-20 富士通株式会社 Cdma移動通信システムにおける無線基地局
FI104774B (fi) * 1998-03-23 2000-03-31 Nokia Networks Oy Menetelmä ja laitteisto modulaation ilmaisemiseksi
US6269130B1 (en) * 1998-08-04 2001-07-31 Qualcomm Incorporated Cached chainback RAM for serial viterbi decoder
US6735724B1 (en) * 1999-04-08 2004-05-11 Texas Instruments Incorporated Detection error estimation and method
US8050198B2 (en) 1999-05-24 2011-11-01 Qualcomm Incorporated Method and system for scheduling data transmission in communication systems
KR100346152B1 (ko) 1999-09-17 2002-08-01 주식회사 하이닉스반도체 코드 분할 다중 접속방식의 이동통신 기지국 시스템
DE60101745T2 (de) * 2000-03-08 2004-12-23 Arm Ltd., Cherry Hinton Viterbi dekodierung mit pfadmetrikaktualisierung durchgeführt in einheiten von bitscheiben
US20020031195A1 (en) * 2000-09-08 2002-03-14 Hooman Honary Method and apparatus for constellation decoder
CN100438389C (zh) * 2001-06-21 2008-11-26 皇家菲利浦电子有限公司 无线电通信网络中的mimo传输系统
JP3612563B2 (ja) * 2001-09-07 2005-01-19 独立行政法人情報通信研究機構 マルチモードブロック符号化変調復調方法
US7321618B2 (en) * 2002-04-09 2008-01-22 Texas Instruments Incorporated PCM upstream data transmission server
US7046747B2 (en) * 2002-04-16 2006-05-16 Intel Corporation Viterbi decoder and decoding method using rescaled branch metrics in add-compare-select operations
CN100399706C (zh) * 2002-08-14 2008-07-02 联发科技股份有限公司 部分响应最大可能性信道的维特比译码器
US7295622B2 (en) * 2003-05-09 2007-11-13 Texas Instruments Incorporated System and method for information decoding using batched processing of independent parameters
US7117427B2 (en) * 2003-07-09 2006-10-03 Texas Instruments Incorporated Reduced complexity decoding for trellis coded modulation
EP1511178A1 (en) * 2003-09-01 2005-03-02 Alcatel A method of decoding a data word
US7434148B2 (en) * 2004-12-30 2008-10-07 Freescale Semiconductor, Inc. Track buffer in a parallel decoder
JP2007300400A (ja) * 2006-04-28 2007-11-15 Matsushita Electric Ind Co Ltd 送信回路、送信方法、及びそれを用いた通信機器
US8165224B2 (en) 2007-03-22 2012-04-24 Research In Motion Limited Device and method for improved lost frame concealment
US8856630B2 (en) * 2008-06-10 2014-10-07 Telefonaktiebolaget L M Ericsson (Publ) Continuous parallel Viterbi decoder
US8477879B2 (en) * 2009-12-23 2013-07-02 Texas Instruments Incorporated System and method for bi-phase modulation decoding
RU2421900C1 (ru) 2010-02-27 2011-06-20 Тимур Георгиевич Келин Многоканальный последовательный декодер витерби

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709377A (en) * 1985-03-13 1987-11-24 Paradyne Viterbi decoder for wireline modems
JPH0626346B2 (ja) * 1990-04-26 1994-04-06 郵政省通信総合研究所長 畳込み符号化直交fm・ビタビ受信方式
US5659569A (en) * 1990-06-25 1997-08-19 Qualcomm Incorporated Data burst randomizer
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5511073A (en) * 1990-06-25 1996-04-23 Qualcomm Incorporated Method and apparatus for the formatting of data for transmission
JP2554219B2 (ja) * 1991-11-26 1996-11-13 日本電信電話株式会社 ディジタル信号の重畳伝送方式
US5559757A (en) * 1991-12-18 1996-09-24 Catipovic; Josko A. Spatial diversity processing for underwater acoustic telemetry
SE470371B (sv) * 1992-06-23 1994-01-31 Ericsson Telefon Ab L M Sätt och anordning vid digital signalöverföring att hos en mottagare estimera överförda symboler
US5396516A (en) * 1993-02-22 1995-03-07 Qualcomm Incorporated Method and system for the dynamic modification of control paremeters in a transmitter power control system
US5566206A (en) * 1993-06-18 1996-10-15 Qualcomm Incorporated Method and apparatus for determining data rate of transmitted variable rate data in a communications receiver
MY112371A (en) * 1993-07-20 2001-05-31 Qualcomm Inc System and method for orthogonal spread spectrum sequence generation in variable data rate systems
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
JP3091225B2 (ja) * 1993-11-01 2000-09-25 クゥアルコム・インコーポレイテッド 可変ディジタルデータを送信する方法及び装置
US5454009A (en) * 1994-01-13 1995-09-26 Scientific-Atlanta, Inc. Method and apparatus for providing energy dispersal using frequency diversity in a satellite communications system
US5465269A (en) * 1994-02-02 1995-11-07 Motorola, Inc. Method and apparatus for encoding and decoding a supplementary signal
US5528593A (en) * 1994-09-30 1996-06-18 Qualcomm Incorporated Method and apparatus for controlling power in a variable rate communication system
JP3366128B2 (ja) * 1994-09-30 2003-01-14 富士通株式会社 ビタビ復号方式を用いた多値符号化信号の復号器
US5619524A (en) * 1994-10-04 1997-04-08 Motorola, Inc. Method and apparatus for coherent communication reception in a spread-spectrum communication system
JP2701761B2 (ja) * 1994-11-02 1998-01-21 日本電気株式会社 送信ビットレート判別方法及び装置
JP2605641B2 (ja) * 1994-11-14 1997-04-30 日本電気株式会社 可変ビットレート判別方法及び装置
US5497401A (en) * 1994-11-18 1996-03-05 Thomson Consumer Electronics, Inc. Branch metric computer for a Viterbi decoder of a punctured and pragmatic trellis code convolutional decoder suitable for use in a multi-channel receiver of satellite, terrestrial and cable transmitted FEC compressed-digital television data
JP3169522B2 (ja) * 1995-01-19 2001-05-28 沖電気工業株式会社 データ受信装置
TW347616B (en) * 1995-03-31 1998-12-11 Qualcomm Inc Method and apparatus for performing fast power control in a mobile communication system a method and apparatus for controlling transmission power in a mobile communication system is disclosed.

Also Published As

Publication number Publication date
ES2172487T3 (es) 2004-12-16
CN1250558A (zh) 2000-04-12
DE69825328T2 (de) 2005-08-18
US6005898A (en) 1999-12-21
DK1161019T3 (da) 2004-08-16
DE69838922T2 (de) 2008-12-18
EP1161018B1 (en) 2004-07-28
DE69807850D1 (de) 2002-10-17
EP1161018A2 (en) 2001-12-05
EP0966796A1 (en) 1999-12-29
DE69838922D1 (de) 2008-02-07
ES2146560T3 (es) 2003-03-16
HK1041387B (en) 2004-12-10
DK1439640T3 (da) 2006-10-30
CN1278498C (zh) 2006-10-04
HK1067253A1 (en) 2005-04-01
EP2259440B1 (en) 2012-05-23
HK1041386B (en) 2005-02-04
ES2146560T1 (es) 2000-08-16
EP1895671B1 (en) 2012-04-25
EP1161019A2 (en) 2001-12-05
DE966796T1 (de) 2000-10-05
DE69835177T2 (de) 2007-06-14
HK1041387A1 (en) 2002-07-05
ES2300083T3 (es) 2008-06-01
ATE272271T1 (de) 2004-08-15
DE69824051D1 (de) 2004-06-24
ATE268074T1 (de) 2004-06-15
HK1041385B (en) 2004-10-08
ES2172486T1 (es) 2002-10-01
HK1114509A1 (en) 2008-10-31
DK2259440T3 (da) 2012-08-20
ES2172488T3 (es) 2004-12-01
EP1161017A3 (en) 2002-10-30
JP3988956B2 (ja) 2007-10-10
US6256339B1 (en) 2001-07-03
DE69824208T2 (de) 2005-06-23
ATE332592T1 (de) 2006-07-15
DK1161018T3 (da) 2004-11-29
ES2386278T3 (es) 2012-08-16
ES2387708T3 (es) 2012-09-28
EP1161019B1 (en) 2004-05-19
EP1161019A3 (en) 2002-10-30
EP1696584A1 (en) 2006-08-30
CN1442957A (zh) 2003-09-17
HK1041386A1 (en) 2002-07-05
EP2259440A1 (en) 2010-12-08
EP1161017A2 (en) 2001-12-05
JP2001514829A (ja) 2001-09-11
HK1041385A1 (en) 2002-07-05
ATE224118T1 (de) 2002-09-15
ES2172487T1 (es) 2002-10-01
EP1439640A3 (en) 2005-05-11
HK1024357A1 (en) 2000-10-27
DE69824051T2 (de) 2004-10-21
ES2172488T1 (es) 2002-10-01
WO1998040971A1 (en) 1998-09-17
EP1439640A2 (en) 2004-07-21
ATE382208T1 (de) 2008-01-15
EP0966796B1 (en) 2002-09-11
ES2268532T3 (es) 2007-03-16
EP1161017B1 (en) 2004-05-26
DE69824208D1 (de) 2004-07-01
DE69825328D1 (de) 2004-09-02
DE69835177D1 (de) 2006-08-17
ATE555552T1 (de) 2012-05-15
EP1439640B1 (en) 2006-07-05
EP1696584B1 (en) 2007-12-26
EP1161018A3 (en) 2002-10-30
EP1895671A2 (en) 2008-03-05
DK1161017T3 (da) 2004-08-16
DE69807850T2 (de) 2003-05-28
EP1895671A3 (en) 2008-04-30
HK1094840A1 (en) 2007-04-13
DK1696584T3 (da) 2008-03-17
CN1109414C (zh) 2003-05-21
ATE267483T1 (de) 2004-06-15

Similar Documents

Publication Publication Date Title
ES2172486T3 (es) Descodificador de viterbi multicanal.
US6577673B2 (en) Spread spectrum base station for simultaneously receiving and processing multiple channels of data
US20120063490A1 (en) Convolutionally encoding and decoding multiple data streams
HK1094840B (en) Multichannel viterbi decoder
HK1024357B (en) Multichannel communications system with decoder
HK1114509B (en) Method and apparatus for data rate adaptation in a cdma communications system
HK1067253B (en) Multichannel viterbi decoder