ES2281309A1 - Procedimiento y arquicteura electronica para la deteccion sova optima basado en el rastreo de puntos de fusion. - Google Patents
Procedimiento y arquicteura electronica para la deteccion sova optima basado en el rastreo de puntos de fusion. Download PDFInfo
- Publication number
- ES2281309A1 ES2281309A1 ES200701056A ES200701056A ES2281309A1 ES 2281309 A1 ES2281309 A1 ES 2281309A1 ES 200701056 A ES200701056 A ES 200701056A ES 200701056 A ES200701056 A ES 200701056A ES 2281309 A1 ES2281309 A1 ES 2281309A1
- Authority
- ES
- Spain
- Prior art keywords
- unit
- melting points
- points
- reliability
- marks
- 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.)
- Granted
Links
- 230000004927 fusion Effects 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 title claims description 33
- 238000001514 detection method Methods 0.000 title claims description 24
- 238000010586 diagram Methods 0.000 claims abstract description 23
- 238000002844 melting Methods 0.000 claims description 65
- 230000008018 melting Effects 0.000 claims description 65
- 238000013459 approach Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- 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/4138—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
- H03M13/4146—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Procedimiento y arquitectura electrónica para la
detección SOVA óptima basado en el rastreo de puntos de fusión.
La presente invención propone una alternativa a
los esquemas actuales de decodificación SOVA (Soft Output Viterbi
Algorithm), ya que no realiza un rastreo de los caminos
sobrevivientes por el diagrama trellis, sino que primero encuentra
puntos aislados donde estos caminos convergen. A estos puntos donde
los caminos convergen se les llaman puntos de fusión. Dado que este
punto es donde los caminos convergen, los puntos de fusión son en
realidad parte del camino más probable en el diagrama trellis. Estos
puntos de fusión luego se utilizan para que otra unidad actualice la
fiabilidad de los bits.
Description
Procedimiento y arquitectura electrónica para la
detección SOVA óptima basado en el rastreo de puntos de fusión.
La invención se encuadra en el sector técnico de
la Ingeniería de telecomunicaciones, más concretamente en
arquitecturas de circuitos electrónicos digitales para sistemas de
comunicaciones, y dentro de los sistemas de comunicaciones, en la
parte de arquitecturas para la codificación y decodificación de
canal.
Actualmente, las arquitecturas que realizan la
decodificación de Viterbi con información de fiabilidad sobre los
bits de salida, más conocida como decodificación SOVA(Soft
Output Viterbi Algorithm) (A Viterbi algorithm with
soft-decision outputs and its applications. J
Hagenauer, P Hoeher - Proc. IEEE GLOBECOM, 1989), son de gran
interés por su utilidad en esquemas de codificación de canal basados
en códigos concatenados, como pueden ser los Turbo Códigos (C.
Berrou, A. Glavieux, and P. Thitimasjshima. Near Shannon Limit
Error-Correcting Coding and Decoding: Turbo- Codes.
Proceedings of the IEEE Internacional Conference on Communications,
May 1993, Geneva, Switzerland). Esto es debido a que permiten
recuperar la información transmitida con probabilidades de error
muy bajas.
Las arquitecturas actuales, implementan este
conocido algoritmo SOVA, de una forma no óptima al limitar dos
parámetros. El primer parámetro, conocido como D, es la profundidad
de rastreo del camino más probable en un diagrama trellis dado por
la aplicación del algoritmo de Viterbi a la secuencia de símbolos
recibida. El otro parámetro, conocido como U, es la profundidad de
actualización de la fiabilidad de los bits de la secuencia de bits
estimada. Las arquitecturas actuales implementan un algoritmo SOVA
no óptimo, al limitar ambos parámetros, con el fin de obtener una
latencia reducida y constante en el proceso. Por otro lado, la
mayoría de las arquitecturas actuales utilizan esquemas de
procesamiento concurrente, o procesamiento en paralelo que deriva
en una gran actividad de conmutación de los registros y, por lo
tanto, en un elevado consumo de potencia dinámica.
Con la presente invención se puede realizar la
detección SOVA óptima, ya que la arquitectura junto con el
procedimiento presentes en la invención, logran evadir la relación
de compromiso, antes citada, de los parámetros D y U mientras
mantienen la latencia controlada. La arquitectura propuesta
consigue obtener los resultados con un consumo de potencia dinámica
reducido por el hecho de emplear arquitecturas recursivas a la hora
de procesar la información.
Hay varias arquitecturas que implementan la
decodificación SOVA. Las arquitecturas más eficientes en términos
de consumo de potencia, realizan la decodificación en dos pasos.
Primero llevan a cabo una decodificación de Viterbi pura con la que
estiman el camino mas probable dentro del diagrama trellis. Luego
realizan la actualización de fiabilidad de los bits asociados a
este camino. Al realizar la decodificación de Viterbi pura, por
cada vector de decisión que entrega la unidad ACSU (unidad de suma,
comparación y selección) en un esquema convencional, se rastrea
hacia atrás una profundidad D el diagrama trellis. El parámetro D es
lo suficientemente grande como para asegurar que los caminos
rastreados convergen en un solo camino sobreviviente que resulta
ser el camino más probable. Una vez que se obtiene esta secuencia
de bits se puede proceder a la actualización de su fiabilidad. Las
arquitecturas actuales realizan esta actualización siguiendo las
reglas del procedimiento conocido como HR-SOVA, con
una profundidad U. Existe otra regla de actualización conocida como
BR-SOVA (BATTAIL G. Ponderation des symboles decodes
par 1-agorithem de Viterbi, AnnTelecommun, Jan.
1987 Fr.42(1-2,):31-38.) cuyo
desempeño en términos de tasa de error es superior y equivalente a
una decodificación max-log-map (On
the Equivalence Between SOVA and
max-log-MAP Decodings. MPC
Fossorier, F Burkert, S Lin, J Hagenauer - IEEE COMMUNICATIONS
LETTERS, 1998). El procedimiento HR-SOVA contempla
sólo el caso en que el bit del camino sobreviviente y el bit del
camino competidor difieran, sin embargo el procedimiento
BR-SOVA contempla también la actualización para el
caso de que estos bits sean iguales.
Finalmente la latencia que se consigue con estos
esquemas es de D+U. Los parámetros D y U se fijan en proporción a
la longitud del código y con el objetivo de que la respuesta del
decodificador en términos de tasa de error frente a la relación
señal a ruido sea aceptable para la aplicación en cuestión.
En el documento de patente US6445755B1 se
describe una implementación del algoritmo SOVA basada en una
arquitectura de dos etapas y utiliza para la actualización la regla
basada en la decodificación HR-SOVA. En el documento
de patente US6487694B1 se describe una arquitectura que realiza un
rastreo símbolo a símbolo y también, la actualización se basa en la
regla HR-SOVA.
La presente invención propone una alternativa a
los esquemas actuales, ya que no realiza un rastreo de los caminos
por el diagrama trellis, sino que primero encuentra puntos aislados
donde los caminos convergen. A estos puntos donde los caminos
convergen se les llaman puntos de fusión. Dado que este punto es
donde los caminos convergen, los puntos de fusión son en realidad
parte del camino más probable en el diagrama trellis. Estos puntos
de fusión luego se utilizan para que otra unidad actualice la
fiabilidad de los bits.
A continuación se describirá el procedimiento o
algoritmo de puntos de fusión, pero primero es conveniente definir
qué es un punto de fusión. El punto de fusión en el instante ifp se
puede definir de la siguiente manera: dado que se está procesando el
diagrama trellis para el instante i, si se rastrean todos los
caminos hacia atrás desde ese instante i, se observa que estos van
convergiendo hasta que en el instante ifp los caminos terminan de
converger en el estado sfp y ya desde ese instante hacia instantes
anteriores sólo se rastrea el camino sobreviviente o camino más
probable. Por lo tanto en el instante ifp y estado sfp existe un
punto de fusión para el instante de comienzo de
rastreo i.
rastreo i.
El procedimiento o algoritmo de puntos de fusión
consiste en marcar, o establecer una marca, a cada uno de los
posibles puntos de fusión y procesar su evolución. Para comprender
su validez, se puede hacer la lógica inversa a la explicación de
puntos de fusión dada en el párrafo anterior. Si en el instante que
se procesa el tramo del trellis ifp, se marca como posible punto de
fusión el estado sfp, luego se puede, en tiempos sucesivos,
propagar esa marca hacia los estados que conecta el diagrama de
trellis resultante de aplicar el algoritmo de Viterbi. Finalmente
cuando se alcanza el instante i se obtiene que la marca se ha
propagado hacia todos los estados.
El procedimiento contempla como posibles puntos
de fusión, aquellos estados que poseen bifurcaciones de las ramas
del trellis, o si se mira el diagrama trellis en el sentido de
rastreo, los puntos donde convergen dos o más caminos.
El procedimiento también contempla cómo procesar
las marcas con las que se señalan los posibles puntos de fusión. A
continuación se describe el proceso:
- 1.
- Cuando se detecta un posible punto de fusión, se conserva en registros su instante de detección y su código de estado. Estas marcas se propagan hacia los estados en el instante de tiempo siguiente a través de las conexiones del trellis resultante de aplicar el algoritmo de Viterbi.
- 2.
- Las marcas se propagan en cada instante de tiempo. Concurrentemente se puede detectar nuevas marcas.
- 3.
- Si una marca se propaga a todos los estados, entonces el origen de esa marca es un punto de fusión. Los registros asociados a esa marca contienen la información del punto de fusión.
- 4.
- Si dos marcas, producto de la propagación, coinciden, entonces se retiene la marca con el instante de detección posterior y se liberan los registros que contienen la información de la marca con instante de detección anterior. También es totalmente factible el procedimiento contrario; es decir, se retiene la marca con el instante de detección anterior y se liberan los registros que contienen la información de la marca con instante de detección posterior aunque es preferible la primera opción ya que los puntos de fusión que se obtienen están lo mas próximo al instante de tiempo que se está procesando.
- 5.
- Si una marca se propaga a sólo un estado, entonces los registros que contienen la información de esa marca se liberan, ya que esa marca no podrá volverse en el futuro un punto de fusión.
Dado que las marcas se repiten y se descartan de
acuerdo con el inciso dos antes mencionado, el número de registros
finales que se emplean para mantener el cómputo de marcas es
limitado y por ende el numero de registros empleados para
representarlas también es limitado. Este número de registros
dependerá del número de estados del codificador.
El procedimiento de puntos de fusión presenta la
ventaja de que siempre encuentra los puntos de fusión a lo largo
del diagrama trellis y no depende de ningún factor D. Por otro
lado, el número de registros que se emplean es limitado con lo que
el consumo dinámico se mantiene acotado independientemente del
desempeño en términos de tasa de error que se fije como
objetivo.
Una arquitectura genérica que implementa el
algoritmo SOVA está compuesta por las unidades: BMU (unidad de
métrica de rama), ACSU (unidad de suma, comparación y selección) y
la unidad SMU (unidad de memoria sobreviviente). La presente
invención reside en implementar la unidad SMU en base a dos
unidades. La unidad FPU (unidad de puntos de fusión) y la unidad
RUUFP (unidad de actualización de fiabilidad basada en puntos de
fusión). La arquitectura SMU también consta de una memoria RAM de
doble puerto para almacenar la información que la unidad ACSU provee
hasta que se pueda utilizar. Las unidades BMU, y ACSU son
convencionales, sin embargo las unidades FPU y RUUFP son novedad y
son las que se describirán a continuación.
La unidad FPU implementa el procedimiento de
puntos de fusión. Esta unidad consta de un grupo de registros con
la siguiente finalidad:
- 1.
- Almacenar la dirección, o el instante de tiempo de detección de los posibles puntos de fusión.
- 2.
- Almacenar los códigos de estado de los posibles puntos de fusión.
- 3.
- Almacenar el estado de las marcas.
Además de los registros, la unidad cuenta con
lógica combinacional que realiza la detección, propagación y
procesamiento de las marcas. Cuando la unidad detecta un punto de
fusión, lo indica con una señal, al mismo tiempo que vuelca en las
líneas de salida, la dirección y el código de estado del punto de
fusión.
La unidad RUUFP, recoge, en un banco de
registros, los puntos de fusión que le entrega la unidad FPU. Esta
unidad también contiene una máquina de estados que implementa un
procedimiento de control sobre los puntos de fusión con el objetivo
de comenzar la actualización de fiabilidad de los bits en el
momento que sea posible. Una vez que la máquina de estados tiene un
punto de partida, carga esa dirección en un contador descendente y
lanza la actualización, realizada por la unidad de actualización
recursiva. Esta unidad, consta de una parte que realiza el rastreo
del camino más probable, y otra que realiza la actualización de la
fiabilidad de forma recursiva. La parte que realiza la
actualización de forma recursiva utiliza la topología trellis en
sentido inverso para rastrear los caminos competidores. Cuando dos
caminos competidores convergen se conserva el que tiene la mínima
delta. El parámetro delta es la diferencia de métrica de caminos y
es el valor que se utiliza para estimar la fiabilidad de los
bits.
El procedimiento que implementa la máquina de
estados se detalla a continuación:
- 1.
- Se espera a que haya dos puntos de fusión
- 2.
- Se compara el origen del último punto de fusión con el instante en que se detectó el primero. Si el origen del último se encuentra después de la línea de detección del primero, entonces se procede a la actualización de la fiabilidad y el punto de partida es el tiempo y estado del último punto de fusión.
- 3.
- Si no se cumple la condición anterior se espera otro punto de fusión. Ahora se tienen tres puntos de fusión disponibles. Si este tercer punto de fusión se encuentra detrás de la línea de detección del segundo, entonces se procede a la actualización con el segundo y tercero. Si no se encuentra detrás de la línea de detección del segundo, entonces se compara con la línea de detección del primero, si se encuentra detrás entonces se procede con la actualización.
- 4.
- Si finalmente el tercer punto de fusión no se encuentra detrás del la línea de detección del segundo punto de fusión ni del primero, entonces este tercer punto de fusión se descarta y se espera uno nuevo.
- 5.
- Cuando la unidad ACSU procesa el último instante de la trama de datos, entonces ésta se lo indica por una señal a esta máquina de estados, la cual se encarga de comenzar la actualización de fiabilidad desde el final de la trama.
La unidad RUUFP siempre tiene que esperar a que
se encuentren dos o más puntos de fusión para que la actualización
comience. Este tiempo de espera no es determinista y está ligado a
la aleatoriedad de aparición de los puntos de fusión en el diagrama
trellis. Si este tiempo de espera se traduce en latencia final, la
tasa de bits por segundo del sistema se verá reducida. Por lo tanto,
para evitar esta situación, cabe la posibilidad de hacer trabajar a
la unidad RUUFP a una frecuencia superior a la de la unidad FPU.
Otras de las ventajas que aporta la arquitectura
propuesta en esta invención es que al realizar la actualización de
fiabilidad de forma recursiva y desde instantes posteriores hacia
instantes anteriores en el diagrama trellis, se puede extender la
regla de actualización de la fiabilidad a la propuesta en el
procedimiento BR-SOVA para códigos RSC
(convolucionales recursivos y sistemáticos). Dado que, al aplicar el
algoritmo de Viterbi para los códigos RSC, los bits asociados a las
ramas entrantes a un estado son diferentes, la fiabilidad del
camino competidor se puede acotar como la Delta correspondiente a
ese tiempo y estado. Esta Delta luego se sumará en la estructura
recursiva si los bits del camino competidor y el camino
sobreviviente son iguales, tal como indica el procedimiento
BR-SOVA.
La arquitectura que realiza la decodificación
SOVA contempla una memoria RAM, si esta memoria RAM se dimensiona
para almacenar todas las Deltas y vectores de decisión que provee
la unidad ACSU, entonces se consigue implementar el algoritmo SOVA
de forma óptima. Si se opta por dimensionar esta memoria RAM a un
tamaño menor, se consigue ahorrar en área a costa de implementar un
algoritmo cuasi-óptimo.
Finalmente se puede concluir con las ventajas
principales que aporta la invención:
- 1.
- La arquitectura FPU encuentra todos los puntos de fusión a lo largo del diagrama trellis sin que esto suponga una relación de compromiso de algún parámetro.
- 2.
- La unidad FPU trabaja de forma recursiva lo que implica que sólo un número limitado de registros tengan actividad.
- 3.
- La unidad RUUFP actualiza de forma recursiva la fiabilidad de los bits y dado que el comienzo y final de la actualización se realiza en base a los puntos de fusión, se consigue eliminar la dependencia con el parámetro U.
- 4.
- La unidad RUUFP, al realizar la actualización de forma recursiva, reduce la actividad de los registros.
- 5.
- Al realizarse la actualización a medida que se rastrea el camino más probable, se puede implementar una aproximación al procedimiento BR- SOVA para códigos RSC con lo que se consigue potenciar la respuesta de la tasa de error del decodificador frente a la relación señal a ruido. El procedimiento BR-SOVA tiene una regla de actualización de la fiabilidad cuando los bits de los caminos competidores y sobrevivientes son diferentes, pero para poder realizarla es necesario sumar la fiabilidad de los bits del camino competidor en el cálculo. Con un código RSC binario, las ramas entrantes a un estado que compiten por ser el camino sobreviviente, siempre están asociadas a bits contrarios, por lo tanto, como mucho la fiabilidad de un bit cualquiera de cualquier camino será la diferencia de métrica entre los caminos que compitieron en ese estado. La aproximación que se propone consiste en utilizar la diferencia de métricas de caminos de un estado como estimador de la fiabilidad del bit competidor.
La figura (1) aclara la definición de punto de
fusión. Es un ejemplo con un código RSC de tasa 1/2. El polinomio
de realimentación es [111] y el polinomio generador es [101].
Cuando se rastrean los caminos hacia instantes de tiempo anteriores,
partiendo del instante i, se observa cómo los caminos van
convergiendo hasta que en el instante ifp y estado sfp convergen
los dos últimos. Desde ese instante hacia instantes anteriores el
único camino es el camino sobreviviente o camino más probable.
Las figuras 2 a 8 tienen como fin intentar dar
una visión mas concreta del procedimiento de puntos de fusión. La
figura 2 indica la referencia de las marcas, mientras que el resto
de figuras enseña la evolución del procedimiento, aplicado a un
código RSC como el del párrafo anterior.
Se comienza en el instante cero. Se procesa de
acuerdo al algoritmo de Viterbi esa etapa y se obtiene las ramas
que se muestran en la figura 3. Las líneas punteadas indican una
transición ocasionada por un bit mensaje con valor 1 y las líneas
sólidas indican una transición ocasionada por un bit mensaje con
valor 0. En el instante cero, estado s0, se detecta un posible
punto de fusión, ya que se observa una bifurcación. Se conservan el
instante y el código de estado de detección y se utiliza la marca I
para representar este posible punto de fusión. Esta marca se
propaga a los estados s0, s2 en el instante de tiempo i=1.
Se avanza en el tiempo y se procede con el
instante de tiempo i=1 (figura 4). Para este instante de tiempo se
detectan dos posibles puntos de fusión en los estados s0, s2, los
cuales se marcan con II y III respectivamente. Las marcas II y III
se propagan a los estados s0-s2,
s1-s3 respectivamente. La marca I se propaga hacia
todos los estados en el tiempo i=2. Por lo tanto la marca I es un
punto de fusión. Este punto de fusión se indica y el registro que
contenía su información se libera. Nótese que se ha dibujado una
línea vertical a lo largo del instante i=2 para indicar el momento
de detección del punto de fusión. La información relativa a las
marcas II y III se guarda en el registro liberado y en un nuevo
registro.
Se continúa con el tiempo i=2 (figura 5). Se
detecta un posible punto de fusión en el estado s2 y se utiliza la
marca IV para indicarlo. Esta marca se propaga hacia los estados
s1-s3 en el instante i=3. La marca II se propaga
hacia los estados s0-s1-s3. La
marca III sólo se propaga hacia el estado s2, por lo tanto es
liberada. Si se continuara propagando, a lo sumo coincidiría con
otro posible punto de fusión, y por la definición de éste, si las
dos marcas resultan ser puntos de fusión la última es realmente el
punto de fusión. Dado que se liberó el registro que contenía la
información de la marca III, éste se utiliza para almacenar la
información relativa a la marca IV.
Se continúa con el tiempo i=3 (figura 6). Se
detecta un posible punto de fusión en el estado s0, se relaciona
con la marca V y se propaga hacia los estados s0-s2.
La marca II se propaga hacia los estados
s0-s2-s3. La marca IV sólo se
propaga hacia s3, por lo que es liberada y su registro se utiliza
para almacenar la información relativa a la marca V.
Se continúa con el instante i=4 (figura 7). Se
detectan dos posibles puntos de fusión en los estados s0 y s2. Se
marcan con VI y VII y se propagan hacia los estados
s0-s2, s1-s3, respectivamente.
Tanto la marca II como la marca V se propagan a todos los estados
en i=5 (figura 8). Sin embargo sólo la marca V es el punto de
fusión, ya que su origen es posterior al origen de la marca II. Se
indica un punto de fusión con la información relativa a la marca V
en i=3, estado s0 y se traza una línea vertical en el momento de
detección. Los registros de II y V se liberan y se utilizan para
almacenar la información relativa a VI y VII.
Se continúa en el instante i=5. Para este
instante no se detecta ningún posible punto de fusión. Sólo hay
propagación de las marcas VI y VII hacia los estados
s2-s3, s0-s1, respectivamente.
En la figura 9 se presenta un ejemplo de
arquitectura general para implementar la unidad FPU para un código
RSC de tasa 1/2 y longitud de código K=3, lo que equivale a tener
en el diagrama trellis 4 estados. Las entradas son el vector de
decisión de la unidad ACSU, y la dirección actual o tiempo que se
está procesando. La lógica combinacional se encarga de detectar los
posibles puntos de fusión, de propagarlos y de procesarlos. Los
registros almacenan la evolución de la marca, la dirección o
instante de tiempo y el código de estado en que se detectó. Cuando
se encuentra un punto de fusión se comunica por la línea de
detección y se selecciona el registro de dirección y el código de
estado.
En la figura 10 se muestra la arquitectura
general de una unidad RUUFP. En un panorama general de izquierda a
derecha se observa una cola para recoger la información de los
puntos de fusión; un grupo de registros para almacenar la
información relevante de hasta tres puntos de fusión; un contador
descendente para ir recorriendo la memoria RAM e ir seleccionando
la información previamente guardada por la unidad ACSU. La
estructura a la derecha de la memoria RAM sirve para rastrear el
camino sobreviviente y la unidad de actualización recursiva se
enseña en detalle en la figura (11). Finalmente se obtiene la
fiabilidad de salida en función del bit mensaje estimado, lo que
equivale a multiplicar por +1 ó -1 dependiendo de si el de bit
mensaje es 1 ó 0.
En la figura 11 se presenta la arquitectura de
rastreo de las Deltas de caminos competidores. La topología que
conecta los pares de multiplexores con los bloques minimizadores se
corresponde con el diagrama trellis del código, pero visto en
sentido inverso.
Las señales de control que manejan a los
multiplexores se obtienen de comparar los bits de los caminos
competidores con el bit mensaje del camino sobreviviente.
Por cada instante de tiempo se lanza una
minimización en árbol cuyo resultado se obtiene al cabo de unos
ciclos de reloj.
La figura 12 muestra la arquitectura general que
engloba las otras arquitecturas anteriores y generaliza al
decodificador SOVA.
Por último, las figuras 13 y 14 presentan la
alternativa a las figuras 10 y 11, para un código RSC, para
conseguir una aproximación al procedimiento BR-SOVA
y por lo tanto mejorar el desempeño en términos de tasa de error
del decodificador. En este caso, si los bits del camino competidor
y sobreviviente son iguales, la fiabilidad del camino competidor se
suma a la diferencia de métricas entre competidor y sobreviviente
para participar en la obtención de la fiabilidad resultante de ese
bit.
Un modo de realización es el esquema propuesto
en las figuras 9, 10, 11 y 12. Este esquema sirve para un código de
longitud tres, lo que equivale a cuatro estados en el diagrama
trellis. La topología de conexión corresponde a los siguientes
polinomios: Polinomio de realimentación [111], polinomio generador
[101]. Los esquemas de cuantificación pueden ser los que se desee e
influirán en el tamaño de la memoria RAM y en el desempeño final
del sistema. Dado que el código es RSC, se puede optar por las
arquitecturas de las figuras 13 y 14 en lugar de las arquitecturas
de las figuras 10 y 11 para realizar una aproximación
BR-SOVA con la que se consigue mejorar la tasa de
error sin incurrir en una sobrecarga de hardware considerable.
La máquina de estados de la unidad RUUFP maneja
las señales de control. Primero recibe tres puntos de fusión en los
registros de entrada. Si el último punto de fusión se encuentra
detrás de la línea de detección del segundo, entonces comienza la
actualización. Si esto no sucede, entonces comprueba si el tercero
está detrás de la línea de detección del primero. Si lo está,
entonces comienza la actualización con la información del primero y
del tercero. Finalmente, si no se cumple ninguna de las condiciones
anteriores, se descarta el tercer punto y se espera otro. La
anterior descripción es un ejemplo de implementación de la
invención que no pretende ser limitativo de su alcance.
La invención reduciría la potencia y la tasa de
errores de bit en comparación con las implementaciones anteriores.
Esto es muy interesante para cualquier empresa que diseñe chips
destinados a sistemas con restricciones energéticas como es el caso
de teléfonos móviles o equipos portátiles.
Claims (6)
1. Nuevo procedimiento para encontrar puntos de
convergencia de los caminos rastreados a partir de un instante
determinado en el diagrama trellis y que permite implementar una
decodificación SOVA óptima, caracterizado por realizar el
siguiente proceso para cada instante en el diagrama trellis:
- -
- Detectar los posibles puntos de fusión que se definen como aquellos estados que poseen bifurcaciones de las ramas del trellis, o si se mira el diagrama trellis en el sentido de rastreo, los puntos donde convergen dos o más caminos posibles,
- -
- Conservar en registros el instante de detección y el código de estado de los posibles puntos de fusión detectados, con el fm de realizar su posterior seguimiento,
- -
- Propagar los posibles puntos de fusión hacia los posteriores estados según el diagrama trellis,
- -
- Propagar los posibles puntos de fusión detectados anteriormente hacia los posteriores estados según el diagrama trellis,
- -
- Eliminar las marcas que se descarten como puntos de fusión de acuerdo a unas reglas de descarte,
- -
- Detectar puntos de fusión cuando una marca se ha propagado a todos los estados de un instante temporal del diagrama trellis.
2. Procedimiento según reivindicación 1,
caracterizado por emplear las siguientes reglas de descarte
para las marcas:
- -
- En el caso en que, producto de la propagación, se obtengan marcas idénticas, descartar todas las que tienen el origen temporal anterior o, alternativamente, descartar todas las que tienen el origen temporal posterior.
- -
- Descartar las marcas que se propagan a sólo un estado.
3. Arquitectura electrónica para implementar el
procedimiento según reivindicaciones 1 y 2, que tiene una unidad de
métrica de rama convencional (BMU), una unidad de comparación y
selección convencional (ACSU) y una unidad de memoria sobreviviente
(SMU) que comprende los siguientes elementos:
- -
- Una unidad de puntos de fusión (FPU),
- -
- una unidad de actualización de fiabilidad basada en puntos de fusión (RUUFP) y
- -
- una memoria RAM.
4. Arquitectura electrónica según la
reivindicación 3, caracterizada porque la unidad FPU se
implementa con una máquina de estados genérica, donde la etapa
combinacional está compuesta por la lógica que detecta las marcas,
la lógica que las propaga y la lógica que las procesa y la memoria
de la máquina de estados está compuesta por los registros que
almacenan las marcas, los códigos de estados origen, y las
direcciones origen.
5. Arquitectura electrónica según reivindicación
3, caracterizada porque la unidad RUUFP se implementa con
los siguientes elementos:
- -
- un banco de registros para recibir los puntos de fusión,
- -
- una máquina de estados para controlar el proceso sobre los puntos de fusión,
- -
- una unidad de actualización recursiva para obtener la fiabilidad de los bits que consta de una parte que realiza el rastreo del camino más probable, y otra que realiza la actualización de la fiabilidad de forma recursiva utilizando la topología de trellis en sentido inverso para el rastreo de caminos competidores.
6. Arquitectura electrónica según reivindicación
5 para el caso de que se empleen códigos RSC binarios
caracterizada por incluir la aproximación hacia la
decodificación BR-SOVA en la actualización de
fiabilidad que se basa en sumar al cálculo del mínimo de la
diferencia de métricas de caminos, la fiabilidad del bit competidor
que se estima con la diferencia de métricas de caminos en el
instante de tiempo que se está procesando.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200701056A ES2281309B2 (es) | 2007-04-19 | 2007-04-19 | Procedimiento y arquitectura electronica para la deteccion sova optimabasado en el rastreo de puntos de fusion. |
PCT/ES2008/000260 WO2008129102A1 (es) | 2007-04-19 | 2008-04-17 | Procedimiento y arquitectura electrónica para la detección sova óptima basado en el rastreo de puntos de fusión |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200701056A ES2281309B2 (es) | 2007-04-19 | 2007-04-19 | Procedimiento y arquitectura electronica para la deteccion sova optimabasado en el rastreo de puntos de fusion. |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2281309A1 true ES2281309A1 (es) | 2007-09-16 |
ES2281309B2 ES2281309B2 (es) | 2008-03-01 |
Family
ID=38458355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES200701056A Active ES2281309B2 (es) | 2007-04-19 | 2007-04-19 | Procedimiento y arquitectura electronica para la deteccion sova optimabasado en el rastreo de puntos de fusion. |
Country Status (2)
Country | Link |
---|---|
ES (1) | ES2281309B2 (es) |
WO (1) | WO2008129102A1 (es) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5181209A (en) * | 1989-04-03 | 1993-01-19 | Deutsche Forschungsanstalt Fur Luft- Und Raumfahrt E.V. | Method for generalizing the viterbi algorithm and devices for executing the method |
EP0606724A1 (en) * | 1993-01-14 | 1994-07-20 | AT&T Corp. | Extended list output and soft symbol output viterbi algorithms |
US20030110437A1 (en) * | 2001-12-08 | 2003-06-12 | Sooyoung Kim | Method for iteratively decoding block turbo codes and recording medium for storing iterative decoding program of block turbo codes |
US7031406B1 (en) * | 1999-08-09 | 2006-04-18 | Nortel Networks Limited | Information processing using a soft output Viterbi algorithm |
US7103831B1 (en) * | 2003-01-22 | 2006-09-05 | Conexant Systems, Inc. | Burst reliability and error locator for trellis codes |
-
2007
- 2007-04-19 ES ES200701056A patent/ES2281309B2/es active Active
-
2008
- 2008-04-17 WO PCT/ES2008/000260 patent/WO2008129102A1/es active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5181209A (en) * | 1989-04-03 | 1993-01-19 | Deutsche Forschungsanstalt Fur Luft- Und Raumfahrt E.V. | Method for generalizing the viterbi algorithm and devices for executing the method |
EP0606724A1 (en) * | 1993-01-14 | 1994-07-20 | AT&T Corp. | Extended list output and soft symbol output viterbi algorithms |
US7031406B1 (en) * | 1999-08-09 | 2006-04-18 | Nortel Networks Limited | Information processing using a soft output Viterbi algorithm |
US20030110437A1 (en) * | 2001-12-08 | 2003-06-12 | Sooyoung Kim | Method for iteratively decoding block turbo codes and recording medium for storing iterative decoding program of block turbo codes |
US7103831B1 (en) * | 2003-01-22 | 2006-09-05 | Conexant Systems, Inc. | Burst reliability and error locator for trellis codes |
Also Published As
Publication number | Publication date |
---|---|
ES2281309B2 (es) | 2008-03-01 |
WO2008129102A1 (es) | 2008-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6484283B2 (en) | Method and apparatus for encoding and decoding a turbo code in an integrated modem system | |
CN104025459B (zh) | 译码处理方法及译码器 | |
US7849377B2 (en) | SISO decoder with sub-block processing and sub-block based stopping criterion | |
DK1135877T3 (da) | Turbodekodning med soft-output-Viterbi-dekoder | |
US20030097633A1 (en) | High speed turbo codes decoder for 3G using pipelined SISO Log-Map decoders architecture | |
CN1808912B (zh) | 纠错译码器 | |
US7246298B2 (en) | Unified viterbi/turbo decoder for mobile communication systems | |
US20030084398A1 (en) | High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture | |
US8904266B2 (en) | Multi-standard viterbi processor | |
JP2007081760A (ja) | ターボ復号装置及びその方法並びにプログラム | |
WO2006116066A3 (en) | Method for decoding tail-biting convolutional codes | |
ES2281309B2 (es) | Procedimiento y arquitectura electronica para la deteccion sova optimabasado en el rastreo de puntos de fusion. | |
Suganya et al. | RTL design and VLSI implementation of an efficient convolutional encoder and adaptive Viterbi decoder | |
JPH07254861A (ja) | ヴィタビ復号方法及び畳み込み符号化伝送方法 | |
CN100364301C (zh) | 一种用于数字通信差错控制的基于分块处理的并行Turbo编译码方法 | |
ES2549773T3 (es) | Método de decodificación de canales y decodificador convolucional en bucle | |
KR101760462B1 (ko) | 터보 복호기 및 ldpc 복호기를 위한 다중 복호 방법 및 그 장치 | |
JP2006115534A (ja) | 誤り訂正符号の復号方法、そのプログラム及びその装置 | |
Bourichi | A low power parallel sequential decoder for convolutional codes | |
KR19990017546A (ko) | 터보부호기의 복호기 | |
Sathyabama et al. | VLSI Implementation of Error Correction Unit for TCM Decoders Using T-Algorithm | |
Abdellatif et al. | Fpga implementation of a multi-rate punctured viterbi decoder compatible with the dvb-t standard | |
Reddy et al. | An Efficient Low Power Viterbi Decoder Design using T-algorithm | |
Li et al. | Unified convolutional/turbo decoder architecture design based on triple-mode MAP/VA kernel | |
Bailey et al. | SLATE: A Combined Architecture for LDPC and Turbo Decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EC2A | Search report published |
Date of ref document: 20070916 Kind code of ref document: A1 |
|
FG2A | Definitive protection |
Ref document number: 2281309B2 Country of ref document: ES |