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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
- H04L1/006—Trellis-coded modulation
-
- 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error 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
-
- 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
- H03M13/4107—Sequence 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
-
- 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
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence 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
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- 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/65—Purpose and implementation aspects
- H03M13/6569—Implementation on processors, e.g. DSPs, or software implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0046—Code rate detection or code type detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
- H04L1/0053—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
-
- 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/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- 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/0075—Transmission of coding parameters to receiver
-
- 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/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0262—Arrangements for detecting the data rate of an incoming signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B2201/00—Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
- H04B2201/69—Orthogonal indexing scheme relating to spread spectrum techniques in general
- H04B2201/707—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
- H04B2201/70703—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation using multiple or variable rates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L2025/03592—Adaptation methods
- H04L2025/03598—Algorithms
- H04L2025/03675—Blind 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.
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.
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.
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.
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.
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.
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.
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.
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)
| 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)
| 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. |
-
1997
- 1997-06-06 US US08/871,008 patent/US6005898A/en not_active Expired - Lifetime
-
1998
- 1998-03-04 CN CN98803254A patent/CN1109414C/zh not_active Expired - Fee Related
- 1998-03-04 DE DE69825328T patent/DE69825328T2/de not_active Expired - Lifetime
- 1998-03-04 DE DE69838922T patent/DE69838922T2/de not_active Expired - Lifetime
- 1998-03-04 CN CNB031079385A patent/CN1278498C/zh not_active Expired - Fee Related
- 1998-03-04 DE DE69807850T patent/DE69807850T2/de not_active Expired - Lifetime
- 1998-03-04 DE DE0966796T patent/DE966796T1/de active Pending
- 1998-03-04 DE DE69824051T patent/DE69824051T2/de not_active Expired - Lifetime
- 1998-03-04 DK DK10179535.9T patent/DK2259440T3/da active
- 1998-03-04 EP EP07025032A patent/EP1895671B1/en not_active Expired - Lifetime
- 1998-03-04 ES ES06012665T patent/ES2300083T3/es not_active Expired - Lifetime
- 1998-03-04 ES ES01120762T patent/ES2172487T3/es not_active Expired - Lifetime
- 1998-03-04 DE DE69835177T patent/DE69835177T2/de not_active Expired - Lifetime
- 1998-03-04 EP EP06012665A patent/EP1696584B1/en not_active Expired - Lifetime
- 1998-03-04 DK DK01120761T patent/DK1161017T3/da active
- 1998-03-04 DK DK01120762T patent/DK1161018T3/da active
- 1998-03-04 AT AT01120761T patent/ATE268074T1/de not_active IP Right Cessation
- 1998-03-04 EP EP01120761A patent/EP1161017B1/en not_active Expired - Lifetime
- 1998-03-04 EP EP04009884A patent/EP1439640B1/en not_active Expired - Lifetime
- 1998-03-04 ES ES98908938T patent/ES2146560T3/es not_active Expired - Lifetime
- 1998-03-04 ES ES01120761T patent/ES2172486T3/es not_active Expired - Lifetime
- 1998-03-04 AT AT01120762T patent/ATE272271T1/de not_active IP Right Cessation
- 1998-03-04 DK DK04009884T patent/DK1439640T3/da active
- 1998-03-04 AT AT07025032T patent/ATE555552T1/de active
- 1998-03-04 ES ES07025032T patent/ES2386278T3/es not_active Expired - Lifetime
- 1998-03-04 EP EP01120762A patent/EP1161018B1/en not_active Expired - Lifetime
- 1998-03-04 ES ES04009884T patent/ES2268532T3/es not_active Expired - Lifetime
- 1998-03-04 EP EP10179535A patent/EP2259440B1/en not_active Expired - Lifetime
- 1998-03-04 DE DE69824208T patent/DE69824208T2/de not_active Expired - Lifetime
- 1998-03-04 EP EP01120763A patent/EP1161019B1/en not_active Expired - Lifetime
- 1998-03-04 ES ES01120763T patent/ES2172488T3/es not_active Expired - Lifetime
- 1998-03-04 AT AT01120763T patent/ATE267483T1/de not_active IP Right Cessation
- 1998-03-04 AT AT04009884T patent/ATE332592T1/de not_active IP Right Cessation
- 1998-03-04 WO PCT/US1998/004243 patent/WO1998040971A1/en not_active Ceased
- 1998-03-04 AT AT06012665T patent/ATE382208T1/de not_active IP Right Cessation
- 1998-03-04 DK DK01120763T patent/DK1161019T3/da active
- 1998-03-04 JP JP53962498A patent/JP3988956B2/ja not_active Expired - Fee Related
- 1998-03-04 DK DK06012665T patent/DK1696584T3/da active
- 1998-03-04 EP EP98908938A patent/EP0966796B1/en not_active Expired - Lifetime
- 1998-03-04 AT AT98908938T patent/ATE224118T1/de not_active IP Right Cessation
- 1998-03-04 ES ES10179535T patent/ES2387708T3/es not_active Expired - Lifetime
-
1999
- 1999-11-01 US US09/432,038 patent/US6256339B1/en not_active Expired - Lifetime
-
2002
- 2002-04-15 HK HK02102835.3A patent/HK1041386B/en not_active IP Right Cessation
- 2002-04-15 HK HK02102834.4A patent/HK1041385B/en not_active IP Right Cessation
- 2002-04-15 HK HK02102836.2A patent/HK1041387B/en not_active IP Right Cessation
Also Published As
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 |