FR2718865A1 - Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi. - Google Patents

Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi. Download PDF

Info

Publication number
FR2718865A1
FR2718865A1 FR9404548A FR9404548A FR2718865A1 FR 2718865 A1 FR2718865 A1 FR 2718865A1 FR 9404548 A FR9404548 A FR 9404548A FR 9404548 A FR9404548 A FR 9404548A FR 2718865 A1 FR2718865 A1 FR 2718865A1
Authority
FR
France
Prior art keywords
values
viterbi
ram
memory
processor
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
Application number
FR9404548A
Other languages
English (en)
Other versions
FR2718865B1 (fr
Inventor
Chauvel Gerard
Villevieille Jean-Luc
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments France SAS
Original Assignee
Texas Instruments France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments France SAS filed Critical Texas Instruments France SAS
Priority to FR9404548A priority Critical patent/FR2718865B1/fr
Priority to JP12552095A priority patent/JP3641012B2/ja
Priority to EP95400863A priority patent/EP0677928A1/fr
Publication of FR2718865A1 publication Critical patent/FR2718865A1/fr
Application granted granted Critical
Publication of FR2718865B1 publication Critical patent/FR2718865B1/fr
Priority to US08/942,735 priority patent/US5867408A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Abstract

Ce dispositif comprenant un processeur de signaux numériques (1) proprement dit, une mémoire ROM (2) de programme et une mémoire RAM (3) de données reliées respectivement au processeur, est caractérisé en ce qu'à la mémoire RAM de données est associée une mémoire RAM de Viterbi (7) comportant des moyens d'exécution des opérations d'addition, de comparaison et de sélection de l'algorithme de Viterbi, et une logique (8) de commande de la mémoire RAM de Viterbi (7).

Description

La présente invention est relative aux mémoires entrant dans la
construction de processeurs de signaux numériques ou DSP et se rapporte plus particulièrement aux
mémoires RAM de Viterbi.
Généralement, la fonction d'un DSP est d'ef- fectuer des opérations avec une précision de calcul
élevée, par exemple supérieure ou égale à 32 bits.
Les trois obstacles qui limitent les perfor-
mances d'un processeur dans son fonctionnement d'addition, de comparaison et de sélection dans l'algorithme de Viterbi, sont: - le calcul arithmétique - le transfert de données - le retard pour exécuter des instructions
conditionnelles.
L'algorithme de Viterbi peut être divisé en trois processus: le processus I transforme et charge les données échantillons à partir d'une interface vers une mémoire de données RAM, le processus II calcule, les "métriques", ou tables de valeurs qui représentent chacune la différence entre une valeur observée et différentes valeurs possibles pour chaque échantillon et engendre la trace ou détermination de la suite de données ayant le maximum de vraisemblance et le processus III engendre les
données à partir de la mémoire de trace.
Le processus II nécessite un ensemble d'opéra-
tions simples telles que: addition, soustraction, com-
paraison et transfert de données pour chaque échantillon
d'entrée. Un nombre important de cycles du DSP est néces-
saire pour exécuter cet algorithme en raison du fait que
la structure du DSP n'est pas adaptée.
L'invention vise à remédier à cet inconvénient en créant une mémoire qui soit particulièrement conçue pour être associée à un processeur de signaux numériques
dans le cadre de l'exécution de l'algorithme de Viterbi.
Elle a donc pour objet un procédé de mise en
oeuvre d'un algorithme de Viterbi, d'addition, comparai-
son, sélection permettant de réduire la largeur de bande d'une mémoire RAM, caractérisé en ce qu'il consiste au cours d'un cycle n, à réaliser à partir d'une métrique ancienne Me(2j) ou table de valeurs représentant la différence entre une valeur observée et différentes valeurs possibles des calculs d'expressions Me(2j)+do et Me(2j)-do, à stocker les résultats partiels dans deux registres temporaires et au cours d'un cycle n+l suivant, à calculer à partir d'une autre métrique ancienne Me(2j+l), les expressions Me(2J+l)+dl et Me(2j+l)-dl, do et dl étant les écarts entre les valeurs théoriques de coefficients et les valeurs réelles d'échantillons, et à
comparer les résultats obtenus avec le contenu des regis-
tres temporaires pour définir deux nouvelles tables de valeurs Ms(J), Ms(j+8) et la décision de transition pour le trajet vers des états Ts(j), Ts(j+8) représentant le
résultat de la comparaison.
L'invention a également pour objet un dispositif à processeur de signaux numériques pour la mise en oeuvre du procédé défini ci-dessus, comprenant un processeur de signaux numériques proprement dit, une mémoire ROM de
programme et une mémoire RAM de données reliées respecti-
vement au processeur, caractérisé en ce qu'à la mémoire RAM de données est associée une mémoire RAM de Viterbi
comportant des moyens d'exécution des opérations d'addi-
tion, de comparaison et de sélection de l'algorithme de Viterbi, et une logique de commande de la mémoire RAM de
Viterbi.
L'invention sera mieux comprise à la lecture de
la description qui va suivre, donnée uniquement à titre
d'exemple et faite en se référant aux dessins annexés, sur lesquels:
- la Fig.1 est un schéma synoptique d'un proces-
seur de signaux numériques classique exécutant un proces-
sus d'addition, de comparaison et de sélection;
- la Fig.2 est un schéma représentant un égali-
seur de Viterbi à seize états ACS; - la Fig.3 montre deux cycles de calculs de métriques du schéma de la Fig.2;
- la Fig.4 est un schéma synoptique d'un proces-
seur de signaux numériques pourvu d'une mémoire RAM de Viterbi suivant l'invention; - la Fig.5 montre deux cycles de calcul de métriques à l'aide du processeur de la Fig.4; et - la Fig.6 est un schéma synoptique montrant
l'architecture de la RAM de Viterbi suivant l'invention.
Le processeur de signaux numériques classique représenté à la Fig.1 comporte un processeur proprement dit ou coeur du processeur de signaux numériques 1 auquel sont connectés une mémoire ROM de programme 2, une mémoire
RAM de données 3 et un circuit d'interface.
Comme indiqué par les rectangles en pointillés contenus dans le coeur 1 du processeur et les flèches, celui-ci lorsqu'il exécute un algorithme de Viterbi réalise l'opération en trois processus: - au cours du processus I, il y a acquisition de données provenant du circuit d'interface 4, transformation et transfert de ces données vers la mémoire RAM de données 3; - au cours du processus II, il y a transfert des données de la RAM 3 vers le coeur i du processeur, calcul des métriques ou tables de valeurs, qui représentent la différence entre une valeur observée et les différentes valeurs possibles, de chaque échantillon de données, élaboration de traces ou suites de données ayant le maximum de vraisemblance et nouveau stockage des résultats dans la RAM 3; - au cours du processus III, il y a production de données à partir des données de traces stockées dans la
mémoire RAM 3.
Les opérations précitées sont illustrées par le schéma de la Fig.2 sur lequel on a représenté un table 5 de valeurs anciennes stockée dans la mémoire RAM 3 du circuit de la Fig.1 et une table 6 de valeurs nouvelles résultant du traitement d'addition, comparaison, sélection
des valeurs anciennes par le coeur du processeur 1.
Les métriques anciennes et nouvelles sont
désignées par les indices Me et Ms respectivement.
Les opérations réalisées sur les métriques anciennes et les résultats obtenus placés dans la table des métriques nouvelles 6 sont matérialisées par des lignes reliant chaque case de la table 5 de métriques
anciennes à deux cases de la table 6 de métriques nouvel-
les.
Ces lignes sont représentées en tireté à l'ex-
ception des lignes reliant la métrique Me(2j) de la table 5 aux métriques Ms(J) et Ms(j+8) de la table 6 et la métrique Me(2j+l) de la table 5 aux métriques Ms(j) et
M1(j+8) de la table 6.
Au cours des opérations sur Me(2J) soit on
ajoute et on retranche do=C'2j)-P(s).
Au cours des opérations sur Me(2j+l) on ajoute
et on retranche dl=C(2j+l)-P(s).
Dans ces relations C(2j), C2(j+1) sont des coefficients et P(s) sont des échantillons contenus dans
la mémoire RAM 3.
La partie addition, comparaison, sélection, de l'algorithme égaliseur à seize états de Viterbi appliqué par exemple à un système de radiotéléphonie cellulaire GSM (figures 3 et 4) illustre l'architecture de la RAM de Viterbi. Des coefficients "C" et des échantillons d'entrée "P" sont engendrés par le processus I. Pour chaque échantillon P(s), le processus II calcule seize nouvelles métriques "Ms" à partir de la métrique précédente "Me". Pour réduire la largeur de bande de la mémoire en général deux métriques Ms(J) et Ms(j+8) sont calculées en parallèle. Les paramètres suivants interviennent dans ces calculs. C = coefficients de distorsion entre symboles DO, D1 = écart entre la valeur théorique d'un coefficient et la valeur réelle d'un échantillon P = probabilités de bits transmis Me = métrique ancienne Ms = nouvelle métrique T = décision de transition pour le trajet vers l'état j boucle s=1,120 boucle j=0,7 DO = C2j-Pj Dl=C2j+l-Pj Si Me 2j + DO > Me2j+l+D1 alors MsJ = Me2J+DO Ts,j=O autrement Msj=Me2j+1+D1 Ts,j=l fin de si Si Me2j-DO > Me2j+1-Dl alors Msj+8 = Me2j-DO, Ts,j+8=0 autrement Msj+8 = Me2J+l-Dl, Ts,j+8=1 fin de si fin de boucle La valeur d'une nouvelle métrique Ms est le maximum de deux expressions: Me2j+/-DO > Me2J+1+/-Dl. Le résultat de la comparaison engendre le trajet de décision
vers l'état T(s)(j) ou T(s)(j+8) qui est stocké à l'inté-
rieur de la mémoire T pour une utilisation ultérieure par
le processus III.
De tels trajets sont représentés sur la Fig.2 sur laquelle on voit que pour un échantillon, on effectue
seize calculs avec des coefficients différents.
L'évolution du signal d'addition, comparaison,
sélection en cours est représentée à la Fig.3.
Au cours du cycle n, la nouvelle métrique Ms(j) et le trajet de transition T(j) sont calculés à partir des métriques anciennes Me(2j) et Me(2j+1). L'opération consiste à sélectionner le maximum de deux opérations & seize bits entre Me(2j), C(2j), P(s) et Me(2j+1), C(2j+1), P(s). Le calcul de Ms(j+8) et T(s)(J+8), au cycle n+l, est
symétrique. Deux opérations "+" à seize bits, sont rempla-
cées par des opérations "-".
Les cycles n et n+l nécessitent quatre accès à
la mémoire de métriques anciennes. En général, deux mémoi-
res séparées Me(2j) and Me(2j+l) sont utilisées pour améliorer la largeur de bande de la mémoire et pour réduire le nombre de cycles de l'exécution de l'algorithme
d'addition, comparaison, sélection A.C.S.
Le déroulement en cours d'un calcul de métrique est illustré à la Fig.3 sur laquelle sont reportés tous
les facteurs intervenant dans le calcul.
Un processeur de signaux numérique pourvu d'une mémoire RAM de Viterbi suivant l'invention est représenté
à la Fig.4.
Il comporte comme le processeur de la Fig.l, un processeur 1 proprement dit auquel sont connectés une mémoire ROM 2 de programme, une mémoire RAM de données 3
et un circuit d'interface 4.
Le processeur suivant l'invention comporte en outre une mémoire RAM de Viterbi 7 séparée de la mémoire
RAM 3, connectée au processeur 1 et à laquelle est asso-
ciée une logique 8 de commande d'exécution du processus II d'addition, comparaison, sélection qui est maintenant
attribué à la mémoire RAM de Viterbi.
Les processus I et III sont toujours attribués au coeur du processeur 1 auquel est en outre attribué un
processus n concernant un autre programme.
La mémoire RAM de Viterbi 7 est vue comme une mémoire à la fois à partir du processeur de signaux
numériques et pour le processus II d'addition, comparai-
son, sélection.
Le processeur 1 utilise la RAM de Viterbi 7 comme mémoire de travail. A la fin de l'exécution du processus I, les échantillons sont disponibles pour le
traitement d'addition, comparaison, sélection sans trans-
fert de données en mémoire.
Le processeur de signaux numériques 1 n'est pas affecté par le processus II d'exécution et le processeur 1 et la mémoire RAM de Viterbi 7 sous la commande de sa
logique 8 peuvent fonctionner en parallèle.
Le graphique de l'évolution du nouveau signal d'addition, comparaison, sélection est représenté sur le
graphique de la Fig.5.
On voit sur cette figure sur laquelle toutes les phases du processus de calcul sont désignées par des références, que la mise en oeuvre de l'algorithme ACS, d'addition, comparaison, sélection, nécessite seulement un cycle de mémoire pour lire la métrique ancienne à chaque cycle. L'écart entre les valeurs théoriques et la valeur
réelle "dO" et "dl" peut être calculé une fois sur deux.
Pendant le cycle n, le résultat de Me(2j)+dO et
Me(2j)-dO sont stockés à l'intérieur d'un registre tempo-
raire. Au cours du cycle n+l, Me(2j+l)+dl et Me(2j+l)-dl sont calculés et comparés aux contenus des registres temporaires. Le maximum Ms(J) est stocké dans une nouvelle mémoire de métrique et un trajet de transition T(s)(j) est
stocké dans une mémoire "T". Un état pipeline est intro-
duit avant de stocker le résultat de Ms(j+8) et T(s)(j+8)
dans les mémoires correspondantes.
L'architecture de la RAM de Viterbi suivant l'invention va maintenant être décrite en référence à la Fig.6. La RAM de Viterbi 7 comporte la logique 8 de commande d'exécution du processus II précité reliée à un circuit générateur 9 d'adresses d'écriture et d'écriture mémoire lui- même relié à un compteur (s) 10 et à un
compteur (j) 11.
La logique 8 comporte une entrée d'initialisa-
tion INIT. Le circuit générateur d'adresses 9 est connecté
à une mémoire RAM 12 de 16x16.
La mémoire RAM de Viterbi comporte en outre des multiplexeurs 13 à 16 groupés par paires, les sorties des multiplexeurs 13 et 14 d'une part, et 15 et 16 d'autre part, étant connectées respectivement aux entrées A et B de deux unités arithmétiques et logiques 17,18 dont les sorties sont à leur tour connectées à des registres RO et
R1, 19,20.
Des registres R2 et R3, 21,22 auxquels sont associés des comparateurs 23, 24 d'établissement de valeurs
maximales sont également connectés à la logique de com-
mande 6. Les sorties des unités arithmétiques et logiques 17 et 18 sont également connectées à des entrées des
comparateurs 23 et 24.
Ils délivrent des signaux vers la mémoire RAM 12. En outre, au registre R3 22 est associé à un
registre pipeline 25.
Aux registres 21,22,25 sont associés des cir-
cuits 26,27,28 de commande et de mémorisation du résultat de comparaison connectés, les circuits 26 et 27 sont
connectés à la logique 8 et respectivement aux compara-
teurs 23,24.
Selon l'exemple de mise en oeuvre de l'algo-
rithme représenté à la figure 6, la RAM de Viterbi con-
tient deux trajets de données pour calculer en parallèle Ms(j) et Ms(j+ 8). Au cours de la phase 1, les écarts dO et dl sont calculés et le résultat stocké respectivement à l'intérieur des registres RO et R1, 19 et 20. Au cours de la phase 2, on calcule le résultat partiel à partir de Me(2j) et on place les résultats dans des registres R2 et R3, 21 et 22. Au cours de la phase 3, on calcule le maximum devant être stocké dans la nouvelle mémoire de
métrique 12.
Ms(j) et T(s)(j) sont stockés dans les nouvelles mémoires de métriques et T à la fin de la phase 3 dans la RAM 3. Ms(j+8) et T(s)(j+8) sont retardés d'une phase à travers des registres de pipeline 25 avant le stockage en mémoire. L'exécution ACS démarre au signal INIT sous le contrôle du processeur 1. Elle est commandée par les
compteurs (s), (j), 10 et 11 et le bloc logique de com-
mande 8.
L'exécution de l'algorithme est détaillé ci-
après; Phase 1: il y a calcul des écarts do=C2J-Ps et
stockage du résultat dans le registre Ro 19.
Phase 2: il y a calcul des écarts dl=C2J+1-Ps
et stockage du résultat dans le registre R1 20.
Phase 3: il y a calcul en parallèle des expres-
sions Me(2j)+do et Me(2j)-do et transfert des résultats
dans les registres R2 et R3 21 et 22.
Ms((J-1)+8) et Ts(j-1)+8) de libération de la boucle précédente sont stockés à partir du registre
pipeline 25 dans leurs mémoires respectives.
Phase 4: il y a calcul en parallèle des expres-
sions Me(2j)-do et Me(2j+l)-dl. Les résultats sont respec-
tivement comparés avec les contenus des registres R2 et
R3, 21 et 22.
Le maximum de Me(2j)-do et du contenu du regis- tre R2 21 est stocké dans Ms(j) et l'état des comparaisons
dans Ts(j).
Le maximum de Me(2j+l1)-dl et du contenu du registre Rs 22 et l'état de la comparaison T(s)(J+8) est
stocké dans le registre pipeline 25.
Les phases 1 à 4 sont répétées 8 x 120 fois.
Les opérations qui viennent d'être décrites sont
présentées ci-après.
Boucle s= 1,120 Nbre de cycles internes 120x(3x8)=2880 Boucle j= 0,7 1 RO=C(2j)-Ps Rl=C(2j+1)-P(s) 2 R2=(Me(2j)+RO) R3-(Me(2j)-RO) 3 R2=max[(R2),(Me(2j+1)+R1)] R3=max[(R3),(Me(2j+l)- R1)] T(s,j),Ms(j)=R2 {@l}1T(s,j+8),Ms(j+8)=R3 Fin de boucle Fin de boucle

Claims (10)

REVENDICATIONS
1. Procédé de mise en oeuvre d'un algorithme de Viterbi, d'addition, comparaison, sélection permettant de réduire la largeur de bande d'une mémoire RAM, caractérisé en ce qu'il consiste au cours d'un cycle n. à réaliser à partir d'une métrique ancienne Me(2J) ou table de valeurs représentant la différence entre une valeur observée et différentes valeurs possibles des calculs d'expressions Me(2J)+do et Me(2j)-do, à stocker les résultats partiels dans deux registres temporaires (21, 22) et au cours d'un
cycle n+l suivant, à calculer à partir d'une autre métri-
que ancienne Me(2J+l), les expressions Me(2j+l)+dl et Me(2j+l)-dl, do et dl étant les écarts entre les valeurs
théoriques de coefficients et les valeurs réelles d'échan-
tillons, et à comparer les résultats obtenus avec le contenu des registres temporaires (21,22) pour définir deux nouvelles tables de valeurs Ms(j), Ms(j+8) et la décision de transition pour le trajet vers des états
Ts(j), Ts(J+8) représentant le résultat de la comparaison.
2. Procédé suivant la revendication 1, caracté-
risé en ce qu'il consiste à calculer les écarts do=C(2j)-
Ps, dl=C(2j+1)-Ps entre les valeurs théoriques de coeffi-
cients et les valeurs réelles d'échantillons une seule fois.
3. Procédé suivant l'une quelconque des revendi-
cations 1 et 2, caractérisé en ce que les valeurs Ms(J) et
Ts(j) sont stockés au cours du cycle n+l.
4. Procédé suivant l'une des revendications 1 à
3, caractérisé en ce que le stockage des valeurs Ms(J+8) et Ts(j+8) est retardé d'un cycle à l'aide d'un registre
pipeline (25).
5. Procédé suivant l'une des revendications 1 à
4, caractérisé en ce que les deux tables de valeurs Ms(J),
Ms(j+8) sont calculées en parallèle.
6. Dispositif à processeur de signaux numériques pour la mise en oeuvre du procédé suivant l'une quelconque
des revendications 1 à 5, comprenant un processeur de
signaux numériques (1) proprement dit, une mémoire ROM (2) de programme et une mémoire RAM (3) de données reliées respectivement au processeur, caractérisé en ce qu'à la mémoire RAM de données est associée une mémoire RAM de Viterbi (7) comportant des moyens (15,16,17,18,19,20,25) d'exécution des opérations d'addition, de comparaison et de sélection de l'algorithme de Viterbi, et une logique
(8) de commande de la mémoire RAM de Viterbi (7).
7. Dispositif suivant la revendication 6, caractérisé en ce que la mémoire RAM de Viterbi (7)
constitue une mémoire de travail pour le processeur (1).
8. Dispositif suivant l'une des revendications
6 et 7, caractérisé en ce que la RAM de Viterbi (7) contient deux trajets de données (17,19,20 et 18,20,22,25) pour calculer en parallèle les tables de valeurs Ms(j) et Ms(j+8).
9. Dispositif suivant la revendication 8, caractérisé en ce que chacun des deux trajets de données comporte une unité arithmétique et logique (17,18), un registre (19,20) de stockage des écarts (do,dl) entre les valeurs théoriques des coefficients et les valeurs réelles des échantillons calculés à partir de deux tables de valeurs anciennes Me(2j), Me(2j+1) et un registre (21,22) de stockage de résultats partiels de calculs effectués à
partir de la table de valeurs anciennes Me(2j).
10. Dispositif suivant la revendication 9, caractérisé en ce que l'un des trajets (18,20,22,25) comporte un registre pipeline (25) connecté à la sortie du
registre (22) de stockage de résultats de calculs par-
tiels, et destiné à retarder d'un cycle, le stockage des valeurs Ms(j+8) et Ts(j+8) relatives à l'une des deux nouvelles tables de valeurs dans une mémoire RAM (12) de
la mémoire RAM de Viterbi (7).
FR9404548A 1994-04-15 1994-04-15 Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi. Expired - Fee Related FR2718865B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR9404548A FR2718865B1 (fr) 1994-04-15 1994-04-15 Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi.
JP12552095A JP3641012B2 (ja) 1994-04-15 1995-04-14 ビタービアルゴリズムの実施の方法及び装置
EP95400863A EP0677928A1 (fr) 1994-04-15 1995-04-18 Procédé et dispositif pour la mise en oeuvre d'un algorithme de Viterbi utilisant une mémoire de métrique à largeur de bande réduite (temps de cycle d'accès plus lent)
US08/942,735 US5867408A (en) 1994-04-15 1997-10-02 Process and device with digital signal processor for the implementation of a viterbi algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9404548A FR2718865B1 (fr) 1994-04-15 1994-04-15 Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi.

Publications (2)

Publication Number Publication Date
FR2718865A1 true FR2718865A1 (fr) 1995-10-20
FR2718865B1 FR2718865B1 (fr) 1996-07-19

Family

ID=9462168

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9404548A Expired - Fee Related FR2718865B1 (fr) 1994-04-15 1994-04-15 Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi.

Country Status (4)

Country Link
US (1) US5867408A (fr)
EP (1) EP0677928A1 (fr)
JP (1) JP3641012B2 (fr)
FR (1) FR2718865B1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6257756B1 (en) 1997-07-16 2001-07-10 Motorola, Inc. Apparatus and method for implementing viterbi butterflies
US6081820A (en) * 1998-02-20 2000-06-27 Siemens Energy & Automation Method and apparatus for filtering a signal using a window value
GB2335578B (en) 1998-03-17 2000-07-12 Samsung Electronics Co Ltd Add-compare selection circuit
US6272661B1 (en) * 1998-12-29 2001-08-07 Texas Instruments Incorporated Minimum memory implementation of high speed viterbi decoder
EP1058392A1 (fr) * 1999-05-31 2000-12-06 Motorola, Inc. Méthode pour réaliser dans un système de traitement de données plusieurs opérations addition-comparaison-sélection en parallèle
JP3501725B2 (ja) 2000-05-12 2004-03-02 日本電気株式会社 ビタビ復号器
US6848074B2 (en) * 2001-06-21 2005-01-25 Arc International Method and apparatus for implementing a single cycle operation in a data processing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60173930A (ja) * 1984-02-20 1985-09-07 Fujitsu Ltd パイプライン処理ビタビ復号器
JPS62135018A (ja) * 1985-12-06 1987-06-18 Fujitsu Ltd ビタビ復号器
US5150369A (en) * 1989-06-13 1992-09-22 Costa Tony M High-speed convolutional decoder
WO1993019418A1 (fr) * 1992-03-16 1993-09-30 Cirrus Logic, Inc. Procede et appareil concernant des detecteurs de sequence de type viterbi a complexite reduite

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6081925A (ja) * 1983-10-12 1985-05-10 Nec Corp 誤り訂正装置
FR2669445B1 (fr) * 1990-11-15 1993-01-08 Alcatel Radiotelephone Dispositif prevu pour le traitement de l'algorithme de viterbi comprenant un processeur et un operateur specialise.
JP3239501B2 (ja) * 1992-12-22 2001-12-17 ソニー株式会社 ビタビ復号方法及び復号装置
US5465275A (en) * 1993-11-16 1995-11-07 At&T Ipm Corp. Efficient utilization of present state/next state registers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60173930A (ja) * 1984-02-20 1985-09-07 Fujitsu Ltd パイプライン処理ビタビ復号器
JPS62135018A (ja) * 1985-12-06 1987-06-18 Fujitsu Ltd ビタビ復号器
US5150369A (en) * 1989-06-13 1992-09-22 Costa Tony M High-speed convolutional decoder
WO1993019418A1 (fr) * 1992-03-16 1993-09-30 Cirrus Logic, Inc. Procede et appareil concernant des detecteurs de sequence de type viterbi a complexite reduite

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
C.B. SHUNG / H.-D. LIN / R. CYPHER / P.H. SIEGEL / H.K. THAPAR:: "Area-Efficient Architectures for the Viterbi-Algorithm - Part I: Theory.", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 41, no. 4, April 1993 (1993-04-01), NEW YORK US, pages 636 - 644, XP000372705 *
G. FETTWEIS / H. MEYR:: "High-Speed Parallel Viterbi Decoding: Algorithm and VLSI-Architecture.", IEEE COMMUNICATIONS MAGAZINE, vol. 29, no. 5, May 1991 (1991-05-01), PISCATAWAY, NJ US, pages 46 - 55, XP000231084 *
P.G. GULAK / T. KAILAH:: "Locally Connected VLSI Architectures for the Viterbi Algorithm.", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION., vol. 6, no. 3, April 1988 (1988-04-01), NEW YORK US, pages 527 - 537 *
PATENT ABSTRACTS OF JAPAN vol. 10, no. 11 (E - 374) 17 January 1986 (1986-01-17) *
PATENT ABSTRACTS OF JAPAN vol. 11, no. 359 (E - 559) 21 November 1987 (1987-11-21) *

Also Published As

Publication number Publication date
JPH08181621A (ja) 1996-07-12
EP0677928A1 (fr) 1995-10-18
US5867408A (en) 1999-02-02
JP3641012B2 (ja) 2005-04-20
FR2718865B1 (fr) 1996-07-19

Similar Documents

Publication Publication Date Title
US11106437B2 (en) Lookup table optimization for programming languages that target synchronous digital circuits
TWI515669B (zh) 用於狀態機中資料分析之系統與方法
EP0712072A1 (fr) Procédé de mise en oeuvre de réduction modulaire selon la méthode de Montgomery
US11093682B2 (en) Language and compiler that generate synchronous digital circuits that maintain thread execution order
FR2718865A1 (fr) Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi.
EP0018298B1 (fr) Procédé pour obtenir un résultat de calcul numérique en représentation au virgule flottante avec le nombre de chiffres significatifs exacts dans ce résultat et dispositif de calcul numérique mettant en oeuvre ce procédé
FR2588142A1 (fr) Systeme permettant le traitement a haute vitesse par convolutions de donnees d'image.
FR3101980A1 (fr) Processeur
FR2593620A1 (fr) Circuit arithmetique et logique multifonction
FR2569288A1 (fr) Dispositif de calcul d'adresse pour un appareil de traitement numerique
US11539509B2 (en) Memory optimization for nested hash operations
FR2678400A1 (fr) Processeur de protocole destine a l'execution d'un ensemble d'instructions en un nombre reduit d'operation.
US20040098685A1 (en) Multi-cycle path analyzing method
FR2475763A1 (fr) Processeur numerique a structure pipeline
JP5267243B2 (ja) 動作記述変換装置、動作記述変換方法、およびプログラム
EP1162547A2 (fr) Gestion de mémoire sur place pour une FFT
EP0373042B1 (fr) Circuit intégré de programmation dynamique
EP3005107A1 (fr) Accelerateur materiel pour la manipulation d'arbres rouges et noirs
US20220130137A1 (en) Method and apparatus for searching neural network architecture
US20210152156A1 (en) Systems and method for a low power correlator architecture using distributed arithmetic
EP0006485A1 (fr) Dispositif d'adressage de pages dans un système de traitement de données
FR2500971A1 (fr) Convertisseur analogique-numerique
KR940008610B1 (ko) 고속 수렴 인자 결정 방법 및 프로세서
JPS6220590B2 (fr)
FR2896600A1 (fr) Dispositif de traitement en notation polonaise inversee pour la manipulation de tableau, et circuit integre electronique comprenant un tel dispositif de traitement

Legal Events

Date Code Title Description
ST Notification of lapse