Contributions au décodage des codes convolutifs utilisés ...

312
UNIVERSITÉ DE NEUCHÂTEL INSTITUT DE MICROTECHNIQUE Contributions au décodage des codes convolutifs utilisés dans les systèmes de communication mobile UMTS THÈSE Davide Manetti PRÉSENTÉE À LA FACULTÉ DES SCIENCES POUR L'OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES Septembre 2005

Transcript of Contributions au décodage des codes convolutifs utilisés ...

Page 1: Contributions au décodage des codes convolutifs utilisés ...

UNIVERSITEacute DE NEUCHAcircTEL INSTITUT DE MICROTECHNIQUE

Contributions au deacutecodage des codes convolutifs utiliseacutes dans les systegravemes

de communication mobile UMTS

THEgraveSE Davide Manetti

PREacuteSENTEacuteE Agrave LA FACULTEacute DES SCIENCES POUR LOBTENTION DU GRADE DE DOCTEUR EgraveS SCIENCES

Septembre 2005

ii

iii

Tesi dedicata ai miei nonni Renato e Ada Ugo e Giovanna

iv

v

vi

vii

Reacutesumeacute

La communication numeacuterique mobile est en forte expansion Ainsi le codage de canal est devenu un eacuteleacutement indispensable puisquil permet dassurer la protection de lrsquoinformation transmise en controcirclant les erreurs de transmission Le codage convolutif est lune des techniques principales de codage de canal Leacutetude preacutesenteacutee ici propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes sont avantageuses du point de vue de la reacuteduction de la complexiteacute de calcul de la qualiteacute du deacutecodage et des possibiliteacutes offertes au niveau de la reacutealisation mateacuterielle Lrsquointeacuterecirct drsquoune telle eacutetude est apparu suite aux innovations introduites par le nouveau standard UMTS Du point de vue du codage de canal ce standard emploie des codeurs convolutifs posseacutedant des longueurs de contrainte supeacuterieures aux codes des actuels standards de communication afin dameacuteliorer la protection contre les erreurs de transmission Par suite de cette modification les reacutealisations software et hardware actuellement utiliseacutees ne peuvent pas ecirctre employeacutees pour le deacutecodage des codes du nouveau standard UMTS En plus limportante longueur de contrainte de ces codes accroicirct la complexiteacute de calcul neacutecessaire au deacutecodage classique de chaque symbole proteacutegeacute Dautre part leacutelargissement de la gamme des deacutebits de transmission de lUMTS implique une forte variabiliteacute des ressources de calcul demandeacutees par lopeacuteration entiegravere de deacutecodage La premiegravere partie de ce rapport se concentre sur les meacutethodes destineacutees agrave une implantation software En analysant agrave la fois les potentialiteacutes du codage de canal eacutetabli par le standard UMTS et lrsquoeacutetat de lrsquoart relatif aux principaux algorithmes de deacutecodage convolutif des meacutethodes alternatives agrave la solution de deacutecodage classique (lalgorithme de Viterbi) sont proposeacutees Parmi les solutions eacutetudieacutees on trouve les meacutethodes iteacuteratives deacutenommeacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC Ces deux meacutethodes exploitent notamment les informations fournies par lrsquoenchaicircnement drsquoun code convolutif avec un code en bloc Cet enchaicircnement est lune des structures de protection deacutefinies par le standard UMTS Par rapport agrave lrsquoalgorithme de Viterbi ces meacutethodes iteacuteratives possegravedent des proprieacuteteacutes inteacuteressantes du point de vue de la qualiteacute de protection de linformation et de la complexiteacute de calcul Afin drsquoeacutevaluer et de comparer ces proprieacuteteacutes chaque meacutethode a eacuteteacute

viii

deacutecrite au moyen drsquoune extension du langage ANSI-C en virgule fixe prenant en consideacuteration les particulariteacutes opeacuterationnelles des processeurs de traitement numeacuterique du signal (DSP) La seconde partie de ce rapport deacutecrit la reacutealisation mateacuterielle dune meacutethode de deacutecodage en srsquoappuyant sur lrsquoalgorithme de Viterbi La conception et la synthegravese des divers modules constituant lrsquoalgorithme sont systeacutematiquement preacutesenteacutees Parmi les solutions proposeacutees et analyseacutees dans cette seconde partie une meacutethode alternative a eacuteteacute eacutetudieacutee qui facilite linitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de deacutecodage La technologie UMC25-025microm est utiliseacutee pour la synthegravese logique des diverses solutions Ce rapport de thegravese se conclut par la comparaison des avantages pratiques de lrsquoutilisation des solutions software et hardware preacutesenteacutees au cours de ce travail Les aspects consideacutereacutes sont la surface de silicium neacutecessaire aux circuits la rapiditeacute de traitement et la dissipation drsquoeacutenergie pour chaque symbole traiteacute

ix

Deacutefinitions

Cette section deacutefinit les symboles les traductions utiliseacutees (glossaire) les fonctions matheacutematiques et les abreacuteviations utiliseacutees dans ce rapport de thegravese Symboles Sauf indication contraire lors de lutilisation du symbole la signification des symboles suivants est

b nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de canal

B nombre de symboles dinformation contenus dans le message agrave proteacuteger

C paramegravetre de la fonction de meacutetrique utiliseacutee dans la meacutethode de deacutecodage seacutequentielle

dfree distance libre dun code convolutif dj distance de Hamming existant entre une seacutequence de

symboles j et la seacutequence contenant seulement des symboles 0

dij distance de Hamming qui seacutepare les seacutequences de symboles i et j

dmin distance minimale dun code en bloc dmm distance maximale entre les valeurs de meacutetriques cumuleacutees e nombre derreurs de transmission affectant la seacutequence de

symboles reccedilus Es eacutenergie de transmission pour chaque symbole du message

codeacute Eb eacutenergie de transmission pour chaque bit dinformation du

message Gi fonction geacuteneacuteratrice des codes convolutifs Gkxn matrice geacuteneacuteratrice des codes en bloc Hkxn matrice de pariteacute des codes en bloc Info Biti i-egraveme bit du message Info Bit1xi message formeacute par les bits dinformation Info Bit0 Info Bit1

hellip Info Biti k nombre de bits formant le bloc dentreacutee traiteacute par un code en

bloc

x

K longueur de contrainte dun code convolutif L nombre des chemins candidats retenus agrave chaque iteacuteration de la

meacutethode List Decoding m m-egraveme eacutetat dun processus de Markov M nombre deacutetats diffeacuterents du processus de Markov n nombre de bits de sorties de lopeacuteration de codage de canal np niveau de profondeur de la repreacutesentation graphique du

codage convolutif (diagramme en arbre et en treillis) N0 densiteacute spectrale du bruit blanc gaussien Pe probabiliteacute de croisement du model de canal Binary

symmetric channel rt t-egraveme observation particuliegravere formeacutee par les n symboles [y1t

hellip ynt] reccedilus et ayant eacuteteacute geacuteneacutereacutes par le codage du t-egraveme symbole du message

R seacutequence de symboles reccedilue par un canal discret Rc rendement du code (taux de codage ()) Rc =bn st eacutetat du processus de Markov au temps t (profondeur t dans

larbretreillis de recherche) S seacutequence complegravete des eacutetats st du processus de Markov Si seacutequence complegravete i t aspect temporel dans les repreacutesentations graphiques du

codage convolutif T(DNJ) fonction de transfert dun code convolutif xt sortie geacuteneacutereacutee par le changement deacutetats du processus de

Markov du temps t-1 au temps t x1x i vecteur-ligne repreacutesentant le message codeacute formeacute par les bits

x0 x1 hellip xi-1 X seacutequence de sortie complegravete geacuteneacutereacutee par le codeur yit i-egraveme symbole reccedilu ayant eacuteteacute geacuteneacutereacute par le t-egraveme symbole du

message wi poids du message

Glossaire

arbre de recherche Search Tree bits de terminaison Tail Bits canal de type sans meacutemoire Memoryless Channel

() Dans certaines publications le rapport Rc=bn est eacutegalement appeleacute taux de codage

mecircme simplement taux Ce document utilise la nomenclature plus reacutepandue rendement du code

xi

capaciteacute du canal Channel Capacity chemin survivant Survivor Path code concateacuteneacute de maniegravere seacutequentielle Serially Concatenated Code code en bloc Bloc Code codeur exteacuterieur Outer Encoder codeur inteacuterieur Inner Encoder croissance minimale de la meacutetrique Minimum Distance Growth deacutecision ferme Hard Decision deacutecision souple ou pondeacutereacutee Soft Decision deacutecodeur exteacuterieur Outer Decoder deacutecodeur inteacuterieur Inner Decoder distance de Hamming Hamming Distance erreurs non deacutetecteacutees Undetected Errors eacutetalement Spreading gain de codage Coding Gain longueur de contrainte Constraint Length maximum de vraisemblance Maximum Likelihood poids dun message codeacute Weight of a code word processus de Markov Markov Process protection diffeacuterencieacutee contre les erreurs Unequal Error Protection quantiteacute dinformation Information quantity recouvrement derreurs Error Concealment reacutecursion arriegravere Backward Recursion reacutecursion avant Forward Recursion rendement du code Code Rate structure en treillis Trellis theacuteoregraveme de la non-optimaliteacute Theorem of non-optimality path tri Sorting

Fonctions matheacutematiques

A Bprop la valeur de A est proportionnelle agrave celle de B ln fonction logarithme naturel log fonction logarithmique sans deacutefinition de la base max fonction de maximisation min fonction de minimisation Pr[A] probabiliteacute de leacuteveacutenement A Pr[A | B] probabiliteacute conditionnelle de leacuteveacutenement A eacutetant

donneacute leacuteveacutenement B

xii

Pr[A B] probabiliteacute jointe des eacuteveacutenements A et B A arrondissement vers -infin A arrondissement vers +infin

( ) arg maxA

F A eacuteleacutement de lensemble A qui maximise la fonction F

Abreacuteviations Abreacuteviations matheacutematiques

BestMetrt meacutetrique cumuleacutee du chemin le plus probable au

niveau de profondeur t MaxContribBranche contribution maximale de la meacutetrique de branche MinMetrCroissance augmentation minimale de la meacutetrique cumuleacutee dun

chemin incorrect normaliseacutee par le nombre de symboles reccedilus

ValMaxMetrique valeur maximale de la repreacutesentation numeacuterique de la meacutetrique cumuleacutee

Institutions de standardisation

3GPP 3rd Generation Partnership Project (projet de partenariat pour la 3G)

ANSI American National Standards Institute (organisme priveacute de normalisation ameacutericain)

ETSI Institut europeacuteen des normes de teacuteleacutecommunication ISO Organisation internationale de normalisation ITU Union internationale des teacuteleacutecommunications ITU-R Secteur des radiocommunications de lunion internationale

des teacuteleacutecommunications Abreacuteviations techniques

2G Second Generation of Mobile Communication 3G Third Generation of Mobile Communication ACS Add-compare-select operation in the Viterbi Algorithm ADC Analog to Digital Converter AFC Automatic Frequency Control AGC Automatic Gain Control

xiii

AMR Adaptive Multi-Rate (Speech Coder) AMR-NB Narrow-Band (300-3400 Hz) Adaptive Multi-Rate

(Speech Coder) AMR-WB Wide-Band (50-7000 Hz) Adaptive Multi-Rate (Speech

Coder) ARQ Automatic Repeat Request ASIC Application Specific Integrated Circuit AWGN Additive White Gaussian Noise BER Bit Error Rate CCTrCH Coded Composite Transport Channel CMOS Complementary Metal Oxide Semiconductor CRC Cyclic Redundancy Code DAC Digital to Analog Converter DCH Dedicated Channel DLL Delay Locked Loop DPE Multipath Search ou Delay Profile Estimation DSP Digital Signal Processor DTX Discontinuous Transmission FDD Frequency Division Duplex FEC Forward Error Correction FER Frame Error Rate FPGA Field Programmable Gate Array GF Galois Field GSM Global System for Mobile Communications HDL Hardware Description Language IF Intermediate Frequency kbps Kilo Bit Per Second LCC Loosely Coupled Coprocessor LSB Least Significant Bit MAC Medium Access Control MIPS Millions of Instructions per Second MMuACCs Millions of Multiply-Accumulation Operations per

Second MOPS Millions of Operations per Second MRC Maximal Ratio Combination MSB Most Significant Bit MuACC Multiply-Accumulation Operation OCT Octal (base) PAM Pulse Amplitude Modulation PhCH Physical Channel RRC Radio Resource Control

xiv

RX Receiver SF Spreading Factor SIMD Single-Instruction Multiple-Data SNR Signal to Noise Ratio SoC System on Chip RF Radio Frequency TB Trace back operation in the Viterbi Algorithm TCC Tightly Coupled Coprocessor TFCI Transport Format Combination Indicator TrCH Transport Channel TTI Transmission Time Interval TX Transmitter UE User Equipment UEP Unequal Error Protection UMTS Universal Mobile Telecommunications System UTRA Universal Terrestrial Radio Access UTRAN Universal Terrestrial Radio Access Network VHDL Very High-Speed Integrated Circuit Hardware Description

Language WCDMA Wideband Code Division Multiple Access WCwMOPS Extended version of the wMOPS measure WcwOP Extended version of the wOP measure wMOPS Millions of weighted Operations per Second (ITUETSI) wOP Weighted Operations (ITUETSI)

xv

Table des matiegraveres

REacuteSUMEacute VII

DEacuteFINITIONS IX

TABLE DES MATIEgraveRES XV

1 INTRODUCTION 1

11 CONTEXTE 1 12 OBJECTIFS DE LA THEgraveSE 3 13 ORGANISATION DU DOCUMENT 4 14 CONTRIBUTIONS 6 REacuteFEacuteRENCES 8

2 NOTIONS DE BASE SUR LA PROTECTION DE CANAL 9

21 ARTICLE DE C E SHANNON 9 22 CONTROcircLE DES ERREURS PAR CODAGE 10 23 TYPES DE CODAGE DE CANAL 12

231 Codes en bloc lineacuteaires 12 232 Codes convolutifs 23 233 Utilisation des deux types de codage 33

24 CODES ENCHAIcircNEacuteS 33 25 CONCLUSIONS 34 REacuteFEacuteRENCES 35

3 STRUCTURE DE PROTECTION EacuteTABLIE PAR LES STANDARDS UMTS 37

31 MODEgraveLE HIEacuteRARCHIQUE DU SYSTEgraveME UMTS Agrave 3 NIVEAUX DABSTRACTION 37

32 STRUCTURE DE CODAGE DE CANAL ET MULTIPLEXAGE 38 33 EXEMPLE DrsquoAPPLICATION LE SERVICE DE PAROLE ADAPTIVE-

MULTI-RATE Agrave BANDE EacuteTROITE (AMR-NB) 42 34 CONCLUSIONS 46 REacuteFEacuteRENCES 46

xvi

4 TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX CELLULAIRES SANS FIL 49

41 INTRODUCTION 49 42 FACTEURS INFLUENCcedilANT LA TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX

CELLULAIRES SANS FIL 50 43 MODEacuteLISATION DU MOYEN DE TRANSMISSION 54

431 Systegraveme de perturbation artificielle des signaux 55 432 Modegravele de canal utiliseacute dans la suite des eacutetudes 59

44 CONCLUSIONS 60 REacuteFEacuteRENCES 61

5 MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 63

51 NOTIONS DE BASE 64 511 Repreacutesentations numeacuteriques des symboles reccedilus 64 512 Critegraveres de deacutecodage 64 513 Informations de deacutecodage disponibles 65

52 MEacuteTHODES DE DEacuteCODAGE RECHERCHANT LE MESSAGE LE PLUS PROBABLE 66

521 Deacutecodage Seacutequentiel 68 522 List Decoding 71 523 Algorithme de Viterbi 74

53 MEacuteTHODES DE DEacuteCODAGE ESTIMANT LES SYMBOLES LES PLUS PROBABLES 81

531 Symbol-by-symbol Maximum A Posteriori Algorithm 82 532 Algorithme Max-Log-MAP 85 533 Algorithme Log-MAP 87 534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA) 88

54 ANALYSE CRITIQUE DES MEacuteTHODES PREacuteSENTEacuteES 89 55 CONCLUSIONS 92 REacuteFEacuteRENCES 93

xvii

6 ARCHITECTURES SOFTWARE UTILISANT UN PROCESSEUR POUR LE TRAITEMENT NUMEacuteRIQUE DU SIGNAL 95

61 INTRODUCTION 96 611 Points forts des DSP 96 612 Exemple du standard GSM 97 613 Situation actuelle 98

62 CONTEXTE DE CODAGE UMTS 99 621 Protection de canal des standards UMTS 99 622 Configuration de travail du deacutecodeur 100

63 CRITEgraveRES DE SEacuteLECTION DES SOLUTIONS FONCTIONNELLES 101 631 Evaluation de la qualiteacute de protection 101 632 Evaluation de la complexiteacute de calcul 102 633 Consideacuterations sur limplantation software 107

64 APPROCHE CLASSIQUE LALGORITHME DE VITERBI 109 641 Fonction de meacutetrique 109 642 Meacutecanisme de deacutecodage du meilleur chemin 114 643 Performances de lalgorithme de Viterbi 119 644 Consideacuterations sur cette approche classique 122

65 DEacuteCODAGE DES CODES CONVOLUTIFS INCLUANT LA VALIDATION CRC 122

651 Ideacutee exploitation des informations du codage concateacuteneacute 123 652 Principe de deacutecodage livraison dune liste de messages 124

66 LIST VITERBI ALGORITHM 125 661 Introduction 125 662 Meacutethode Serial List Viterbi Algorithm 127 663 Performances de cette meacutethode iteacuterative 128

67 LIST DECODING INTEacuteGRANT LA VALIDATION DU CRC 135 671 Nouvelle strateacutegie de deacutecodage 135 672 Consideacuterations sur limplantation 137 673 Effet de compensation par lexploitation exhaustive

du codage CRC 138 674 Complexiteacute de calcul 141

68 COMPARAISONS DES MEacuteTHODES ITEacuteRATIVES PROPOSEacuteES 146 69 CONCLUSIONS 149 REacuteFEacuteRENCES 151

xviii

7 ARCHITECTURES HARDWARE BASEacuteES SUR CIRCUITS ASIC 155

71 INTRODUCTION 156 711 Marcheacute actuel des technologies 3G 156 712 Exigences des technologies UMTS 158

72 CONSIDEacuteRATIONS SUR LIMPLANTATION MATEacuteRIELLE 162 721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille 162 722 Description HDL du deacutecodeur 163 723 Meacutethode de deacutecodage lalgorithme de Viterbi 164

73 SYSTEgraveME DE BASE 165 731 Vue densemble 165 732 Synchronisation et reacutepartition entre blocs combinatoires

et non-combinatoires 166 733 Calcul des meacutetriques des branches 167 734 Seacutelection des chemins survivants 169 735 Prise de deacutecision 175 736 Deacutesignation du chemin permettant une prise de deacutecision

correcte 178 74 SYNTHEgraveSE DU SYSTEgraveME DE BASE 182

741 Strateacutegie adopteacutee 183 742 Synthegravese des modules 183 743 Surface de silicium 188 744 Vitesse dexeacutecution 190 745 Taux dactiviteacute des signaux liant les modules 191

75 STRATEacuteGIE PIPELINE POUR LA PRISE DE DEacuteCISION 195 751 Motivation 195 752 Approche pipeline 196 753 Ameacutelioration de la strateacutegie pipeline 197 754 Redondance des opeacuterations de reconstruction deacutetats 198 755 Consideacuterations finales 204

76 CONCLUSIONS 205 REacuteFEacuteRENCES 207

xix

8 COMPARAISON DES CARACTEacuteRISTIQUES DES DEUX ARCHITECTURES SOFTWARE ET HARDWARE 209

81 INTRODUCTION 209 82 DEacuteBIT DU TRAITEMENT 210

821 Approche software 210 822 Approche ASIC 220 823 Comparaison des potentialiteacutes de deacutebit de traitement

des deux approches 221 83 DISSIPATION DEacuteNERGIE PAR SYMBOLE TRAITEacute 224

831 Approche software 224 832 Approche ASIC 228 833 Comparaison des dissipations deacutenergie des deux approches

software et hardware 232 84 SURFACE DE SILICIUM 235

841 Processeurs DSP 235 842 Systegraveme de base ASIC 236 843 Comparaison des demandes en surface de silicium des deux

approches software et hardware 237 85 CONCLUSIONS DSP OU ASIC 238 REacuteFEacuteRENCES 242

9 CONCLUSIONS 245

REMERCIEMENTS 249

ANNEXES 251

CURRICULUM VITAE 287

xx

1

1 Introduction

Cette thegravese eacutetudie la reacutealisation software et hardware de meacutethodes pour le deacutecodage de donneacutees proteacutegeacutees par un codage convolutif Les codes convolutifs ainsi que la structure de protection traiteacutes sont ceux des standards de transmission numeacuterique sans fil UMTS

Ce chapitre preacutesente les motivations qui ont meneacute agrave ce travail de thegravese ses objectifs ainsi que lorganisation de ce rapport Finalement ce chapitre preacutesentera les principales contributions apporteacutees au domaine du deacutecodage convolutif

11 Contexte

Au cours des dix derniegraveres anneacutees nous avons assisteacute agrave une augmentation continue de la demande pour des systegravemes de transmission numeacuteriques fiables [Lust00] Lexplosion de leacutechange dinformations ainsi que les nouvelles possibiliteacutes offertes par le traitement numeacuterique du signal ont accentueacute cette tendance Parmi les critegraveres de deacuteveloppement des reacutecents standards de communication mobile la qualiteacute de la transmission est devenue un facteur deacuteterminant En effet comme les progregraves techniques et leacutevolution des besoins du marcheacute ont eacutelargi la gamme des applications potentielles (Table 1-1) la qualiteacute est devenue un eacuteleacutement indispensable des actuels systegravemes de communication numeacuterique La qualiteacute dune transmission numeacuterique deacutepend principalement de la probabiliteacute derreur des symboles transmis [Thit93] Cette probabiliteacute eacutetant fonction du rapport signal sur bruit une ameacutelioration de la qualiteacute de transmission peut ecirctre envisageacutee en augmentant la puissance deacutemission et en diminuant le facteur de bruit du reacutecepteur Malheureusement cette solution implique des coucircts eacutenergeacutetiques et technologiques ce qui en limite sensiblement lemploi Le controcircle des erreurs par codage est ainsi indispensable

2

Communication Personnels Bureautiques Voix Images Messages Accegraves aux reacuteseaux

drsquoinformations (Internet) Modem hellip

InformationsNouvelles Gestion de budget Cleacute eacutelectronique PasseportID hellip

Courrier eacutelectronique Agenda synchroniseacute Dictionnaire eacutevolutif Fax Divers outilsprogrammes hellip

Neacutegociation Monitorage meacutedical Seacutecuriteacute Tele-banking Reacuteservation de

restauranthocirctelspectacles AchatVente Transfert dargent Paiements hellip

Surveillance meacutedicale Diagnostic agrave distance Consultation agrave distance

Surveillance agrave distance Alarme GPS Appel durgence demande

drsquoaide hellip

Voyages Distraction hellip Roaming GuideCarte des villes Informations locales GPS Meacuteteacuteo Traductions hellip

Jeux eacutelectroniques PhotoVideacuteoMusiques RadioTV Chat hellip

hellip

Table 1-1 cateacutegories de services sans fil et exemples correspondants qui sont envisageables dans un proche futur [Gath02]

Lrsquoutilisation de techniques de traitement numeacuterique du signal et notamment le codage des informations agrave transmettre permet la deacutetection etou la correction drsquoeacuteventuelles erreurs de transmission Comme ces techniques permettent de controcircler les erreurs induites par le bruit du canal de transmission elles sont nommeacutees codages de canal Parmi les principales techniques existantes le codage en bloc et le codage convolutif sont preacutedominantes Le codage convolutif est fortement diffuseacute dans les systegravemes de communication numeacuterique sans fil La strateacutegie de base du codage consiste en lrsquoinsertion drsquoune quantiteacute controcircleacutee de redondance dans la seacuterie dinformations agrave envoyer au moyen dun nouveau codage des informations (Figure 1-1) La proceacutedure de geacuteneacuteration de

3

redondance traite les informations soit en blocs (codage en bloc) soit de maniegravere continue (codage convolutif) Laddition dune redondance confegravere au deacutecodeur la capaciteacute de deacutetection etou de correction dun nombre fini derreurs de transmission

codage decanal transmetteur reacutecepteur deacutecodage

de canal

donneacuteesreconstruitessignal

sourcede bruit

canal detransmission

donneacutees

validation delinteacutegriteacute des

donneacuteesreconstruites

Figure 1-1 positionnement du codage de canal dans les systegravemes de communication [Shan49]

Le nombre drsquoerreurs affectant la transmission des informations deacutepend du moyen de transmission Le deacutebit des erreurs et sa distribution temporelle diffegraverent si le moyen de transport est une ligne teacuteleacutephonique une ligne numeacuterique un lien satellite ou un canal de communication sans fil La qualiteacute de la transmission numeacuterique par reacuteseaux cellulaires sans fil est influenceacutee par des facteurs techniques tels que les types de modulation et dantenne des systegravemes de communication ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee son environnement la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier Pour reacuteduire les effets des erreurs de transmission les standards UMTS preacutevoient un codage de canal dont le niveau de protection peut ecirctre adapteacute aux exigences des applications Il est degraves lors eacutevident que lintroduction de techniques de codage de canal provoque une augmentation de la complexiteacute de calcul du traitement numeacuterique du systegraveme de communication Limportance de cette augmentation est fonction du niveau de protection envisageacute par lopeacuteration de codage lexigence dune protection plus efficace contre les erreurs de transmission implique lutilisation de meacutethodes de codage plus complexes rendant ainsi les proceacutedures de deacutecodage oneacutereuses

12 Objectifs de la thegravese

Lune des motivations agrave lorigine de leacutetablissement des nouveaux standards de communication mobile de la troisiegraveme geacuteneacuteration (3G) UMTS est

4

lameacutelioration de lefficaciteacute de protection contre les erreurs de transmission Ces standards reacutepondent agrave cette exigence par la mise agrave disposition de techniques de codage turbo ainsi que de codes convolutifs plus performants que ceux deacutefinis par les standards de la seconde geacuteneacuteration (2G) [ETSI909] [Ts25212] Laugmentation du deacutebit de transmission maximal et lemploi de codes convolutifs plus complexes augmentent sensiblement la complexiteacute de calcul des meacutethodes de deacutecodage dites classiques utiliseacutees dans les systegravemes de la 2G Ces meacutethodes classiques sont baseacutees sur lalgorithme de Viterbi Leacutetude preacutesenteacutee dans le cadre de ce rapport de thegravese eacutevalue lefficaciteacute des implantations software et des reacutealisations mateacuterielles des meacutethodes classiques de deacutecodage dans le nouveau contexte de codage des standards UMTS Des meacutethodes ameacutelioreacutees ainsi que des solutions inteacuteressantes sont proposeacutees La structure de protection des standards UMTS permet limplantation software de meacutethodes ameacutelioreacutees de deacutecodage meacutethodes qui exploitent iteacuterativement et exhaustivement les informations suppleacutementaires du codage en bloc cyclique Ces meacutethodes possegravedent des caracteacuteristiques inteacuteressantes du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage Le deacuteveloppement dune reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif est eacutegalement analyseacute Lutilisation de lalgorithme de Viterbi permet leacutetude de solutions alternatives de reacutealisation Les aspects consideacutereacutes sont le deacutebit de traitement et la dissipation deacutenergie Ce rapport se conclut par une comparaison des potentialiteacutes des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Lanalyse critique examine le deacutebit de traitement la dissipation deacutenergie et la surface de silicium des circuits Cette comparaison permet didentifier les points forts des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Les implantations software sont valideacutees en utilisant la structure de codage du service de parole AMR-NB agrave 122kbps [Ts26071] [Ts26101] Lrsquoanalyse de la reacutealisation mateacuterielle drsquoun deacutecodeur convolutif est faite sur la base de quatre codages convolutifs posseacutedant diffeacuterentes caracteacuteristiques de protection (standards GSM [ETSI909] et UMTS [Ts25212])

13 Organisation du document

Ce rapport de thegravese est organiseacute comme suit Le Chapitre 2 introduit briegravevement le lecteur dans le domaine du codage de canal en passant de la contribution pionniegravere donneacutee par Shannon aux principes du controcircle des erreurs par codage enchaicircneacute

5

La structure et les objectifs de la protection de canal eacutetabli par le standard UMTS [Ts25212] sont traiteacutes dans le troisiegraveme chapitre Le cas de la protection des donneacutees du service de parole AMR-NB agrave 122 kbps y est illustreacute agrave titre dexemple Cette structure sera ulteacuterieurement utiliseacutee au Chapitre 6 pour la validation et lanalyse des performances des implantations software des meacutethodes de deacutecodage les plus inteacuteressantes Le quatriegraveme chapitre traite la transmission de donneacutees par reacuteseaux cellulaires sans fils Les facteurs influanccedilant la transmission sont preacutesenteacutes ainsi que la modeacutelisation du canal de transmission En sappuyant sur les connaissances preacutesenteacutees du Chapitre 2 au Chapitre 4 le Chapitre 5 passe en revue les principes de deacutecodage des codes convolutifs ainsi que les meacutethodes les plus repreacutesentatives de ce codage Les meacutethodes preacutesenteacutees sont le Deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Bidirectional Soft Output Viterbi Algorithm Le Chapitre 5 se termine par une comparaison et une discussion des caracteacuteristiques algorithmiques et de la reacutealisation de ces algorithmes Limplantation software de meacutethodes de deacutecodage de codes convolutifs fait lobjet du sixiegraveme chapitre Ce chapitre analyse agrave la fois les potentialiteacutes de la structure de protection eacutetablie par le standard UMTS ainsi que les caracteacuteristiques des principes de deacutecodage afin de deacuteterminer les performances envisageables pour une implantation software Parmi les meacutethodes eacutetudieacutees on trouve non seulement lalgorithme de Viterbi mais eacutegalement des meacutethodes iteacuteratives de deacutecodage Ces meacutethodes iteacuteratives sont une nouvelle reacutealisation de la meacutethode List Viterbi Algorithm ainsi que la nouvelle meacutethode List Decoding inteacutegrant la validation CRC Le sujet du Chapitre 7 est la reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif La meacutethode choisie est lalgorithme de Viterbi Les analyses et les solutions proposeacutees se basent sur les reacutesultats de la synthegravese logique (outil Synopsys technologie UMC25-025microm [UMC25]) en deacutecomposant lalgorithme en eacuteleacutements constituants Parmi les solutions analyseacutees on trouve une strateacutegie novatrice pour lexeacutecution parallegravele de plusieurs opeacuterations de prise de deacutecision une meacutethode alternative dinitialisation de cette opeacuteration ainsi quune strateacutegie exploitant la redondance des opeacuterations de reconstruction

6

Le Chapitre 8 discute les coucircts des solutions software et hardware proposeacutees Les aspects consideacutereacutes sont la surface de silicium la rapiditeacute de traitement et la dissipation deacutenergie par symbole traiteacute Ce rapport se termine par les conclusions finales de leacutetude effectueacutee eacutetablies dans le Chapitre 9

14 Contributions

Cette section eacutenumegravere les contributions principales apporteacutees par cette eacutetude des meacutethodes de deacutecodage Apregraves une premiegravere partie introductive ce rapport preacutesente agrave la fois une analyse critique des meacutethodes de deacutecodage convolutif existantes la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software leacutetude dalternatives pour la reacutealisation mateacuterielle de lalgorithme de Viterbi ainsi quune analyse critique des reacutesultats de leacutetude Une premiegravere contribution est fournie en Chapitre 5 Elle consiste en la preacutesentation globale des principes de fonctionnement et des proprieacuteteacutes des algorithmes de deacutecodage convolutif y inclus de leacutetat de lart correspondant et de lanalyse critique des algorithmes les plus repreacutesentatifs Les contributions principales du Chapitre 6 sont la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software exploitant iteacuterativement les informations suppleacutementaires du codage en bloc CRC la meacutethode List Viterbi Algorithm (LVA) et la meacutethode List Decoding inteacutegrant la validation CRC Les contributions du Chapitre 6 sont

bull Proposition dune nouvelle reacutealisation de la meacutethode List Viterbi Algorithm Cette meacutethode qui envisage lrsquoameacutelioration de la qualiteacute de protection de lrsquoalgorithme de Viterbi a eacuteteacute originalement proposeacutee dans le contexte de codage des standards GSM Dans ce chapitre cette meacutethode est revaloriseacutee en proposant une nouvelle reacutealisation conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel montrant ainsi sa faisabiliteacute et son efficaciteacute de protection dans ce nouveau contexte de codage

bull Proposition dune nouvelle meacutethode de deacutecodage iteacuterative la meacutethode List Decoding inteacutegrant la validation CRC Une nouvelle reacutealisation plus efficace de lalgorithme List Decoding a permis la proposition de cette meacutethode de deacutecodage iteacuterative A la diffeacuterence de la meacutethode preacuteceacutedente cette meacutethode envisage la reacuteduction de la charge de calcul

7

tout en gardant la mecircme qualiteacute de protection que lrsquoalgorithme de Viterbi

bull Reacutealisation et analyse critique de limplantation software de lalgorithme de Viterbi conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel Les aspects de limplantation ses potentialiteacutes et sa complexiteacute de calcul sont preacutesenteacutes

Lanalyse critique des reacutealisations software preacutesenteacutees dans le Chapitre 6 utilise la structure de codage eacutetablie pour le service de parole AMR-NB agrave 122kbps ainsi quune strateacutegie deacutevaluation de la complexiteacute de calcul qui a eacuteteacute deacuteveloppeacutee speacutecifiquement pour ce domaine dapplication Les contributions du Chapitre 7 sont la proposition et lanalyse critique de solutions alternatives de reacutealisation mateacuterielle de lalgorithme de Viterbi

bull Meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation

bull Strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme

bull Strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations impliqueacutees dans le deacutecodage du chemin Lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages deacutepargne deacutenergie dune telle strateacutegie de prise de deacutecision

bull Explication des aspects lieacutes agrave la reacutealisation mateacuterielle dune meacutethode geacuteneacuterale de deacutecodage baseacutee sur lalgorithme de Viterbi

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie UMC25-025microm) La derniegravere contribution au domaine du deacutecodage convolutif est lanalyse critique des reacutealisations logicielles et mateacuterielles preacutesenteacutee au Chapitre 8 Ce chapitre compare les coucircts et les potentialiteacutes des deux approches software et hardware tels que le deacutebit de traitement la consommation drsquoeacutenergie et la surface de silicium du circuit Les potentialiteacutes sont estimeacutees sur la base des informations disponibles sur le marcheacute (printemps 2003) des DSP et sur la base de la technologie de synthegravese UMC25-025microm

8

Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

9

2 Notions de base sur la protection de canal

Ce chapitre introduit les notions fondamentales relatives agrave la protection des donneacutees contre les erreurs de transmission

La Section 21 reacutesume larticle pionnier de Shannon qui fixe les bases de la theacuteorie de linformation en stipulant quune transmission avec un taux derreurs controcirclable est possible agrave travers un canal bruiteacute

La Section 22 deacutecrit deux modes de controcircle des erreurs par codage soit le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) A partir de ces notions la section suivante introduit les principes du codage en bloc lineacuteaire et du codage convolutif Les caracteacuteristiques de ces codages ainsi que les capaciteacutes potentielles de correction derreurs sont ensuite discuteacutees

La Section 24 preacutesente un rappel des principes du controcircle des erreurs par codage enchaicircneacute Linteacuterecirct de lenchaicircnement de plusieurs opeacuterations de codage de canal ndashsoit en seacuterie soit en parallegravele- y est briegravevement preacutesenteacute

21 Article de C E Shannon

La theacuteorie de linformation est neacutee en 1948 avec larticle de C E Shannon A Mathematical Theory of Communication [Draj02] Cette theacuteorie deacuteterminait les limites de performance des systegravemes de communication numeacuterique et anticipait notablement les besoins pratiques de ce type de communication En geacuteneacuteralisant le scheacutema dun systegraveme de communication (Figure 2-1) Shannon preacutesente des notions qui savegravereront ecirctre agrave la base de la theacuteorie de

10

linformation Dans ce scheacutema Shannon identifie cinq eacuteleacutements principaux [Shan49]

bull La source dinformations cet eacuteleacutement geacutenegravere le message agrave transmettre message qui appartient agrave un groupe preacutedeacutefini de messages possibles

bull Le transmetteur cet eacuteleacutement est responsable de la preacuteparation du message de maniegravere agrave permettre sa transmission

bull Le canal le canal de transmission entraicircne des modifications du signal selon les caracteacuteristiques physiques du media de communication La modeacutelisation du canal se base sur plusieurs paramegravetres et eacuteleacutements dont certains possegravedent des proprieacuteteacutes non-preacutedictives

bull Le reacutecepteur la tacircche de cet eacuteleacutement est la reconstruction etou lestimation du message original agrave partir du signal reccedilu

bull Le destinataire cet eacuteleacutement constitue lentiteacute agrave qui le message est adresseacute

sourcedinformations transmetteur reacutecepteur destinataire

messagemessage

reconstruitou estimeacute

signalreccedilusignal

sourcede bruit

canal detransmission

Figure 2-1 modegravele geacuteneacuterique des systegravemes de communication [Shan49]

Parmi les nombreuses informations preacutesenteacutees dans larticle de Shannon il convient de citer limportance du seconde Theacuteoregraveme Ce theacuteoreme montre quune communication numeacuterique fiable est possible via un canal de transmission bruiteacute en recourrant agrave un systegraveme dencodage suffisamment complexe [Shan49] Toutefois Shannon nindique pas la meacutethode pour atteindre ce type de communication

22 Controcircle des erreurs par codage

Suite agrave la publication des articles de Shannon une strateacutegie de codage baseacutee sur la geacuteneacuteration du signal numeacuterique agrave transmettre en deux eacutetapes sest imposeacutee (Figure 2-2) La premiegravere eacutetape consiste principalement en leacutelimination de la redondance de linformation dans le message ou du moins

11

en sa reacuteduction Cette eacutetape est nommeacutee codage de source Dans une deuxiegraveme eacutetape le codage de canal insegravere une redondance controcircleacutee dans le message afin de permettre la gestion des erreurs de transmission par codage (Error Control Coding)

codage desource

codagede canal

messagemessagecodeacutesignal agravetransmettre

transmetteursourcedinformations

traitement numeacuterique du signal

Figure 2-2 principe du controcircle des erreurs par codage Encore aujourdhui plus de 50 apregraves la publication des articles de Shannon le principe de dissociation des deux eacutetapes de codage (codage de source et de canal) est toujours appliqueacute Toutefois on favorise actuellement leacutechange dinformations entre les divers eacuteleacutements de la chaicircne de transmission et de reacuteception Lobjectif du codage de canal est deacutetablir un systegraveme de controcircle des erreurs par un nouveau codage du message Ceci se reacutealise en creacuteant et en inseacuterant une certaine redondance au message Cette redondance permet au reacutecepteur de deacutetecter voire de corriger les erreurs de transmission (Figure 2-3) [Karn95] Naturellement la proceacutedure de geacuteneacuteration de la redondance doit ecirctre adapteacutee aux caracteacuteristiques du support de transmission et doit ecirctre connue par le systegraveme de deacutecodage Les meacutethodes de controcircle des erreurs se regroupent principalement en deux modes dutilisation le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) Lobjectif du mode ARQ est lajout dune petite quantiteacute de redondance au message de maniegravere agrave permettre la deacutetection deacuteventuelles erreurs de transmission Dans le cas dune deacutetection derreurs le deacutecodeur demande la retransmission du message erroneacute Par contre dans le cas du mode FEC la redondance introduite permet de deacutetecter et corriger au niveau du deacutecodeur un nombre fini derreurs La quantiteacute de redondance neacutecessaire est naturellement plus grande pour le mode FEC que pour le mode ARQ

12

deacutecodagede source

deacutecodagede canal

messagecorrigeacute etoucommunicationde la preacutesencederreurs

message codeacuteobtenu par ladeacutemodulationdu signal reccedilu

reacutecepteur

destinataire

traitement numeacuterique du signal

Figure 2-3 principe du deacutecodage dun message proteacutegeacute par codage de canal

Le principal deacutesavantage du mode FEC est lutilisation constante dune plus large bande passante mecircme en labsence derreurs Cette meacutethode sapplique surtout pour des systegravemes de communication ougrave le retard de retransmission nest pas acceptable Geacuteneacuteralement pour des systegravemes ayant des taux derreurs raisonnables les coucircts lieacutes aux demandes et aux retransmissions des blocs de signal erroneacutes (mode ARQ) sont normalement moins importants que ceux causeacutes par lusage dune bande passante plus large (mode FEC) On observe que pour des applications supportant un retard de transmission un mode mixte (hybrid ARQ-FEC) permettant de beacuteneacuteficier des avantages des deux approches est couramment utiliseacutee Gracircce agrave la redondance fournie par le mode FEC le systegraveme cherche deacuteventuelles erreurs qui sont ensuite corrigeacutees Si le taux derreurs est supeacuterieur agrave celui supportable par la meacutethode FEC la meacutethode ARQ intervient en exigeant la retransmission du message [Noki00] [Pana01]

23 Types de codage de canal

231 Codes en bloc lineacuteaires

Alors que Shannon a deacutefini les limites drsquoune communication fiable Hamming et Golay se sont inteacuteresseacutes au deacuteveloppement du premier systegraveme permettant un controcircle des erreurs ce qui a donneacute naissance agrave la branche matheacutematique de la theacuteorie du codage (coding theory) [Vale98] Le meacuterite de la deacutecouverte du premier code permettant la correction des erreurs est attribueacute agrave Hamming En 1946 alors qursquoil travaillait dans les laboratoires Bell il eacutetait frustreacute par la non-fiabiliteacute des ordinateurs de ce temps-lagrave les ordinateurs eacutequipeacutes de systegravemes de deacutetection derreurs arrecirctaient preacutematureacutement lexeacutecution des programmes en preacutesence derreurs Ainsi

13

Hamming chercha un moyen pour coder les donneacutees drsquoentreacutees de maniegravere agrave ce que les ordinateurs puissent non seulement deacutetecter les erreurs mais eacutegalement les corriger Il proposa de regrouper les donneacutees en paquets de 4 bits afin de deacuteterminer 3 bits suppleacutementaires par combinaison lineacuteaire (formule (21) Table 2-1) Les ordinateurs disposaient ainsi dinformations suffisantes pour pouvoir identifier et corriger lrsquoeacuteventuelle erreur preacutesente dans un tel bloc eacutelargi agrave 7 bits (Figure 2-8) [Vale98] En 1950 Hamming publia dans le The Bell System Technical Journal les reacutesultats de son eacutetude sur les codes corrigeant une erreur unique [Hamm50]

Message Bits de pariteacute

Message codeacute Message Bits de pariteacute

Message codeacute

0000 000 0000000 1000 101 1000101 0001 011 0001011 1001 110 1001110 0010 110 0010110 1010 011 1010011 0011 101 0011101 1011 000 1011000 0100 111 0100111 1100 010 1100010 0101 100 0101100 1101 001 1101001 0110 001 0110001 1110 100 1110100 0111 010 0111010 1111 111 1111111

Table 2-1 exemple de code de Hamming (74) Pour chaque groupe de 4 bits (message) ce code geacutenegravere 3 bits suppleacutementaires (bits de pariteacute) formant ainsi un message codeacute de 7 bits Leacutequation (21) deacutefinit la combinaison lineacuteaire permettant la geacuteneacuteration des messages codeacutes

Les premiers codes en bloc montraient des limites importantes la correction drsquoune erreur unique demandait un nombre conseacutequent de bits suppleacutementaires Cet aspect indeacutesirable poussa Golay dans le perfectionnement de la geacuteneacuteration de codes en bloc Ce travail permit la deacutefinition de codes dont les capaciteacutes de correction eacutetaient supeacuterieures agrave celles des codes initiaux de Hamming [Vale98] A partir de ce reacutesultat prometteur dautres codes ont eacuteteacute ensuite deacuteveloppeacutes et raffineacutes eacutelargissant la gamme des codes en bloc et le nombre de contributions au domaine de la theacuteorie du codage En particulier [Proa95] [Vale98] [Liew02]

bull Les codes Reed-Muller (RM) qui par rapport aux codes de Hamming et Golay permettent dobtenir une vitesse de deacutecodage supeacuterieure un

14

choix plus vaste de tailles des blocs sortants (code words) et une ameacutelioration des proprieacuteteacutes de correction

bull Les codes cycliques (Cyclic Redundancy Codes CRC) qui possegravedent des proprieacuteteacutes matheacutematiques particuliegraveres favorisant la reacutealisation mateacuterielle de lrsquoencodeur et du deacutetecteur drsquoerreurs (Figure 2-9) Ainsi ils sont principalement utiliseacutes pour la deacutetection drsquoerreurs

bull Le codes Bose-Chaudhuri-Hocquenghem (BCH) repreacutesentant une large classe des codes cycliques qui ont eacuteteacute deacutecouverts simultaneacutement par Hocquenghem et par le groupe Bose et Ray-Chaudhuri La taille des messages codeacutes vaut n=qm-1 ougrave m est une valeur entiegravere et q la taille de lalphabet du code Les codes BCH permettent lutilisation dun alphabet non-binaire (qgt2)1 Lutilisation des codes dans un champ de Galois (Galois fields) GF(q) plus eacutetendu (qgt2) permet dameacuteliorer la qualiteacute de protection contre les concentrations temporelles derreurs (Burst errors) Lexemple le plus repreacutesentatif est la famille de codes Reed Solomon

Principe des codes en bloc Chaque famille de codes possegravede des caracteacuteristiques et potentialiteacutes propres bien quelles aient eacuteteacute deacuteveloppeacutees en suivant le mecircme principe le regroupement des symboles dentreacutee en blocs afin de leur ajouter une quantiteacute controcircleacutee de redondance (Figure 2-4)

codeur enbloc (nk)

deacutecodeurcode en

bloc (nk)

message k symboles

communication de lapreacutesence derreurs

message codeacute(Code Word) n symboles

message codeacute(Code Word) reccedilu n symboles

message deacutecodeacute k symboles

Figure 2-4 signaux dentreacutee et de sortie du codage et du deacutecodage des codes en blocs

En consideacuterant le cas dun code binaire lineacuteaire (nk) la strateacutegie commune des codes en blocs est la modification de la repreacutesentation numeacuterique des 2k messages possibles dentreacutees Lutilisation dun espace de codage plus grand de celui utiliseacute pour repreacutesenter le message introduit la redondance neacutecessaire au codage de canal (Figure 2-5) Si la transformation dun espace de codage agrave lautre se passe de maniegravere lineacuteaire le code est appeleacute code lineacuteaire (linear code) [Lust00] 1 Un codage qui utilise un alphabet contenant un nombre qgt2 de symboles est dit non-

binaire (nonbinary coding)

15

2k messages

2k messages utiliseacutes sur 2n messagesdisponibles (Code Words)

Figure 2-5 principe de linsertion de redondance par une nouvelle repreacutesentation du message utilisant un plus grand espace de codage

Un exemple est le code de Hamming (74) [Proa95] qui utilise 16 messages codeacutes dans un espace de 128 messages possibles Le message codeacute x1x7 est formeacute par la multiplication (modulo 2) des bits dinformation du message Info Bits1x4 par une matrice dite geacuteneacuteratrice qui deacutecrit les combinaisons lineacuteaires utiliseacutees On a donc

0 1 6 0 1 3

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

x x x Info Bits Info Bits Info Bits

= sdot (21)

ougrave le vecteur-ligne Info Bits1x4 repreacutesente les 4 bits formant le message agrave proteacuteger En geacuteneacuteral un message codeacute xn obtenu en utilisant un code lineacuteaire (nk) est deacutecrit par la relation = sdot1timesn 1timesk ktimesn Info Bits Gx (22) ougrave le vecteur-ligne Info Bits1xk repreacutesentent les k bits du message et Gkxn est la matrice geacuteneacuteratrice Chaque code est normalement speacutecifieacute par le nombre de bits du message codeacute n et par le nombre k de bits du message original agrave proteacuteger (appeleacutes bits dinformations Information bits) Si la nouvelle repreacutesentation est formeacutee par la simple concateacutenation drsquoun nombre de bits suppleacutementaires le code est appeleacute systeacutematique et les bits suppleacutementaires sont deacutenommes bits de pariteacutes

16

(Parity bits) Le rapport entre les tailles de ces deux messages Rc=kn est appeleacute rendement du code (Code Rate) Distance de Hamming et poids dun message Un important paramegravetre caracteacuterisant le code en bloc est la distance minimale existant entre les divers messages codeacutes (Minimal distance of the code) [Proa95] qui se mesure par la distance de Hamming (Hamming Distance) La distance de Hamming dij entre deux messages i et j indique le nombre de cas ougrave les symboles correspondants des deux messages sont diffeacuterents En utilisant cette notion la distance minimale dmin du code est deacutefinie comme la distance dij la plus petite existant entre les messages geacuteneacutereacutes par le code en bloc min =min i j ijd dne (23)

Dans le cas de codes en bloc lineacuteaires la recherche de la distance minimale dmin peut ecirctre simplifieacutee Si les messages sont geacuteneacutereacutes par des fonctions lineacuteaires la diffeacuterence entre deux messages est eacutegalement un message [Proa95] Soit wi le poids (weigth) dun message codeacute i identifiant le nombre de ses eacuteleacutements non-nuls la distance minimale dmin (23) peut ecirctre deacutefinie ainsi

min =min

est le message codeacute zeacutero (message formeacute uniquement de zeacuteros)

iwd ne 0i i i

0i (24)

En utilisant la relation (24) la recherche de la distance minimale se reacuteduit au calcul du poids de 2kndash1 messages au lieu de deacuteterminer 2k-1middot(2kndash1) distance de Hamming [Proa95]

17

Qualiteacute de protection En labsence dun codage de canal ouet dune redondance suffisante des informations contenues dans le message agrave coder (dmin=1) il nest pas possible de deacutetecter si le message reccedilu est corrompu (Figure 2-6)

1110

1011

deacutecodeur

1110

1011

encodeur

Figure 2-6 envoi dun message sans protection Le deacutecodeur na aucun moyen de deacutetecter la transmission erroneacutee des donneacutees

En preacutesence dun message codeacute (dmingt1) le deacutecodeur est confronteacute agrave deux situations possibles (Figure 2-7)

bull le message reccedilu appartient au sous-ensemble des messages utiliseacutes lors de lencodage

bull le message reccedilu appartient au sous-ensemble des messages qui ne sont pas utiliseacutes par le codeur en bloc Cette situation indique quon est en preacutesence dune transmission erroneacutee du message

Un message est deacutefini comme valide sil appartient au groupe de messages utiliseacutes par le codage en bloc La meacutethode de base pour veacuterifier la validiteacute dun message utilise une matrice Hkxn appeleacutee matrice de pariteacute (parity-check matrix) Cette matrice est deacuteriveacutee de la matrice de geacuteneacuteration Gkxn (22) de maniegravere agrave ce que la relation

est le vecteur ligne repreacutesant les bits du message reccediluest le vecteur ligne formeacute que par des zeacuteros

= sdot Tktimesn 1timesn 1timesk

1timesn

1timesk

rH r 0

0 (25)

soit satisfaite seulement en preacutesence dun message valide Par rapport agrave lexemple (21) preacuteceacutedemment illustreacute sa matrice de pariteacute est

18

1 1 1 0 1 0 00 1 1 1 0 1 01 1 0 1 0 0 1

=3times7H (26)

[Proa95] Lrsquoinvaliditeacute drsquoun message correspond ainsi neacutecessairement agrave une transmission erroneacutee des donneacutees

deacutecodeur

1010 011

000 1011

1010 011

000

1010 010

0101011

encodeur

1011

sous-ensemble demessages codeacutes utiliseacutespar le codeur en bloc

sous-ensemble de messagescodeacutes non-utiliseacutes par lecodeur en bloc

Figure 2-7 envoi dun message proteacutegeacute par un code de Hamming (74)

Si lon considegravere agrave titre dexemple un code en bloc avec distance minimale de 3 (Figure 2-8) un tel code garantit la deacutetection de 2 erreurs de transmission qui pourraient affecter le message codeacute Les potentialiteacutes de deacutetection sont supeacuterieures agrave ce seuil Toutefois un nombre derreurs supeacuterieur agrave (dmin-1) peut transformer le message codeacute par lencodeur en un message valide qui fausse la meacutethode de deacutetection (25) Cette situation potentielle est nommeacutee situation de fausse validation Les performances de correction derreurs dun code en bloc sont eacutegalement deacutetermineacutees par les distances de Hamming existant entre les messages utiliseacutes pour le codage Selon le principe de correction derreurs par deacutetermination du message valide le plus proche (en termes de distance de Hamming) lutilisation dun code en bloc garantit la correction de ( )min 1 2d minus erreurs Le

19

code en bloc utiliseacute agrave titre dexemple (Figure 2-8) garantit ainsi la deacutetection de 2 erreurs et la correction dune seule erreur de transmission

distance deHamming de 1 bit

message i1010 011

message j1011 000

deacutetection derreurs

correction derreurs

deacutetection derreurs

correction derreurs

1010 010 1011 010

Figure 2-8 exemple graphique de la potentialiteacute de deacutetection et de correction derreurs par la deacutetermination du message valide le plus proche

Codes en bloc CRC utiliseacutes par les standards UMTS Les standards UMTS disposent de quatre codes CRC [Ts25212] pour le controcircle de labsence derreurs dans les messages livreacutes au destinataire Les notions de base permettant de comprendre les principes des codes en bloc CRC sont deacutecrites ci-apregraves Notions de base des codes en bloc CRC Un code lineacuteaire (nk) est nommeacute code cyclique si tous les deacutecalages cycliques (cyclic shift) dun message codeacute sont eacutegalement des messages codeacutes [Lin82] [Proa95] Dans le domaine du codage cyclique on associe au message codeacute V=[vn-1hellip v2 v1 v0] le polynocircme v(X) de degreacute infeacuterieur ou eacutegal agrave n-1 tel que

1 2

1 2 1 0( ) pour les codes binaires (2) pour 0 1 1

nn

i

v X v X v X v X vv GF i n

minusminus= + + + +

isin = minus (27)

La meacutethode de codage CRC se base sur la geacuteneacuteration du message codeacute v(X) par la multiplication polynomiale (modulo 2 pour les codes binaires) du message u(X) avec le geacuteneacuterateur polynomial g(X) donneacute par

20

11 0 1 01

1 21 2 1 0

) )

( ) ( ) ( ) ( (

( )

k n kk n k

nn

v X u X g Xu X u X u g X g X gv X v X v X v

minus minusminus minus

minusminus

sdot =

= sdot == + + + + + +

= + + + +

(28)

Si le polynocircme geacuteneacuterateur g(X) de degreacute n-k est un facteur du polynocircme Xn+1 ce polynocircme geacutenegravere un code en bloc cyclique (nk) [Lin82] [Pres92] [Proa95] [Will99] Etant donneacute le geacuteneacuterateur polynomial g(X) on peut demander que le message codeacute v(X) contienne directement le message u(X) tout en respectant les caracteacuteristiques des codes en bloc cycliques Une solution est la formation du message codeacute v(X) par la multiplication du message u(X) avec le polynocircme Xn-k en additionnant successivement le polynocircme b(X) qui garanti la divisibiliteacute du polynocircme v(X) par g(X) (28) ( ) ( )( ) ( ) ( )n kv X X u X b X a X g Xminus sdot= + = sdot (29) La tacircche de lencodeur systeacutematique est ainsi de deacuteterminer le polynocircme b(X) qui correspond au reste de la division du terme Xn-kmiddotu(X) par le geacuteneacuterateur polynomial g(X) tel que

( )

( )( ) resten kX u Xb Xg X

minus sdot

= (210)

Cette tacircche est reacutealisable mateacuteriellement en utilisant un registre agrave deacutecalage avec une boucle de contre-reacuteaction utilisant des additions modulo 2 (Figure 2-9) [Proa95]

bit dentreacutee (message)

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11++ + + +bit de sortie(message codeacute)

(1)

(2)

+ addition modulo 2

Figure 2-9 scheacutema agrave bloc de lencodeur systeacutematique CRC agrave 12 bits avec geacuteneacuterateur polynomial g(X)=X12+ X11+ X3+ X2+ X+1 Apregraves le traitement du dernier bit du message le contenu des 12 bascules repreacutesente le polynocircme b(X)

21

Le standard UMTS met agrave disposition quatre codes cycliques systeacutematiques (Table 2-2) mais il modifie lordre des bits de pariteacute lors de leur concateacutenation [Ts25212] Lajout des bits de pariteacute seffectue dans lordre inverse en commenccedilant par le bit b0 jusquau bit bn-k-1

Codeur Longueur [bits]

Taille des messages (n k)

Geacuteneacuterateur polynomial g(X)

gCRC24(X) 24 (223-1 223-25) X24 + X23 + X6 + X5 + X + 1gCRC16(X) 16 (32767 32752) X16 + X12 + X5 + 1gCRC12(X) 12 (2047 2035) X12 + X11 + X3 + X2 + X + 1gCRC8(X) 8 (127 119) X8 + X7 + X4 + X3 + X + 1

Table 2-2 les geacuteneacuterateurs polynomiaux utiliseacutes dans le standard de codage de canal UMTS [Ts25212]

Deacutecodage des codes CRC Etant donneacute que les codes CRC sont des codes en blocs ils sont capables de deacutetecter et de corriger des erreurs Toutefois ils ne sont souvent utiliseacutes que comme moyen de deacutetection derreurs Dans le contexte des codes CRC systeacutematiques deux meacutethodes principales sont utiliseacutees pour la deacutetection derreurs La premiegravere meacutethode consiste agrave diviser le message reccedilu par son geacuteneacuterateur polynomial g(X) La valeur du reste de cette division permet la deacutetection et leacuteventuelle correction derreurs La reacutealisation mateacuterielle de cette meacutethode utilise un registre agrave deacutecalage avec une boucle de contre-reacuteaction et des opeacuterations dadditions modulo 2 [Proa95] La seconde meacutethode calcule les bits de pariteacute en utilisant la partie du message reccedilu qui repreacutesente les bits dinformation Elle compare ensuite ces bits de pariteacute avec ceux reccedilus dans le message codeacute Situation particuliegravere de codage Si la taille km des messages agrave proteacuteger ne sadapte agrave aucun code cyclique on peut envisager dutiliser un code cyclique (nk) traitant des messages plus larges (k gt km) [Lin82] En exploitant ce code cyclique (nk) on traite seulement les messages dont les L=(k- km) bits de poids fort (MSB) sont des zeacuteros Leacutelimination de ces L bits geacutenegravere un code lineacuteaire (n-Lkm) qui nest deacutesormais plus un code cyclique ce code est nommeacute Shortened cyclic code

22

Toutefois cette modification ne compromet pas lutilisation des meacutethodes de codage et de deacutetection des erreurs preacuteceacutedemment preacutesenteacutees Par rapport agrave la qualiteacute de protection du code (n-Lkm) ce code garde les mecircme qualiteacutes que celles du code cyclique original (nk) Codes en bloc conclusions Malgreacute le succegraves du codage en bloc ce type de codage comporte des inconveacutenients importants [Liew02] [Vale98] Le regroupement du message en bloc implique normalement une latence due agrave la neacutecessiteacute de disposer de tous les symboles du message avant de proceacuteder au codage ou au deacutecodage2 Les codes travaillant sur des grands blocs peuvent ainsi entraicircner une forte latence ce qui rend le retard algorithmique du systegraveme important De plus la proceacutedure de deacutecodage est affecteacutee par un inconveacutenient suppleacutementaire le deacutecodeur a impeacuterativement besoin de connaicirctre la position du deacutebut et de la fin du message codeacute La connaissance de la position correcte du premier symbole du message dans le flux de bits est ainsi indispensable au bon deacuteroulement des proceacutedures de controcircle et de correction derreurs Le dernier inconveacutenient des codes en bloc provient du fait que le deacutecodage de canal a eacuteteacute initialement consideacutereacute uniquement comme un eacuteleacutement qui sinsegravere entre le reacutecepteur et le destinataire (Figure 2-3) A lorigine les proceacutedures de deacutecodage des codes en bloc ont ainsi eacuteteacute deacuteveloppeacutees en envisageant le traitement de messages codeacutes avec la mecircme repreacutesentation numeacuterique que le message provenant de la source drsquoinformation (situation du deacutecodage ferme Hard Decoding) Pourtant dans le but drsquoatteindre les limites preacutedites par Shannon lrsquoutilisation drsquoune quantification moins rigide (situation du deacutecodage souple ou pondeacutereacute Soft Decoding) est devenue impeacuterative une meilleure qualiteacute de correction ne peut ecirctre atteinte quen augmentant le flux de lrsquoinformation mise agrave disposition du deacutecodeur Linconveacutenient des codes en bloc est que les meacutethodes de correction deacuteveloppeacutees sadaptent mal agrave ces situations de deacutecodage souple en raison de leur incapaciteacute de traiter le flux suppleacutementaire dinformations disponible

2 Certaines familles de codes en bloc systeacutematiques possegravedent des caracteacuteristiques

particuliegraveres du codage qui offrent la possibiliteacute de reacuteduire efficacement la latence du deacutecodage Un exemple est donneacute par la famille de codes CRC

23

232 Codes convolutifs

Les principaux inconveacutenients du codage en bloc peuvent ecirctre eacuteviteacutes par une approche diffeacuterente de la probleacutematique du codage cest le cas du codage convolutif (Convolutional Coding) [Vale98] Preacutesenteacute par Elias en 1955 ce type de codage ajoute systeacutematiquement de la redondance au message codeacute au fur et agrave mesure que les symboles du message (chacun formeacutes de b bits) sont livreacutes au codeur Le message codeacute se forme ainsi iteacuterativement en utilisant un registre agrave deacutecalage Ce registre est dimensionneacute pour accueillir les K symboles les plus reacutecents du message et la geacuteneacuteration du message codeacute utilise n fonctions lineacuteaires algeacutebriques Ces fonctions sont appeleacutees fonctions geacuteneacuteratrices (linear algebraic function generators) Un exemple de codeur convolutif est illustreacute agrave la Figure 2-10

+

+

premier bit de sortiesecond bit de sortie

troisiegraveme bit de sortie

bit dentreacuteez-1 z-1

+ addition modulo 2

Figure 2-10 exemple de codeur convolutif avec une longueur de contrainte K=3 Ce codeur geacutenegravere 3 bits de sortie (n=3) pour chaque bit dentreacute (b=1)

A chaque instant t le codeur de la Figure 2-10 produit trois bits de sortie en fonction des trois bits dentreacutee les plus reacutecents selon les fonctions algeacutebriques suivantes

premier bit ( ) bit dentreacutee( )second bit ( ) bit dentreacutee( ) bit dentreacutee( 2)troisiegraveme bit ( ) bit dentreacutee( ) bit dentreacutee( 1) bit dentreacutee( 2)

t tt t t

t t tt

== oplus minus= oplus minusoplus minus

(211)

Le signal de sortie se forme iteacuterativement en enchaicircnant les n bits de sortie du codeur convolutif (Figure 2-11)

24

bit de sortie0(t) bit de sortie1(t)bit de sortie2(t-1) bit de sortie2(t)

Figure 2-11 repreacutesentation graphique du signal de sortie du codeur convolutif de la Figure 2-10

Le nombre de symboles K qui contribuent agrave la geacuteneacuteration des n bits de sortie est nommeacute longueur de contrainte du code (Constraint Length) Similairement au cas des codes en bloc le rendement du code Rc indique toujours le rapport entre les nombres de bits dentreacutee et de sortie (Rc=bn) Les fonctions geacuteneacuteratrices Gi deacutecrivent les fonctions lineacuteaires algeacutebriques du code En utilisant lexemple de la Figure 2-10 chaque fonction algeacutebrique (211) est reformuleacutee ainsi

i

bit de sortie ( ) (2) bit dentreacutee( ) (1) bit dentreacutee( 1) (0) bit dentreacutee( 2)

() [01] [ (2) (1) (0)] 0 1 et 2i

i

i

i

i i i

t g tg tg t

g g g ig

= sdotoplus sdot minusoplus sdot minus

isin =iG

(212)

Selon cette repreacutesentation (212) les fonctions geacuteneacuteratrices G0=[100] G1=[101] et G2=[111] deacutecrivent exhaustivement les fonctions algeacutebriques (211) utiliseacutees par le codeur analyseacute Dans le domaine du codage convolutif il est usuel dindiquer les valeurs de ces fonctions Gi en repreacutesentation octale (base 8) Si un des bits de sortie transmet systeacutematiquement le bit dentreacutee sans aucune modification le code est dit systeacutematique Bien que les codes systeacutematiques soient moins performants par rapport aux potentialiteacutes de protection des codes non-systeacutematiques ils offrent lavantage consideacuterable decirctre intrinsegravequement non catastrophiques3 [Thit93] Les codes convolutifs ne se distinguent pas seulement sur la base de la longueur de contrainte du rendement du code et des fonctions Gi mais aussi selon la structure propre au registre agrave deacutecalage Dans le cas de lrsquoexploitation drsquoune boucle de contre-reacuteaction interne (feedback) le code est dit reacutecursif [Thit93] Un tel code est illustreacute agrave la Figure 2-12

3 Les codes sont appeleacutes catastrophiques sils creacuteent les conditions pour lesquelles un

nombre fini derreurs de transmission peut engendrer un nombre infini derreurs dans le message deacutecodeacute [Thit93]

25

+

premier bit de sortie

second bit de sortie

bit dentreacuteez-1 z-1+

Figure 2-12 exemple de code convolutif reacutecursif avec une longueur de contrainte K=3 (rendement Rc=12) [Thit93] Le registre agrave deacutecalage preacutesente une boucle de contre-reacuteaction permettant dadditionner (modulo 2) le signal de sortie du reacutegistre agrave deacutecalage au signal dentreacutee

Le standard UMTS [Ts25212] met agrave disposition deux codeurs convolutifs posseacutedant chacun une longueur de contrainte de 9 Leurs fonctions geacuteneacuteratrices sont G0=561oct et G1=753oct pour le code ayant un rendement Rc=12 et G0=557oct G1=663oct et G2=711oct pour le code ayant un rendement de Rc=13 (Figure 2-13)

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +

G0=557oct

+ + +G2=711oct

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +G0=561oct

+G1=753oct

+ +

+G1=663oct

+ + + + + +

+ +

+ addition modulo 2 Figure 2-13 repreacutesentation graphique des deux codes convolutifs mis agrave disposition pour la protection des donneacutees par le standard UMTS [Ts25212]

Principe de protection formation de la redondance Analytiquement le codeur convolutif protegravege le symbole dentreacutee en tenant compte des K-1 derniers symboles dentreacutee Pratiquement il sagit dune machine deacutetats qui produit une sortie en fonction de lentreacutee (nouveau

26

symbole) et de leacutetat de la meacutemoire (formeacutee par les K-1 anciens symboles dentreacutee) Du point de vue de la protection de canal la redondance est geacuteneacutereacutee principalement par laugmentation de la taille du message et renforceacutee ensuite par la participation des derniers K-1 symboles agrave la proceacutedure de codage Dans le cas ideacuteal du codage dune suite infinie de symboles chaque symbole dentreacutee prend part K fois agrave la geacuteneacuteration des n bits de sortie Linfluence de chaque symbole seacutetale ainsi sur un nombre important de bits de sortie (Kmiddotn bits) Il en reacutesulte quen augmentant ces deux paramegravetres (la longueur de contrainte du code K et le nombre de bits de sortie n) on renforce la redondance du codage convolutif ce qui permet de disposer dun systegraveme de protection plus efficace contre les erreurs de transmission Il faut aussi souligner que le changement du nombre de bits de sortie n entraicircne la modification du rendement du code Rc Repreacutesentation du deacuteroulement du codage Trois meacutethodes sont communeacutement utiliseacutees pour la repreacutesentation graphique du deacuteroulement du codage convolutif le diagramme en arbre (Tree Diagram Figure 2-14) le diagramme deacutetats (State Diagram Figure 2-15) et le diagramme en treillis (Trellis Diagram Figure 2-16) [Proa95] En utilisant agrave titre dexemple le code de la Figure 2-10 la Figure 2-14 illustre le deacutebut de la proceacutedure de codage par un diagramme en arbre Le critegravere agrave la base de cette repreacutesentation est lrsquoillustration du comportement de la proceacutedure de codage agrave chaque instant t en fonction des symboles potentiellement deacutejagrave codeacutes Toutefois la reacutepeacutetition (persistante) de la mecircme structure rend cette repreacutesentation rapidement trop compliqueacutee en pratique Lapproche du diagramme deacutetats illustreacute agrave la Figure 2-15 est due au codeur convolutif qui se conduit comme une machine deacutetats La valeur des bits de sortie est fonction du symbole drsquoentreacutee et de la meacutemoire du codeur formeacutee par K-1 symboles Ainsi pour la suite de ce document le mot eacutetat indiquera les symboles formant la meacutemoire temporaire du codeur

27

temps t

000

111

000

111

001

110

001

111

000

110

011

100

010

101

sortie ducodeur

bit dentreacutee 0

bit dentreacutee 1

00

00

00

10

10

11

01

00

10

01

11

00

10

01

11

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

Figure 2-14 diagramme en arbre du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

00 11

10

01

1111

0000

1100

0001

1110

1101

0010

0011

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

ZHJK

Figure 2-15 diagramme deacutetats du codeur de la Figure 2-10

Lavantage de cette approche est la repreacutesentation compacte du deacuteroulement du codage Si lrsquoaspect temporel du codage est aussi demandeacute le diagramme en treillis est la meacutethode de repreacutesentation optimale (Figure 2-16) Cette repreacutesentation modifie la meacutethode de diagramme deacutetats en lui ajoutant la dimension du deacuteroulement dans le temps

28

00 00

10

00

01

10

11

00

01

10

11

0000

1000

0000

1000

0001

1100

temps t

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

ZHJK

Figure 2-16 diagramme en treillis du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

Etat de la meacutemoire du codeur convolutif au deacutebut et agrave la fin de la proceacutedure de codage En raison de leffet meacutemoire du codage convolutif le caractegravere univoque du codage ne peut ecirctre obtenu au deacutebut de la proceacutedure de codage que par lattribution dune valeur arbitraire agrave cette meacutemoire (K-1 symboles) Dans la suite de ce document le terme condition de deacutepart se reacutefegravere agrave linitialisation de la meacutemoire du codeur convolutif Lors du codage de messages contenant un nombre fini de symboles leffet meacutemoire du codage est agrave lorigine dun inconveacutenient si la proceacutedure de geacuteneacuteration des bits de sortie sarrecircte immeacutediatement degraves le codage du dernier symbole du message on est confronteacute agrave une situation de protection ineacutegale des symboles agrave transmettre Contrairement aux symboles preacuteceacutedents les derniers K-1 symboles ne participent pas K fois agrave la proceacutedure de codage Par conseacutequent linformation de ces symboles seacutetale sur un nombre reacuteduit de bits de sortie (ltKmiddotn bits) diminuant la qualiteacute de protection de ces bits Diverses solutions ont eacuteteacute deacuteveloppeacutees afin de remeacutedier agrave une telle situation de protection ineacutegale Le systegraveme le plus populaire parmi les standards de communication propose lenchaicircnement dune seacuterie de K-1 symboles (Tail Bits) agrave la fin du message agrave coder La seule fonction de ces symboles (deacutenommeacutes dans ce document bits de terminaison) est de sassurer que tous les symboles du message contribuent K fois agrave la proceacutedure de codage eacutetant donneacute que ces bits ne transmettent pas dinformation la valeur de ces bits de terminaison est insignifiante

29

Du point de vue du deacutecodage la connaissance des valeurs de ces bits de terminaison permet une ulteacuterieure ameacutelioration des capaciteacutes de correction derreurs Ces valeurs deacuteterminent leacutetat final de la meacutemoire du codeur ce qui repreacutesente une information importante pour lopeacuteration de deacutecodage Dans la suite de ce document on entendra par conditions drsquoarrecirct de la proceacutedure de codage les informations tireacutees du codage de ces bits de terminaison la valeur de ces bits eacutetant fixeacutee agrave priori Le prix agrave payer pour une telle solution est la geacuteneacuteration dun message codeacute qui est allongeacute de (K-1)middotn bits de sortie en raison du codage suppleacutementaire de K-1 bits (bits de terminaison) Une solution alternative agrave la situation de protection ineacutegale est deacutefinie par le principe du Tail-Biting Trellis Code [Lust00] Ce principe pose une contrainte suppleacutementaire agrave la proceacutedure de codage les eacutetats de la meacutemoire du codeur au deacutebut et agrave la fin de la proceacutedure de codage dun bloc de symboles doivent ecirctre eacutegaux Cette information suppleacutementaire est utiliseacutee efficacement lors du deacutecodage des derniers symboles du message ce qui augmente la qualiteacute de la protection Lavantage de cette meacutethode est quelle ne neacutecessite ni linsertion de bits suppleacutementaires au message ni la deacutefinition des eacutetats de deacutepart et darriveacutee de la meacutemoire du codeur convolutif Capaciteacute de correction des codes convolutifs La capaciteacute de correction du codage convolutif peut ecirctre estimeacutee de maniegravere analogue agrave celle du codage en bloc La capaciteacute de correction des codes convolutifs est ainsi eacutevalueacutee agrave partir de la distance minimale existant entre deux messages codeacutes Dans le contexte du codage convolutif cette distance est appeleacutee distance libre (dfree) La recherche de la distance libre beacuteneacuteficie de la proprieacuteteacute de lineacuteariteacute des fonctions geacuteneacuteratrices qui permet de se concentrer uniquement sur les distances entre les messages potentiels et le message zeacutero4 Malheureusement la meacutethode de recherche (24) utiliseacutee par les codes en blocs ne sadapte pas de maniegravere optimale agrave ce contexte de codage principalement agrave cause de la variabiliteacute de la taille des messages

4 Le message zeacutero est le message codeacute contenant une seacutequence infinie de zeacuteros geacuteneacutereacute

par le codage dune seacuterie infinie de bits dinformations zeacutero

30

Fonction de transfert dun code convolutif Les valeurs des distances entre les messages codeacutes peuvent ecirctre extraites du diagramme deacutetats du code analyseacute [Proa95] Le code convolutif illustreacute agrave la Figure 2-10 est utiliseacute ici pour deacutecrire la meacutethode permettant deacutetablir la qualiteacute de protection du code convolutif et les proprieacuteteacutes de ses distances Son diagramme deacutetats est illustreacute en Figure 2-15 Etant donneacute quon envisage lobtention des distances de Hamming entre les divers messages et le message zeacutero on modifie le diagramme deacutetats original de la Figure 2-15 de la maniegravere suivante (Figure 2-17) [Proa95]

bull On eacutelimine la boucle de leacutetat 00 Etant donneacute que le message zeacutero est le message de reacutefeacuterence cette boucle napporte aucune contribution agrave la deacutetermination des distances de Hamming

bull Leacutetat 00 est scindeacute en deux Ces deux eacutetats repreacutesentent leacutetat de deacutepart et darriveacutee du nouveau diagramme deacutetats Lobjectif est de prendre en compte uniquement les messages divergeant du et ensuite convergeant vers le message zeacutero

bull On attribue aux eacutetats du diagramme les symboles XA XB XC XD XE bull Les transitions entre les eacutetats sont annoteacutees de la maniegravere suivante

o Le poids5 des bits de sortie est indiqueacute par lexposant de la lettre D

o Le poids du symbole dentreacutee du codeur est deacutesigneacute par lexposant de la lettre N

o Chaque transition est indiqueacutee par la lettre J Cette notation permet de connaicirctre le nombre total de transitions pendant lesquelles le message analyseacute diverge du message zeacutero

En utilisant un tel diagramme deacutetats (Figure 2-17) qui contient donc cinq eacutetats les eacutequations des eacutetats peuvent ecirctre formuleacutees ainsi

3B A C

B DC2 2

D B D2

E C

X X XX X XX X XX X

JND JNDJD JDJND JNDJD

+

+

+

====

(213)

5 Le nombre de bits non-zeacutero

31

La fonction de transfert T(DNJ) du code est deacutefinie comme le rapport existant entre leacutetat final (XE) et celui de deacutepart (XA) En utilisant les quatre eacutequations donneacutees par (213) on obtient la fonction de transfert suivante6

( ) ( )

3 6

2

3 6 4 2 8 5 2 8 5 3 10 6 3 10

1 1

2

E

A

X J NDT D N J X JND J

J ND J N D J N D J N D J N D

= =minus +

= + + + + sdot

(214)

Le premier terme (J3ND6) de la fonction de transfert de (214) indique quil existe un message codeacute avec une distance de Hamming de 6 par rapport au message zeacutero Ce message codeacute diverge sur trois peacuteriodes avant de converger vers le message zeacutero (J3) et lexposant de la lettre N indique que le message ne possegravede quun seul bit dinformation 1 Les indications fournies par les six premiers termes7 de cette fonction de transfert sont deacutecrites agrave la Table 2-3

00

11

10 01 00JND3 JD

JND

JND2 JD

JND2

JD2

Etat XA Etat XB Etat XC

Etat XD

Etat XE Figure 2-17 diagramme deacutetat preacutedisposeacute pour la deacutetermination de la qualiteacute de protection du code convolutif de la Figure 2-10 La lettre J indique la transition lexposant de la lettre N deacutesigne le poids du symbole dentreacutee et celui de la lettre D le poids des bits de sortie

La distance minimale existant entre deux messages codeacutes est indiqueacutee par le plus petit exposant de la lettre D des termes de la fonction de transfert Dans notre cas (214) la distance libre dfree correspond agrave 6 (Table 2-3)

6 La fonction de transfert peut ecirctre directement obtenue en appliquant la regravegle de Mason

(Masons rule) au diagramme de la Figure 2-17 7 Les six termes comprenant les exposants de la lettre D les plus petits Cest-agrave-dire les

six messages codeacutes posseacutedant les distances de Hamming les plus petites

32

En consideacuterant la distance minimale dfree et une correction derreurs par seacutelection du message codeacute le plus proche le codage convolutif assure la correction de ( )1 2freed minus erreurs de transmission affectant le message codeacute reccedilu Lameacutelioration de la protection contre les erreurs peut ecirctre ainsi reacutealiseacutee en augmentant la longueur de contrainte K du code convolutif8 et le nombre n de bits de sortie9 Le paramegravetre modifieacute est typiquement le premier cette modification ameacuteliore la qualiteacute de protection contre les erreurs sans alteacuterer le rendement du code Rc [Lust00]

Distance de Hamming du message (D) le5 6 7 8 9 10 hellip Nombre des messages 0 1 0 2 0 4 hellip Peacuteriode de divergence (J) - 3 - 4 5 - 5 6

6 7 hellip

Distance de Hamming du message concerneacute (N) - 1 - 2 - 3 hellip

Table 2-3 caracteacuteristiques des messages posseacutedant les distances de Hamming les plus petites selon la fonction de transfert (214)

La Table 2-4 montre les valeurs de distance libre des deux codeurs convolutifs des standards UMTS Ces codes appartiennent agrave la liste de codes convolutifs eacutetablie par Odenwalder (1970) Larsen (1973) Paaske (1974) et Daut (1982) [Proa95] Etant donneacute une longueur de contrainte K et un rendement du code Rc ces codes possegravedent la distance libre dfree la plus eacuteleveacutee Ces codes ont eacuteteacute identifieacutes agrave laide de meacutethodes de recherche par ordinateur

Rendement du codeur

Longueur de contrainte

Polynocircmes geacuteneacuterateurs Distance libre

Rc=12 K=9 G0=561oct G1=753oct dfree=12 Rc=13 K=9 G0=557oct G1=663oct G2=711oct dfree=18

Table 2-4 caracteacuteristiques des codeurs convolutifs proposeacutes par le standard UMTS [Ts25212] pour la protection des donneacutees

Les potentialiteacutes pratiques de correction de ces codes sont consideacuterablement supeacuterieures au seuil minimal de ( )1 2freed minus erreurs la qualiteacute de la correction deacutepend de la meacutethode de deacutecodage utiliseacutee du deacutebit des erreurs de

8 La longueur K augmente la peacuteriode minimale de divergence des messages codeacutes 9 Le nombre n de bits de sortie augmente la distance de Hamming entre les symboles

codeacutes

33

transmission et de leur emplacement agrave linteacuterieur du message codeacute Il faut noter que les concentrations temporelles des erreurs de transmission (burst errors) baisse la qualiteacute effective de la correction vers le seuil minimal Le terme qualiteacute de protection se reacutefeacuterera dans la suite du document agrave la capaciteacute de correction de la meacutethode de deacutecodage traiteacutee

233 Utilisation des deux types de codage

Le codage convolutif diffegravere principalement du codage en bloc par le traitement continu et immeacutediat des symboles dinformation Le codage convolutif offre de plus une meilleure protection pour la mecircme complexiteacute drsquoimplantation [Karn95] Du point de vue du deacutecodage le codage convolutif offre une plus vaste gamme de solutions capables de beacuteneacuteficier des avantages apporteacutes par une situation de deacutecodage souple Parmi ces solutions on trouve des meacutethodes qui se concentrent sur la livraison du message le plus probable des meacutethodes estimant les symboles dinformations les plus probables ainsi que des meacutethodes livrant des informations suppleacutementaires relatives agrave la proceacutedure de deacutecodage (cf Chapitre 5) De par leur capaciteacute agrave traiter linformation en continu les meacutethodes de deacutecodage convolutif sont principalement utiliseacutes pour la correction derreurs de transmission alors que la deacutetection derreurs est essentiellement traiteacutee par le codage en bloc Le codage convolutif preacutesente une forte asymeacutetrie entre la complexiteacute de calcul de la proceacutedure de codage et celle de deacutecodage Malheureusement la qualiteacute de correction du codage convolutif est tregraves sensible aux concentrations des erreurs de transmission (burst errors)

24 Codes enchaicircneacutes

Si lon deacutesire creacuteer un code encore plus performant alors la concateacutenation de deux types de codes permet de beacuteneacuteficier des avantages de chaque type de code [Proa95] La compleacutementariteacute des codes en bloc et convolutifs suggegravere leur mise en cascade de maniegravere agrave mieux profiter des qualiteacutes des deux familles de codes (Figure 2-18) Le codeur exteacuterieur (Outer Encoder) chargeacute du premier codage du message est communeacutement un code en bloc Un code convolutif exeacutecute le second codage et fournit le message codeacute final (code inteacuterieur Inner Encoder)

34

[Proa95] Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle soit deacutecodant le message reccedilu puis en veacuterifiant etou corrigeant le message obtenu

codeur en bloc codeurconvolutif

deacutecodeurcode en bloc

deacutecodeurcode convolutif

message

messagedeacutecodeacute

messagecodeacute

messagereccedilu

Figure 2-18 structure classique de la concateacutenation entre un code en bloc et un code convolutif

Une approche plus reacutecente consiste en lrsquoexeacutecution parallegravele de plusieurs opeacuterations de codage des mecircme symboles du message (Figure 2-19) Apregraves la transmission les messages codeacutes proteacutegeant les mecircme symboles dinformation montrent des distorsions non correacuteleacutees entre eux ce codage multiple et indeacutependant permet au deacutecodeur dutiliser (iterativement) les informations de deacutecodage de ces messages pour ameacuteliorer la qualiteacute de protection contre les erreurs Le codage Turbo utilise cette approche de codage parallegravele

codeur de canal

deacutecodeur

message

messagecodeacute

messagereccedilu

codeur de canalentrelaceur

message

messagecodeacute

deacutecodeur

messagedeacutecodeacute

Figure 2-19 principe agrave la base du codage Turbo qui est baseacute sur lutilisation parallegravele de plusieurs codeurs convolutifs

25 Conclusions

Ce chapitre a briegravevement introduit les notions fondamentales de la protection des donneacutees contre les erreurs de transmission A partir des contributions pionniegraveres de Shannon les deux modes principaux de controcircle des erreurs FEC et ARQ ont eacuteteacute preacutesenteacutes Puis ce chapitre a deacutecrit les principes ainsi que

35

les proprieacuteteacutes du codage en bloc et du codage convolutif Ces notions de base seront utiliseacutees dans la suite du document En dernier lieu le chapitre introduit briegravevement le codage enchaicircneacute Le principe et les proprieacuteteacutes de structure particuliegravere de codage ont fait lobjet dune eacutetude dans le cadre de cette thegravese et seront discuteacutes dans le Chapitre 6

Reacutefeacuterences

[Draj02] D Drajic D Bajic Communication System Performance Achieving the Ultimate Information-Theoretic Limits IEEE Communications Magazine Vol 40 juin 2002 pp 124-129

[Hamm50] R W Hamming Error Detecting and Error Correcting Codes The Bell System Technical Journal Vol 29 No 2 1950 pp 147-160

[Karn95] P Karn TAPR Error Control Coding Seminar preacutesentation agrave the 1995 Tucson Amateur Packet Radio symposium St Louis mars 1995 page Internet de P Karn acceacutedeacutee en eacuteteacute 2002 httpwwwka9qnetpapers

[Liew02] T H Liew L Hanzo Space-Time Codes and Concatenated Channel Codes for Wireless Communications Proceedings of the IEEE Vol 90 No 2 feacutevrier 2002 pp 187-219

[Lin82] S Lin D J Costello Jr Error Control Coding Fundamentals and Applications Prentice-Hall Series in Computer Applications in Electrical Engineering New Jersey Etats-Unis dAmeacuterique 1982 Chapitre 4

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Noki00] Nokia Hybrid ARQ methods for FDD in Release 2000 TSGR114(00)0869 TSG-RAN Working Group1 meeting 14 Oulu Finlande 4-7 juillet 2000

[Pana01] Panasonic Proposal of bit mapping for type-III HARQ TSGR118(01)0031 TSG-RAN Working Group1 meeting 18 Boston Etats-Unis dAmeacuterique 15-18 janvier 2001

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

36

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp 447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

37

3 Structure de protection eacutetablie par les standards UMTS

Le chapitre deacutecrit les standards de communication numeacuterique UMTS Leur structure de codage et leurs caracteacuteristiques sont rappeleacutees

Les opeacuterations de codage de canal et de multiplexage des standards UMTS sont passeacutees en revue en les situant dabord dans le contexte dun modegravele dabstraction du systegraveme UMTS Les opeacuterations concerneacutees sont le codage en bloc CRC la concateacutenation et la segmentation du message la protection des donneacutees par codage les entrelacements ladaptation du deacutebit de transmission linsertion des indications de transmission le regroupement et le multiplexage des donneacutees proteacutegeacutees pour la transmission

La strateacutegie basique pour ladaptation de la qualiteacute de protection en fonction des exigences des diverses applications est mise en eacutevidence par lillustration de la structure de codage du service de parole AMR-NB agrave 122 kbps Cette structure a le meacuterite de preacutesenter les trois plus inteacuteressants contextes de codage convolutif

31 Modegravele hieacuterarchique du systegraveme UMTS agrave 3 niveaux dabstraction

Selon un concept geacuteneacuteral lrsquointerface radio (Radio Interface) des standards UMTS est baseacutee sur un modegravele de protocole agrave trois niveaux dabstraction aussi appeleacutees couches (Layers) dabstraction [Gath02] [Ts25201] Les tacircches de chaque couche sont bien deacutelimiteacutees et les interactions inter-couches se produisent uniquement agrave laide duniteacutes speacutecifiques La premiegravere couche deacutenommeacutee Physical Layer (Layer 1) contient le codage de canal Cette couche est responsable de la transmission des donneacutees qui lui

38

parviennent de la seconde couche la Data Link Layer (Layer 2) sous le controcircle de la troisiegraveme couche la Network Layer (Layer 3 Figure 3-1)

Radio RessourceControl (RRC)

Network layer(Layer 3)

Medium Access Control(MAC)

Data linklayer (Layer 2)

Physical layer (Layer 1)

Canaux de transport(Transport channels)

Controcircles etmesures

Figure 3-1 illustration graphique des iteacuterations entre le Physical Layer et les autres eacuteleacutements de linterface radio preacutevue par lUMTS [Ts25201]

Les donneacutees du message parviennent agrave la premiegravere couche par canaux seacutepareacutes de transport (Transport Channels TrCHs) Cette meacutethodologie permet lapplication de niveaux de protection adapteacutes aux exigences de chaque canal de transport (Unequal-Error-Protection UEP) La possibiliteacute dappliquer des niveaux de protection diffeacuterencieacutes est conforme agrave loptique de lUMTS qui vise agrave offrir un degreacute de souplesse agrave la proceacutedure de codage Cette souplesse permet ainsi aux applications utilisant une telle proceacutedure de beacuteneacuteficier dune qualiteacute de protection conforme agrave leurs exigences

32 Structure de codage de canal et multiplexage

Les donneacutees parviennent agrave leacuteleacutement responsable du codage de canal par blocs (canaux de transport) agrave intervalles de temps reacuteguliers Lrsquointervalle de temps de transmission (Transmission time interval lsquoTTIrsquo) est eacutetabli selon les caracteacuteristiques et les exigences de lrsquoapplication consideacutereacutee La gamme de choix dintervalle vaut 10 ms 20 ms 40 ms ou 80 ms Le deacuteroulement des opeacuterations relatives au codage de canal et de multiplexage des standards UMTS (selon le mode Frequency Division Duplex FDD10 de lUniversal Terrestrial Radio Access UTRA) [Ts25212] peut ecirctre diviseacutee en deux eacutetapes principales 10 Le mode Frequency Division Duplex (FDD) est une meacutethode de transmission en

duplex ougrave les deux transmissions radio unidirectionnelles (uplink et downlink) utilisent deux freacutequences radio diffeacuterentes

39

bull La premiegravere eacutetape traite de maniegravere individuelle les canaux de transport selon les consignes particuliegraveres de lapplication Cette eacutetape englobe le codage en bloc CRC la concateacutenation et la segmentation du message le codage de canal par code convolutif ou Turbo le premier entrelacement lrsquoadaptation du deacutebit de transmission et lrsquoinsertion des indications fixes de transmission DTX

bull La seconde partie dopeacuterations regroupe les donneacutees traiteacutees par les divers canaux de transport afin de les preacuteparer agrave la transmission Les opeacuterations concerneacutees sont celles du multiplexage de lrsquoinsertion des indications flexibles de transmission DTX de la segmentation par le nombre de canaux physiques et du second entrelacement

Il faut noter quen fonction de la direction de la transmission de type uplink11 ou downlink12 il existe deux seacutequences drsquoexeacutecution des opeacuterations Les diffeacuterences entre ces deux seacutequences sont toutefois minimes la seacutequence de la transmission uplink retarde lrsquoexeacutecution de la tacircche drsquoadaptation du deacutebit de transmission et elle ne neacutecessite pas linsertion des indications de transmission DTX [Ts25212] Les simulations utiliseacutees pour lanalyse et la veacuterification des performances des meacutethodes preacutesenteacutees dans ce document se basent sur la structure de codage de la communication uplink (Figure 3-2) Les opeacuterations impliqueacutees dans cette structure sont les suivantes [Ts25212] bull Codage en bloc CRC Si lapplication requiert une deacutetection drsquoerreurs apregraves

le deacutecodage les couches supeacuterieures (Figure 3-1) peuvent eacutetablir les conditions dutilisation dun des quatre codes CRC Cette eacuteventualiteacute permet aussi lexploitation du mode de controcircle derreurs ARQ Le nombre de bits de pariteacutes de ce code en bloc vaut 8 12 16 ou 24 [Ts25212]

11 Le lien radio uplink est la transmission unidirectionnelle des signaux depuis

lrsquoeacutequipement de lrsquoutilisateur (User equipement) vers une station de base (Base station) depuis une station mobile (Mobile station) vers une station mobile de base (Mobile base station) ou depuis une station mobile de base agrave une station de base [Tr21905]

12 Le lien radio downlink indique geacuteneacuteralement une transmission unidirectionnelle du reacuteseau vers lrsquoeacutequipement de lrsquoutilisateur [Tr21905]

40

premier canal de transport(TrCH1)

Multiplexage

Segmentation selon lenombre de canaux agrave

disposition

Second entrelacement

Passage au canal

dernier canal de transport(TrCHi)

Codage en bloc CRC(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Codage en bloc CRC

(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Figure 3-2 diagramme par blocs de la seacutequence dopeacuterations selon une transmission uplink en mode FDD [Ts25212]

41

bull Concateacutenation et segmentation du message Tous les blocs de donneacutees qui

appartiennent au mecircme intervalle de transmission (TTI) et au mecircme canal de transport sont enchaicircneacutes de maniegravere seacutequentielle Si le nombre total de bits deacutepasse le nombre maximal eacutetabli par le standard UMTS [Ts25212] le bloc de donneacutees est segmenteacute Ce nombre maximal varie en fonction du type de codage de canal utiliseacute (codage convolutif ou Turbo)

bull Protection des donneacutes par codage Les donneacutees de chaque canal de transport peuvent ecirctre proteacutegeacutees seacutepareacutement soit par un code convolutif (avec rendement du code Rc de 12 ou 13) soit par un code Turbo Dans le cas de donneacutees segmenteacutees en plusieurs blocs les divers messages codeacutes sont multiplexeacutes de maniegravere seacutequentielle apregraves le codage

bull Adaptation du deacutebit de transmission Etant donneacute la variation possible du nombre de donneacutees dentreacutee des divers canaux il se peut que la taille totale des messages codeacutes ne coiumlncide pas avec le nombre exact de bits transmissibles par peacuteriode Dans ce cas selon les consignes des deux couches supeacuterieures certains bits des messages codeacutes sont seacutelectionneacutes afin decirctre soit reacutepeacuteteacutes soit eacutelimineacutes (poinccedilonneacutes)

bull Segmentation du message codeacute Cette seacuteparation se fait selon le nombre des trames radio (Radio Frames) disponibles pour la transmission des donneacutees de tous les canaux Dans le systegraveme UMTS une trame radio couvre la transmission des donneacutees pour un intervalle de 10 ms Si lrsquointervalle de transmission TTI de lapplication deacutepasse les 10 ms les donneacutees de chaque canal sont groupeacutees de maniegravere agrave permettre une reacutepartition successive en plusieurs trames radio

bull Egalisation Leacutegalisation se fait en fonction du nombre des trames radio Si le systegraveme de codage utilise plusieurs trames radio cette opeacuteration assure une segmentation uniforme des donneacutees en ajoutant si neacutecessaire des bits suppleacutementaires

bull Premier et second entrelacement Ces deux opeacuterations exeacutecutent un entrelacement en bloc avec une permutation des colonnes Les paramegravetres reacuteglant la permutation deacutependent de lrsquointervalle de transmission TTI utiliseacute

bull Multiplexage Chaque 10 ms les blocs des divers canaux de transport appartenant agrave la mecircme trame radio sont deacutelivreacutes agrave lrsquouniteacute de multiplexage Cette uniteacute preacutepare ainsi le message final contenant des informations appartenant agrave tous les canaux de transport Ce message nommeacute Coded composite transport channel (CCTrCH ) sera ensuite transmis physiquement

bull Segmentation La segmentation se fait en fonction du nombre de canaux physiques Si lrsquoapplication envisage lrsquoutilisation simultaneacutee de plusieurs

42

canaux physiques (PhCH) les bits appartenant agrave ce dernier message (CCTrCH) sont reacutepartis uniformeacutement entre ces canaux

bull Passage au canal physique Les bits drsquoentreacutee sont transfeacutereacutes au canal physique de maniegravere agrave pouvoir ecirctre envoyeacute les uns apregraves les autres par transmission sans fil

33 Exemple drsquoapplication le service de parole Adaptive-Multi-Rate agrave bande eacutetroite (AMR-NB)

La description du systegraveme de codage UMTS [Ts25212] met en eacutevidence la strateacutegie adopteacutee lors de la deacutefinition de ce type de standard cest agrave dire la creacuteation de systegravemes disposant dun haut niveau de souplesse Cette souplesse permet ladaptation du systegraveme de transmission aux diverses exigences des applications preacutesentes et futures La deacutefinition des paramegravetres de transmission et le choix des opeacuterations de codage sont deacutetermineacutes parallegravelement au deacuteveloppement et agrave la reacutealisation de lrsquoapplication Le document 3GPP [Tr21904] regroupe ainsi de maniegravere deacutetailleacutee les informations des diverses fonctionnaliteacutes et les gammes de paramegravetres correspondant Les paramegravetres se reacutepartissent en deux classes les paramegravetres obligatoires et les paramegravetres speacutecifiques aux services envisageacutes Leacutequipement afin drsquoecirctre reconnu agrave lrsquointeacuterieur du reacuteseau UMTS doit obligatoirement supporter une gamme de fonctionnaliteacutes et de paramegravetres de fonctionnement de base Laccegraves agrave certains services etou applications peut requeacuterir des fonctionnaliteacutes et des paramegravetres de fonctionnement suppleacutementaires En ce qui concerne le cas speacutecifique du service de parole AMR agrave bande eacutetroite (AMR-NB) [Ts26073] [Ts26101] la Table 3-1 deacutecrit les fonctionnaliteacutes et les gammes de paramegravetres les plus importantes qui concernent les opeacuterations de codage et de multiplexage Ce service utilise trois canaux de transport (Figure 3-3) de maniegravere agrave pouvoir adapter la protection aux diverses sensibiliteacutes aux erreurs des bits dinformations Un quatriegraveme canal est utiliseacute pour la transmission des signaux de controcircle La strateacutegie dune protection diffeacuterencieacutee naicirct de lexpeacuterimentation apparaissant dans la litteacuterature (exemples [Hage88] [Cox91]) et de lrsquoexpeacuterience acquise avec les technologies GSM [ETSI909] Lestimation des sensibiliteacutes des bits dinformation de la trame AMR-NB agrave 122kbps (Figure 3-4) montre des valeurs non-uniformes lalteacuteration des valeurs des bits dinformation formant la trame provoque une deacutegradation du signal de parole

43

reconstruit deacutegradation qui varie fortement selon la fonction du bit dinformations

Opeacuterations Commentaires Deacutetection drsquoerreurs Tous les eacutequipements doivent supporter la possibiliteacute

drsquoun codage en bloc CRC avec 8 12 et 16 bits de pariteacute Par contre le codage en bloc avec 24 bits de pariteacute est optionnel

Codage de canal Tous les eacutequipements doivent supporter le codage convolutif (avec un rendement du code 13 et 12) Les autres variantes (codage Turbo et absence de codage) sont optionnelles

Multiplexage Dans le cas drsquoun service de parole AMR utilisant un canal deacutedieacute (Dedicated channel DCH ) tous les eacutequipements doivent supporter au minimum 4 canaux de transmission (3 pour les donneacutees avec TTI de 20 ms et 1 pour la transmission des signaux de controcircle)

Etalement (Spreading)

Dans le cas drsquoun seul service de parole AMR tous les eacutequipements doivent supporter les facteurs deacutetalement SF=64 (qui signifie 600 bitstrame radio [Ts25211]) SF=128 (300 bitstrame radio) et SF=256 (150 bitstrame radio)

Table 3-1 extrait des fonctionnaliteacutes relatives agrave laccegraves au service de parole AMR [Tr21904]

Selon la structure de protection adopteacutee (Figure 3-3) les bits de la trame AMR-NB agrave 122 kbps sont groupeacutes en trois classes indiqueacutees par les lettres A B et C en fonction de leur sensibiliteacute aux erreurs [Ts26101] Dans la classe A on trouve les bits dinformation les plus importants dont lutilisation neacutecessite labsence totale derreurs Par conseacutequent le codage des bits dinformation utilise le code convolutif le plus performant (Rc=13) et la qualiteacute du deacutecodage est controcircleacutee par lutilisation dun code en bloc CRC systeacutematique La classe B renferme les bits de valeur dont leacuteventuelle alteacuteration ne requiert pas la prise de mesures speacuteciales de recouvrement derreurs (Error Concealment) La classe C contient tous les bits preacutesentant une sensibiliteacute mineure aux erreurs leur niveau de protection est reacuteduit par lutilisation dun code convolutif avec rendement de 12

44

Codage CRC81 bits

81 bits 12 bits

93 bits 8 bits

Ajout desbits determinaison

303 bits

CodageConvolutif

303 bits

Egalisation

1 bit

304 bits

Premierentrelacement

152 bitsSegmentation

Adaptation dudeacutebit

152 bits

bits bits

103 bits

103 bits

103 bits 8 bits

333 bits

333 bits 1 bit

334 bits

167 bits 167 bits

bits bits

60 bits

8 bits

136 bits

60 bits

60 bits

136 bits

136 bits

68 bits68 bits

bits bits

Premier canal detransportTrCH1

Second canal detransportTrCH2

Troisiegraveme canal detransportTrCH3

Rc=13 Rc=13 Rc=12

Multiplexage

1a 1b2a 2b 3b3a Secondentrelacement

Passage aucanal

message message message

Premier Radio Frame Second Radio Frame

canal physique

Figure 3-3 repreacutesentation deacutetailleacutee de la seacutequence dopeacuterations neacutecessaires au codage de canal proposeacutee par [TrR104] pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD)

Bien que les paramegravetres du service de parole AMR-NB (Table 3-2) puissent encore subir des modifications13 cette structure (Figure 3-3) sera utiliseacutee pour lrsquoeacutevaluation pratique des implantations software des algorithmes En effet cette structure a le meacuterite de supporter les contextes de codage les plus inteacuteressants une protection par lrsquoutilisation conjointe drsquoun code en bloc CRC et drsquoun code convolutif et le simple codage convolutif avec rendement Rc=13 ou Rc=12

13 Au moment de leacutetablissement de la structure de protection utiliseacutee pour les simulations

softwares

45

Nombre de canaux de transport (TrChs) 3 Tailles des canaux de transport 81 103 et 60 bits Codage CRC Uniquement utiliseacute pour le premier canal

de transport CRC avec 12 bits de pariteacute Codage de canal Codage convolutif avec rendement du

code de 13 pour les deux premiers canaux de transport et 12 pour le dernier

TTI 20 ms

Table 3-2 caracteacuterisation de la structure de protection pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD) structure proposeacutee par [TrR104]

Figure 3-4 mesure objective de la sensibiliteacute aux erreurs des bits dinformation constituant la trame du service AMR-NB agrave 122kbps La sensibiliteacute est estimeacutee en alteacuterant systeacutematiquement le bit analyseacute avant la reconstruction des signaux de parole (base de donneacutees TIMIT et Bdsons) La deacutegradation des signaux est eacutevalueacutee agrave laide de la mesure spectrale (spectral measure) Les fonctions de chaque bit de la trame AMR-NB agrave 122 kbps sont deacutefinies dans le standard [Ts26101]

46

34 Conclusions

Ce chapitre porte sur les objectifs des standards de communication numeacuterique UMTS Parmi les aspects preacutesenteacutes ce chapitre a illustreacute la structure particuliegravere du codage de canal preacutevue par ces technologies de la 3G Son environnement de travail ainsi que les opeacuterations de codage et de multiplexage ont eacuteteacute passeacutes en revue La strateacutegie de base adopteacutee par ces standards UMTS est ladaptation de la qualiteacute de protection en fonction des exigences des applications La structure de codage du service de parole AMR-NB agrave 122 kbps a eacuteteacute utiliseacutee agrave titre dexemple Gracircce agrave ses caracteacuteristiques de protection cette structure sera utiliseacutee pour leacutetude des implantations software de meacutethodes de deacutecodage convolutif (Chapitre 6)

Reacutefeacuterences

[Cox91] R V Cox J Hagenauer N Seshadri et C-E W Sundberg ldquoSubband Speech Coding and Matched Convolutional Channel Coding for Mobile Radio Channelsrdquo IEEE Transactions on Signal processing Vol 39 No 8 aoucirct 1991 pp 1717-1731

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Hage88] J Hagenauer rdquoRate-Compatible Punctured Convolutional Codes (RCPC Codes) and their Applicationsrdquo IEEE Transaction on Communications Vol 36 No 4 avril 1988 pp 389-400

[Tr21904] 3GPP UE capability requirements document 3GPP TR 21904 version 330

[Tr21905] 3GPP Vocabulary for 3GPP Specifications document 3GPP TR 21905 version 010

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

47

[Ts25201] 3GPP Physical layer ndash General Description document 3GPP TS 25201 version 210

[Ts25211] 3GPP Physical channels and mapping of transport channels onto physical channels (FDD) document 3GPP TS 25211 version 410

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26073] 3GPP AMR speech Codec C-source code document 3GPP TS 26073 version 300

[Ts26101] 3GPP AMR speech Codec Frame structure document 3GPP TS 26101 version 160

48

49

4 Transmission de donneacutees par reacuteseaux cellulaires sans fil

Ce chapitre traite de la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les facteurs dont deacutepend la qualiteacute de la transmission sans fil sont tout dabord preacutesenteacutes La qualiteacute de la transmission est influenceacutee par des facteurs techniques tels que le type de modulation la strateacutegie de reacutepartition du territoire en plusieurs zones (cellules) le type dantenne des systegravemes de communication et les moyens actifs de reacuteduction des distorsions du signal ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee ainsi que la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier

Ce chapitre traite eacutegalement de la modeacutelisation des systegravemes de transmission A partir des exigences deacutevaluation de simulation et des types derreurs reproductibles deux modeacutelisations simples du moyen de transmission sont preacutesenteacutees Il sagit des modegraveles Binary symmetric channel (BSC) et Additive white gaussian noise (AWGN)

41 Introduction

Les uniteacutes de codage et de deacutecodage de canal font partie dun systegraveme complexe dont le but est dassurer la transmission des donneacutees par reacuteseaux cellulaires sans fil Lobjectif speacutecifique du codage de canal est le controcircle des erreurs de transmission des symboles erreurs causeacutees principalement par la variation des nombreux facteurs influenccedilant la transmission La structure simplifieacutee dun teacuteleacutephone mobile (Figure 4-1) contient deux grosses uniteacutes de base La premiegravere traite les signaux dans leur bande de base Elle est responsable de ladaptation du message agrave la transmission sans fil ainsi

50

que de la reconstruction et de la livraison du message reccedilu au destinataire Cette uniteacute est deacutenommeacutee bande de base La seconde uniteacute (RF) se charge de la transmission des signaux vers et provenant duvers le reacuteseau cellulaire sans fil

ModulationRF

Codagede parole

Codagede

canalChiffrage Amplification

Dup

lex

DAC

Deacute-modulation

Deacutecodagede parole

Deacutecodagede

canal

Deacute-chiffrage

ConvertisseurRFIFADCDeacute-

modulation

Modulation

Bande de base RF

Figure 4-1 scheacutema tregraves simplifieacute de la structure dun teacuteleacutephone mobile geacuteneacuterique

En consideacuterant cette structure de teacuteleacutephone mobile il faut consideacuterer le fait que les caracteacuteristiques des symboles reccedilus par luniteacute de deacutecodage de canal sont influenceacutees par toutes les eacutetapes de traitement et de transmission situeacutees entre le codage et le deacutecodage de canal

42 Facteurs influenccedilant la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les caracteacuteristiques de la transmission de donneacutees par reacuteseaux cellulaires sans fil deacutependent de plusieurs facteurs aussi bien techniques quenvironnementaux En raison des grandes dimensions du territoire couvert par les transmissions aeacuteriennes ainsi que du nombre eacuteleveacute dutilisateurs il est impossible de consideacuterer lutilisation dune station unique de base pour couvrir toute la surface du territoire La strateacutegie adopteacutee se base sur la reacutepartition du territoire en plusieurs zones deacutenommeacutees cellules chacune geacutereacutee par une station de base (Figure 4-2) Cette strateacutegie cellulaire savegravere tregraves efficace aussi bien pour la reacuteduction de la puissance de transmission que pour une meilleure utilisation des canaux de transmission (reacuteutilisation des bandes des freacutequences)

51

antenne de la stationde base de la cellule

cellule

champ de couvertureradio de la cellule

Figure 4-2 strateacutegie de reacutepartition du territoire en cellules

Le premier facteur influenccedilant la qualiteacute de la transmission sans fil est la dimension et la geacuteomeacutetrie de la cellule agrave linteacuterieur de laquelle se produit la transmission (Figure 4-3) En effet la distance entre lantenne de la station de base de la cellule et celle de leacutequipement mobile deacutetermine une atteacutenuation de la puissance de reacuteception qui varie selon le facteur

21

distance (41)

cf [Moul92] Donc lorsque la dimension de la cellule diminue la puissance deacutemission neacutecessaire pour une transmission fiable dans la cellule entiegravere peut ecirctre ainsi reacuteduite Le dimensionnement des cellules doit tenir compte du fait que chaque cellule utilise une bande de freacutequences limiteacutee supportant un nombre fixe de communications simultaneacutees (Spectrum scarcity) Par conseacutequent lutilisation de cellules de taille infeacuterieure reacuteduit latteacutenuation des signaux transmis et offre un meilleur rapport entre le nombre de communications supporteacutees et la surface du territoire couvert (Figure 4-3) Les opeacuterateurs peuvent eacutegalement recourir agrave la creacuteation de micro-cellules afin daugmenter le nombre dutilisateurs potentiels dans une partie restreinte du territoire Les limites infeacuterieures de la dimension des cellules sont deacutetermineacutees principalement par des aspects eacuteconomiques En effet agrave partir dun certain facteur de reacuteduction les avantages que lon peut retirer ne justifient pas les coucircts suppleacutementaires de gestion et dinstallations

52

antenne de la stationde base de la cellule

cellule

Figure 4-3 reacutepartition du territoire en cellules Les cellules de taille plus reacuteduite augmentent le rapport entre le nombre de canaux agrave disposition et le territoire couvert

Une des raisons de lefficaciteacute de la strateacutegie de reacutepartir le territoire couvert en plusieurs cellule est la reacuteutilisation des bandes de freacutequences les cellules non-adjacentes reacuteutilisent les mecircme bandes de freacutequences augmentant le nombre de canaux radio agrave disposition Malheureusement la reacutepartition du territoire en cellules de petite taille implique le rapprochement des cellules utilisant la mecircme bande de freacutequences Ainsi les transmissions agrave linteacuterieur dune cellule peuvent directement interfeacuterer avec celles des autres utilisant la mecircme bande de freacutequences (Figure 4-4) Ces interfeacuterences ne peuvent pas ecirctre empecirccheacutees par des opeacuterations de filtrage et sont appeleacutees interfeacuterences co-canal Un moyens efficace pour reacuteduire limportance de ces interfeacuterences est lutilisation dantennes directionnelles selon la structure des cellules et la reacutepartition geacuteographique du territoire il est possible datteacutenuer les interfeacuterences co-canal en dirigeant intelligemment les eacutemissions des antennes des stations de base (Figure 4-5) Lutilisation de ces antennes directionnelles sadapte eacutegalement bien aux situations dans lesquelles des obstacles modifient la puissance de reacuteception des signaux jusquagrave creacuteer des situations dombrage

53

antenne de la stationde base de la cellule

Figure 4-4 situation dinterfeacuterence co-canal En utilisant la mecircme bande de freacutequences les transmissions agrave linteacuterieur dune cellule interfegraverent avec celle de lautre

antenne de la stationde base de la cellule

cellule utilisant la mecircme bandede freacutequences

Figure 4-5 exemple de strateacutegie deacutemission et reacuteception des stations de base Lutilisation des antennes directionnelles permet datteacutenuer les interfeacuterences co-canal

Dans le cas de complexes urbains denseacutement peupleacutes les transmissions sans fil deviennent encore plus critiques Etant donneacute la forte densiteacute dobstacles la qualiteacute des transmissions varie sans cesse et avec des diffeacuterences locales pouvant devenir tregraves importantes Par conseacutequent latteacutenuation de la puissance de reacuteception (41) peut ainsi atteindre pratiquement un facteur valant

54

41

distance (42)

cf [Moul92] Si loin des agglomeacuterations la transmission implique normalement la reacuteception dun seul signal dans ces espaces denseacutement construits lantenne reccediloit plusieurs signaux temporellement deacutecaleacutes (Signal Multipath) De plus les multiples reacuteflexions du signal contre les obstacles creacuteent des signaux mutuellement deacutephaseacutes qui sadditionnant de maniegravere destructive deacutegradent la qualiteacute de la communication (Signal Fading) Un facteur influenccedilant les caracteacuteristiques de transmission est la mobiliteacute de leacutequipement La transmission est eacutegalement affecteacutee par des distorsions dont limportance est fonction de la vitesse de leacutequipement mobile (effet Doppler) de la dimension des cellules impliqueacutees et de lenvironnement (installations urbaines ou campagne) Enfin des facteurs techniques (principalement le type de modulation et les moyens de reacuteduction des distorsions) ont un effet direct sur la qualiteacute de la transmission sans fil Parmi ces moyens on trouve les techniques deacutetalement de spectre (qui permet de reacuteduire les interfeacuterences co-canal [Ts25213]) lutilisation de plusieurs antennes reacuteceptrices (Multiple Antennas [R1-1218]) et lutilisation dune recombinaison de plusieurs signaux reccedilus (exemple Maximal Ratio Combination [Gath02])

43 Modeacutelisation du moyen de transmission

Le standard UMTS [Ts25212] deacutefinit la structure et la seacutequence des moyens mis agrave disposition pour la protection des donneacutees contre les erreurs de transmission dans le cadre des technologies de la 3G Toutefois le standard nimpose aucune proceacutedure de deacutecodage Afin de permettre leacutevaluation des performances de diverses strateacutegies de deacutecodage il faut analyser le comportement du deacutecodeur face agrave des signaux perturbeacutes Ces signaux peuvent ecirctre obtenus soit par acquisition soit en les geacuteneacuterant par simulation Une meacutethode de geacuteneacuteration consiste agrave manipuler des bits contenus dans les trames radio (Radio Frames) de maniegravere agrave obtenir des seacutequences de symboles preacutesentant certains types de distorsions (Figure 4-6) Ideacutealement cette manipulation doit reproduire fidegravelement les effets causeacutes par une situation de

55

transmission donneacutee et tenant compte de linfluence des autres eacuteleacutements du systegraveme situeacutes entre le codage et le deacutecodage de canal La reproduction dune situation reacuteelle implique sa modeacutelisation preacutecise et la deacutefinition exacte de tous les paramegravetres et de tous les eacuteleacutements qui la deacutecrivent Etant donneacute le nombre eacuteleveacute des facteurs intervenant dans la transmission aeacuterienne et leur variabiliteacute la reacutealisation et la mise au point dun tel systegraveme sont tregraves complexes et coucircteuses Une alternative efficace agrave la modeacutelisation est lutilisation de seacutequences reacuteelles derreurs obtenues par mesure La transmission de messages connus et lacquisition successive des seacutequences correspondantes de symboles agrave lentreacutee du deacutecodage de canal permettent lobtention de divers modegraveles derreurs Cette approche neacutecessite un systegraveme de communication UMTS opeacuterationnel ainsi que dun eacutequipement dacquisition

Systegravemedanalyse et

deacutetude

Canal detransmission(simulateur)

trames radio

symboles

Codeur de canal UMTSmessages

Deacutecodeur de canalcompatible avec les

standards UMTS

messagesdeacutecodeacutes

paramegravetres

Figure 4-6 systegraveme danalyse manipulant le contenu des trames radio (Radio Frames)

431 Systegraveme de perturbation artificielle des signaux

Lors du deacuteveloppement dune nouvelle technologie leacutetude de base de la qualiteacute de protection utilise geacuteneacuteralement une modeacutelisation simple du moyen de transmission Types derreurs La deacutefinition dun systegraveme simple de modeacutelisation doit tenir compte de la reacuteaction du systegraveme de codage UMTS [Ts25212] en preacutesence des divers types derreurs de transmission Il existe deux principaux types derreurs le Random-error et le Burst-error [Lust00]

56

Le Random-error caracteacuterise les moyens de transmission qui ne preacutesentent pas deffets de meacutemoire (Memoryless channels) Le bruit affecte chaque symbole de maniegravere indeacutependante geacuteneacuterant des erreurs non-correacuteleacutees dans la seacutequence de symboles reccedilus Les transmissions spatiales en sont des exemples typiques

Etat du canalnormal

Etat du canalaffecteacute pardes erreurs

probabiliteacute P

probabiliteacute Qprobabiliteacute 1-Q

probabiliteacute 1-P

0 0

1 1

probabiliteacute Pnormale

Etat du canal normal

probabiliteacute 1- Pnormale

probabiliteacute 1- Pnormale

0 0

1 1

probabiliteacute Pburst

Etat du canal affecteacute par des erreurs

probabiliteacute 1- Pburst

probabiliteacute 1- Pburst

modeacutelisation de leacutetat du canal

modeacutelisation du canal de transmission selon leacutetat du canal

Figure 4-7 modeacutelisation des erreurs de type Burst au moyen du model de canal Gilbert Elliot Channel (GEC) [ITU191] Selon leacutetat du canal (normal ou affecteacute par des erreurs) ce modegravele repreacutesente la transmission des donneacutees par moyen du modegravele Binary symmetric channel (BSC Figure 4-8) Les probabiliteacutes P et Q deacuteterminent loccurrence de deux eacutetats du canal Les probabiliteacutes derreurs Pnormale et Pburst permettent ladaptation du modegravele BSC aux deux eacutetats du canal A titre dexemple lapplication Error Insertion Device de [ITU191] utilise Pnormale=0 et Pburst=05

Les transmissions radio terrestres preacutesentent parfois de fortes correacutelations entre les apparitions derreurs Ces transmissions souffrent temporairement des effets de la reacuteception simultaneacutee de plusieurs copies du mecircme signal

57

deacutecaleacutees dans le temps (Fading) Par conseacutequent les erreurs ne sont pas distribueacutees uniformeacutement dans la seacutequence de symboles reccedilus mais elles affectent des groupes de symboles conseacutecutifs (Figure 4-7) Ainsi ils sont appeleacutes burst-errors La preacutesence des deux eacutetages dentrelacement dans le systegraveme de codage de canal UMTS [Ts25212] reacuteduit la concentration des erreurs en les reacutepartissant dans tout le message14 Par conseacutequent le signal affecteacute par ce type derreur est perccedilu par le deacutecodeur de canal UMTS comme un message preacutesentant des erreurs non-correacuteleacutees mais posseacutedant un deacutebit derreurs (temporairement) plus eacuteleveacute Modeacutelisations simples du moyen de transmission le Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) channel Les deux modegraveles les plus simples mais toutefois efficaces pour leacutevaluation de la qualiteacute de protection de canal sont le Binary symmetric channel et le Additive white gaussian noise channel Le Binary symmetric channel modeacutelise un canal de transmission qui ne preacutesente pas deffets de meacutemoire agrave laide dune situation de deacutecision ferme (Figure 4-8)

0 0

1 1

probabiliteacute 1-Pe

probabiliteacute 1-Pe

probabiliteacute Pe

Figure 4-8 diagramme de transition du Binary symmetric channel (BSC) avec probabiliteacute derreur Pe

Cette modeacutelisation est deacutecrite par la probabiliteacute de croisement Pe deacutecrite par

14 La qualiteacute de protection du codage convolutif est affaiblie en preacutesence de concentrations

des erreurs de transmission (burst errors cf Chapitre 2) les techniques dentrelacement permettent de faire face agrave ces situations eacutevitant une baisse temporaire de la qualiteacute de la protection

58

Pr et 01e i i i i i iP r x r x r x

= ne isin (43)

A partir de la probabiliteacute Pe le BER de la seacutequence de bits reccedilus est directement obtenu Le modegravele Additive white gaussian noise channel est utile pour leacutevaluation de systegravemes exploitant une deacutecision souple A chaque instant i ce modegravele15 modifie le symbole ix par laddition dun bruit blanc gaussien vi i i ir x v= + (44) ougrave le symbole ix est une repreacutesentation antipodale16 du bit dentreacutee xi Le bruit constitutif vi suit la densiteacute de probabiliteacute gaussienne

2

2

2 12

i iv x

i ip v x e σσπ

minusminus

sdot=sdot sdot

(45)

caracteacuteriseacutee par la variance σ2 (Figure 4-9) [Proa95] Dans le contexte du deacutecodage des codes convolutifs il est dusage dexprimer le niveau de perturbation affectant la transmission par le rapport signal sur bruit par bit donneacute par EbN0 (Signal-to-noise ratio per bit Figure 4-9) Cette uniteacute de mesure considegravere leacutenergie neacutecessaire agrave la transmission dun bit dinformation Eb par rapport agrave lefficaciteacute de la perturbation Cette efficaciteacute est repreacutesenteacutee par la densiteacute spectrale lateacuterale de la puissance N0 (One-sided power spectral density)

15 Version agrave temps discret du modegravele Additive white gaussian noise channel 16 Ce modegravele considegravere que le symbole ix est le i-egraveme symbole livreacute par lopeacuteration de

deacutemodulation eacutetant donneacute une transmission binaire du i-egraveme bit xi

59

Figure 4-9 densiteacute de probabiliteacute des symboles affecteacutes par laddition dun bruit blanc gaussien (rapport signal sur bruit par bit Eb N0 de 0 dB agrave 10 dB) Les symboles sont moduleacutes en amplitude de maniegravere antipodale (+1-1 PAM)

432 Modegravele de canal utiliseacute dans la suite des eacutetudes

Le systegraveme de perturbation choisi pour les simulations de perturbations dues agrave la transmission sans fil se base sur laddition dun bruit blanc gaussien (Figure 4-10) Ce systegraveme permet danalyser le comportement du deacutecodeur selon les deacutecisions de type ferme et pondeacutereacute ainsi que de beacuteneacuteficier des reacutesultats mentionneacutes dans la litteacuterature Par rapport aux paramegravetres du modegravele AWGN il faut remarquer que la relation existant entre la densiteacute spectrale N0 et la variance σ2 est

2 0 2Nσ = (46)

La relation entre leacutenergie de transmission de chaque symbole Es et celle de chaque bit dinformation Eb est nombre de symboles nombre de bits dinformation s bE n E ksdot = sdot (47) Ces deux relations (46) et (47) permettent dexprimer le rapport entre la variance σ2 et le rapport EbN0 de la maniegravere suivante

60

20

2

b sE E nN k σ

sdot=sdot sdot

(48)

Par rapport agrave la geacuteneacuteration de valeurs de bruit blanc gaussien vi les implantations logicielles utilisent les techniques mentionneacutees dans [Pres92]

ModulationPAM

antipodaleAWGN Quantificateur

nombre deniveaux

pas dequantification

canalbits de latrame radio

symboles

Deacuteterminationde par

EbNo k n

σ

2 02

Nσ =

σ

Es

Figure 4-10 scheacutema du canal utiliseacute se basant sur laddition dun bruit blanc gaussien (AWGN) agrave temps discret La modulation antipodale PAM adopteacutee transforme le bit dentreacutee prenant les valeurs 0 et +1 en un bit prenant respectivement les valeurs 1 et ndash1

44 Conclusions

Ce chapitre a traiteacute la probleacutematique de la transmission de donneacutees par reacuteseaux cellulaires sans fil Les facteurs techniques et environnementaux influenccedilant la transmission ont eacuteteacute briegravevement illustreacutes Suite agrave la description de ces facteurs ce chapitre a discuteacute laspect de la modeacutelisation du moyen de communication En consideacuterant les exigences deacutevaluation et de simulation ainsi que les types derreurs reproductibles deux modeacutelisations simples ont eacuteteacute preacutesenteacutees le modegravele Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) Ce dernier a eacuteteacute retenu pour modeacuteliser le moyen de transmission servant agrave lanalyse des meacutethodes de deacutecodage des Chapitres 6 et 7

61

Reacutefeacuterences

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[ITU191] International Telecommunication Union ITU-T Software Tools Library Seacuterie G Transmission systems and Media document ITU-T G191-STL-96 1996

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Moul92] M Mouly MndashB Pautet The GSM System for Mobile Communications Cell amp Sys Telecom Publishing 1992

[Pres92] W H Press S A Teukolsky W T Vetterling et B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[R1-1218] 3GPP Preliminary link level results for HSDPA using multiple antennas Lucent Technologies 3GPP TSG RAN WG1 document TSGR116(00)1218

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts25213] 3GPP Spreading and modulation (FDD) document 3GPP TS 25213 version 311

62

63

5 Meacutethodes pour le deacutecodage des codes convolutifs

Ce chapitre preacutesente les principes de deacutecodage de codes convolutifs et en deacutecrit les algorithmes les plus repreacutesentatifs

Les notions de base neacutecessaires agrave la compreacutehension des principes et des algorithmes sus-mentionneacutes sont introduites Puis la repreacutesentation numeacuterique des symboles reccedilus par le deacutecodeur le critegravere doptimisation utiliseacute pour le deacutecodage et le type dinformation de sortie souhaiteacute sont traiteacutes

Un aperccedilu historique des principales eacutetapes ayant conduit aux meacutethodes de deacutecodage actuelles est donneacute Ces meacutethodes sont preacutesenteacutees selon leur critegravere doptimisation soit les meacutethodes recherchant le message le plus probable et celles estimant les symboles dinformations les plus probables Dans la premiegravere classe de meacutethodes on trouve le Deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Parmi la seconde classe de meacutethodes on trouve le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Soft Output Viterbi Algorithm

Les algorithmes de Viterbi et de List Decoding constituent la base des meacutethodes ameacutelioreacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC preacutesenteacutees au Chapitre 6 et sont agrave la base de la reacutealisation mateacuterielle deacutecrite au Chapitre 7 Les descriptions algorithmiques des autres meacutethodes existantes sont donneacutees en Annexe A

Ce chapitre se termine par une comparaison et une discussion des caracteacuteristiques des meacutethodes traiteacutees

64

51 Notions de base

Les points deacuteterminant le choix et la mise au point dune meacutethode de deacutecodage sont la configuration et les exigences propres au systegraveme dans lequel le deacutecodeur est appeleacute agrave travailler Il sagit plus preacuteciseacutement

bull du type de repreacutesentation numeacuterique des symboles reccedilus bull du critegravere doptimisation de la meacutethode de deacutecodage bull de la demande dinformation suppleacutementaire requise pour eacutevaluer la

fiabiliteacute de lopeacuteration de deacutecodage Ces trois aspects sont briegravevement passeacutes en revue ci-dessous

511 Repreacutesentations numeacuteriques des symboles reccedilus

Les symboles reccedilus sont repreacutesenteacutes numeacuteriquement en utilisant lune des deux techniques suivantes

bull Hard Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision ferme les symboles sont quantifieacutes en utilisant la mecircme repreacutesentation numeacuterique que celle des symboles du message codeacute

bull Soft Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision souple ou pondeacutereacutee la repreacutesentation numeacuterique dispose dun nombre de niveaux de quantification supeacuterieur par rapport agrave la repreacutesentation des symboles du message codeacute Lrsquoutilisation drsquoune quantification moins rigide augmente le flux drsquoinformations mis agrave disposition du deacutecodeur

Chaque type de deacutecision preacutesente ses avantages La quantiteacute dinformations plus importante fournie au deacutecodeur gracircce agrave une deacutecision souple permet un deacutecodage de qualiteacute supeacuterieure Lapplication dune deacutecision ferme reacuteduit les ressources de stockage et de calcul neacutecessaires aux opeacuterations de traitement du signal

512 Critegraveres de deacutecodage

Lobjectif du codage de canal est lutilisation de techniques de traitement du signal permettant de proteacuteger les seacutequences de symboles drsquoinformations (les messages) contre les perturbations quelles subissent pendant leur transmission Dans le cas particulier des codes convolutifs la protection est obtenue en passant le message agrave travers un systegraveme (le geacuteneacuterateur du code ou codeur) constitueacute dun registre agrave deacutecalage et dun nombre fini de fonctions

65

lineacuteaires algeacutebriques (Linear Finite-State Shift Register [Proa95] voir la Sous-Section 232) Le deacuteroulement de la proceacutedure de codage convolutif peut ecirctre repreacutesenteacute soit par un diagramme en arbre (Figure 2-14) soit par un diagramme en treillis (Figure 2-16) Bien quil existe plusieurs principes et meacutethodes de deacutecodage tous les algorithmes exploitent un de ces deux diagrammes afin de modeacuteliser lopeacuteration de codage La succession des changements deacutetats de la meacutemoire du codeur convolutif est usuellement deacutesigeacutee par le terme chemin et chaque transition entre deux eacutetats par le terme branche Faisant reacutefeacuterence agrave la seacutequence dopeacuteration du deacutecodeur on peut classifier les meacutethodes de deacutecodage en deux classes

1 les meacutethodes qui cherchent agrave deacuteterminer le message produisant les symboles de sortie ressemblant le plus aux symboles reccedilus

2 les meacutethodes qui se concentrent sur lidentification de chaque symbole dinformation le plus probable

En raison de la diversiteacute des proceacutedeacutes de deacutecodage laspect temporel des diagrammes en arbre et en treillis ne coiumlncide pas neacutecessairement avec le deacuteroulement seacutequentiel de lopeacuteration de deacutecodage Par conseacutequent la notion de temps des repreacutesentations graphiques est remplaceacutee par celle de niveau de profondeur

513 Informations de deacutecodage disponibles

Laccegraves aux informations de lopeacuteration de deacutecodage caracteacuterise la configuration de travail du deacutecodeur A lorigine le deacutecodage convolutif se chargeait de reconstruire le message par correction des eacuteventuelles erreurs de transmission Aujourdhui certaines applications et certains systegravemes de deacutecodage neacutecessitent des informations relatives agrave la fiabiliteacute de la proceacutedure de deacutecodage de chaque symbole dinformation En preacutesence de messages affecteacutes par des erreurs de transmission ces applications peuvent utiliser ces informations dans le but datteacutenuer les deacutegacircts dus aux erreurs Des exemples sont le deacutecodage joint entre le deacutecodage de canal et de source (Source-channel Decoding) et les techniques de mitigation derreurs affectant les messages (Error concealement) La mise agrave disposition de ce type dinformation nest intrinsegraveque quaux meacutethodes se concentrant sur le deacutecodage individuel de chaque symbole du message (Section 53)

66

52 Meacutethodes de deacutecodage recherchant le message le plus probable

Apregraves avoir introduit les notions de base les meacutethodes les plus repreacutesentatives de chaque principe de deacutecodage sont illustreacutees dans la suite du chapitre Selon les principales eacutetapes historiques ayant meneacute aux meacutethodes exploiteacutees actuellement les meacutethodes prise en consideacuteration sont le deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) le Bidirectional Soft Output Viterbi Algorithm le Max-Log-MAP et le Log-MAP Du point de vue historique cette section preacutesente tout dabord les meacutethodes se basant sur le critegravere doptimisation le plus ancien agrave savoir la recherche du message le plus probable eacutetant donneacute les symboles reccedilus Pratiquement ces meacutethodes consistent en une recherche du chemin dont les symboles de redondance ressemblent le plus agrave ceux reccedilus par le deacutecodeur Le message peut ecirctre ainsi construit en deacutecodant ce chemin Les principes des trois meacutethodes les plus repreacutesentatives de cette classe sont preacutesenteacutees ici le deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Comme la meacutethode List Decoding et lalgorithme de Viterbi sont traiteacutes dans la suite de ce rapport ces meacutethodes sont deacutecrites ici en deacutetail Les particulariteacutes algorithmiques de la meacutethode deacutecodage seacutequentiel sont par contre deacutecrites en Annexe A La preacutesentation des algorithmes susmentionneacutes est preacuteceacutedeacutee par celle de la fonction de meacutetrique utiliseacutee par ces algorithmes pour la recherche du message le plus probable Recherche du chemin agrave laide de la fonction de meacutetrique Les algorithmes recherchant le message le plus probable analysent la seacutequence des changements deacutetats S que la meacutemoire du codeur convolutif subit pendant lopeacuteration de codage Lobjectif de ces algorithmes est lidentification de la seacutequence Ŝ statistiquement la plus probable par rapport agrave la seacutequence de symboles reccedilus R Ŝ est donneacutee par [Vale98]

Regravegle de Bayes

Pr R|S Pr Sarg max Pr S|R arg max Pr[R]

arg max Pr R|S Pr S

S S

S

S

sdot= =

= sdot

^

(51)

67

La succession des symboles dinformation qui produisent une telle seacutequence est ensuite identifieacutee gracircce agrave Ŝ Dans le but dobtenir une solution agrave leacutequation (51) ces algorithmes neacutecessitent une fonction mesurant la ressemblance entre la redondance geacuteneacutereacutee par le chemin consideacutereacute i et la seacutequence de symboles reccedilue Cette fonction est appeleacutee fonction de meacutetrique La fonction de meacutetrique du i-egraveme chemin Si est repreacutesenteacutee dans ce document par le symbole PM(Si) Elle permet de reformuler le critegravere doptimisation (51) selon

( )

arg max i

i

SS S i

S PMisin forall

=^

(52)

ougrave ( )

iPr S |R iSPM prop (53)

Afin de reacuteduire la dynamique des valeurs de meacutetrique le critegravere doptimisation est souvent formuleacute dans le domaine logarithmique comme suit

i

arg max log(Pr S |R )iS S i

Sisin forall

=

^ (54)

et la fonction de meacutetrique est reformuleacutee de la maniegravere suivante ( )

i|log(Pr S R )iSPM prop (55)

Une proprieacuteteacute fondamentale de la fonction de meacutetrique telle que deacutefinie ci-dessus est la proprieacuteteacute reacutecursive suivante

( ) ( ) ( ) ( )1

1( )

( )

valeur de meacutetrique ne consideacuterant que les premiegraveres transitions du chemin

contribution agrave la mesure de fi

i i i i

i

i

BS S S S

npBBnp

Snp

Snp

PM PM

PMnp i

micro micro

micro

minus=

= + = sum

deacuteliteacute de la transition entre les niveaux de profondeur -1 et np np

(56)

68

Cette proprieacuteteacute facilite (et permet) la reacutealisation de plusieurs meacutethodes de deacutecodage introduisant la notion de meacutetrique cumuleacutee PMnp

(Si) et de meacutetrique de branche micronp

(Si) Le calcul de la meacutetrique de branche doit tenir compte de la repreacutesentation numeacuterique des symboles reccedilus ainsi que de la modeacutelisation du moyen de communication Ladoption dune deacutecision ferme permet leacutetablissement dune fonction de meacutetrique baseacutee sur la distance de Hamming (Hamming Distance) alors quune deacutecision souple implique ladoption dune distance euclidienne La fonction de meacutetrique selon leacutequation (56) permet denvisager plusieurs principes de recherche du chemin le plus prometteur On peut identifier trois genres de recherches diffeacuterentes [Ande84] qui sont

bull Le genre Depth-First ougrave le chemin le plus prometteur est chercheacute en suivant le chemin montrant la valeur de meacutetrique cumuleacutee la plus favorable En cas daccumulation temporelle derreurs (Burst errors) le chemin preacutesentant la meacutetrique cumuleacutee la plus favorable peut seacuteloigner du chemin globalement le plus prometteur Par conseacutequent ce genre de recherche preacutevoit la possibiliteacute de revenir en arriegravere sur le chemin parcouru afin de reprendre un meilleur chemin la proceacutedure de recherche parcourt le diagramme en arbre de maniegravere bidirectionnelle

bull Le genre Breadth-First ougrave la recherche est unidirectionnelle et synchroniseacutee par rapport au niveau de profondeur du diagramme en arbre ou en treillis Cette strateacutegie se base sur la comparaison des meacutetriques cumuleacutees de plusieurs chemins au mecircme niveau de profondeur

bull Le genre Metric-First ougrave la recherche est unidirectionnelle dans le diagramme en arbre Cette recherche est reacutegleacutee par les valeurs des meacutetriques cumuleacutees des chemins deacutejagrave analyseacutes Au cours de la recherche lalgorithme considegravere un nombre fini de chemins atteignant des niveaux de profondeur diffeacuterents Ce genre de recherche est le moins performant des trois [Ande84]

A laide des notions introduites ici les algorithmes les plus repreacutesentatifs sont preacutesenteacutes

521 Deacutecodage Seacutequentiel

La premiegravere meacutethode utiliseacutee pour le deacutecodage des seacutequences proteacutegeacutees par des codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft en 1957

69

Cette meacutethode a eacuteteacute reprise et modifieacutee par Fano [Proa95] La strateacutegie adopteacutee par Fano consiste en la recherche du chemin le plus probable agrave linteacuterieur du diagramme en arbre (Figure 2-14) en examinant une transition de meacutemoire agrave la fois Ce type de recherche appartient au genre de recherche depth-first [Ande84] [Schl97] La recherche du chemin le plus prometteur est conduite agrave laide dune fonction de meacutetrique PM (55) adapteacutee agrave ce genre de recherche (voir Annexe A Section A1) Proceacutedure pour la deacutetection des faux chemins Le genre de recherche depth-first est extrecircmement sensible agrave laccumulation temporelle derreurs de transmission En effet une accumulation rapide derreurs peut temporairement entraicircner le rejet du chemin globalement le plus probable par rapport aux symboles reccedilus Le moyen choisi pour faire face agrave cet inconveacutenient est ladoption dun seuil dynamique de meacutetrique qui eacutevalue lexactitude de la recherche du chemin le plus probable (Figure 5-1) [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin choisi deacutepasserait ce seuil le chemin sera suspecteacute decirctre incorrect en raison dune forte accumulation derreurs la proceacutedure de recherche de lrsquoalgorithme reviendra en arriegravere sur les nœuds preacuteceacutedents en cherchant un nouveau chemin qui satisfasse la comparaison avec le seuil Si aucun chemin conforme nrsquoest trouveacute la valeur du seuil sera reacuteduite et la proceacutedure de recherche recommencera en utilisant le chemin qui a eacuteteacute suspecteacute decirctre incorrect Ce moyen permet de se preacutemunir drsquoune boucle de recherche infinie Le nombre drsquoiteacuterations la preacutecision de la proceacutedure de recherche dans les nœuds anteacuteceacutedents et par conseacutequent la qualiteacute de correction drsquoerreurs fournie par lrsquoalgorithme deacutependent strictement des modifications apporteacutees agrave la valeur du seuil de reacutefeacuterence Pour cette raison la proceacutedure et les paramegravetres dadaptation du seuil sont identifieacutees agrave lrsquoaide de lrsquoexpeacuterience accumuleacutee ainsi que de nombreuses simulations Observations La meacutethode de deacutecodage seacutequentielle est caracteacuteriseacutee par lexeacutecution seacutequentielle et bidirectionnelle de la recherche du chemin le plus prometteur La conseacutequence de cette strateacutegie de recherche est tout dabord un temps de deacutecodage variable et fortement influenceacute par le nombre et le type derreurs de transmission Ensuite la qualiteacute de protection est aussi fonction du reacuteglage des paramegravetres du seuil dynamique de reacutefeacuterence Dautre part la fonction de meacutetrique doit ecirctre eacutetablie de maniegravere agrave permettre une comparaison eacutequitable

70

entre chemins se situant agrave diffeacuterents niveaux de profondeurs (Annexe A Sous-section A11)

recherche du meilleurnoeud et calcul de la

nouvelle meacutetriquePMnp+1

STARTmeacutetrique PM0=0

PM-1=-infiniposition dans larbre np=0

deacutetectionfaux

chemins

avancementnp=np+1

fin de larecherche

np=B FIN

premierpassage

affinementparamegravetres dedeacutetection faux

chemins

controcircle du noeudpreacuteceacutedent

modificationparamegravetres de

deacutetection faux chemins

reculnp=np-1

recherche du prochainmeilleur noeud et

calcul de la nouvellemeacutetrique PMnp+1

Trouveacute

deacutetectionfaux

chemins

Oui

Non

fauxchemin

chemincorrect

Oui

Non

Oui

Non

fauxchemin

chemincorrect

faux chemin

chemin correct

Figure 5-1 diagramme de flux simplifieacute de lrsquoalgorithme de Fano (adapteacute selon [Proa95])

La variabiliteacute et la non-preacutevisibiliteacute du nombre dopeacuterations rendent ce genre de recherche inadapteacutee agrave un contexte de codage en temps reacuteel Cet

71

inconveacutenient peut ecirctre eacutelimineacute en changeant la nature de la recherche en la remplaccedilant par le genre breadth-first En effet les algorithmes utilisant ce genre de recherche ont une complexiteacute de calcul indeacutependante des conditions de transmission du signal et un temps de deacutecodage preacutevisible

522 List Decoding

A la diffeacuterence des meacutethodes de recherche preacuteceacutedentes le genre de recherche breadth-first analyse et traite les chemins par groupes Les algorithmes List Decoding [Joha99] M-Algorithm [Ande84] [Schl97] et T-Algorithm [Schl97] sont des meacutethodes qui exploitent ce genre de recherche Le principe de recherche de ces meacutethodes peut ecirctre ainsi partageacute en deux parties Dabord un nombre de chemins les plus prometteurs est seacutelectionneacute parmi les chemins atteignant le niveau de profondeur traiteacute Puis les chemins seacutelectionneacutes sont propageacutes au niveau de profondeur suivant Description de lalgorithme List Decoding Etant donneacute une recherche de type breadth-first lrsquoanalyse et le controcircle des chemins sont synchroniseacutes par rapport au niveau de profondeur dans lrsquoarbre de recherche La possibiliteacute de revenir sur les nœuds preacuteceacutedents nest pas donneacutee (Figure 5-2) Lalgorithme List Decoding peut ecirctre reacuteparti en quatre eacutetapes principales

1 Insertion du nœud de deacutepart dans la liste contenant les chemins les plus prometteurs (initialisation de la liste)

2 Deacutetermination des nouveaux chemins agrave partir des chemins contenus dans la liste des chemins les plus prometteurs Mise agrave jour des meacutetriques relatives cumuleacutees

3 Si la fin de lrsquoarbre de recherche est atteinte deacutecodage du chemin posseacutedant la meilleure meacutetrique finale

4 Si la fin de larbre nest pas atteinte effacement du contenu de la liste des chemins les plus prometteurs et seacutelection des L chemins preacutesentant les meacutetriques cumuleacutees les plus favorables Ces chemins sont ensuite inscrits dans la liste des chemins les plus prometteurs et la proceacutedure de recherche retourne agrave lrsquoeacutetape 2

Les chemins analyseacutes ayant la mecircme longueur la fonction de meacutetrique PM (55) peut ignorer tous les termes en commun agrave toutes les meacutetriques La fonction de meacutetrique nest ainsi formeacutee que par laccumulation des

72

contributions de chaque transition (branche) dans le diagramme en arbre cest-agrave-dire des meacutetriques de branche micronp (56) ( )( ) ( )

np npnp-1ii i SS SPM PM micro= + (57)

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

PM4(S13) PM5

(S19)PM3(S7)PM2

(S3)PM1(S1)PM0

(S0)

PM4(S14) PM5

(S20)PM3(S8)PM2

(S4)PM1(S2)

PM4(S15) PM5

(S21)PM3(S9)PM2

(S5)

PM4(S16) PM5

(S22)PM3(S10)PM2

(S6)

PM4(S17) PM5

(S23)PM3(S11)

PM4(S18) PM5

(S24)PM3(S12)

Figure 5-2 exemple illustrant le genre de recherche de la meacutethode List Decoding (L = 3)

Importance du nombre L de chemins propageacutes Le nombre L de chemins retenus agrave chaque transition est normalement deacutefini agrave priori agrave lexception de lalgorithme T-Algorithm qui seacutelectionne dynamiquement les chemins candidats Cet algorithme seacutelectionne les chemins en se basant sur les diffeacuterences existant entre les meacutetriques cumuleacutees [Schl97] Le problegraveme typique affectant ce type dalgorithme est la possibiliteacute de rejet du chemin correct de la liste (temporairefinale) des L chemins les plus favorables agrave cause dune concentration derreurs de transmission Le rejet du chemin correct comporte un deacutecodage livrant un message incorrect (Figure

73

5-3) Le nombre derreurs dans le message est fonction du nombre de transitions deacutetat diffeacuterents entre le chemin choisi et le chemin correct

le chemincorrect est dans la

liste finale

dfree gt= 2e+1

deacutecodage duchemin correct

deacutecodage dunchemin incorrect

le nombreet la disposition temporelle

des erreurssont favorables

oui non

non

oui

oui non

start

Figure 5-3 repreacutesentation graphique des relations entre les paramegravetres influenccedilant la performance du deacutecodage ougrave e indique le nombre derreurs affectant la transmission du message et ougrave dfree indique la distance libre du code convolutif

Laugmentation du nombre L permet de reacuteduire loccurrence du rejet due agrave une accumulation (temporaire et deacutefavorable) derreurs de transmission Toutefois cette solution augmente la charge de calcul de la meacutethode de deacutecodage charge qui est fonction du nombre des chemins propageacutes et de lutilisation dopeacuterations de seacutelection Observations La qualiteacute de deacutecodage de lalgorithme List Decoding est fortement influenceacutee par le possible rejet du chemin correct de la liste des chemins les plus prometteurs Loccurrence deacutepend dune part de la quantiteacute et de la disposition temporelle des erreurs de transmission et dautre part du nombre L des chemins retenus dans la liste

74

Ce paramegravetre L deacutetermine non seulement la qualiteacute de protection contre les erreurs de transmission mais aussi la charge de calcul de la proceacutedure de deacutecodage En effet la nature de recherche de cet algorithme rend la charge de calcul indeacutependante du nombre et de la disposition temporelle des erreurs de transmission A chaque niveau de profondeur lalgorithme exeacutecute la prolongation des L chemins contenus dans la liste met agrave jour les 2bmiddotL meacutetriques cumuleacutees et seacutelectionne ensuite les L meilleurs chemins17 De par sa charge de calcul indeacutependante de la longueur de contrainte du code et de par la nature des erreurs de transmission lalgorithme List Decoding a eacuteteacute retenu comme noyau pour la nouvelle meacutethode software de deacutecodage iteacuterative appeleacutee ici List Decoding inteacutegrant la validation du CRC et deacutecrite en Section 67 Cette meacutethode utilise de maniegravere iteacuterative les reacutesultats de lapplication de la meacutethode List Decoding et les informations suppleacutementaires fournies par la validation CRC

523 Algorithme de Viterbi

Lalgorithme de Viterbi a eacuteteacute preacutesenteacute en 1967 par A J Viterbi comme deacutecodeur des codes convolutifs [Vale98] Le principe de cet algorithme consiste agrave estimer les transitions qui se sont produites dans la meacutemoire du codeur convolutif pendant le codage Lestimation se base sur le maximum de vraisemblance (Maximum Likelihood) fonction qui permet didentifier le message globalement le plus probable [Hell71] [Forn73] [Thit93] [Proa95] [Schl97] [Vale98] [Joha99] [Vuce00] Limportante contribution apporteacutee par lalgorithme de Viterbi est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs mis agrave disposition par le code sans devoir controcircler individuellement chacun des chemins possibles En effet la recherche du chemin globalement le plus probable par analyse des 2bB chemins possibles devient rapidement impraticable avec laugmentation du nombre des symboles du message Les meacutethodes existant avant lalgorithme de Viterbi se limitaient au controcircle dun nombre important mais toutefois limiteacute de chemins la correspondance entre le chemin choisi et le chemin globalement le plus probable deacutependait de plusieurs paramegravetres dont le nombre et la disposition temporelle des erreurs de transmission la qualiteacute de protection offerte par le code convolutif et le nombre des chemins controcircleacutes par la meacutethode 17 b indique le nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de

canal

75

Viterbi deacuteveloppe son algorithme en eacutetablissant cinq critegraveres permettant didentifier le chemin globalement le plus probable

bull la recherche du chemin globalement le plus probable par moyen dune fonction de meacutetrique

bull La modeacutelisation de la proceacutedure de codage convolutif par un processus de Markov (processus eacutechantillonneacute dans le temps avec un nombre deacutetats finis)

bull un genre de recherche de type breadth-first bull lhypothegravese dun bruit sans meacutemoire (memoryless) perturbant le canal bull une proceacutedure de recherche exploitant la structure du diagramme en

treillis Eacutetablissement de la fonction de meacutetrique La modeacutelisation de la proceacutedure de codage par un processus de Markov offre la possibiliteacute dexploiter ses proprieacuteteacutes dont en particulier les deux suivantes [Vale98]

bull laquoLa probabiliteacute quun processus de Markov soit dans un eacutetat particulier eacutetant donneacute tous les eacutetats preacuteceacutedents est eacutegale agrave la probabiliteacute que le processus soit dans cet eacutetat eacutetant donneacutee lrsquoeacutetat preacuteceacutedentraquo (traduction) [Vale98] 1 0 1 1Pr[ ] Pr[ ]np npnp nps s s s s s+ += (58)

bull laquoDans un environnement perturbeacute par un bruit blanc la probabiliteacute de la np-egraveme observation particuliegravere rnp eacutetant donneacute la succession complegravete des transitions entre les eacutetats S est eacutegale agrave la probabiliteacute de lrsquoobservation eacutetant donneacute uniquement la transition entre la profondeur np-1 et npraquo (traduction) [Vale98] On a donc

1Pr[ ] Pr[ ]np np npnpr S r s sminus= rarr (59)

Lapplication de ceux deux proprieacuteteacutes agrave la formule (51) deacutecrivant le critegravere doptimisation permet deacutetablir lexpression suivante [Vale98]

1 11 1

arg max Pr[ ] Pr[ ] B B

np np npnp npS np npS r s s s sminus minus

= =

= rarrprod prod^

(510)

76

Le transfert de leacutequation (510) dans le domaine logarithmique (54) permet de substituer le produit de probabiliteacutes par leur somme ce qui simplifie le calcul et reacuteduit la dynamique des nombres On a alors

1 11

arg max log Pr[ ] log Pr[ ] B

np np npnp npS npS r s s s sminus minus

=

= rarr +sum

^ (511)

A partir de leacutequation (511) la fonction de meacutetrique PM est introduite dans la description du critegravere doptimisation

( ) ( )

1

( ) ( )

1

( )1 1 1

arg max arg max

et

log Pr[ ] log Pr[ ] et

i i

i

BS S

npS S np

BS S

npnp

Snp np np np np inp np np

S PM

PM

r s s s s s s S

micro

micro

micro

=

=

minus minus minus

isin

= =

=

= rarr +

sum

sum

^

(512)

ougrave les meacutetriques finales PM(Si) et de branche micronp

(Si) se reacutefegraverent aux transitions du i-egraveme chemin Lexeacutecution de la tacircche de recherche (512) peut ecirctre alleacutegeacutee en ne consideacuterant que les transitions effectivement possibles transitions qui sont deacutefinies par la structure du codeur Si tous les messages sont eacutequiprobables le second terme de la meacutetrique de branche (512) napporte aucune contribution de discrimination la formulation de la meacutetrique de branche peut ecirctre ainsi simplifieacutee et donneacutee par

( )1 log Pr[ ]iS

np np npnpr s smicro minus

= rarr (513)

Le maximum de vraisemblance devient alors lunique paramegravetre servant agrave deacuteterminer le meilleur chemin Les hypothegraveses de travail de lalgorithme preacutesenteacute en 1967 par Viterbi consideacuteraient une telle situation deacutequiprobabiliteacute [Vale98] qui est veacuterifieacutee lorsque la redondance des messages est reacuteduite au minimum ou admise lorsque les probabiliteacutes a priori Pr[snp|snp-1] ne sont pas connues

77

Notion de survivant Lintroduction de la notion de survivant (survivor) deacutecrite ci-apregraves permet de reacuteduire le nombre drsquoopeacuterations neacutecessaires agrave lexploitation de tout le potentiel de correction drsquoerreurs agrave disposition Cette notion se base sur le concept de non-optimaliteacute (nonoptimality)

SB

SA

SG

SE

SF

SC

SD

Chemin A

Chemin B

Niveau deprofondeur np-2 np-1 np np+1 np+2

eacutetat de la meacutemoiredu codeur convolutif

Figure 5-4 repreacutesentation graphique de la convergence entre deux chemins

La notion de survivant peut ecirctre expliqueacutee sur la base dun exemple comprenant deux chemins A et B dans la situation suivante (Figure 5-4)

bull les meacutetriques cumuleacutees de deux chemins A et B sont compareacutees agrave la profondeur np+2

bull au niveau de profondeur np+2 le chemin A preacutesente une meacutetrique cumuleacutee meilleure que le chemin B

( ) ( )

2 2A B

np npPM PM+ +gt (514) bull agrave partir du niveau de profondeur np les deux chemins convergent en un

mecircme chemin cest-agrave-dire quagrave partir du niveau de convergence np les deux chemins indiquent des eacutetats identiques de la meacutemoire du codeur

A laide de la proprieacuteteacute reacutecursive de la fonction de meacutetrique PM (512) les meacutetriques cumuleacutees PMnp+2 des deux chemins (514) peuvent ecirctre ainsi reacuteeacutecrites

2

( ) ( ) ( )2

1 1

A A Anp np

S S Snp prof prof

prof prof npPM micro micro

+

+= = +

= +sum sum

78

2

( ) ( ) ( )2

1 1B B B

np npS S S

np prof profprof prof np

PM micro micro+

+= = +

= +sum sum (515)

Cette formulation distingue la contribution des meacutetriques de branches par rapport au nœud de convergence des deux chemins On peut ainsi constater que les branches qui suivent le nœud de convergence apportent la mecircme contribution aux deux meacutetriques cumuleacutees PMnp+2

(SA) et PMnp+2(SB)

2 2

( ) ( )

1 1A B

np npS S

prof profprof np prof np

micro micro+ +

= + = +=sum sum (516)

A partir de ce nœud de convergence la relation existant entre les deux meacutetriques cumuleacutees ne change pas parce que les deux chemins suivrent le mecircme parcours (proprieacuteteacutes des processus de Markov (58) et (59)) ( ) ( ) ( ) ( ) x =1 2B BA AS S S S

np np np x np xPM PM PM PM+ +gt hArr gt (517) Cette relation reste inalteacutereacutee en choisissant un autre future parcours18 apregraves le nœud de convergence les meacutetriques cumuleacutees du future parcours apportent la mecircme contribution aux deux chemins Par conseacutequent au niveau de profondeur np lopeacuteration de recherche sait que le chemin convergeant le moins performant SB ne pourra jamais coiumlncider avec le chemin globalement le plus probable Cette proprieacuteteacute permet danticiper la seacutelection entre deux chemins concurrents agrave la profondeur ougrave les deux chemins se reacuteunissent pour la premiegravere fois Le theacuteoregraveme de la non-optimaliteacute (theorem of nonoptimality path) [Joha99] [Schl97] deacutefinit ainsi que laquola proceacutedure de reacuteunion des nœuds qui correspondent agrave des eacutetats identiques de lrsquoencodeur et successivement la suppression des chemins avec les meacutetriques cumuleacutees les moins favorables neacuteliminent jamais le chemin avec la ressemblance maximaleraquo19 (traduction) [Schl97] De point de vue de la nomenclature le chemin retenu apregraves la comparaison est appeleacute chemin survivant

18 Parcours qui deacutemarre depuis le nœud de convergence des deux chemins 19 Selon ce theacuteoregraveme dans le cas ougrave les chemins convergeant en un mecircme nœud

preacutesenteraient une meacutetrique identique lun des deux chemins peut ecirctre eacutelimineacute de maniegravere aleacuteatoire

79

Lapplication systeacutematique de cette proceacutedure de seacutelection anticipeacutee reacuteduit consideacuterablement la complexiteacute de calcul de proceacutedure de recherche et rend ainsi faisable lidentification du chemin globalement le plus probable Description de lalgorithme La seacutelection du chemin survivant en consideacuterant les divers eacutetats de meacutemoire possibles permet le remplacement dune recherche baseacutee sur un diagramme en arbre par une recherche exploitant le diagramme en treillis En repreacutesentant les eacutetats de meacutemoires par les nœuds de la repreacutesentation le diagramme en treillis facilite lexeacutecution de lopeacuteration de seacutelection

chemin le plus probable

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins non retenuschemins survivants

chemin le plus probabledeacutecodage du chemin seacutelectionneacute

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

Figure 5-5 exemple de deacutecodage drsquoun message de 6 bits par lrsquoalgorithme de Viterbi message qui a eacuteteacute proteacutegeacute avec un code convolutif posseacutedant une longueur de contrainte de 3

Le deacuteroulement de lalgorithme de Viterbi implique ainsi les eacutetapes suivantes (Figure 5-5)

1 Les meacutetriques cumuleacutees de tous les eacutetats sont initialiseacutees selon les connaissances (a priori) des conditions de deacutepart du processus analyseacute

2 La valeur de la variable np qui indique le niveau de profondeur dans le treillis est initialiseacutee agrave zeacutero

3 Pour chaque nœud agrave la profondeur np+1 a les chemins convergeant en ce nœud sont identifieacutes b leurs meacutetriques sont mises agrave jour agrave lrsquoaide des meacutetriques de

branche c le chemin le plus probable (survivant) est deacutetermineacute d la meacutetrique cumuleacutee du chemin survivant est assigneacutee au nœud

80

e les informations neacutecessaires agrave la reconstruction du chemin survivant sont sauvegardeacutees

4 Lorsque la fin du treillis de recherche est atteinte lrsquoalgorithme deacutecode le chemin avec la meilleure meacutetrique selon les informations sauvegardeacutees

5 Sinon le niveau de profondeur np est increacutementeacute de 1 6 On revient agrave lrsquoeacutetape 3

Observations La proprieacuteteacute principale de cet algorithme est doffrir une analyse efficace et exhaustive de tout lespace de codage gracircce agrave la notion de survivant Les ressources neacutecessaires agrave cette analyse qui doit prendre en compte les 2bB chemins possibles sont reacuteduites agrave

bull Bmiddot2bmiddot2(K-1) mises agrave jour de meacutetriques cumuleacutees bull Bmiddot2(K-1) seacutelections du chemin survivant

Lindeacutependance de la complexiteacute de calcul par rapport au nombre et agrave la disposition temporelle des erreurs de transmission est assureacutee par le genre de recherche breadth-first Par contre la longueur de contrainte K du code deacutetermine la charge de calcul pour le traitement de chaque bit dinformation La notion de survivant peut ecirctre aussi servir agrave lameacutelioration de la qualiteacute de deacutecodage des meacutethodes List Decoding La performance de lalgorithme List Decoding est en effet perturbeacutee par la conservation possible de chemins preacutesentant un mecircme eacutetat de meacutemoire (voir lexemple de la Figure 5-2 au 5egraveme niveau de profondeur 5) Cette situation perturbatrice deacutegrade lefficaciteacute de la recherche du chemin le plus probable en reacuteduisant le nombre de chemins effectivement utiles agrave cette recherche Leacutelimination des chemins inutiles implique une augmentation de la complexiteacute de calcul de la meacutethode non seulement pour lexeacutecution de lopeacuteration de seacutelection mais aussi en raison dun type de recherche baseacutee sur le diagramme en arbre Lalgorithme de Viterbi gracircce agrave son analyse efficace et exhaustive de tout lespace de codage sera un eacuteleacutement crucial des travaux deacutecrits dans les Chapitres 6 et 7 Le sujet de limplantation software (Chapitre 6) sera introduit par lanalyse de cet algorithme qui est massivement utiliseacute dans les systegravemes de la 2G Lalgorithme de Viterbi est ensuite agrave la base dune des deux meacutethodes iteacuteratives de deacutecodage software qui seront proposeacutees dans la suite de leacutetude du sixiegraveme chapitre Cette meacutethode le List Viterbi Algorithm utilise de maniegravere iteacuterative les informations fournies par lalgorithme de Viterbi et par le

81

codage suppleacutementaire CRC ameacuteliorant la qualiteacute de protection contre les erreurs de transmission Le Chapitre 7 traitera le sujet de la reacutealisation ASIC dune meacutethode de deacutecodage de codes convolutifs baseacutee entiegraverement sur lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants

53 Meacutethodes de deacutecodage estimant les symboles les plus probables

Apregraves avoir introduit les meacutethodes se concentrant sur le message le plus probable cette section preacutesente les meacutethodes agissant au niveau des symboles dinformation du message La meacutethode pionniegravere de cette classe de deacutecodeurs est lalgorithme Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) Les avantages fournis par cet algorithme sont la minimisation de la probabiliteacute derreur de chaque symbole du message et la mise agrave disposition dune estimation de la fiabiliteacute du deacutecodage Toutefois cette premiegravere meacutethode souffre de problegravemes de repreacutesentation numeacuterique des variables de ressources de stockage et dune charge de calcul importante Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute ulteacuterieurement proposeacutes Les algorithmes Max-Log-MAP Algorithm Log-MAP Algorithm et Soft Output Viterbi Algorithm (SOVA) sont des exemples repreacutesentatifs Dans cette section on illustre ainsi les principes de deacutecodage des meacutethodes MAP Max-Log-MAP Algorithm Log-MAP Algorithm et Bidirectional SOVA Les deacutetails algorithmiques de ces meacutethodes sont disponibles dans lAnnexe A Critegravere doptimisation Le critegravere doptimisation de cette classe de meacutethodes se base sur lestimation de chaque bit (b=1) ou symbole (bgt1) dinformation du message eacutetant donneacute la seacutequence de symboles reccedilus R

npnp npinfo Bit

np

info Bit arg max Pr info Bit |R

info Bit -egraveme symbole dinformationnp

=

^

(518)

82

Ce critegravere deacutetermine les symboles les plus probables indeacutependamment de la correacutelation existant entre les symboles reccedilus et ceux geacuteneacutereacutes par le message entier La reacutesolution de leacutequation (518) implique la deacutetermination des probabiliteacutes de deacutecodage de chaque symbole du message informations qui peuvent ecirctre utiles agrave lopeacuteration suivant le deacutecodage convolutif Cette classe dalgorithmes ne fournit ainsi pas le message mais une estimation de la fiabiliteacute du deacutecodage de chaque symbole Dans le contexte dun codage binaire (b=1) cette estimation est livreacutee au moyen de la fiabiliteacute Λ

( ) npnp

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Λ = (519)

qui se base sur la probabiliteacute a-posteriori (APP) des symboles transmis npPr info bit =i S 01i

= (520)

Le message peut ainsi ecirctre extrait en regardant le signe de la fiabiliteacute Λ

( )npnp

1 si info bit 0info bit = 0 autrement

Λ ge (521)

531 Symbol-by-symbol Maximum A Posteriori Algorithm

Lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacute formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole du message (518) Lalgorithme est ainsi capable de fournir en plus une estimation de la fiabiliteacute du deacutecodage qui se base sur la probabiliteacute a posteriori du bit concerneacute [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00] Bien que le nom de la meacutethode rappelle la fonction de maximisation cette fonction matheacutematique nest pas agrave la base de la meacutethode Par conseacutequent dans

83

certaines publications la meacutethode est citeacutee sous dautres noms souvent sous le terme A Posteriori Probability Algorithm [Vale98] Afin de maintenir une coheacuterence avec la plupart des publications dans la suite de ce rapport cette meacutethode continuera agrave ecirctre mentionneacutee avec son nom original Objectif de la meacutethode pionniegravere MAP En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode geacuteneacuterale permet lestimation des probabiliteacutes a posteriori (APP) des transitions

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (522)

et des probabiliteacutes des eacutetats du processus

Pr

PrPrnp

nps m R

s m RR

== = (523)

Dans le cas particulier du deacutecodage convolutif lobjectif poursuivi par la meacutethode MAP est lestimation de la probabiliteacute

npnp

Pr info bit Pr info bit

Pri R

i RR

== = (524)

probabiliteacute qui est ensuite deacutelivreacutee au moyen de la valeur de fiabiliteacute Λ Ainsi au moyen de la probabiliteacute σ()

( )

( ) ( ) ( )1

1

Pr

np npnp

np npnp

m m s m s m R

m m m m

σ

α γ βminus

minus

= = =

= sdot sdot (525)

ougrave ( ) 1Pr np

np npm s m Rα = = (526)

( ) 1Pr Bnp npnpm R s mβ +

= = (527)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (528)

lalgorithme MAP accomplit sa tacircche en estimant la fiabiliteacute

84

( ) ( )

np 1np

np ( ) 0

( )Pr info bit 1

info bit( )Pr info bit 0

ttransition m mimpliquant

ttransition m mimpliquant

m mR

m mR

σ

σ=

=

=

=Λ =

=

sum

sumnp

np

info bit

info bit

(529)

Le calcul de la probabiliteacute σ() (525) beacuteneacuteficie des proprieacuteteacutes iteacuteratives des probabiliteacutes α() (526) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (530)

et β() (527) ( ) ( ) ( )1 1

np np np

mm m m mβ β γ+ += sdotsum (531)

Les deacutetails de la deacuterivation matheacutematique ainsi que le deacuteroulement algorithmique de la meacutethode MAP sont disponibles dans lAnnexe A (Section A2) Par rapport agrave la repreacutesentation graphique de la proceacutedure de deacutecodage cette meacutethode utilise un diagramme en treillis (Figure 5-6) similairement agrave lalgorithme de Viterbi A chaque nœud du diagramme en treillis est assigneacutee la probabiliteacute APP dun eacutetat Pr nps m R

= (532)

et agrave chaque branche la probabiliteacute APP dune transition de meacutemoire 1Pr npnps m s m Rminus

= = (533)

Observations Lanalyse du deacuteroulement de lalgorithme MAP met tout de suite en eacutevidence limportante charge de calcul et la forte demande de ressources de stockage ainsi quun deacutecodage qui ne supporte pas des messages infinis (block-oriented) Par conseacutequent des meacutethodes ont eacuteteacute ensuite proposeacutees afin de pallier agrave ces inconveacutenients tout en gardant le mecircme critegravere doptimisation Parmi ces meacutethodes on trouve les algorithmes Max-Log-MAP et Log-MAP qui

85

proposent des solutions reacuteduisant la complexiteacute de calcul [Robe95] [Vale98] [Vuce00]

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

Niveau deProfondeur np-2 np-1 np np+1

info Bitnp

Figure 5-6 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les algorithmes MAP et Log-MAP

532 Algorithme Max-Log-MAP

Lalgorithme MAP est indiscutablement la solution optimale pour lestimation des probabiliteacutes des eacutetats et des transitions de meacutemoire du codeur convolutif [Robe95] Cependant il souffre de seacutevegraveres inconveacutenients [Vale98]

bull Une repreacutesentation numeacuterique des probabiliteacutes qui doit couvrir une vaste dynamique de valeurs

bull Une utilisation intensive des ressources de stockage et de calcul Lalgorithme Max-Log-MAP propose de reacuteduire ces inconveacutenients Le problegraveme de la dynamique des nombres est reacutesolu en exeacutecutant les estimations des probabiliteacutes dans le domaine logarithmique [Robe95] [Vale98] [Vuce00] Les probabiliteacutes ( )t mα ( )t mβ ( )t m mγ et ( )i

t m mγ sont ainsi remplaceacutees par les probabiliteacutes eacutequivalentes ( )t mα ( )t mβ

( )t m mγ et ( )it m mγ dans le domaine logarithmique

86

( ) ( )( ) log i i

t tm m m mγ γ= (534)

( ) ( )( ) ( ) ( )1

log log tt m m m

t tm

m m eα γα α minus +

= = sum (535)

( ) ( )( ) ( ) ( )1 1

log log t tm m m

t tm

m m eβ γβ β + ++

= = sum (536)

La fiabiliteacute Λ peut ecirctre ainsi reformuleacutee

( )( ) ( ) ( )

( ) ( ) ( )

11

01

( )t

( )

info bit log

t tt

t tt

m m m m

m mm m m m

m m

e

e

α γ β

α γ β

minus

minus

+ +

+ +Λ =

sum

sum (537)

Ensuite si on considegravere lapproximation

1 1

12log maxn

ii ne e eδ δ δ δ

isin

+ + + asymp (538)

les expressions (535) et (536) peuvent ecirctre simplifieacutees dune maniegravere analogue ( ) ( ) ( ) 1

max t ttmm m m mα α γminusasymp + (539)

( ) ( ) ( ) 1 1max t t tm

m m m mβ β γ+ +asymp + (540) ce qui permet une reacuteduction de la charge de calcul [Robe95] [Vale98] [Vuce00] Leacutevaluation de la fiabiliteacute Λ (537) peut aussi ecirctre simplifieacutee

( ) ( ) ( ) ( )

( ) ( ) ( ) 1

t 1( )

01( )

info bit max

max

t ttm m

t ttm m

m m m m

m m m m

α γ β

α γ β

minus

minus

Λ asymp + +

minus + + (541)

Observation En analysant lexpression (541) on en constate que le nombre des chemins participant agrave la mesure de la fiabiliteacute est reacuteduit et que lalgorithme ressemble agrave celui de Viterbi

87

Pour lestimation de la fiabiliteacute de chaque bit lalgorithme Max-Log MAP utilise seulement deux chemins dont la seacutelection est analogue au principe du chemin survivant de lalgorithme de Viterbi Lun des deux chemins coiumlncide toujours avec le chemin globalement le plus prometteur ce qui deacutetermine le signe de lestimation Λ [Vuce00] (Figure 5-7) Par conseacutequent le message extrait par les signes des fiabiliteacutes Λ coiumlncide avec celui livreacute par lalgorithme de Viterbi

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

chemin consideacutereacutepar la meacutethode

noeud concerneacute par lemeilleur chemin global

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

Figure 5-7 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par lalgorithme Max-Log-MAP

533 Algorithme Log-MAP

La reacuteduction de la complexiteacute de calcul de lalgorithme Max-Log-MAP obtenue agrave laide de lutilisation des approximations est contre-balanceacutee par la deacutegradation de la qualiteacute de lestimation Λ Pour parer agrave ce problegraveme lalgorithme Log-MAP utilise la notion du Jacobian Algorithm de maniegravere agrave ameacuteliorer la qualiteacute des approximations Le Jacobian Algorithm comporte les relations suivantes

88

( )

( ) ( )

2 11 21 2

1 2 1 2

ln max ln 1

max fc

e e e δ δδ δ δ δ

δ δ δ δ

minus minus + = + +

= + minus (542)

et

( ) ( ) ( )1 2ln ln max f n nn c n

ee e e e e

δ

δ δ δ δδ δ δ δ δ = =

+ + + + + minus (543)

ougrave ( )f c est une fonction de correction [Robe95] [Vuce00] Observations Lutilisation de la fonction de correction fc() permet de conserver la qualiteacute de lestimation Λ de lalgorithme MAP au deacutetriment de la complexiteacute de calcul par rapport agrave lalgorithme Max-Log-MAP En choisissant une implantation partielle de cette fonction de correction agrave laide dune table de valeurs preacute-calculeacutees (8 values Pre-computed One-Directional Table [Robe95]) un compromis peut ecirctre atteint entre laugmentation de complexiteacute de calcul et la deacutegradation de la qualiteacute destimation par rapport agrave celle de lalgorithme original [Robe95]

534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA)

Le point fort des algorithmes deacuteriveacutes de lalgorithme MAP est la livraison de la fiabiliteacute Λ Toutefois ces meacutethodes souffrent dune charge de calcul tregraves importante par rapport agrave lalgorithme de Viterbi qui est reconnu comme meacutethode de deacutecodage convolutif de reacutefeacuterence En guise de solution le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute [Forn73] [Hage95] [Vale98][Vuce00] Le concept se base sur la modification de lalgorithme de Viterbi de maniegravere agrave produire une estimation de la fiabiliteacute Λ de chaque bit du message en utilisant le chemin le plus probable Bien quil existe plusieurs meacutethodes SOVA les estimations de la fiabiliteacute Λ suivent dans les grandes lignes le mecircme principe Toutes les meacutethodes destimation du np-egraveme bit se basent sur la relation existant entre les meacutetriques cumuleacutees

bull du chemin globalement le plus probable et bull du meilleur chemin qui sest eacutecarteacute au niveau de profondeur np

(Figure 5-8)

89

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition causeacutee par le info bit 0

transition causeacutee par le info bit 1

chemin consideacutereacutepar la meacutethode

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

noeud concerneacute par lemeilleur chemin global

Figure 5-8 chemins concerneacutes par la proceacutedure destimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les meacutethodes Soft Output Viterbi Algorithm

En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la complexiteacute de calcul de lalgorithme de Viterbi En Annexe A (Section A3) on trouve la description de lalgorithme Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] Lavantage de cet algorithme est sa simpliciteacute de compreacutehension et dimplantation

54 Analyse critique des meacutethodes preacutesenteacutees

Du point de vue historique le premier critegravere de deacutecodage a ecirctre exploiteacute par les meacutethodes de deacutecodage convolutif est lestimation du message le plus probable (Table 5-1a) La premiegravere meacutethode (le deacutecodage seacutequentiel eacutelaboreacute principalement par Wozencraft Reiffen Fano et Jelinek [Joha99] [Proa95] [Schl97]) utilise ce critegravere en modeacutelisant les transitions deacutetats de la meacutemoire de lencodeur agrave

90

laide dun diagramme en arbre Populaire dans les systegravemes agrave basse vitesse de transmission [Schl97] cette meacutethode souffre de trois inconveacutenients majeurs lexeacutecution seacutequentielle de lalgorithme un temps variable de deacutecodage et la fonction de meacutetrique deacutependante de la longueur du chemin analyseacute (voir Sous-section 521 et Section A1)

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

Algorithme seacutequentiel (Wozencraft 1957)

sect 521 sect A1

X sous optimale

- - condition de transmission des signaux proceacutedure pour la deacutetection des chemins incorrects

premiegravere meacutethode proposeacutee

List Decoding sect 522 sect B2

X sous optimale

- - nombre L des eacutetats consideacutereacutes pour le deacutecodage

Algorithme de Viterbi (Viterbi 1967) sect 523

X optimale - - longueur de contrainte K du code

meacutethode utiliseacutee communeacutement pour le deacutecodage des codes convolutifs (ougrave Klt11)

Table 5-1a vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatives preacutesenteacutees dans ce chapitre

Ces inconveacutenients ont eacuteteacute eacutelimineacutes en changeant la nature de la recherche La recherche unidirectionnelle et synchroniseacutee du chemin le plus probable (Breadth-first) rend la complexiteacute de calcul indeacutependante des conditions de transmission du signal et fixe le temps de deacutecodage La structure algorithmique de ce type de recherche est fortement parallegravele Cette derniegravere caracteacuteristique est indispensable pour une implantation VLSI Dans la classe de meacutethodes utilisant ce type de recherche on trouve le List Decoding (Sous-section 522 et Section B2) et lalgorithme de Viterbi (Sous-section 523)

91

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

symbol-by-symbol MAP (Bahl 1974) sect 531 sect A2

X - optimale optimale longueur de contrainte K du code

Soft-Output Viterbi Algorithm (Hagenauer 1989) sect 534 sect A3

X optimale - sous optimale longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme de Viterbi

Max-Log-MAP (Koch 1990) sect 532

X - sous optimale sous optimale

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Log-MAP (Robertson 1995) sect 533

X - Deacutependante de limplantation

Deacutependante de limplantation

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Table 5-1b (cont) vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatifs preacutesenteacutees dans ce chapitre (Section 53)

Du point de vue historique le dernier algorithme de cette classe de meacutethodes estimant le message le plus probable est lalgorithme de Viterbi La nouveauteacute apporteacutee par cet algorithme est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs agrave disposition sans devoir recourir agrave une analyse exhaustive de tous les possibles messages Malgreacute cette optimisation des ressources la complexiteacute de calcul croicirct toutefois exponentiellement en fonction de la longueur de contrainte K du code Pour cette raison la meacutethode est communeacutement utiliseacutee pour le deacutecodage de codes convolutifs dont la longueur de contrainte est limiteacutee (Kle10) [Proa95] Lautre critegravere de deacutecodage (historiquement plus reacutecent) se concentre sur le deacutecodage seacutepareacute de chaque symbole du message (Table 5-1b) Lalgorithme pionnier est lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) qui est preacutesenteacute comme une solution alternative agrave lalgorithme de Viterbi [Vale98] Les avantages fournis par ce critegravere sont la

92

minimisation de la probabiliteacute derreur de chaque symbole et la livraison dune estimation de la fiabiliteacute du deacutecodage Cet algorithme souffre dinconveacutenients importants tels que la repreacutesentation numeacuterique des variables la demande de ressources de stockage et limportante charge de calcul (Sous-section 531 et Section A2) [Robe95] [Vale98][Vuce00] Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute proposeacutes ulteacuterieurement Les exemples les plus caracteacuteristiques sont les algorithmes Max-Log-MAP Algorithm (Sous-section 532) Log-MAP Algorithm (Sous-section 533) et Soft Output Viterbi Algorithm (Sous-section 534 et Section A3) [Robe95] Au niveau de lestimation de la fiabiliteacute Λ (Table 5-1) ces meacutethodes diffegraverent principalement dans lutilisation des ressources agrave disposition [Vuce00] (Figure 5-6 Figure 5-7 et Figure 5-8) Par rapport agrave la complexiteacute de calcul de ces meacutethodes on peut tout de suite constater que

bull La performance et la complexiteacute de calcul des meacutethodes de deacutecodage seacutequentiel et List Decoding sont influenceacutees par le choix des paramegravetres impliqueacutes dans limplantation

bull La complexiteacute de calcul des meacutethodes baseacutees sur lalgorithme de Viterbi et MAP deacutepend de la longueur de contrainte K du code convolutif utiliseacute

bull Bien quil en existe plusieurs versions la meacutethode la plus simple deacutevaluation de la fiabiliteacuteΛ appartient agrave la classe de meacutethodes SOVA Puisque la structure de lalgorithme est baseacutee normalement sur lalgorithme de Viterbi et sur une proceacutedure parallegravele pour lestimation de la fiabiliteacute on peut raisonnablement sattendre agrave ce que la complexiteacute soit infeacuterieure au double de la complexiteacute de lalgorithme de Viterbi [Vale98] [Vuce00]

bull La complexiteacute de calcul de la meacutethode Max-Log-MAP est approximativement estimeacutee au double de celle des meacutethodes SOVA [Robe95] [Vuce00]

bull La meacutethode Log-MAP est caracteacuteriseacutee par une complexiteacute de calcul estimeacutee entre 2 et 3 fois celle des meacutethodes SOVA [Vale98] [Vuce00]

55 Conclusions

Dans ce chapitre les principes et les algorithmes les plus repreacutesentatifs utilisables pour le deacutecodage de codes convolutifs ont eacuteteacute preacutesenteacutes

93

Les notions ainsi que les principes de deacutecodage discuteacutes repreacutesentent la base des eacutetudes qui seront preacutesenteacutees par la suite Le chapitre suivant traitera en effet le deacutecodage software dun message proteacutegeacute contenant des bits de pariteacute du CRC Ce sujet sera introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi Deux meacutethodes iteacuteratives seront ensuite proposeacutees La premiegravere meacutethode List Viterbi Algorithm exploite les proprieacuteteacutes de lalgorithme de Viterbi alors que la seconde List Decoding inteacutegrant la validation CRC incorpore lalgorithme List Decoding Le sujet du Chapitre 7 est limplantation ASIC dune meacutethode de deacutecodage de codes convolutifs Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant lalgorithme en ses eacuteleacutements constituants

Reacutefeacuterences

[Ande84] J B Anderson S Mohan Sequential Coding Algorithms A Survey and Cost Analysis IEEE Transactions on Communications Vol COM-32 No 2 feacutevrier 1984 pp 169-176

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Hell71] J A Heller I M Jacobs Viterbi Decoding for Satellite and Space Communication IEEE Transactions on Communication Technology Vol COM-19 octobre 1971 pp 835-847

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

94

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

95

6 Architectures software utilisant un processeur pour le traitement

numeacuterique du signal

Ce sixiegraveme chapitre traite de limplantation software de meacutethodes de deacutecodage de codes convolutifs dans le contexte de la troisiegraveme geacuteneacuteration (3G) des systegravemes de communication numeacuteriques cellulaires et sans fil Les codes convolutifs consideacutereacutes dans la suite sont conformes aux standards UMTS

Ce chapitre deacutebute avec lanalyse des potentialiteacutes offertes par la structure de protection des standards UMTS tout en consideacuterant une architecture comprenant un processeur speacutecialiseacute pour le traitement numeacuterique du signal Deux situations de codage sont ainsi envisageables agrave savoir le codage convolutif direct du message ou le codage convolutif dun message preacuteceacutedemment traiteacute par un codage en bloc CRC

Du point de vue du deacutecodage le cas le plus inteacuteressant est le second le deacutecodage dun message proteacutegeacute contenant en plus des bits de pariteacute CRC Ce sujet est introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi et la validation des bits de pariteacute Deux meacutethodes iteacuteratives sont ensuite proposeacutees les meacutethodes List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) En sappuyant sur lalgorithme de Viterbi et sur la meacutethode List Decoding ces deux meacutethodes utilisent de maniegravere iteacuterative les informations suppleacutementaires fournies par le codage en bloc ce qui permet dameacuteliorer le rapport entre la qualiteacute de correction et la complexiteacute dexeacutecution

Les eacutevaluations de la complexiteacute de calcul et de la qualiteacute de codage utilisent la structure de protection du service de parole AMR-NB agrave 122 kbps proposeacutee dans le cadre du standard UMTS

96

61 Introduction

Le marcheacute de la teacuteleacutephonie mobile de la seconde geacuteneacuteration est actuellement caracteacuteriseacute par une importante utilisation de processeurs speacutecialiseacutes pour le traitement numeacuterique du signal (DSP) Cette preacutedominance est due agrave lexpeacuterience et agrave la maturiteacute acquise aujourdhui par cette technologie 2G [Gath02] Les arguments qui au deacutebut empecircchaient lutilisation des DSP ont eacuteteacute reacutefuteacutes suite agrave la maturation de la technologie 2G Les derniegraveres anneacutees ont ainsi montreacute une intensification de lutilisation des architectures exploitant les DSP avec le perfectionnement des standards 2G Bien quil ne soit pas possible de preacutedire la tendance qui sera suivie dans le cadre 3G les points forts qui ont valoriseacute lutilisation dune telle architecture peuvent ecirctre analyseacutes

611 Points forts des DSP

Lors du deacutebat pour le choix dune architecture optimale dans lexploitation des technologies 2G laspect de la faible consommation a favoriseacute le deacuteveloppement de teacuteleacutephones mobiles agrave laide de circuits ASIC (Application Specific Integrated Circuits) Linversion de la tendance a commenceacute avec la reconnaissance et la revalorisation des qualiteacutes des DSP [Gath02] telles que bull La vitesse deacutevolution des geacuteneacuterations des DSP En raison de la dynamique

importante du marcheacute des DSP leur deacuteveloppement beacuteneacuteficie dune eacutequipe de travail normalement plus nombreuse par rapport agrave celle chargeacutee du design dun ASIC

bull Avec leacutevolution des geacuteneacuterations de DSP extension des fonctionaliteacutes et de la vitesse dhorloge Leacutevolution des DSP porte non seulement sur laugmentation de vitesse dhorloge mais aussi sur lameacutelioration des performances et de la fonctionnaliteacute

bull La souplesse demploi Le DSP offre tous les avantages et potentialiteacutes dun dispositif programmable agrave large usage et agrave traitement multitacircche (Figure 6-1)

bull Reacuteduction des coucircts de deacuteveloppement des applications Le DSP est une solution agrave faible risque gracircce agrave la rapiditeacute des modifications et des corrections des implantations software

bull Possibiliteacutes de maintenance et de mise agrave jour des applications Lutilisation dun dispositif programmable eacutetend les possibiliteacutes de maintenance et de mise agrave jour des applications

97

Interface utilisateur Couche 2 (Layer 2) Couche 3 (Layer 3) Applications

Couche 1 (Layer 1)-codage de parole-eacutegalisation-entrelacement-codage de canal-chiffrage

Interface Timing

Micro-Controcircleur

DSP

Logique

RAM

ROM

Fonctions concernantla bande de base Hardware

Figure 6-1 reacutepartition classique des fonctions concernant la bande de base (Baseband) dans un teacuteleacutephone mobile GSM [Gath02]

612 Exemple du standard GSM

Leacutevolution du standard GSM (Global System for Mobile Communication) pour la 2G a eacuteteacute caracteacuteriseacutee par une inversion importante de tendance Leacutevolution de ce standard a eacuteteacute caracteacuteriseacutee par lintroduction de deux nouveaux codeurs de parole (le Half Rate et le Enhanced Full Rate [ETSI726]) ainsi que par des modifications de la partie responsable de la transmission sans fil des donneacutees Par conseacutequent chaque seacuterie et geacuteneacuteration de teacuteleacutephone mobile preacutesentaient systeacutematiquement de petites modifications et ameacuteliorations par rapport agrave la preacuteceacutedente Lorsquon considegravere le deacuteveloppement darchitectures baseacutees entiegraverement sur les ASIC ces modifications et ameacuteliorations ont impliqueacute lemploi dimportantes ressources et des coucircts suppleacutementaires consideacuterables Le besoin de souplesse a rendu de plus en plus attractive lexploitation des DSP De plus en consideacuterant que [Gath02] bull le teacuteleacutephone GSM a graduellement eacutelargi lassortiment des services offerts

(tendance preacutevue dans la 3G Figure 6-2)

98

bull la flexibiliteacute est une neacutecessiteacute particuliegraverement lorsque la dureacutee de vie du produit devient de plus en plus courte (lespeacuterance de vie dun teacuteleacutephone GSM sest graduellement reacuteduite de 25 agrave 1 anneacutee)

bull la puissance de calcul non-exploiteacutee du DSP est mise agrave disposition pour limplantation dautres services

il apparaicirct que la diffeacuterence de consommation en puissance eacutelectrique entre les DSP et les ASIC nest plus le facteur deacuteterminant pour le choix du type darchitecture

50

100

150

1996 1997 1998 1999 2000

Performance(MIPS)

Anneacutee

Applications

Layer 1

DSP

Figure 6-2 eacutevolution de lassortiment des services offerts par la technologie GSM [Gath02]

613 Situation actuelle

La souplesse demploi des dispositifs programmables ainsi que la tendance agrave la reacuteduction de la diffeacuterence de consommation entre les DSP et les ASIC rendent les DSP tregraves attractifs Ces derniers peuvent ainsi ecirctre chargeacutes de lexeacutecution des fonctions de la bande de base et des applications de la nouvelle geacuteneacuteration 3G Toutefois dans le cadre dun produit mobile alimenteacute par batterie la consommation reste toujours un facteur central Cette reacutealiteacute est perceptible dans la tendance et dans les efforts pour le deacuteveloppement de DSP agrave haute performance mais agrave consommation reacuteduite (Low-Power DSP) Les fabricants de DSP poursuivent la reacuteduction de la consommation deacutenergie en ameacuteliorant les proceacutedures de conception et de fabrication des DSP Leacutelargissement de lensemble des instructions le deacuteveloppement des peacuteripheacuteriques efficaces et la

99

mise agrave disposition de moyens de gestion des ressources permettent la reacuteduction ulteacuterieure de la consommation deacutenergie

62 Contexte de codage UMTS

Lobjectif des standards UMTS est la reacutealisation dune nouvelle geacuteneacuteration de technologies pour la communication mobile Cette nouvelle geacuteneacuteration vise agrave une communication indeacutependante des facteurs concernant la localisation des personnes le type deacutequipement utiliseacute les moyens de transmission (par cacircble ou sans-fil) et le choix de la technologie [Ts22101] Lune des nouveauteacutes apporteacutees par ces standards est la deacutefinition dun protocole de codage de canal unique pour toutes les applications actuelles et futures Pour reacutealiser cet objectif une seacuterie de codeurs sont mis agrave disposition offrant une protection optimale agrave un spectre plus large dapplications

621 Protection de canal des standards UMTS

La structure de codage du standard UMTS [Ts25212] permet une protection adapteacutee aux exigences propres aux applications (Chapitre 3) Cet objectif est poursuivi en permettant tout dabord la reacutepartition du message en plusieurs groupe de symboles selon leur sensibiliteacute aux erreurs Ensuite les standards UMTS permettent dappliquer agrave chaque groupe de symboles

1 un codage CRC suivi par un codage convolutif 2 un codage convolutif 3 un codage turbo 4 aucun codage

Cette thegravese eacutetant deacutedieacutee agrave leacutetude du deacutecodage des codes convolutifs la suite de leacutetude se concentrera sur les deux premiegraveres configurations de codage Par rapport agrave ces configurations les standards UMTS mettent agrave disposition deux codes convolutifs avec une longueur de contrainte K de 9 et de rendement Rc=13 et 12 (Table 6-1) En comparant ces codes avec ceux exploiteacutes par la 2G on peut remarquer une importante augmentation de la longueur K A titre dexemple le standard GSM propose un code convolutif avec K=5 pour les services de parole Full Rate et Enhanced Full Rate Pour le service Half Rate il est preacutevu un code avec une longueur supeacuterieure K=7 [ETSI726] Lobjectif poursuivi par laugmentation de la longueur de contrainte des codes UMTS est

100

lameacutelioration de la protection contre les erreurs de transmission en gardant le rendement Rc inchangeacute

Rendement du code

Longueur de contrainte

Polynocircmes [octal]

Distance libre

Rc=12 K=9 G0=561 G1=753 dfree =12 Rc=13 K=9 G0=557 G1=663 G2=711 dfree =18

Table 6-1 caracteacuteristiques principales des deux codeurs convolutifs proposeacutes par le standard UMTS

622 Configuration de travail du deacutecodeur

Lopeacuteration de deacutecodage convolutif est analyseacutee en utilisant des simulations qui prennent en compte la structure de codage UMTS (Figure 6-3) Les potentialiteacutes ainsi que les diverses configurations de protection sont eacutevalueacutees en utilisant la structure de codage preacutevue pour le service de parole AMR-NB agrave 122kbps (Section 33) Cette structure de protection preacutesente trois contextes de codage inteacuteressants un codage convolutif enchaicircneacute avec un codage CRC un codage convolutif avec Rc=13 et un autre caracteacuteriseacute par un rendement Rc=12 (Figure 3-3)

sourcede bruit

canal detransmission

sourcedinformations

formationcanaux de

transmission

message TrCHs codage decanal UMTS

trames radio

destinataire formation dumessage

message TrCHs deacutecodage decanal UMTS

trames radio

Figure 6-3 systegraveme de simulation du codage et deacutecodage de canal UMTS

Dans le but danalyser et de reproduire facilement les reacutesultats des eacutetudes la seacutequence de symboles reccedilue (trames radio Figure 6-3) est soumise agrave une deacutecision ferme et le deacutecodage livre le message deacutecodeacute sans informations suppleacutementaires sur lopeacuteration de deacutecodage (Bit True) Bien que les discussions et les reacutesultats soient concentreacutes sur cette configuration de travail il faut souligner que les principes preacutesenteacutes dans ce chapitre sont eacutegalement efficacement applicables dans des systegravemes utilisant

101

une deacutecision pondeacutereacutee La principale conseacutequence du passage dun type de deacutecision agrave lautre est la variation du niveau de la qualiteacute de deacutecodage

63 Critegraveres de seacutelection des solutions fonctionnelles

Un algorithme peut ecirctre consideacutereacute comme inteacuteressant sil offre un rapport optimal entre la qualiteacute et le temps dexeacutecution (complexiteacute de calcul) de la tacircche eacutetablie Pour plusieurs applications de la 3G la puissance de calcul mise agrave disposition pour une application en temps reacuteel est limiteacutee Par conseacutequent agrave intervalles de temps fixes chaque opeacuteration dispose dune certaine puissance maximale de calcul Une utilisation rationnelle de cette ressource permet ainsi soit la mise agrave disposition de la puissance restante pour dautres applications soit la reacuteduction de la consommation deacutenergie

631 Evaluation de la qualiteacute de protection

En fonction du contexte de codage leacutevaluation de la qualiteacute de correction derreurs peut ecirctre effectueacutee soit agrave laide du deacutebit des symboles erroneacutes du message (Bit Error Rate BER) soit agrave laide du deacutebit des messages erroneacutes Frame Error Rate (FER) Les deux mesures permettent une eacutevaluation objective de la qualiteacute de protection par rapport aux erreurs de transmission Si pendant les simulations les deux mesures sont reacutealisables en comparant les messages agrave proteacuteger avec les messages fournis par lopeacuteration de deacutecodage (Figure 6-3) dans une application en temps reacuteel seul le FER peut ecirctre deacutetermineacute par la validation du code CRC20 attacheacute au message Toutefois il est envisageable dutiliser la relation non-lineacuteaire existant entre ces deux mesures (Figure 6-4) afin dobtenir une estimation du BER agrave partir de la valeur du FER fournie par le codage en bloc Le rapport existant entre ces deux mesures est principalement fonction des distances de Hamming entre les messages codeacutes de la meacutethode de deacutecodage et des caracteacuteristiques du bruit affectant la transmission Le nombre important de paramegravetres rend ainsi difficile leacutetablissement dun modegravele simple et efficace de distribution des erreurs dans le message deacutecodeacute (Figure 6-5)

20 Etant donneacute une capaciteacute de deacutetection derreurs suffisante soit pour empecirccher les

fausses validations soit pour les reacuteduire agrave un nombre insignifiant

102

Figure 6-4 le rapport entre le FER et le BER obtenu par simulations en appliquant une deacutecision ferme (graphe rouge en trait gras) et une deacutecision souple ideacuteale (sans quantification graphe bleu en trait fin) Simulations baseacutees sur 500000 trames du codeur de parole AMR-NB agrave 122kbps algorithme de Viterbi

632 Evaluation de la complexiteacute de calcul

Si leacutevaluation objective de la qualiteacute de protection ne pose pas de gros problegravemes celle du temps neacutecessaire au DSP pour terminer lopeacuteration de deacutecodage est plus compliqueacutee De maniegravere geacuteneacuterale le temps dexeacutecution deacutepend du nombre (et des types) dopeacuterations de la tacircche de lefficaciteacute du code binaire geacuteneacutereacute21 ainsi que de la vitesse dexeacutecution du jeu dopeacuterations impliqueacute De ces trois facteurs seul le premier caracteacuterise la tacircche agrave accomplir alors que les deux autres sont des attributs du processeur choisi Une eacutevaluation objective de la complexiteacute de calcul doit toutefois consideacuterer les potentialiteacutes dexeacutecution speacuteciales qui caracteacuterisent les processeurs optimiseacutes pour le traitement numeacuterique du signal Par conseacutequent les meacutethodes de deacutecodage seront jugeacutees selon leur charge de calcul (nombre et type dopeacuterations) en

21 Lefficaciteacute est fonction du degreacute dexploitation des ressources de calcul (classiques et

speacuteciales) du DSP

103

consideacuterant les potentialiteacutes dexeacutecution qui sont les caracteacuteristiques geacuteneacuterales de cette grande famille de processeurs

Figure 6-5 statistique des erreurs de transmission dans les trames reccedilues Simulations baseacutees sur 2 millions de trames du codeur de parole AMR-NB agrave 122kbps classe A avec CRC de 12 bits SNR de 40 dB algorithme de Viterbi Remarque le nombre de trames qui ne sont pas affecteacutees par erreurs seacutelegraveve agrave 1962952

Influence du niveau de langage utiliseacute pour la description des opeacuterations Il existe deux principaux niveaux de langage pour la description des tacircches agrave exeacutecuter le langage agrave haut niveau et le langage assembleur propre au DSP (Figure 6-6) Lutilisation dun langage agrave haut niveau reacuteduit le temps de deacuteveloppement Ce langage offre en plus une bonne portabiliteacute de la description des tacircches description qui peut ecirctre rapidement adapteacutee aux autres plates-formes dexeacutecution Loptimisation du code binaire est ainsi agrave la charge de la chaicircne de compilation les ressources et les speacutecialiteacutes architecturales des DSP sont rarement exploiteacutees de maniegravere exhaustive Lutilisation des fonctions

104

intrinsegraveques (intrinsics)22 permet de parer agrave cet inconveacutenient reacuteduisant par contre la portabiliteacute de la description Le langage assembleur permet lexploitation optimale de toutes les caracteacuteristiques structures et outils mis agrave disposition par le DSP Lexeacutecution de la tacircche peut ainsi beacuteneacuteficier dune charge de calcul optimiseacutee Malheureusement la portabiliteacute dun tel code se limite normalement agrave une seule familletype de DSP en plus dun temps de deacuteveloppement supeacuterieur requis par rapport agrave celui dune description par langage agrave haut niveau

Compilateur de haut niveau

CompilateurC-ANSI

C++

Evaluation desconstantesintrinsegraveques

CompilateurAssembleur

Code binaire

vite

sse

de d

evel

oppe

men

t

degr

eacutee d

e fin

esse

de

lopt

imis

atio

n

Description parlangage agrave haut niveau

Code assembleur

impo

rtan

ce d

u ni

veau

de

port

abili

teacute

+

-

+

- +

-

Figure 6-6 chaicircne de compilation pour la geacuteneacuteration dun code binaire exeacutecutable sur un DSP soit agrave partir dune description utilisant un langage de niveau supeacuterieur soit de lassembleur

Etant donneacute que cette eacutetude ne se concentre pas sur une seule famille de DSP les meacutethodes de deacutecodage sont deacutecrites en utilisant le langage ANSI-C en

22 Les fonctions intrinsegraveques sont des fonctions deacutecrites en code assembleur mais qui sont

appeleacutees comme les fonctions deacutecrites en langage CC++

105

virgule fixe afin de beacuteneacuteficier de la rapiditeacute dexeacutecution et de la portabiliteacute du langage agrave haut niveau Strateacutegie deacutevaluation adopteacutee Les caracteacuteristiques structurelles des DSP sont pris en compte en eacutetendant le langage de programmation avec un ensemble de nouvelles fonctions deacutedieacutees Lideacutee est de repreacutesenter (et de compter) toutes les opeacuterations caracteacuteristiques agrave la plupart des DSP indeacutependamment de leur mode daccegraves soit par code assembleur soit par fonctions intrinsegraveques

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur de poids (ITUETSI)

add Addition 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

sub Soustraction 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

abs_s Valeur absolue (16 bits) 16 16 1shl Deacutecalage arithmeacutetique avec saturation

(gauche) 1616 16 1

shr Deacutecalage arithmeacutetique avec saturation (droite)

1616 16 1

mult Multiplication 16 bits x 16 bits avec mise agrave leacutechelle

1616 16 1

L_mult Multiplication 16 bits x 16 bits avec un deacutecalage agrave gauche

1616 32 1

negate Neacutegation 16 bits 16 16 1extract_h Extraction de 16 MSB 32 16 1extract_l Extraction de 16 LSB 32 16 1round Arrondi des 16 LSB avec saturation

extraction des 16 MSB 32 16 1

L_mac Mac L_mult avec L_add 321616 32 1L_msu Msu L_mult avec L_add 321616 32 1L_macNs Mac sans saturation 321616 32 1L_msuNs Msu sans saturation 321616 32 1

Table 6-2a les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Le point de deacutepart est lextension du code C par les Basic Operations deacutefinis par les organisations ITU et ETSI (Table 6-2a et Table 6-2b) dans le contexte du deacuteveloppement des codeurs de parole Son objectif est loptimisation des

106

implantations toujours en gardant la rapiditeacute lefficaciteacute et la portabiliteacute de la description

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur depoids (ITUETSI)

L_add Addition 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_sub Soustraction 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_add_c Addition 32 bits avec carry et sans saturation

3232 32 2

L_sub_c Soustraction 32 bits avec carry et sans saturation

3232 32 2

L_negate Neacutegation 32 bits 32 32 2mult_r Multiplication avec arrondi 1616 16 2L_shl Deacutecalage arithmeacutetique avec saturation

(gauche) 3216 32 2

L_shr Deacutecalage arithmeacutetique avec saturation (droite)

3216 32 2

shr_r Deacutecalage arithmeacutetique avec arrondi (droite)

1616 16 2

mac_r Mac avec arrondi 321616 16 2msu_r Msu avec arrondi 321616 16 2L_deposit_h La valeur agrave lentreacutee forme les 16 MSB

de la valeur agrave la sortie 16 32 2

L_deposit_l La valeur agrave lentreacutee forme les 16 LSB de la valeur agrave la sortie

16 32 2

L_shr_r Deacutecalage arithmeacutetique avec arrondi (agrave droite)

3216 32 3

L_abs Valeur absolue (32 bits) 32 32 3L_sat Saturation (32 bits) 32 32 4norm_s Calcul du nombre de deacutecalage (agrave

gauche) neacutecessaire agrave la normalisation 16 16 15

div_s Division 16 bits 1616 16 18norm_l Calcul du nombre de deacutecalage (gauche)

neacutecessaire agrave la normalisation 32 16 30

Table 6-2b (cont) les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Cette extension permet leacutevaluation de la complexiteacute de calcul dune implantation sur DSP en surveillant le nombre dexeacutecutions des fonctions classiques et eacutetendues (Table 6-2 et Table 6-3) Etant donneacute une gamme de fonctions couvrant de maniegravere efficace les exigences dune implantation

107

sur DSP loccurrence de ces fonctions est en effet un bon indicateur de la charge de calcul de lapplication La complexiteacute de calcul peut ecirctre ainsi estimeacutee en liant agrave chaque type dopeacuteration une valeur (facteur de poids) indiquant la difficulteacute de son exeacutecution par le DSP consideacutereacute Plus ces valeurs se rapprochent des caracteacuteristiques dexeacutecution du jeu dinstructions du DSP plus leacutevaluation de la complexiteacute devient preacutecise Dans le cas des Basic Operations les facteurs de poids eacutetablis par lITUETSI repreacutesentent les performances ideacuteales dun DSP geacuteneacuterique agrave virgule fixe posseacutedant une structure agrave 16 bits (Table 6-2 et Table 6-3) Nom de lopeacuteration

Opeacuteration Bits Facteur de poids (ITUETSI)

move16 Deacuteplacement de donneacutees 16 1move32 Deacuteplacement de donneacutees 32 2logic16 Opeacuteration logique (non-signeacutee) 16 1logic32 Opeacuteration logique (non-signeacutee) 32 2test Controcircle 2

Table 6-3 liste eacutetablie par lITUETSI des compteurs doccurrence des opeacuterations classiques

Dans cette eacutetude la gamme des fonctions surveilleacutees doit ecirctre adapteacutee au contexte du codage de canal contexte qui privileacutegie les opeacuterateurs logiques et les opeacuterations geacuteneacuteriques agissant sur variables non-signeacutees La gamme de fonctions de lITUETSI (Table 6-2 et Table 6-3) a eacuteteacute ainsi eacutelargie en ajoutant des compteurs doccurrence suppleacutementaires la Table 6-4 montre la liste complegravete des compteurs doccurrence utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage Dans la suite de ce chapitre les estimations de la complexiteacute de calcul indiqueront seulement loccurrence des fonctions surveilleacutees Ces choix permettent une eacutevaluation algorithmique des meacutethodes indeacutependante des caracteacuteristiques des familles DSP A laide des valeurs de poids cette strateacutegie offre toujours la possibiliteacute dune analyse agrave posteriori adapteacutee agrave chaque type de processeur

633 Consideacuterations sur limplantation software

Les diverses meacutethodes analyseacutees sont deacutecrites en utilisant le langage ANSI-C en virgule fixe La description des meacutethodes a obeacutei agrave deux des points forts des implantations software la rapiditeacute de deacuteveloppement et la description parameacutetrable Cette approche ne compromet pas lexactitude des

108

comparaisons entre les meacutethodes ni du point de vue de la qualiteacute de protection ni de celui de la complexiteacute de calcul Bien que la charge de calcul augmente en raison dune description de la meacutethode souple et parameacutetrable lapplication de la mecircme approche agrave toutes les descriptions permet une comparaison correcte entre les meacutethodes Limportance de la perte defficaciteacute causeacutee par lapproche souple et par la qualiteacute de la description [BDTi5] sera ensuite eacutevalueacutee (Chapitre 8)

Nom de lopeacuteration

Opeacuteration Bits

move8 Deacuteplacement de donneacutees 8move16 Deacuteplacement de donneacutees 16move32 Deacuteplacement de donneacutees 32logic8 Opeacuteration logique (non-signeacutee) 8logic16 Opeacuteration logique (non-signeacutee) 16logic32 Opeacuteration logique (non-signeacutee) 32test Controcircle shiftl8 Deacutecalage agrave gauche (non-signeacutee) 8shiftr8 Deacutecalage agrave droite (non-signeacutee) 8shiftl16 Deacutecalage agrave gauche (non-signeacutee) 16shiftr16 Deacutecalage agrave droite (non-signeacutee) 16shiftl32 Deacutecalage agrave gauche (non-signeacutee) 32shiftr32 Deacutecalage agrave droite (non-signeacutee) 32incr8 Increacutementation 8incr16 Increacutementation 16incr32 Increacutementation 32division8 Division 8division16 Division 16division32 Division 32pointerAssign Assignation dun pointeur pointerOp Arithmeacutetique concernant un pointeur testLOOP Controcircle concernant la gestion dune boucle incr8LOOP Increacutementation concernant la gestion dune boucle 8incr16LOOP Increacutementation concernant la gestion dune boucle 16incr32LOOP Increacutementation concernant la gestion dune boucle 32move8LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 8move16LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 16move32LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 32

Table 6-4 liste complegravete des compteurs doccurrence des opeacuterations qui sont utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage convolutif Le fond gris met en eacutevidence les compteurs deacutefinis par les organisations ITU et ETSI

109

Bien quune description par langage agrave haut niveau permette de se distancer des caracteacuteristiques fines des DSP le choix de la taille des variables (16 bits ou 32 bits) a une influence sur le temps de traitement La vitesse dexeacutecution peut varier en fonction de larchitecture interne du DSP (voir Annexe B Section B3) Par rapport aux implantations de meacutethodes de deacutecodage convolutif la repreacutesentation numeacuterique (Range) des variables agrave 16 bits est suffisante pour tout lensemble des opeacuterations Le choix des tailles peut seffectuer en consideacuterant larchitecture interne du DSP

64 Approche classique lalgorithme de Viterbi

Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute de la communication mobile la meacutethode de deacutecodage la plus reacutepandue dans la 2G est tout dabord implanteacutee lalgorithme de Viterbi Lemploi de cet algorithme est preacutedominant pour le deacutecodage des codes convolutifs dont la longueur de contrainte est reacuteduite (kle10) [Proa95]

641 Fonction de meacutetrique

Limplantation de lalgorithme de Viterbi implique la deacutefinition de la fonction de meacutetrique ainsi que de la strateacutegie de deacutecodage du message (Traceback) La tacircche de cette fonction de meacutetrique est la mesure de laffiniteacute entre le message sous analyse et les symboles reccedilus Son implantation doit consideacuterer les trois aspects suivants bull la repreacutesentation numeacuterique des symboles reccedilus bull le risque de deacutepassement de la valeur maximale repreacutesentable par les

variables utiliseacutees (Overflow) bull linitialisation des valeurs de meacutetriques cumuleacutees selon les conditions de

deacutepart de lopeacuteration de codage La repreacutesentation numeacuterique des symboles reccedilus influence limplantation de la fonction de meacutetrique et deacutetermine la qualiteacute de protection de la meacutethode de deacutecodage Une deacutecision souple livre au deacutecodeur une quantiteacute supeacuterieure dinformations ce qui permet une ameacutelioration remarquable de la qualiteacute de protection (Figure 6-7 et Figure 6-8) Le gain de codage (Coding Gain) offerte par lapplication dune deacutecision souple ideacuteale23 peut atteindre 2dB

23 Cest-agrave-dire une deacutecision souple beacuteneacuteficiant dun nombre infini de niveaux de

quantification

110

[Proa95] Comme deacutejagrave indiqueacute cette eacutetude considegravere la situation de deacutecodage dans le contexte dune deacutecision ferme Repreacutesentation numeacuterique des meacutetriques Cette fonction se base sur le concept de meacutetrique cumuleacutee et de meacutetrique de branche (56) Dans le contexte dune deacutecision ferme les repreacutesentations numeacuteriques de ces meacutetriques utilisent la mecircme uniteacute de base qui est la distance de Hamming

Figure 6-7 BER obtenus en fonction dune deacutecision ferme pondeacutereacutee avec 4 8 16 et 32 niveaux et dune deacutecision pondeacutereacutee ideacuteale (sans quantification repreacutesentation en virgule flottante) Les symboles sont moduleacutes par amplitude de maniegravere antipodale (+1-1 PAM) les niveaux de quantification sont reacutepartis de maniegravere uniforme entre leacutechelle [-15middotσ2-1hellip15middotσ2+1] en fonction de la valeur de la variance σ2 du bruit gaussien (Figure 4-9) Simulations service AMR-NB agrave 122 kbps 2 millions de trames classe A avec 12 bits de pariteacute CRC

La repreacutesentation numeacuterique en virgule fixe (Fixed Point Arithmetic) peut causer des effets de deacutepassement des capaciteacutes des variables (Overflow) Lexeacutecution de lalgorithme de Viterbi exige que la repreacutesentation des meacutetriques cumuleacutees reproduise correctement les deacutecalages entre toutes les meacutetriques cumuleacutees (appartenant au mecircme niveau de profondeur) le deacutepassement des capaciteacutes repreacutesentables ne garantit eacutevidemment plus le deacuteroulement correct de lalgorithme Par conseacutequent limplantation de la

111

fonction de meacutetrique doit empecirccher le deacutepassement soit par lutilisation de variables suffisamment grandes soit par lintroduction de proceacutedures de normalisation des valeurs de meacutetriques cumuleacutees Le standard de codage UMTS [Ts25212] limite le nombre de bits contenus dans le message agrave coder agrave 505 bits lutilisation de variables agrave 16 bits assure ainsi la repreacutesentation correcte de toutes les meacutetriques cumuleacutees sans effets de deacutepassement des capaciteacutes des variables24

Figure 6-8 FER obtenus selon le type de deacutecision appliqueacute Les paramegravetres de simulation sont les mecircmes que ceux de la simulation preacuteceacutedente (Figure 6-7)

Initialisations des valeurs de meacutetrique Un dernier aspect de limplantation de la fonction de meacutetrique est linitialisation des variables repreacutesentant les meacutetriques cumuleacutees selon les conditions de deacutepart de lopeacuteration de codage convolutif Le standard UMTS [Ts25212] eacutetablit une remise agrave zeacutero de la meacutemoire du codeur convolutif avant la proceacutedure de codage Pratiquement cette opeacuteration deacutetermine leacutetat de deacutepart de la meacutemoire du codeur La proceacutedure de deacutecodage peut ainsi utiliser cette information ameacuteliorant ainsi la qualiteacute de protection des premiers bits du message (Figure 6-9) 24 Luniteacute de la repreacutesentation des meacutetriques cumuleacutees est la distance de Hamming

(deacutecision ferme)

112

Il existe deux principes dinitialisation de la proceacutedure de deacutecodage

1 Lexeacutecution de lalgorithme de Viterbi agrave partir de leacutetat de deacutepart deacutefini par le contexte de codage Une proceacutedure de controcircle des chemins est ainsi neacutecessaire dans les phases initiales de lalgorithme La valeur de meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero

2 Une initialisation diversifieacutee des valeurs de meacutetrique dans le but de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats La strateacutegie envisageacutee est de provoquer leacutelimination naturelle de ces chemins incorrects pendant les phases initiales de lalgorithme de Viterbi

Figure 6-9 exemple de distribution des erreurs de deacutecodage dans un message Le graphe rouge en trait gras indique la protection offerte par une initialisation par remise agrave zeacutero de toutes les meacutetriques cumuleacutees La qualiteacute procureacutee par une initialisation exploitant une proceacutedure de controcircle est repreacutesenteacutee en graphe bleu en trait fin Laugmentation de la qualiteacute de protection des derniers bits du message est due agrave lutilisation de bits de terminaison (Tail Bits) Contexte codage convolutif avec remise agrave zeacutero de la meacutemoire du codeur convolutif 200000 messages messages de 500 bits 8 bits de terminaison code convolutif avec Rc=13 du standard UMTS EbN0 de 0 agrave 4 dB

Le premier principe initialise agrave zeacutero la meacutetrique cumuleacutee de leacutetat de deacutepart Ensuite lalgorithme deacutemarre en ne consideacuterant que les chemins deacutemarrant depuis cet eacutetat Lexploitation optimale des informations des conditions de

113

deacutepart est toutefois contre-balanceacutee par lintroduction dune proceacutedure de controcircle du deacuteroulement de lalgorithme Bien que dans la phase initiale cette proceacutedure permette une gestion optimale des ressources ces opeacuterations de controcircle suppleacutementaires causent laugmentation de la complexiteacute totale du deacutecodage Limportance de laugmentation deacutepend de la souplesse de la description et du style de programmation Les implantations software de lalgorithme de Viterbi qui apparaissent dans la suite de leacutetude adoptent ce concept Le second principe preacutevoit linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees de maniegravere agrave garantir le deacuteroulement correct de lalgorithme sans lintroduction de proceacutedures suppleacutementaires de controcircle Ce principe se base sur une initialisation deacutefavorisant les chemins qui ne deacutemarrent pas de leacutetat de deacutepart eacutetabli (Figure 6-10) En raison de linitialisation de la meacutemoire du codeur avant le codage ces chemins sont en effet inexistants

eacutetat de deacutepartdeacutetermineacute parlinitialisation de lameacutemoire du codeur

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins possibles chemins inexistants agrave causede linitialisation de lameacutemoire du codeur convolutif

niveau deprofondeur np=0 np=1 np=2 np=3

Figure 6-10 eacutetats des chemins dans la phase initiale selon linitialisation de la meacutemoire de lencodeur convolutif (longueur de contrainte de 3)

Selon ce principe linitialisation diffeacuterencieacutee doit prendre en compte

bull la contribution maximale apporteacutee par la meacutetrique de branche (MaxContribBranche)

bull la valeur maximale repreacutesentable par les variables des meacutetriques cumuleacutees (ValMaxMetrique)

114

bull la taille de la meacutemoire du codeur (K ndash1) cette valeur identifie le niveau de profondeur agrave partir duquel tous les eacutetats de meacutemoire sont atteints par des chemins possibles (Figure 6-10)

Ainsi une valeur comprise entre

( 1)K MaxContribBrancheminus sdot

et ( 1)ValMaxMetrique K MaxContribBranche minus minus sdot

peut ecirctre utiliseacutee pour linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Cette initialisation permet le deacuteroulement correct de lalgorithme assurant la qualiteacute de protection offerte par linitialisation de la meacutemoire du codeur (Figure 6-9)

642 Meacutecanisme de deacutecodage du meilleur chemin

Selon lrsquoalgorithme proposeacute par Viterbi la reconstruction du message commence apregraves lidentification du chemin (complet) le plus probable Cette strateacutegie devient peu fonctionnelle si on considegravere bull son incompatibiliteacute dans des contextes de codage continu bull limportant retard algorithmique de la proceacutedure de deacutecodage en raison de

lattente de la reacuteception de tous les symboles avant son exeacutecution bull les nombreuses ressources impliqueacutees pour le stockage des informations

qui sont neacutecessaires agrave la reconstruction des chemins Une solution agrave ces inconveacutenients est une prise de deacutecision anticipeacutee de la valeur du np-egraveme bit du message en utilisant le meilleur chemin partiel agrave la profondeur np+δ (Figure 6-11) Cette approximation de lalgorithme25 anticipe ainsi le deacutebut de la reconstruction du message en exeacutecutant de maniegravere iteacuterative la prise de deacutecision sur unplusieurs bits dinformations pas encore deacutecodeacutes

25 La deacutecision de la valeur du np-egraveme bit est prise en nanalysant que la seacutequence

incomplegravete des observations 0npR δ+

115

Info Bitnp

Niveau deprofondeur np-1 np np+

np+1 δnp+ -1δ

chemin qui a suivi le chemin correctentre la profondeur np-1 et npson deacutecodage assigne une valeurcorrecte au bitnp

chemin qui sest eacuteloigneacute du chemincorrect entre la profondeur np-1 et npson deacutecodage assigne une valeurincorrecte au bitnp

actuel meilleurchemin

Figure 6-11 principe agrave la base du deacutecodage avec troncation des chemins

Cette approche reacutealise en pratique une troncation de la meacutemoire du deacutecodeur ce qui permet deacutetablir a priori les exigences de stockage dinformation indeacutependamment du nombre effectif de bits constituants le message On est ainsi confronteacute agrave une reacutepeacutetition systeacutematique de la proceacutedure de deacutecodage reacutepeacutetition qui augmente la charge de calcul de lalgorithme (Table 6-6) Puisquil sagit dune approximation de lalgorithme on doit en plus sattendre agrave une deacutegradation de la qualiteacute de protection dont limportance est fonction du paramegravetre δ Lassignation dune valeur agrave la distance δ est ainsi un compromis entre la deacutegradation de la qualiteacute de deacutecodage et lutilisation minimale des ressources de stockage Distance minimale δmin La relation entre la distance δ et la deacutegradation de la qualiteacute de protection deacutepend des caracteacuteristiques du codeur convolutif ainsi que du nombre derreurs de transmission Pour deacutecrire leacutevolution de la meacutetrique cumuleacutee dun chemin incorrect le concept de croissance minimale de la meacutetrique (Minimum Distance Growth) a eacuteteacute introduit par Anderson [Ande89] Ce terme (qui sera repreacutesenteacute par labreacuteviation MinMetrCroissance dans les formules) indique laugmentation minimale de la meacutetrique cumuleacutee dun chemin incorrect normaliseacutee par le nombre de symboles analyseacutes Gracircce agrave ce concept la contribution minimale de meacutetrique de branche agrave la meacutetrique cumuleacutee dun chemin incorrect est de

116

n MinMetrCroissancesdot (61) (eacutetant donneacute labsence dopeacuterations dadaptation du deacutebit de transmission26) Ainsi afin de garantir la correction (minimale) de

min

12

freede

minus= (62)

erreurs la distance minimale δmin ne doit pas ecirctre infeacuterieure agrave27

min e

n MinMetrCroissance sdot

(63)

Cette distance assure quapregraves δmin branches tous les chemins qui provoquent une prise de deacutecision incorrecte montrent des meacutetriques cumuleacutees deacutefavorables28 (Figure 6-11) Le chemin le plus probable au niveau de profondeur np+δ coiumlncidera ainsi avec la premiegravere partie soit du chemin correct soit dun chemin qui ne sest eacuteloigneacute quapregraves le niveau de profondeur np (Figure 6-11) De faccedilon geacuteneacuterale on peut deacuteterminer la distance δ minimale en fonction du nombre derreurs qui perturbent les derniegraveres δ observations (δ middotn symboles) de sorte que la deacutegradation de la qualiteacute de protection soit rendue neacutegligeable

+ nombre derreursnp npn MinMetrCroissance

δδ rarrgtsdot

(64)

Similairement agrave la distance libre dfree (Table 6-1) la valeur de la croissance minimale de la meacutetrique peut fournir des indications sur la qualiteacute de protection du code convolutif exploiteacute (Table 6-5) Cette valeur fixe en effet la limite supeacuterieure du nombre derreurs de transmission qui peuvent ecirctre (potentiellement) supporteacutees par le codage convolutif

26 Le standard UMTS [Ts25212] preacutevoit la possibiliteacute dune adaptation du deacutebit de

transmission (voir chapitres preacuteceacutedents) Dans le cas dune utilisation le paramegravetre n doit ecirctre adapteacute au deacutebit de poinccedilonnage

27 Par rapport agrave une repreacutesentation des meacutetriques baseacutee sur la seule distance de Hamming 28 En consideacuterant un nombre derreurs infeacuterieur agrave emin

117

Rendement du code

Croissance minimale (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Croissance moyenne (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Random Tree Codes [Ande89] Rc=12 0110 - Rc=13 0174 -

Simulations des codes UMTS Rc=12 29 0154 0341 Rc=13 30 0207 0408

Table 6-5 valeurs de reacutefeacuterence concernant la croissance minimale et moyenne de la meacutetrique dun chemin incorrect Par rapport aux codes UMTS lapproche pratique utiliseacutee se base sur lalgorithme pour la deacutetermination de la distance libre dfree publieacute dans [Cede89]

Deacutetermination de la distance δ par simulations La deacutetermination de la distance δ par lineacutequation (64) nest pas aiseacutee en raison des paramegravetres impliqueacutes Une regravegle a ainsi eacuteteacute deacutetermineacutee empiriquement en se basant sur lexpeacuterience et les reacutesultats de nombreuses simulations effectueacutees (exemple Figure 6-12) Cette regravegle fixe la gamme de valeurs de distance δ entre 4 et 6 fois la longueur de contrainte K du code [Joha99] [Proa95] [Thit93] Sauvegarde des informations pour la reconstruction des chemins Le dernier aspect du meacutecanisme de deacutecodage est la deacutefinition du systegraveme de sauvegarde des informations qui sont indispensables pour la reconstruction des chemins Lalgorithme de Viterbi se base sur la reconstruction iteacuterative des eacutetats preacuteceacutedents de la meacutemoire du codeur (deacutecodage du chemin le plus probable) jusquagrave pouvoir extraire la valeur dun (ou de plusieurs) bit du message 29 Par rapport au calcul de la croissance moyenne la simulation a consideacutereacute tous les

chemins incorrects qui possegravedent une distance de Hamming infeacuterieureeacutegale agrave wi=32 (361849305 chemins analyseacutes) Un controcircle systeacutematique de tous les chemins partiels rencontreacutes a permis la deacutetermination empirique de la valeur minimale de croissance

30 Le calcul de la croissance moyenne a analyseacute 338890207 chemins posseacutedant une distance de Hamming infeacuterieureeacutegale agrave wi=53 Comme pour le cas preacuteceacutedent la deacutetermination de la valeur minimale a beacuteneacuteficieacute dun controcircle systeacutematique de tous les chemins partiels rencontreacutes lors du calcul de la valeur moyenne

118

Figure 6-12 reacutesultats des simulations ayant pour objectif la deacutetermination de la valeur optimale de la distance δ Paramegravetres des simulations message de 1000 bits 8 bits de terminaison 1 million de messages code convolutif avec Rc=13 du standard UMTS distances δ multiples de la longueur de contrainte K du code

Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement le bit qui est perdu lors de la transition de la meacutemoire du codeur convolutif (Figure 6-13) Par contre le systegraveme le plus rapide et donc le moins complexe sauvegarde directement la valeur de leacutetat preacuteceacutedent du chemin survivant Afin de reacuteduire la complexiteacute de calcul cette derniegravere strateacutegie a eacuteteacute adopteacutee pour limplantation software de lalgorithme de Viterbi

nouveau bit agrave lentreacuteedu codeur bitt

dernier bit agrave lentreacuteedu codeur bitt-1

avant-dernier bit agravelentreacutee du codeur bitt-2

bitt-(k-1)

bitt-(k-2)bitt-1

Profondeur t-1 Profondeur t

Figure 6-13 comportement de la meacutemoire du code convolutif lors dune transition

119

Bits de terminaison Le standard UMTS [Ts25212] preacutevoit lutilisation de bits de terminaison (Sous-section 232) afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message agrave transmettre Similairement aux strateacutegies dinitialisation de la proceacutedure de deacutecodage la phase finale de lopeacuteration de deacutecodage peut beacuteneacuteficier de ces informations

1 Soit en ne traitant pas les chemins qui sont exclus par le codage de ces bits de terminaison Dans les phases finales les valeurs (figeacutees) de ces bits limitent les eacutetats possibles de la meacutemoire du codeur

2 Soit en traitant tous les chemins mais en modifiant la proceacutedure de seacutelection du chemin (partialfinal) le plus probable Dans ce cas une proceacutedure de controcircle suppleacutementaire est introduite dans lopeacuteration de seacutelection

Les implantations de lalgorithme de Viterbi de cette eacutetude adoptent la premiegravere strateacutegie cest-agrave-dire le controcircle du deacuteroulement de lalgorithme lors de la reacuteception des symboles geacuteneacutereacutes par le codage des bits de terminaison

643 Performances de lalgorithme de Viterbi

La qualiteacute de protection de lalgorithme de Viterbi a deacutejagrave eacuteteacute preacutesenteacutee dans les Figures 6-7 6-8 6-9 et 6-12 Dans la suite de leacutetude ces valeurs seront utiliseacutees comme reacutefeacuterence pour le jugement de la qualiteacute de protection des autres meacutethodes de deacutecodage Les Tables 6-6 et 6-7 montrent les eacutevaluations de la charge de calcul de lalgorithme Les effets de laugmentation de la longueur de contrainte du code agrave K=9 sont immeacutediatement perceptibles la charge de calcul du deacutecodage est tregraves importante Le traitement dun bit dinformation demande en effet une charge de calcul supeacuterieure agrave 7k opeacuterations (256 opeacuterations de seacutelection du chemin survivant) et neacutecessite presque 800k opeacuterations pour le deacutecodage de 93 bits dinformation et de 8 bits de terminaison La Table 6-6 montre laugmentation de la charge de calcul due agrave la strateacutegie de troncation de la meacutemoire augmentation qui est quantifiable autour du 8 pour cent Ensuite la Table 6-7 prouve lindeacutependance de la complexiteacute de calcul des caracteacuteristiques des erreurs de transmission

120

Nombre moyen drsquoopeacuterations observeacutees

Algorithme sans Troncation Algorithme avec troncation agrave 6 sdot longueur de contrainte

Format des variables

Format des variables

32 bits 16 bits Total 32 bits 16 bits TotalAdditions 44541 9 44550 44451 9 44550Increacutementations 94 1212 1306 93 1212 1305Soustractions 111 104 215 11 152 263Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 115659 45653 161312 118520 45653 164173Logique 130219 2424 132643 130271 2424 132695Deacutecalages 70942 0 70942 70894 0 70894Controcircles 102588 102588 126074 126074Pointeur assignations 611 611 659 659Pointeur arithmeacutetique 513 513 3056 3056Boucle initialisations 24167 101 24268 24215 101 24316Boucle controcircles 97723 110810 110810Boucle increacutementations 72646 808 73454 85637 808 86445Grand total 710125 765240

Table 6-6 eacutevaluation deacutetailleacutee de la complexiteacute de calcul de limplantation software de lalgorithme de Viterbi Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs doccurrence de lITUETSI

Limplantation et les simulations software de lalgorithme de Viterbi ont utiliseacute la configuration suivante bull Leacutetude utilise le systegraveme de canal UMTS uplink bull La structure de protection prise en consideacuteration est relative au codage des

bits appartenant agrave la classe A [Ts26101] (aussi nommeacute premier canal de transport [TrR104]) dans le cadre du service de parole AMR agrave 122 kbps [TrR104] Les opeacuterations de validation des bits de pariteacute CRC sont illustreacutees dans lAnnexe B (Section B1)

bull Les signaux sont moduleacutes de maniegravere antipodale (+1-1) et sont perturbeacutes au niveau des trames radio (Radio Frames) par laddition dun bruit blanc gaussien (de 00 dB agrave 60 dB) En conseacutequence lindication EbN0 sadresse au codage des trois classes (canaux de transport)

121

Nombre moyen drsquoopeacuterations

observeacutees Algorithme sans Troncation

EbNo=00dB EbNo=60dB Additions 44550 44550 Increacutementations 1306 1306 Soustractions 215 215 Multiplications 0 0 Divisions 0 0 Transferts de Donneacutees 161312 161312 Logique 132643 133292 Deacutecalages 70942 70942 Controcircles 102588 102588 Pointeur assignations 611 611 Pointeur arithmeacutetique 513 513 Boucle initialisations 24268 24268 Boucle controcircles 97723 97723 Boucle increacutementations 73454 73454 Grand total 710125 710774

Table 6-7 eacutevaluation de la complexiteacute de calcul de lalgorithme de Viterbi dans deux conditions derreurs de transmission opposeacutees Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs de lITUETSI

bull Les signaux reccedilus sont repreacutesenteacutes numeacuteriquement par une deacutecision ferme bull Bien que leacutetude nutilise pas loutil de poinccedilonnage (Puncturing)31

limplantation de lalgorithme supporte de maniegravere optimale ce service Les symboles reccedilus sont ainsi repreacutesenteacutes agrave laide de trois valeurs (+1-10)

bull La meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero et la structure de lalgorithme ne prend en consideacuteration que les chemins deacutemarrant depuis cet eacutetat

bull Par rapport au traitement des bits de terminaison la structure de lalgorithme considegravere seulement les eacutetats possibles

bull Les informations relatives agrave la reconstruction des chemins sont sauvegardeacutees sous la forme des valeurs des eacutetats preacuteceacutedents

bull Limplantation software de lalgorithme de Viterbi soriente vers des plates-formes agrave 32 bits

31 Elimination dun nombre de bits des messages codeacutes afin de sadapter au deacutebit de

transmission disponible (adaptation du deacutebit de transmission Sous-section 32)

122

644 Consideacuterations sur cette approche classique

Conformeacutement aux exigences du marcheacute de la communication mobile la meacutethode de deacutecodage implanteacutee est lalgorithme qui est preacutedominant dans les technologies 2G lalgorithme de Viterbi La nouvelle implantation de lalgorithme a reacuteveacuteleacute immeacutediatement un alourdissement de la charge de calcul assigneacute au DSP Comme il eacutetait preacutevisible le changement du contexte de codage de la 3G demande des charges de calcul de deacutecodage plus importantes par rapport agrave lancienne technologie 2G Lagrandissement de la longueur de contrainte des codes UMTS exige tout dabord une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation deacutecodeacute32 Ensuite lutilisation de deacutebits de transmission supeacuterieurs augmente la charge de calcul neacutecessaire agrave lexeacutecution en temps reacuteel de lopeacuteration de deacutecodage La complexiteacute de calcul de limplantation software de lalgorithme de Viterbi deacutepend premiegraverement de la longueur de contrainte des codes convolutifs utiliseacutes ainsi que du deacutebit de transmission requis par lapplication concerneacutee Par conseacutequent laugmentation de la longueur de contrainte et leacutelargissement de la gamme des deacutebits de transmission des standards UMTS provoquent une importante variabiliteacute au niveau des ressources de calcul neacutecessaires agrave lopeacuteration de deacutecodage La charge de calcul peut varier entre une trentaine de wMOPS (demandeacute par un service de parole agrave 122 kbps) jusquagrave des valeurs approchant le millier de wMOPS (exigeacute par les applications les plus gourmandes soutenues par les technologies UMTS) Par conseacutequent on envisage lanalyse de la structure de codage de lUMTS afin de deacutevelopper des meacutethodes de deacutecodage ameacuteliorant le rapport entre la qualiteacute de protection et la charge de calcul demandeacutee Lobjectif envisageacute est leacutelargissement du spectre de solutions software efficaces afin de mieux reacutepondre aux exigences particuliegraveres des applications

65 Deacutecodage des codes convolutifs incluant la validation CRC

Le systegraveme de codage de canal du standard UMTS [Ts25212] dispose de plusieurs moyens de codage afin de permettre une protection efficace et

32 Valeur observeacutee La perte defficaciteacute due agrave une description souple et parameacutetrable de

lalgorithme sera traiteacutee dans le Chapitre 8

123

optimale contre les erreurs de transmission pour une vaste gamme dapplications Il existe ainsi deux configurations principales de codage convolutif le codage direct du message et le codage dun message traiteacute preacuteceacutedemment par un codage en bloc CRC (Sous-section 621) Le cas le plus inteacuteressant est lenchaicircnement dun code convolutif avec un code en bloc (Figure 6-14) structure qui revient reacuteguliegraverement dans les reacutecents standards de communication numeacuterique mobile (GSM [ETSI909] DCS1800 [Kuumlhn97] UMTS [Ts25212]) A la diffeacuterence du simple codage convolutif cette configuration dispose dinformations suppleacutementaires fournies par le codage CRC qui peuvent ecirctre exploiteacutees de maniegravere exhaustive

651 Ideacutee exploitation des informations du codage concateacuteneacute

Lobjectif dune concateacutenation de deux codes est la creacuteation dun code plus performant en beacuteneacuteficiant des avantages de chaque code [Proa95] Dans le cas des reacutecents standards de communication le code en bloc est chargeacute du controcircle de linteacutegriteacute du message qui a eacuteteacute proteacutegeacute par un codage convolutif

Sourcedinformation

Destination

Codeurexteacuterieur

CRC

Codeur inteacuterieurCode Convolutif

ou TurboEmetteur

ReacutecepteurDeacutecodeurexteacuterieur

Deacutecodeurinteacuterieur

Codage de canal UMTS

Approche classique

Figure 6-14 diagramme des codes concateacuteneacutes en seacuterie dans le contexte du standard UMTS

Lors du deacutecodage convolutif linteacutegriteacute du message reconstruit est difficile agrave confirmer sans reacuteduire sensiblement la potentialiteacute de protection du code utiliseacute Le codage en bloc eacutelimine ainsi cet inconveacutenient en veacuterifiant leacuteventuelle preacutesence derreurs dans le message (Section 24) Cet enchaicircnement est demandeacute par les applications sensibles pour lesquelles lutilisation dun message corrompu provoque des effets deacutesastreux Dans le cas de la deacutetection dun message corrompu il est ainsi preacutevu que le message soit retransmis (mode de controcircle derreurs ARQ) ou quil y ait une prise de

124

mesures speacuteciales de recouvrement derreurs (Error Concealment mode de controcircle derreurs FEC)

Approche iteacuterative

Destination Reacutecepteur

Deacutecodeurinteacuterieur

Deacutecodeurexteacuterieur

Figure 6-15 principe geacuteneacuteral agrave la base des deacutecodages iteacuteratifs

Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle ce qui consiste pratiquement en la reconstruction du message suivie par sa veacuterification (Figure 6-14) Lavantage de pouvoir deacutevelopper individuellement les deux proceacutedures de deacutecodage est contre-balanceacute par une utilisation sous-optimale des ressources disponibles Une interaction entre les deux deacutecodeurs permettrait de mieux exploiter les informations mises agrave disposition par le code concateacuteneacute (Figure 6-15)

652 Principe de deacutecodage livraison dune liste de messages

La livraison dune seacuterie de messages au deacutecodeur exteacuterieur qui les examine dans lintention didentifier leacuteventuel message correct [Kuumlhn97] est un principe de deacutecodage inteacuteressant Dans la suite de leacutetude ce principe sera utiliseacute pour lexploration des potentialiteacutes offertes dune part agrave cause de la souplesse dune architecture baseacutee sur les DSP et dautre part en raison de la structure de codage de canal eacutetabli par le standard UMTS En envisageant lameacutelioration du rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage ce principe iteacuteratif peut ecirctre exploiteacute pour

bull Ameacuteliorer la qualiteacute de protection Les informations suppleacutementaires de la validation CRC sont utiliseacutees afin dameacuteliorer la protection contre les erreurs en limitant laugmentation de la charge de calcul totale

bull Reacuteduire la complexiteacute de calcul de lopeacuteration de deacutecodage Dans ce cas lexploitation des informations envisage la reacuteduction de la charge de calcul du deacutecodage convolutif tout en gardant inchangeacutee la qualiteacute de protection contre les erreurs

125

Le facteur indispensable est la preacutesence dun code en bloc posseacutedant des capaciteacutes de deacutetection derreurs suffisantes agrave lexeacutecution correcte dun tel deacutecodage iteacuteratif Puisque le cas dune erreur non deacutetecteacutee (undetected error) doit ecirctre consideacutereacute comme deacutesastreux lapplication de ce principe doit ecirctre absente de fausses validations de messages Lemploi de ce principe iteacuteratif dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute en effet limiteacute par le nombre consideacuterable de fausses validations causeacutees par une capaciteacute de deacutetection insuffisante [Kuumlhn97] Leacutevaluation des potentialiteacutes des quatre codes CRC des standards UMTS (Annexe B Section B1) a tout dabord confirmeacute des capaciteacutes de deacutetection supeacuterieures agrave celles des standards GSM ce qui rend ce principe de deacutecodage attrayant Les nombreuses simulations dans le contexte de codage AMR-NB agrave 122kbps ont ensuite prouveacute la faisabiliteacute de ce principe de deacutecodage en ne reacuteveacutelant aucun cas de fausse validation Dans la suite du chapitre deux meacutethodes de base sont proposeacutees pour prouver les potentialiteacutes et la faisabiliteacute de ce principe de deacutecodage dans le contexte de lUMTS Les deux meacutethodes ameacuteliorent le rapport entre la qualiteacute de protection et la charge de calcul lune en augmentant la qualiteacute de protection lautre en reacuteduisant la complexiteacute du deacutecodage convolutif Les potentialiteacutes de ces deux meacutethodes seront compareacutees avec celles de lalgorithme de Viterbi Lobjectif de ce deacutecodage iteacuteratif eacutetant la livraison dun message integravegre la qualiteacute de protection sera eacutevalueacutee par le deacutebit de messages erroneacutes (FER)

66 List Viterbi Algorithm

661 Introduction

Le principe de ce deacutecodage est la livraison iteacuterative des L messages les plus probables au deacutecodeur CRC afin didentifier le message correct Le principe de deacutecodage par livraison dune liste de messages permet lidentification du message correct dans une liste de messages prometteurs Du point de vue de la qualiteacute de deacutecodage lobtention dune seacuterie de L messages globalement les plus probables repreacutesente le cas ideacuteal la limite infeacuterieure de qualiteacute de ce deacutecodage iteacuteratif (L=1 livraison du message globalement le plus probable) coiumlncide ainsi avec celle de lalgorithme de Viterbi Le point de deacutepart des strateacutegies pour lobtention des L messages globalement les plus probables est lalgorithme de Viterbi qui garantit une analyse efficace

126

et complegravete de lespace de codage Par contre lalgorithme de Viterbi ne permet pas la coexistence de chemins globalement les plus probables et de plus il est incapable de fournir une seacuterie de messages33 Linadeacutequation de lalgorithme agrave fournir une seacuterie de messages les plus probables peut ecirctre compenseacutee par

bull La prise en consideacuteration agrave chaque nœud des L meilleurs chemins Les algorithmes appartenant agrave cette classe sont nommeacutes Parallel List Viterbi Algorithm (parallegravele LVA) ou Parallel Generalized Viterbi Algorithm [Sesh94] Selon ce principe chaque nœud reccediloit 2bL chemins de maniegravere agrave pouvoir ensuite en seacutelectionner les L meilleurs [Sesh94] Ces chemins seront ensuite transmis aux nœuds suivants (Figure 6-16)

bull Lexploitation (agrave posteriori) des diffeacuterences entre la meacutetrique cumuleacutee des chemins survivants et celle des perdants agrave chaque nœud de chaque niveau de profondeur du treillis (Serial List Viterbi Algorithm ou Serial Generalized Viterbi Algorithm [Nill95] [Sesh94] [Kuumlhn97]) En utilisant correctement ces diffeacuterences les L meilleurs chemins globaux peuvent ecirctre ainsi identifieacutes et ensuite reconstruits

bull Lutilisation des estimations de la fiabiliteacute Λ offerte par les meacutethodes SOVA Lexploitation de ces informations permet la geacuteneacuteration (agrave posteriori) des L messages retenus les plus probables (List SOVA [Nill95] [Kuumlhn97]) En raison dune geacuteneacuteration de la liste de chemins deacutependante de la qualiteacute de lestimation de la fiabiliteacute cette strateacutegie ne garantit pas neacutecessairement lidentification de L chemins globalement les plus probables

En raison dun contexte dexeacutecution en temps reacuteel le facteur deacuteterminant pour le choix de la strateacutegie est sa charge de calcul Malgreacute labsence dans la litteacuterature deacutevaluations preacutecises de la complexiteacute de calcul de ces strateacutegies il est eacutevident que les techniques baseacutees sur les algorithmes parallegraveles LVA et SOVA comportent une augmentation consideacuterable de la charge de calcul neacutecessaire agrave leur exeacutecution On peut estimer que lutilisation dalgorithmes parallegraveles LVA comporte une augmentation de complexiteacute dun facteur de L [Sesh94] Les strateacutegies exploitant les algorithmes SOVA impliquent aussi une importante augmentation de la complexiteacute Le chapitre preacuteceacutedent montre que leur charge

33 Lalgorithme de Viterbi adopte le thegraveoreme de la non-optimaliteacute (theorem of

nonoptimality path) afin de livrer le message globalement le plus probable (Sous-section 523)

127

de calcul est de 15 agrave 2 fois celle requise par lalgorithme de Viterbi (Section 54)

mM

m

m0

L chemins

Figure 6-16 principe agrave la base du parallegravele List Viterbi Algorithm (LVA)

La strateacutegie dune exploitation des diffeacuterences des meacutetriques cumuleacutees est par contre tregraves inteacuteressante Laugmentation de la complexiteacute nest deacutetermineacutee que par la creacuteation de la liste de messages apregraves lexeacutecution de lalgorithme de Viterbi

662 Meacutethode Serial List Viterbi Algorithm

Un avantage consideacuterable de cette strateacutegie de deacutecodage qui sera utiliseacutee dans cette eacutetude et sera nommeacutee simplement List Viterbi Algorithm (LVA) est la possibiliteacute de seacuteparer le deacuteveloppement du deacutecodeur inteacuterieur en deux parties La premiegravere partie soccupe principalement de lexeacutecution de lalgorithme de Viterbi La seconde partie se concentre sur la geacuteneacuteration de la seacuterie de L messages en utilisant les tables contenant les diffeacuterences des meacutetriques cumuleacutees et les informations pour la reconstruction des chemins Le nombre de chemins qui peuvent ecirctre reconstruits nest limiteacute que par les exigences de lapplication cette strateacutegie permet en effet la reconstruction de tous les messages souhaiteacutes ainsi que la deacutetermination de leurs meacutetriques finale Ces valeurs de meacutetrique sont deacutetermineacutees agrave partir de la meacutetrique du meilleur chemin par la formule

1

meilleur chemin

0 si le chemin agrave cette profondeur

meacutetrique finale est le survivant autrement

np B

np

np

meacutetrique=

+

sum (65)

128

ougrave ∆meacutetrique repreacutesente la diffeacuterence des meacutetriques entre le chemin survivant et celui perdant mais choisi pour la reconstruction Lexeacutecution de cette meacutethode de deacutecodage iteacuteratif peut ecirctre ainsi caracteacuteriseacutee par les eacutetapes suivantes

1 Lalgorithme de Viterbi est tout dabord exeacutecuteacute Pendant son exeacutecution les diffeacuterences entre les meacutetriques cumuleacutees des deux chemins (qui se reacuteunissent dans chaque nœud agrave chaque profondeur) sont systeacutematiquement sauvegardeacutees dans une table

2 Apregraves laccomplissement de lalgorithme de Viterbi la variable responsable du controcircle du nombre des messages geacuteneacutereacutes est initialiseacutee (l=1)

3 Le l-egraveme chemin est tout dabord identifieacute et ensuite deacutecodeacute Ces deux opeacuterations utilisent les informations relatives aux diffeacuterences de meacutetrique et agrave la reconstruction des chemins

4 Le message obtenu est analyseacute par le deacutecodeur exteacuterieur si le message est valideacute le deacutecodage iteacuteratif est termineacute

5 Si les L meilleurs messages globaux nont pas encore eacuteteacute tous controcircleacutes le deacutecodage iteacuteratif continue la variable l est increacutementeacutee et on passe au point 3 Sinon la proceacutedure de deacutecodage est interrompue sans pouvoir deacutelivrer un message valide

663 Performances de cette meacutethode iteacuterative

Limplantation de cette meacutethode est conforme agrave la configuration de base preacutesenteacutee pour limplantation de lalgorithme de Viterbi La reacutealisation de cette meacutethode se base sur la mecircme implantation de lalgorithme de Viterbi qui est utiliseacute agrave titre de reacutefeacuterence Toutefois en raison de la reconstruction de plusieurs chemins le principe de la troncation de la meacutemoire (responsable de la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins) ne peut pas ecirctre exploiteacute Par rapport agrave lobtention de la liste de L messages limplantation de la proceacutedure de creacuteation des messages suit les critegraveres suivants

bull Les messages deacutelivreacutes sont les L meilleurs messages globaux bull Le nombre maximal de messages deacutelivreacutes (pour leacutetude) est L=2 4 8

16 32 64 128 256 et 512 messages

129

bull Les messages sont deacutelivreacutes selon le critegravere dune probabiliteacute deacutecroissante et la proceacutedure iteacuterative sarrecircte si le message est valideacute par le deacutecodeur CRC Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

bull Une surveillance de loccurrence de fausses validations est effectueacutee par un controcircle systeacutematique de lexactitude de la coiumlncidence entre le message correct et celui identifieacute par le deacutecodeur CRC

Figure 6-17 qualiteacute de protection contre les erreurs de transmission offerte par la meacutethode iteacuterative List Viterbi Algorithm Le graphe rouge en trait gras se rapporte agrave la qualiteacute de reacutefeacuterence obtenue par lalgorithme de Viterbi Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Qualiteacute de protection contre les erreurs de transmission Les reacutesultats de la qualiteacute de protection (utilisant le service de parole AMR-NB agrave 122 kbps) sont illustreacutes en Figure 6-17 Les potentialiteacutes de protection de la meacutethode List Viterbi Decoding sont prouveacutees laugmentation du nombre de messages deacutelivreacutes au deacutecodeur CRC ameacuteliore sensiblement la qualiteacute de protection Par contre la relation entre le gain de codage (Coding Gain) et le nombre maximal de messages deacutelivreacutes nest pas lineacuteaire (Table 6-8) en raison de la probabiliteacute deacutecroissante des messages livreacutes La Figure 6-17 met aussi

130

en eacutevidence linfluence des conditions de transmission sur le gain de codage Les reacutesultats de cette simulation montrent que le gain de codage augmente avec lameacutelioration des conditions de transmission Aucune fausse validation na pu ecirctre identifieacutee lors des simulations effectueacutees Bien que la probabiliteacute de rencontrer des situations de fausses validations nest jamais nulle ces reacutesultats quantitatifs prouvent que la capaciteacute de deacutetection derreurs du code en bloc utiliseacute est suffisante agrave garantir lexeacutecution correcte de cette meacutethode iteacuterative

Nombre maximal de messages L

Gain de codageagrave FER=10-3 [dB]

Nombre maximal de messages L

Gain de codage agrave FER=10-3 [dB]

2 05 64 16 4 08 128 17 8 10 256 19

16 13 512 20 32 15

Table 6-8 vue densemble du gain de codage par rapport agrave la qualiteacute de protection de lalgorithme de Viterbi

Complexiteacute de calcul de cette meacutethode iteacuterative Afin de permettre lanalyse correcte de la complexiteacute de calcul de cette meacutethode la nouvelle reacutealisation de la tacircche concernant la geacuteneacuteration des messages doit ecirctre tout dabord discuteacutee La geacuteneacuteration des L meilleurs messages globaux utilise deux tables la premiegravere contenant les informations neacutecessaires agrave la reconstruction des chemins survivants la seconde comprenant les diffeacuterences de meacutetriques cumuleacutees A partir de ces deux tables la strateacutegie implanteacutee pour la geacuteneacuteration des messages les plus probables suit les eacutetapes suivantes

1 Le message globalement le plus probable (l=1) est obtenu par deacutecodage du chemin indiqueacute par lalgorithme de Viterbi En analysant les chemins perdants rencontreacutes lors de la geacuteneacuteration de ce message (Figure 6-19) une table contenant toutes les informations neacutecessaires agrave la reconstruction des L-1 chemins (temporairement) les plus probables est construite (Figure 6-18) Les informations sont la valeur de la meacutetrique et les indications des niveaux de profondeur ougrave le chemin suit des chemins perdants Cette table est geacuteneacutereacutee et

131

geacutereacutee selon la meacutethode dinsertion des nouvelles informations Straight Insertion [Pres92]

2 Le message globalement le plus probable (l=1) est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute la proceacutedure sarrecircte

3 La variable l est increacutementeacutee (l=l+1) 4 Le chemin le plus probable de la table est utiliseacute pour la construction

du l-egraveme message globalement le plus probable Ce message est obtenu en suivant les informations de reconstruction des chemins et les indications des niveaux de profondeur des chemins perdants (Figure 6-19) Apregraves la derniegravere deacuteviation depuis un chemin survivant la table des L-l meilleurs chemins est mise agrave jour (Straight Insertion) en analysant les meacutetriques des chemins perdants rencontreacutes (Figure 6-19) Cette strateacutegie eacutevite de consideacuterer des chemins perdants preacuteceacutedemment deacutejagrave analyseacutes

5 Ce l-egraveme message est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute cette proceacutedure sarrecircte

6 Si les L messages ne sont pas encore reconstruits on passe agrave leacutetape 3 Sinon la proceacutedure sarrecircte sans pouvoir livrer un message valide

djbest pointeurj informations des deacuteviations (chemin b)dibest pointeuri informations des deacuteviations (chemin j)dhbest pointeurh informations des deacuteviations (chemin h)

dwbest pointeurw informations des deacuteviations (chemin i)

chem

ins

plus

pro

met

teur

s meacutetrique indications des niveaux de profondeurdes chemins perdants

Figure 6-18 table contenant toutes les informations neacutecessaires agrave la

reconstruction des chemins temporairement les plus probables Lutilisation des pointeurs permet de reacuteduire les coucircts de mise agrave jour de la table par insertion et deacuteplacement des eacuteleacutements (Straight Insertion [Pres92])

132

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins nonretenus

cheminssurvivants

chemin le plus probable

chemins analyseacutes lors dudeacutecodage du chemin leplus probable

np=1 np=2 np=3 np=4 np=5 np=6

S00

S01

S00

np=7 np=8

Bits de terminaison

second chemin le plusprobalechemins analyseacutes lors dudeacutecodage du second cheminle plus probable

Niveau deprofondeur 0

Figure 6-19 exemple de proceacutedure de reconstruction des deux meilleurs messages globaux avec lanalyse des chemins perdants

Les estimations de la charge de calcul de la meacutethode iteacuterative sont reacutesumeacutees dans la Table 6-9 Table 6-10 et Table 6-11 La premiegravere examine dans le deacutetail la meacutethode List Viterbi livrant au maximum 8 messages au deacutecodeur exteacuterieur (L=8) La Table 6-10 et la Table 6-11 reacutesument les reacutesultats concernant la livraison de 2 4 8 16 32 64 128 256 et 512 messages Les reacutesultats qui en deacutecoulent sont conformes aux attentes La structure algorithmique de cette meacutethode iteacuterative permet en effet de limiter laugmentation de la complexiteacute la rendant inteacuteressante du point de vue du rapport qualiteacutecomplexiteacute de calcul La seacuteparation de la meacutethode en deux parties principales a rendu limplantation de la tacircche de geacuteneacuteration des L messages responsable de laugmentation de complexiteacute Limportance de laugmentation deacutepend ainsi du positionnement du message correct dans la seacuterie de messages (Table 6-9) et du nombre maximal L de messages livrables (Table 6-10 et Table 6-11)

133

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 44540 146 0 44686 44540 760 0 45300Increacutementations 0 1322 0 1322 2092 0 2092Soustractions 22525 121 0 22646 22525 842 0 23367Multiplications 0 0 0 0 0 0 0 0Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 11 45847 0 164979 119146 46752 0 165898Logique 12750 2613 13 130131 127733 3929 104 131766Deacutecalages 70721 282 1 71004 71127 2249 8 73384Controcircles 102761 102761 106329 106329Pointeur assignations 654 654 690 690Pointeur arithmeacutetique 716 716 2182 2182Boucle initialisations 24166 112 0 24278 24166 133 0 24299Boucle controcircles 97782 97782 98573 98573Boucle 72545 952 0 73497 72545 1722 0 74267Grand total 734456 748147

Table 6-9 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=8 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 Le fond gris met en eacutevidence les compteurs doccurrence deacutefinis par les organisations ITU et ETSI

Avec laugmentation du nombre de chemins L limportance du positionnement du message correct saccroicirct remarquablement Le principal responsable de la hausse importante de la complexiteacute est la gestion de la table des informations des chemins les plus prometteurs agrave partir de L=64 messages la strateacutegie de gestion de la table par Straight Insertion perd son efficaciteacute en exigeant un nombre eacuteleveacute dopeacuterations Lemploi de cette meacutethode de deacutecodage iteacuterative avec un nombre eacuteleveacute de messages implique la modification de cette strateacutegie de gestion

134

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme(imposeacute)

Contexte EbN0=00dB L=2 L=4 L=8 L=16 L=32 Additions 44551 44655 44866 45300 46216 48240Increacutementations 1320 1432 1652 2092 2972 4732Soustractions 225 22742 22951 23367 24199 25863Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 165052 165326 165898 167138 170002Logique 132694 130382 130830 131766 133681 137441Deacutecalages 71003 71344 72024 73384 76104 81544Controcircles 102615 103137 104193 106329 110697 119817Pointeur assignations 612 626 644 690 830 1302Pointeur arithmeacutetique 513 928 1346 2182 3854 7198Boucle initialisations 24269 24275 24283 24299 24331 24395Boucle controcircles 97734 97849 98087 98573 99593 101825Boucle increacutementations 73464 73574 73801 74267 75247 77399Grand total 710317 735996 740003 748147 764862 799758Complexiteacute relative34 100 104 104 105 108 113 List Viterbi Algorithm

Sans erreurs de transmission Grand total

734179 734217 734456 735263 738406Complexiteacute relative34 103 103 103 104 104

Table 6-10 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=2 4 8 16 et 32 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

34 On rappelle que la meacutethode de reacutefeacuterence est lalgorithme de Viterbi La complexiteacute

relative est obtenue en divisant la complexiteacute de calcul (nombre moyen dopeacuterations observeacutees grand total) de la meacutethode analyseacutee par celle de lalgorithme de Viterbi (donneacutee en Table 6-6)

135

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme (imposeacute)

Contexte EbN0=00dB L=32 L=64 L=128 L=256 L=512 Grand total 710317 799758 875765 1053806 1514077 2850308Complexiteacute relative34 100 113 123 148 213 401 List Viterbi Algorithm

Sans erreurs de transmission Grand total

738406 750806 797065 899840 1105428Complexiteacute relative34 104 106 112 127 156

Table 6-11 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=32 64 128 256 et 512 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

67 List Decoding inteacutegrant la validation du CRC

Les reacutesultats de la meacutethode preacuteceacutedente prouvent la faisabiliteacute dune exploitation intensive des informations geacuteneacutereacutees par le codage en bloc La meacutethode List Viterbi Algorithm ameacuteliore la qualiteacute de protection de lalgorithme de Viterbi au moyen dune utilisation plus exhaustive de ces informations La meacutethode montre un bon rapport entre la qualiteacute de protection et la complexiteacute de calcul Toutefois la complexiteacute de calcul est fortement influenceacutee par lincorporation de lalgorithme de Viterbi dans la meacutethode iteacuterative la complexiteacute croicirct de maniegravere exponentielle avec laugmentation de la longueur de contrainte K du code convolutif

671 Nouvelle strateacutegie de deacutecodage

Lefficaciteacute du principe de deacutecodage iteacuteratif permet denvisager une exploitation exhaustive des informations reccedilues dans le but de reacuteduire la charge de calcul de lopeacuteration entiegravere de deacutecodage tout en conservant la mecircme qualiteacute de protection que lalgorithme de Viterbi Ce nouvel objectif peut ecirctre atteint tout dabord en choisissant une meacutethode de deacutecodage convolutif moins exigeante en termes de charge de calcul En raison

136

de lefficaciteacute de lalgorithme de Viterbi une reacuteduction de la complexiteacute de calcul ne peut ecirctre obtenue quau deacutetriment dune analyse complegravete de lespace de codage La perte ineacutevitable de qualiteacute de protection (Table 6-12) peut ecirctre ensuite compenseacutee par lapport dinformations suppleacutementaires du codage CRC

Nombre de chemins survivants pris en compte

Facteur de reacuteduction de lespace de codage

Rapport signal sur bruit EbN0 produisant un BER de 10-3

Gain de codage

Tous (Algorithme de Viterbi) - 41 dB - 128 chemins (eacutetats) 2 42 dB -01 dB 64 chemins (eacutetats) 4 46 dB -05 dB 32 chemins (eacutetats) 8 51 dB -10 dB 16 chemins (eacutetats) 16 56 dB -15 dB

Table 6-12 vue densemble de la deacutegradation introduite en raison dune analyse incomplegravete de lespace de codage Contexte de codage codeur UMTS avec rendement Rc=13

Le mecircme principe de deacutecodage livrant une seacuterie de messages au deacutecodeur CRC est agrave nouveau adopteacute Lalgorithme utiliseacute pour la geacuteneacuteration des messages nest plus lalgorithme de Viterbi mais un algorithme qui favorise laspect de la faible complexiteacute de calcul lalgorithme List Decoding (Figure 6-20) La charge de calcul de la meacutethode List Decoding est en effet fonction du nombre L de chemins consideacutereacutes agrave chaque niveau de profondeur De plus une liste des chemins les plus prometteurs est intrinsegravequement disponible agrave tous les niveaux de profondeur (Sous-section 522) La seacuterie de messages est geacuteneacutereacutee en deacutecodant les chemins contenus dans la liste finale des L chemins les plus prometteurs La geacuteneacuteration des messages beacuteneacuteficie de la non-application du principe du survivant ce qui permet la libre coexistence des meilleurs chemins (Figure 6-21) Cette caracteacuteristique est indispensable pour obtenir une liste dont les messages possegravedent de bonnes probabiliteacutes

137

Deacutecodeur exteacuterieur

Niveau de profondeur1 2 3 B

B+1 B+(longueur decontrainte -1)

PM(1)

PM(2)

PM(L)

PM(L+1)

PM(L+2)

PM(2L)

messagecorrect

seacutele

ctio

n du

i-egravem

e m

eille

urch

emin

de

la li

ste

deacutecodage dui-egraveme chemin

deacutepart i=1

i=i+1 derniermessage

messagecorrect

messageincorrect

Deacutecodeur inteacuterieur

Oui

Oui

Non

Non

0

List Decoding

bits de terminaisonbits dinformation

Figure 6-20 repreacutesentation graphique du principe de cette meacutethode iteacuterative List Decoding inteacutegrant la validation CRC

672 Consideacuterations sur limplantation

Limplantation de cette meacutethode utilise la mecircme repreacutesentation numeacuterique des meacutetriques et le mecircme systegraveme de sauvegarde des informations de reconstruction des chemins que ceux qui ont eacuteteacute adopteacutes pour limplantation de lalgorithme de Viterbi Par rapport agrave la sauvegarde des informations de reconstruction lalgorithme List Decoding permet deux strateacutegies opposeacutees de sauvegarde des informations Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement un bit ayant fonction dindicateur (flag) Il signale si le chemin a eacuteteacute inseacutereacute dans la liste des L chemins qui seront ensuite prolongeacutes Gracircce agrave cette indication et au positionnement du chemin dans la liste des prolongations les eacutetats preacuteceacutedents des chemins peuvent ecirctre reconstruits de maniegravere iteacuterative Les deacutetails et les explications sont disponibles dans le livre de Johannesson [Joha99] De maniegravere coheacuterente avec limplantation de lalgorithme de Viterbi le systegraveme le moins complexe (qui sauvegarde directement la valeur de leacutetat preacuteceacutedent) a eacuteteacute choisi pour limplantation de cette meacutethode En raison dune reconstruction dune large quantiteacute de messages la meacutethode de troncation de la meacutemoire nest pas applicable

138

673 Effet de compensation par lexploitation exhaustive du codage CRC

La qualiteacute de protection de cette meacutethode iteacuterative est deacutetermineacutee par la probabiliteacute de trouver le message correct dans la liste de messages livreacutes au deacutecodeur CRC Cette probabiliteacute est eacutevidemment fonction du nombre L de messages livreacutes ainsi que des affiniteacutes entre les symboles reccedilus et ceux geacuteneacutereacutes par les messages

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

chemins concurrentsavec une eacutevolution

commune de lameacutetrique cumuleacutee

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

Figure 6-21 lalgorithme List Decoding permet la libre coexistence de chemins parallegraveles qui ont une eacutevolution commune de la meacutetrique cumuleacutee Ceci est ducirc agrave linapplication du critegravere du survivant

A la diffeacuterence de la meacutethode List Viterbi Decoding qui livre les L messages globalement les plus probables lalgorithme List Decoding traite les L chemins les plus prometteurs de chaque niveau de profondeur Cet algorithme peut ecirctre ainsi affecteacute par le pheacutenomegravene gecircnant du rejet cest-agrave-dire la disparition du(des) chemin(s) globalement le(s) plus probable(s) de la liste des L chemins (Section 522) Par conseacutequent les L messages livreacutes ne correspondent pas neacutecessairement aux L messages globalement les plus probables

139

Caracteacuteristiques de limplantation de cette meacutethode iteacuterative Limplantation de cette solution suit les critegraveres suivants bull Le nombre maximal de messages deacutelivreacutes coiumlncide avec le nombre L des

messages les plus prometteurs de la meacutethode List Decoding A titre deacutetude ce nombre sera aussi eacutetendu agrave 2middotL en nexeacutecutant pas la derniegravere seacutelection avant le traitement des bits de terminaison (Figure 6-20)

bull Les messages sont deacutelivreacutes selon une affiniteacute deacutecroissante (cest-agrave-dire selon une valeur de meacutetrique croissante) et la proceacutedure iteacuterative sarrecircte si le message a eacuteteacute valideacute Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Une surveillance de loccurrence de fausses validations est effectueacutee pendant les simulations Le message identifieacute par le deacutecodeur CRC est systeacutematiquement compareacute avec le message envoyeacute

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

Effet de compensation Les qualiteacutes de protection de cette meacutethode List Decoding inteacutegrant la validation CRC deacutemontrent la validiteacute du principe de la compensation de la deacutegradation de la protection due agrave lutilisation de lalgorithme List Decoding (Figure 6-22) Cette eacutetude montre que la perte de qualiteacute due agrave lanalyse incomplegravete de lespace de codage peut ecirctre compenseacutee en deacutelivrant plusieurs messages au deacutecodeur CRC La qualiteacute de protection nest maintenant influenceacutee que par la perte possible du chemin correct par lalgorithme List Decoding si ce chemin apparaicirct dans la liste finale des L chemins la proceacutedure iteacuterative permet lidentification et la livraison du message correct Limportance de lameacutelioration apporteacutee par la livraison des messages deacutepend strictement du nombre L de chemins par lalgorithme List Decoding Un nombre L eacuteleveacute diminue les risques dun rejet du chemin correct causeacute par une accumulation (soit constante soit temporairement deacutefavorable) derreurs de transmission (Table 6-13) Lextension du nombre de messages de L agrave 2L par la non-exeacutecution de la derniegravere seacutelection des chemins napporte en effet pas dameacutelioration sensible (Figure 6-22) Cette proceacutedure geacutenegravere L messages suppleacutementaires qui possegravedent des probabiliteacutes tregraves reacuteduites decirctre le message correct

140

Figure 6-22 qualiteacute de protection de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC et de lalgorithme de Viterbi Le graphe rouge en trait gras repreacutesente la qualiteacute de protection de lalgorithme de Viterbi le graphe bleu en trait fin celle de la meacutethode iteacuterative livrant L messages Le graphe vert en trait gras indique la qualiteacute de protection obtenue par la livraison de 2middotL messages (eacutelimination de la derniegravere seacutelection des L messages) Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Importance du bruit causant un FER de 10-3 [EbN0] Nombre de chemins L Algorithme List

Decoding Meacutethode iteacuterative List Decoding inteacutegr CRC

Algorithme de Viterbi

32 557 dB 553 dB64 527 dB 514 dB

128 516 dB 478 dB

513 dB

Table 6-13 exemple dameacutelioration des performances observeacute dans le cadre du service de parole AMR-NB agrave 122 kbps gracircce agrave la meacutethode iteacuterative

141

En ce qui concerne les simulations (service de parole AMR-NB agrave 122 kbps) le controcircle systeacutematique de la qualiteacute de deacutetection derreurs na reacuteveacuteleacute aucune irreacutegulariteacute dans le jugement effectueacute par le deacutecodeur CRC (cas de fausses validations) Dans le cas dune perturbation par laddition dun bruit blanc gaussien (de 00 agrave 60 dB) ce deacutecodage iteacuteratif avec L=64 messages offre une qualiteacute de protection comparable agrave celle de lalgorithme de Viterbi (Figure 6-22) Dans des conditions de transmission tregraves mauvaises (EbN0lt1dB) on peut mecircme envisager de reacuteduire ulteacuterieurement le nombre de messages L livrables

674 Complexiteacute de calcul

Apregraves avoir deacutemontreacute la faisabiliteacute dune compensation de la qualiteacute de protection par la livraison dune seacuterie de messages cette sous-section considegravere la reacuteduction de la charge de calcul de la meacutethode de deacutecodage La complexiteacute de calcul des meacutethodes iteacuteratives de deacutecodage consideacutereacutees (Figure 6-15) deacutepend tout dabord de la meacutethode de deacutecodage convolutif et ensuite de la proceacutedure iteacuterative de geacuteneacuteration et de controcircle de la validiteacute des messages Lutilisation de lalgorithme List Decoding reacuteduit la complexiteacute de cette proceacutedure iteacuterative mettant intrinsegravequement agrave disposition une liste de chemins dont le deacutecodage permet de geacuteneacuterer une seacuterie de messages Du point de vue de la complexiteacute de calcul le point crucial devient ainsi limplantation de la meacutethode List Decoding Charge de calcul de lalgorithme List Decoding la fonction de seacutelection A chaque niveau de profondeur cet algorithme procegravede agrave la prolongation de L chemins agrave la mise agrave jour de 2middotL meacutetriques cumuleacutees et agrave la seacutelection des L meilleurs chemins (Sous-section 522) Contrairement agrave lalgorithme de Viterbi le deacuteroulement de cet algorithme neacutecessite lintervention dune fonction de tri pour la seacutelection des chemins dont la complexiteacute de calcul deacutepend eacutevidemment du nombre de chemins impliqueacutes dans lopeacuteration Les fonctions de tri classiques telles que les meacutethodes Straight Insertion et Heap Sort neacutecessitent un nombre dopeacuterations dont lordre de grandeur varie entre (2middotL)2 et 2middotLmiddotlog2(2middotL) [Pres92] Avec laugmentation du nombre L de chemins les exigences de ces fonctions deviennent trop importantes et compromettent la reacuteduction de la charge de calcul envisageacutee par lanalyse partielle de lespace de codage Il devient ainsi essentiel dutiliser une solution alternative agrave ces fonctions de tri classiques

142

Proceacutedure de seacutelection deacuteveloppeacutee Une proceacutedure de seacutelection qui utilise la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee et ensuite implanteacutee La fonction de tri peut ainsi ecirctre remplaceacutee par la deacutetermination du seuil deacutelimitant les deux sous-ensembles de meacutetriques (Figure 6-23) Lordre de grandeur de la complexiteacute de calcul de cette proceacutedure est de 2middotL Les deacutetails sont preacutesenteacutes dans lAnnexe B (Section B2)

valeur de lameacutetrique cumuleacutee

best

Met

r np

nom

bre

dech

emin

s

best

Met

r np+1

best

Met

r np+2

L meilleurschemins

seuil

Figure 6-23 recherche du seuil qui permettra ensuite la seacutelection des L meilleurs chemins par simple comparaison Cette repreacutesentation considegravere des meacutetriques se basant sur la pure distance de Hamming

Cette proceacutedure sinspire de lobservation dune stabiliteacute de la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (Figure 6-24) Bien que les valeurs aient tendance agrave augmenter en preacutesence derreurs de transmission la diffeacuterence maximale entre les meacutetriques dmm reste pratiquement constante

143

( )2 log 2dmm MaxContribBranche L

= sdot sdot (66)

ougrave MaxContribBranche est la contribution maximale de la meacutetrique de branche35 (voir Annexe B Section B2) On peut ainsi constater que les 2middotL valeurs de meacutetriques cumuleacutees sont concentreacutees dans un eacutecart reacuteduit agrave dmm valeurs

Figure 6-24 exemple de la dynamique relative aux valeurs des meacutetriques cumuleacutees La distance de Hamming est utiliseacutee comme meacutetrique de branche Configuration List Decoding avec L=64 codeur convolutif avec Rc=13 du standard UMTS [Ts25212] intensiteacute du bruit de EbN0=6dB la partie initiale de la proceacutedure de deacutecodage nest pas afficheacutee

La forte accumulation des valeurs permet de deacutevelopper une proceacutedure de seacutelection exploitant la distribution statistique des meacutetriques cumuleacutees Le principe est leacutetablissement (agrave chaque niveau de profondeur) de la statistique de distribution des meacutetriques cumuleacutees afin de deacuteterminer le seuil qui permet la seacutelection des L meilleurs chemins (Figure 6-23)

35 On rappelle que luniteacute des meacutetriques de branche est la distance de Hamming Les

valeurs de meacutetriques cumuleacutees indiquent ainsi le nombre derreurs rencontreacutees par les divers chemins

144

Du point de vue de la complexiteacute de calcul cette meacutethode peut ecirctre reacutesumeacutee de la maniegravere suivante

bull Les (dmm + MaxContribBranche+1) compteurs doccurrence neacutecessaires pour eacutetablir la statistique des meacutetriques cumuleacutees36 sont remis agrave zeacutero

bull Pendant les opeacuterations de prolongement des chemins ces compteurs sont increacutementeacutes selon les valeurs des nouvelles meacutetriques cumuleacutees

bull Le seuil est ensuite eacutetabli par laddition des valeurs de ces compteurs doccurrence jusquagrave parvenir agrave lisolement des Ls chemins les plus prometteurs (ougrave LsgeL)

0

arg minseuil

statseuil statseuil compteur L

=

= gesum (67)

bull Gracircce agrave ce seuil et agrave un compteur suppleacutementaire (au cas ougrave Ls gt L) les

L meacutetriques cumuleacutees les plus favorables sont identifieacutees Complexiteacute de calcul observeacutee pour la meacutethode List Decoding inteacutegrant la validation du CRC La Table 6-14 et la Table 6-15 montrent les charges de calcul observeacutees pour la meacutethode iteacuterative List Decoding inteacutegrant la validation du CRC La premiegravere table illustre la complexiteacute neacutecessaire agrave lexeacutecution de cette meacutethode avec L=64 messages Deux situations sont traiteacutees en deacutetail la premiegravere preacutesente une situation de transmission de donneacutees sans erreurs alors que la seconde considegravere lexeacutecution exhaustive de la meacutethode en raison dune transmission tregraves mauvaise Dans cette derniegravere situation lalgorithme est forceacute (artificiellement) agrave fournir et agrave examiner tous les L messages La Table 6-15 donne une vue densemble de la complexiteacute de cette meacutethode iteacuterative Elle reacutesume les reacutesultats obtenus en utilisant L=16 32 64 128 et 256 messages Ces reacutesultats mettent en eacutevidence la relation entre la charge de calcul et les conditions de transmission des donneacutees En raison dun nombre important de messages potentiellement livrables la position du message valide dans la liste influence la charge de calcul demandeacutee par la meacutethode

36 Les limites infeacuterieure et supeacuterieure des meacutetriques cumuleacutees sont estimeacutees agrave partir des

valeurs de meacutetriques cumuleacutees obtenues au niveau de profondeur preacuteceacutedent On doit ainsi consideacuterer une diffeacuterence maximale des meacutetriques plus large (pour les deacutetails voir Annexe B) Chaque compteur doccurrence surveille une valeur preacutecise de meacutetrique

145

Par rapport aux simulations relatives au service de parole AMR-NB agrave 122 kbps lemploi de meacutethode iteacuterative avec L=64 messages implique une complexiteacute relative34 qui varie entre 039 (absence derreurs) et 049 (analyse de tous les L messages)

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 0 12703 0 12703 0 12974 0 12974Increacutementations 0 37610 0 37610 0 44497 0 44497Soustractions 0 98 0 98 0 728 0 728Multiplications 1 0 0 1 1 0 0 1Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 12465 33786 0 46251 12528 42081 0 54609Logique 11910 14387 13 26310 14143 26231 832 41206Deacutecalages 6 12040 1 12101 3714 24129 64 27907Controcircles 85075 85075 93731 93731Pointeur assignations 615 615 678 678Pointeur arithmeacutetique 584 584 6821 6821Boucle initialisations 0 387 0 387 0 513 0 513Boucle controcircles 26636 26636 33251 33251Boucle increacutementations 0 26249 0 26249 0 32738 0 32738Grand total 274621 349654

Table 6-14 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC avec L=64 Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs deacutefinis par lorganisations ITU et ETSI

Ces reacutesultats montrent que lobjectif eacutetabli a eacuteteacute atteint Lanalyse incomplegravete de lespace de codage de la meacutethode List Decoding et la nouvelle fonction de seacutelection des L chemins diminuent la complexiteacute de calcul de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC Le point crucial est lopeacuteration de seacutelection des L chemins dans la meacutethode List Decoding qui conditionne la reacuteduction de sa charge de calcul Lutilisation de fonctions classiques de tri exige en effet une charge de calcul trop importante ce qui va agrave lencontre de lobtention dune meacutethode efficace du point de vue de la complexiteacute Il a eacuteteacute ainsi neacutecessaire de deacutevelopper une fonction de seacutelection adapteacutee aux caracteacuteristiques de lalgorithme List Decoding

146

Nombre moyen drsquoopeacuterations observeacutees

Viterbi et val CRC ()

List Decoding inteacutegrant la validation CRC Exeacutecution exhaustive (imposeacute)

Contexte EbNo=00dB L=16 L=32 L=64 L=128 L=256 Additions 44551 3771 6879 12974 25010 48992Increacutementations 1320 11908 22695 44497 87853 167660Soustractions 225 250 409 728 1367 2646Multiplications 0 1 1 1 1 1Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 16943 29743 54609 103668 201485Logique 132694 12322 21993 41206 79386 155227Deacutecalages 71003 7014 13989 27907 55656 111091Controcircles 102615 31314 52105 93731 176160 327185Pointeur assignations 612 630 646 678 742 870Pointeur arithmeacutetique 513 2071 3654 6821 13156 25827Boucle initialisations 24269 419 450 513 640 895Boucle controcircles 97734 10571 18258 33251 62734 120947Boucle 73464 10152 17808 32738 62094 120052Grand total 710317 107365 188631 349654 668467 1282877Complexiteacute relative34 100 015 027 049 094 181 List Decoding inteacutegrant la validation CRC

Sans erreurs de transmission Grand total

89711 151934 274621 516245 974710Complexiteacute relative34 013 021 039 073 137

Table 6-15 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur List Decoding Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

68 Comparaisons des meacutethodes iteacuteratives proposeacutees

Le principe agrave la base de ces deacutecodages iteacuteratifs est la livraison dune seacuterie de messages au deacutecodeur exteacuterieur dans le but didentifier le message correct La probabiliteacute de la livraison du message correct correspond ainsi agrave la somme des probabiliteacutes des L messages livrables Le cas ideacuteal est repreacutesenteacute par la livraison des L messages globalement les plus prometteurs ce qui maximise la probabiliteacute de lobtention du message correct Cette strateacutegie est adopteacutee par la meacutethode iteacuterative List Viterbi

147

Algorithm (LVA) meacutethode qui offre ainsi une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Figure 6-25)

Figure 6-25 vue densemble des potentialiteacutes offertes par les deux meacutethodes iteacuteratives Le graphe vert en trait gras repreacutesente la qualiteacute de protection des meacutethodes iteacuteratives List Decoding inteacutegrant la validation CRC le graphe bleu celle des algorithmes List Viterbi Les valeurs de reacutefeacuterence de lalgorithme de Viterbi sont indiqueacutees au moyen du graphe rouge en trait gras Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps La figure indique aussi le domaine dutilisation dans lequel chacune des meacutethodes fournit une protection de qualiteacute et efficace

En raison de linteacutegration de lalgorithme de Viterbi dans la meacutethode iteacuterative de deacutecodage sa complexiteacute de calcul est eacutevidemment supeacuterieure agrave lapproche classique Une implantation soigneuse de lopeacuteration de geacuteneacuteration des messages (Sous-section 663) limite laugmentation de complexiteacute rendant cette meacutethode tregraves inteacuteressante du point de vue du rapport entre lameacutelioration de la qualiteacute de protection et la complexiteacute de calcul (Figure 6-25 et Table 6-16) Le principe de livraison dune seacuterie de messages peut ecirctre aussi exploiteacute pour deacutevelopper une meacutethode de deacutecodage efficace mais moins exigeante en termes de charge de calcul la meacutethode List Decoding inteacutegrant la validation CRC (Figure 6-25 et Table 6-16) La livraison de plusieurs messages permet

148

de compenser ainsi la deacutegradation de la qualiteacute de protection deacutegradation qui est causeacutee par un algorithme de deacutecodage convolutif moins exigeant et moins preacutecis que lalgorithme de Viterbi Lanalyse partielle de lespace de codage et la nouvelle fonction de seacutelection limitent la charge de calcul demandeacutee par le deacutecodage convolutif List Decoding La perte de qualiteacute de protection est ensuite compenseacutee par la recherche iteacuterative du message valide

WCwOPS() Algorithmes Nombre moyen dopeacuterations observeacutees (exeacutecution exhaustive )

Pour le traitement dune trame

Pour le traitement dun bit du message (valeur indicative)

Viterbi EbN0=00dB sans troncation de la meacutemoire

710125 616144 6100

Deacutetection du CRC 192 291 4Meacutethode iteacuterative baseacutee sur lalgorithme List Decoding

L= 32 188631 199919 1979L= 64 349654 369384 3657L= 128 668467 705261 6983

Meacutethode iteacuterative baseacutee sur lalgorithme List Viterbi (LVA) Max 2 messages (L=2) 735996 641881 6355Max 4 messages (L=4) 740003 646035 6396Max 8 messages (L=8) 748147 654465 6480Max 16 messages (L=16) 764862 671704 6651() Worst-Case weighted Operations nombre maximal dopeacuterations impliqueacutees dans lexeacutecution de la proceacutedure analyseacutee pondeacutereacute selon le modegravele proposeacute par lITUETSI Il comprend aussi les opeacuterations neacutecessaires agrave ladressage (Array Index) qui ne sont normalement pas consideacutereacutees lors de ce type deacutevaluation

Table 6-16 vue densemble de la complexiteacute de calcul des meacutethodes les plus repreacutesentatives Les trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps

La Figure 6-25 marque les champs demploi compleacutementaires des deux meacutethodes iteacuteratives La meacutethode LVA est envisageable afin dameacuteliorer la qualiteacute de protection de lalgorithme de Viterbi En variant le nombre L des messages livrables la meacutethode atteint ainsi diffeacuterents gains de codage Toutefois un nombre important de messages (Lgt64) reacuteduit lefficaciteacute de limplantation de la meacutethode (Table 6-16) en raison de la strateacutegie adopteacutee pour la gestion des chemins les plus probables Lemploi envisageable par la meacutethode List Decoding inteacutegrant la validation CRC est la reacuteduction de la charge de calcul de lopeacuteration de deacutecodage tout en

149

gardant le mecircme niveau de qualiteacute de protection que celui de lalgorithme de Viterbi Dans ce cas il sagit ainsi de deacuteterminer le nombre L de chemins qui offre le rapport deacutesireacute entre la qualiteacute de protection et la charge de calcul Lutilisation de ces meacutethodes neacutecessite (impeacuterativement) une capaciteacute de deacutetection derreurs suffisante pour accomplir correctement lopeacuteration didentification [Kuumlhn97] Par rapport au cas pratique du service de parole AMR-NB agrave 122 kbps les nombreuses simulations ont deacutemontreacute la faisabiliteacute et lefficaciteacute de ces meacutethodes iteacuteratives dans le contexte de codage UMTS

69 Conclusions

Ce chapitre a traiteacute le sujet de limplantation software de meacutethodes de deacutecodage de donneacutees proteacutegeacutees par les codes convolutifs du standard UMTS [Ts25212] Lanalyse de la structure de codage de lUMTS a deacutemontreacute encore une fois limportance du codage convolutif dans les standards de communication numeacuterique mobile Les reacutecents standards exploitent massivement ce codage individuellement concateacuteneacute en seacuterie et en parallegravele Cette eacutetude sest concentreacutee sur la seconde configuration Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute actuel de la communication mobile lalgorithme de Viterbi est la meacutethode qui eacuteteacute tout dabord implanteacutee Limportante charge de calcul qui en deacutecoule (Table 6-17) ainsi que limportante variabiliteacute du deacutebit de transmission ont pousseacute leacutetude vers lexploration des potentialiteacutes dexeacutecution offertes par la structure de protection du standard UMTS En jugeant les meacutethodes en termes de rapport entre la qualiteacute de protection et la complexiteacute de calcul deux meacutethodes ont ainsi eacuteteacute proposeacutees le List Viterbi Algorithm (nouvelle reacutealisation) et le List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Ces meacutethodes iteacuteratives se basent sur une exploitation plus exhaustive des informations suppleacutementaires provenant du codage CRC La premiegravere meacutethode preacutesenteacutee a eacuteteacute la meacutethode List Viterbi Algorithm Cette meacutethode offre une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Table 6-17) Une nouvelle implantation de cette meacutethode conforme aux critegraveres dune exeacutecution en temps reacuteel a confirmeacute non seulement la faisabiliteacute de la meacutethode iteacuterative dans le contexte de codage UMTS mais aussi les bons rapports entre qualiteacute de protection et complexiteacute de calcul

150

Service de parole AMR-NB agrave 122kbps (class A)

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Qualiteacute gain de codage agrave FER=10-3

Exeacutecution exhaustive (imposeacute)

Sans erreurs de transmission

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=513 dB)

100 (710k opeacuterations)

L=2 + 05 dB 104 103 L=8 + 10 dB 105 103 L=32 + 15 dB 113 104

LVA

L=128 + 17 dB 148 112 L=32 - 04 dB 027 021 L=64 00 dB 049 039

List Decoding avec CRC

L=128 + 04 dB 094 073

Table 6-17 reacutesumeacute des reacutesultats obtenus par les simulations du service de parole AMR-NB agrave 122kbps (class A) [TrR104] service proposeacute dans le cadre du standard UMTS Pour les deacutetails voir les tables Table 6-8 Table 6-10 Table 6-11 Table 6-13 et Table 6-15

Une ameacutelioration du rapport qualiteacutecomplexiteacute a eacuteteacute ensuite poursuivie en envisageant une reacuteduction de la complexiteacute de calcul de la meacutethode de deacutecodage La nouvelle meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute ainsi deacuteveloppeacutee et proposeacutee Sa strateacutegie est la liaison iteacuterative dune meacutethode de deacutecodage efficace dans lanalyse partielle de lespace de deacutecodage (la meacutethode List Decoding) avec la validation du message CRC Cette nouvelle meacutethode iteacuterative a eacuteteacute possible gracircce agrave une nouvelle reacutealisation de lalgorithme List Decoding qui a permis une reacuteduction importante de sa charge de calcul Cette reacutealisation revalorise lalgorithme List Decoding aussi dans le contexte dun codage convolutif direct du message Les simulations utilisant le codage du service de parole AMR-NB agrave 122kbps (classe B) confirment la bonne combinaison entre lanalyse partielle de lespace de codage et la charge de calcul (Table 6-18) Cette eacutetude a deacutemontreacute la possibiliteacute pratique dexploiter de maniegravere iteacuterative les informations suppleacutementaires provenant de lenchaicircnement avec un code en bloc afin dameacuteliorer le rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage (Table 6-17) Les simulations exploitant le contexte de codage

151

du service de parole AMR-NB agrave 122kbps (classe A) ont confirmeacute la faisabiliteacute des deux meacutethodes iteacuteratives Elles ont donneacute en plus des indications numeacuteriques sur les ameacuteliorations envisageables (Table 6-17) Par exemple la meacutethode List Viterbi Algorithm (LVA) avec L=8 offre un gain de codage de 10 dB en chargeant le DSP dun nombre dopeacuterations supeacuterieur de 5 par rapport agrave lalgorithme de Viterbi Le reacuteseau UMTS peut reacuteduire la puissance deacutemission des signaux (de EbN0=51 agrave EbN0=41) en garantissant la mecircme qualiteacute de protection des donneacutees (FER=10-3) Dans ce mecircme contexte le remplacement de lalgorithme de Viterbi par la meacutethode List Decoding inteacutegrant la validation CRC permet de reacuteduire la charge de calcul de lopeacuteration de deacutecodage en gardant inchangeacutee la qualiteacute de la protection Lutilisation de L=64 messages offre une protection similaire agrave celle de lalgorithme de Viterbi mais en reacuteduisant de moitieacute le nombre dopeacuterations neacutecessaires au deacutecodage

Service de parole AMR-NB agrave 122kbps (classe B) Qualiteacute gain

de codage agrave BER=10-3

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=41 dB)

100 (788k opeacuterations)

128 chemins - 02 dB 073 64 chemins - 05 dB 039

List Decoding

32 chemins - 10 dB 021

Table 6-18 reacutesumeacute des reacutesultats obtenus par simulations du service de parole AMR-NB agrave 122kbps (class B) [TrR104]

Enfin lun des plus importants reacutesultats de cette eacutetude est la prise de connaissance de la varieacuteteacute des meacutethodes efficaces de deacutecodage Ces meacutethodes offrent une vaste gamme de qualiteacutes Gracircce agrave la souplesse et de la rapiditeacute de deacuteveloppement des implantations software il est ainsi envisageable de creacuteer une librairie de meacutethodes de deacutecodage afin de mieux sadapter aux diffeacuterents contextes de codage

Reacutefeacuterences

[Ande89] J B Anderson Limited Search Trellis Decoding of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 5 septembre 1989 pp 944-955

152

[BDTi5] Berkeley Design Technology Inc (BDTi) Separating Reality from Hype in Processors DSP Performance preacutesentation preacutesenteacutee agrave Embedded Systems Conference (ESC) mars 2002 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[Cede89] M Cedervall R Johannesson Fast Algorithm for Computing Distance Spectrum of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 6 novembre 1989 pp 1146-1159

[ETSI726] ETSI Enhanced Full Rate (EFR) Speech Transcoding document ETSI ETS 300 726 GSM 0660 version 520

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[ITU729] ITU basic_oph C-code du standard G729a wwwituint [Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional

Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[Nill95] C Nill C-E W Sundberg List and Soft Symbol Output Viterbi Algorithms Extensions and Comparisons IEEE Transactions on Communications vol 43 No 234 feacutevriermarsavril 1995 pp 277-287

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

153

[Sesh94] N Seshadri C-W Sundberg List Viterbi Decoding Algorithms with Applications IEEE Transactions on Communications Vol 42 No 234 feacutevriermarsavril 1994 pp 313-323

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

[Ts22101] 3GPP Service principles document 3GPP TS 22101 version 540

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

154

155

7 Architectures hardware baseacutees sur circuits ASIC

La plupart des architectures utiliseacutees dans le cadre de la communication mobile tirent profit aussi bien du support dun DSP que de lutilisation des circuits ASIC Le sujet de ce chapitre est lanalyse des difficulteacutes pratiques et leacutevaluation des potentialiteacutes offertes par une implantation ASIC dune meacutethode de deacutecodage de codes convolutifs

Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base est ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants Les paramegravetres la conception les variantes possibles et la reacutealisation mateacuterielle de chaque eacuteleacutement sont traiteacutes Parmi les variantes on eacutetudie une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision37 du bit dinformation le plus vieux pas encore livreacute Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie

37 Opeacuteration de reconstruction iteacuterative des eacutetats de meacutemoire du codeur convolutif lors du

codage opeacuteration qui permet de deacuteterminer la valeur des symboles (bits) formant le message Cette opeacuteration sera aussi nommeacutee simplement deacutecodage

156

UMC25-025microm) Le chapitre se termine avec un reacutesumeacute des informations de synthegravese sur la vitesse dexeacutecution et la surface de silicium de chaque eacuteleacutement ainsi que sur les taux dactiviteacute38 des signaux liant les eacuteleacutements constituant le systegraveme de deacutecodage

71 Introduction

La situation des technologies de la troisiegraveme geacuteneacuteration (3G) est actuellement caracteacuteriseacutee par la phase de deacuteveloppement des reacuteseaux et des premiers eacutequipements Les degreacutes dimplantation de ces technologies 3G dans les divers pays europeacuteens ameacutericains et asiatiques sont variable et deacutependent des strateacutegies nationales ainsi que des eacuteconomies locales Aujourdhui le choix dune architecture optimale pour lexploitation de ces nouvelles technologies ne peut beacuteneacuteficier ni dune expeacuterience acquise ni de la maturiteacute des standards 3G Par conseacutequent ce choix ne peut se baser que sur des eacutevaluations et des suppositions que seule la maturation de ces technologies 3G pourra successivement soit valider soit reacutefuter

711 Marcheacute actuel des technologies 3G

Quoi que les reacutecentes anneacutees aient montreacute laugmentation du nombre de tacircches assigneacutees au DSP avec le perfectionnement des standards 2G les autres approches ne doivent pas ecirctre exclues du spectre des solutions possibles dans le domaine de la 3G On ne dispose pas actuellement dune approche globale et optimale pour le traitement numeacuterique du signal dans la bande de base Le marcheacute et les premiers deacutebats pour le choix dune architecture optimale montrent une revalorisation de la contribution de circuits ASIC au fonctionnement des eacutequipements 3G Les informations disponibles sur le deacuteveloppement des premiers reacuteseaux et eacutequipements confirment quun nombre eacuteleveacute de fonctionnaliteacutes de la 3G exploite des circuits speacutecifiques ASIC39 38 Par taux dactiviteacute on entend la freacutequence des changements deacutetat logique dun signal

binaire 39 laquolors du passage de la 2G agrave la 3G le pourcentage de lexeacutecution des tacircches relatives au

Physical Layer par le DSP passe de 100 pour le cas du GSM agrave 10 dans le cas du WCDMAraquo (traduction) [Gath00]

157

Par rapport au cas du deacutecodage de codes convolutifs le marcheacute actuel de la communication mobile propose des solutions sappuyant sur les deux approches software et hardware Dun cocircteacute on perccediloit un effort des principaux fabricants de DSP pour lameacutelioration des performances de leurs reacutecentes familles de processeurs en tenant compte des caracteacuteristiques algorithmiques de la meacutethode de Viterbi (Figure 7-1 et Table 7-1) Lexeacutecution de cet algorithme peut ecirctre faciliteacutee soit par la modification de larchitecture du DSP soit par laddition de nouveaux blocs fonctionnels Un exemple est la famille de DSP C55x de Texas Instruments qui propose une uniteacute speacuteciale Compare Select and Store [Spru312] [Spru393]

0 2 4 6 8 10 12

Texas Instruments C54xx 160 MHz

Texas Instruments C55xx 160 MHz

MotorolaLucent Technologies SC140 300MHz

MotorolaLucent Technologies SC110 300MHz

Infineon Carmel 250 MHz

Motorola DSP5685x 120 MHz

Texas Instruments C64xx 600 MHz

Texas Instruments C64xx-C 600 MHz

vitesse relative selon [BDTi6]

Figure 7-1 exemple deacutevaluation de performances des DSP (disponibiliteacute 2001) par rapport agrave limplantation de lalgorithme de Viterbi Cette eacutevaluation met en eacutevidence la particulariteacute de cet algorithme qui sadapte difficilement au caracteacuteristiques classiques des DSP Evaluation effectueacutee par la socieacuteteacute Berkeley Design Technology [BDTi3] Les deacutetails de la meacutethode deacutevaluation utiliseacutes sont disponible dans larticle [BDTi6]

De lautre coteacute le marcheacute offre aussi bien des ASIC speacutecialiseacutes que des DSP agrave haute performance posseacutedant un coprocesseur voueacute agrave lexeacutecution de lalgorithme de Viterbi A titre dexemple on peut nommer larchitecture parameacutetrable et syntheacutetisable du CorePool FHG_VITERBI de Fraunhofer Institut [FhG01] et le DSP TMS320C6416 de Texas Instruments [Spra750] [Spru533] Cette offre du marcheacute deacutenote laugmentation geacuteneacuteraliseacutee de la charge de calcul demandeacutee par les technologies 3G ainsi que par les particulariteacutes algorithmiques de la meacutethode de Viterbi (Figure 7-1 et la Table 7-1)

158

Fonction Description Exemples dapplications Real Block FIR Filtre agrave reacuteponse impulsionnelle

finie traitant des blocs de donneacutees

Traitement de signaux de parole

Single-Sample FIR

Filtre agrave reacuteponse impulsionnelle finie traitant un eacutechantillon agrave la fois

Traitement de signaux de parole filtrage en geacuteneacuteral

Complex Block FIR

Filtre agrave reacuteponse impulsionnelle finie traitant des blocs de donneacutees complexes

Egalisation dun canal Modem

LMS Adaptive FIR

Filtre adaptatif Least-mean-square traitant un eacutechantillon

Egalisation de canal codage preacutedictif lineacuteaire

Two-Biquad IIR Filtre agrave reacuteponse impulsionnelle infinie traitant un eacutechantillon

Traitement de signaux audio filtrage en geacuteneacuteral

Vector Dot Product

Produit scalaire Convolution correacutelation multiplication matricielle

Vector Add Addition de deux vecteurs Graphique combinaison de signaux

Vector maximation

Recherche de la valeur et de la position de leacuteleacutement le plus grand du vecteur

Protection de donneacutees

Viterbi Decoder Deacutecodage dun signal encodeacute par un code convolutif

Dans le domaine de la communication

Control Seacuterie dopeacuterations (artificielles) concernant le controcircle et la manipulation des bits

Toutes les applications DSP impliquent ces types dopeacuteration

256-Point FFT Transformation de Fourier (Fast Fourier Transformation)

Radar sonar compression audio de type MPEG analyse spectrale

Bit Unpack Extraction de mots (de tailles diffeacuterentes) agrave partir dune seacutequence continue de donneacutees

Deacutecompression de signaux audio et de parole

Table 7-1 ensemble de fonctions utiliseacutees pour leacutevaluation des performances de DSP utiliseacute par la socieacuteteacute Berkeley Design Technology (BDTI) [BDTi1]

712 Exigences des technologies UMTS

Les standards de communication mobile 3G sont le reacutesultat de leffort dun grand nombre de socieacuteteacutes mondiales effort qui a commenceacute au milieu des anneacutees 90 [Gath02] Selon la strateacutegie adopteacutee lors de leur deacuteveloppement les systegravemes appartenant agrave cette technologie 3G sont preacutevus pour supporter une large varieacuteteacute de services en offrant un deacutebit de transmission (Data Rate) fortement

159

variable Ce deacutebit peut atteindre 144 kbps consideacuterant le contexte dune utilisation dans des veacutehicules (Vehicular Outdoor Environment) 384 kbps pour une utilisation peacutedestre (Pedestrian Outdoor Environment) et jusquagrave 2 Mbps agrave linteacuterieur des bacirctiments (Indoor Environment) Comme introduit dans la Section 31 linterface radio a eacuteteacute preacutevue selon un protocole agrave trois couches

bull Le Physical Layer (ou Layer 1) Il est responsable de la transmission sans fil des donneacutees

bull Le Data link layer (ou Layer 2) Sa tacircche est la deacutetermination des caracteacuteristiques des donneacutees en transmission la gestion du flux de ces donneacutees et la qualiteacute du service Le passage dinformations entre ce niveau et le premier est geacutereacute par le Medium Access Layer (MAC)

bull Le Network layer (ou Layer 3) Cette derniegravere couche gegravere les eacutechanges entre leacutequipement portable et le reacuteseau UTRAN (UMTS Terrestrial Radio Access Network) Le Radio Ressource Controller (RRC) est leacuteleacutement de contact avec la premiegravere couche du protocole

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-2 vue densemble des composants de la couche physique (Physical Layer) reacutealisant le traitement digital du signal dans la bande de base [Gath02]

La couche qui nous inteacuteresse est la premiegravere En ne consideacuterant que cette couche la Figure 7-2 donne la vue densemble de ses composants qui accomplissent le traitement numeacuterique du signal dans la bande de base Du point de vue de la complexiteacute de calcul cette premiegravere couche est la plus exigeante en termes de ressources hardware et software Parmi ses

160

composants les plus exigeants on trouve [Gath02] le traitement des donneacutees appartenant aux diffeacuterents canaux de transport (CCTrCH Processing) le deacutecodage de canal la proceacutedure de recherche de la cellule lopeacuteration de Despreading le Maximal Ratio Combination (MRC)40 et le Multipath Search (ou Delay Profile Estimation DPE)41 (Figure 7-3)

4000

2000

3000

1000500

Sceacutenario A Sceacutenario B Sceacutenario C

Millions dopeacuterationspar seconde

Multipath Search

Despreading

MRC

Deacutecodage de canal

Figure 7-3 estimation des ressources de calcul demandeacutees par les tacircches les plus exigeantes selon trois sceacutenarios repreacutesentatifs [Gath02] Sceacutenario A service de parole agrave 8 kbps Sceacutenario B service de parole agrave 122 kbps et service videacuteo agrave 384 kbps Sceacutenario C service geacuteneacuterique agrave 2 Mbps

Lexemple de la Figure 7-3 montre que la puissance de calcul neacutecessaire agrave lexeacutecution de certaines tacircches peut changer de maniegravere importante non seulement en fonction du deacutebit de transmission mais aussi selon le nombre de services offerts les caracteacuteristiques de la transmission sans fil ou encore le nombre de cellules dans le voisinage [Gath02] Parmi ces tacircches on trouve le deacutecodage de canal

40 Proceacutedure de combinaison de signaux reccedilus de maniegravere agrave augmenter la protection contre

les distorsions de type fading 41 La recherche du signal qui sapproche le plus du signal le plus fort afin dexeacutecuter le

maximal ratio combination

161

Reacutepartition des modules des terminaux 3G entre implantation software et reacutealisation hardware Le deacuteveloppement des terminaux mobiles 3G est actuellement caracteacuteriseacute par un besoin eacutevident de souplesse par une augmentation importante de la puissance de calcul demandeacutee et par la varieacuteteacute des services envisageacutes par la 3G

FPGA

Hardware

Flex Heterogeneous Multiprocessing

DSP

Processeurs embarqueacutes

Flexibiliteacute algorithmique agrave dispositionde lapplication

MO

PS

mW

Figure 7-4 compromis entre la consommation deacutenergie et la flexibiliteacute de la reacutealisation [BDTi4]

En raison de la forte demande en puissance de calcul une reacutepartition des modules des terminaux entre implantations software et reacutealisations mateacuterielles est geacuteneacuteralement neacutecessaire En geacuteneacuteral le choix de lapproche suit les regravegles suivantes (Figure 7-4)

bull Si le module exige un nombre dopeacuterations tregraves eacuteleveacute ou si les caracteacuteristiques du traitement sadaptent difficilement aux ressources mises agrave disposition par le DSP une approche hardware est en geacuteneacuteral une solution optimale

bull Si la neacutecessiteacute de souplesse est preacutedominante la meilleure approche est limplantation software

bull Dans certain cas le choix du type dapproche est deacutetermineacute par des critegraveres de basse consommation deacutenergie etou par la particulariteacute du service concerneacute [Gath02]

La Figure 7-5 montre une reacutepartition possible des divers modules du Physical Layer [Gath02] en suivant les critegraveres ci-dessus

162

Par rapport au deacutecodage de codes convolutifs cette opeacuteration demande une charge importante de calcul par bit dinformation limplantation parameacutetrable de lalgorithme de Viterbi preacutesente une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation (Chapitre 6)42 Cette charge doit ecirctre ensuite pondeacutereacutee par le deacutebit de transmission de lapplication concerneacutee deacutebit qui peut varier de quelques dizaines jusquagrave plusieurs milliers de kbps Limportante variabiliteacute en termes de puissance de calcul qui en deacutecoule ne permet pas deacutetablir agrave priori une strateacutegie geacuteneacuterale et optimale dans ce contexte UMTS (Figure 7-3) Par conseacutequent le spectre des solutions possibles doit consideacuterer les deux approches software et hardware

Software Hardware Software Hardware

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-5 reacutepartition possible des composants de la couche physique pour le traitement digital du signal dans la bande de base [Gath02]

72 Consideacuterations sur limplantation mateacuterielle

721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille

La configuration de base reste identique agrave celle consideacutereacutee lors de limplantation software de meacutethodes de deacutecodage Les symboles reccedilus sont soumis agrave une deacutecision ferme et leacutetude considegravere la simple livraison du

42 La perte defficaciteacute due agrave cette description souple et parameacutetrable sera ensuite traiteacutee

dans le Chapitre 8

163

message sans informations suppleacutementaires (Bit True) Cette configuration envisage un systegraveme de deacutecodage le plus geacuteneacuteral possible en facilitant la reproduction et la comparaison des reacutesultats Ainsi en contradiction partielle avec le contexte de codage eacutetabli dans le standard UMTS [Ts25212] ce chapitre abordera la situation suivante

bull le deacutecodage de seacutequences infinies de symboles et bull labsence de proceacutedures dadaptation du deacutebit de transmission (par

reacutepeacutetitions et poinccedilonnages de symboles) Ladaptation de ce systegraveme aux standards de teacuteleacutecommunications UMTS sera discuteacutee dans lAnnexe C (Section C1)

722 Description HDL du deacutecodeur

La contrainte principale de la description HDL (Hardware Description Language) est une description compreacutehensible et facile agrave modifier afin de permettre une adaptation rapide aux divers standards de communications La conception de cette proceacutedure est reacutealiseacute selon les notions de modulariteacute et de parameacutetrage permettant ainsi une rapide modification et substitution de tous les blocs de traitement Par rapport au type darchitecture on envisage la conception dun systegraveme autonome de base tout en permettant la conversion rapide dans une solution coprocesseur (Annexe C Section C2) Par conseacutequent la conception de ce systegraveme de base soriente vers une architecture distribueacutee (Distributed Architectures [Gath02]) Cette architecture preacutevoit une autonomie et une indeacutependance de chaque module en diminuant les ressources partageacutees Du point de vue de la consommation deacutenergie cette strateacutegie permet une gestion optimale du mode deacuteconomie deacutenergie et une freacutequence dhorloge adapteacutee agrave chaque module La description du systegraveme de base est valideacutee au moyen de quatre codes convolutifs et par limplantation du code sur FPGA (Field Programmable Gate Array [Gras01]) Les caracteacuteristiques de ces codes convolutifs sont illustreacutees dans la Table 7-2

164

Polynocircmes geacuteneacuterateurs [octal]

Codeur Longueur de contrainte

Nombre deacutetats diffeacuterents

G0 G1 G2

Distance libre dfree

Exemple dutilisation dans le contexte des teacuteleacutecommunications

Codeur4eacutetats 3 4 5 7 7 8 -

Codeur16eacutetats 5 16 25 33 37 12 GSM 60 kbps Data TC [Etsi909]

Codeur64eacutetats 7 64 133 145 175 15 GSM Half Rate Speech TC [Etsi909]

Codeur256eacutetats 9 256 557 663 711 18 UMTS Channel Coding [Ts25212]

Table 7-2 caracteacuteristiques des codes convolutifs avec rendement Rc=13 utiliseacutes pour leacutevaluation et la validation de la conception du deacutecodeur Les acronymes indiqueacutes dans la premiegravere colonne du tableau seront utiliseacutes dans la suite de ce document pour identifier le codeur convolutif utiliseacute

723 Meacutethode de deacutecodage lalgorithme de Viterbi

Contrairement au cas preacuteceacutedent dune implantation software une seule meacutethode de deacutecodage est consideacutereacutee pour leacutevaluation des potentialiteacutes de lapproche hardware lalgorithme de Viterbi Les raisons de ce choix sont lieacutees aux caracteacuteristiques de cette meacutethode de deacutecodage qui facilitent lapproche hardware notamment par sa structure algorithmique parallegravele et tregraves reacuteguliegravere ainsi que par son indeacutependance algorithmique du flux des donneacutees Ce dernier aspect est important afin de reacuteduire les risques de modifications dues agrave la maturation des standards et agrave lexpeacuterience acquise avec les technologies 3G Afin de permettre le deacutecodage dune seacutequence continue de symboles lalgorithme de Viterbi doit sappuyer sur une proceacutedure de troncation de la meacutemoire Bien que cette proceacutedure emploie un paramegravetre reacuteglant le fonctionnement de la meacutethode (la distance δ) la longue expeacuterience acquise permet de reacuteduire au minimum les coucircts de reacuteglage de ce paramegravetre Enfin sur le plan de qualiteacute de protection cet algorithme est retenu communeacutement comme la meacutethode de reacutefeacuterence en raison de sa bonne protection contre les erreurs

165

73 Systegraveme de base

731 Vue densemble

Conformeacutement aux directives dune deacutecomposition de lalgorithme de Viterbi en ses eacuteleacutements constituants le systegraveme est tout dabord partageacute en deux grandes uniteacutes fonctionnelles (Figure 7-6) La premiegravere uniteacute est responsable de la seacutelection des chemins par mise agrave jour des valeurs des meacutetriques cumuleacutees Cette uniteacute est diviseacutee en deux modules Le premier module (indiqueacute par lacronyme BMu) est chargeacute du calcul des meacutetriques de branches en consideacuterant les symboles reccedilus rnp Ces meacutetriques sont utiliseacutees par le second module (ACSu) qui effectue la mise agrave jour des valeurs des meacutetriques cumuleacutees Par comparaison de ces valeurs les chemins survivants sont ensuite seacutelectionneacutes Les informations sur les chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des autres modules

calcul des meacutetriquesde branches

(Branch Metric unitBMu)

mise agrave jour des meacutetriques cumuleacuteeset seacutelection des survivants

(Add-Compare-Select unit ACSu)

deacutecodage du chemin choisi(Trace Back unit TBu)

seacutelection du chemin(Best Path Search

BPS)

np-egraveme blocde symbolesrecus rnp

deacutecision surle bit np-δ

meacutetriquescumuleacuteessurvivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

Figure 7-6 architecture du systegraveme de base deacutecrit en HDL La tacircche de la seconde uniteacute est la prise de deacutecision du plus vieux bit qui na pas encore eacuteteacute deacutelivreacute Cette proceacutedure implique le choix dun chemin dont le deacutecodage permet une prise de deacutecision correcte Le module nommeacute BPS soccupe du choix du chemin alors que la prise de deacutecision par deacutecodage du chemin est exeacutecuteacutee par le module TBu Les paramegravetres utiliseacutes dans la description HDL du systegraveme de base peuvent ecirctre reacutepartis en deux classes ceux qui deacutecrivent les caracteacuteristiques du codeur

166

convolutif et ceux qui regraveglent la conception du systegraveme Dans la premiegravere classe on trouve les paramegravetres deacutecrivant les fonctions geacuteneacuteratrices Gi la longueur de contrainte du code K et le nombre deacutetats diffeacuterents que la meacutemoire du codeur peut atteindre La distance δ de troncation de la meacutemoire le nombre de bits utiliseacutes pour les repreacutesentations des meacutetriques sont les paramegravetres de la seconde classe

732 Synchronisation et reacutepartition entre blocs combinatoires et non-combinatoires

Apregraves la preacutesentation de larchitecture du systegraveme de base cette section traite les aspects de synchronisation et de reacutepartition entre blocs combinatoires et non-combinatoires (Figure 7-7) Selon le flux des donneacutees le module BMu est abordeacute en premier Ce module qui est responsable du calcul des meacutetriques de branches nest implanteacute que par de la logique purement combinatoire sans lutilisation daucune meacutemoire tampon (Buffer) agrave lentreacutee

BMuseacutelection

dessurvivants

ACSu

BPS

Gestion du TB

TBureacuteconstructiondes eacutetats (TB)

horloge

horloge

decisionsymbolesreccedilus

survivants

meacutetriqueseacutetat dedeacutepart

sauvergarde desvaleurs des

meacutetriques cumuleacutees

signal indiquant lepoint de deacutepartarriveacutee

de la proceacutedure dedeacutecodage

signaux indiquantla mise agrave jour desinformationssauvergardeacutees

Figure 7-7 gestion de la synchronisation relative agrave la reacutealisation physique du systegraveme

La reacutealisation physique du module suivant (le ACSu) est caracteacuteriseacutee par deux parties fonctionnelles lune est responsable de la sauvegarde des derniegraveres valeurs des meacutetriques cumuleacutees et lautre de la seacutelection des chemins survivants par la mise agrave jour de leurs meacutetriques cumuleacutees Lopeacuteration de seacutelection utilise les valeurs de meacutetriques fournies par le module preacuteceacutedent et celles sauvegardeacutees dans le module mecircme A partir de ces valeurs les chemins survivants sont seacutelectionneacutes par de la logique combinatoire En raison du stockage des valeurs de meacutetrique cette opeacuteration de seacutelection est synchroniseacutee par le signal dhorloge du systegraveme

167

Parallegravelement les informations des chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des modules BPS et TBu En suivant le flux principal de donneacutees le prochain module est le BPS Sa tacircche est la deacutetermination du chemin le plus conforme agrave une prise de deacutecision correcte cette opeacuteration implique uniquement de la logique combinatoire Le dernier module est le module TBu qui est chargeacute de lopeacuteration de prise de deacutecision du bit dinformation Cette opeacuteration implique tout dabord le stockage et la gestion des informations permettant la reconstruction des chemins survivants Ce module reccediloit reacuteguliegraverement les nouvelles informations au sujet des chemins survivants qui selon une strateacutegie de meacutemoire circulaire remplacent les anciennes informations devenues deacutesormais inutiles A partir du chemin indiqueacute par le module BPS ces informations sont ensuite utiliseacutees pour reconstruire de maniegravere iteacuterative les eacutetats anteacuteceacutedents de meacutemoire du codeur jusquagrave extraire la valeur du (np-δ)-egraveme bit dinformation Les interfeacuterences entre les deux tacircches du module sont eacuteviteacutees en synchronisant lopeacuteration de sauvegarde des informations et le deacutebut de la proceacutedure de reconstruction du chemin La reacutealisation physique de ce module TBu utilise aussi bien des blocs combinatoires que non-combinatoires Ces derniers sont utiliseacutes pour la sauvegarde des informations et pour la gestion des signaux qui indiquent le point de deacutepart det arriveacutee de la proceacutedure de reconstruction des chemins Par rapport aux contraintes sur le signal dentreacutee (Figure 7-7) le signal des symboles reccedilus doit rester stable durant une peacuteriode suffisante pour assurer

bull le stockage correct des nouvelles meacutetriques cumuleacutees dans le module ACSu

bull la seacutelection du chemin le plus favorable pour la prise de deacutecision chemin qui est meacutemoriseacute dans le module TBu

733 Calcul des meacutetriques des branches

La tacircche de ce module est le calcul de toutes les meacutetriques de branches qui seront ensuite utiliseacutees pour la mise agrave jour des meacutetriques cumuleacutees lors de la proceacutedure de seacutelection des chemins survivants (Figure 7-8) Selon le contexte de codage binaire (b=1) la proceacutedure de seacutelection de lalgorithme de Viterbi neacutecessite les valeurs de meacutetriques de branches des

168

couples de chemins convergeant en chaque eacutetat du treillis (Figure 7-9) ce module est chargeacute de la livraison de ces couples de meacutetriques

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

symbolesreccedilus

en rapport agrave la fonctiongeacuteneacuteratrice G0

geacuteneacuteratrice G1geacuteneacuteratrice G2

Figure 7-8 calcul des meacutetriques de branches

Les valeurs des meacutetriques de branches coiumlncident avec la distance de Hamming existant entre les symboles reccedilus et ceux geacuteneacutereacutees par les transitions deacutetats En preacutesence de codeurs convolutifs avec rendement Rc=13 la repreacutesentation numeacuterique de ces meacutetriques demande 2 bits

nouveau bit agravelentreacutee du codeur

valeur de leacutetatnp

meacutemoire du codeurK-1 bits0

1valeur de leacutetatnp

valeur de leacutetatnp

niveau deprofondeur np

meacutemoire du codeur

Figure 7-9 repreacutesentation graphique des deux transitions qui megravenent au mecircme eacutetat de meacutemoire du codeur convolutif

En raison dune approche parameacutetrable les 2M=22K-1 meacutetriques de branches sont deacutecrites agrave laide des 3 fonctions geacuteneacuteratrices Gi et de leacutetat de meacutemoire du codeur Lopeacuteration doptimisation des calculs est deacuteleacutegueacutee aux compilateurs de synthegravese La conception de ce module deacutepend des paramegravetres deacutecrivant le codeur convolutif notamment le rendement Rc et les matrices geacuteneacuteratrices Gi En raison de cette forte deacutependance aux changements de contexte de codage les approches coprocesseurs (Annexe C Section C2) deacutelegraveguent la tacircche de ce module aux processeurs

169

734 Seacutelection des chemins survivants

Le module ACSu est chargeacute de la seacutelection des nouveaux chemins survivants agrave laide des reacutecentes valeurs de meacutetriques cumuleacutees (Figure 7-10) Les informations de parcours des chemins survivants et les valeurs de leurs meacutetriques cumuleacutees doivent ecirctre ensuite mises agrave disposition des autres modules de maniegravere agrave permettre la reconstruction des chemins les plus inteacuteressants Reacutepartition du module en deux parties En raison de sa tacircche ce module est composeacute de deux parties fonctionnelles la premiegravere responsable du stockage des meacutetriques cumuleacutees et la seconde de la seacutelection des 2K-1 chemins survivants (Figure 7-11)

ACSu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

information sur leschemins survivants

meacutetriques cumuleacutees

horloge Figure 7-10 seacutelection des chemins survivants

Les deux paramegravetres qui agissent sur ce module sont

bull Le nombre de bits utiliseacute pour la repreacutesentation des valeurs des meacutetriques de branches Ce paramegravetre influence la repreacutesentation numeacuterique des meacutetriques cumuleacutees

bull Le nombre deacutetats diffeacuterents M que la meacutemoire du codeur peut montrer Ce paramegravetre concerne la description du codeur convolutif et sa valeur deacutepend de la longueur de contrainte du code (M= 2K-1)

La conception du module est ainsi moins sensible aux modifications du contexte de codage Par exemple en consideacuterant la structure de codage de lUMTS [Ts25212] la conception reste inchangeacute indeacutependamment de lutilisation dun des deux codes convolutifs agrave disposition

170

Repreacutesentation numeacuterique des meacutetriques cumuleacutees La strateacutegie du traitement des meacutetriques cumuleacutees doit consideacuterer les aspects suivants

bull Lopeacuteration de seacutelection des chemins survivants neacutecessite la repreacutesentation correcte des diffeacuterences entre les valeurs des meacutetriques cumuleacutees

bull La seacutelection du chemin le plus prometteur (pour la prise de deacutecision) est communeacutement baseacutee sur lidentification de la meacutetrique cumuleacutee la plus favorable

bull En raison dune meacutetrique accumulant le nombre derreurs rencontreacutees par les chemins la transmission erroneacutee des donneacutees implique la croissance des valeurs des meacutetriques cumuleacutees

bull Le deacutecodage de seacutequences infinies de symboles ne permet pas de fixer une valeur limite aux meacutetriques cumuleacutees

bull La repreacutesentation numeacuterique des meacutetriques cumuleacutees influence la conception les performances et les caracteacuteristiques de tous les blocs qui sont responsables des opeacuterations de mise agrave jour de comparaison et de stockage des meacutetriques cumuleacutees

En consideacuterant ces aspects la strateacutegie choisie envisage une repreacutesentation minimaliste des meacutetriques cumuleacutees avec la contribution dune fonction de normalisation des valeurs de meacutetriques Lobjectif est de garantir la relation correcte entre les valeurs des meacutetriques cumuleacutees tout en minimisant les ressources neacutecessaires aux opeacuterations daddition de comparaison et de stockage de ces meacutetriques Premiegravere eacutetape la deacutetermination du nombre minimal de bits Leacutetablissement de la repreacutesentation numeacuterique des meacutetriques cumuleacutees doit tout dabord prendre en consideacuteration le nombre minimal de bits neacutecessaires agrave la description correcte des eacutecarts entre les meacutetriques Comme deacutejagrave montreacute dans le chapitre preacuteceacutedent la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (au mecircme niveau de profondeur) est ( )max -1diffeacuterence MaxContribBranche K= sdot (71) En consideacuterant que lopeacuteration de normalisation suit les opeacuterations de mise agrave jour des meacutetriques cumuleacutees et de seacutelection du chemin survivant (Figure 7-11) leacutecart (71) est ainsi eacutelargi

171

max max +

= dyn diffeacuterence MaxContribBranche

MaxContribBranche K=

sdot (72)

afin dassurer lexeacutecution correcte des opeacuterations de seacutelection Par conseacutequent le nombre minimal de bits neacutecessaire agrave la repreacutesentation correcte de leacutecart est ( )min 2 maxlog 1bitsDynamique dyn = + (73) Seconde eacutetape la proceacutedure de normalisation La strateacutegie adopteacutee vise agrave garantir une repreacutesentation correcte des diffeacuterences entre les meacutetriques agrave laide dune fonction de normalisation (Figure 7-11)

stockage desmeacutetriques cumuleacutees

ACS

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations sur leschemins survivants

horloge

Normalisation

initialisation Figure 7-11 structure du module ACSu montrant la strateacutegie choisie pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Le principe classique de normalisation preacutevoit la soustraction dune valeur deacutetermineacutee agrave priori lorsque toutes les meacutetriques cumuleacutees atteignent ou deacutepassent un seuil fixeacute [Min91] La valeur soustraite peut ecirctre soit eacutegale (cas ideacuteal) soit infeacuterieure agrave la meacutetrique cumuleacutee la plus basse afin deacuteviter le deacutepassement de la valeur minimale repreacutesentable (Underflow)

172

Bien que la deacutetermination du seuil de normalisation ne soit soumise agrave aucune contrainte elle influence ineacutevitablement le nombre de bits neacutecessaires agrave la repreacutesentation des meacutetriques cumuleacutees ainsi que la conception de lopeacuteration de normalisation Eacutevidemment la repreacutesentation des variables doit permettre le deacutepassement correct du seuil par toutes les meacutetriques cumuleacutees sans geacuteneacuterer de situations de deacutepassement de la valeur maximale repreacutesentable (Overflow) la reacutepreacutesentation numeacuterique doit ainsi couvrir lespace

max0 seuil -1 dyn

+ (74) La valeur du seuil influence aussi la reacutealisation physique de la tacircche de surveillance de son deacutepassement La solution ideacuteale est lutilisation dun seuil de meacutetrique dont la repreacutesentation numeacuterique coiumlncide avec une puissance de 2 Dans ce cas le controcircle de leacutegalisationdeacutepassement du seuil se concentre sur un seul bit de la repreacutesentation numeacuterique des meacutetriques cumuleacutees Un autre avantage qui en deacutecoule est la simplification de lopeacuteration de soustraction en fixant la valeur de normalisation eacutegale au seuil lopeacuteration se reacuteduit agrave la simple remise agrave zeacutero du bit surveilleacute (Figure 7-12)

Bit suppleacutementaire utiliseacute pour lecontrocircle du deacutepassement du seuilLa normalisation est effectueacutee parla remise agrave zeacutero de ce bit

bits neacutecessaires pour larepreacutesentation correcte detout eacutecart des meacutetriquescumuleacutees

Figure 7-12 strateacutegie adopteacutee pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Solution adopteacutee La strateacutegie choisie emploie une repreacutesentation numeacuterique utilisant (bitsDynamiquemin +1) bits (Table 7-3) Ce bit suppleacutementaire repreacutesente pratiquement la valeur du seuil de normalisation ainsi que la valeur de soustraction (Figure 7-12) notamment la valeur de

173

min2 bitsDynamique (75) Ce choix permet de limiter le nombre de bits de la repreacutesentation numeacuterique des meacutetriques cumuleacutees et de simplifier la reacutealisation physique de lopeacuteration de normalisation (controcircle et soustraction) Initialisation des meacutetriques cumuleacutees Apregraves avoir deacutefini la repreacutesentation numeacuterique des valeurs des meacutetriques cumuleacutees on aborde le sujet de leur initialisation Lexploitation de leacutetat de deacutepart de la meacutemoire du codeur peut se reacutealiser par linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Lobjectif poursuivi est de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats de deacutepart De maniegravere analogue agrave limplantation software (Sous-section 641) on peut ainsi utiliser une valeur dinitialisation entre ( 1)MaxContribBranche Ksdot minus

et ( 1)ValMaxMetrique MaxContribBranche K

minus sdot minus Comme deacutejagrave expliqueacute dans le chapitre preacuteceacutedent cette initialisation permet dexploiter les informations de deacutepart du codage convolutif sans exiger aucune proceacutedure suppleacutementaire de controcircle

Meacutetriques de branches (Rc=13)Codeur Longueur de contrainte K Taille de la

repreacutesentation [bits]

Valeur maximale [distance de Hamming]

Taille de la repreacutesentation des meacutetriques cumuleacutees [bits]

Codeur4eacutetats 3 2 3 5 Codeur16eacutetats 5 2 3 5 Codeur64eacutetats 7 2 3 6 Codeur256eacutetats 9 2 3 6

Table 7-3 vue densemble du nombre de bits utiliseacutes pour la repreacutesentation des meacutetriques cumuleacutees dans les divers contextes de codage

174

Seacutelection des 2K-1 chemins survivants La tacircche de ce module est la seacutelection des M=2K-1 chemins survivants par comparaison des meacutetriques cumuleacutees des couples de chemins qui convergent en un mecircme eacutetat du treillis (Figure 7-13) La structure algorithmique de la proceacutedure de seacutelection des M chemins survivants savegravere ainsi tregraves parallegravele et reacuteguliegravere ce qui favorise une reacutealisation mateacuterielle

meacutetriquescumuleacutees np-1

meacutetriques debranches np

meacutetrique cumuleacutee np

seacutelection dusurvivant

indication dum-egraveme cheminsurvivant(1 bit)

ACSm

Figure 7-13 description graphique de lopeacuteration de seacutelection du m-egraveme chemin survivant

Contrairement aux implantations software une reacutealisation mateacuterielle permet dexploiter exhaustivement le paralleacutelisme algorithmique de la tacircche de seacutelection Geacuteneacuteralement si lexeacutecution seacutequentielle offre tous les avantages dune surface reacuteduite [Kapp92] la strateacutegie parallegravele permet lexploitation optimale de la structure algorithmique de lopeacuteration de seacutelection ameacuteliorant le deacutebit du traitement Si on considegravere une reacutealisation mateacuterielle de lalgorithme original de Viterbi (la prise de deacutecision nest effectueacutee quagrave la fin du traitement de tous les symboles reccedilus) le temps dexeacutecution de cette opeacuteration de seacutelection des M survivants deacutetermine le deacutebit du systegraveme de deacutecodage Pour cette raison la reacutealisation de cette uniteacute a fait lobjet de nombreuses eacutetudes [Fett90] [Min91] [Kapp92] Afin de prendre connaissance des potentialiteacutes dune reacutealisation mateacuterielle cette eacutetude prend en compte la strateacutegie dune exploitation exhaustive du paralleacutelisme disponible (Figure 7-14)

175

Par rapport agrave la conception de lopeacuteration de seacutelection dun chemin survivant (Figure 7-13) lopeacuteration de mise agrave jour des meacutetriques cumuleacutees la comparaison et la seacutelection du meilleur chemin sont exeacutecuteacutees de maniegravere seacutequentielle

FF

ACS0

ACS1

ACSM-1

meacutetriques cumuleacuteesnpmeacutetriques cumuleacuteesnp-1

meacutetriques debranchesnp

indications descheminssurvivants

horloge

Normalisation

Figure 7-14 structure parallegravele du module responsable de la seacutelection des chemins survivants

735 Prise de deacutecision

La seconde grande uniteacute du systegraveme de deacutecodage (Figure 7-6) se charge de la prise de deacutecision et de la livraison du bit le plus ancien pas encore remis au destinataire La strateacutegie communeacutement exploiteacutee est la troncation de la meacutemoire (Sous-section 642) qui preacutevoit la seacutelection du chemin agrave la profondeur actuelle np dont le deacutecodage permet une prise de deacutecision correcte du (np-δ)-egraveme bit dinformation (Figure 7-15) Cette strateacutegie est indispensable pour effectuer une prise de deacutecision dans un contexte de codage qui envisage la protection dune seacutequence infinie de bits dinformation

176

Deacutecodage du chemin la reconstruction des eacutetats de la meacutemoire du codeur A laide du deacutecodage du chemin indiqueacute par le module preacuteceacutedent BPS le module TBu se charge de la prise de deacutecision du bit le plus vieux pas encore livreacute (Figure 7-15)

TBu

horloge

BPS

meacutetriques cumuleacuteesagrave la profondeur np eacutetat de deacutepart

information concernantles chemins survivants agravela profondeur np deacutecision sur

le bitnp -δ

Figure 7-15 opeacuteration de prise de deacutecision sur la valeur du bitnp-δ

Dans le contexte dun codage convolutif non-reacutecursif la prise de deacutecision du bitnp-δ sexeacutecute en estimant leacutetat de la meacutemoire du codeur agrave un niveau de profondeur compris entre (np-δ) et (np-δ+(K-2)) Gracircce agrave la caracteacuteristique du codeur de garder en meacutemoire les valeurs des derniers (k-1) bits du message la valeur du bit concerneacute peut ecirctre ainsi extraite (Figure 7-16) La reconstruction des δp eacutetats preacuteceacutedents neacutecessite le stockage des derniegraveres δp informations sur les chemins survivants Ce module est ainsi chargeacute du stockage et de la gestion des informations qui sont neacutecessaires agrave la reconstruction des eacutetats des meacutemoires des chemins survivants En raison de la strateacutegie de troncation de la meacutemoire ces informations sont sauvegardeacutees dans une meacutemoire circulaire (Figure 7-17) Gestion des proceacutedures de reconstruction des eacutetats et de stockage des informations La reacutealisation physique de lopeacuteration de prise de deacutecision doit assurer le deacuteroulement correct de deux opeacuterations fondamentales

bull la sauvegarde des informations des nouveaux chemins survivants bull le deacutepart de la proceacutedure de reconstruction des eacutetats du chemin

Afin dassurer la succession correcte de ces deux opeacuterations un bloc fonctionnel a eacuteteacute expresseacutement deacuteveloppeacute et chargeacute de la synchronisation entre les deux opeacuterations (Figure 7-17)

177

indicationssur les chemins survivantsdu niveau de profondeur np

niveau de profondeurnp - +1

niveau de profondeurnp

eacutetat de deacutepart

eacutetat agrave laprofondeur np- pδ

deacutecision surle bitnp-δ

anciennesindicationssur les cheminssurvivants

Figure 7-16 reconstruction des eacutetats et extraction de la valeur estimeacutee du (np-δ)-egraveme bit dinformation En vert sont repreacutesenteacutees les nouvelles informations sur les chemins survivants En jaune les informations qui apregraves lexeacutecution de la prise de deacutecision vont devenir inutiles La distance δp est comprise entre les valeurs δ et (δ-K+2)

Ce bloc est constitueacute par deux chaicircnes circulaires de δp bascules Chaque chaicircne est sensible agrave un flanc diffeacuterent du signal dhorloge et seule la sortie dune bascule par chaicircne preacutesente un signal actif Les signaux actifs des deux chaicircnes sont utiliseacutes pour lactivation des bascules de stockage des informations et pour la seacutelection de luniteacute de deacutepart de la proceacutedure de reconstruction (Figure 7-17) Cette strateacutegie permet la synchronisation des deux opeacuterations garantissant une reacutealisation physique exempte de pheacutenomegravenes de glitches [Gras01] Paramegravetres du module TBu Les deux paramegravetres qui agissent sur ce module sont le nombre deacutetats M de la meacutemoire du codeur (M= 2K-1) et la distance δp La valeur de ce dernier paramegravetre deacutepend de la strateacutegie de seacutelection du chemin qui sera utiliseacute pour la prise de deacutecision soit le chemin le plus probable soit un chemin quelconque

178

reconstructionde leacutetat

preacuteceacutedent

Gestion de la proceacutedure concernant la prise de deacutecisionhorloge

cheminde deacutepart

deacutecisionprise

information dereconstruction duchemin survivant

eacutetat

informations sur lesderniers cheminssurvivants

signal indiquant le pointde deacutepart et darriveacutee de

la proceacutedure

signal pour la mise agrave jour desinformations sauvergardeacutees

reconstructionde leacutetat

preacuteceacutedent

Figure 7-17 illustration de la structure pour la proceacutedure de prise de deacutecision Le signal chemin de deacutepart indique le chemin dont le deacutecodage permet la prise de deacutecision qui sera ensuite communiqueacutee par le signal deacutecision prise

736 Deacutesignation du chemin permettant une prise de deacutecision correcte

Lopeacuteration de prise de deacutecision emploie la strateacutegie de la troncation de la meacutemoire strateacutegie qui preacutevoit le deacutecodage dun chemin agrave la profondeur actuelle np jusquagrave extraire la valeur du (np-δ)ndashegraveme bit dinformation (Figure 7-16) Strateacutegie classique de seacutelection du chemin Le critegravere classique preacutevoit la seacutelection du chemin qui possegravede la meacutetrique cumuleacutee la plus favorable Comme illustreacute dans la Sous-section 642 cette approximation de lalgorithme de Viterbi permet danticiper la prise de deacutecision sans provoquer une deacutegradation sensible de la qualiteacute de protection agrave condition dutiliser une distance δ approprieacutee au contexte de codage ( )4 6 Kδ = sdotsim (76)

179

Le deacutesavantage de cette strateacutegie est la composante seacutequentielle de lopeacuteration de seacutelection qui saccroicirct avec le nombre de chemins agrave veacuterifier (Figure 7-18) On utilise en effet K-1 stades de comparaisons Bien que cette strateacutegie ait eacuteteacute adopteacutee pour la conception du systegraveme de deacutecodage de base lexploration des potentialiteacutes de cette approche mateacuterielle stimule lanalyse dune solution alternative

seacutelection dela meilleure

meacutetrique

seacutelection dela meilleure

meacutetrique

meacutetriquecumuleacutee

eacutetat

seacutelection dela meilleure

meacutetrique Figure 7-18 exemple de reacutealisation de luniteacute BPS pour la deacutetermination du chemin le plus favorable en analysant les meacutetriques cumuleacutees des quatre eacutetats (code convolutif avec longueur de contrainte de 3)

Solution alternative la deacutesignation dun chemin quelconque Les deacutesavantages dune exeacutecution seacutequentielle peuvent ecirctre eacuteviteacutes en changeant la strateacutegie de lopeacuteration seacutelection la deacutesignation dun chemin quelconque pour la prise de deacutecision Cette strateacutegie exploite le pheacutenomegravene de laggravation des valeurs de meacutetriques cumuleacutees de tous les chemins dont le deacutecodage comporte une prise de deacutecision erroneacutee43 La strateacutegie preacutevoit le choix dun chemin agrave un niveau de profondeur np+δzp

44 suffisamment grand qui ne peut ecirctre attendu que par les 43 Ces chemins seront nommeacutes par la suite chemins incorrects 44 Dans ce cas la distance δ est nommeacutee δzp de maniegravere agrave mieux seacuteparer les deux

strateacutegies dune part celle utilisant le chemin le plus probable (distance δ) et de lautre celle choisissant un chemin quelconque de deacutepart (distance δzp)

180

chemins comportant une deacutecision correcte du np-egraveme bit dinformation45 (Figure 7-19) Deacutetermination de la distance δzp Afin de rendre neacutegligeable la deacutegradation introduite par cette meacutethode la deacutetermination de la distance δzp doit consideacuterer la relation entre

bull laugmentation minimale des meacutetriques des chemins incorrects et bull la meacutetrique cumuleacutee la plus deacutefavorable des chemins corrects au

niveau de profondeur np+δzp (Figure 7-19)

Info Bitnp

Niveau deprofondeur np-1 np

np+1

chemin qui comporte une deacutecisioncorrecte du np-egraveme bit dinformation

chemin qui comporte une deacutecisionincorrecte du np-egraveme bit dinformation

chemin le plusprobable

np+ -1δ np+δ np+ zpδ

np+ -1zpδ

Figure 7-19 illustration graphique des deux strateacutegies de seacutelection du chemin utiliseacute pour lopeacuteration de prise de deacutecision du np-egraveme bit dinformation bitnp Cas simplifieacute

Pour la deacutetermination de la distance δzp on suppose ainsi que

bull A chaque transition laugmentation minimale des meacutetriques cumuleacutees des chemins incorrects est de

n MinMetrCroissancesdot (77)

bull La meacutetrique la moins favorable des chemins corrects est estimeacutee agrave laide de la diffeacuterence maximale existant entre les valeurs extrecircmes des meacutetriques cumuleacutees (diffeacuterencemax (71)) En supposant que la meacutetrique la plus favorable coiumlncide avec le nombre exact derreurs de transmission la valeur de meacutetrique la plus deacutefavorable est

45 Dans la suite du paragraphe ces chemins seront appeleacutes chemins corrects

181

max0nombre derreurszpnp diffeacuterenceδrarr + + (78)

A partir de ces assertions leacutetablissement de la distance δzp est ainsi soumis agrave lineacutequation

min maxnp np+min

nombre derreurszp

zp zp

diffeacuterencen MinMetrCroissance

δδ δ rarr=

+gt

sdot (79)

afin deacuteviter une deacutegradation de la qualiteacute de protection offerte par lalgorithme de Viterbi Par rapport agrave la strateacutegie classique cette strateacutegie doit atteindre eacutevidemment une profondeur δzp plus grande (δzp gt δ) dont laugmentation peut ecirctre estimeacutee en groupant les ineacutequations (64) et (79)

( )min min -1zpMaxContribBranche Kn MinMetrCroissanceδ δasymp + sdotsdot

(710)

Distance δzp agrave laide de simulations Lutilisation de lineacutequation (79) neacutecessite la connaissance preacutecise de plusieurs caracteacuteristiques techniques qui sont propres au code convolutif utiliseacute Par conseacutequent on souhaite disposer dune regravegle empirique qui facilite la deacutetermination dune distance δzp adapteacutee au contexte de codage Les reacutesultats de nos simulations montrent quune distance δzp supeacuterieure agrave 6-8 fois la longueur de contrainte K suffit agrave rendre neacutegligeable la deacutegradation de la qualiteacute de protection due agrave cette strateacutegie (exemple Figure 7-20) Les simulations effectueacutees montrent ensuite une relation entre les deacutegradations de la qualiteacute des deux strateacutegies relation qui suit empiriquement leacutequation46 ( ) ( )

meilleur chemin chemin quelconque2 deacutegradation deacutegradation zp Kδ δδ = + sdotasymp (711)

Strateacutegie du deacutecodage dun chemin quelconque conclusions Lavantage de disposer dune solution simple et rapide est contrebalanceacute par laugmentation de la distance δzp de troncation de la meacutemoire Cette solution

46 En comparant cette relation (711) avec leacutequation (710) on peut eacutetablir une meilleure

correspondance entre les deux en remplaccedilant la valeur de croissance maximale par la valeur moyenne (Table 6-5)

182

implique laugmentation du retard algorithmique ainsi que des ressources de stockage des informations des chemins survivants Par conseacutequent lutilisation de cette strateacutegie est strictement soumise agrave lanalyse des coucircts suppleacutementaires provoqueacutes par laugmentation de la distance de troncation

Figure 7-20 deacutegradations causeacutees par la troncation de la meacutemoire (distances δ et δzp) Le graphe rouge repreacutesente la qualiteacute de protection offerte par lalgorithme original de Viterbi Le graphe vert en trait gras indique la qualiteacute de protection obtenue selon la strateacutegie classique du choix du chemin le plus prometteur Le graphe bleu en trait fin indique la qualiteacute de protection obtenue en deacutecodant un chemin quelconque (dans ce cas les chemins lieacutes agrave leacutetat zeacutero) Paramegravetres de simulation codeur256eacutetats messages de 1000 bits 8 bits de terminaisons 1 million de messages distances multiples de la longueur de contrainte du code

74 Synthegravese du systegraveme de base

Cette section illustre les reacutesultats de synthegravese de chaque module du systegraveme de base agrave laide du compilateur Design Compiler (Synopsys) La proceacutedure de synthegravese a suivie une strateacutegie Bottom-up et utiliseacutee la librairie Virtual Silicon Technology VST25 (UMC25 025microm) La liste et la description deacutetailleacutee des paramegravetres utiliseacutes sont illustreacutes par la Table 7-4

183

741 Strateacutegie adopteacutee

Le but de la strateacutegie de synthegravese adopteacutee (Table 7-4 Figure 7-21) est la prise de connaissance des caracteacuteristiques et des potentialiteacutes de chaque module du systegraveme de base sans orienter la proceacutedure de synthegravese vers un but particulier Cette strateacutegie de synthegravese nimplique ainsi aucune proceacutedure doptimisation (sur le plan de larchitecture du systegraveme dimplantation logique ou du choix des cellules) ce qui permet une vue densemble des caracteacuteristiques propres agrave chaque module La marge de manœuvre qui en deacutecoule peut ecirctre ensuite exploiteacutee pour ameacuteliorer ulteacuterieurement les potentialiteacutes du systegraveme de base

Compilateur Synopsys Design Compiler (Synopsys DC) version 200005-1 Langage VHDL (Very High-Speed Integrated Circuit Hardware Description

Language) Librairie Virtual Silicon Technology VST25 UMC25 (025microm)

(et ALTERA APEX20k pour la validation pratique) Strateacutegie de synthegravese Bottom-Up Paramegravetre Argument Commande pour Synopsys DC Effort dans la synthegravese moyen

(valeur par deacutefaut) -map_effort medium

Modegravele capacitif des fils 10k -set_wire_load suggested_10K Conditions dexploitation Pire des cas -set_operating_conditions WORST Couverture de test 95

(valeur par deacutefaut) -set_min_fault_coverage 95 ndashtiming_critical

Critegravere de lapproche structured -set_flatten_false -design -set_structure_true -design

Horloge 50ns (valeur par deacutefaut)

-create_clock ndashperiod 50 ndashwaveform 0 25

Table 7-4 Contexte de synthegravese du systegraveme de base

742 Synthegravese des modules

Module BMu le calcul des meacutetriques de branches La reacutealisation physique de ce module est purement combinatoire (Table 7-5) Comme deacutejagrave expliqueacute la strateacutegie adopteacutee pour la conception de ce module est la description parameacutetrable de lopeacuteration de calcul des 2M=22K-1 meacutetriques de branches Lopeacuteration doptimisation des calculs est ainsi deacuteleacutegueacutee au compilateur de synthegravese (approche structured Table 7-4)

184

Figure 7-21 exemple de synthegravese du systegraveme de base agrave laide du compilateur Design Compiler de Synopsys Le contexte de codage est le codeur4eacutetats

185

Cette strateacutegie permet une adaptation rapide aux autres contextes de codage sans nuire sensiblement agrave la qualiteacute de la reacutealisation physique

Virtual Silicon Technology VST25 UMC25 Contexte de codage Nombre de

cellules Surface Nombre

indicatif de portes logiques(NAN2D1)

Temps dexeacutecution

Codeur4eacutetats 11 3564 microm2 15 039 nsCodeur16eacutetats 23 6178 microm2 26 092 nsCodeur64eacutetats 49 10375 microm2 44 158 nsCodeur256eacutetats 135 26136 microm2 110 181 ns

Table 7-5 caracteacuteristiques relatives agrave la reacutealisation physique du module BMu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module ACSu la seacutelection des chemins survivants Les Table 7-6 et Table 7-7 reacutesument les caracteacuteristiques principales de la synthegravese du module ACSu qui est chargeacute de la seacutelection des M=2K-1 chemins survivants Les principes suivis pour la conception du module sont la seacutelection parallegravele des 2K-1 chemins survivants une repreacutesentation des meacutetriques cumuleacutees minimisant le nombre de bits neacutecessaires lemploi dune fonction de normalisation de ces meacutetriques ainsi quune initialisation des meacutetriques permettant lexploitation des conditions de deacutepart de lopeacuteration de codage (remise agrave zeacutero de la meacutemoire du codeur)

Virtual Silicon Technology VST25 UMC25 Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules Partie combin

Partie non-combin

Total Portes logiques ()

Bascules

Codeur4eacutetats 174 64627 34848 99475 272 20Codeur16eacutetats 679 252806 139392 392198 1064 80Codeur64eacutetats 3324 1217542 669082 1886623 5124 384Codeur256eacutetats 13504 4907153 2676327 7583479 20653 1536() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-6 caracteacuteristiques relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

186

Virtual Silicon Technology VST25 UMC25 Contexte de codage

Temps dexeacutecution Freacutequence (indicative) apregraves synthegravese

Codeur4eacutetats 237 ns 400 MHz Codeur16eacutetats 257 ns 370 MHz Codeur64eacutetats 340 ns 280 MHz Codeur256eacutetats 432 ns 220 MHz

Table 7-7 ordre de grandeur des performances relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module BPS la seacutelection du chemin pour la prise de deacutecision La strateacutegie classique de prise de deacutecision utilise le chemin partiel qui au moment de lexeacutecution de cette opeacuteration est estimeacute le plus probable Le principal deacutesavantage de cette strateacutegie est la forte composante seacutequentielle de lopeacuteration de seacutelection du chemin montrant la meacutetrique cumuleacutee la plus favorable (Figure 7-18) La reacutealisation physique de cette uniteacute (Table 7-8) met en eacutevidence cette probleacutematique le nombre de stades de comparaison saccroicirct parallegravelement agrave laugmentation du nombre de chemins impliqueacutes dans la seacutelection

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Nombre de

cellules (blocs de comparaison)

Surface [microm2] Nombre indicatif de portes logiques (NAN2D1)

Stades de comparaison

Temps [ns]

Codeur4eacutetats 5 (3) 22651 95 2 224Codeur16eacutetats 21 (15) 126878 534 4 542Codeur64eacutetats 89 (63) 682705 2873 6 1060Codeur256eacutetats 393 (255) 3010867 12672 8 1535

Table 7-8 reacutealisation physique du module BPS par blocs de comparaisons (Table 7-9) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

187

Virtual Silicon Technology VST25 UMC25 025microm

Surface Contexte de codage Nombre de

cellules Combinatoire Nombre indicatif de portes logiques (NAN2D1)

Temps

Codeur4eacutetats 16 7445 microm2 31 107 nsCodeur16eacutetats 18 8395 microm2 35 132 nsCodeur64eacutetats 23 10771 microm2 45 164 nsCodeur256eacutetats 25 11722 microm2 49 176 ns

Table 7-9 reacutealisation physique du bloc responsable de la comparaison de deux meacutetriques cumuleacutees de maniegravere agrave deacuteterminer la meilleure Ce bloc repreacutesente luniteacute de base pour la construction du module BPS Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module TBu la prise de deacutecision La reacutealisation mateacuterielle des modules BPS et TBu a suivi lapproche la plus classique la deacutetermination du chemin partiel le plus probable afin dextraire la valeur du bit le plus vieux pas encore livreacute

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules (nombre de blocs de meacutemoire δp)

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 52 (15) 46253 171310 217563 195 95Codeur16eacutetats 107 (25) 263736 809978 1073714 1110 455Codeur64eacutetats 337 (35) 1161547 4062247 5223794 4889 2316Codeur256eacutetats 1210 (45) 4888066 20277973 25166040 20573 11616() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-10 reacutealisation physique de la proceacutedure complegravete de prise de deacutecision agrave partir de blocs chargeacutes du stockage des informations et de reconstruction de leacutetat preacuteceacutedent de la meacutemoire (Table 7-11) La distance δp est eacutegale agrave (5middotK) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Les reacutesultats de la synthegravese du module TBu sont illustreacutes agrave laide de la Table 7-10 La reacutealisation du module se base sur la concateacutenation de δp blocs opeacuterationnels (Table 7-11) chacun chargeacute

188

1 du stockage des informations des M chemins survivants appartenant au mecircme niveau de profondeur et

2 de la reconstruction de leacutetat preacuteceacutedent du chemin survivant seacutelectionneacute

Par rapport au paramegravetre de distance δp limplantation considegravere la reconstruction iteacuterative et successive de δp=(5middotK) eacutetats de meacutemoire

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre

de cellules

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 11 3010 7366 10375 13 4Codeur16eacutetats 43 10296 28274 38570 43 16Codeur64eacutetats 147 32155 111910 144064 135 64Codeur256eacutetats 514 104861 446450 551311 441 128() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-11 reacutealisation physique du bloc responsable du stockage des informations concernant les chemins survivants agrave une certaine profondeur Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

743 Surface de silicium

La Figure 7-22 montre une vue densemble de la surface demandeacutee par chaque module Les deux modules les plus exigeants sont le module ACSu et le TBu Indeacutependamment du nombre deacutetats consideacutereacutes ces deux modules repreacutesentent en effet plus de 90 de la surface du systegraveme de base entier (Figure 7-23) Etant chargeacute de la seacutelection parallegravele des M=2K-1 chemins survivants la surface du module ACSu deacutepend lineacuteairement du nombre deacutetats repreacutesentables par la meacutemoire du codeur Les opeacuterations de seacutelection sont accomplies par M uniteacutes parallegraveles et les M meacutetriques cumuleacutees sont sauvegardeacutees dans le module mecircme La surface du module TBu deacutepend non seulement du nombre M deacutetats mais aussi de la valeur de la distance δp Le module est constitueacute de lenchaicircnement de δp uniteacutes fonctionnelles chacune responsable de la reconstruction dun eacutetat de meacutemoire en plus du stockage des informations lieacutees agrave M chemins survivants Si on considegravere que les paramegravetres M et δp deacutependent tous les deux de la longueur de contrainte K on obtient un module dont la demande de surface

189

saccroicirct rapidement avec laugmentation de la taille de meacutemoire du codeur convolutif (Figure 7-23)

00001

00010

00100

01000

10000

100000

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

contexte de codage

Surf

ace

[mm

2 ]

BMu

ACSu

BPS

TBu

Figure 7-22 vue densemble des valeurs de surface de chaque module

0

20

40

60

80

100

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

Surf

ace

TBu non-combTBu combBPS combACSu non-combACSu combBMu comb

Figure 7-23 vue densemble de la reacutepartition de la surface entre les modules Leacutegende comb partie combinatoire du module non-comb partie non-combinatoire du module

190

744 Vitesse dexeacutecution

La Table 7-12 donne une vue densemble des temps dexeacutecution des diverses tacircches valeurs obtenues par la synthegravese du systegraveme de base Les estimations de la vitesse dexeacutecution apregraves routage sont obtenues en reacuteduisant dun facteur deux les valeurs de vitesse reacutesultant apregraves synthegravese

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Design Compiler de

Synopsys (apregraves synthegravese) Estimation

apregraves routage

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Uniteacute TBu structure seacutequentielle (δp=5middotK)

Deacutebit de traitement du systegraveme ()

Codeur4eacutetats 039 ns 237 ns 224 ns 1308 ns 38 MbitssCodeur16eacutetats 092 ns 257 ns 542 ns 5995 ns 8 MbitssCodeur64eacutetats 158 ns 340 ns 1060 ns 8817 ns 6 MbitssCodeur256eacutetats 181 ns 432 ns 1535 ns 11357 ns 4 Mbitss() Lestimation apregraves routage est obtenue par la pondeacuteration dun facteur deux des valeurs de synthegravese

Table 7-12 vue densemble des valeurs concernant la vitesse dexeacutecution des divers modules

Ces reacutesultats montrent que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage Si les performances des modules ACSu et BMu sont relativement stables le deacutebit de traitement des deux autres modules se deacutegrade parallegravelement agrave laugmentation de la longueur de contrainte K En raison de la tacircche assigneacutee ces deux modules montrent en effet des composants seacutequentiels dont limportance deacutepend directement du paramegravetre K K-1 stades de comparaisons (module BPS) et la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles (module TBu) Ces composants seacutequentiels agrandissent la profondeur logique de la reacutealisation mateacuterielle de ces opeacuterations ralentissant le temps dexeacutecution des tacircches assigneacutees Ces composants seacutequentiels influencent eacutevidemment les performances du systegraveme entier les performances de lopeacuteration de prise de deacutecision deacuteterminent le deacutebit de traitement maximal du systegraveme de deacutecodage Bien que les performances de lopeacuteration de prise de deacutecision deacutegradent parallegravelement agrave laugmentation de la longueur de contrainte K du code ce systegraveme de deacutecodage assure un deacutebit de traitement suffisant aux exigences des

191

standards UMTS lestimation du deacutebit de traitement indique une valeur de 4 millions de bits dinformation traiteacutes par seconde (Table 7-12)

745 Taux dactiviteacute des signaux liant les modules

On termine la discussion sur les aspects de la synthegravese du systegraveme en analysant les taux dactiviteacute des signaux38 qui lient les diffeacuterents modules du systegraveme (Figure 7-24 et Table 7-13)

calcul desmeacutetriques

de branches(BMu)

mise agrave jourdes

meacutetriquescumuleacutees et

seacutelectiondes

survivants(ACSu)

deacutecodagedu chemin

choisi(TBu)

seacutelection duchemin(BPS)

in_data

arr_branch_up

arr_branch_down

in_up_down_vec

in_up_down_vec

arr_mtr

start_st

out_data

horloge

reset

Figure 7-24 signaux liant les modules du systegraveme (Table 7-13)

Outil et simulations Les taux dactiviteacute sont deacutetermineacutes agrave laide de loutil ModelSim (Model Technology) qui agrave partir dune seacutequence donneacutee de symboles dentreacutee simule le comportement du systegraveme entier (deacutecrit en VHDL) Ce faisant cet outil permet la caracteacuterisation des signaux liant les divers modules caracteacuterisation qui peut ecirctre ensuite utiliseacutee par Design Compiler (Synopsys) pour une eacutevaluation plus preacutecise de la consommation deacutenergie de chaque module (Chapitre 8)

192

Signal Description horloge Signal dhorloge reset Remise agrave zeacutero in_data Symboles reccedilus arr_branch_updown Meacutetriques de branches in_up_down_vec Informations sur les chemins survivants arr_mtr Meacutetriques cumuleacutees start_st Eacutetat de deacutepart de la proceacutedure de deacutecodage out_data Deacutecision sur lancien bitt-δ

Table 7-13 liste des signaux utiliseacutes pour la description VHDL du systegraveme

Deux sont les cas consideacutereacutes pour la prise de connaissance des taux dactiviteacute des signaux La premiegravere classe de simulations considegravere une transmission numeacuterique de donneacutees absente derreurs (exemple Table 7-14) Dans ce cas les symboles sont creacutees en codant un flux de bits dinformation aleacuteatoire Lautre classe de simulations prend en compte eacutevidemment des situations de transmission extrecircmement deacutesastreuses en termes derreurs Dans ces simulations les symboles dentreacutee du deacutecodeur sont entiegraverement geacuteneacutereacutes de maniegravere aleacuteatoire (exemple Table 7-15) Reacutesultats des simulations A partir des reacutesultats de ces simulations dont la Table 7-14 et Table 7-15 montrent deux exemples repreacutesentatifs on peut analyser et commenter le comportement des modules constituant le systegraveme de deacutecodage Le module BMu calcule les diverses meacutetriques de branches agrave partir des symboles reccedilus Lactiviteacute de ce module est strictement deacutependante de lactiviteacute des symboles reccedilus (in_data) A titre dexemple le codage dune seacutequence infinie de zeacuteros en labsence derreurs de transmission geacutenegravere une situation stationnaire dans le module BMu Dans cette situation extrecircme on assiste agrave une non-transition des eacuteleacutements logiques du module Le module ACSu se partage en deux parties La premiegravere partie eacutetant responsable des opeacuterations permettant la seacutelection des chemins survivants est entiegraverement reacutealiseacutee par logique combinatoire Par contre la seconde partie est chargeacutee du stockage des valeurs des meacutetriques cumuleacutees des chemins survivants Lactiviteacute de ce module est ainsi influenceacutee dune part par les taux dactiviteacute des meacutetriques de branches et de lautre par ceux des meacutetriques cumuleacutees

193

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 5 MSB 000 000 4 000 000 3 093 011 2 054 049 1 047 049 0 LSB 050 049

bit P[1] Activiteacute 6 MSB 049 045 5 049 045 4 050 045 3 049 045 2 049 045 1 049 045 0 LSB 049 045

in_up_down_vec

bit P[1] Activiteacute 2 MSB 051 047 1 MSB 049 055 0 LSB 050 047

bit P[1] Activiteacute

1 MSB 050 050 0 LSB 051 050

P[1]= 040 Activiteacute=047

P[1]=048 Activiteacute =047

Table 7-14 taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur256eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim47 La simulation considegravere la reacuteception dune seacutequence de symboles creacuteeacute par le codage de 1000 bits dinformation Ces bits ont eacuteteacute geacuteneacutereacutes de maniegravere aleacuteatoire Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation Leacutegende P[1] indique la probabiliteacute que le bit soit eacutegal agrave leacutetat 1 activiteacute repreacutesente le nombre de transition par cycle dhorloge

Les taux dactiviteacute des meacutetriques de branche sont stable et ne changent que dans une situation (artificielle) de codage stationnaire en absence derreurs Par contre lactiviteacute des meacutetriques cumuleacutees (arr_mtr) est fonction de la strateacutegie adopteacutee pour sa repreacutesentation (nombre de bits et fonction de normalisation) et des conditions de transmission Etant donneacute que la meacutetrique cumuleacutee indique le nombre derreurs rencontreacute par le chemin son taux dactiviteacute est eacutevidemment influenceacute par le deacutebit derreurs de transmission (Table 7-14 et Table 7-15) Lanalyse du taux dactiviteacute du signal dinformation in_up_down_vec prouve lutilisation dune fonction de seacutelection qui favorise (en cas de meacutetriques eacutequivalentes) le chemin dont leacutetat preacuteceacutedent possegravede le LSB eacutegal agrave zeacutero Ce signal qui indique le LSB de leacutetat de provenance du chemin survivant montre en effet la preacutedominance de leacutetat logique zeacutero (Table 7-14 et Table 7-15) 47 ModelSim SEEE PLUS 55e de Model Technology Incorporated Mentor Graphics

(Rev 200110)

194

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 4 MSB 006 008 3 049 013 2 051 027 1 051 046 0 LSB 050 054

bit P[1] Activiteacute 1 MSB 032 042 0 LSB 049 049

in_up_down_vec

bit P[1] Activiteacute 2 MSB 049 043 1 MSB 051 044 0 LSB 049 045

bit P[1] Activiteacute

1 MSB 050 0440 LSB 050 051

P[1]=032 Activiteacute=041

P[1]=045 Activiteacute=048

Table 7-15 le taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur4eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim Cette analyse se base sur la geacuteneacuteration aleacuteatoire de 1000 symboles dentreacutee (signal in_data) Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quau deacutebut de la simulation Leacutegende voir Table 7-14

Le module BPS est chargeacute du choix du chemin partiel le plus probable Par conseacutequent la fonction de seacutelection est influenceacutee par le contenu du message et par les erreurs de transmission Dans la situation dune eacutequiprobabiliteacute des messages et dabsence derreurs de transmission le chemin le plus favorable peut montrer de maniegravere eacutequitable tous les eacutetats de meacutemoire (signal start_st Table 7-14) Par contre en preacutesence dun fort deacutebit derreurs lopeacuteration de seacutelection du chemin est confronteacutee agrave des situations deacutequivalence des meacutetriques cumuleacutees Dans cette situation le taux dactiviteacute de ce signal de sortie montre les traces de lutilisation de fonctions de seacutelection ineacutequitable en cas deacutequivalence des meacutetriques (Table 7-15) Ces fonctions sont les opeacuterations de seacutelection du chemin survivant (module ACSu) et les uniteacutes de comparaison des chemins survivants (module BPS) Le dernier module traiteacute est le TBu Lanalyse de son signal de sortie qui repreacutesente la prise de deacutecision sur le plus vieux bit pas encore livreacute ne permet pas la caracteacuterisation du taux dactiviteacute de ce module Les informations quon peut obtenir sur son taux dactiviteacute deacuterivent de la conception du module En effet la strateacutegie de reacutealisation implique quagrave chaque peacuteriode dhorloge

bull un des δp eacuteleacutements de sauvegarde stocke les nouvelles informations des M chemins survivants

195

bull quatre bascules des deux chaicircnes circulaires de synchronisation (Figure 7-17) changent deacutetat

bull lexeacutecution de la prise de deacutecision cest agrave dire la reconstruction successive de δp eacutetats de meacutemoire du chemin seacutelectionneacute

75 Strateacutegie pipeline pour la prise de deacutecision

751 Motivation

Lanalyse des reacutesultats de synthegravese montre que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage (Table 7-12) Si les deacutebits de traitement des modules ACSu et BMu sont relativement stables les performances des deux autres modules se deacutegradent avec laugmentation de la longueur de contrainte K En raison des tacircches assigneacutees les deux modules chargeacutes de la prise de deacutecision montrent de fortes composantes seacutequentielles dont limportance deacutepend du paramegravetre K

bull K-1 stades de comparaisons pour la seacutelection du chemin le plus probable et

bull la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles pour la prise de deacutecision

Ces composants seacutequentiels deacutegradent non seulement les deacutebits de traitement des modules mais aussi les performances du systegraveme entier (Table 7-12) Si la strateacutegie dune prise de deacutecision exploitant un chemin quelconque permet de minimiser le temps dexeacutecution du module BPS la reacutealisation du module TBu reste leacuteleacutement crucial de notre systegraveme Dans le contexte dune exploitation exhaustive du paralleacutelisme algorithmique disponible il devient inteacuteressant dexplorer une strateacutegie pipeline pour lexeacutecution de lopeacuteration de prise de deacutecision Son principe est lexeacutecution simultaneacutee de plusieurs opeacuterations de prise de deacutecision ce qui permet lameacutelioration du deacutebit de traitement de luniteacute TBu

196

t-3 t-2 t-1 t t-5 t-4

eacutetat de deacutepart (t)

eacutetatt(t-1)t

Peacuteriode

bloc responsable du stockage des informations(niveau de profondeur t-2) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-3)

eacutetatt(t-2)

t-3 t-2 t-1 t t+1 t-4

eacutetat de deacutepart (t+1)

t+1

eacutetatt(t-6)

deacutecision info bitt+1-δ

eacutetatt+1(t-5)

deacutecision info bitt-δ

eacutetatt(t-3) eacutetatt(t-5)eacutetatt(t-4)

eacutetatt+1(t)eacutetatt+1(t-3) eacutetatt+1(t-2) eacutetatt+1(t-1)eacutetatt+1(t-4)

Figure 7-25 opeacuterations de prise de deacutecision Lapproche suivie est la reconstruction seacutequentielle des δp eacutetats preacuteceacutedents de la meacutemoire du codeur agrave partir du chemin seacutelectionneacute Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

752 Approche pipeline

La proceacutedure de prise de deacutecision peut ecirctre exeacutecuteacutee en δp eacutetages agrave chaque eacutetage leacutetat preacuteceacutedent de la meacutemoire du codeur est reconstruit agrave laide des informations sauvegardeacutees (Figure 7-26) La vitesse dexeacutecution dun de ces blocs fondamentaux de reconstruction devient leacuteleacutement indiquant les potentialiteacutes du module TBu (Table 7-16) En raison dune exeacutecution reacutepartie en δp eacutetages cette approche demande le double du nombre de blocs fondamentaux qui sont neacutecessaires au stockage des informations ainsi quagrave la reconstruction deacutetats preacuteceacutedents (Figure 7-26) Evidemment elle entraicircne laugmentation du retard algorithmique de lopeacuteration de prise de deacutecision retard qui passe ainsi de δp agrave 2middotδp peacuteriodes

197

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

bloc responsable du stockage des informations(niveau de profondeur t) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-1)bascule

deacutecision info bitt-δ

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-3)t+2

eacutetat de deacutepart (t+1)

eacutetat de deacutepart (t+2)

eacutetat de deacutepart (t+3)

Figure 7-26 repreacutesentation graphique du deacuteroulement de lopeacuteration de prise de deacutecision exploitant une structure pipeline (δp=3) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

753 Ameacutelioration de la strateacutegie pipeline

Lanalyse defficaciteacute de cette strateacutegie montre une gestion insatisfaisante des opeacuterations de reconstruction les 2middotδp blocs fondamentaux sont en effet chargeacutes de la reconstruction parallegravele de seulement δp chemins Cette structure pipeline (Figure 7-26) souffre de la reconstruction parasitaire de δp chemins qui napporte aucune contribution agrave lopeacuteration de prise de deacutecision Sur le plan de la consommation deacutenergie cette situation est intoleacuterable

198

Virtual Silicon Technology VST25 UMC25 025microm (valeurs apregraves synthegravese)

proceacutedure complegravete de prise de deacutecision bloc responsable du stockage des informations et reconstruction deacutetat

Contexte de codage

δp =5middotK Temps Freacutequence indicative

Temps Freacutequence indicative

Codeur4eacutetats 15 1308 ns 75 MHz 061 ns 1600 MHzCodeur16eacutetats 25 5995 ns 15 MHz 116 ns 860 MHzCodeur64eacutetats 35 8817 ns 11 MHz 187 ns 530 MHzCodeur256eacutetats 45 11357 ns 8 MHz 209 ns 470 MHz

Table 7-16 ordre de grandeur des performances de la reacutealisation du module TBu Les indications concernant le bloc fondamental impliquent lopeacuteration de seacutelection la lecture des informations sauvegardeacutees et la reconstruction des eacutetats preacuteceacutedents du chemin seacutelectionneacute Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Une solution possible est une intervention sur le signal dhorloge (Gated Clock) des bascules interposeacutees entre les blocs de maniegravere agrave activer seulement les δp blocs opeacuterationnels qui sont impliqueacutes dans les opeacuterations demandeacutees Par conseacutequent le signal dhorloge liant toutes les bascules (Figure 7-26) peut ecirctre remplaceacute par deux signaux dhorloge liant les bascules de maniegravere alterneacutee (Figure 7-27) Laspect de la faible consommation deacutenergie peut aussi tirer profit de cette solution Cette structure pipeline permet de limiter la consommation deacutenergie en eacutevitant la reacutepeacutetition dopeacuterations identiques de reconstruction La reconstruction deacutetats du chemin actuellement seacutelectionneacute peut en effet beacuteneacuteficier des opeacuterations preacuteceacutedemment effectueacutees Le beacuteneacutefice quon peut obtenir est proportionnel au nombre de transitions deacutetats que les deux chemins ont en commun

754 Redondance des opeacuterations de reconstruction deacutetats

Indeacutependamment de la strateacutegie dexeacutecution de lopeacuteration de prise de deacutecision cette sous-section preacutesente les beacuteneacutefices dune eacutelimination des reacutepeacutetitions (successives) dopeacuterations identiques de reconstruction

199

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

eacutetat de deacutepart (t+1)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetat de deacutepart (t+3)

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt+1(t)

eacutetatt+1(t-2)

bascule

bloc responsable du stockage desinformations et de la reconstruction de la

valeur de leacutetat preacuteceacutedent

t t+1 t+2 t+3 t+4 t-1horloge

eacutetat de deacutepart (t+4)

t+4 eacutetatt+1(t-2)

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-2)t+2 eacutetatt(t-3) eacutetatt+1(t-1)

eacutetat de deacutepart (t+2)

deacutecision info bitt-δ

deacutecision info bitt+1-δ Figure 7-27 optimisation de la structure pipeline de la tacircche de prise de deacutecision (δp=3) La structure est geacutereacutee par deux signaux dhorloge qui sont activeacutes de maniegravere alterneacutee (lactiviteacute est illustreacutee par la taille de la ligne repreacutesentant le signal) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

Limportance de la reacuteduction de consommation est eacutevidemment deacutetermineacutee par le nombre de transitions que les chemins choisis ont en commun Par

200

conseacutequent la reacuteduction la plus importante est atteinte lorsque le nouveau chemin seacutelectionneacute est la prolongation du chemin preacuteceacutedemment utiliseacute Dans ce cas apregraves une seule opeacuteration de reconstruction on peut utiliser entiegraverement tous les reacutesultats de la reconstruction preacuteceacutedente A partir de ces eacutevidences on sattend agrave ce que limportance de la reacuteduction deacutepende du critegravere de seacutelection du chemin de la distance δp ainsi que des erreurs de transmission Prise de deacutecision par le deacutecodage du chemin le plus probable Dans le cas de lutilisation du chemin le plus probable la redondance des opeacuterations est influenceacutee par le nombre derreurs et par leur distribution temporelle

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-28 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision qui utilise les chemins les plus probables Paramegravetres de la simulation contexte de codage codeur16eacutetats et 118k opeacuterations de choix du chemin le plus probable

Le cas ideacuteal est repreacutesenteacute par la seacutelection dun chemin qui est la prolongation du preacuteceacutedent ce qui demande la reconstruction dun seul eacutetat de meacutemoire La seacutelection dun autre chemin provoque laugmentation du nombre deacutetats qui doivent ecirctre recalculeacutes nombre qui est compris entre 2 et δp (Figure 7-28 et Table 7-17) Loccurrence de ce dernier cas augmente (eacutevidemment) avec la deacutegradation des conditions de transmission Dans les deux cas lexploitation des preacuteceacutedentes opeacuterations de reconstruction (Table 7-17) permet une reacuteduction sensible de la consommation deacutenergie

201

Moyenne du nombre deacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dB

Codeur4eacutetats 15 227 206 178 150 127 112 105Codeur16eacutetats 25 426 338 246 173 131 112 105Codeur64eacutetats 35 776 580 366 216 144 116 106Codeur256eacutetats 45 1181 867 486 241 146 115 105

Table 7-17 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats choix du chemin le plus probable 1000 opeacuterations de prise de deacutecision (TB) par trame 10000 trames

Figure 7-29 influence de la distance δp sur le nombre deacutetats recalculeacutes Simulation software contexte de codage codeur256eacutetats 1000 opeacuterations de choix du chemin le plus prometteur par trame 10000 trames

Linfluence de la distance δp sur le nombre deacutetats agrave recalculer est par contre plus marginale (Figure 7-29) Sa contribution se restreint agrave la limitation du nombre deacutetats recalculeacutes dans le cas ougrave le chemin seacutelectionneacute divergerait du preacuteceacutedent par un nombre deacutetats supeacuterieurs agrave δp Cet eacuteveacutenement se produit

202

dans de mauvaises conditions de transmission dans le contexte de codage traiteacute par la Figure 7-29 linfluence de la distance δp est observable au-dessous dun rapport EbN0 de 2dB Reconstruction des eacutetats de meacutemoire dun chemin quelconque Lutilisation dun chemin quelconque offre un niveau de souplesse supeacuterieur agrave lopeacuteration de seacutelection souplesse qui pourrait ecirctre ainsi exploiteacutee afin de reacuteduire la consommation deacutenergie On pourrait envisager de choisir (autant que possible) un chemin qui est la prolongation du preacuteceacutedent Ce faisant bien que la possibiliteacute de survie des prolongations du dernier chemin soit fonction des conditions de transmission et du contenu du message la consommation deacutenergie peut ecirctre minimiseacutee Toutefois cette solution neacutecessite lexeacutecution dune tacircche de seacutelection complexe ce qui contredit les avantages (preacuteceacutedemment) envisageacutes par lutilisation de cette meacutethode alternative Conformeacutement aux motivations qui sont agrave la base de la proposition on analyse la situation de seacutelection la plus simple le choix systeacutematique du mecircme eacutetat de deacutepart Par rapport agrave laspect de la consommation deacutenergie deux eacutetats de meacutemoire montrent des caracteacuteristiques inteacuteressantes lorsquils sont utiliseacutes comme eacutetats de deacutepart de lopeacuteration de prise de deacutecision

bull Leacutetat zeacutero qui repreacutesente la situation dune meacutemoire du codeur convolutif contenant uniquement des bits dinformations zeacuteros et

bull Leacutetat qui repreacutesente la situation dune meacutemoire contenant uniquement des bits dinformation un

En effet seuls ces deux eacutetats rendent possible le choix dun chemin qui soit la prolongation du chemin choisi agrave la profondeur preacuteceacutedente (Figure 2-15) La probabiliteacute de cet eacuteveacutenement peut ecirctre ensuite renforceacutee par la reacutealisation de lopeacuteration de seacutelection du chemin survivant (module ACS) La reacutealisation peut en effet assurer que dans une situation deacutequiprobabiliteacute des meacutetriques cumuleacutees la prolongation du chemin (preacuteceacutedemment choisi) sera seacutelectionneacutee La contribution apporteacutee par cette simple modification48 qui ne modifie pas le deacuteroulement correct de lalgorithme (voir le theacuteoregraveme de la non-optimaliteacute) est facilement observable dans un contexte de deacutecodage utilisant une deacutecision ferme (Table 7-18)

48 Dans le cas de lutilisation de leacutetat de deacutepart zeacutero leacutequivalence des meacutetriques

cumuleacutees avantage le chemin provenant dun eacutetat de meacutemoire dont le MSB est eacutegal agrave zeacutero

203

Occurrence observeacutee du choix de la prolongation du chemin preacuteceacutedent

Contexte de codage

Longueur de contrainte du code

Message [bit]

Bits de terminaisons

Nombre de messages

Troncation [δp]

Min Max Codeur4eacutetats K=3 1000 2 200000 K2K9K 650 655 Codeur256eacutetats K=9 1000 8 10000 K2K9K 621 656

Table 7-18 analyse du cas ougrave le chemin actuellement choisi est la prolongation du chemin choisi agrave la profondeur preacuteceacutedente Simulations choix systeacutematique du chemin de deacutepart zeacutero opeacuteration de seacutelection (module ACSu) favorisant le choix de la prolongation du chemin preacuteceacutedent conditions de transmission EbN0 de 0 agrave 6 dB

Sur le plan du nombre neacutecessaire dopeacuterations de reconstruction on doit sattendre agrave ce que cette strateacutegie alternative de seacutelection soit plus gourmande que lapproche classique de seacutelection du chemin le plus probable Les reacutesultats des simulations (Table 7-19) prouvent en effet quun nombre supeacuterieur deacutetats est recalculeacute pendant chaque opeacuteration de prise de deacutecision

Moyenne du nombre drsquoeacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dBCodeur4eacutetats 21 338 323 300 271 243 221 207Codeur16eacutetats 35 586 521 446 381 337 311 296Codeur64eacutetats 49 1198 1019 808 642 546 498 472Codeur256eacutetats 63 1475 1253 947 721 606 551 521

Table 7-19 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats 1000 opeacuterations de prise de deacutecision par trame 10000 trames eacutetat de deacutepart zeacutero

La meacutethodologie de seacutelection du chemin est une facteur peacutenalisant surtout dans des situations de transmission favorables en seacutelectionnant soit la prolongation du chemin preacuteceacutedent soit un chemin qui peut se reacuteunir avec le preacuteceacutedent quapregraves K transitions (Figure 7-30) le nombre moyen deacutetats agrave recalculer est superier par rapport agrave lapproche classique (Table 7-17 et Table 7-19)

204

Linfluence du paramegravetre de la distance δp sur le nombre deacutetats agrave recalculer est similaire agrave lapproche classique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-30 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) avec lutilisation de leacutetat de deacutepart zeacutero Simulations contexte de codage codeur16eacutetats 118k opeacuterations de TB analyseacutees

755 Consideacuterations finales

En raison des exigences eacutetablies la reacutealisation du systegraveme de base est fortement influenceacutee par la strateacutegie de lopeacuteration de prise de deacutecision Une eacutetude approfondie de cette opeacuteration a permis deacutevaluer ses potentialiteacutes en exploitant une approche pipeline Cette strateacutegie permet dameacuteliorer le deacutebit de traitement supporteacute par cette opeacuteration en eacuteliminant les limitations dues agrave sa forte composante seacutequentielle Les performances du systegraveme entier deviennent ainsi fonction de lopeacuteration fondamentale de seacutelection des chemins survivants Le prix agrave payer est le doublement des uniteacutes de reconstruction deacutetat ainsi que laugmentation de la consommation deacutenergie due agrave la gestion des multiples opeacuterations parallegraveles Sur le plan de la consommation deacutenergie cette eacutetude a montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection une telle strateacutegie permet denvisager une reacuteduction du nombre dopeacuterations de reconstruction nombre qui passe ainsi de δp agrave des valeurs sapprochant de luniteacute (Table 7-17 et Table 7-19) Limportance de la reacuteduction est eacutevidemment influenceacutee par les conditions de transmission

205

76 Conclusions

Ce septiegraveme chapitre a exploreacute les potentialiteacutes dune reacutealisation ASIC dune meacutethode de deacutecodage se basant exclusivement sur lalgorithme de Viterbi Apregraves lanalyse de la situation actuelle des technologies 3G le systegraveme de deacutecodage a eacuteteacute deacutecrit en deacutecomposant lalgorithme de Viterbi dans ses eacuteleacutements constituants Ces blocs opeacuterationnels sont le bloc responsable du calcul des meacutetriques de branche (BMu) celui de la mise agrave jour des meacutetriques cumuleacutees (ACSu) le bloc responsable de la seacutelection du chemin (BPS) et le bloc de prise de deacutecision par le deacutecodage (TBu) du chemin indiqueacute par le bloc preacuteceacutedent

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Codeur256eacutetats Condition des analyses condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

estimation apregraves synthegravese (Design Compiler de Synopsys)

Temps dexeacutecution

Dissipation inteacuterieure par bit traiteacute

Surface

BMu 181 ns 50 pJ 26middot10-3 mm2 ACSu 432 ns 10 nJ 76middot10-1 mm2 BPS 1535 ns 02 nJ 30middot10-1 mm2 TBu (δp=45) 11357 ns 29 nJ 25 mm2

Table 7-20 estimation des caracteacuteristiques techniques de la synthegravese des blocs constituant le deacutecodeur de Viterbi Le contexte de codage concerne le code convolutif proposeacute par le standard UMTS avec rendement Rc=13

Cette deacutecomposition a permis de traiter seacutepareacutement chaque eacuteleacutement illustrant ainsi ses paramegravetres leurs implications dans lexeacutecution de lalgorithme les options et les variantes de conception Une reacutealisation geacuteneacuterale et parameacutetrable a eacuteteacute choisie pour leacutevaluation des potentialiteacutes dadaptation et des coucircts demploi du systegraveme (Table 7-20) Lutilisation de la technologie VST25-UMC25 (025microm) ainsi que des outils Synopsys Design Compiler (synthegravese logique) et Modelsim de Model

206

Technology Incorporated (outil de simulation) a permis lanalyse critique de chaque bloc constituant ce qui a favoriseacute la proposition et leacutetude de meacutethodes alternatives aux approches communeacutement utiliseacutees Une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision (module BPS) a eacuteteacute ainsi eacutetudieacutee La forte composante seacutequentielle de lopeacuteration de seacutelection du chemin le plus probable a induit lexploration dun autre principe de seacutelection plus simple la deacutesignation dun chemin quelconque de deacutepart Leacutetude a ensuite montreacute la faisabiliteacute de cette solution agrave condition dune adaptation de la distance δp de lopeacuteration de prise de deacutecision La reacutealisation du module TBu neacutecessite ainsi un nombre supeacuterieur duniteacutes de reconstruction deacutetats qui provoque laugmentation de la surface de silicium et du retard algorithmique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

nombre deacutetats reacutecalculeacutes par lopeacuteration de prise de deacutecision

occu

renc

e

chemin le plus prometteur

chemin zeacutero

Figure 7-31 nombre deacutetats qui sont effectivement recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) Condition de la simulation code convolutif proposeacute par le standard UMTS avec rendement Rc=13 condition de transmission EbN0=4dB et 118k opeacuterations de prise de deacutecision analyseacutees

Ce chapitre propose ensuite une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie pipeline preacutevoit une exeacutecution parallegravele de plusieurs opeacuterations de reconstruction Le partage de lopeacuteration de prise de deacutecision en δp eacutetages de reconstruction augmente le deacutebit de traitement du module TBu ainsi que du systegraveme entier Les coucircts de cette strateacutegie sont le doublement des uniteacutes de reconstruction deacutetat laugmentation du retard algorithmique et la consommation deacutenergie demandeacutee par la gestion des multiples opeacuterations parallegraveles Lanalyse de lopeacuteration de prise de deacutecision a successivement montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des

207

opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection on peut envisager une reacuteduction du nombre dopeacuterations de reconstruction exeacutecuteacutees nombre qui passe ainsi de δp (reconstruction complegravete) agrave des valeurs sapprochant de luniteacute (Figure 7-31) Ce chapitre a prouveacute la faisabiliteacute et les potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi Cet algorithme possegravede des caracteacuteristiques importantes la description de lalgorithme utilise un nombre reacuteduit de paramegravetres et elle ne neacutecessite daucuns systegravemes de controcircle ou de reacuteglage de la qualiteacute de lopeacuteration de deacutecodage (situation dindeacutependance algorithmique des conditions de transmission des donneacutees) Gracircce agrave ces caracteacuteristiques de lalgorithmique de Viterbi les principaux inconveacutenients et limites de souplesse des reacutealisation ASIC ninterfegraverent que marginalement avec la conception du systegraveme CE chapitre a montreacute aussi quune approche coprocesseur augmente la souplesse demploi de la reacutealisation mateacuterielle de lalgorithme de Viterbi

Reacutefeacuterences

[BDTi1] Berkeley Design Technology Inc (BDTi) The BDTImark2000TM A Measure of DSP Execution Speed livre blanc 1997-2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi3] Berkeley Design Technology Inc (BDTi) Evaluating the Latest DSPs for Portable Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi6] Berkeley Design Technology Inc (BDTi) The BDTiMark2000 A Summary Measure of Signal Processing Speed septembre 2004 page Internet acceacutedeacutee en automne 2004 wwwbdticom

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

208

[FhG01] Fraunhofer Institut Integrierte Schaltungen CorePool FHG_VITERBI Databook version 15 juillet 2001

[Gath00] A Gatherer T Stetzler M McMahan E Auslander DSP-based Architectures for Mobile Communications Past Present and Future IEEE Communications Magazine janvier 2000 pp84-90

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gras01] L Grasso Implementation of a parameterized family of Viterbi Decoders rapport final de projet IMT Universiteacute de Neuchacirctel Neuchacirctel deacutecembre 2001

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese de Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Min91] BndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru312] Texas Instruments TMS320C55x DSP Functional Overview document SPRU312 juin 2000

[Spru393] Texas Instruments TMS320C55x Technical Overview document SPRU393 feacutevrier 2000

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

209

8 Comparaison des caracteacuteristiques des deux architectures software et

hardware

Les chapitres preacuteceacutedents ont preacutesenteacute laspect du deacuteveloppement dun systegraveme de deacutecodage en consideacuterant les caracteacuteristiques et les points forts des deux approches lune software et lautre par un circuit suppleacutementaire ASIC Ce chapitre se concentre sur les coucircts demploi de tels systegravemes indeacutependamment de leurs difficulteacutes de reacutealisation et du temps neacutecessaire agrave leur deacuteveloppement Les aspects cleacutes sont la vitesse de traitement la consommation deacutenergie et la surface de silicium

Ce chapitre traite seacutepareacutement chacun de ces aspects de maniegravere de mettre en eacutevidence les caracteacuteristiques et les potentialiteacutes de chaque approche Lanalyse critique de chaque aspect examine les deux types dapproches software et hardware de maniegravere indeacutependante et se conclue avec une comparaison de leurs potentialiteacutes La meacutethode de deacutecodage utiliseacutee pour lanalyse critique est lalgorithme de Viterbi

Les potentialiteacutes des deux approches sont estimeacutees agrave partir des reacutesultats preacutesenteacutes dans ce document ainsi que par les informations disponibles du marcheacute des DSP et de la technologie de synthegravese UMC25-025microm [UMC25]

81 Introduction

Dans le domaine du traitement numeacuterique du signal et de la teacuteleacutecommunication mobile la comparaison des coucircts demploi dun systegraveme prend principalement en compte trois aspects Ces aspects sont le deacutebit de traitement leacutenergie neacutecessaire pour le traitement dun bit dinformation et la surface de silicium utiliseacutee par le circuit Par conseacutequent le coucirct total

210

dutilisation dun systegraveme peut ecirctre deacutefini par une contribution eacutegale de ces trois aspects principaux [Feld02] Dans ce chapitre chacun de ces aspects sera traiteacute seacutepareacutement de maniegravere agrave mieux comprendre les caracteacuteristiques et les potentialiteacutes propres agrave chaque approche

82 Deacutebit du traitement

Le premier aspect traiteacute est le deacutebit du traitement Cet aspect est fondamental pour situer les champs dapplication des deux approches (hardware et software) dans le contexte de la communication mobile Les standards UMTS preacutevoient un deacutebit de transmission extrecircmement variable qui peut atteindre en effet 144 kbps lors dune utilisation dans des veacutehicules en mouvement 384 kbps pour une utilisation peacutedestre et 2 Mbps agrave linteacuterieur des bacirctiments Afin de permettre une analyse correcte les comparaisons des deux approches concernent limplantation et la reacutealisation mateacuterielle de lalgorithme de Viterbi Toutefois les performances de limplantation software de lalgorithme List Decoding seront eacutegalement estimeacutees

821 Approche software

Le deacutebit de traitement des DSP est estimeacute agrave partir des charges de calcul des implantations et des directives de complexiteacutes des opeacuterations de lETSI (Sous-section 632) A laide destimations successives le nombre de cycles dinstructions ainsi que le temps dexeacutecution neacutecessaire peuvent ecirctre eacutevalueacutes en consideacuterant les caracteacuteristiques et les potentialiteacutes propres aux familles DSP Algorithme de Viterbi La premiegravere eacutetape est la caracteacuterisation et la modeacutelisation de la complexiteacute de calcul de lalgorithme de Viterbi Lalgorithme de Viterbi peut ecirctre modeacuteliseacute par la complexiteacute de calcul de lopeacuteration de seacutelection dun chemin survivant (Table 8-1) La normalisation de la complexiteacute observeacutee par le nombre de reacutepeacutetitions de cette opeacuteration permet deacutetablir limportance de cette opeacuteration dans lexeacutecution de lalgorithme de Viterbi (Table 8-1)

211

En comparant cette valeur normaliseacutee avec la complexiteacute de calcul effectivement neacutecessaire agrave cette opeacuteration de seacutelection sa preacutedominance est eacutevidente les complexiteacutes de calcul des autres tacircches (notamment la deacutetermination des meacutetriques de branches la seacutelection du chemin le plus prometteur et lopeacuteration de prise de deacutecision) ne contribuent que de maniegravere minoritaire (moins de 20) agrave la complexiteacute totale du calcul Contrairement agrave lapproche hardware la contribution de la tacircche de prise de deacutecision se limite agrave 10 Ceci est ducirc agrave la simpliciteacute de lexeacutecution de cette tacircche qui consiste dans la lecture successive des δp eacutetats preacuteceacutedents du chemin seacutelectionneacute (Sous-section 642)

Table 8-1 vue densemble de la complexiteacute de calcul de lalgorithme de Viterbi Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122 kbps troncation de la meacutemoire δ=54 () Cette proceacutedure implique la mise agrave jour des deux meacutetriques cumuleacutees leur comparaison et la seacutelection du chemin survivant

Cette meacutethodologie de modeacutelisation permet une comparaison correcte des performances entre lapproche software et ASIC en limitant la forte influence

Observation de lexeacutecution de la tacircche de deacutecodage

Facteur de poids des opeacuterations (ITUETSI)

Nombre moyen drsquoopeacuterations observeacutees

Complexiteacute moyenne normaliseacutee par le nombre dopeacuterations de seacutelection (24830 opeacuterations)

Complexiteacute de calcul de la seule proceacutedure de seacutelection dun chemin survivant (code C) ()

[WCwOP opeacuteration]

[opeacuterations] [WCwOP] [WCwOP]

Additions 1 49670 20 20Increacutementations 1 1435 01 00Soustractions 1 293 00 00Transf de donneacutees 1 182888 74 60Logique 1 147769 60 55Deacutecalages 1 78584 32 30Controcircles 2 142734 115 80Point assignations 729Point arithmeacutetique 3637B initialisations 26906B controcircles 124270B increacutementations

0

97305

00 00

Grand total 856230 302 245

212

du type dexeacutecution (seacutequentielleparallegravele) de la tacircche de seacutelection Cette meacutethodologie offre en plus un moyen destimation du deacutebit de traitement dans dautres contextes de codage ougrave non seulement le nombre de bits du message change mais aussi les longueurs de contrainte K 49 Effets de la description souple des meacutethodes de deacutecodage Afin de permettre une comparaison eacutequitable avec lapproche hardware les implications dues agrave une description souple de lalgorithme doivent ecirctre quantifieacutees La strateacutegie souple de description de lalgorithme permet ladaptation aux autres contextes de codage par la modification du paramegravetre de longueur de contrainte K et des fonctions geacuteneacuteratrices Gi Cette souplesse entraicircne une augmentation de la charge de calcul due agrave la difficulteacute doptimisation du code qui en deacutecoule Une eacutevaluation du facteur daugmentation est possible en comparant cette complexiteacute avec celle potentiellement reacutealisable par une implantation ideacuteale de la tacircche de seacutelection Pour cette derniegravere qui repreacutesente la limite infeacuterieure de complexiteacute de cette tacircche on considegravere lexeacutecution de la seacutequence dopeacuterations suivante

bull chargement des anciennes meacutetriques cumuleacutees appartenant aux deux eacutetats preacuteceacutedents (deux opeacuterations de Transferts de donneacutees)

bull chargement des actuelles meacutetriques de branches qui sont coupleacutees aux deux transitions traiteacutees (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull seacutelection du chemin survivant par lidentification de la meilleure

meacutetrique cumuleacutee (une opeacuteration de controcircle) bull stockage des valeurs de meacutetrique cumuleacutee et de linformation neacutecessaire

agrave la reconstruction du chemin survivant (deux opeacuterations de Transferts de donneacutees)

Selon les indications des organisations ITU et ETSI (Basic Operations Table 8-1) la complexiteacute de cette seacutequence dopeacuterations est de 10 weighted operations (wOP) En consideacuterant une contribution minimale des autres tacircches50 estimeacutee agrave 10 de la complexiteacute totale la limite infeacuterieure de complexiteacute de lalgorithme de Viterbi peut se situer autour de 11 wOPeacutetat En

49 Il faut se rappeler que la longueur de contrainte K du code deacutetermine le nombre

dopeacuterations de seacutelection du chemin survivant qui sont impliqueacutees dans le traitement de chaque bit dinformation

50 On considegravere seulement la contribution de lopeacuteration de prise de deacutecision

213

comparant cette limite infeacuterieure avec la complexiteacute de calcul observeacutee la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme de Viterbi (Sections 64 et 66) peut ecirctre estimeacutee agrave un facteur 25 (Table 8-1) Algorithme List Decoding Dans ce paragraphe on caracteacuterise lalgorithme List Decoding ce qui permet une meilleure compreacutehension de ses potentialiteacutes De maniegravere analogue agrave lalgorithme de Viterbi le premier aspect traiteacute est limportance de lopeacuteration caracteacuterisant lalgorithme List Decoding la propagation de deux chemins agrave partir dun chemin appartenant agrave la liste des chemins les plus prometteurs Cette opeacuteration implique la deacutetermination des eacutetats de meacutemoire des deux chemins ainsi que le calcul de leurs meacutetriques cumuleacutees

Complexiteacute moyenne observeacutee normaliseacutee par le nombre total de chemins prolongeacutes

List Decoding L=128 (12671 propagations)

List Decoding L=64 (6527 propagations)

List Decoding L=32 (3423 propagations)

Complexiteacute de calcul de la proceacutedure de propagation (code C) ()

[WCwOP] [WCwOP] [WCwOP] [WCwOP]Additions 21 21 22 20Increacutementations 65 64 62 60Soustractions 00 00 00 00Multiplications 00 00 00 00Transferts de donneacutees 75 78 83 50Logique 43 45 47 40Deacutecalages 21 20 20 20Controcircles 277 288 310 140Grand total 502 516 544 330

Table 8-2 vue densemble de la complexiteacute de calcul de lalgorithme List Decoding Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122kbps sans proceacutedure de troncation de la meacutemoire () cette proceacutedure implique la deacutetermination de deux nouveaux eacutetats et le calcul des meacutetriques cumuleacutees relatives

Lanalyse de la charge de calcul (Table 8-2) montre que la preacutedominance de lopeacuteration fondamentale de propagation est affaiblie par les opeacuterations de

214

gestion de la liste des L chemins les plus prometteurs Les reacutesultats illustreacutes par la Table 8-2 montrent un rapport entre la complexiteacute totale normaliseacutee et celle de lopeacuteration de propagation de 32 Contrairement agrave lalgorithme de Viterbi la structure algorithmique de la meacutethode List Decoding deacutecompose la proceacutedure de recherche en deux parties distinctes et non-neacutegligeables La premiegravere partie comprend les opeacuterations fondamentales de propagations des chemins Cette partie est la plus complexe (autour de 23 de la complexiteacute totale de calcul Table 8-2) et peut ecirctre implanteacutee de maniegravere parallegravele La seconde partie est responsable de la gestion de la liste de chemins ainsi prolongeacutes Lexeacutecution de cette tacircche est caracteacuteriseacutee par une utilisation seacutequentielle et massive dopeacuterations de controcircles et de transferts de donneacutees La complexiteacute de calcul de cette partie demande un tiers de la complexiteacute totale de calcul Limite infeacuterieure de complexiteacute de calcul de lopeacuteration de propagation La deacutetermination de la limite infeacuterieure de complexiteacute de lopeacuteration de propagation est un eacuteleacutement utile pour la caracteacuterisation algorithmique de la meacutethode Dans ce cas lopeacuteration minimaliste de propagation peut ecirctre repreacutesenteacutee par la seacutequence dopeacuterations suivante

bull chargement de leacutetat de meacutemoire dun chemin contenu dans la liste des chemins agrave prolonger ainsi que sa meacutetrique cumuleacutee (une opeacuteration de controcircle et deux opeacuterations de Transferts de donneacutees)

bull deacutetermination des valeurs des deux nouveaux eacutetats qui sont atteints par la propagation du chemin concerneacute (deux opeacuterations de Transferts de donneacutees)

bull chargement des meacutetriques de branches qui sont coupleacutees aux deux transitions impliqueacutees dans la propagation (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull stockage des valeurs des meacutetriques cumuleacutees et des informations

neacutecessaires agrave la reconstruction des chemins (quatre opeacuterations de Transferts de donneacutees)

La complexiteacute de cette seacutequence dopeacuterations est de 14 wOP En consideacuterant la contribution des autres opeacuterations constituant lalgorithme (estimeacutee agrave 13 de la complexiteacute totale) la limite infeacuterieure de complexiteacute de la meacutethode List Decoding peut ecirctre ainsi estimeacutee agrave 21 wOPchemin propageacute Cette limite permet destimer la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme List Decoding (Section 67) agrave un facteur 2 (Table 8-2)

215

Nombre de cycles dinstructions demandeacutes par limplantation software En tenant compte de la modeacutelisation des algorithmes on procegravede agrave la seconde eacutetape de lestimation du deacutebit de traitement Cette eacutetape implique lestimation du nombre minimal de cycles dinstructions qui sont neacutecessaires au DSP pour laccomplissement de lopeacuteration de deacutecodage Leacuteleacutement crucial de cette estimation est la modeacutelisation du rapport existant entre les opeacuterations deacutefinies par la description des algorithmes et le nombre effectif dinstructions Vu que les complexiteacutes (typiques) de chaque opeacuteration ont deacutejagrave eacuteteacute prises en consideacuteration par les facteurs de pondeacuterations de lITUETSI il reste agrave deacutefinir le degreacute defficaciteacute de la geacuteneacuteration du code Le degreacute defficaciteacute exprime le rapport entre la complexiteacute de calcul et le nombre de cycles dinstructions effectivement neacutecessaires au DSP (wMOPSMIPS) Par conseacutequent le degreacute defficaciteacute nest pas uniquement influenceacute par les caracteacuteristiques techniques du DSP mais aussi par le type de langage utiliseacute par le mode de description (langage agrave haut ou bas niveau) par le style de programmation et par les performances des compilateurs Pour ces raisons les eacutevaluations algorithmiques du Chapitre 6 se sont limiteacutees au comptage des divers types dopeacuterations afin de ne pas se concentrer sur une situation de deacuteveloppement particuliegravere etou une famille DSP speacutecifique

Estimation Contexte de codage Estimation de la

complexiteacute minimale de calcul par opeacuteration fondamentale

Limite infeacuterieure de complexiteacute de calcul par bit du message

Degreacute defficaciteacute de la geacuteneacuteration du code

Nombre de cycles dinstructions neacutecessaires au DSP par bit dinformation

[wOP opeacuteration]

[wOPbit] [wMOPSMIPS] [MIPSbit]

Codeur4eacutetats 11 44 1 1 0044 middot10-3 Codeur16eacutetats 11 176 1 1 018 middot10-3 Codeur64eacutetats 11 704 1 1 070 middot10-3 Codeur256eacutetats 11 2816 1 1 28 middot10-3

Table 8-3 exemple destimation du nombre dinstructions neacutecessaire pour lexeacutecution de lalgorithme de Viterbi Les valeurs sont obtenues agrave partir de lestimation de la complexiteacute minimale de calcul par opeacuteration fondamentale et du degreacute defficaciteacute empirique de 11 wMOPSMIPS

216

Malgreacute la difficulteacute agrave deacutefinir le degreacute defficaciteacute sans speacutecifier un environnement de deacuteveloppement un rapport de conversion wMOPSMIPS de 11 a eacuteteacute choisi pour les comparaisons avec lapproche ASIC En utilisant ce rapport qui repreacutesente une description et une conversion optimale du code software en code binaire la Table 8-3 montre les estimations du nombre de cycles dinstructions neacutecessaires agrave lexeacutecution de lalgorithme de Viterbi dans les quatre contextes de codage (Sous-section 722) Comparaison des deux algorithmes Viterbi vs List Decoding La modeacutelisation des deux algorithmes permet la comparaison des exigences de calcul indeacutependamment du contexte de codage et de la qualiteacute de la description de lalgorithme (Table 8-4)

Estimation Estimation de la complexiteacute de calcul par opeacuteration fondamentale ()

Limite infeacuterieure de complexiteacute de calcul par bit du message

Grade defficaciteacute de la geacuteneacuteration du code

Deacutebit de lapplication

Exemple dapplication dans le contexte UMTS

Contexte de deacutecodage algorithme utiliseacute

[wOPopeacuteration] [wOPbit] [wMOPSMIPS]

Nombre de cycles dinstructions pour lexeacutecution en temps reacuteel

Viterbi 11 2816 1 1 900 MIPS 320kbps

Deacutebit maximal par DPDCH 960kbps (codes Rc=13)

LDecoding L= 64 21 1344 1 1 430 MIPS

Viterbi 11 2816 1 1 34 MIPS 122 kbps

Service de parole agrave 122kbps LDecoding

L= 64 21 1344 1 1 16 MIPS () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-4 exemple destimation du nombre dinstructions demandeacutees par les deux algorithmes dans le contexte du standard UMTS [Ts25212] Les valeurs sont obtenues agrave partir de lestimation de la limite infeacuterieure de complexiteacute de calcul par opeacuteration fondamentale et dun degreacute defficaciteacute de la geacuteneacuteration du code de 11 wMOPSMIPS

A la diffeacuterence de lalgorithme de Viterbi le List Decoding contre-balance lavantage dun reacuteglage du nombre dopeacuterations de propagation par laugmentation de la complexiteacute de calcul de son opeacuteration fondamentale Le

217

changement du type de recherche (du critegravere de seacutelection du chemin survivant agrave la propagation controcircleacutee des chemins) implique le doublement de la complexiteacute de calcul neacutecessaire au traitement de chaque chemin Dans le contexte de codage UMTS (Chapitre 6) la diminution dun facteur 4 du nombre de chemins traiteacutes permet agrave lalgorithme List Decoding de reacuteduire ainsi de moitieacute les exigences de calcul Vitesse dexeacutecution les potentialiteacutes offertes par le DSP La derniegravere eacutetape de lestimation est la conversion du nombre de cycles dinstruction dans le nombre de peacuteriodes dhorloge du DSP Cette eacutetape de lestimation implique la prise en compte des caracteacuteristiques et des potentialiteacutes propres agrave chaque DSP

Familles DSP (hiver 2002-03) StarCore SC140

Texas Instruments TMS320C64x

Texas Instruments TMS320C62x

Texas Instruments TMS320C54x

Analog Devices 219x

Freacutequence dhorloge maximale

300 MHz 600 MHz 300 MHz 160 MHz 160 MHz

Nombre duniteacutes fonctionnelles

4 8 8 1 1

MIPS maximal (deacuteclareacute)

1200 MIPS 4800 MIPS 2400 MIPS 160 MIPS 160 MIPS

SIMD 2x16-bit 4x8-bit 4x8-bit - -Uniteacutes ou instructions facilitant lexeacutecution de la tacircche de deacutecodage

Instructions speacutecifiques facilitant limplantation de lalgorithme de Viterbi

TMS320C6416Coprocesseur deacutedieacute agrave lexeacutecution de lalgorithme de Viterbi (VCP)

- Uniteacute speacuteciale Compare Select and Store Unit (CCSU)

-

Table 8-5 vue densemble des caracteacuteristiques et des potentialiteacutes de certaines familles DSP Lexploitation optimale de la redondance des uniteacutes fonctionnelles et lexploitation des uniteacutes speacuteciales neacutecessite lemploi du langage agrave bas niveau propre au DSP Les donneacutees de cette table proviennent des sites Internet des fabricants (situation hiver 2002-03)

218

Lexeacutecution des opeacuterations de deacutecodage est influenceacutee par larchitecture interne du DSP ainsi que par la redondance des uniteacutes fonctionnelles et par la disponibiliteacute duniteacutes speacuteciales Les structures des deux algorithmes permettent en effet une exeacutecution parallegravele dopeacuterations ainsi que la concateacutenation dinstructions Au contraire des beacuteneacutefices apporteacutes par les architectures classiques des DSP (qui sont consideacutereacutes agrave laide des fonctions Basic Operations) les contributions apporteacutees par la redondance des uniteacutes et la disponibiliteacute duniteacutes speacuteciales ne sont pas facilement geacuteneacuteralisables Exemples caracteacuteristiques Afin de prendre connaissance des potentialiteacutes des familles DSP un groupe restreint de DSP sont utiliseacutes agrave titre dexemple (Table 8-5) Ce groupe de DSP est caracteacuteriseacute par diffeacuterentes freacutequences dhorloge ainsi que par une varieacuteteacute en termes de redondance et doffre duniteacutes speacuteciales Larticle de M Du [DuAz00] traite de limplantation optimale de lalgorithme de Viterbi exploitant les potentialiteacutes de ces DSP (Table 8-6) Bien que le contexte de codage consideacutereacute dans larticle (code convolutif avec longueur K=5 et rendement Rc=12) diffegravere de ceux traiteacutes dans cette eacutetude les reacutesultats de cet article permettent une prise de connaissance des contributions des moyens speacuteciaux mis agrave disposition par certains DSP (Table 8-7) Lefficaciteacute des moyens speacuteciaux des DSP est prouveacutee en observant les reacutesultats de lestimation de la Table 8-6 tout en consideacuterant une complexiteacute de calcul minimale de 10 wOP pour lopeacuteration de seacutelection dun chemin survivant La disponibiliteacute duniteacutes redondantes et de fonctions SIMD permet tout dabord une implantation parallegravele des opeacuterations en tirant profit de la structure reacuteguliegravere et parallegravele des algorithmes On trouve par exemple le DSP StarCore SC140 et les familles DSP de Texas Instruments TMS320C62x et C64x Une reacuteduction du nombre de cycles est eacutegalement reacutealisable en disposant duniteacutes speacuteciales de traitement (exemple le DSP StarCore SC140 et la famille DSP de Texas Instruments TMS320C54x) Toutefois ces uniteacutes sadressent speacutecifiquement agrave lexeacutecution de lalgorithme de Viterbi limplantation dautres meacutethodes de deacutecodage ne beacuteneacuteficie que partiellement de ces moyens speacuteciaux

219

DSP

Nom

bre

dun

iteacutes

fonc

tionn

elle

s

Nom

bre

indi

catif

de

peacuteri

odes

d

horl

oge

pour

la p

roceacute

dure

de

seacutele

ctio

n d

un se

ul c

hem

in

surv

ivan

t () [D

uAz0

0]

Tec

hnol

ogie

Ten

sion

da

limen

tatio

n du

co

re

Vite

sse

max

imal

e de

la

fam

ille

DSP

[B

DT

i2]

Est

imat

ion

du te

mps

neacute

cess

aire

agrave l

exeacutec

utio

n d

une

opeacuter

atio

n de

seacutele

ctio

n

(est

imat

ion

opeacuter

atio

nss

)

TMS320 C64x 8 () 088 012 microm 14 V 600 MHz 147 ns

(680 MHz)StarCore SC140 4 () 063 15 V 300 MHz 210 ns

(470 MHz)TMS320 C62x 8 () 239 015 microm 15 V 300 MHz 797 ns

(125 MHz)TMS320 C54x 1 () 384 16 V 160 MHz 240 ns

(40 MHz)

Table 8-6 vue densemble des potentialiteacutes offertes par lutilisation optimale des ressources structurelles et fonctionnelles de certaines familles DSP () Ces valeurs sont indicatives elles ont eacuteteacute extraites dun autre contexte de codage (code convolutif avec longueur de contrainte K=5 et rendement Rc=12) preacutesenteacute par larticle de M Du [DuAz00]

Estimation

Temps neacutecessaire au traitement dun bit dinformation (estimation bitss)

DSP

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

TMS320C64x 59 ns(170 Mbps)

23 ns(43 Mbps)

94 ns (11 Mbps)

375 ns(26 Mbps)

StarCore SC140 84 ns(120 Mbps)

34 ns(29 Mbps)

134 ns (75 Mbps)

538 ns(19 Mbps)

TMS320C62x 32 ns(31 Mbps)

127 ns(79 Mbps)

510 ns (20 Mbps)

2040 ns(05 Mbps)

TMS320C54x 96 ns(10 Mbps)

384 ns(26 Mbps)

1536 ns (07 Mbps)

6150 ns(02 Mbps)

Table 8-7 estimation des potentialiteacutes de traitement quon peut obtenir en exploitant les ressources structurelles et fonctionnelles des DSP Lestimation se base sur les informations extraites de larticle de M Du (Table 8-6) [DuAz00]

220

La freacutequence dhorloge des DSP influence ensuite le temps dexeacutecution des opeacuterations de deacutecodage Ceci est eacutevident en comparant le temps de traitement estimeacute du DSP StarCore SC140 et du TMS320C64x si le premier DSP optimise le nombre de peacuteriodes en exploitant au mieux tous les moyens structurels et hardwares disponibles le second atteint de meilleures performances en beacuteneacuteficiant dune freacutequence dhorloge nettement supeacuterieure

822 Approche ASIC

Les potentialiteacutes de deacutebit de traitement dune reacutealisation ASIC sont deacutetermineacutees par les performances de luniteacute ACSu qui est chargeacutee de la seacutelection des chemins survivants

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Synopsys Design Compiler (apregraves synthegravese)

(estimation du nombre de bits traiteacute par seconde apregraves routage)() Uniteacute TBu

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Structure seacutequentielle δp =45

Structure pipeline

estimation Codeur4eacutetats 039 ns

(1300 Mbitss) 237 ns

(210 Mbitss)224 ns

(220 Mbitss)1308 ns

(38 Mbitss) 061 ns

(820 Mbitss)Codeur16eacutetats 092 ns

(540 Mbitss) 257 ns

(190 Mbitss)542 ns

(92 Mbitss)5995 ns

(8 Mbitss) 116 ns

(430 Mbitss)Codeur64eacutetats 158 ns

(320 Mbitss) 340 ns

(150 Mbitss)1060 ns

(47 Mbitss)8817 ns

(6 Mbitss) 187 ns

(270 Mbitss)Codeur256eacutetats 181 ns

(280 Mbitss) 432 ns

(120 Mbitss)1535 ns

(33 Mbitss)11357 ns

(4 Mbitss) 209 ns

(240 Mbitss)() Perte de compeacutetitiviteacute estimeacutee agrave un facteur 2

Table 8-8 vue densemble des valeurs concernant le temps dexeacutecution des divers modules

Les performances du circuit de base sont tout dabord deacutetermineacutees par la reacutealisation des uniteacutes responsables de la prise de deacutecision (Table 8-8) Bien que leacutetude de la Section 73 se concentre sur lexeacutecution seacutequentielle et continue de cette opeacuteration de deacutecision des solutions envisageant une augmentation du deacutebit de traitement sont reacutealisables Une prise de deacutecision multiple lutilisation des structures pipeline et les techniques utilisant le deacutecodage dun chemin survivant quelconque permettent en effet de reacuteduire sensiblement le temps dexeacutecution des tacircches de ces uniteacutes TBu et BPS Ce faisant la reacutealisation de luniteacute ACSu devient leacuteleacutement crucial caracteacuterisant le potentiel de deacutebit de traitement du systegraveme

221

La reacutealisation de luniteacute ACSu du systegraveme emploie une strateacutegie classique

bull Lopeacuteration de mise agrave jour des deux meacutetriques cumuleacutees et la comparaison suivante sont exeacutecuteacutees de maniegravere individuelle lune apregraves lautre et

bull La reacutealisation physique utilise seulement des blocs de logiques standards

Une ameacutelioration ulteacuterieure du deacutebit de traitement peut ecirctre atteinte par dautres strateacutegies de reacutealisation plus performantes et par la concateacutenation des opeacuterations de seacutelection du chemin survivant ([Fett90] [Kapp92] et [Saou02])

823 Comparaison des potentialiteacutes de deacutebit de traitement des deux approches

Le premier facteur causant une perte importante de compeacutetitiviteacute est la divergence entre la modaliteacute dexeacutecution (parallegravele ou seacutequentielle) et les caracteacuteristiques algorithmiques de la meacutethode de deacutecodage Lutilisation dune technologie plus performante favorise ensuite la rapiditeacute de traitement Les deux meacutethodes de deacutecodage montrent de fortes composantes parallegraveles ainsi que seacutequentielles En ce qui concerne lalgorithme de Viterbi lopeacuteration de seacutelection des 2(K-1) chemins survivants montre une structure reacuteguliegravere et parallegravele alors que lopeacuteration de prise de deacutecision demande une exeacutecution seacutequentielle Lanalyse du temps neacutecessaire agrave lexeacutecution de lopeacuteration de seacutelection dun chemin survivant illustre la perte de compeacutetitiviteacute due agrave une exeacutecution entiegraverement seacutequentielle de cette opeacuteration fondamentale (Figure 8-1) La disponibiliteacute dun traitement parallegravele indeacutependamment du type dapproche hardware et software permet lexploitation du paralleacutelisme implicite dans lopeacuteration Aux extrecircmes on trouve ainsi lapproche ASIC (qui exploite exhaustivement le paralleacutelisme disponible) et la famille de DSP AD219x (qui ne dispose ni de traitements redondants ni duniteacutes speacuteciales facilitant limplantation de lalgorithme) La Figure 8-1 montre aussi la contribution de la technologie sur le temps dexeacutecution de lopeacuteration (TMSC64x technologie 012 TMSC62x technologie 015 Table 8-6) Le deacutebit de traitement du systegraveme est deacutetermineacute par lexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant ainsi que de lopeacuteration de prise de deacutecision (Figure 8-2)

222

Gracircce agrave sa nature lapproche ASIC peut exploiter exhaustivement le paralleacutelisme de lalgorithme reacuteduisant ainsi le temps dexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant Les approches software peuvent reacuteduire la perte de compeacutetitiviteacute dune exeacutecution seacutequentielle des opeacuterations en utilisant des DSP qui disposent duniteacutes fonctionnelles redondantes dinstructions SIMD duniteacutes de traitement speacuteciales ainsi que de performances supeacuterieures dues agrave une technologie plus compeacutetitive Le prix agrave payer est le renoncement progressif agrave une description souple de lalgorithme et agrave lutilisation dun langage agrave haut niveau

0

10

20

30

40

50

60

70

Tem

ps d

exeacute

cutio

n po

ur l

opeacuter

atio

n A

CS

[ns]

AS

IC 4

eacuteta

ts

AS

IC 1

6 eacutet

ats

AS

IC 6

4 eacutet

ats

AS

IC 2

56 eacute

tats

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es21

9x

Figure 8-1 comparaison du temps neacutecessaire agrave lexeacutecution dune tacircche de seacutelection (ACS) en fonction de lapproche suivie En vert sont repreacutesenteacutees les reacutealisations ASIC (systegraveme de base) en bleu les eacutevaluations dimplantations software sur DSP (baseacutees sur les implantations assembleur de larticle [DuAz00] Table 8-6) Le temps dexeacutecution relatif agrave la famille de DSP 219x de Analog Devices se base sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS (10 wOP 11 wMOPSMIPS) implantation qui ne dispose ni duniteacutes speacuteciales ni de fonctions deacutedieacutees facilitant limplantation de lalgorithme de Viterbi

223

La Figure 8-2 met en eacutevidence les limites du systegraveme de deacutecodage hardware deacutecrit dans le Chapitre 7 Lexeacutecution seacutequentielle de lopeacuteration de prise de deacutecision limite le deacutebit de traitement du systegraveme entier (Table 8-8) diminuant leacutecart de performances avec les implantations software les plus compeacutetitives Une reacutealisation diffeacuterente de cette opeacuteration (par exemple une prise de deacutecision multiple ou une strateacutegie dexeacutecution pipeline) permet agrave nouveau de beacuteneacuteficier des importantes potentialiteacutes de lapproche mateacuterielle (Figure 8-2)

AS

IC m

ax

AS

IC s

ystb

ase

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es 2

19x

codeur256eacutetatscodeur64eacutetatscodeur16eacutetatscodeur4eacutetats

0

50

100

150

200

250

Deacuteb

it de

trai

tem

ent [

Mbp

s]

Figure 8-2 vue densemble des potentialiteacutes de deacutebit de traitement Les solutions eacutevalueacutees sont une reacutealisation ASIC caracteacuteriseacutee seulement par lopeacuteration ACS 51 (max) le systegraveme de base et les implantations software sur DSP de larticle de M Du [DuAz00] (Table 8-8) Les potentialiteacutes de la famille de DSP 219x de Analog Devices se basent sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS de 10 wOP avec une efficaciteacute de 11 wMOPSMIPS

51 Solution impliquant soit une prise de deacutecision multiple de plusieurs bits dinformations

(Annexe C Figure C-8) soit lexeacutecution pipeline de lopeacuteration de prise de deacutecision

224

83 Dissipation deacutenergie par symbole traiteacute

Cette section traite de la dissipation deacutenergie Lestimation des valeurs de dissipation de lapproche software se base toujours sur leacutevaluation du nombre de cycles dinstructions qui sont neacutecessaires au DSP pour accomplir la tacircche attribueacutee Par contre les estimations relatives agrave lapproche hardware utilisent les reacutesultats de synthegravese du systegraveme de base

831 Approche software

Une estimation de la dissipation deacutenergie neacutecessite la connaissance du nombre dinstructions exeacutecuteacutes ainsi que les valeurs de dissipation typique de chaque classe dinstruction du DSP Par conseacutequent deux eacuteleacutements entrent en jeu dans ce type destimation les instructions du code binaire et les caracteacuteristiques de consommation des opeacuterations du DSP Si le premier eacuteleacutement peut ecirctre estimeacute par le comptage des Basic Operations la caracteacuterisation de la consommation des diffeacuterentes opeacuterations est difficile Non seulement il sagit dinformations sensibles (et donc difficiles agrave obtenir des fabriquants et aussi difficiles agrave veacuterifier) mais elles varient sensiblement de DSP en DSP Eacutevaluation simplifieacutee Ne disposant pas de ces informations la meacutethode deacutevaluation choisie estime le nombre total de cycles dinstructions neacutecessaires agrave lexeacutecution de la tacircche nombre qui est ensuite pondeacutereacute par une valeur typique de dissipation deacutenergie Le point critique de cette eacutevaluation est uniquement la deacutetermination de la valeur de dissipation typique par cycle dinstruction Par contre la simplification de la meacutethode deacutevaluation rend impossible lappreacuteciation dune implantation utilisant des instructions agrave faible consommation Afin dexplorer de maniegravere correcte les potentialiteacutes des DSP on analyse la consommation typique des familles de DSP agrave basse consommation Plus preacuteciseacutement la consommation deacutenergie par instructions Multiply-Accumulate

225

(MuAcc)52 [Gath02] de la classe de DSP agrave basse consommation du fabricant Texas Instruments (Figure 8-3)

1982 1994 1997 2000199119881985

100

001

01

1

10

100032010 5V

C15 5VC25 5V

C15 33V C52 5V

C52 33V C548 33VC5410 25V

C5409 18VC5402 12V

C5510 15V

anneacutee

mW

MM

uAcc

s

Figure 8-3 tendance agrave la reacuteduction de la dissipation deacutenergie par million dinstructions MuAccs de DSP agrave basse consommation de Texas Instruments [Gath02]

Lobservation de ces valeurs de dissipation met en eacutevidence la tendance agrave la reacuteduction de moitieacute de la consommation deacutenergie (par instructions Multiply-Accumulate) chaque 18 mois En supposant ainsi une valeur de dissipation typique par instruction eacutegale agrave la consommation de linstruction Multiply-Accumulate une valeur de 01mWMIPS peut ecirctre utiliseacutee agrave titre de reacutefeacuterence indeacutependamment de la puissance de calcul offerte par cette classe de DSP agrave basse consommation Lanalyse des Table 8-1 et Table 8-2 montre que les descriptions algorithmiques des algorithmes de Viterbi et de List Decoding nutilisent pas dopeacuterations coucircteuse comme la multiplication On pourrait ainsi supposer que lutilisation geacuteneacuteraliseacutee de cette valeur de reacutefeacuterence puisse mener agrave une estimation surdimensionneacutee de la consommation deacutenergie Par conseacutequent on preacutevoit une seconde eacutevaluation utilisant une valeur de reacutefeacuterence moins oneacutereuse

52 Une opeacuteration Multiply-Accumulate consiste en le chargement de deux opeacuterandes

depuis la meacutemoire lexeacutecution de la multiplication (Multiply and Accumulate MuAcc) et la sauvegarde successive du reacutesultat dans la meacutemoire [Gath02]

226

Modegraveles destimation de la consommation agrave borne maximale et agrave borne minimale La Table 8-9 montre les reacutesultats de deux modegraveles destimation de la dissipation deacutenergie par opeacuteration de seacutelection du chemin survivant (algorithme de Viterbi) et de propagation dun chemin (List Decoding) Ces modegraveles se basent sur leacutevaluation du nombre dinstructions exeacutecuteacutees par le DSP nombre qui est ensuite pondeacutereacute par lestimation de la consommation deacutenergie typique par instruction

Estim

atio

n de

la c

ompl

exiteacute

de

cal

cul d

e lo

peacutera

tion

fond

amen

tale

()

Deg

reacute d

effic

aciteacute

de

lim

plan

tatio

n

Dis

sipa

tion

typi

que

par

cycl

e d

inst

ruct

ion

exeacutec

uteacute

Dis

sipa

tion

deacuten

ergi

e de

lo

peacutera

tion

fond

amen

tale

() Classe de DSP

Alg

orith

me

[wOP opeacuteration]

[wMOPS MIPS]

[mW MIPS]

[nJ opeacuteration] Mod

egravele

des

timat

ion

de la

co

nsom

mat

ion

Viterbi 10 100 DSP agrave basse consommation conccedilu pour un large usage List Dec 14

11 01 140

A borne maximale

(max)

Viterbi 10 013 DSP agrave basse consommation offrant des instructions SIMD et des uniteacutes speacuteciales List Dec 14

41 005 018

A borne minimale

(min) () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-9 Estimations des valeurs de dissipation deacutenergie pour une implantation software des opeacuterations fondamentales des deux algorithmes lopeacuteration de seacutelection du chemin survivant et de propagation

Le premier modegravele destimation (deacutenommeacute agrave borne maximale) repreacutesente le contexte dune implantation optimale des opeacuterations fondamentales sur un DSP classique agrave basse consommation Dans ce contexte le DSP ne dispose ni de fonctions SIMD ni duniteacutes speacuteciales pour le traitement de lalgorithme de Viterbi La redondance des uniteacutes arithmeacutetiques ninfluence pas la consommation totale deacutenergie

227

Le second modegravele deacutevaluation prend en compte le contexte dun DSP qui dispose de moyens facilitant lexeacutecution des opeacuterations fondamentales (fonctions SIMD et uniteacutes speacuteciales) Par conseacutequent lestimation du nombre dinstructions a eacuteteacute reacuteduite dun facteur 4 en supposant que le degreacute defficaciteacute dimplantation seacutelegraveve agrave 41 wMOPSMIPS Ce facteur indique lordre de grandeur de la reacuteduction reacutealisable par lutilisation dinstructions SIMD et duniteacutes speacuteciales (observation des cas illustreacutes par la Table 8-6) En effet les algorithmes consideacutereacutes ne comprenant pas dopeacuterations coucircteuses en consommation il est possible de reacuteduire la valeur de dissipation de reacutefeacuterence La valeur de dissipation est ainsi reacuteduite (arbitrairement) de moitieacute en reconnaissant la difficulteacute destimation de la reacuteduction apporteacutee par lutilisation duniteacutes speacuteciales

Opeacuteration fondamentale (1) (partie parallegravele)

Partie seacutequentielle des algorithmes ()

Systegraveme entier

Dissipation deacutenergie

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Algorithme

Complexiteacute

Max Min (2)

Complexiteacute normaliseacutee par nombre dopeacuterations fondamentales (1)

Max Min (3) Max Min

Viterbi 10wOP 10 nJ 013 nJ 1 wOPACS 010 nJ 005 nJ 11 nJ 018 nJList Dec 14wOP 14 nJ 018 nJ 7 wOPprop 070 nJ 035 nJ 21 nJ 053 nJ(1) Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding (2) 41 wMOPSMIPS 005 mWMIPS (3) 11 wMOPSMIPS 005 mWMIPS

Table 8-10 Estimation des valeurs de dissipation deacutenergie demandeacutee par les implantations des algorithmes de Viterbi et List Decoding Les paramegravetres de ces estimations sont illustreacutes dans la Table 8-9 () Lexeacutecution de ces opeacuterations ne peut pas beacuteneacuteficier de moyens permettant une reacuteduction du nombre dinstructions tels que des uniteacutes speacuteciales et des fonctions SIMD

A partir de ces modegraveles destimation la Table 8-10 preacutesente lestimation de la dissipation totale deacutenergie par bit dinformation Ces estimations mettent en eacutevidence les avantages de lexploitation des composantes parallegraveles des algorithmes Le paralleacutelisme algorithmique permet lutilisation de fonctions SIMD ce qui reacuteduit le nombre dinstructions neacutecessaires au traitement dun bit dinformation Les performances de lalgorithme List Decoding sont en effet peacutenaliseacutees par son importante composante seacutequentielle Ensuite sa diffeacuterence algorithmique empecircche

228

lexploitation des uniteacutes speacuteciales deacutedieacutees au traitement de lalgorithme de Viterbi Il faut toujours se rappeler que ces estimations (Table 8-10) se basent sur le nombre minimal dinstructions neacutecessaires agrave lexeacutecution des opeacuterations fondamentales et sur le rapport (observeacute) entre la complexiteacute de calcul de ces opeacuterations et la complexiteacute totale du systegraveme (Table 8-1 et Table 8-2)

832 Approche ASIC

Contrairement agrave lapproche software lestimation de la dissipation deacutenergie de lapproche ASIC dispose dinformations sur la structure le nombre les types et les valeurs de dissipation de tous les eacuteleacutements logiques et de stockage utiliseacutes

Contexte de codage Codeur256eacutetats

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Estimation de Design Compiler utilisant les reacutesultats des simulations effectueacutees avecModelSim

Estimation de Synopsys Design Compiler Sans erreurs Erreurs Seulement 0

BMu 01 mW 01 mW 01 mW 00 mWACSu 190 mW 217 mW 224 mW 105 mWBPS 49 mW 59 mW 52 mW 01 mWTBu 578 mW 399 mW 365 mW 21 mW

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 68 mW 64 mW 13 mWCourant de fuite statique (Leakage)

21 mW

Table 8-11 estimations de la dissipation deacutenergie dans le contexte de codage codeur256 Les conditions et les hypothegraveses de travail des diverses estimations sont deacutecrites dans la Table 8-12

Incertitudes les taux dactiviteacutes des blocs et la contribution des interconnexions Une incertitude affecte (potentiellement) lestimation de la dissipation deacutenergie la variation des taux dactiviteacute des divers modules Comme citeacute

229

dans le chapitre preacuteceacutedent les taux dactiviteacute varient en fonction de plusieurs facteurs tels que le taux dactiviteacute du symbole reccedilu les fonctions geacuteneacuteratrices la repreacutesentation numeacuterique des meacutetriques de branche et cumuleacutees la preacutesence derreurs de transmission et certains choix techniques (fonctions de seacutelection proceacutedure de prise de deacutecision) Etant donneacute que certains facteurs sont fixeacutes lors de la conception du circuit on veut analyser linfluence des facteurs externes sur la dissipation deacutenergie Ainsi quatre eacutevaluations ont eacuteteacute effectueacutees afin de situer limportance des variations de dissipation deacutenergie (Table 8-11 et Table 8-12) Estimation Conditions et hypothegraveses des estimations Synopsys Estimation effectueacutee par Synopsys Design Compiler en labsence

dinformation sur les taux dactiviteacute des blocssignaux La situation suivante a eacuteteacute consideacutereacutee Signal de remise agrave zeacutero (reset) changeant de valeur chaque 2egraveme cycles dhorloge (P[1]=05 Activiteacute=05) Bits du symbole reccedilu (in_data) changeant de valeur chaque 2 egraveme cycles dhorloge (P[1]=05 Activiteacute=05)

Estimation effectueacutee par Synopsys Design Compiler en se basant sur les reacutesultats dune simulation effectueacutee agrave laide de loutil Modelsim (Model Technology Incorporated) Sans erreurs Codage dun flux de 1000 bits dinformation qui ont eacuteteacute geacuteneacutereacutes de maniegravere

aleacuteatoire (P[1]=048 Activiteacute=047) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Erreurs Geacuteneacuteration de symboles dentreacutee (in_data) de maniegravere aleacuteatoire et indeacutependante premier bit (LSB) P[1]=049 Activiteacute=045 second bit P[1]=051 Activiteacute=044 troisiegraveme bit (MSB) P[1]=049 Activiteacute=043 Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Seulement 0 Codage dun flux de 1000 bits dinformation bits constitueacutes seulement par des zeacuteros (P[1]=00 Activiteacute=00) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Table 8-12 conditions et hypothegraveses prises en compte par les estimations de dissipation deacutenergie effectueacutees Leacutegende P[1] symbolise la probabiliteacute que le bit soit eacutegal agrave 1 activiteacute indique le nombre de transitions par cycle dhorloge

Quatre situations particuliegraveres sont consideacutereacutees (Table 8-12)

bull une situation dabsence dinformations sur les signaux dentreacutee (eacutevaluation nommeacutee Synopsys)

bull une transmission de donneacutees en labsence derreurs (Sans erreurs)

230

bull une transmission extrecircmement perturbeacutee et domineacutee par les erreurs de transmission (Erreurs)

bull le codage dune seacutequence de bits dinformation impliquant une invariabiliteacute du symbole de sortie (Seulement 0)

Il en deacutecoule que labsence dinformation sur lactiviteacute des symboles reccedilus et du signal de remise agrave zeacutero a geacuteneacutereacute une eacutevaluation (Synopsys) plus seacutevegravere par rapport aux autres cas simuleacutes (Table 8-11) Par contre linfluence des erreurs de transmission sur la dissipation deacutenergie est faible laugmentation de la consommation deacutenergie du module ACSu eacutetant limiteacutee par rapport agrave la consommation totale Dans la derniegravere situation consideacutereacutee (estimation Seulement 0) lactiviteacute des modules se reacuteduit au minimum avec des valeurs de dissipation deacutenergie extrecircmement basses Cette situation dinvariabiliteacute des symboles geacuteneacutereacutes est bien entendu reacuteelle toutefois rare si lon suppose leacutequiprobabiliteacute des messages transmis Pour prendre en consideacuteration un plus large spectre dapplications les valeurs de dissipation de leacutevaluation plus seacutevegravere (eacutevaluation Synopsys Table 8-12) sont utiliseacutees dans la suite du document (Table 8-13) Virtual Silicon Technology VST25 UMC25 025microm

Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats BMu 81 microW 203 microW 55 microW 01 mWACSu 2435 microW 11 mW 49 mW 190 mWBPS 239 microW 02 mW 09 mW 49 mWTBu 5706 microW 22 mW 102 mW 578 mW

Dis

sipa

tion

inteacute

rieur

e

Total 846 microW 3 mW 16 mW 82 mWConsommation due au courant de fuite statique (Leakage)

21 microW 97 microW 466 microW 21 mW

Table 8-13 dissipations deacutenergie des modules selon les divers contextes de codage Evaluation Synopsys (Table 8-12)

Actuellement on dispose de toutes les informations des eacuteleacutements de conception du systegraveme de deacutecodage Afin deffectuer une comparaison objective on doit consideacuterer aussi les effets dus au placement des eacuteleacutements et

231

du routage En ne disposant pas de reacutesultats de routage les effets des interconnexions sont pris en compte avec une pondeacuteration arbitraire par un facteur deux (Table 8-14)

Contexte de codage Codeur256eacutetats Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Module Estimation de

Synopsys Design Compiler Cycle dhorloge de 50ns

Dissipation deacutenergie par cycle dhorloge

Estimation de la dissipation deacutenergie de la reacutealisation mateacuterielle (x2)

BMu 01 mW 50 pJ 10 pJACSu 190 mW 10 nJ 19 nJBPS 49 mW 02 nJ 05 nJTBu 578 mW 29 nJ 58 nJ

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 41 nJ 82 nJ

Table 8-14 estimation de la consommation deacutenergie par cycle dhorloge agrave partir des valeurs de dissipation inteacuterieure Evaluation Synopsys (conditions Table 8-12)

Aspect de la faible consommation Les moyens pour atteindre une faible consommation sont dabaisser autant que possible la freacutequence de travail la capaciteacute eacutequivalente et surtout la tension dalimentation [Heub97] Ainsi en beacuteneacuteficiant de la relation existante entre la freacutequence de travail et la tension dalimentation le renoncement (partiel) agrave une vitesse dexeacutecution eacuteleveacutee en reacuteduisant la tension dalimentation est une solution extrecircmement rentable en termes deacuteconomie deacutenergie Cette strateacutegie permet de reacuteduire efficacement la dissipation deacutenergie dynamique par bit la Table 8-15 montre leacutevaluation de leacuteconomie deacutenergie obtenue par une reacuteduction de moitieacute de la tension dalimentation En ce qui concerne sa faisabiliteacute les deacutebits de traitement montreacutes par le systegraveme de base (Table 8-8) permettent denvisager concregravetement cette solution surtout en consideacuterant les importantes potentialiteacutes apporteacutees par lapproche pipeline dans la reacutealisation du module TBu

232

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

Dissipation deacutenergie par peacuteriode

Evaluation de Synopsys Design Compiler pondeacutereacutee par un facteur 2 (estimation des effets dus au routage)

Estimation dune reacuteduction de moitieacute de la tension dalimentation (112 V)

Codeur4eacutetats 008 nJ 002 nJ Codeur16eacutetats 03 nJ 008 nJ Codeur64eacutetats 16 nJ 04 nJ Codeur256eacutetats 82 nJ 2 nJ

Table 8-15 Estimation de la variation de la dissipation deacutenergie lors dune reacuteduction de la tension dalimentation Ces eacutevaluations se basent sur lhypothegravese quune reacuteduction de moitieacute de la tension dalimentation permet de baisser de la consommation dun facteur quatre

833 Comparaison des dissipations deacutenergie des deux approches software et hardware

La comparaison des deux approches montre que le seul moyen que lapproche software possegravede pour se rendre plus concurrentiel est la geacuteneacuteration dun code binaire optimal Ceci est possible agrave laide de fonctions SIMD et duniteacutes deacutedieacutees au traitement de lalgorithme de Viterbi (Figure 8-4 et Figure 8-5) Opeacuteration fondamentale de seacutelection du chemin survivant (ACS) La structure algorithmique de lalgorithme de Viterbi se concentre autour de cette opeacuteration particuliegravere La reacutealisation mateacuterielle ainsi que limplantation software de cette opeacuteration caracteacuterisent les systegravemes correspondants Lopeacuteration de seacutelection du chemin survivant est simple autant que particuliegravere il sagit en fait dune double addition suivie par une comparaison des valeurs obtenues Limplantation software se trouve ainsi dans une situation deacutefavorable en raison dune discordance entre la particulariteacute de cette opeacuteration et le mode dexeacutecution classique des DSP Cette situation implique un nombre supeacuterieur dinstructions qui dans le contexte dune opeacuteration simple entraicircne une perte de compeacutetitiviteacute et une dissipation supeacuterieure deacutenergie

233

0001020304050607080910

Dis

sipa

tion

deacuten

ergi

e pa

r op

eacuterat

ion

AC

S [n

JA

CS]

AS

IC 2

56eacutet

ats

6 b

its

113

V

AS

IC 2

56eacutet

ats

6 b

its

225

V

DS

P agrave

bas

seco

nsom

mat

ion

speacutec

ialis

eacute 2

x8bi

ts lt

15

V

min

DS

P agrave

bas

seco

nsom

mat

ion

16 b

its lt

15

V

max

Figure 8-4 comparaison des valeurs estimeacutees de dissipation deacutenergie des approches software (Table 8-10) et ASIC (Table 8-14) Lopeacuteration analyseacutee est lopeacuteration ACS de lalgorithme de Viterbi Les informations de ces opeacuterations indiquent lapproche la situation consideacutereacutee le nombre de bits assigneacutes agrave la repreacutesentation des meacutetriques cumuleacutees la tension dalimentation et le type destimation

Consommation deacutenergie du deacutecodeur de Viterbi Lalgorithme de Viterbi est caracteacuteriseacute par une seacuteries dopeacuterations indeacutependantes de seacutelection des chemins survivants suivies par une opeacuteration iteacuterative de prise de deacutecision En termes de deacutebit de traitement et de dissipation deacutenergie un circuit programmable agrave large usage est eacutevidemment moins performant agrave un circuit adapteacute aux particulariteacutes de ce type dalgorithme Sur le plan de la reacuteduction de la consommation deacutenergie cette perte initiale de compeacutetitiviteacute des approches softwares peut ecirctre partiellement combleacutee tout dabord par la disponibiliteacute (et le constant renouvellement) de DSP agrave basse consommation reacutealiseacutes avec des technologies toujours plus avanceacutees Ensuite les uniteacutes speacuteciales de traitement et les instructions SIMD permettent une exeacutecution plus efficace des opeacuterations particuliegraveres et reacutepeacutetitives constituant lalgorithme de Viterbi (Figure 8-4)

234

Figure 8-5 tendance de la dissipation deacutenergie de lalgorithme de Viterbi

Il est ainsi eacutevident que gracircce agrave une adaptabiliteacute optimale aux caracteacuteristiques particuliegraveres de lalgorithme de Viterbi lapproche ASIC offre toujours les meilleures potentialiteacutes en termes de reacuteduction de consommation (Figure 8-5) Cette caracteacuteristique est surtout appreacutecieacutee (et dans certains cas indispensable) dans le contexte de la communication mobile (Table 8-16)

Estimation du nombre de bits potentiellement traitables en disposant de maniegravere exclusive de toute leacutenergie [bits]

Tension

Capaciteacute typique

Approche DSP

consommation

Approche ASIC

Accumulateur

[V] [Ah] Max Min Ni-MH type AA 12 15 002middot1012 01middot1012 3middot1012 Ni-MH type AAA 12 07 001middot1012 07middot1012 1middot1012

Table 8-16 potentialiteacutes et performances indicatives des deux approches en consideacuterant le contexte de codage de la communication mobile UMTS Les valeurs de consommation ont eacuteteacute extraites de la Table 8-10 et la Table 8-15)

235

84 Surface de silicium

Le dernier aspect traiteacute est la surface de silicium des circuits qui a une incidence sur les coucircts de fabrication et sur la faciliteacute dincorporer la fonction dans des systegravemes inteacutegreacutes (System On Chip SoC) Lobjectif principal de cette analyse est la comparaison de la surface de silicium neacutecessaire agrave la reacutealisation dun circuit deacutedieacute qui exploite exhaustivement le paralleacutelisme de lalgorithme de Viterbi avec la surface dun processeur versatile et geacuteneacuterique qui montre un degreacute de paralleacutelisme reacuteduit et limiteacute au strict neacutecessaire Fabriquant DSP Normalement

disponible comme (chipcore)

Agere Systems DSP16xxx chip Analog Devices ADSP-21xx ADSP-219x ADSP-2153x ADSP-

TS101S chip

ARM ARM7 ARM9 ARM9E core 3DSP SP-5 core DSP Group OakDSPCore TeakLite Teak PalmDSPCore core Hitachi SH-DSP SH3-DSP chip Hitachi STMicroelectronics

SH4ST40 SH5ST50 chip et core

TriCore 1 chip et core Infineon Carmel 10xx core

LSI Logic LSI140xX chip et core Motorola DSP563xx DSP568xxDSP5685x chip StarCore MSC8101 StarPro2000 chip Texas Instruments TMS320C2xx TMS320C28xx TMS320C54xx

TMS320C55xx TMS320C62xx TMS320C64xx chip

Table 8-17 processeurs agrave virgule fixe livrables en 2002 [BDTi2]

841 Processeurs DSP

La caracteacuterisation de la surface typique des DSP est dabord rendue difficile par la non-homogeacuteneacuteiteacute des nombreux DSP preacutesents dans le marcheacute (Table 8-17) Cette non-homogeacuteneacuteiteacute est causeacutee principalement par la diversiteacute des approches architecturales la taille de la meacutemoire inteacutegreacutee les technologies de reacutealisation physique les outils mis agrave disposition et le nombre duniteacutes fonctionnelles redondantes du DSP Lopeacuteration de caracteacuterisation est ensuite entraveacutee par la disponibiliteacute reacuteduite dinformations facilement accessibles sur les valeurs de surface de silicium

236

Cœur syntheacutetisable

Technologie Surface

Freacutequence dhorloge

Performances Notes

018 microm 095 mm2 80-110 MHzARM7EJ-S

013 microm 042 mm2 100-133 MHz

10 MIPSMHz

Basse consommation surface reacuteduite et extension instructions DSP

025 microm 27 mm2 160 MHzARM9E-S

018 microm - 200+ MHz

11 MIPSMHz

Extensions traitement du signal uniteacute MAC de16x32 (cycle unique) et pipeline avec 5 eacutetages

Table 8-18 caracteacuteristiques de deux cœurs syntheacutetisables de ARM [ARM7] [ARM9] Ces cœurs sont des processeurs-DSP de type RISC posseacutedant une structure agrave 32 bits

Par conseacutequent en raison de leur simpliciteacute architecturale et de la richesse en informations les processeurs DSP de ARM (Table 8-18) sont utiliseacutes agrave titre de reacutefeacuterence pour cette analyse La famille de processeurs ARM7 comprend les cœurs RISC agrave 32 bits destineacutes agrave des applications basse consommation et agrave faible coucirct Le cœur syntheacutetisable ARM7EJ-S met agrave disposition toutes les potentialiteacutes dun microcontrocircleur et dun DSP [ARM7] Le cœur ARM9E-S offre les capaciteacutes dun DSP exploitant un cœur de processeur RISC agrave 32 bits Ses arguments de vente sont la surface reacuteduite de silicium la simpliciteacute architecturale la basse consommation et la rapiditeacute de reacutealisation des solutions (time-to-market) [ARM9]

842 Systegraveme de base ASIC

Dans le contexte dune exploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi la surface de silicium du systegraveme deacutepend eacutevidemment de la longueur de contrainte K du code convolutif (Table 8-19) La surface de silicium croicirct parallegravelement agrave la redondance des uniteacutes fonctionnelles qui est fonction de la longueur de contrainte K du code convolutif envisageacute (Table 8-19) Les deux modules les plus exigeants sont celui responsable de la seacutelection parallegravele des chemins survivants (ACSu) et celui chargeacute de la prise de deacutecision du bit dinformation (TBu)

237

Virtual Silicon Technology VST25 UMC25 025microm

Surface en mm2 (apregraves synthegravese) Contexte de codage

Blocs

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

BMu combinatoire 36middot10-4 62middot10-4 10middot10-3 26middot10-3

ACSu combinatoire 65middot10-3 25middot10-2 12middot10-1 49middot10-1

ACSu non- combinatoire 35middot10-3 14middot10-2 67middot10-2 27middot10-1

BPS combinatoire 23middot10-3 13middot10-2 68middot10-2 30middot10-1

TBu combinatoire 46middot10-3 26middot10-2 12middot10-1 49middot10-1

TBu non- combinatoire 17middot10-2 81middot10-2 41middot10-1 20Total 34middot10-2 17middot10-1 79middot10-1 36

Table 8-19 vue densemble des valeurs de surface de chaque bloc appartenant au systegraveme de base deacuteveloppeacute

843 Comparaison des demandes en surface de silicium des deux approches software et hardware

En comparant les valeurs de surface de silicium il est eacutevident le coucirct suppleacutementaire en silicium ducirc agrave lexploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi (Table 8-19) La strateacutegie dune exeacutecution seacutequentielle des opeacuterations ainsi que la souplesse demploi des deux cœurs ARM permettent dobtenir un rapport optimal entre la surface de silicium et la gamme de fonctions disponibles Dans le contexte de codage UMTS lexploitation exhaustive du paralleacutelisme algorithmique entraicircne des forts coucircts en termes de surface de silicium en raison de limportante longueur de contrainte des codes convolutifs (K=9) La reacutealisation mateacuterielle neacutecessite ainsi plusieurs mm2 de silicium pour inteacutegrer limportant nombre duniteacutes fonctionnelles 256 uniteacutes mise agrave jour-comparaison-seacutelection et 45 blocs de sauvegardes-reconstruction deacutetats du chemin Il faut souligner que la reacutealisation physique du systegraveme de base neacutetait pas soumise agrave des contraintes relatives agrave la surface de silicium A titre dexemple la conception du module TBu a utiliseacute systeacutematiquement des bascules pour la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins En raison de la typologie de cette tacircche une reacuteduction de la surface de silicium peut ecirctre obtenue en remplaccedilant les bascules par des verrous (Latches)

238

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats Technologie

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Processeur-DSP ARM7EJ-S

018microm 95middot10-1 25 95middot10-1 61middot10-1 95middot10-1 16middot10-1 95middot10-1 39middot10-2

Processeur-DSP ARM9E-S

025 microm 27 40 27 97middot10-1 27 25middot10-1 27 63middot10-2

UMC25 025microm

(synthegravese) 34middot10-2 76 17middot10-1 17 79middot10-1 11 36 88

Systegraveme de base (δp=5middotK)

Estimation apregraves routage

7middot10-2 38 3middot10-1 8 2 6 7 4

Table 8-20 comparaison des valeurs de surface entre deux processeurs-DSP de type RISC et les quatre deacutecodeurs utiliseacutes pour leacutetude (Table 8-18 Table 8-3 et Table 8-19) La comparaison tient aussi compte des potentialiteacutes de deacutebit de traitement Le systegraveme de base est caracteacuteriseacute par les valeurs apregraves synthegravese les potentialiteacutes apregraves routage sont estimeacutees par une pondeacuteration par un facteur deux

85 Conclusions DSP ou ASIC

Ce chapitre a permis de situer les coucircts demploi dun circuit ASIC et dune implantation software sur DSP pour lexeacutecution de lalgorithme de Viterbi Les aspects traiteacutes ont eacuteteacute le deacutebit du traitement leacutenergie neacutecessaire pour le traitement de chaque bit dinformation et la surface de silicium des circuits Les potentialiteacutes des deux approches ont eacuteteacute jugeacutees agrave partir des reacutesultats et de lexpeacuterience mucircrie avec les implantations et la reacutealisation mateacuterielle deacutecrite dans les chapitres preacuteceacutedents Si limplantation software offre une solution rapide souple et bon marcheacute la reacutealisation mateacuterielle offre des potentialiteacutes de vitesse dexeacutecution et deacuteconomie de consommation incomparables (Table 8-21) Les coucircts en termes de surface de silicium deacutependent de la redondance des uniteacutes de traitement incluse dans les circuits DSP et ASIC

239

Deacutebit de traitement Consommation Surface DSP ASIC () DSP ASIC () DSP ASIC ()

TI320C64x() pipeline() min 225V () ARM7EJ-S Systbase Codeur4eacutetats 170 Mbps 210 Mbps 072 nJbit 008 nJbit 095 mm2 34middot10-2 mm2

Codeur16eacutetats 43 Mbps 190 Mbps 288 nJbit 03 nJbit 095 mm2 17middot10-1 mm2

Codeur64eacutetats 11 Mbps 150 Mbps 1152 nJbit 16 nJbit 095 mm2 79middot10-1 mm2

Codeur256eacutetats 26 Mbps 120 Mbps 4608 nJbit 82 nJbit 095 mm2 36 mm2

() estimation agrave partir des reacutesultats de [DuAz00] () valeur apregraves synthegravese pondeacutereacutee par un facteur 2 () estimation de la strateacutegie pipeline avec deacutecodage dun chemin quelconque () estimation de Synopsys Design Compiler (VDD 225V 70ordmC analyse simple)

Table 8-21 vue densemble des potentialiteacutes des approches software et hardware Les potentialiteacutes sont estimeacutees seacutepareacutement lune des autres (Table 8-7 Table 8-8 Table 8-10 Table 8-13 Table 8-15 Table 8-18 et Table 8-19)

Algorithme de Viterbi Cet algorithme est caracteacuteriseacute par la reacutepeacutetition massive dune opeacuteration simple autant que particuliegravere (la seacutelection du chemin survivant) suivie par une opeacuteration demandant une exeacutecution seacutequentielle (prise de deacutecision) En raison dune configuration de travail impliquant lexeacutecution reacutepeacutetitive53 de cette derniegravere opeacuteration lalgorithme montre de fortes composantes parallegraveles ainsi que seacutequentielles Implantation software sur DSP Les principales limites de limplantation software sont la neacutecessiteacute de disposer dinstructions suppleacutementaires pour lexeacutecution des tacircches (lieacutees aux transferts des donneacutees) le manque dadaptabiliteacute des tailles des variables et la redondance limiteacutee des uniteacutes fonctionnelles Limplantation de lopeacuteration de seacutelection du chemin survivant est tout de suite greveacutee par la neacutecessiteacute dinstructions suppleacutementaires Ce handicap initial est ensuite amplifieacute par la reacutepeacutetition massive de cette opeacuteration fondamentale de lalgorithme de Viterbi Cette perte de compeacutetitiviteacute ne peut ecirctre combleacutee que par lutilisation de solutions et de technologies plus reacutecentes la disponibiliteacute duniteacutes fonctionnelles redondantes de fonctions SIMD et de 53 Dans le contexte de deacutecodage eacutetabli lopeacuteration de prise de deacutecision implique agrave chaque

niveau de profondeur la prise de deacutecision sur un bit dinformation

240

blocs speacuteciaux de traitement permet lameacutelioration des potentialiteacutes de deacutebit de traitement et de consommation deacutenergie Le prix agrave payer est toutefois lutilisation dun DSP posseacutedant une plus grande surface de silicium ainsi que le renoncement graduel agrave une description souple agrave haut niveau et portable de lalgorithme de Viterbi La forte composante seacutequentielle de lopeacuteration de prise de deacutecision convient de maniegravere optimale au mode dexeacutecution classique des DSP Lexeacutecution reacutepeacutetitive de cette opeacuteration ne deacutegrade pas les potentialiteacutes de lapproche software Approche ASIC La reacutealisation physique convient agrave lexeacutecution de lalgorithme de Viterbi gracircce agrave la possibiliteacute dexploiter exhaustivement les caracteacuteristiques particuliegraveres de lalgorithme La reacutealisation de lopeacuteration de seacutelection du chemin survivant se reacutevegravele ecirctre encore une fois leacuteleacutement crucial en raison de sa structure simple mais particuliegravere Lapproche ASIC permet une reacutealisation adapteacutee agrave la singulariteacute algorithmique de lopeacuteration en exploitant exhaustivement le paralleacutelisme disponible Lavantage dun traitement parallegravele de lalgorithme est eacutevident en analysant lopeacuteration de seacutelection des 2k-1 chemins survivants Les potentialiteacutes en termes deacutepargne deacutenergie et de vitesse dexeacutecution de cette approche sont ainsi excellentes Par contre laugmentation de la redondance des uniteacutes de traitement et la sauvegarde des informations de reconstruction augmentent les coucircts en termes de surface de silicium Limportante composante seacutequentielle de lopeacuteration de prise de deacutecision cause ensuite une perte de compeacutetitiviteacute du systegraveme de base ASIC Lexeacutecution seacutequentielle de cette opeacuteration agrave chaque cycle dhorloge deacutegrade les performances de deacutebit de traitement du systegraveme de base Les contre-mesures envisageables sont ladoption de la strateacutegie pipeline ainsi quune prise de deacutecision multiple par intervalles (Annexe C Figure C-8) Domaines dutilisation compleacutementaires des deux approches software et hardware Du point de vue du codage de canal le changement du contexte de codage et laugmentation du deacutebit maximal de transmission des standards UMTS geacutenegraverent une forte variabiliteacute de la charge de calcul des opeacuterations de deacutecodage

241

Lutilisation dun code convolutif avec une longueur de contrainte de 9 [Ts25212] exige tout dabord une importante charge de calcul pour le deacutecodage de chaque bit dinformation Par rapport aux technologies 2G il faut ainsi consideacuterer un facteur daugmentation entre quatre (si on prend en compte le GSM Half Rate Speech [ETSI909]54) et seize (par rapport au GSM Enhanced Full Rate Speech et Full Rate Speech [ETSI909]55)

Peacuteriode Entreprise Modegravele (Fabricant) Nombre duniteacutes rappeleacutees

Juillet 2000 KDDIau C309H (Hitachi) 138000Octobre 2000 KDDIau C309T (Toshiba) 59800Novembre 2000 J-Phone J-D03 (Mitsubishi) 180000Janvier 2001 NTT DoCoMo

DDI Pocket S0502iWM (Sony) PHS-J80 (Sanyo)

31000600000

Feacutevrier 2001 NTT DoCoMo Astel

P503i (Matsushita Comm)AJ-51 (Japan Radio)

2300002000

Mai 2001 NTT DoCoMo KDDIau J-Phone

S0503i (Sony) C101S (Sony) DP-221 (Mitsubishi)

420000126000

2730Juin 2001 Tu-Ka TH461 (Mitsubishi) 1814Juillet 2001 NTT DoCoMo

KDDIau KDDIau

P503i (Matsushita Comm)C406S (Sony) Casio

10000056000052100

Table 8-22 rappels principaux de teacuteleacutephones mobiles dus agrave des deacutefaillances software hardware ou agrave lutilisation de protocoles non entiegraverement conformes aux reacuteseaux La peacuteriode consideacutereacutee se situe entre juillet 2000 et 2001 peacuteriode qui est caracteacuteriseacutee par leacutelargissement de la gamme dapplications offertes (Japon [Yasu01])

La grande variabiliteacute du deacutebit de transmission des standards UMTS peut ensuite creacuteer des exigences de deacutecodage contradictoires A cause du caractegravere agrave large usage des standards UMTS on peut ainsi se retrouver facilement dans des situations ougrave soit le DSP est incapable de fournir toute la puissance de calcul neacutecessaire agrave lexeacutecution de lapplication en temps reacuteels soit les beacuteneacutefices apporteacutes par un circuit suppleacutementaire ASIC ne sont pas suffisants pour justifier ses coucircts suppleacutementaires 54 Ce systegraveme de transmission exploite un code convolutif avec longueur de 7 55 Ces contextes de codage utilisent un code convolutif avec longueur de contrainte de 5

242

En consideacuterant des contextes de codage peu exigeants en termes de ressources lapproche software permet une implantation rapide dalgorithmes offrant toutes ses qualiteacutes qui ont eacuteteacute tregraves appreacutecieacutees dans le contexte des technologies 2G Ces qualiteacutes sont tregraves utiles pour minimiser les coucircts suppleacutementaires dus agrave la modification et agrave la correction des deacutefaillances des applications et des protocoles ([Yasu01] Table 8-22) Le choix de la meacutethode de deacutecodage deacutepend principalement des exigences de lapplication ainsi que de la disponibiliteacute doutils et uniteacutes speacuteciales de traitement Si les exigences en termes de deacutebit de traitement et deacuteconomie deacutenergie augmentent la solution ASIC simpose graduellement Lapproche hardware sadapte de maniegravere optimale aux caracteacuteristiques de cet algorithme comportant une meilleure efficaciteacute dexeacutecution et une reacuteduction de la consommation deacutenergie Le vaste marcheacute estimeacute pour la 3G ainsi que la potentialiteacute dinteacutegration (System On Chip SoC) permettent datteacutenuer les probleacutematiques lieacutees aux coucircts supeacuterieurs de cette solution [BDTi4]

Reacutefeacuterences

[ARM7] ARM Ltd ARM7TM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[ARM9] ARM Ltd ARM9E-STM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[BDTi2] Berkeley Design Technology Inc (BDTi) Pocket Guide to DSP Processors and Cores Currently Available Processors mai 2002 page Internet acceacutedeacutee en eacuteteacute 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[DuAz00] J Du J Falkowski A Aziz J Lane Implementation of Viterbi Decoding on StarCore SC140 DSP International Conference on Signal Processing Applications amp Technology (ICSPAT 2000) 16-19 octobre 2000 Dallas Etats-Unis dAmeacuterique

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Feld02] H T Feldkaumlmper T Gemmeke H Blume T G Noll Analysis of reconfigurable and heterogeneous architectures in the

243

communication domain 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gold95] I Gold The OakDSPCores Viterbi Accelerator Speeds Up Digital Communications DSP amp Multimedia Technology deacutecembre 1995 - janvier 1996 page Internet de DSP Group acceacutedeacutee en eacuteteacute 2002 wwwdspgcomwebsitetechnologyarticle2htm

[Heub97] A Heubi De lalgorithme de traitement numeacuterique du signal agrave sa reacutealisation agrave faible consommation par un circuit inteacutegreacute speacutecifique Thegravese de Doctorat egraves sciences techniques Ecole Polytechnique Feacutedeacuterale de Lausanne Lausanne 1997

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Saou02] Y Saouter C Berrou Fast SUBMAP decoders for duo-binary turbo-codes 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

[Yasu01] H Yasui Recall of Mobile Phones Continue article du 17 septembre 2001 page Internet de NeAsia Online wwwnikkeibpasiabiztechcom

244

245

9 Conclusions

Suite aux modifications apporteacutees dans le nouveau standard de communication mobile UMTS le sujet de la thegravese est lanalyse des reacutealisations software et hardware de lopeacuteration de deacutecodage des codes convolutifs preacutevus par ce standard Cette thegravese eacutevalue tout dabord lefficaciteacute des meacutethodes classiques de deacutecodage convolutif de la 2egraveme Geacuteneacuteration dans le nouveau contexte du codage UMTS et elle propose ensuite dautres meacutethodes ameacutelioreacutees de deacutecodage Point de deacutepart En consideacuterant larchitecture et la meacutethode de deacutecodage preacutedominantes dans les technologies de la 2G une nouvelle implantation software de lalgorithme de Viterbi a mis en eacutevidence un alourdissement de la charge de calcul assigneacute au DSP Comme on pouvait sy attendre lagrandissement de la longueur de contrainte des codes augmente la charge de calcul neacutecessaire au deacutecodage de chaque symbole proteacutegeacute Lutilisation de lalgorithme de Viterbi neacutecessite ainsi lexeacutecution dau moins 28k wOP par bit proteacutegeacute contre les 176 wOP demandeacutes par les services de la 2G GSM Enhanced Full Rate Speech et Full Rate Speech Reacutesultats obtenus Consideacuterant limportante complexiteacute de calcul demandeacutee par lalgorithme de Viterbi cette thegravese propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes se reacutevegravelent inteacuteressantes agrave la fois du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage que des potentialiteacutes dune reacutealisation mateacuterielle Approche software Dans le cadre de cette thegravese lanalyse de la structure du codage de canal des standards UMTS ainsi que des principes du deacutecodage convolutif a permis de proposer deux meacutethodes alternatives agrave la solution classique Viterbi les meacutethodes iteacuteratives List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Le principe des deux meacutethodes iteacuteratives est une exploitation exhaustive des informations

246

suppleacutementaires fournies par les bits de pariteacute CRC qui ont eacuteteacute ajouteacutes au message La meacutethode List Viterbi Algorithm permet dameacuteliorer le niveau de protection pour lequel lalgorithme de Viterbi fait reacutefeacuterence Une nouvelle implantation conforme aux critegraveres dune exeacutecution en temps reacuteel a prouveacute la faisabiliteacute de la meacutethode dans le contexte du codage UMTS ainsi que le bon rapport entre la qualiteacute de protection et la charge de calcul de la meacutethode La meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute deacuteveloppeacutee dans loptique dexploiter les informations suppleacutementaires du codage CRC afin de reacuteduire la charge de calcul Cette meacutethode beacuteneacuteficie dune nouvelle reacutealisation plus efficace de lrsquoalgorithme List Decoding ce qui permet de reacuteduire efficacement la complexiteacute de calcul de la meacutethode iteacuterative Le principe des deux meacutethodes eacutetant une exploitation exhaustive du codage en bloc concateacuteneacute lutilisation de ces meacutethodes seacutetend agrave tous les domaines de la transmission numeacuterique des donneacutees fixe mobile et satellitaire Ces deux nouvelles meacutethodes eacutelargissent ainsi la liste de solutions efficaces agrave disposition ce qui permet aux designers de mieux reacutepondre aux exigences dune plus large gamme dapplications La limite des implantations software reste limportante charge de calcul due agrave la reacutepeacutetition massive soit de lopeacuteration de seacutelection du chemin survivant (meacutethodes baseacutees sur lalgorithme de Viterbi) soit de lopeacuteration de propagation (meacutethodes baseacutees sur le List Decoding) Approche hardware Ce travail de thegravese a traiteacute ensuite la reacutealisation mateacuterielle dun deacutecodeur geacuteneacuterique pour des codes convolutifs utilisant lalgorithme de Viterbi La reacutealisation du systegraveme de base a exploiteacute exhaustivement le paralleacutelisme et la simpliciteacute algorithmique qui caracteacuterisent la meacutethode de Viterbi La deacutecomposition du principe de deacutecodage en ses eacuteleacutements constituants ainsi quune reacutealisation parameacutetrable ont permis danalyser en deacutetail la reacutealisation mateacuterielle de chaque eacuteleacutement Lutilisation de la technologie Virtual Silicon Technology VST25-UMC25 (025microm) et des outils Design Compiler (Synopsys) et Modelsim (Model Technology Incorporated) ont permis une eacutevaluation des potentialiteacutes de chaque eacuteleacutement constituant en plus de favoriser la proposition de meacutethodes alternatives de reacutealisation Parmi les alternatives proposeacutees on a analyseacute le principe de lutilisation dun chemin quelconque pour la prise de deacutecision du bit dinformation (eacutetude pionniegravere) la nouvelle approche pipeline pour la reacutealisation de lopeacuteration de prise de deacutecision (nouveau principe) ainsi que lexploitation de la redondance des opeacuterations de reconstruction deacutetats (nouveau principe) Les premiers

247

deux principes ameacuteliorent le deacutebit de traitement du systegraveme de deacutecodage alors que le troisiegraveme reacuteduit la dissipation deacutenergie de lopeacuteration de prise de deacutecision Lanalyse du systegraveme de base a permis de mettre en eacutevidence les bonnes potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi telles que les aspects de la rapiditeacute de traitement et de la reacuteduction de la consommation deacutenergie Lapproche coprocesseur ameacuteliore de la souplesse demploi qui est la limite caracteacuteristique des reacutealisations mateacuterielles Ceci permet leacutelargissement de lutilisation du systegraveme de deacutecodage deacuteveloppeacute agrave dautres applications de traitement du signal utilisant lalgorithme de Viterbi (par exemple applications impliquant des fonctions dites de maximum de vraisemblance) Observations finales Leacutetude met en eacutevidence labsence actuelle dune solution globalement efficace pour les standards UMTS contrairement au cas des implantations software de lalgorithme de Viterbi massivement utiliseacutes dans les technologies de la 2G La solution optimale deacutepend des exigences et des caracteacuteristiques propres agrave lapplication utilisant le reacuteseau mobile UMTS Lutilisation de dispositifs programmables offre des solutions rapides souples et bon marcheacute mais les implantations software se reacutevegravelent ecirctre non-concurrentielle en termes de deacutebit de traitement et de dissipation deacutenergie La reacutealisation mateacuterielle convient en effet agrave lexeacutecution de meacutethodes de deacutecodage baseacutees sur lalgorithme de Viterbi gracircce agrave lexploitation exhaustive des caracteacuteristiques particuliegraveres de lalgorithme Le vaste marcheacute des applications concerneacutees ainsi que la potentialiteacute dinteacutegration de ces reacutealisations mateacuterielles permettent datteacutenuer les probleacutematiques lieacutees agrave ses coucircts supeacuterieurs Possibles travaux futurs Leacutetude des meacutethodes de deacutecodage iteacuteratives peut ecirctre eacutelargie aux autres services UMTS ainsi quagrave dautres systegravemes de communication numeacuterique fixe mobile et satellitaire Cette eacutetude permettra de mieux formuler les avantages apporteacutees par ces deux meacutethodes iteacuteratives La reacutealisation mateacuterielle dun deacutecodeur de Viterbi exploitant la strateacutegie pipeline permettra de mesurer la consommation deacutenergie ainsi que la validation du deacutebit de traitement offertes par cette solution

248

249

Remerciements

Je tiens tout dabord agrave remercier le Professeur Fausto Pellandini pour mavoir accueilli dans son laboratoire de recherche pour mavoir donneacute les moyens de reacutealiser ce travail de thegravese de doctorat ainsi que pour ses preacutecieux conseils Je le remercie eacutegalement pour les excellentes conditions de travail et lambiance stimulante reacutegnant au sein de son laboratoire

Je remercie le Professeur Pierre-Andreacute Farine pour mavoir accordeacute sa confiance et pour sa participation dans le jury de ma thegravese

Je suis tregraves reconnaissant agrave PD Dr Michael Ansorge co-directeur de thegravese pour mavoir suivi conseilleacute et encourageacute pendant toutes ces anneacutees agrave lIMT Je le remercie eacutegalement pour toutes les discussions constructives et pour ses remarques critiques qui mont permis de progresser professionnellement

Merci aux membres du jury de thegravese Je remercie Dr Francesca Vatta pour sa disponibiliteacute pour sa sympathie et pour son encouragement Merci au Dr Alexandre Heubi ancien collegravegue pour ses remarques et corrections tregraves constructives

Je tiens agrave remercier tous les collegravegues et anciens collegravegues de lIMT ainsi que leacutequipe du service administratif pour lagreacuteable ambiance et les conditions de travail optimales creacuteeacutees

Merci eacutegalement aux eacutetudiants et stagiaires qui ont contribueacute au domaine dans le cadre de leurs projets

Finalement je remercie mes grands-parents mes parents mon fregravere et son eacutepouse pour leurs encouragements et leurs indispensables soutiens Je remercie eacutegalement tous mes amis qui contribuent agrave eacutegayer les moments de libre

Un merci particulier au Dr Alain Dufaux au Dr Giuseppina Biundo-Lotito agrave Anne-Lise Kissling-Bah et agrave Seacuteveacuterine Capt pour la relecture de cette thegravese

Ce travail de thegravese a pu ecirctre accompli gracircce aux connaissances eacutelaboreacutees dans le cadre du projet CTI 4238 Joint Wideband Speech and Channel Coding in Wireless Applications reacutealiseacute en collaboration avec la compagnie STMicroelectronics NV et du projet Implementation of a parameterized family of Viterbi Decoders reacutealiseacute avec DSPfactory SA Je suis tregraves reconnaissant agrave M Luigi Grasso pour limportant savoir-faire quil a eu lamabiliteacute de partager lors de la reacutealisation de ce dernier projet

250

251

Annexes

ANNEXE A MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 253

A1 DEacuteCODAGE SEacuteQUENTIEL 253 A11 Fonction de meacutetrique 253 A12 Strateacutegie de recherche Depth-First 254

A2 SYMBOL-BY-SYMBOL MAXIMUM A POSTERIORI ALGORITHM 255 A21 Etablissement du problegraveme 255 A22 Proceacutedeacute 256 A23 Algorithme MAP 257 A24 Deacutecodage de codes convolutifs 258

A3 SOFT OUTPUT VITERBI ALGORITHM (SOVA) 260 A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm 260 A32 Algorithme 261 A33 Complexiteacute de calcul 263

A4 REacuteFEacuteRENCES 263

ANNEXE B ARCHITECTURES UTILISANT UN PROCESSEUR POUR LE TRAITEMENT DU SIGNAL 265

B1 CODES EN BLOC CRC DES STANDARDS UMTS 265 B11 Codage en bloc CRC eacutetabli par les standards UMTS 265 B12 Strateacutegie de deacutetection derreurs 266 B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS 267

B2 PROCEacuteDURE DEacuteVELOPPEacute DE SEacuteLECTION DES CHEMINS LES PLUS FAVORABLES DANS MEacuteTHODE LIST DECODING 268

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees 269 B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et

infeacuterieures 270 B23 Proceacutedure de seacutelection par eacutetablissement

dun seuil de meacutetrique 271 B3 AFFINITEacute ENTRE LIMPLANTATION SOFTWARE ET LARCHITECTURE DU

PROCESSEUR 272 B4 REacuteFEacuteRENCES 273

252

ANNEXE C ARCHITECTURES BASEacuteES SUR CIRCUITS ASIC 275

C1 REacuteALISATION PHYSIQUE DUN DEacuteCODEUR COMPATIBLE AVEC LE STANDARD UMTS 275

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute 275

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits) 276

C2 APPROCHE COPROCESSEUR 278 C21 Solution inteacuteressante 278 C22 Modifications agrave apporter au systegraveme de base 280

C3 REacuteFEacuteRENCES 286

253

Annexe A Meacutethodes pour le deacutecodage des codes convolutifs

A1 Deacutecodage seacutequentiel

La premiegravere meacutethode pour le deacutecodage des seacutequences proteacutegeacutees par les codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft qui a ensuite eacuteteacute reprise et modifieacutee par Fano Dans cette section on preacutesente la fonction de meacutetrique adopteacutee par cette meacutethode ainsi que sa strateacutegie de recherche (compleacutement agrave la description de la Sous-section 521)

A11 Fonction de meacutetrique

La recherche du chemin le plus probable se base sur une fonction de meacutetrique qui est chargeacutee de quantifier la ressemblance entre les symboles reccedilus et ceux geacuteneacutereacutes par le chemin sous analyse En consideacuterant la strateacutegie de recherche la meacutetrique relative agrave un chemin constitueacute de B branches est

( )( ) ( )

1

Bi i

npnp

PM Cmicro=

= minussum (A1)

La contribution de chaque transition (branche) du chemin i agrave la meacutetrique cumuleacutee PM(Si) est en effet constitueacutee de deux parties

bull La premiegravere est repreacutesenteacutee par la meacutetrique de branche micronp La valeur indique le niveau de ressemblance entre les symboles geacuteneacutereacutes par la transition et ceux reccedilus par le deacutecodeur

bull La seconde sidentifie avec la soustraction drsquoune constante positive C [Proa95] La soustraction dune constante C est neacutecessaire afin de permettre une comparaison eacutequitable entre des chemins atteignant des niveaux de profondeurs diffeacuterents

La constante C est choisie de maniegravere agrave mieux diffeacuterencier le comportement de la meacutetrique cumuleacutee du chemin correct par rapport agrave celles des autres chemins Lrsquoeffet deacutesireacute est drsquoobtenir une meacutetrique cumuleacutee qui aura tendance agrave augmenter en suivant seulement le chemin correct

254

A12 Strateacutegie de recherche Depth-First

En comparant transition apregraves transition la meacutetrique cumuleacutee drsquoun chemin candidat avec un seuil de reacutefeacuterence dynamique lrsquoalgorithme de Fano incorpore une proceacutedure de deacutetection des chemins qui pourraient ecirctre incorrects [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin candidat serait suspecteacute decirctre incorrect lrsquoalgorithme changera la direction de la recherche en cherchant un chemin plus prometteur La Figure A-1 montre un exemple graphique de ce principe de recherche Dans cet exemple lalgorithme suit initialement le chemin correct jusqursquoau nœud A A cet endroit lrsquoalgorithme est incapable de continuer vers le nœud D en raison du seuil de reacutefeacuterence repreacutesenteacute par la valeur thA La proceacutedure de recherche drsquoun autre chemin est appeleacutee pour la premiegravere fois Apregraves avoir diminueacute le seuil de reacutefeacuterence agrave la valeur th1 puis agrave la valeur th2 un chemin reacuteputeacute conforme a ainsi eacuteteacute trouveacute par la proceacutedure Le chemin choisi amegravene lrsquoalgorithme dans lrsquoarbre jusqursquoau nœud C ougrave le chemin est estimeacute incorrect La diminution du seuil de reacutefeacuterence jusqursquoagrave valeur th4 permet de reprendre le chemin correct en passant par les nœuds A D et E [Schl97]

thA

D

th1

th2 E

BC

F

thC

th3

th4

A

Niveau deprofondeur np np+1 np+2 np+3 np+4 np+5 np+6 np+7

mes

ure

der

reur

s(M

eacutetriq

ue)

seuil dereacutefeacuterence

chemin correct

Figure A-1 exemple de deacuteroulement de lrsquoalgorithme de Fano [Schl97]

255

A2 Symbol-by-symbol Maximum A Posteriori Algorithm

La meacutethode appeleacutee Symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacutee formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole formant le message (518) [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00]

A21 Etablissement du problegraveme

En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode permet lestimation des probabiliteacutes des transitions et des eacutetats du processus le deacutecodage de codes convolutifs est une des applications possibles Cette sous-section preacutesente tout dabord le principe geacuteneacuteral et ensuite les consideacuterations concernant le cas du deacutecodage convolutif Comme deacutejagrave introduit cette meacutethode modeacutelise le problegraveme agrave reacutesoudre par un processus de Markov Les transitions entre les eacutetats dun processus de Markov sont reacutegleacutees par les probabiliteacutes de transitions

( ) 1 Pr

eacutetat consideacutereacute au niveau de profondeur

np np np

np

p m m s m s m

s npminus

= = = (A2)

et les valeurs de la sortie x des transitions (observables) deacutependent de la probabiliteacute

( ) 1

1

Pr

sortie causeacutee par la transition entre les eacutetats et

np np npnp

np

npnp

q x m m x x s m s m

xs s

minus

minus

= = = =

(A3)

ougrave x appartient agrave un alphabet fini et discret

256

Par rapport agrave la transmission numeacuterique des donneacutees les effets des distorsions sur le signal transmis causeacutes par un bruit sans effet de meacutemoire sont eacutevalueacutes agrave laide de la probabiliteacute de transition Tr[|] (Transition probabilities [Bahl74])

11

1 1

1 1

Pr Tr

symboles reccedilus

symboles transmis

BB

np npnp

BB

BB

R X r x

R R r r

X x x

=

=

=

=

prod (A4)

Selon cette repreacutesentation du problegraveme la meacutethode MAP a pour but lestimation de la probabiliteacute a posteriori (APP) des eacutetats du processus de Markov consideacutereacute

Pr

PrPrnp

nps m R

s m RR

== = (A5)

et de la probabiliteacute APP des transitions parvenues entre ces eacutetats

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (A6)

A22 Proceacutedeacute

Soit une seacutequence de symboles R la probabiliteacute Pr[R] devient ainsi un terme commun aux probabiliteacutes (A5) et (A6) Lobjectif de lalgorithme est ainsi la deacutetermination des deux probabiliteacutes suivantes ( ) Pr np npm s m Rλ

= = (A7)

( ) 1 Pr np npnpm m s m s m Rσ minus

= = = (A8)

Ces probabiliteacutes peuvent ecirctre calculeacutees par lintroduction des trois nouvelles probabiliteacutes α() β() γ() [Bahl74] et [Vuce00] ( ) ( ) ( )np np npm m mλ α β= sdot (A9)

( ) ( ) ( ) ( )1 np np npnpm m m m m mσ α γ βminus= sdot sdot (A10)

257

ougrave ( ) 1Pr np

np npm s m Rα = = (A11)

( ) 1Pr Bnp npnpm R s mβ +

= = (A12)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (A13)

Lalgorithme MAP permet la deacutetermination des probabiliteacutes (A7) et (A8) agrave laide de deux probabiliteacutes α() β() qui preacutesentent les proprieacuteteacutes reacutecursives suivantes (Figure A-2 et Figure A-3) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (A14)

( ) ( ) ( )1 1

np np npm

m m m mβ β γ+ += sdotsum (A15)

la probabiliteacute γ() eacutetant deacutefinie par ( ) ( ) ( ) Trnp np np np

xm m p m m q x m m r xγ

= sdot sdotsum (A16)

A23 Algorithme MAP

Le profil de lalgorithme MAP ayant pour objectif lestimation de la fiabiliteacute Λ (519) des bits formant le message est le suivant [Bahl74][Vuce00]

1 Initialisation Les probabiliteacutes α0(m) et βB(m) ougrave m=0 1 2 hellip 2(k-1)-1 sont initialiseacutees selon les conditions de deacutepart et darrecirct de la proceacutedure de codage

2 Forward Recursion Apregraves larriveacutee des symboles rnp qui ont eacuteteacute

geacuteneacutereacutes par le codage du np-egraveme bit dinformation a) La probabiliteacute γnp(mm) (A16) est calculeacutee en se basant sur la

mesure daffiniteacute entre les symboles reccedilus et ceux geacuteneacutereacutes par la transition entre les eacutetats m et m

b) La probabiliteacute αnp(m) (A14) est ensuite deacutetermineacutee de maniegravere reacutecursive (Figure A-2)

c) Les valeurs αnp(m) et γnp(mm) sont sauvegardeacutees d) Cette eacutetape 2 est reacutepeacuteteacutee jusquagrave la reacuteception de toute la seacutequence

de symboles R

258

m

m

m

( )1 np mα minus

( )1 np mα minus

( )np mα( )np m mγ

( )np m mγ

Figure A-2 repreacutesentation graphique de la mise agrave jour de la probabiliteacute α() [Vuce00]

3 Backward Recursion Apregraves avoir reccedilu linteacutegraliteacute de la seacutequence de

symboles R on entame cette troisiegraveme proceacutedure Pour np=B-1 B-2 hellip 0

a) La probabiliteacute βnp(m) est calculeacutee selon leacutequation (A15) (Figure A-3)

b) Les probabiliteacutes λnp(m) et σnp(mm) peuvent ecirctre ainsi deacutetermineacutees selon les formules (A7) et (A8)

m

m

m

( )1 np mβ +

( )1 np mβ +

( )np mβ( )1 np m mγ +

( )1 np m mγ +

Figure A-3 repreacutesentation graphique de la mise agrave jour de la probabiliteacute β() [Vuce00]

A24 Deacutecodage de codes convolutifs

Le contexte du deacutecodage de codes convolutifs implique en particulier que

bull La probabiliteacute de la transition Tr[brvbar] (A16) tient compte de la modeacutelisation de la distorsion affectant le canal de transmission Elle peut se baser soit sur la distance de Hamming soit sur une fonction euclidienne

259

bull La probabiliteacute de la valeur de sortie xnp associeacutee agrave la transition entre deux eacutetats qnp(xnp|mm) (A16) est normalement une fonction deacuteterministe invariable dans le temps (time-invariant) et deacutependante de la transition Dans ce contexte cette valeur xnp regroupe le n bits de sortie du codeur convolutif

bull Si la proceacutedure de codage eacutetablit une initialisation de la meacutemoire du codeur etou lutilisation de bits de terminaison linitialisation de la proceacutedure MAP doit prendre en consideacuteration ces informations

( ) ( )( ) ( )

0 0eacutetat de deacutepart 1 and 0for eacutetat de deacutepart

eacutetat finale 1 and 0for eacutetat finaleB B

m m

m m

α α

β β

= = ne

= = ne

bull La tacircche speacutecifique du deacutecodage de codes convolutifs est lestimation

des bits ou des symboles contenus dans le message envoyeacute La mesure de la fiabiliteacute Λ

( ) npnp

np

Regravegle de Bayes np

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Pr info bit =1 Slog

Pr info bit =0 S

Λ =

=

(A17)

peut ecirctre obtenue par moyen des probabiliteacutes

np

( )

Pr info bit ( )nptransition m mimpliquant i

i R m mσ=

= = sum

npinfo bit

(A18)

La fiabiliteacute Λ peut ecirctre ainsi formuleacutee [Vuce00]

( )( ) ( ) ( )

( ) ( ) ( )

11

( )np 0

1( )

info bit log

np npnpm m

np npnpm m

m m m m

m m m m

α γ β

α γ β

minus

minus

sdot sdotΛ =

sdot sdot

sumsum

(A19)

ougrave

( ) np 1 Pr info bit inp np np npm m i s m r s mγ minus

= = = = (A20)

260

A3 Soft Output Viterbi Algorithm (SOVA)

Comme deacutejagrave introduit certaines applications demandent une information suppleacutementaire sur la proceacutedure de deacutecodage (fiabiliteacute Λ) Cependant bien que lalgorithme de Viterbi preacutesente de bonnes qualiteacutes algorithmiques et de deacutecodage agrave lorigine il nest pas preacutevu pour cette tacircche Le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute et plusieurs meacutethodes ont eacuteteacute deacuteveloppeacutees [Forn73] [Hage95] [Vale98] [Vuce00] Ce concept envisage la modification de lalgorithme de Viterbi de maniegravere agrave le rendre capable de produire une estimation de la fiabiliteacute Λ

A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm

Lalgorithme qui est briegravevement preacutesenteacute est la meacutethode Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] qui offre lavantage dune simpliciteacute de compreacutehension et dimplantation Cette meacutethode estime la fiabiliteacute Λ du np-egraveme bit en consideacuterant le rapport existant entre la meacutetrique du chemin globalement le plus probable et celle du meilleur chemin qui sest eacutecarteacute de ce chemin agrave la profondeur np-1 (Figure 5-8) Ce second chemin repreacutesente le meilleur chemin impliquant linversion de la valeur du np-egraveme bit agrave partir du chemin globalement le plus probable Les deux meacutetriques consideacutereacutees sont ainsi les suivantes

npnp

np-1

npnp

np-1

(chemin info Bit 0)(info Bit 0)chemin bestChemins

(chemin info Bit 1)(info Bit 1)chemin bestChemins

max

max

best

best

PM PM

PM PM

==isin

==isin

=

= (A21)

ougrave la classe tbestChemins indique les chemins qui suivent le chemin le plus probable jusquagrave la profondeur np En supposant que les probabiliteacutes agrave posteriori du np-egraveme bit sont fonction de ces meacutetriques

np

np

(info Bit 1)np

(info Bit 0)np

log Pr info bit =1S

log Pr info bit =0 S

best

best

PM

PM

=

=

prop

prop (A22)

261

la fiabiliteacute Λ peut ecirctre estimeacutee selon la diffeacuterence qui existe entre les valeurs de ces deux meacutetriques

( )

np np

npnp

np

(info Bit 1) (info Bit 0)

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Best BestPM PM= =

Λ =

= minus (A23)

chemins non retenuschemins survivants

chemin le plus probable

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

np=7

reacutecursion en avant reacutecursion en arriegravere

Chemin B

Chemin A

Figure A-4 exemple graphique de lestimation de la fiabiliteacute Λ du quatriegraveme bit par lrsquoalgorithme Bidirectional SOVA Lestimation utilise ainsi les meacutetriques du chemin A (chemin globalement le plus probable) et du chemin B (le meilleur chemin qui sest seacutepareacute agrave partir de la profondeur np=3)

A32 Algorithme

La meacutethode bidirectionnelle peut ecirctre reacutesumeacutee par les tacircches suivantes [Vuce00] 1) Reacutecursion en avant (Forward Recursion) Lobjectif est lidentification du

chemin globalement le plus prometteur en exploitant la notion de survivant Cette reacutecursion coiumlncide avec lalgorithme de Viterbi

262

a) Les meacutetriques cumuleacutees des eacutetats sont initialiseacutees selon les connaissances (agrave priori) des conditions de deacutepart du processus analyseacute

b) La variable np1 est mise agrave zeacutero Cette variable concerne la progression de cette reacutecursion dans le treillis

c) Pour chaque nœud agrave la profondeur np1+1 i) les chemins convergeants dans le nœud sont identifieacutes ii) leurs meacutetriques cumuleacutees PMnp1 sont calculeacutees agrave lrsquoaide des

meacutetriques de branche et des anciennes meacutetriques cumuleacutees iii) le chemin survivant est ainsi seacutelectionneacute iv) la valeur de la meacutetrique cumuleacutee du chemin survivant est assigneacutee

au nœud v) les informations neacutecessaires agrave la reconstruction de ce chemin sont

sauvegardeacutees d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (t1=B) en

increacutementant de 1 le niveau de profondeur np1

2) Reacutecursion en arriegravere (Backward Recursion) Son but est le calcul des contributions minimales dues agrave la prolongation des chemins (agrave chaque niveau de profondeur et pour chaque nœud) a) Les meacutetriques cumuleacutees des eacutetats finaux sont initialiseacutees selon les

conditions de terminaison du processus analyseacute b) Le nombre de symboles B du message est assigneacute agrave la variable np2

Cette variable indique la progression de cette reacutecursion dans le treillis c) Pour chaque nœud agrave la profondeur np2-1

i) les prolongations du chemin lieacute au nœud analyseacute sont identifieacutees ii) la contribution agrave la meacutetrique cumuleacutee de chaque prolongation i

2 2

2

( ) ( ) ( ) ( )1( 1)

1

i i i iS S S Snpnp B npnp B

B

np npPM PM micromicrorarr +minus rarr

+= +

== sum (A24)

est calculeacutee agrave lrsquoaide de la meacutetrique de branche micro(Si)

iii) cette valeur est retenue et assigneacutee au nœud d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave ce que le deacutebut du treillis de recherche

soit atteint (t2=0) Le niveau de profondeur np2 est deacutecreacutementeacute de 1 3) Estimation de la fiabiliteacute Λ

a) La variable np3 responsable du positionnement dans le treillis est initialiseacute agrave 1

b) A la profondeur np3 i) le chemin le plus probable est identifieacute

263

ii) le meilleur chemin qui seacuteloigne au niveau de profondeur np3 du meilleur chemin est ensuite deacutetermineacute

iii) sa meacutetrique est calculeacutee en utilisant les valeurs de meacutetrique cumuleacutee PMnp3 de la contribution PM(np3+1)rarrB et de la meacutetrique de branche micronp3

iv) la fiabiliteacute Λ du np3-egraveme bit est ainsi estimeacutee en utilisant les valeurs des meacutetriques des deux chemins

c) Cette eacutetape b) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (np3=B) en increacutementant la variable np3= np3+1

Normalement les tacircches relatives agrave la reacutecursion en arriegravere et agrave lrsquoestimation de la fiabiliteacute sont exeacutecuteacutees simultaneacutement reacuteduisant la complexiteacute totale de la meacutethode [Vuce00]

A33 Complexiteacute de calcul

Du point de vue de la complexiteacute de calcul une analyse superficielle de cette meacutethode SOVA bidirectionnelle met en eacutevidence que

bull La reacutecursion en avant est eacutequivalente agrave lalgorithme de Viterbi bull La proceacutedure de reacutecursion en arriegravere utilise la mecircme structure que

lalgorithme de Viterbi agrave lexception de lopeacuteration de stockage des informations pour la reconstruction des chemins survivants La complexiteacute est donc reacuteduite par rapport agrave lalgorithme de Viterbi

bull La complexiteacute de lestimation de la fiabiliteacute peut ecirctre reacuteduite en inteacutegrant cette fonction agrave la reacutecursion en arriegravere [Vuce00]

Par conseacutequent dans le contexte dune deacutecision ferme on peut sattendre agrave une complexiteacute totale seacutelevant approximativement agrave 15 fois la complexiteacute de lalgorithme de Viterbi pour le deacutecodage du mecircme message [Vuce00] En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la charge de calcul de lalgorithme de Viterbi

A4 Reacutefeacuterences

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

264

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

265

Annexe B Architectures utilisant un processeur pour le traitement du signal

B1 Codes en bloc CRC des standards UMTS

En raison de lincapaciteacute des meacutethodes de deacutecodage convolutif agrave deacutefinir les conditions derreurs garantissant un deacutecodage correct (sans limiter le potentiel de correction) le standard UMTS [Ts25212] met agrave disposition une seacuterie de codeurs en bloc

B11 Codage en bloc CRC eacutetabli par les standards UMTS

Les codeurs mis agrave disposition sont quatre codes CRC systeacutematiques diffeacuterents (Table B-1) qui permettent un choix optimal et adeacutequat agrave chaque contexte de codage Codeur Longueur

[bits] Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

gCRC24(X) 24 X24 + X23 + X6 + X5 + X + 1 (223-1 223-25) 4 (1)

gCRC16(X) 16 X16 + X12 + X5 + 1 (32767 32752) 4 (1)

gCRC12(X) 12 X12 + X11 + X3 + X2 + X + 1 (2047 2035) 4 gCRC8(X) 8 X8 + X7 + X4 + X3 + X + 1 (127 119) 4 (1) Lutilisation dun message de 1000 bits a permis lobservation dune distance minimale de 4

Table B-1 vue densemble des codes cycliques (CRC) mis agrave disposition pour la structure de codage de canal UMTS

Le standard UMTS [Ts25212] modifie par contre la concateacutenation des bits du code CRC qui doit seffectuer dans lordre inverse Le but de cette inversion est de garantir le fonctionnement correct de la tacircche de blind rate detection56

56 La fonction de Blind rate detection peut ecirctre utiliseacutee pour la deacutetection du format utiliseacute

pour le transport (Transport Format) lorsque lindicateur de la combinaison de format (Transport Format Combination Indicator TFCI) nest pas transmis Le principe

266

[NttD99] en empecircchant des situations dincertitude par rapport agrave la taille du message (Figure B-1)

CRCMessage

XXX 0 YYY 0

CRCMessage

XXX 0 YYY 0

Cas A

Cas B

Figure B-1 exemple dune situation dincertitude causeacutee par un attachement de bits de pariteacute de maniegravere deacutecroissante (approche classique)

B12 Strateacutegie de deacutetection derreurs

La deacutetection derreurs peut saccomplir selon deux strateacutegies [Pres92] [Proa95] [Will99] La premiegravere suit lapproche classique du deacutecodage du message A partir de la valeur reacutesultante par ce deacutecodage valeur qui est nommeacutee syndrome (Syndrome) labsence derreur peut ecirctre soit valideacutee soit mise en doute La seconde strateacutegie exploite par contre la proprieacuteteacute systeacutematique de ces codages agrave partir du message sous analyse les bits de pariteacute sont re-calculeacutes et compareacutes avec ceux reccedilus Cette derniegravere strateacutegie a eacuteteacute adopteacutee pour les implantations software de cette eacutetude La complexiteacute lieacutee au calcul des bits de pariteacute (Table B-2) peut ecirctre simplifieacutee par lutilisation dune table contenant les valeurs des bits de pariteacute preacute-calculeacutees sur 8 bits (encodeur de type Table-Driven [Will99]) Cette implantation a eacuteteacute choisie en preacutevision dune utilisation successive dans des meacutethodes iteacuteratives de deacutecodage

implique le deacutecodage systeacutematique du message en consideacuterant une gamme de tailles diffeacuterentes les bits de pariteacute CRC sont ensuite utiliseacutes pour la validation du message

267

Nombre moyen drsquoopeacuterations observeacutees

Format des variables

32 bits 16 bits 8 bits Total Additions 0 1 1 Increacutementations 0 14 14 Soustractions 0 10 10 Multiplications 0 0 0 Divisions 0 0 0 Transferts de Donneacutees 1 4 5 Logique 36 2 13 51 Deacutecalages 58 2 1 61 Controcircles 27 27 Pointeur assignations 1 1 Pointeur arithmeacutetique 0 Boucle initialisations 0 1 1 Boucle controcircles 11 11 Boucle increacutementations 0 10 10 Grand total 192

Table B-2 charge de calcul de la tacircche de deacutetection derreurs (code CRC utilisant 12 bits de pariteacute) Paramegravetres les 500 messages utiliseacutes sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les valeurs montrent des eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les opeacuterations deacutefinies par les organisations ITU et ETSI

B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS

Concernant la faisabiliteacute des techniques de deacutecodage iteacuteratif une eacutevaluation des performances des codes CRC confirme que les capaciteacutes de deacutetection derreurs sont supeacuterieures agrave celles des codes preacuteceacutedemment utiliseacutes dans le standard GSM (Table B-3 et Table B-4) Cette constatation rend les techniques de deacutecodage iteacuteratif attrayantes Toutefois lefficaciteacute dun tel deacutecodage est soumise au rapport existant entre les caracteacuteristiques de la transmission de donneacutees (nombre et reacutepartition des erreurs de transmission) la taille des messages les potentialiteacutes de deacutetection du code CRC utiliseacute et le nombre diteacuterations de recherche du message correct Comme deacutejagrave citeacute le beacuteneacutefice dun tel deacutecodage dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute limiteacute par un nombre consideacuterable de cas de fausses validations causeacutes par une capaciteacute de deacutetection reacuteduite du code en bloc utiliseacute (dmin de 2 Table B-4) par rapport aux caracteacuteristiques de lapplication [Kuumlhn97]

268

Codeur [ETSI909]

Longueur [bits]

Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

TCHEFS 8 X8 + X4 + X3 + X2 + 1 (255 247) 3 TCHFS-HS-EFS 3 X3 + X + 1 (7 4) 2

Table B-3 vue densemble des codes cycliques utiliseacutes par les standards GSM

Nombre observeacute de messages codeacutes avec poids wi de Messages

100 bits 1 2 3 4 5 6 7 8 9

Codeurs CRC UMTS CRC 8-bit 0 0 0 22105 0 45106 0 55108 0CRC 12-bit 0 0 0 19103 0 37105 0 50107 0CRC 16-bit 0 0 0 27102 0 31104 0 44106 0CRC 24-bit 0 0 0 70102 0 25104 0 89105 0

Codeur CRC GSM CRC 3-bits 0 46102 12104 24105 39106 51107 57108 hellip hellipCRC 8-bits 0 0 82102 21104 44105 75106 11108 hellip hellip

Table B-4 vue densemble des performances des codes CRC relatifs aux standards UMTS [Ts25212] et GSM [ETSI909] Le fond gris met en eacutevidence la distance minimale observeacutee des codes Paramegravetres messages contenant 100 bits dinformation meacutethode de recherche par ordinateur

B2 Proceacutedure deacuteveloppeacute de seacutelection des chemins les plus favorables dans meacutethode List Decoding

Une proceacutedure de seacutelection exploitant la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee Lobjectif est la deacutetermination du seuil permettant la seacuteparation des valeurs de meacutetrique en deux sous-ensembles eacutegaux (voir Sous-Section 674 Figure 6-23) Ce principe est baseacute sur lobservation dune forte concentration des valeurs de meacutetriques cumuleacutees due agrave une diffeacuterence maximale entre les meacutetriques qui est reacuteduite et stable pendant le deacutecodage (Figure 6-24)

269

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees

A partir de la valeur de la meacutetrique cumuleacutee dun chemin (que dans ce contexte on nomme geacuteneacuterateur) on peut deacuteterminer la limite infeacuterieure et supeacuterieure des chemins qui se propageront ensuite depuis ce chemin (Figure B-2) La deacutetermination des limites prend en consideacuteration deux chemins

bull le chemin qui se propage dans les meilleures conditions de transmission (en labsence derreurs de transmission) et

bull celui qui se propage en cumulant le nombre maximal derreurs Par conseacutequent eacutetant donneacute une meacutetrique de branche baseacutee sur la pure distance de Hamming la limite infeacuterieure coiumlncide de maniegravere univoque avec la meacutetrique cumuleacutee du chemin geacuteneacuterateur (Figure B-2) De maniegravere analogue lestimation de la limite supeacuterieure doit assumer agrave chaque transition de niveau la contribution maximale de la meacutetrique de branche (MaxContribBranche) Par conseacutequent agrave la profondeur np1 les meacutetriques de ces chemins sont comprises dans les limites ( )( )1 np npMetrGen MetrGen MaxContribBranche np np +

sdot minus (B1)

ougrave MetrGennp est la meacutetrique cumuleacutee du chemin geacuteneacuterateur En consideacuterant la situation de la seacutelection des L chemins les plus prometteurs dans une liste de 2L chemins la preacutesence dautres chemins (qui deacutecoulent dautres chemins geacuteneacuterateurs agrave la mecircme profondeur np) ne modifie pas les limites (B1) si

1 Au niveau de profondeur np le chemin geacuteneacuterateur qui est utiliseacute pour la deacutetermination des limites montre la meacutetrique cumuleacutee la plus favorable et

2 Au niveau de profondeur np1 le nombre de chemins produits par chaque chemin geacuteneacuterateur deacutepasse ou eacutequivaut agrave 2L

Ducirc aux effets de lopeacuteration de seacutelection des chemins les plus favorables agrave partir de la profondeur ( )2 2 log 2np np L

= + sdot (B2)

270

(point 2) les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner sont comprises dans les limites (B1) qui contiennent les valeurs les plus favorables Ces limites sont eacutevidemment deacutetermineacutees par le chemin geacuteneacuterateur le plus favorable (point 1)

meilleur cheminagrave laprofondeur np S00

S10

S00

S11

S01

S10

S00

profondeur np np+1 np+(longueur decontrainte -1)

S11

S01

S10

S00

S11

S01

S10

S00

estimationde leacutecarts

estimationde leacutecarts

estimationde leacutecarts

valeur de lameacutetriquecumuleacutee

Figure B-2 exemple de propagation des chemins qui se produit depuis le meilleur chemin agrave la profondeur np Code avec longueur de contrainte de 3

B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et infeacuterieures

Par rapport agrave une situation dynamique les limites agrave la profondeur np2+1 peuvent ecirctre ainsi estimeacutees par la formule (B1) en utilisant la meacutetrique cumuleacutee soit du meilleur chemin agrave la profondeur np soit de celui agrave la profondeur np+1 (Figure B-3)

271

chemin le plusprometteur

chemin le plusprometteur

niveau deprofondeur np

np+1 np2=np+3np+2

L=4

estimation deslimites desmeacutetriquescumuleacutees

estimation deslimites desmeacutetriquescumuleacutees

np2+1=np+4

L=4

Figure B-3 repreacutesentation graphique de la preacutediction des limites supeacuterieures et infeacuterieures des meacutetriques cumuleacutees

Lutilisation des informations de meacutetriques plus reacutecentes permet eacutevidemment dobtenir une estimation plus preacutecise des limites Par conseacutequent bien que les meacutetriques cumuleacutees aient tendance agrave augmenter en preacutesence derreurs de transmission (Figure 6-24) cette strateacutegie destimation met en eacutevidence la stabiliteacute de la diffeacuterence maximale entre les meacutetriques On peut ainsi fixer que la diffeacuterence maximale entre les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner est de ( )2log 2 dmm MaxContribBranche L

= sdot sdot (B3)

B23 Proceacutedure de seacutelection par eacutetablissement dun seuil de meacutetrique

Les conseacutequences de cette estimation des limites sont importantes on sait que les 2L meacutetriques cumuleacutees montrent un eacutecart reacuteduit preacutevisible et indeacutependant du niveau de profondeur

272

A partir de la meacutetrique cumuleacutee momentaneacutement la plus favorable (BestMetrnp) on peut en effet estimer la limite infeacuterieure et supeacuterieure des meacutetriques des 2L chemins qui atteindront le niveau de profondeur suivant np tBestMetr BestMetr dnn MaxContribBranche

+ + (B4) La concentration des valeurs permet ainsi le deacuteveloppement dune proceacutedure de seacutelection utilisant la distribution des meacutetriques cumuleacutees Son principe est la deacutetermination dun seuil qui deacutelimite les L meacutetriques les plus favorables (Figure 6-23) en eacutetablissant la statistique des 2L nouvelles meacutetriques cumuleacutees

B3 Affiniteacute entre limplantation software et larchitecture du processeur

La Table B-5 met en eacutevidence limportance dune description par langage agrave haut niveau adapteacutee aux caracteacuteristiques architecturales du processeur utiliseacute Cette table montre les vitesses dexeacutecution des meacutethodes dont les implantations visent diffeacuterentes plates-formes Bien que ces reacutesultats valident les potentialiteacutes et les expectatives des diverses meacutethodes limportance du style de la description du code est facilement observable

273

Nombre minimal de cycles [cycles]

Type de processeur (32 Bits) Pentium Intel Family 5 Celeron Intel Family 6

Meacutethodes (sans troncation de la meacutemoire)

Plates-formes viseacutees [Bits] Nombre

de cycles Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Nombre de cycles

Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Algorithme de Viterbi

32 1744035 246 283 1260355 177 205

Validation CRC - 2770 - - 2800 - -L=2 2256022 307 351 1833843 249 286L=4 2320739 314 359 1909380 258 296L=8 2343000 313 358 1936016 259 296

List Viterbi Decoding

L=16

mixte 1632

2386972 312 355 2050829 268 305L=32 609350 323 305 519173 275 260L=64 1156162 330 313 1002946 287 272

L Decoding inteacutegr la val CRC

L=128

16

2313910 346 328 1919995 287 272

Proceacutedure dacquisition du nombre de cycles (rdTSC)

46 181

() Leacutevaluation de la complexiteacute de calcul WCwOPS (extension de la mesure wOPS de lITUETSI) vise des plates-formes agrave 16 bits

Table B-5 vue densemble des performances indicatives en termes de temps dexeacutecution Le contexte de codage concerne la structure de protection des bits appartenant agrave la classe A du service de parole AMR-NB agrave 122kbps (codes concateacuteneacutes en seacuterie) La proceacutedure deacutevaluation se base sur lutilisation du compteur read-time stamp counter (RDTSC) [Inte97]

B4 Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Inte97] Intel Corporation Using the RDTSC Instruction for Performance Monitoring notes dapplication page Internet acceacutedeacutee au printemps 2001

274

httpdevelopperintelcomdrgpentiumIIappnotesRDTSCPM1HTM [Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based

Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

275

Annexe C Architectures baseacutees sur circuits ASIC

C1 Reacutealisation physique dun deacutecodeur compatible avec le standard UMTS

Comme deacutecrit preacutealablement lutilisation du systegraveme de base dans le contexte de codage UMTS neacutecessite la modification de sa conception afin de supporter la proceacutedure dadaptation du deacutebit de transmission et dexploiter les bits de terminaison [Ts25212] Ces modifications sont briegravevement preacutesenteacutees et discuteacutees

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute

Les standards UMTS preacutevoient lemploi dune proceacutedure dadaptation du deacutebit de transmission La conception du systegraveme de base doit ainsi se conformer agrave ce contexte de deacutecodage en modifiant la reacutealisation mateacuterielle du module chargeacute du calcul des meacutetriques des branches (BMu)

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques de branchessymboles reccedilus

Informations sur la proceacutedure

dadaptation du deacutebit detransmission

Figure C-1 calcul des meacutetriques de branche dans un contexte de deacutecodage preacutevoyant ladaptation du deacutebit de transmission

Ce module doit fournir les valeurs des meacutetriques cumuleacutees en suivant les indications relatives agrave la reacutepeacutetition et agrave leacutelimination (poinccedilonnage) des bits de la proceacutedure dadaptation (Section 32) Ainsi il doit ecirctre capable de traiter correctement

276

bull Un symbole qui na subi aucun traitement par la fonction dadaptation du deacutebit de transmission

bull Un symbole qui a eacuteteacute eacutelimineacute Ce symbole doit ecirctre pratiquement ignoreacute vu quil napporte aucune information valable sur la proceacutedure de codage

bull Un symbole reacutepeacuteteacute En fonction de la strateacutegie adopteacutee (au niveau du systegraveme entier de deacutecodage de canal UMTS) ces indications peuvent ecirctre soit inteacutegreacutees au moyen dune nouvelle repreacutesentation digitale des symboles soit transmises au module par un moyen de transmission physiquement seacutepareacute de celui des symboles (Figure C-1) Lutilisation dun bloc fonctionnel interposeacute (entre la chaicircne de deacutecodage de canal UMTS et le systegraveme de base non-modifieacute) ne permet pas lexploitation exhaustive des informations dadaptation du deacutebit de transmission

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits)

Afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message les standards UMTS [Ts25212] preacutevoient lemploi dune seacuterie de zeacuteros comme bits de terminaison (Figure C-2) Ces valeurs creacuteent des conditions darrecirct de la proceacutedure de codage et deacuteterminent lidentiteacute de leacutetat final de la meacutemoire du codeur (Figure C-3) Importance de leacutetat darrecirct de la proceacutedure de codage Lexploitation des informations des bits de terminaison ne modifie pas le deacuteroulement de lalgorithme de Viterbi jusquau moment du traitement des symboles geacuteneacutereacutes par leur codage A ce moment lalgorithme dispose dinformations preacutecises sur la valeur de ces derniers bits ce qui permet lameacutelioration de la qualiteacute de protection des derniers bits dinformations du message (Figure C-2) Ces informations peuvent bien entendu ecirctre neacutegligeacutees (afin deacuteviter laugmentation de la complexiteacute de la tacircche de seacutelection du chemin pour la prise de deacutecision) mais seulement au deacutetriment de la qualiteacute de protection Le choix dun chemin inexistant pour le deacutecodage (Figure C-3) augmente en effet les risques dune prise de deacutecision incorrecte Le choix crucial est surtout celui

277

du chemin final vu quil est responsable de la prise de deacutecision des derniers δ-(longueur de contrainte-2) bits du message

Figure C-2 exemple de la qualiteacute de protection des derniers bits du message La graphie bleue en trait fin indique la qualiteacute obtenue par le respect des conditions finales de codage Les autres graphies repreacutesentent la qualiteacute obtenue en enfreignant ces conditions linobservance des conditions finales mais lutilisation de leacutetat final correct (verte en trait gras) et linfraction totale des conditions finales de codage (rouge en trait fin) Simulation software utilisant 200000 messages de 500 bits 8 bits de terminaison EbN0=00 dB δ=54 code UMTS avec Rc=13

Solution pragmatique Dans le cas dune prise de deacutecision baseacutee sur les chemins les plus prometteurs la conception du systegraveme doit preacutevoir une augmentation de la complexiteacute de la proceacutedure de seacutelection du meilleur chemin ou une deacutegradation de la qualiteacute de protection des derniers bits du message Un bon compromis est linfraction partielle des conditions de terminaison de la proceacutedure de codage lexeacutecution normale de lalgorithme de Viterbi avec lutilisation de leacutetat final correct pour la prise de deacutecision des derniers bits du message Cette solution peut ecirctre reacutealiseacutee soit par la reacutepeacutetition de lopeacuteration de prise de deacutecision utilisant le mecircme eacutetat final soit par une prise de deacutecision multiple (Figure C-8) qui fournit toutes les valeurs des derniers δ-(longueur de contrainte-2) bits du message

278

Dans le cas dune prise de deacutecision par deacutecodage dun chemin quelconque lutilisation systeacutematique du chemin atteignant leacutetat zeacutero garantit une proceacutedure toujours conforme aux conditions darrecirct eacutetablies par le standard UMTS (Figure C-4)

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B+2

Bits de terminaison

S11

S10

S01

S00

S11

S10

S01

S00

δ

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-3 illustration graphique du deacuteroulement de la proceacutedure de deacutecodage lors de lutilisation des bits de terminaison Dans cet exemple les bits de terminaison sont formeacutes par une seacuterie de zeacuteros

C2 Approche coprocesseur

C21 Solution inteacuteressante

Lanalyse des architectures deacutedieacutees agrave la communication mobile montre quune approche coprocesseur est une solution inteacuteressante [Gath02] Cette solution est surtout inteacuteressante dans la situation actuelle ougrave lon demande un degreacute de flexibiliteacute eacuteleveacute (jeunesse des standards 3G) ainsi quune importante puissance de calcul Le circuit ASIC peut ainsi apporter la puissance de calcul neacutecessaire alors que le DSP fournit tous les avantages lieacutes agrave un dispositif programmable tels que la flexibiliteacute la gestion des diffeacuterentes fonctionnaliteacutes la rapiditeacute dimplantation dinteacutegration et de validation

279

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B-1+ longueurde contrainte -1

S11

S10

S01

S00

S11

S10

S01

S00

δ

eacutetat dont le chemin survivant estutiliseacute par la proceacutedure de prise dedeacutecision

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

Bits de terminaison

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-4 adaptation de la proceacutedure de deacutetermination dun chemin quelconque au contexte dune utilisation des bits de terminaison Dans cet exemple les bits de terminaison coiumlncident avec une seacuterie de zeacuteros

Les deux strateacutegies demploi du coprocesseur sont [Gath02]

bull Tightly Coupled Coprocessor (TCC) Les tacircches exeacutecuteacutees par ces coprocesseurs peuvent ecirctre consideacutereacutees comme des extensions du jeu dinstruction du DSP En effet le DSP initialise une tacircche sur le coprocesseur qui lexeacutecute en un intervalle de temps correspondant agrave quelques cycles dinstruction du DSP Pendant ce temps le DSP nexeacutecute (normalement) aucune autre tacircche

bull Loosely Coupled Coprocessor (LCC) Dans ce cas le genre de tacircche exeacutecuteacutee par le coprocesseur est plus une sous-routine quune simple instruction Lexeacutecution prendra ainsi plusieurs cycles dinstruction du DSP Pour cette raison lutilisation efficace dun tel coprocesseur preacutevoit le fonctionnement parallegravele de deux eacuteleacutements agrave savoir le DSP et le coprocesseur

280

Lapproche coprocesseur permet de franchir les limites de souplesse de la reacutealisation ASIC en beacuteneacuteficiant des services dun dispositif programmable Cette approche preacutevoit ainsi la reacutepartition des diverses tacircches du deacutecodage entre le DSP et le coprocesseur de maniegravere agrave charger le processeur des tacircches neacutecessitant un niveau de souplesse supeacuterieur et agrave attribuer au coprocesseur celles neacutecessitant un nombre eacutelegraveve dopeacuterations (Figure C-5)

calcul desmeacutetriques de

branches(BMu)

mise agrave jour des meacutetriquescumuleacutees et seacutelection des

survivants (ACSu)

deacutecodage du chemin choisi(TBu)

seacutelection duchemin(BPS)

np-egravemeobservation rnp

deacutecisionsurle bit np-δ

meacutetriquescumuleacutees

survivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

DSP

Coprocesseur

controcircles

Figure C-5 proposition dune reacutepartition des tacircches entre le DSP et le coprocesseur

C22 Modifications agrave apporter au systegraveme de base

Dans cette sous-section les implications dune approche souple sur la conception du systegraveme de base sont briegravevement traiteacutees Pour rester dans un discours geacuteneacuteral aucun type preacutecis dapproche coprocesseur (TCC ou LCC) ne sera discuteacute dans cette sous-section La Table C-1 rassemble les paramegravetres du systegraveme de base Ces paramegravetres augmentent le degreacute de souplesse de la reacutealisation mateacuterielle en ladaptant au contexte de codage viseacute Calcul des meacutetriques de branche (BMu) Cest le module le plus deacutependant des paramegravetres deacutecrivant le codeur convolutif et la configuration du systegraveme dans lequel le deacutecodeur travaille En effet tout petit changement de la situation de codage tel que la modification

281

du rendement du code ou lutilisation dune fonction dadaptation du deacutebit de transmission implique la modification de sa conception

Paramegravetre Module(s) impliqueacute(s) Fonctions geacuteneacuteratrices Uniteacute BM Longueur de contrainte Uniteacutes BM ACS BPS et TB Le rendement du code Rc Uniteacutes BM et ACS Adaptation du deacutebit de transmission Uniteacute BM Condition de deacutepart de la proceacutedure de deacutecodage Uniteacute ACS Condition darrecirct de la proceacutedure de deacutecodage Uniteacute BPS Type de deacutecision (ferme ou pondeacutereacutee) Uniteacutes BM et ACS

Table C-1 paramegravetres permettant ladaptation de la meacutethode de deacutecodage aux divers contextes de codage

En raison de cette forte demande de souplesse on peut envisager de charger le DSP du calcul de toutes les meacutetriques de branches et de leur livraison au coprocesseur en tenant compte de la configuration du systegraveme dans lequel le deacutecodeur travaille des caracteacuteristiques du codeur convolutif utiliseacute ainsi que de lexploitation de meacutethodes dadaptation du deacutebit de transmission Un exemple dune telle approche est le coprocesseur Viterbi du DSP TMS320C6416 de Texas Instruments [Spru533] Il faut remarquer que le degreacute de souplesse est deacutetermineacute par la repreacutesentation numeacuterique des meacutetriques de branches (nombre de bits agrave disposition et interpreacutetation des valeurs) Seacutelection des chemins survivants (ACSu) Les deux paramegravetres principaux sont le nombre duniteacutes ACS et la repreacutesentation numeacuterique des meacutetriques de branches (Figure C-6) Selon lapproche de seacutelection parallegravele des chemins survivants le nombre duniteacutes de seacutelection ACS deacutetermine la longueur de contrainte maximale des codes convolutifs supportables Ladaptation aux autres contextes de codage moins exigeants (longueur K infeacuterieure) peut seffectuer par lintroduction dun bloc fonctionnel suppleacutementaire qui se charge de la bonne gestion des ressources Sa tacircche est lactivation des uniteacutes ACS effectivement impliqueacutees dans le deacutecodage ainsi que lassignation correcte des vieilles meacutetriques cumuleacutees (Figure C-6)

282

basc

uleslogique

combinatoire

ACS0

ACS1

ACSM-1

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations surles cheminssurvivants

horloge

nombre deacutetats

Normalisation

logiquecombinatoire

initialisation Figure C-6 exemple de structure parallegravele utilisable pour une approche souple

La repreacutesentation numeacuterique des meacutetriques cumuleacutees doit ecirctre eacutetablie en consideacuterant la repreacutesentation des meacutetriques de branches et le nombre maximal deacutetats M que le systegraveme peut traiter (Sous-section 734) Lopeacuteration de normalisation des meacutetriques cumuleacutees garantit le deacuteroulement correct de lalgorithme tout en limitant le nombre de bits de la repreacutesentation numeacuterique La reacutealisation de ce module doit aussi permettre linitialisation des valeurs des meacutetriques cumuleacutees selon les exigences de chaque contexte de codage ce qui ameacuteliore la capaciteacute dadaptation (exemple [Spra750]) Deacutesignation du chemin le plus favorable (BPSu) La reacutealisation physique de ce module deacutepend principalement du type de critegravere utiliseacute pour la deacutesignation du chemin (chemin le plus probable ou un chemin quelconque) Sa conception doit maintenant consideacuterer une situation caracteacuteriseacutee aussi bien par un nombre variable de chemins survivants que par des conditions darrecirct diffeacuterentes de la proceacutedure de codage (exemple Figure C-7)

283

comparaison

nombre deacutetats

eacutetat dedeacutepartcomparaison

comparaison

comparaison

comparaison

Figure C-7 reacutealisation du module exeacutecutant la seacutelection du meilleur chemin en tenant compte dun nombre variable deacutetats Les modifications apporteacutees par rapport agrave la reacutealisation du module BPS de base (Figure 7-18) sont signaleacutees en rouge

Lexploitation exhaustive des conditions darrecirct complique seacuterieusement la reacutealisation physique de ce module surtout si lon admet que les valeurs des bits de terminaison peuvent varier selon le standard de communication Par conseacutequent on peut envisager la solution pragmatique dune exploitation partielle de ces informations lutilisation de leacutetat final correct pour le deacutecodage des derniers bits dinformation Cette solution tire profit de la preacutesence des bits de terminaison tout en limitant la complexiteacute de la reacutealisation physique des modules Prise de deacutecision (TBu) La conception de ce module TBu doit consideacuterer cinq paramegravetres principaux la longueur de contrainte du code viseacute la longueur maximale supporteacutee par le systegraveme la distance δp la livraison des reacutesultats au DSP ainsi que leacuteventualiteacute dun contexte de codage impliquant une seacutequence limiteacutee de symboles Longueurs de contrainte des codes convolutifs viseacutes La complexiteacute maximale (cest-agrave-dire la longueur maximale de contrainte) des codes convolutifs que le systegraveme est censeacute deacutecoder deacutetermine les ressources de stockage et de traitement neacutecessaires au module TBu La conception de ces module doit ensuite consideacuterer la gestion correcte des ressources de stockage

284

et de reconstruction deacutetats des chemins afin dexeacutecuter la tacircche de reconstruction conformeacutement au contexte de codage Lobjectif peut ecirctre atteint agrave laide dune opeacuteration de masquage qui permet lajustement de la taille de la meacutemoire reconstruite sans modifier la conception du systegraveme de base Distance δp La valeur de ce paramegravetre deacutepend strictement de la longueur de contrainte du code convolutif envisageacute Dans ce contexte dune approche souple coprocesseur la distance optimale est ainsi potentiellement variable Deux approches paraissent inteacuteressantes lutilisation soit dune distance optimale par rapport agrave la longueur K maximale soit dune distance de compromis La premiegravere approche assure la qualiteacute de protection offerte par tous les codes convolutifs exploitables Si la gamme des codes est tregraves large (en termes de longueur de contrainte) lutilisation dune distance δp adapteacutee au contexte de codage le plus exigeant neacutecessite des coucircts importants lusage de nombreuses ressources ainsi quun fort retard algorithmique Si les applications envisageacutees ne tolegraverent pas ces coucircts une distance δp de compromis doit ecirctre eacutetablie en analysant limportance des coucircts demploi parallegravelement agrave la deacutegradation de la qualiteacute de protection dans les divers contextes de codages Modaliteacute de livraison des deacutecisions prises Si le DSP demande la livraison de plusieurs bits deacutecodeacutes agrave la fois la meacutethode de la prise de deacutecision (Figure 7-16) peut ecirctre deacuteveloppeacutee et optimiseacutee de maniegravere agrave extraire simultaneacutement plusieurs valeurs (Table C-2 et Figure C-8) [Fett90] [Min91] Dans ce cas lexeacutecution de la tacircche entiegravere de deacutecodage peut ecirctre modifieacutee en exeacutecutant lopeacuteration de prise de deacutecision multiple par intervalle de temps (chaque N peacuteriodes Table C-2) Cette opeacuteration est ainsi chargeacutee de la prise de deacutecision simultaneacutee de N bits dinformations (Figure C-8)

285

Paramegravetre Valeur Intervalle de temps entre les opeacuterations de deacutecodage [nombre de peacuteriodes] N Nombre de bits deacutelivreacutes [bits] N Retard algorithmique minimal [nombre de peacuteriodes] δp+N-1 Ressources minimales de stockage [nombre dinformations] Mmiddot(δp+N-1) Efficaciteacute [nombre dopeacuterations de reconstruction deacutetat nombre de bits deacutelivreacutes]

(δp+N-1) N

Table C-2 vue densemble des caracteacuteristiques lieacutees agrave la conception de la tacircche de deacutecodage

Une eacutevaluation des points forts dune prise de deacutecision multiple est illustreacutee par la Table C-2 Cette table permet de deacuteterminer facilement les performances et les caracteacuteristiques de la prise de deacutecision

derniegraveres informationssur les chemins survivants

au niveau de profondeur np

eacutetat de deacutepart

eacutetat agrave laprofondeurnp- -N+1pδ

deacutecision surle bitnp- -N+1δ

anciennesindications

sur les cheminssurvivants

eacutetat agrave laprofondeur

np- pδ

deacutecision surle bitnp-δ

N transitions N transitions

niveau de profondeurnpnp - +1pδ

niveau de profondeurnp - -N+2pδ

Figure C-8 exemple de proceacutedure pour une prise de deacutecision multiple La couleur jaune repreacutesente les valeurs qui ne sont plus neacutecessaires pour la prochaine proceacutedure de prise de deacutecision En vert les nouvelles valeurs qui ont eacuteteacute sauvegardeacutees depuis la derniegravere proceacutedure La distance δp est comprise entre les valeurs δ et (δ-K+2)

Deacutecodage dun message formeacute par un nombre fini de symboles Le coprocesseur peut ecirctre confronteacute agrave des contextes de codage impliquant la protection de messages formeacutes par un nombre fini de symboles Dans cette

286

eacuteventualiteacute la signalisation de la fin du message et leacutetat darrecirct de la proceacutedure de codage doivent ecirctre transmis agrave ce module A laide du chemin survivant lieacute agrave cet eacutetat darrecirct ce module peut ainsi effectuer une prise de deacutecision optimale des (δ-nombre de bits de terminaison) bits restants du message

C3 Reacutefeacuterences

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Min91] B ndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

287

Curriculum Vitae

Davide Manetti Originaire de Camignolo Suisse

Neacute le 15 aoucirct 1972

Domaines de recherche

bull Systegravemes de navigation satellitaires GPS et Galileo bull Codage de canal conception dalgorithmes pour implantation sur DSP

et reacutealisation de circuits ASIC pour appareils mobiles UMTS bull Compression de signaux audio conception dalgorithmes et

implantation sur DSP bull Techniques de traitement numeacuterique destineacutees agrave des implantations en

temps reacuteel sur DSP Formation 1991-1997 Ecole Polytechnique Feacutedeacuterale de Zuumlrich (ETHZ)

Diplocircme dingeacutenieur en eacutelectronique Expeacuterience Depuis 1997 Assistant de recherche

aupregraves du Laboratoire dElectronique et de Traitement du Signal Institut de Microtechnique (IMT) Universiteacute de Neuchacirctel (Uni-NE)

Depuis 1998 Deacutefinition et gestion de projets deacutetudiants (stages travaux de semestre et de diplocircme) pour des eacutetudiants provenant de lUniversiteacute de Neuchacirctel de lEcole Polytechnique Feacutedeacuterale de Lausanne et dautres universiteacutes europeacuteennes

Depuis 2001 Doctorant Au sein du Laboratoire dElectronique et de Traitement du Signal IMT Uni-NE

Deacutecembre 2004 Soutenance de la thegravese de doctorat

288

Publications Articles de confeacuterences

D Manetti A Dufaux E Meurville M Ansorge F Pellandini P Ryser D Wieser Audio Coder for Telesurveillance Applications with Real Time Implementation on a Multimedia DSP Proceedings of COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999 pp 276-281

Autres publications D Manetti Audio Coder for Remote Surveillance Application internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland August 1999 D Manetti Channel Coding in Wireless Applications internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland May 2001 L Grasso D Manetti Implementation of a parameterized family of Viterbi Decoders internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland December 2001

Activiteacutes professionnelles Preacutesentation inviteacutee

laquo Evolution of audio coding techniquesrdquo presented at workshop ldquoSolutions numeacuteriques pour la videacuteo et les teacuteleacutecommunications rdquo ATEME ndash TI ndash EPFL Lausanne Switzerland 20 January 2004

Poster Atelier LEA laquo Le codage de canal utiliseacute dans les systegravemes de communication mobile UMTSrdquo Arc et Senans France 29-30 septembre 2003

Reacutevision darticles SCS 2003 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2003 EUSIPCO 2002 XI European Signal Processing Conference Toulouse France 3-6 September 2002 SCS 2001 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2001 COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999

289

Connaissances informatiques Langages de programmation

CC++ Assembleur Matlab Conception mateacuterielle

HDL Designer Modelsim Synopsys Quartus Langues

Italien Franccedilais Allemand Anglais

290

291

292

Page 2: Contributions au décodage des codes convolutifs utilisés ...

ii

iii

Tesi dedicata ai miei nonni Renato e Ada Ugo e Giovanna

iv

v

vi

vii

Reacutesumeacute

La communication numeacuterique mobile est en forte expansion Ainsi le codage de canal est devenu un eacuteleacutement indispensable puisquil permet dassurer la protection de lrsquoinformation transmise en controcirclant les erreurs de transmission Le codage convolutif est lune des techniques principales de codage de canal Leacutetude preacutesenteacutee ici propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes sont avantageuses du point de vue de la reacuteduction de la complexiteacute de calcul de la qualiteacute du deacutecodage et des possibiliteacutes offertes au niveau de la reacutealisation mateacuterielle Lrsquointeacuterecirct drsquoune telle eacutetude est apparu suite aux innovations introduites par le nouveau standard UMTS Du point de vue du codage de canal ce standard emploie des codeurs convolutifs posseacutedant des longueurs de contrainte supeacuterieures aux codes des actuels standards de communication afin dameacuteliorer la protection contre les erreurs de transmission Par suite de cette modification les reacutealisations software et hardware actuellement utiliseacutees ne peuvent pas ecirctre employeacutees pour le deacutecodage des codes du nouveau standard UMTS En plus limportante longueur de contrainte de ces codes accroicirct la complexiteacute de calcul neacutecessaire au deacutecodage classique de chaque symbole proteacutegeacute Dautre part leacutelargissement de la gamme des deacutebits de transmission de lUMTS implique une forte variabiliteacute des ressources de calcul demandeacutees par lopeacuteration entiegravere de deacutecodage La premiegravere partie de ce rapport se concentre sur les meacutethodes destineacutees agrave une implantation software En analysant agrave la fois les potentialiteacutes du codage de canal eacutetabli par le standard UMTS et lrsquoeacutetat de lrsquoart relatif aux principaux algorithmes de deacutecodage convolutif des meacutethodes alternatives agrave la solution de deacutecodage classique (lalgorithme de Viterbi) sont proposeacutees Parmi les solutions eacutetudieacutees on trouve les meacutethodes iteacuteratives deacutenommeacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC Ces deux meacutethodes exploitent notamment les informations fournies par lrsquoenchaicircnement drsquoun code convolutif avec un code en bloc Cet enchaicircnement est lune des structures de protection deacutefinies par le standard UMTS Par rapport agrave lrsquoalgorithme de Viterbi ces meacutethodes iteacuteratives possegravedent des proprieacuteteacutes inteacuteressantes du point de vue de la qualiteacute de protection de linformation et de la complexiteacute de calcul Afin drsquoeacutevaluer et de comparer ces proprieacuteteacutes chaque meacutethode a eacuteteacute

viii

deacutecrite au moyen drsquoune extension du langage ANSI-C en virgule fixe prenant en consideacuteration les particulariteacutes opeacuterationnelles des processeurs de traitement numeacuterique du signal (DSP) La seconde partie de ce rapport deacutecrit la reacutealisation mateacuterielle dune meacutethode de deacutecodage en srsquoappuyant sur lrsquoalgorithme de Viterbi La conception et la synthegravese des divers modules constituant lrsquoalgorithme sont systeacutematiquement preacutesenteacutees Parmi les solutions proposeacutees et analyseacutees dans cette seconde partie une meacutethode alternative a eacuteteacute eacutetudieacutee qui facilite linitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de deacutecodage La technologie UMC25-025microm est utiliseacutee pour la synthegravese logique des diverses solutions Ce rapport de thegravese se conclut par la comparaison des avantages pratiques de lrsquoutilisation des solutions software et hardware preacutesenteacutees au cours de ce travail Les aspects consideacutereacutes sont la surface de silicium neacutecessaire aux circuits la rapiditeacute de traitement et la dissipation drsquoeacutenergie pour chaque symbole traiteacute

ix

Deacutefinitions

Cette section deacutefinit les symboles les traductions utiliseacutees (glossaire) les fonctions matheacutematiques et les abreacuteviations utiliseacutees dans ce rapport de thegravese Symboles Sauf indication contraire lors de lutilisation du symbole la signification des symboles suivants est

b nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de canal

B nombre de symboles dinformation contenus dans le message agrave proteacuteger

C paramegravetre de la fonction de meacutetrique utiliseacutee dans la meacutethode de deacutecodage seacutequentielle

dfree distance libre dun code convolutif dj distance de Hamming existant entre une seacutequence de

symboles j et la seacutequence contenant seulement des symboles 0

dij distance de Hamming qui seacutepare les seacutequences de symboles i et j

dmin distance minimale dun code en bloc dmm distance maximale entre les valeurs de meacutetriques cumuleacutees e nombre derreurs de transmission affectant la seacutequence de

symboles reccedilus Es eacutenergie de transmission pour chaque symbole du message

codeacute Eb eacutenergie de transmission pour chaque bit dinformation du

message Gi fonction geacuteneacuteratrice des codes convolutifs Gkxn matrice geacuteneacuteratrice des codes en bloc Hkxn matrice de pariteacute des codes en bloc Info Biti i-egraveme bit du message Info Bit1xi message formeacute par les bits dinformation Info Bit0 Info Bit1

hellip Info Biti k nombre de bits formant le bloc dentreacutee traiteacute par un code en

bloc

x

K longueur de contrainte dun code convolutif L nombre des chemins candidats retenus agrave chaque iteacuteration de la

meacutethode List Decoding m m-egraveme eacutetat dun processus de Markov M nombre deacutetats diffeacuterents du processus de Markov n nombre de bits de sorties de lopeacuteration de codage de canal np niveau de profondeur de la repreacutesentation graphique du

codage convolutif (diagramme en arbre et en treillis) N0 densiteacute spectrale du bruit blanc gaussien Pe probabiliteacute de croisement du model de canal Binary

symmetric channel rt t-egraveme observation particuliegravere formeacutee par les n symboles [y1t

hellip ynt] reccedilus et ayant eacuteteacute geacuteneacutereacutes par le codage du t-egraveme symbole du message

R seacutequence de symboles reccedilue par un canal discret Rc rendement du code (taux de codage ()) Rc =bn st eacutetat du processus de Markov au temps t (profondeur t dans

larbretreillis de recherche) S seacutequence complegravete des eacutetats st du processus de Markov Si seacutequence complegravete i t aspect temporel dans les repreacutesentations graphiques du

codage convolutif T(DNJ) fonction de transfert dun code convolutif xt sortie geacuteneacutereacutee par le changement deacutetats du processus de

Markov du temps t-1 au temps t x1x i vecteur-ligne repreacutesentant le message codeacute formeacute par les bits

x0 x1 hellip xi-1 X seacutequence de sortie complegravete geacuteneacutereacutee par le codeur yit i-egraveme symbole reccedilu ayant eacuteteacute geacuteneacutereacute par le t-egraveme symbole du

message wi poids du message

Glossaire

arbre de recherche Search Tree bits de terminaison Tail Bits canal de type sans meacutemoire Memoryless Channel

() Dans certaines publications le rapport Rc=bn est eacutegalement appeleacute taux de codage

mecircme simplement taux Ce document utilise la nomenclature plus reacutepandue rendement du code

xi

capaciteacute du canal Channel Capacity chemin survivant Survivor Path code concateacuteneacute de maniegravere seacutequentielle Serially Concatenated Code code en bloc Bloc Code codeur exteacuterieur Outer Encoder codeur inteacuterieur Inner Encoder croissance minimale de la meacutetrique Minimum Distance Growth deacutecision ferme Hard Decision deacutecision souple ou pondeacutereacutee Soft Decision deacutecodeur exteacuterieur Outer Decoder deacutecodeur inteacuterieur Inner Decoder distance de Hamming Hamming Distance erreurs non deacutetecteacutees Undetected Errors eacutetalement Spreading gain de codage Coding Gain longueur de contrainte Constraint Length maximum de vraisemblance Maximum Likelihood poids dun message codeacute Weight of a code word processus de Markov Markov Process protection diffeacuterencieacutee contre les erreurs Unequal Error Protection quantiteacute dinformation Information quantity recouvrement derreurs Error Concealment reacutecursion arriegravere Backward Recursion reacutecursion avant Forward Recursion rendement du code Code Rate structure en treillis Trellis theacuteoregraveme de la non-optimaliteacute Theorem of non-optimality path tri Sorting

Fonctions matheacutematiques

A Bprop la valeur de A est proportionnelle agrave celle de B ln fonction logarithme naturel log fonction logarithmique sans deacutefinition de la base max fonction de maximisation min fonction de minimisation Pr[A] probabiliteacute de leacuteveacutenement A Pr[A | B] probabiliteacute conditionnelle de leacuteveacutenement A eacutetant

donneacute leacuteveacutenement B

xii

Pr[A B] probabiliteacute jointe des eacuteveacutenements A et B A arrondissement vers -infin A arrondissement vers +infin

( ) arg maxA

F A eacuteleacutement de lensemble A qui maximise la fonction F

Abreacuteviations Abreacuteviations matheacutematiques

BestMetrt meacutetrique cumuleacutee du chemin le plus probable au

niveau de profondeur t MaxContribBranche contribution maximale de la meacutetrique de branche MinMetrCroissance augmentation minimale de la meacutetrique cumuleacutee dun

chemin incorrect normaliseacutee par le nombre de symboles reccedilus

ValMaxMetrique valeur maximale de la repreacutesentation numeacuterique de la meacutetrique cumuleacutee

Institutions de standardisation

3GPP 3rd Generation Partnership Project (projet de partenariat pour la 3G)

ANSI American National Standards Institute (organisme priveacute de normalisation ameacutericain)

ETSI Institut europeacuteen des normes de teacuteleacutecommunication ISO Organisation internationale de normalisation ITU Union internationale des teacuteleacutecommunications ITU-R Secteur des radiocommunications de lunion internationale

des teacuteleacutecommunications Abreacuteviations techniques

2G Second Generation of Mobile Communication 3G Third Generation of Mobile Communication ACS Add-compare-select operation in the Viterbi Algorithm ADC Analog to Digital Converter AFC Automatic Frequency Control AGC Automatic Gain Control

xiii

AMR Adaptive Multi-Rate (Speech Coder) AMR-NB Narrow-Band (300-3400 Hz) Adaptive Multi-Rate

(Speech Coder) AMR-WB Wide-Band (50-7000 Hz) Adaptive Multi-Rate (Speech

Coder) ARQ Automatic Repeat Request ASIC Application Specific Integrated Circuit AWGN Additive White Gaussian Noise BER Bit Error Rate CCTrCH Coded Composite Transport Channel CMOS Complementary Metal Oxide Semiconductor CRC Cyclic Redundancy Code DAC Digital to Analog Converter DCH Dedicated Channel DLL Delay Locked Loop DPE Multipath Search ou Delay Profile Estimation DSP Digital Signal Processor DTX Discontinuous Transmission FDD Frequency Division Duplex FEC Forward Error Correction FER Frame Error Rate FPGA Field Programmable Gate Array GF Galois Field GSM Global System for Mobile Communications HDL Hardware Description Language IF Intermediate Frequency kbps Kilo Bit Per Second LCC Loosely Coupled Coprocessor LSB Least Significant Bit MAC Medium Access Control MIPS Millions of Instructions per Second MMuACCs Millions of Multiply-Accumulation Operations per

Second MOPS Millions of Operations per Second MRC Maximal Ratio Combination MSB Most Significant Bit MuACC Multiply-Accumulation Operation OCT Octal (base) PAM Pulse Amplitude Modulation PhCH Physical Channel RRC Radio Resource Control

xiv

RX Receiver SF Spreading Factor SIMD Single-Instruction Multiple-Data SNR Signal to Noise Ratio SoC System on Chip RF Radio Frequency TB Trace back operation in the Viterbi Algorithm TCC Tightly Coupled Coprocessor TFCI Transport Format Combination Indicator TrCH Transport Channel TTI Transmission Time Interval TX Transmitter UE User Equipment UEP Unequal Error Protection UMTS Universal Mobile Telecommunications System UTRA Universal Terrestrial Radio Access UTRAN Universal Terrestrial Radio Access Network VHDL Very High-Speed Integrated Circuit Hardware Description

Language WCDMA Wideband Code Division Multiple Access WCwMOPS Extended version of the wMOPS measure WcwOP Extended version of the wOP measure wMOPS Millions of weighted Operations per Second (ITUETSI) wOP Weighted Operations (ITUETSI)

xv

Table des matiegraveres

REacuteSUMEacute VII

DEacuteFINITIONS IX

TABLE DES MATIEgraveRES XV

1 INTRODUCTION 1

11 CONTEXTE 1 12 OBJECTIFS DE LA THEgraveSE 3 13 ORGANISATION DU DOCUMENT 4 14 CONTRIBUTIONS 6 REacuteFEacuteRENCES 8

2 NOTIONS DE BASE SUR LA PROTECTION DE CANAL 9

21 ARTICLE DE C E SHANNON 9 22 CONTROcircLE DES ERREURS PAR CODAGE 10 23 TYPES DE CODAGE DE CANAL 12

231 Codes en bloc lineacuteaires 12 232 Codes convolutifs 23 233 Utilisation des deux types de codage 33

24 CODES ENCHAIcircNEacuteS 33 25 CONCLUSIONS 34 REacuteFEacuteRENCES 35

3 STRUCTURE DE PROTECTION EacuteTABLIE PAR LES STANDARDS UMTS 37

31 MODEgraveLE HIEacuteRARCHIQUE DU SYSTEgraveME UMTS Agrave 3 NIVEAUX DABSTRACTION 37

32 STRUCTURE DE CODAGE DE CANAL ET MULTIPLEXAGE 38 33 EXEMPLE DrsquoAPPLICATION LE SERVICE DE PAROLE ADAPTIVE-

MULTI-RATE Agrave BANDE EacuteTROITE (AMR-NB) 42 34 CONCLUSIONS 46 REacuteFEacuteRENCES 46

xvi

4 TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX CELLULAIRES SANS FIL 49

41 INTRODUCTION 49 42 FACTEURS INFLUENCcedilANT LA TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX

CELLULAIRES SANS FIL 50 43 MODEacuteLISATION DU MOYEN DE TRANSMISSION 54

431 Systegraveme de perturbation artificielle des signaux 55 432 Modegravele de canal utiliseacute dans la suite des eacutetudes 59

44 CONCLUSIONS 60 REacuteFEacuteRENCES 61

5 MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 63

51 NOTIONS DE BASE 64 511 Repreacutesentations numeacuteriques des symboles reccedilus 64 512 Critegraveres de deacutecodage 64 513 Informations de deacutecodage disponibles 65

52 MEacuteTHODES DE DEacuteCODAGE RECHERCHANT LE MESSAGE LE PLUS PROBABLE 66

521 Deacutecodage Seacutequentiel 68 522 List Decoding 71 523 Algorithme de Viterbi 74

53 MEacuteTHODES DE DEacuteCODAGE ESTIMANT LES SYMBOLES LES PLUS PROBABLES 81

531 Symbol-by-symbol Maximum A Posteriori Algorithm 82 532 Algorithme Max-Log-MAP 85 533 Algorithme Log-MAP 87 534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA) 88

54 ANALYSE CRITIQUE DES MEacuteTHODES PREacuteSENTEacuteES 89 55 CONCLUSIONS 92 REacuteFEacuteRENCES 93

xvii

6 ARCHITECTURES SOFTWARE UTILISANT UN PROCESSEUR POUR LE TRAITEMENT NUMEacuteRIQUE DU SIGNAL 95

61 INTRODUCTION 96 611 Points forts des DSP 96 612 Exemple du standard GSM 97 613 Situation actuelle 98

62 CONTEXTE DE CODAGE UMTS 99 621 Protection de canal des standards UMTS 99 622 Configuration de travail du deacutecodeur 100

63 CRITEgraveRES DE SEacuteLECTION DES SOLUTIONS FONCTIONNELLES 101 631 Evaluation de la qualiteacute de protection 101 632 Evaluation de la complexiteacute de calcul 102 633 Consideacuterations sur limplantation software 107

64 APPROCHE CLASSIQUE LALGORITHME DE VITERBI 109 641 Fonction de meacutetrique 109 642 Meacutecanisme de deacutecodage du meilleur chemin 114 643 Performances de lalgorithme de Viterbi 119 644 Consideacuterations sur cette approche classique 122

65 DEacuteCODAGE DES CODES CONVOLUTIFS INCLUANT LA VALIDATION CRC 122

651 Ideacutee exploitation des informations du codage concateacuteneacute 123 652 Principe de deacutecodage livraison dune liste de messages 124

66 LIST VITERBI ALGORITHM 125 661 Introduction 125 662 Meacutethode Serial List Viterbi Algorithm 127 663 Performances de cette meacutethode iteacuterative 128

67 LIST DECODING INTEacuteGRANT LA VALIDATION DU CRC 135 671 Nouvelle strateacutegie de deacutecodage 135 672 Consideacuterations sur limplantation 137 673 Effet de compensation par lexploitation exhaustive

du codage CRC 138 674 Complexiteacute de calcul 141

68 COMPARAISONS DES MEacuteTHODES ITEacuteRATIVES PROPOSEacuteES 146 69 CONCLUSIONS 149 REacuteFEacuteRENCES 151

xviii

7 ARCHITECTURES HARDWARE BASEacuteES SUR CIRCUITS ASIC 155

71 INTRODUCTION 156 711 Marcheacute actuel des technologies 3G 156 712 Exigences des technologies UMTS 158

72 CONSIDEacuteRATIONS SUR LIMPLANTATION MATEacuteRIELLE 162 721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille 162 722 Description HDL du deacutecodeur 163 723 Meacutethode de deacutecodage lalgorithme de Viterbi 164

73 SYSTEgraveME DE BASE 165 731 Vue densemble 165 732 Synchronisation et reacutepartition entre blocs combinatoires

et non-combinatoires 166 733 Calcul des meacutetriques des branches 167 734 Seacutelection des chemins survivants 169 735 Prise de deacutecision 175 736 Deacutesignation du chemin permettant une prise de deacutecision

correcte 178 74 SYNTHEgraveSE DU SYSTEgraveME DE BASE 182

741 Strateacutegie adopteacutee 183 742 Synthegravese des modules 183 743 Surface de silicium 188 744 Vitesse dexeacutecution 190 745 Taux dactiviteacute des signaux liant les modules 191

75 STRATEacuteGIE PIPELINE POUR LA PRISE DE DEacuteCISION 195 751 Motivation 195 752 Approche pipeline 196 753 Ameacutelioration de la strateacutegie pipeline 197 754 Redondance des opeacuterations de reconstruction deacutetats 198 755 Consideacuterations finales 204

76 CONCLUSIONS 205 REacuteFEacuteRENCES 207

xix

8 COMPARAISON DES CARACTEacuteRISTIQUES DES DEUX ARCHITECTURES SOFTWARE ET HARDWARE 209

81 INTRODUCTION 209 82 DEacuteBIT DU TRAITEMENT 210

821 Approche software 210 822 Approche ASIC 220 823 Comparaison des potentialiteacutes de deacutebit de traitement

des deux approches 221 83 DISSIPATION DEacuteNERGIE PAR SYMBOLE TRAITEacute 224

831 Approche software 224 832 Approche ASIC 228 833 Comparaison des dissipations deacutenergie des deux approches

software et hardware 232 84 SURFACE DE SILICIUM 235

841 Processeurs DSP 235 842 Systegraveme de base ASIC 236 843 Comparaison des demandes en surface de silicium des deux

approches software et hardware 237 85 CONCLUSIONS DSP OU ASIC 238 REacuteFEacuteRENCES 242

9 CONCLUSIONS 245

REMERCIEMENTS 249

ANNEXES 251

CURRICULUM VITAE 287

xx

1

1 Introduction

Cette thegravese eacutetudie la reacutealisation software et hardware de meacutethodes pour le deacutecodage de donneacutees proteacutegeacutees par un codage convolutif Les codes convolutifs ainsi que la structure de protection traiteacutes sont ceux des standards de transmission numeacuterique sans fil UMTS

Ce chapitre preacutesente les motivations qui ont meneacute agrave ce travail de thegravese ses objectifs ainsi que lorganisation de ce rapport Finalement ce chapitre preacutesentera les principales contributions apporteacutees au domaine du deacutecodage convolutif

11 Contexte

Au cours des dix derniegraveres anneacutees nous avons assisteacute agrave une augmentation continue de la demande pour des systegravemes de transmission numeacuteriques fiables [Lust00] Lexplosion de leacutechange dinformations ainsi que les nouvelles possibiliteacutes offertes par le traitement numeacuterique du signal ont accentueacute cette tendance Parmi les critegraveres de deacuteveloppement des reacutecents standards de communication mobile la qualiteacute de la transmission est devenue un facteur deacuteterminant En effet comme les progregraves techniques et leacutevolution des besoins du marcheacute ont eacutelargi la gamme des applications potentielles (Table 1-1) la qualiteacute est devenue un eacuteleacutement indispensable des actuels systegravemes de communication numeacuterique La qualiteacute dune transmission numeacuterique deacutepend principalement de la probabiliteacute derreur des symboles transmis [Thit93] Cette probabiliteacute eacutetant fonction du rapport signal sur bruit une ameacutelioration de la qualiteacute de transmission peut ecirctre envisageacutee en augmentant la puissance deacutemission et en diminuant le facteur de bruit du reacutecepteur Malheureusement cette solution implique des coucircts eacutenergeacutetiques et technologiques ce qui en limite sensiblement lemploi Le controcircle des erreurs par codage est ainsi indispensable

2

Communication Personnels Bureautiques Voix Images Messages Accegraves aux reacuteseaux

drsquoinformations (Internet) Modem hellip

InformationsNouvelles Gestion de budget Cleacute eacutelectronique PasseportID hellip

Courrier eacutelectronique Agenda synchroniseacute Dictionnaire eacutevolutif Fax Divers outilsprogrammes hellip

Neacutegociation Monitorage meacutedical Seacutecuriteacute Tele-banking Reacuteservation de

restauranthocirctelspectacles AchatVente Transfert dargent Paiements hellip

Surveillance meacutedicale Diagnostic agrave distance Consultation agrave distance

Surveillance agrave distance Alarme GPS Appel durgence demande

drsquoaide hellip

Voyages Distraction hellip Roaming GuideCarte des villes Informations locales GPS Meacuteteacuteo Traductions hellip

Jeux eacutelectroniques PhotoVideacuteoMusiques RadioTV Chat hellip

hellip

Table 1-1 cateacutegories de services sans fil et exemples correspondants qui sont envisageables dans un proche futur [Gath02]

Lrsquoutilisation de techniques de traitement numeacuterique du signal et notamment le codage des informations agrave transmettre permet la deacutetection etou la correction drsquoeacuteventuelles erreurs de transmission Comme ces techniques permettent de controcircler les erreurs induites par le bruit du canal de transmission elles sont nommeacutees codages de canal Parmi les principales techniques existantes le codage en bloc et le codage convolutif sont preacutedominantes Le codage convolutif est fortement diffuseacute dans les systegravemes de communication numeacuterique sans fil La strateacutegie de base du codage consiste en lrsquoinsertion drsquoune quantiteacute controcircleacutee de redondance dans la seacuterie dinformations agrave envoyer au moyen dun nouveau codage des informations (Figure 1-1) La proceacutedure de geacuteneacuteration de

3

redondance traite les informations soit en blocs (codage en bloc) soit de maniegravere continue (codage convolutif) Laddition dune redondance confegravere au deacutecodeur la capaciteacute de deacutetection etou de correction dun nombre fini derreurs de transmission

codage decanal transmetteur reacutecepteur deacutecodage

de canal

donneacuteesreconstruitessignal

sourcede bruit

canal detransmission

donneacutees

validation delinteacutegriteacute des

donneacuteesreconstruites

Figure 1-1 positionnement du codage de canal dans les systegravemes de communication [Shan49]

Le nombre drsquoerreurs affectant la transmission des informations deacutepend du moyen de transmission Le deacutebit des erreurs et sa distribution temporelle diffegraverent si le moyen de transport est une ligne teacuteleacutephonique une ligne numeacuterique un lien satellite ou un canal de communication sans fil La qualiteacute de la transmission numeacuterique par reacuteseaux cellulaires sans fil est influenceacutee par des facteurs techniques tels que les types de modulation et dantenne des systegravemes de communication ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee son environnement la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier Pour reacuteduire les effets des erreurs de transmission les standards UMTS preacutevoient un codage de canal dont le niveau de protection peut ecirctre adapteacute aux exigences des applications Il est degraves lors eacutevident que lintroduction de techniques de codage de canal provoque une augmentation de la complexiteacute de calcul du traitement numeacuterique du systegraveme de communication Limportance de cette augmentation est fonction du niveau de protection envisageacute par lopeacuteration de codage lexigence dune protection plus efficace contre les erreurs de transmission implique lutilisation de meacutethodes de codage plus complexes rendant ainsi les proceacutedures de deacutecodage oneacutereuses

12 Objectifs de la thegravese

Lune des motivations agrave lorigine de leacutetablissement des nouveaux standards de communication mobile de la troisiegraveme geacuteneacuteration (3G) UMTS est

4

lameacutelioration de lefficaciteacute de protection contre les erreurs de transmission Ces standards reacutepondent agrave cette exigence par la mise agrave disposition de techniques de codage turbo ainsi que de codes convolutifs plus performants que ceux deacutefinis par les standards de la seconde geacuteneacuteration (2G) [ETSI909] [Ts25212] Laugmentation du deacutebit de transmission maximal et lemploi de codes convolutifs plus complexes augmentent sensiblement la complexiteacute de calcul des meacutethodes de deacutecodage dites classiques utiliseacutees dans les systegravemes de la 2G Ces meacutethodes classiques sont baseacutees sur lalgorithme de Viterbi Leacutetude preacutesenteacutee dans le cadre de ce rapport de thegravese eacutevalue lefficaciteacute des implantations software et des reacutealisations mateacuterielles des meacutethodes classiques de deacutecodage dans le nouveau contexte de codage des standards UMTS Des meacutethodes ameacutelioreacutees ainsi que des solutions inteacuteressantes sont proposeacutees La structure de protection des standards UMTS permet limplantation software de meacutethodes ameacutelioreacutees de deacutecodage meacutethodes qui exploitent iteacuterativement et exhaustivement les informations suppleacutementaires du codage en bloc cyclique Ces meacutethodes possegravedent des caracteacuteristiques inteacuteressantes du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage Le deacuteveloppement dune reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif est eacutegalement analyseacute Lutilisation de lalgorithme de Viterbi permet leacutetude de solutions alternatives de reacutealisation Les aspects consideacutereacutes sont le deacutebit de traitement et la dissipation deacutenergie Ce rapport se conclut par une comparaison des potentialiteacutes des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Lanalyse critique examine le deacutebit de traitement la dissipation deacutenergie et la surface de silicium des circuits Cette comparaison permet didentifier les points forts des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Les implantations software sont valideacutees en utilisant la structure de codage du service de parole AMR-NB agrave 122kbps [Ts26071] [Ts26101] Lrsquoanalyse de la reacutealisation mateacuterielle drsquoun deacutecodeur convolutif est faite sur la base de quatre codages convolutifs posseacutedant diffeacuterentes caracteacuteristiques de protection (standards GSM [ETSI909] et UMTS [Ts25212])

13 Organisation du document

Ce rapport de thegravese est organiseacute comme suit Le Chapitre 2 introduit briegravevement le lecteur dans le domaine du codage de canal en passant de la contribution pionniegravere donneacutee par Shannon aux principes du controcircle des erreurs par codage enchaicircneacute

5

La structure et les objectifs de la protection de canal eacutetabli par le standard UMTS [Ts25212] sont traiteacutes dans le troisiegraveme chapitre Le cas de la protection des donneacutees du service de parole AMR-NB agrave 122 kbps y est illustreacute agrave titre dexemple Cette structure sera ulteacuterieurement utiliseacutee au Chapitre 6 pour la validation et lanalyse des performances des implantations software des meacutethodes de deacutecodage les plus inteacuteressantes Le quatriegraveme chapitre traite la transmission de donneacutees par reacuteseaux cellulaires sans fils Les facteurs influanccedilant la transmission sont preacutesenteacutes ainsi que la modeacutelisation du canal de transmission En sappuyant sur les connaissances preacutesenteacutees du Chapitre 2 au Chapitre 4 le Chapitre 5 passe en revue les principes de deacutecodage des codes convolutifs ainsi que les meacutethodes les plus repreacutesentatives de ce codage Les meacutethodes preacutesenteacutees sont le Deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Bidirectional Soft Output Viterbi Algorithm Le Chapitre 5 se termine par une comparaison et une discussion des caracteacuteristiques algorithmiques et de la reacutealisation de ces algorithmes Limplantation software de meacutethodes de deacutecodage de codes convolutifs fait lobjet du sixiegraveme chapitre Ce chapitre analyse agrave la fois les potentialiteacutes de la structure de protection eacutetablie par le standard UMTS ainsi que les caracteacuteristiques des principes de deacutecodage afin de deacuteterminer les performances envisageables pour une implantation software Parmi les meacutethodes eacutetudieacutees on trouve non seulement lalgorithme de Viterbi mais eacutegalement des meacutethodes iteacuteratives de deacutecodage Ces meacutethodes iteacuteratives sont une nouvelle reacutealisation de la meacutethode List Viterbi Algorithm ainsi que la nouvelle meacutethode List Decoding inteacutegrant la validation CRC Le sujet du Chapitre 7 est la reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif La meacutethode choisie est lalgorithme de Viterbi Les analyses et les solutions proposeacutees se basent sur les reacutesultats de la synthegravese logique (outil Synopsys technologie UMC25-025microm [UMC25]) en deacutecomposant lalgorithme en eacuteleacutements constituants Parmi les solutions analyseacutees on trouve une strateacutegie novatrice pour lexeacutecution parallegravele de plusieurs opeacuterations de prise de deacutecision une meacutethode alternative dinitialisation de cette opeacuteration ainsi quune strateacutegie exploitant la redondance des opeacuterations de reconstruction

6

Le Chapitre 8 discute les coucircts des solutions software et hardware proposeacutees Les aspects consideacutereacutes sont la surface de silicium la rapiditeacute de traitement et la dissipation deacutenergie par symbole traiteacute Ce rapport se termine par les conclusions finales de leacutetude effectueacutee eacutetablies dans le Chapitre 9

14 Contributions

Cette section eacutenumegravere les contributions principales apporteacutees par cette eacutetude des meacutethodes de deacutecodage Apregraves une premiegravere partie introductive ce rapport preacutesente agrave la fois une analyse critique des meacutethodes de deacutecodage convolutif existantes la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software leacutetude dalternatives pour la reacutealisation mateacuterielle de lalgorithme de Viterbi ainsi quune analyse critique des reacutesultats de leacutetude Une premiegravere contribution est fournie en Chapitre 5 Elle consiste en la preacutesentation globale des principes de fonctionnement et des proprieacuteteacutes des algorithmes de deacutecodage convolutif y inclus de leacutetat de lart correspondant et de lanalyse critique des algorithmes les plus repreacutesentatifs Les contributions principales du Chapitre 6 sont la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software exploitant iteacuterativement les informations suppleacutementaires du codage en bloc CRC la meacutethode List Viterbi Algorithm (LVA) et la meacutethode List Decoding inteacutegrant la validation CRC Les contributions du Chapitre 6 sont

bull Proposition dune nouvelle reacutealisation de la meacutethode List Viterbi Algorithm Cette meacutethode qui envisage lrsquoameacutelioration de la qualiteacute de protection de lrsquoalgorithme de Viterbi a eacuteteacute originalement proposeacutee dans le contexte de codage des standards GSM Dans ce chapitre cette meacutethode est revaloriseacutee en proposant une nouvelle reacutealisation conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel montrant ainsi sa faisabiliteacute et son efficaciteacute de protection dans ce nouveau contexte de codage

bull Proposition dune nouvelle meacutethode de deacutecodage iteacuterative la meacutethode List Decoding inteacutegrant la validation CRC Une nouvelle reacutealisation plus efficace de lalgorithme List Decoding a permis la proposition de cette meacutethode de deacutecodage iteacuterative A la diffeacuterence de la meacutethode preacuteceacutedente cette meacutethode envisage la reacuteduction de la charge de calcul

7

tout en gardant la mecircme qualiteacute de protection que lrsquoalgorithme de Viterbi

bull Reacutealisation et analyse critique de limplantation software de lalgorithme de Viterbi conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel Les aspects de limplantation ses potentialiteacutes et sa complexiteacute de calcul sont preacutesenteacutes

Lanalyse critique des reacutealisations software preacutesenteacutees dans le Chapitre 6 utilise la structure de codage eacutetablie pour le service de parole AMR-NB agrave 122kbps ainsi quune strateacutegie deacutevaluation de la complexiteacute de calcul qui a eacuteteacute deacuteveloppeacutee speacutecifiquement pour ce domaine dapplication Les contributions du Chapitre 7 sont la proposition et lanalyse critique de solutions alternatives de reacutealisation mateacuterielle de lalgorithme de Viterbi

bull Meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation

bull Strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme

bull Strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations impliqueacutees dans le deacutecodage du chemin Lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages deacutepargne deacutenergie dune telle strateacutegie de prise de deacutecision

bull Explication des aspects lieacutes agrave la reacutealisation mateacuterielle dune meacutethode geacuteneacuterale de deacutecodage baseacutee sur lalgorithme de Viterbi

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie UMC25-025microm) La derniegravere contribution au domaine du deacutecodage convolutif est lanalyse critique des reacutealisations logicielles et mateacuterielles preacutesenteacutee au Chapitre 8 Ce chapitre compare les coucircts et les potentialiteacutes des deux approches software et hardware tels que le deacutebit de traitement la consommation drsquoeacutenergie et la surface de silicium du circuit Les potentialiteacutes sont estimeacutees sur la base des informations disponibles sur le marcheacute (printemps 2003) des DSP et sur la base de la technologie de synthegravese UMC25-025microm

8

Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

9

2 Notions de base sur la protection de canal

Ce chapitre introduit les notions fondamentales relatives agrave la protection des donneacutees contre les erreurs de transmission

La Section 21 reacutesume larticle pionnier de Shannon qui fixe les bases de la theacuteorie de linformation en stipulant quune transmission avec un taux derreurs controcirclable est possible agrave travers un canal bruiteacute

La Section 22 deacutecrit deux modes de controcircle des erreurs par codage soit le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) A partir de ces notions la section suivante introduit les principes du codage en bloc lineacuteaire et du codage convolutif Les caracteacuteristiques de ces codages ainsi que les capaciteacutes potentielles de correction derreurs sont ensuite discuteacutees

La Section 24 preacutesente un rappel des principes du controcircle des erreurs par codage enchaicircneacute Linteacuterecirct de lenchaicircnement de plusieurs opeacuterations de codage de canal ndashsoit en seacuterie soit en parallegravele- y est briegravevement preacutesenteacute

21 Article de C E Shannon

La theacuteorie de linformation est neacutee en 1948 avec larticle de C E Shannon A Mathematical Theory of Communication [Draj02] Cette theacuteorie deacuteterminait les limites de performance des systegravemes de communication numeacuterique et anticipait notablement les besoins pratiques de ce type de communication En geacuteneacuteralisant le scheacutema dun systegraveme de communication (Figure 2-1) Shannon preacutesente des notions qui savegravereront ecirctre agrave la base de la theacuteorie de

10

linformation Dans ce scheacutema Shannon identifie cinq eacuteleacutements principaux [Shan49]

bull La source dinformations cet eacuteleacutement geacutenegravere le message agrave transmettre message qui appartient agrave un groupe preacutedeacutefini de messages possibles

bull Le transmetteur cet eacuteleacutement est responsable de la preacuteparation du message de maniegravere agrave permettre sa transmission

bull Le canal le canal de transmission entraicircne des modifications du signal selon les caracteacuteristiques physiques du media de communication La modeacutelisation du canal se base sur plusieurs paramegravetres et eacuteleacutements dont certains possegravedent des proprieacuteteacutes non-preacutedictives

bull Le reacutecepteur la tacircche de cet eacuteleacutement est la reconstruction etou lestimation du message original agrave partir du signal reccedilu

bull Le destinataire cet eacuteleacutement constitue lentiteacute agrave qui le message est adresseacute

sourcedinformations transmetteur reacutecepteur destinataire

messagemessage

reconstruitou estimeacute

signalreccedilusignal

sourcede bruit

canal detransmission

Figure 2-1 modegravele geacuteneacuterique des systegravemes de communication [Shan49]

Parmi les nombreuses informations preacutesenteacutees dans larticle de Shannon il convient de citer limportance du seconde Theacuteoregraveme Ce theacuteoreme montre quune communication numeacuterique fiable est possible via un canal de transmission bruiteacute en recourrant agrave un systegraveme dencodage suffisamment complexe [Shan49] Toutefois Shannon nindique pas la meacutethode pour atteindre ce type de communication

22 Controcircle des erreurs par codage

Suite agrave la publication des articles de Shannon une strateacutegie de codage baseacutee sur la geacuteneacuteration du signal numeacuterique agrave transmettre en deux eacutetapes sest imposeacutee (Figure 2-2) La premiegravere eacutetape consiste principalement en leacutelimination de la redondance de linformation dans le message ou du moins

11

en sa reacuteduction Cette eacutetape est nommeacutee codage de source Dans une deuxiegraveme eacutetape le codage de canal insegravere une redondance controcircleacutee dans le message afin de permettre la gestion des erreurs de transmission par codage (Error Control Coding)

codage desource

codagede canal

messagemessagecodeacutesignal agravetransmettre

transmetteursourcedinformations

traitement numeacuterique du signal

Figure 2-2 principe du controcircle des erreurs par codage Encore aujourdhui plus de 50 apregraves la publication des articles de Shannon le principe de dissociation des deux eacutetapes de codage (codage de source et de canal) est toujours appliqueacute Toutefois on favorise actuellement leacutechange dinformations entre les divers eacuteleacutements de la chaicircne de transmission et de reacuteception Lobjectif du codage de canal est deacutetablir un systegraveme de controcircle des erreurs par un nouveau codage du message Ceci se reacutealise en creacuteant et en inseacuterant une certaine redondance au message Cette redondance permet au reacutecepteur de deacutetecter voire de corriger les erreurs de transmission (Figure 2-3) [Karn95] Naturellement la proceacutedure de geacuteneacuteration de la redondance doit ecirctre adapteacutee aux caracteacuteristiques du support de transmission et doit ecirctre connue par le systegraveme de deacutecodage Les meacutethodes de controcircle des erreurs se regroupent principalement en deux modes dutilisation le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) Lobjectif du mode ARQ est lajout dune petite quantiteacute de redondance au message de maniegravere agrave permettre la deacutetection deacuteventuelles erreurs de transmission Dans le cas dune deacutetection derreurs le deacutecodeur demande la retransmission du message erroneacute Par contre dans le cas du mode FEC la redondance introduite permet de deacutetecter et corriger au niveau du deacutecodeur un nombre fini derreurs La quantiteacute de redondance neacutecessaire est naturellement plus grande pour le mode FEC que pour le mode ARQ

12

deacutecodagede source

deacutecodagede canal

messagecorrigeacute etoucommunicationde la preacutesencederreurs

message codeacuteobtenu par ladeacutemodulationdu signal reccedilu

reacutecepteur

destinataire

traitement numeacuterique du signal

Figure 2-3 principe du deacutecodage dun message proteacutegeacute par codage de canal

Le principal deacutesavantage du mode FEC est lutilisation constante dune plus large bande passante mecircme en labsence derreurs Cette meacutethode sapplique surtout pour des systegravemes de communication ougrave le retard de retransmission nest pas acceptable Geacuteneacuteralement pour des systegravemes ayant des taux derreurs raisonnables les coucircts lieacutes aux demandes et aux retransmissions des blocs de signal erroneacutes (mode ARQ) sont normalement moins importants que ceux causeacutes par lusage dune bande passante plus large (mode FEC) On observe que pour des applications supportant un retard de transmission un mode mixte (hybrid ARQ-FEC) permettant de beacuteneacuteficier des avantages des deux approches est couramment utiliseacutee Gracircce agrave la redondance fournie par le mode FEC le systegraveme cherche deacuteventuelles erreurs qui sont ensuite corrigeacutees Si le taux derreurs est supeacuterieur agrave celui supportable par la meacutethode FEC la meacutethode ARQ intervient en exigeant la retransmission du message [Noki00] [Pana01]

23 Types de codage de canal

231 Codes en bloc lineacuteaires

Alors que Shannon a deacutefini les limites drsquoune communication fiable Hamming et Golay se sont inteacuteresseacutes au deacuteveloppement du premier systegraveme permettant un controcircle des erreurs ce qui a donneacute naissance agrave la branche matheacutematique de la theacuteorie du codage (coding theory) [Vale98] Le meacuterite de la deacutecouverte du premier code permettant la correction des erreurs est attribueacute agrave Hamming En 1946 alors qursquoil travaillait dans les laboratoires Bell il eacutetait frustreacute par la non-fiabiliteacute des ordinateurs de ce temps-lagrave les ordinateurs eacutequipeacutes de systegravemes de deacutetection derreurs arrecirctaient preacutematureacutement lexeacutecution des programmes en preacutesence derreurs Ainsi

13

Hamming chercha un moyen pour coder les donneacutees drsquoentreacutees de maniegravere agrave ce que les ordinateurs puissent non seulement deacutetecter les erreurs mais eacutegalement les corriger Il proposa de regrouper les donneacutees en paquets de 4 bits afin de deacuteterminer 3 bits suppleacutementaires par combinaison lineacuteaire (formule (21) Table 2-1) Les ordinateurs disposaient ainsi dinformations suffisantes pour pouvoir identifier et corriger lrsquoeacuteventuelle erreur preacutesente dans un tel bloc eacutelargi agrave 7 bits (Figure 2-8) [Vale98] En 1950 Hamming publia dans le The Bell System Technical Journal les reacutesultats de son eacutetude sur les codes corrigeant une erreur unique [Hamm50]

Message Bits de pariteacute

Message codeacute Message Bits de pariteacute

Message codeacute

0000 000 0000000 1000 101 1000101 0001 011 0001011 1001 110 1001110 0010 110 0010110 1010 011 1010011 0011 101 0011101 1011 000 1011000 0100 111 0100111 1100 010 1100010 0101 100 0101100 1101 001 1101001 0110 001 0110001 1110 100 1110100 0111 010 0111010 1111 111 1111111

Table 2-1 exemple de code de Hamming (74) Pour chaque groupe de 4 bits (message) ce code geacutenegravere 3 bits suppleacutementaires (bits de pariteacute) formant ainsi un message codeacute de 7 bits Leacutequation (21) deacutefinit la combinaison lineacuteaire permettant la geacuteneacuteration des messages codeacutes

Les premiers codes en bloc montraient des limites importantes la correction drsquoune erreur unique demandait un nombre conseacutequent de bits suppleacutementaires Cet aspect indeacutesirable poussa Golay dans le perfectionnement de la geacuteneacuteration de codes en bloc Ce travail permit la deacutefinition de codes dont les capaciteacutes de correction eacutetaient supeacuterieures agrave celles des codes initiaux de Hamming [Vale98] A partir de ce reacutesultat prometteur dautres codes ont eacuteteacute ensuite deacuteveloppeacutes et raffineacutes eacutelargissant la gamme des codes en bloc et le nombre de contributions au domaine de la theacuteorie du codage En particulier [Proa95] [Vale98] [Liew02]

bull Les codes Reed-Muller (RM) qui par rapport aux codes de Hamming et Golay permettent dobtenir une vitesse de deacutecodage supeacuterieure un

14

choix plus vaste de tailles des blocs sortants (code words) et une ameacutelioration des proprieacuteteacutes de correction

bull Les codes cycliques (Cyclic Redundancy Codes CRC) qui possegravedent des proprieacuteteacutes matheacutematiques particuliegraveres favorisant la reacutealisation mateacuterielle de lrsquoencodeur et du deacutetecteur drsquoerreurs (Figure 2-9) Ainsi ils sont principalement utiliseacutes pour la deacutetection drsquoerreurs

bull Le codes Bose-Chaudhuri-Hocquenghem (BCH) repreacutesentant une large classe des codes cycliques qui ont eacuteteacute deacutecouverts simultaneacutement par Hocquenghem et par le groupe Bose et Ray-Chaudhuri La taille des messages codeacutes vaut n=qm-1 ougrave m est une valeur entiegravere et q la taille de lalphabet du code Les codes BCH permettent lutilisation dun alphabet non-binaire (qgt2)1 Lutilisation des codes dans un champ de Galois (Galois fields) GF(q) plus eacutetendu (qgt2) permet dameacuteliorer la qualiteacute de protection contre les concentrations temporelles derreurs (Burst errors) Lexemple le plus repreacutesentatif est la famille de codes Reed Solomon

Principe des codes en bloc Chaque famille de codes possegravede des caracteacuteristiques et potentialiteacutes propres bien quelles aient eacuteteacute deacuteveloppeacutees en suivant le mecircme principe le regroupement des symboles dentreacutee en blocs afin de leur ajouter une quantiteacute controcircleacutee de redondance (Figure 2-4)

codeur enbloc (nk)

deacutecodeurcode en

bloc (nk)

message k symboles

communication de lapreacutesence derreurs

message codeacute(Code Word) n symboles

message codeacute(Code Word) reccedilu n symboles

message deacutecodeacute k symboles

Figure 2-4 signaux dentreacutee et de sortie du codage et du deacutecodage des codes en blocs

En consideacuterant le cas dun code binaire lineacuteaire (nk) la strateacutegie commune des codes en blocs est la modification de la repreacutesentation numeacuterique des 2k messages possibles dentreacutees Lutilisation dun espace de codage plus grand de celui utiliseacute pour repreacutesenter le message introduit la redondance neacutecessaire au codage de canal (Figure 2-5) Si la transformation dun espace de codage agrave lautre se passe de maniegravere lineacuteaire le code est appeleacute code lineacuteaire (linear code) [Lust00] 1 Un codage qui utilise un alphabet contenant un nombre qgt2 de symboles est dit non-

binaire (nonbinary coding)

15

2k messages

2k messages utiliseacutes sur 2n messagesdisponibles (Code Words)

Figure 2-5 principe de linsertion de redondance par une nouvelle repreacutesentation du message utilisant un plus grand espace de codage

Un exemple est le code de Hamming (74) [Proa95] qui utilise 16 messages codeacutes dans un espace de 128 messages possibles Le message codeacute x1x7 est formeacute par la multiplication (modulo 2) des bits dinformation du message Info Bits1x4 par une matrice dite geacuteneacuteratrice qui deacutecrit les combinaisons lineacuteaires utiliseacutees On a donc

0 1 6 0 1 3

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

x x x Info Bits Info Bits Info Bits

= sdot (21)

ougrave le vecteur-ligne Info Bits1x4 repreacutesente les 4 bits formant le message agrave proteacuteger En geacuteneacuteral un message codeacute xn obtenu en utilisant un code lineacuteaire (nk) est deacutecrit par la relation = sdot1timesn 1timesk ktimesn Info Bits Gx (22) ougrave le vecteur-ligne Info Bits1xk repreacutesentent les k bits du message et Gkxn est la matrice geacuteneacuteratrice Chaque code est normalement speacutecifieacute par le nombre de bits du message codeacute n et par le nombre k de bits du message original agrave proteacuteger (appeleacutes bits dinformations Information bits) Si la nouvelle repreacutesentation est formeacutee par la simple concateacutenation drsquoun nombre de bits suppleacutementaires le code est appeleacute systeacutematique et les bits suppleacutementaires sont deacutenommes bits de pariteacutes

16

(Parity bits) Le rapport entre les tailles de ces deux messages Rc=kn est appeleacute rendement du code (Code Rate) Distance de Hamming et poids dun message Un important paramegravetre caracteacuterisant le code en bloc est la distance minimale existant entre les divers messages codeacutes (Minimal distance of the code) [Proa95] qui se mesure par la distance de Hamming (Hamming Distance) La distance de Hamming dij entre deux messages i et j indique le nombre de cas ougrave les symboles correspondants des deux messages sont diffeacuterents En utilisant cette notion la distance minimale dmin du code est deacutefinie comme la distance dij la plus petite existant entre les messages geacuteneacutereacutes par le code en bloc min =min i j ijd dne (23)

Dans le cas de codes en bloc lineacuteaires la recherche de la distance minimale dmin peut ecirctre simplifieacutee Si les messages sont geacuteneacutereacutes par des fonctions lineacuteaires la diffeacuterence entre deux messages est eacutegalement un message [Proa95] Soit wi le poids (weigth) dun message codeacute i identifiant le nombre de ses eacuteleacutements non-nuls la distance minimale dmin (23) peut ecirctre deacutefinie ainsi

min =min

est le message codeacute zeacutero (message formeacute uniquement de zeacuteros)

iwd ne 0i i i

0i (24)

En utilisant la relation (24) la recherche de la distance minimale se reacuteduit au calcul du poids de 2kndash1 messages au lieu de deacuteterminer 2k-1middot(2kndash1) distance de Hamming [Proa95]

17

Qualiteacute de protection En labsence dun codage de canal ouet dune redondance suffisante des informations contenues dans le message agrave coder (dmin=1) il nest pas possible de deacutetecter si le message reccedilu est corrompu (Figure 2-6)

1110

1011

deacutecodeur

1110

1011

encodeur

Figure 2-6 envoi dun message sans protection Le deacutecodeur na aucun moyen de deacutetecter la transmission erroneacutee des donneacutees

En preacutesence dun message codeacute (dmingt1) le deacutecodeur est confronteacute agrave deux situations possibles (Figure 2-7)

bull le message reccedilu appartient au sous-ensemble des messages utiliseacutes lors de lencodage

bull le message reccedilu appartient au sous-ensemble des messages qui ne sont pas utiliseacutes par le codeur en bloc Cette situation indique quon est en preacutesence dune transmission erroneacutee du message

Un message est deacutefini comme valide sil appartient au groupe de messages utiliseacutes par le codage en bloc La meacutethode de base pour veacuterifier la validiteacute dun message utilise une matrice Hkxn appeleacutee matrice de pariteacute (parity-check matrix) Cette matrice est deacuteriveacutee de la matrice de geacuteneacuteration Gkxn (22) de maniegravere agrave ce que la relation

est le vecteur ligne repreacutesant les bits du message reccediluest le vecteur ligne formeacute que par des zeacuteros

= sdot Tktimesn 1timesn 1timesk

1timesn

1timesk

rH r 0

0 (25)

soit satisfaite seulement en preacutesence dun message valide Par rapport agrave lexemple (21) preacuteceacutedemment illustreacute sa matrice de pariteacute est

18

1 1 1 0 1 0 00 1 1 1 0 1 01 1 0 1 0 0 1

=3times7H (26)

[Proa95] Lrsquoinvaliditeacute drsquoun message correspond ainsi neacutecessairement agrave une transmission erroneacutee des donneacutees

deacutecodeur

1010 011

000 1011

1010 011

000

1010 010

0101011

encodeur

1011

sous-ensemble demessages codeacutes utiliseacutespar le codeur en bloc

sous-ensemble de messagescodeacutes non-utiliseacutes par lecodeur en bloc

Figure 2-7 envoi dun message proteacutegeacute par un code de Hamming (74)

Si lon considegravere agrave titre dexemple un code en bloc avec distance minimale de 3 (Figure 2-8) un tel code garantit la deacutetection de 2 erreurs de transmission qui pourraient affecter le message codeacute Les potentialiteacutes de deacutetection sont supeacuterieures agrave ce seuil Toutefois un nombre derreurs supeacuterieur agrave (dmin-1) peut transformer le message codeacute par lencodeur en un message valide qui fausse la meacutethode de deacutetection (25) Cette situation potentielle est nommeacutee situation de fausse validation Les performances de correction derreurs dun code en bloc sont eacutegalement deacutetermineacutees par les distances de Hamming existant entre les messages utiliseacutes pour le codage Selon le principe de correction derreurs par deacutetermination du message valide le plus proche (en termes de distance de Hamming) lutilisation dun code en bloc garantit la correction de ( )min 1 2d minus erreurs Le

19

code en bloc utiliseacute agrave titre dexemple (Figure 2-8) garantit ainsi la deacutetection de 2 erreurs et la correction dune seule erreur de transmission

distance deHamming de 1 bit

message i1010 011

message j1011 000

deacutetection derreurs

correction derreurs

deacutetection derreurs

correction derreurs

1010 010 1011 010

Figure 2-8 exemple graphique de la potentialiteacute de deacutetection et de correction derreurs par la deacutetermination du message valide le plus proche

Codes en bloc CRC utiliseacutes par les standards UMTS Les standards UMTS disposent de quatre codes CRC [Ts25212] pour le controcircle de labsence derreurs dans les messages livreacutes au destinataire Les notions de base permettant de comprendre les principes des codes en bloc CRC sont deacutecrites ci-apregraves Notions de base des codes en bloc CRC Un code lineacuteaire (nk) est nommeacute code cyclique si tous les deacutecalages cycliques (cyclic shift) dun message codeacute sont eacutegalement des messages codeacutes [Lin82] [Proa95] Dans le domaine du codage cyclique on associe au message codeacute V=[vn-1hellip v2 v1 v0] le polynocircme v(X) de degreacute infeacuterieur ou eacutegal agrave n-1 tel que

1 2

1 2 1 0( ) pour les codes binaires (2) pour 0 1 1

nn

i

v X v X v X v X vv GF i n

minusminus= + + + +

isin = minus (27)

La meacutethode de codage CRC se base sur la geacuteneacuteration du message codeacute v(X) par la multiplication polynomiale (modulo 2 pour les codes binaires) du message u(X) avec le geacuteneacuterateur polynomial g(X) donneacute par

20

11 0 1 01

1 21 2 1 0

) )

( ) ( ) ( ) ( (

( )

k n kk n k

nn

v X u X g Xu X u X u g X g X gv X v X v X v

minus minusminus minus

minusminus

sdot =

= sdot == + + + + + +

= + + + +

(28)

Si le polynocircme geacuteneacuterateur g(X) de degreacute n-k est un facteur du polynocircme Xn+1 ce polynocircme geacutenegravere un code en bloc cyclique (nk) [Lin82] [Pres92] [Proa95] [Will99] Etant donneacute le geacuteneacuterateur polynomial g(X) on peut demander que le message codeacute v(X) contienne directement le message u(X) tout en respectant les caracteacuteristiques des codes en bloc cycliques Une solution est la formation du message codeacute v(X) par la multiplication du message u(X) avec le polynocircme Xn-k en additionnant successivement le polynocircme b(X) qui garanti la divisibiliteacute du polynocircme v(X) par g(X) (28) ( ) ( )( ) ( ) ( )n kv X X u X b X a X g Xminus sdot= + = sdot (29) La tacircche de lencodeur systeacutematique est ainsi de deacuteterminer le polynocircme b(X) qui correspond au reste de la division du terme Xn-kmiddotu(X) par le geacuteneacuterateur polynomial g(X) tel que

( )

( )( ) resten kX u Xb Xg X

minus sdot

= (210)

Cette tacircche est reacutealisable mateacuteriellement en utilisant un registre agrave deacutecalage avec une boucle de contre-reacuteaction utilisant des additions modulo 2 (Figure 2-9) [Proa95]

bit dentreacutee (message)

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11++ + + +bit de sortie(message codeacute)

(1)

(2)

+ addition modulo 2

Figure 2-9 scheacutema agrave bloc de lencodeur systeacutematique CRC agrave 12 bits avec geacuteneacuterateur polynomial g(X)=X12+ X11+ X3+ X2+ X+1 Apregraves le traitement du dernier bit du message le contenu des 12 bascules repreacutesente le polynocircme b(X)

21

Le standard UMTS met agrave disposition quatre codes cycliques systeacutematiques (Table 2-2) mais il modifie lordre des bits de pariteacute lors de leur concateacutenation [Ts25212] Lajout des bits de pariteacute seffectue dans lordre inverse en commenccedilant par le bit b0 jusquau bit bn-k-1

Codeur Longueur [bits]

Taille des messages (n k)

Geacuteneacuterateur polynomial g(X)

gCRC24(X) 24 (223-1 223-25) X24 + X23 + X6 + X5 + X + 1gCRC16(X) 16 (32767 32752) X16 + X12 + X5 + 1gCRC12(X) 12 (2047 2035) X12 + X11 + X3 + X2 + X + 1gCRC8(X) 8 (127 119) X8 + X7 + X4 + X3 + X + 1

Table 2-2 les geacuteneacuterateurs polynomiaux utiliseacutes dans le standard de codage de canal UMTS [Ts25212]

Deacutecodage des codes CRC Etant donneacute que les codes CRC sont des codes en blocs ils sont capables de deacutetecter et de corriger des erreurs Toutefois ils ne sont souvent utiliseacutes que comme moyen de deacutetection derreurs Dans le contexte des codes CRC systeacutematiques deux meacutethodes principales sont utiliseacutees pour la deacutetection derreurs La premiegravere meacutethode consiste agrave diviser le message reccedilu par son geacuteneacuterateur polynomial g(X) La valeur du reste de cette division permet la deacutetection et leacuteventuelle correction derreurs La reacutealisation mateacuterielle de cette meacutethode utilise un registre agrave deacutecalage avec une boucle de contre-reacuteaction et des opeacuterations dadditions modulo 2 [Proa95] La seconde meacutethode calcule les bits de pariteacute en utilisant la partie du message reccedilu qui repreacutesente les bits dinformation Elle compare ensuite ces bits de pariteacute avec ceux reccedilus dans le message codeacute Situation particuliegravere de codage Si la taille km des messages agrave proteacuteger ne sadapte agrave aucun code cyclique on peut envisager dutiliser un code cyclique (nk) traitant des messages plus larges (k gt km) [Lin82] En exploitant ce code cyclique (nk) on traite seulement les messages dont les L=(k- km) bits de poids fort (MSB) sont des zeacuteros Leacutelimination de ces L bits geacutenegravere un code lineacuteaire (n-Lkm) qui nest deacutesormais plus un code cyclique ce code est nommeacute Shortened cyclic code

22

Toutefois cette modification ne compromet pas lutilisation des meacutethodes de codage et de deacutetection des erreurs preacuteceacutedemment preacutesenteacutees Par rapport agrave la qualiteacute de protection du code (n-Lkm) ce code garde les mecircme qualiteacutes que celles du code cyclique original (nk) Codes en bloc conclusions Malgreacute le succegraves du codage en bloc ce type de codage comporte des inconveacutenients importants [Liew02] [Vale98] Le regroupement du message en bloc implique normalement une latence due agrave la neacutecessiteacute de disposer de tous les symboles du message avant de proceacuteder au codage ou au deacutecodage2 Les codes travaillant sur des grands blocs peuvent ainsi entraicircner une forte latence ce qui rend le retard algorithmique du systegraveme important De plus la proceacutedure de deacutecodage est affecteacutee par un inconveacutenient suppleacutementaire le deacutecodeur a impeacuterativement besoin de connaicirctre la position du deacutebut et de la fin du message codeacute La connaissance de la position correcte du premier symbole du message dans le flux de bits est ainsi indispensable au bon deacuteroulement des proceacutedures de controcircle et de correction derreurs Le dernier inconveacutenient des codes en bloc provient du fait que le deacutecodage de canal a eacuteteacute initialement consideacutereacute uniquement comme un eacuteleacutement qui sinsegravere entre le reacutecepteur et le destinataire (Figure 2-3) A lorigine les proceacutedures de deacutecodage des codes en bloc ont ainsi eacuteteacute deacuteveloppeacutees en envisageant le traitement de messages codeacutes avec la mecircme repreacutesentation numeacuterique que le message provenant de la source drsquoinformation (situation du deacutecodage ferme Hard Decoding) Pourtant dans le but drsquoatteindre les limites preacutedites par Shannon lrsquoutilisation drsquoune quantification moins rigide (situation du deacutecodage souple ou pondeacutereacute Soft Decoding) est devenue impeacuterative une meilleure qualiteacute de correction ne peut ecirctre atteinte quen augmentant le flux de lrsquoinformation mise agrave disposition du deacutecodeur Linconveacutenient des codes en bloc est que les meacutethodes de correction deacuteveloppeacutees sadaptent mal agrave ces situations de deacutecodage souple en raison de leur incapaciteacute de traiter le flux suppleacutementaire dinformations disponible

2 Certaines familles de codes en bloc systeacutematiques possegravedent des caracteacuteristiques

particuliegraveres du codage qui offrent la possibiliteacute de reacuteduire efficacement la latence du deacutecodage Un exemple est donneacute par la famille de codes CRC

23

232 Codes convolutifs

Les principaux inconveacutenients du codage en bloc peuvent ecirctre eacuteviteacutes par une approche diffeacuterente de la probleacutematique du codage cest le cas du codage convolutif (Convolutional Coding) [Vale98] Preacutesenteacute par Elias en 1955 ce type de codage ajoute systeacutematiquement de la redondance au message codeacute au fur et agrave mesure que les symboles du message (chacun formeacutes de b bits) sont livreacutes au codeur Le message codeacute se forme ainsi iteacuterativement en utilisant un registre agrave deacutecalage Ce registre est dimensionneacute pour accueillir les K symboles les plus reacutecents du message et la geacuteneacuteration du message codeacute utilise n fonctions lineacuteaires algeacutebriques Ces fonctions sont appeleacutees fonctions geacuteneacuteratrices (linear algebraic function generators) Un exemple de codeur convolutif est illustreacute agrave la Figure 2-10

+

+

premier bit de sortiesecond bit de sortie

troisiegraveme bit de sortie

bit dentreacuteez-1 z-1

+ addition modulo 2

Figure 2-10 exemple de codeur convolutif avec une longueur de contrainte K=3 Ce codeur geacutenegravere 3 bits de sortie (n=3) pour chaque bit dentreacute (b=1)

A chaque instant t le codeur de la Figure 2-10 produit trois bits de sortie en fonction des trois bits dentreacutee les plus reacutecents selon les fonctions algeacutebriques suivantes

premier bit ( ) bit dentreacutee( )second bit ( ) bit dentreacutee( ) bit dentreacutee( 2)troisiegraveme bit ( ) bit dentreacutee( ) bit dentreacutee( 1) bit dentreacutee( 2)

t tt t t

t t tt

== oplus minus= oplus minusoplus minus

(211)

Le signal de sortie se forme iteacuterativement en enchaicircnant les n bits de sortie du codeur convolutif (Figure 2-11)

24

bit de sortie0(t) bit de sortie1(t)bit de sortie2(t-1) bit de sortie2(t)

Figure 2-11 repreacutesentation graphique du signal de sortie du codeur convolutif de la Figure 2-10

Le nombre de symboles K qui contribuent agrave la geacuteneacuteration des n bits de sortie est nommeacute longueur de contrainte du code (Constraint Length) Similairement au cas des codes en bloc le rendement du code Rc indique toujours le rapport entre les nombres de bits dentreacutee et de sortie (Rc=bn) Les fonctions geacuteneacuteratrices Gi deacutecrivent les fonctions lineacuteaires algeacutebriques du code En utilisant lexemple de la Figure 2-10 chaque fonction algeacutebrique (211) est reformuleacutee ainsi

i

bit de sortie ( ) (2) bit dentreacutee( ) (1) bit dentreacutee( 1) (0) bit dentreacutee( 2)

() [01] [ (2) (1) (0)] 0 1 et 2i

i

i

i

i i i

t g tg tg t

g g g ig

= sdotoplus sdot minusoplus sdot minus

isin =iG

(212)

Selon cette repreacutesentation (212) les fonctions geacuteneacuteratrices G0=[100] G1=[101] et G2=[111] deacutecrivent exhaustivement les fonctions algeacutebriques (211) utiliseacutees par le codeur analyseacute Dans le domaine du codage convolutif il est usuel dindiquer les valeurs de ces fonctions Gi en repreacutesentation octale (base 8) Si un des bits de sortie transmet systeacutematiquement le bit dentreacutee sans aucune modification le code est dit systeacutematique Bien que les codes systeacutematiques soient moins performants par rapport aux potentialiteacutes de protection des codes non-systeacutematiques ils offrent lavantage consideacuterable decirctre intrinsegravequement non catastrophiques3 [Thit93] Les codes convolutifs ne se distinguent pas seulement sur la base de la longueur de contrainte du rendement du code et des fonctions Gi mais aussi selon la structure propre au registre agrave deacutecalage Dans le cas de lrsquoexploitation drsquoune boucle de contre-reacuteaction interne (feedback) le code est dit reacutecursif [Thit93] Un tel code est illustreacute agrave la Figure 2-12

3 Les codes sont appeleacutes catastrophiques sils creacuteent les conditions pour lesquelles un

nombre fini derreurs de transmission peut engendrer un nombre infini derreurs dans le message deacutecodeacute [Thit93]

25

+

premier bit de sortie

second bit de sortie

bit dentreacuteez-1 z-1+

Figure 2-12 exemple de code convolutif reacutecursif avec une longueur de contrainte K=3 (rendement Rc=12) [Thit93] Le registre agrave deacutecalage preacutesente une boucle de contre-reacuteaction permettant dadditionner (modulo 2) le signal de sortie du reacutegistre agrave deacutecalage au signal dentreacutee

Le standard UMTS [Ts25212] met agrave disposition deux codeurs convolutifs posseacutedant chacun une longueur de contrainte de 9 Leurs fonctions geacuteneacuteratrices sont G0=561oct et G1=753oct pour le code ayant un rendement Rc=12 et G0=557oct G1=663oct et G2=711oct pour le code ayant un rendement de Rc=13 (Figure 2-13)

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +

G0=557oct

+ + +G2=711oct

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +G0=561oct

+G1=753oct

+ +

+G1=663oct

+ + + + + +

+ +

+ addition modulo 2 Figure 2-13 repreacutesentation graphique des deux codes convolutifs mis agrave disposition pour la protection des donneacutees par le standard UMTS [Ts25212]

Principe de protection formation de la redondance Analytiquement le codeur convolutif protegravege le symbole dentreacutee en tenant compte des K-1 derniers symboles dentreacutee Pratiquement il sagit dune machine deacutetats qui produit une sortie en fonction de lentreacutee (nouveau

26

symbole) et de leacutetat de la meacutemoire (formeacutee par les K-1 anciens symboles dentreacutee) Du point de vue de la protection de canal la redondance est geacuteneacutereacutee principalement par laugmentation de la taille du message et renforceacutee ensuite par la participation des derniers K-1 symboles agrave la proceacutedure de codage Dans le cas ideacuteal du codage dune suite infinie de symboles chaque symbole dentreacutee prend part K fois agrave la geacuteneacuteration des n bits de sortie Linfluence de chaque symbole seacutetale ainsi sur un nombre important de bits de sortie (Kmiddotn bits) Il en reacutesulte quen augmentant ces deux paramegravetres (la longueur de contrainte du code K et le nombre de bits de sortie n) on renforce la redondance du codage convolutif ce qui permet de disposer dun systegraveme de protection plus efficace contre les erreurs de transmission Il faut aussi souligner que le changement du nombre de bits de sortie n entraicircne la modification du rendement du code Rc Repreacutesentation du deacuteroulement du codage Trois meacutethodes sont communeacutement utiliseacutees pour la repreacutesentation graphique du deacuteroulement du codage convolutif le diagramme en arbre (Tree Diagram Figure 2-14) le diagramme deacutetats (State Diagram Figure 2-15) et le diagramme en treillis (Trellis Diagram Figure 2-16) [Proa95] En utilisant agrave titre dexemple le code de la Figure 2-10 la Figure 2-14 illustre le deacutebut de la proceacutedure de codage par un diagramme en arbre Le critegravere agrave la base de cette repreacutesentation est lrsquoillustration du comportement de la proceacutedure de codage agrave chaque instant t en fonction des symboles potentiellement deacutejagrave codeacutes Toutefois la reacutepeacutetition (persistante) de la mecircme structure rend cette repreacutesentation rapidement trop compliqueacutee en pratique Lapproche du diagramme deacutetats illustreacute agrave la Figure 2-15 est due au codeur convolutif qui se conduit comme une machine deacutetats La valeur des bits de sortie est fonction du symbole drsquoentreacutee et de la meacutemoire du codeur formeacutee par K-1 symboles Ainsi pour la suite de ce document le mot eacutetat indiquera les symboles formant la meacutemoire temporaire du codeur

27

temps t

000

111

000

111

001

110

001

111

000

110

011

100

010

101

sortie ducodeur

bit dentreacutee 0

bit dentreacutee 1

00

00

00

10

10

11

01

00

10

01

11

00

10

01

11

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

Figure 2-14 diagramme en arbre du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

00 11

10

01

1111

0000

1100

0001

1110

1101

0010

0011

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

ZHJK

Figure 2-15 diagramme deacutetats du codeur de la Figure 2-10

Lavantage de cette approche est la repreacutesentation compacte du deacuteroulement du codage Si lrsquoaspect temporel du codage est aussi demandeacute le diagramme en treillis est la meacutethode de repreacutesentation optimale (Figure 2-16) Cette repreacutesentation modifie la meacutethode de diagramme deacutetats en lui ajoutant la dimension du deacuteroulement dans le temps

28

00 00

10

00

01

10

11

00

01

10

11

0000

1000

0000

1000

0001

1100

temps t

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

ZHJK

Figure 2-16 diagramme en treillis du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

Etat de la meacutemoire du codeur convolutif au deacutebut et agrave la fin de la proceacutedure de codage En raison de leffet meacutemoire du codage convolutif le caractegravere univoque du codage ne peut ecirctre obtenu au deacutebut de la proceacutedure de codage que par lattribution dune valeur arbitraire agrave cette meacutemoire (K-1 symboles) Dans la suite de ce document le terme condition de deacutepart se reacutefegravere agrave linitialisation de la meacutemoire du codeur convolutif Lors du codage de messages contenant un nombre fini de symboles leffet meacutemoire du codage est agrave lorigine dun inconveacutenient si la proceacutedure de geacuteneacuteration des bits de sortie sarrecircte immeacutediatement degraves le codage du dernier symbole du message on est confronteacute agrave une situation de protection ineacutegale des symboles agrave transmettre Contrairement aux symboles preacuteceacutedents les derniers K-1 symboles ne participent pas K fois agrave la proceacutedure de codage Par conseacutequent linformation de ces symboles seacutetale sur un nombre reacuteduit de bits de sortie (ltKmiddotn bits) diminuant la qualiteacute de protection de ces bits Diverses solutions ont eacuteteacute deacuteveloppeacutees afin de remeacutedier agrave une telle situation de protection ineacutegale Le systegraveme le plus populaire parmi les standards de communication propose lenchaicircnement dune seacuterie de K-1 symboles (Tail Bits) agrave la fin du message agrave coder La seule fonction de ces symboles (deacutenommeacutes dans ce document bits de terminaison) est de sassurer que tous les symboles du message contribuent K fois agrave la proceacutedure de codage eacutetant donneacute que ces bits ne transmettent pas dinformation la valeur de ces bits de terminaison est insignifiante

29

Du point de vue du deacutecodage la connaissance des valeurs de ces bits de terminaison permet une ulteacuterieure ameacutelioration des capaciteacutes de correction derreurs Ces valeurs deacuteterminent leacutetat final de la meacutemoire du codeur ce qui repreacutesente une information importante pour lopeacuteration de deacutecodage Dans la suite de ce document on entendra par conditions drsquoarrecirct de la proceacutedure de codage les informations tireacutees du codage de ces bits de terminaison la valeur de ces bits eacutetant fixeacutee agrave priori Le prix agrave payer pour une telle solution est la geacuteneacuteration dun message codeacute qui est allongeacute de (K-1)middotn bits de sortie en raison du codage suppleacutementaire de K-1 bits (bits de terminaison) Une solution alternative agrave la situation de protection ineacutegale est deacutefinie par le principe du Tail-Biting Trellis Code [Lust00] Ce principe pose une contrainte suppleacutementaire agrave la proceacutedure de codage les eacutetats de la meacutemoire du codeur au deacutebut et agrave la fin de la proceacutedure de codage dun bloc de symboles doivent ecirctre eacutegaux Cette information suppleacutementaire est utiliseacutee efficacement lors du deacutecodage des derniers symboles du message ce qui augmente la qualiteacute de la protection Lavantage de cette meacutethode est quelle ne neacutecessite ni linsertion de bits suppleacutementaires au message ni la deacutefinition des eacutetats de deacutepart et darriveacutee de la meacutemoire du codeur convolutif Capaciteacute de correction des codes convolutifs La capaciteacute de correction du codage convolutif peut ecirctre estimeacutee de maniegravere analogue agrave celle du codage en bloc La capaciteacute de correction des codes convolutifs est ainsi eacutevalueacutee agrave partir de la distance minimale existant entre deux messages codeacutes Dans le contexte du codage convolutif cette distance est appeleacutee distance libre (dfree) La recherche de la distance libre beacuteneacuteficie de la proprieacuteteacute de lineacuteariteacute des fonctions geacuteneacuteratrices qui permet de se concentrer uniquement sur les distances entre les messages potentiels et le message zeacutero4 Malheureusement la meacutethode de recherche (24) utiliseacutee par les codes en blocs ne sadapte pas de maniegravere optimale agrave ce contexte de codage principalement agrave cause de la variabiliteacute de la taille des messages

4 Le message zeacutero est le message codeacute contenant une seacutequence infinie de zeacuteros geacuteneacutereacute

par le codage dune seacuterie infinie de bits dinformations zeacutero

30

Fonction de transfert dun code convolutif Les valeurs des distances entre les messages codeacutes peuvent ecirctre extraites du diagramme deacutetats du code analyseacute [Proa95] Le code convolutif illustreacute agrave la Figure 2-10 est utiliseacute ici pour deacutecrire la meacutethode permettant deacutetablir la qualiteacute de protection du code convolutif et les proprieacuteteacutes de ses distances Son diagramme deacutetats est illustreacute en Figure 2-15 Etant donneacute quon envisage lobtention des distances de Hamming entre les divers messages et le message zeacutero on modifie le diagramme deacutetats original de la Figure 2-15 de la maniegravere suivante (Figure 2-17) [Proa95]

bull On eacutelimine la boucle de leacutetat 00 Etant donneacute que le message zeacutero est le message de reacutefeacuterence cette boucle napporte aucune contribution agrave la deacutetermination des distances de Hamming

bull Leacutetat 00 est scindeacute en deux Ces deux eacutetats repreacutesentent leacutetat de deacutepart et darriveacutee du nouveau diagramme deacutetats Lobjectif est de prendre en compte uniquement les messages divergeant du et ensuite convergeant vers le message zeacutero

bull On attribue aux eacutetats du diagramme les symboles XA XB XC XD XE bull Les transitions entre les eacutetats sont annoteacutees de la maniegravere suivante

o Le poids5 des bits de sortie est indiqueacute par lexposant de la lettre D

o Le poids du symbole dentreacutee du codeur est deacutesigneacute par lexposant de la lettre N

o Chaque transition est indiqueacutee par la lettre J Cette notation permet de connaicirctre le nombre total de transitions pendant lesquelles le message analyseacute diverge du message zeacutero

En utilisant un tel diagramme deacutetats (Figure 2-17) qui contient donc cinq eacutetats les eacutequations des eacutetats peuvent ecirctre formuleacutees ainsi

3B A C

B DC2 2

D B D2

E C

X X XX X XX X XX X

JND JNDJD JDJND JNDJD

+

+

+

====

(213)

5 Le nombre de bits non-zeacutero

31

La fonction de transfert T(DNJ) du code est deacutefinie comme le rapport existant entre leacutetat final (XE) et celui de deacutepart (XA) En utilisant les quatre eacutequations donneacutees par (213) on obtient la fonction de transfert suivante6

( ) ( )

3 6

2

3 6 4 2 8 5 2 8 5 3 10 6 3 10

1 1

2

E

A

X J NDT D N J X JND J

J ND J N D J N D J N D J N D

= =minus +

= + + + + sdot

(214)

Le premier terme (J3ND6) de la fonction de transfert de (214) indique quil existe un message codeacute avec une distance de Hamming de 6 par rapport au message zeacutero Ce message codeacute diverge sur trois peacuteriodes avant de converger vers le message zeacutero (J3) et lexposant de la lettre N indique que le message ne possegravede quun seul bit dinformation 1 Les indications fournies par les six premiers termes7 de cette fonction de transfert sont deacutecrites agrave la Table 2-3

00

11

10 01 00JND3 JD

JND

JND2 JD

JND2

JD2

Etat XA Etat XB Etat XC

Etat XD

Etat XE Figure 2-17 diagramme deacutetat preacutedisposeacute pour la deacutetermination de la qualiteacute de protection du code convolutif de la Figure 2-10 La lettre J indique la transition lexposant de la lettre N deacutesigne le poids du symbole dentreacutee et celui de la lettre D le poids des bits de sortie

La distance minimale existant entre deux messages codeacutes est indiqueacutee par le plus petit exposant de la lettre D des termes de la fonction de transfert Dans notre cas (214) la distance libre dfree correspond agrave 6 (Table 2-3)

6 La fonction de transfert peut ecirctre directement obtenue en appliquant la regravegle de Mason

(Masons rule) au diagramme de la Figure 2-17 7 Les six termes comprenant les exposants de la lettre D les plus petits Cest-agrave-dire les

six messages codeacutes posseacutedant les distances de Hamming les plus petites

32

En consideacuterant la distance minimale dfree et une correction derreurs par seacutelection du message codeacute le plus proche le codage convolutif assure la correction de ( )1 2freed minus erreurs de transmission affectant le message codeacute reccedilu Lameacutelioration de la protection contre les erreurs peut ecirctre ainsi reacutealiseacutee en augmentant la longueur de contrainte K du code convolutif8 et le nombre n de bits de sortie9 Le paramegravetre modifieacute est typiquement le premier cette modification ameacuteliore la qualiteacute de protection contre les erreurs sans alteacuterer le rendement du code Rc [Lust00]

Distance de Hamming du message (D) le5 6 7 8 9 10 hellip Nombre des messages 0 1 0 2 0 4 hellip Peacuteriode de divergence (J) - 3 - 4 5 - 5 6

6 7 hellip

Distance de Hamming du message concerneacute (N) - 1 - 2 - 3 hellip

Table 2-3 caracteacuteristiques des messages posseacutedant les distances de Hamming les plus petites selon la fonction de transfert (214)

La Table 2-4 montre les valeurs de distance libre des deux codeurs convolutifs des standards UMTS Ces codes appartiennent agrave la liste de codes convolutifs eacutetablie par Odenwalder (1970) Larsen (1973) Paaske (1974) et Daut (1982) [Proa95] Etant donneacute une longueur de contrainte K et un rendement du code Rc ces codes possegravedent la distance libre dfree la plus eacuteleveacutee Ces codes ont eacuteteacute identifieacutes agrave laide de meacutethodes de recherche par ordinateur

Rendement du codeur

Longueur de contrainte

Polynocircmes geacuteneacuterateurs Distance libre

Rc=12 K=9 G0=561oct G1=753oct dfree=12 Rc=13 K=9 G0=557oct G1=663oct G2=711oct dfree=18

Table 2-4 caracteacuteristiques des codeurs convolutifs proposeacutes par le standard UMTS [Ts25212] pour la protection des donneacutees

Les potentialiteacutes pratiques de correction de ces codes sont consideacuterablement supeacuterieures au seuil minimal de ( )1 2freed minus erreurs la qualiteacute de la correction deacutepend de la meacutethode de deacutecodage utiliseacutee du deacutebit des erreurs de

8 La longueur K augmente la peacuteriode minimale de divergence des messages codeacutes 9 Le nombre n de bits de sortie augmente la distance de Hamming entre les symboles

codeacutes

33

transmission et de leur emplacement agrave linteacuterieur du message codeacute Il faut noter que les concentrations temporelles des erreurs de transmission (burst errors) baisse la qualiteacute effective de la correction vers le seuil minimal Le terme qualiteacute de protection se reacutefeacuterera dans la suite du document agrave la capaciteacute de correction de la meacutethode de deacutecodage traiteacutee

233 Utilisation des deux types de codage

Le codage convolutif diffegravere principalement du codage en bloc par le traitement continu et immeacutediat des symboles dinformation Le codage convolutif offre de plus une meilleure protection pour la mecircme complexiteacute drsquoimplantation [Karn95] Du point de vue du deacutecodage le codage convolutif offre une plus vaste gamme de solutions capables de beacuteneacuteficier des avantages apporteacutes par une situation de deacutecodage souple Parmi ces solutions on trouve des meacutethodes qui se concentrent sur la livraison du message le plus probable des meacutethodes estimant les symboles dinformations les plus probables ainsi que des meacutethodes livrant des informations suppleacutementaires relatives agrave la proceacutedure de deacutecodage (cf Chapitre 5) De par leur capaciteacute agrave traiter linformation en continu les meacutethodes de deacutecodage convolutif sont principalement utiliseacutes pour la correction derreurs de transmission alors que la deacutetection derreurs est essentiellement traiteacutee par le codage en bloc Le codage convolutif preacutesente une forte asymeacutetrie entre la complexiteacute de calcul de la proceacutedure de codage et celle de deacutecodage Malheureusement la qualiteacute de correction du codage convolutif est tregraves sensible aux concentrations des erreurs de transmission (burst errors)

24 Codes enchaicircneacutes

Si lon deacutesire creacuteer un code encore plus performant alors la concateacutenation de deux types de codes permet de beacuteneacuteficier des avantages de chaque type de code [Proa95] La compleacutementariteacute des codes en bloc et convolutifs suggegravere leur mise en cascade de maniegravere agrave mieux profiter des qualiteacutes des deux familles de codes (Figure 2-18) Le codeur exteacuterieur (Outer Encoder) chargeacute du premier codage du message est communeacutement un code en bloc Un code convolutif exeacutecute le second codage et fournit le message codeacute final (code inteacuterieur Inner Encoder)

34

[Proa95] Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle soit deacutecodant le message reccedilu puis en veacuterifiant etou corrigeant le message obtenu

codeur en bloc codeurconvolutif

deacutecodeurcode en bloc

deacutecodeurcode convolutif

message

messagedeacutecodeacute

messagecodeacute

messagereccedilu

Figure 2-18 structure classique de la concateacutenation entre un code en bloc et un code convolutif

Une approche plus reacutecente consiste en lrsquoexeacutecution parallegravele de plusieurs opeacuterations de codage des mecircme symboles du message (Figure 2-19) Apregraves la transmission les messages codeacutes proteacutegeant les mecircme symboles dinformation montrent des distorsions non correacuteleacutees entre eux ce codage multiple et indeacutependant permet au deacutecodeur dutiliser (iterativement) les informations de deacutecodage de ces messages pour ameacuteliorer la qualiteacute de protection contre les erreurs Le codage Turbo utilise cette approche de codage parallegravele

codeur de canal

deacutecodeur

message

messagecodeacute

messagereccedilu

codeur de canalentrelaceur

message

messagecodeacute

deacutecodeur

messagedeacutecodeacute

Figure 2-19 principe agrave la base du codage Turbo qui est baseacute sur lutilisation parallegravele de plusieurs codeurs convolutifs

25 Conclusions

Ce chapitre a briegravevement introduit les notions fondamentales de la protection des donneacutees contre les erreurs de transmission A partir des contributions pionniegraveres de Shannon les deux modes principaux de controcircle des erreurs FEC et ARQ ont eacuteteacute preacutesenteacutes Puis ce chapitre a deacutecrit les principes ainsi que

35

les proprieacuteteacutes du codage en bloc et du codage convolutif Ces notions de base seront utiliseacutees dans la suite du document En dernier lieu le chapitre introduit briegravevement le codage enchaicircneacute Le principe et les proprieacuteteacutes de structure particuliegravere de codage ont fait lobjet dune eacutetude dans le cadre de cette thegravese et seront discuteacutes dans le Chapitre 6

Reacutefeacuterences

[Draj02] D Drajic D Bajic Communication System Performance Achieving the Ultimate Information-Theoretic Limits IEEE Communications Magazine Vol 40 juin 2002 pp 124-129

[Hamm50] R W Hamming Error Detecting and Error Correcting Codes The Bell System Technical Journal Vol 29 No 2 1950 pp 147-160

[Karn95] P Karn TAPR Error Control Coding Seminar preacutesentation agrave the 1995 Tucson Amateur Packet Radio symposium St Louis mars 1995 page Internet de P Karn acceacutedeacutee en eacuteteacute 2002 httpwwwka9qnetpapers

[Liew02] T H Liew L Hanzo Space-Time Codes and Concatenated Channel Codes for Wireless Communications Proceedings of the IEEE Vol 90 No 2 feacutevrier 2002 pp 187-219

[Lin82] S Lin D J Costello Jr Error Control Coding Fundamentals and Applications Prentice-Hall Series in Computer Applications in Electrical Engineering New Jersey Etats-Unis dAmeacuterique 1982 Chapitre 4

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Noki00] Nokia Hybrid ARQ methods for FDD in Release 2000 TSGR114(00)0869 TSG-RAN Working Group1 meeting 14 Oulu Finlande 4-7 juillet 2000

[Pana01] Panasonic Proposal of bit mapping for type-III HARQ TSGR118(01)0031 TSG-RAN Working Group1 meeting 18 Boston Etats-Unis dAmeacuterique 15-18 janvier 2001

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

36

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp 447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

37

3 Structure de protection eacutetablie par les standards UMTS

Le chapitre deacutecrit les standards de communication numeacuterique UMTS Leur structure de codage et leurs caracteacuteristiques sont rappeleacutees

Les opeacuterations de codage de canal et de multiplexage des standards UMTS sont passeacutees en revue en les situant dabord dans le contexte dun modegravele dabstraction du systegraveme UMTS Les opeacuterations concerneacutees sont le codage en bloc CRC la concateacutenation et la segmentation du message la protection des donneacutees par codage les entrelacements ladaptation du deacutebit de transmission linsertion des indications de transmission le regroupement et le multiplexage des donneacutees proteacutegeacutees pour la transmission

La strateacutegie basique pour ladaptation de la qualiteacute de protection en fonction des exigences des diverses applications est mise en eacutevidence par lillustration de la structure de codage du service de parole AMR-NB agrave 122 kbps Cette structure a le meacuterite de preacutesenter les trois plus inteacuteressants contextes de codage convolutif

31 Modegravele hieacuterarchique du systegraveme UMTS agrave 3 niveaux dabstraction

Selon un concept geacuteneacuteral lrsquointerface radio (Radio Interface) des standards UMTS est baseacutee sur un modegravele de protocole agrave trois niveaux dabstraction aussi appeleacutees couches (Layers) dabstraction [Gath02] [Ts25201] Les tacircches de chaque couche sont bien deacutelimiteacutees et les interactions inter-couches se produisent uniquement agrave laide duniteacutes speacutecifiques La premiegravere couche deacutenommeacutee Physical Layer (Layer 1) contient le codage de canal Cette couche est responsable de la transmission des donneacutees qui lui

38

parviennent de la seconde couche la Data Link Layer (Layer 2) sous le controcircle de la troisiegraveme couche la Network Layer (Layer 3 Figure 3-1)

Radio RessourceControl (RRC)

Network layer(Layer 3)

Medium Access Control(MAC)

Data linklayer (Layer 2)

Physical layer (Layer 1)

Canaux de transport(Transport channels)

Controcircles etmesures

Figure 3-1 illustration graphique des iteacuterations entre le Physical Layer et les autres eacuteleacutements de linterface radio preacutevue par lUMTS [Ts25201]

Les donneacutees du message parviennent agrave la premiegravere couche par canaux seacutepareacutes de transport (Transport Channels TrCHs) Cette meacutethodologie permet lapplication de niveaux de protection adapteacutes aux exigences de chaque canal de transport (Unequal-Error-Protection UEP) La possibiliteacute dappliquer des niveaux de protection diffeacuterencieacutes est conforme agrave loptique de lUMTS qui vise agrave offrir un degreacute de souplesse agrave la proceacutedure de codage Cette souplesse permet ainsi aux applications utilisant une telle proceacutedure de beacuteneacuteficier dune qualiteacute de protection conforme agrave leurs exigences

32 Structure de codage de canal et multiplexage

Les donneacutees parviennent agrave leacuteleacutement responsable du codage de canal par blocs (canaux de transport) agrave intervalles de temps reacuteguliers Lrsquointervalle de temps de transmission (Transmission time interval lsquoTTIrsquo) est eacutetabli selon les caracteacuteristiques et les exigences de lrsquoapplication consideacutereacutee La gamme de choix dintervalle vaut 10 ms 20 ms 40 ms ou 80 ms Le deacuteroulement des opeacuterations relatives au codage de canal et de multiplexage des standards UMTS (selon le mode Frequency Division Duplex FDD10 de lUniversal Terrestrial Radio Access UTRA) [Ts25212] peut ecirctre diviseacutee en deux eacutetapes principales 10 Le mode Frequency Division Duplex (FDD) est une meacutethode de transmission en

duplex ougrave les deux transmissions radio unidirectionnelles (uplink et downlink) utilisent deux freacutequences radio diffeacuterentes

39

bull La premiegravere eacutetape traite de maniegravere individuelle les canaux de transport selon les consignes particuliegraveres de lapplication Cette eacutetape englobe le codage en bloc CRC la concateacutenation et la segmentation du message le codage de canal par code convolutif ou Turbo le premier entrelacement lrsquoadaptation du deacutebit de transmission et lrsquoinsertion des indications fixes de transmission DTX

bull La seconde partie dopeacuterations regroupe les donneacutees traiteacutees par les divers canaux de transport afin de les preacuteparer agrave la transmission Les opeacuterations concerneacutees sont celles du multiplexage de lrsquoinsertion des indications flexibles de transmission DTX de la segmentation par le nombre de canaux physiques et du second entrelacement

Il faut noter quen fonction de la direction de la transmission de type uplink11 ou downlink12 il existe deux seacutequences drsquoexeacutecution des opeacuterations Les diffeacuterences entre ces deux seacutequences sont toutefois minimes la seacutequence de la transmission uplink retarde lrsquoexeacutecution de la tacircche drsquoadaptation du deacutebit de transmission et elle ne neacutecessite pas linsertion des indications de transmission DTX [Ts25212] Les simulations utiliseacutees pour lanalyse et la veacuterification des performances des meacutethodes preacutesenteacutees dans ce document se basent sur la structure de codage de la communication uplink (Figure 3-2) Les opeacuterations impliqueacutees dans cette structure sont les suivantes [Ts25212] bull Codage en bloc CRC Si lapplication requiert une deacutetection drsquoerreurs apregraves

le deacutecodage les couches supeacuterieures (Figure 3-1) peuvent eacutetablir les conditions dutilisation dun des quatre codes CRC Cette eacuteventualiteacute permet aussi lexploitation du mode de controcircle derreurs ARQ Le nombre de bits de pariteacutes de ce code en bloc vaut 8 12 16 ou 24 [Ts25212]

11 Le lien radio uplink est la transmission unidirectionnelle des signaux depuis

lrsquoeacutequipement de lrsquoutilisateur (User equipement) vers une station de base (Base station) depuis une station mobile (Mobile station) vers une station mobile de base (Mobile base station) ou depuis une station mobile de base agrave une station de base [Tr21905]

12 Le lien radio downlink indique geacuteneacuteralement une transmission unidirectionnelle du reacuteseau vers lrsquoeacutequipement de lrsquoutilisateur [Tr21905]

40

premier canal de transport(TrCH1)

Multiplexage

Segmentation selon lenombre de canaux agrave

disposition

Second entrelacement

Passage au canal

dernier canal de transport(TrCHi)

Codage en bloc CRC(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Codage en bloc CRC

(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Figure 3-2 diagramme par blocs de la seacutequence dopeacuterations selon une transmission uplink en mode FDD [Ts25212]

41

bull Concateacutenation et segmentation du message Tous les blocs de donneacutees qui

appartiennent au mecircme intervalle de transmission (TTI) et au mecircme canal de transport sont enchaicircneacutes de maniegravere seacutequentielle Si le nombre total de bits deacutepasse le nombre maximal eacutetabli par le standard UMTS [Ts25212] le bloc de donneacutees est segmenteacute Ce nombre maximal varie en fonction du type de codage de canal utiliseacute (codage convolutif ou Turbo)

bull Protection des donneacutes par codage Les donneacutees de chaque canal de transport peuvent ecirctre proteacutegeacutees seacutepareacutement soit par un code convolutif (avec rendement du code Rc de 12 ou 13) soit par un code Turbo Dans le cas de donneacutees segmenteacutees en plusieurs blocs les divers messages codeacutes sont multiplexeacutes de maniegravere seacutequentielle apregraves le codage

bull Adaptation du deacutebit de transmission Etant donneacute la variation possible du nombre de donneacutees dentreacutee des divers canaux il se peut que la taille totale des messages codeacutes ne coiumlncide pas avec le nombre exact de bits transmissibles par peacuteriode Dans ce cas selon les consignes des deux couches supeacuterieures certains bits des messages codeacutes sont seacutelectionneacutes afin decirctre soit reacutepeacuteteacutes soit eacutelimineacutes (poinccedilonneacutes)

bull Segmentation du message codeacute Cette seacuteparation se fait selon le nombre des trames radio (Radio Frames) disponibles pour la transmission des donneacutees de tous les canaux Dans le systegraveme UMTS une trame radio couvre la transmission des donneacutees pour un intervalle de 10 ms Si lrsquointervalle de transmission TTI de lapplication deacutepasse les 10 ms les donneacutees de chaque canal sont groupeacutees de maniegravere agrave permettre une reacutepartition successive en plusieurs trames radio

bull Egalisation Leacutegalisation se fait en fonction du nombre des trames radio Si le systegraveme de codage utilise plusieurs trames radio cette opeacuteration assure une segmentation uniforme des donneacutees en ajoutant si neacutecessaire des bits suppleacutementaires

bull Premier et second entrelacement Ces deux opeacuterations exeacutecutent un entrelacement en bloc avec une permutation des colonnes Les paramegravetres reacuteglant la permutation deacutependent de lrsquointervalle de transmission TTI utiliseacute

bull Multiplexage Chaque 10 ms les blocs des divers canaux de transport appartenant agrave la mecircme trame radio sont deacutelivreacutes agrave lrsquouniteacute de multiplexage Cette uniteacute preacutepare ainsi le message final contenant des informations appartenant agrave tous les canaux de transport Ce message nommeacute Coded composite transport channel (CCTrCH ) sera ensuite transmis physiquement

bull Segmentation La segmentation se fait en fonction du nombre de canaux physiques Si lrsquoapplication envisage lrsquoutilisation simultaneacutee de plusieurs

42

canaux physiques (PhCH) les bits appartenant agrave ce dernier message (CCTrCH) sont reacutepartis uniformeacutement entre ces canaux

bull Passage au canal physique Les bits drsquoentreacutee sont transfeacutereacutes au canal physique de maniegravere agrave pouvoir ecirctre envoyeacute les uns apregraves les autres par transmission sans fil

33 Exemple drsquoapplication le service de parole Adaptive-Multi-Rate agrave bande eacutetroite (AMR-NB)

La description du systegraveme de codage UMTS [Ts25212] met en eacutevidence la strateacutegie adopteacutee lors de la deacutefinition de ce type de standard cest agrave dire la creacuteation de systegravemes disposant dun haut niveau de souplesse Cette souplesse permet ladaptation du systegraveme de transmission aux diverses exigences des applications preacutesentes et futures La deacutefinition des paramegravetres de transmission et le choix des opeacuterations de codage sont deacutetermineacutes parallegravelement au deacuteveloppement et agrave la reacutealisation de lrsquoapplication Le document 3GPP [Tr21904] regroupe ainsi de maniegravere deacutetailleacutee les informations des diverses fonctionnaliteacutes et les gammes de paramegravetres correspondant Les paramegravetres se reacutepartissent en deux classes les paramegravetres obligatoires et les paramegravetres speacutecifiques aux services envisageacutes Leacutequipement afin drsquoecirctre reconnu agrave lrsquointeacuterieur du reacuteseau UMTS doit obligatoirement supporter une gamme de fonctionnaliteacutes et de paramegravetres de fonctionnement de base Laccegraves agrave certains services etou applications peut requeacuterir des fonctionnaliteacutes et des paramegravetres de fonctionnement suppleacutementaires En ce qui concerne le cas speacutecifique du service de parole AMR agrave bande eacutetroite (AMR-NB) [Ts26073] [Ts26101] la Table 3-1 deacutecrit les fonctionnaliteacutes et les gammes de paramegravetres les plus importantes qui concernent les opeacuterations de codage et de multiplexage Ce service utilise trois canaux de transport (Figure 3-3) de maniegravere agrave pouvoir adapter la protection aux diverses sensibiliteacutes aux erreurs des bits dinformations Un quatriegraveme canal est utiliseacute pour la transmission des signaux de controcircle La strateacutegie dune protection diffeacuterencieacutee naicirct de lexpeacuterimentation apparaissant dans la litteacuterature (exemples [Hage88] [Cox91]) et de lrsquoexpeacuterience acquise avec les technologies GSM [ETSI909] Lestimation des sensibiliteacutes des bits dinformation de la trame AMR-NB agrave 122kbps (Figure 3-4) montre des valeurs non-uniformes lalteacuteration des valeurs des bits dinformation formant la trame provoque une deacutegradation du signal de parole

43

reconstruit deacutegradation qui varie fortement selon la fonction du bit dinformations

Opeacuterations Commentaires Deacutetection drsquoerreurs Tous les eacutequipements doivent supporter la possibiliteacute

drsquoun codage en bloc CRC avec 8 12 et 16 bits de pariteacute Par contre le codage en bloc avec 24 bits de pariteacute est optionnel

Codage de canal Tous les eacutequipements doivent supporter le codage convolutif (avec un rendement du code 13 et 12) Les autres variantes (codage Turbo et absence de codage) sont optionnelles

Multiplexage Dans le cas drsquoun service de parole AMR utilisant un canal deacutedieacute (Dedicated channel DCH ) tous les eacutequipements doivent supporter au minimum 4 canaux de transmission (3 pour les donneacutees avec TTI de 20 ms et 1 pour la transmission des signaux de controcircle)

Etalement (Spreading)

Dans le cas drsquoun seul service de parole AMR tous les eacutequipements doivent supporter les facteurs deacutetalement SF=64 (qui signifie 600 bitstrame radio [Ts25211]) SF=128 (300 bitstrame radio) et SF=256 (150 bitstrame radio)

Table 3-1 extrait des fonctionnaliteacutes relatives agrave laccegraves au service de parole AMR [Tr21904]

Selon la structure de protection adopteacutee (Figure 3-3) les bits de la trame AMR-NB agrave 122 kbps sont groupeacutes en trois classes indiqueacutees par les lettres A B et C en fonction de leur sensibiliteacute aux erreurs [Ts26101] Dans la classe A on trouve les bits dinformation les plus importants dont lutilisation neacutecessite labsence totale derreurs Par conseacutequent le codage des bits dinformation utilise le code convolutif le plus performant (Rc=13) et la qualiteacute du deacutecodage est controcircleacutee par lutilisation dun code en bloc CRC systeacutematique La classe B renferme les bits de valeur dont leacuteventuelle alteacuteration ne requiert pas la prise de mesures speacuteciales de recouvrement derreurs (Error Concealment) La classe C contient tous les bits preacutesentant une sensibiliteacute mineure aux erreurs leur niveau de protection est reacuteduit par lutilisation dun code convolutif avec rendement de 12

44

Codage CRC81 bits

81 bits 12 bits

93 bits 8 bits

Ajout desbits determinaison

303 bits

CodageConvolutif

303 bits

Egalisation

1 bit

304 bits

Premierentrelacement

152 bitsSegmentation

Adaptation dudeacutebit

152 bits

bits bits

103 bits

103 bits

103 bits 8 bits

333 bits

333 bits 1 bit

334 bits

167 bits 167 bits

bits bits

60 bits

8 bits

136 bits

60 bits

60 bits

136 bits

136 bits

68 bits68 bits

bits bits

Premier canal detransportTrCH1

Second canal detransportTrCH2

Troisiegraveme canal detransportTrCH3

Rc=13 Rc=13 Rc=12

Multiplexage

1a 1b2a 2b 3b3a Secondentrelacement

Passage aucanal

message message message

Premier Radio Frame Second Radio Frame

canal physique

Figure 3-3 repreacutesentation deacutetailleacutee de la seacutequence dopeacuterations neacutecessaires au codage de canal proposeacutee par [TrR104] pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD)

Bien que les paramegravetres du service de parole AMR-NB (Table 3-2) puissent encore subir des modifications13 cette structure (Figure 3-3) sera utiliseacutee pour lrsquoeacutevaluation pratique des implantations software des algorithmes En effet cette structure a le meacuterite de supporter les contextes de codage les plus inteacuteressants une protection par lrsquoutilisation conjointe drsquoun code en bloc CRC et drsquoun code convolutif et le simple codage convolutif avec rendement Rc=13 ou Rc=12

13 Au moment de leacutetablissement de la structure de protection utiliseacutee pour les simulations

softwares

45

Nombre de canaux de transport (TrChs) 3 Tailles des canaux de transport 81 103 et 60 bits Codage CRC Uniquement utiliseacute pour le premier canal

de transport CRC avec 12 bits de pariteacute Codage de canal Codage convolutif avec rendement du

code de 13 pour les deux premiers canaux de transport et 12 pour le dernier

TTI 20 ms

Table 3-2 caracteacuterisation de la structure de protection pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD) structure proposeacutee par [TrR104]

Figure 3-4 mesure objective de la sensibiliteacute aux erreurs des bits dinformation constituant la trame du service AMR-NB agrave 122kbps La sensibiliteacute est estimeacutee en alteacuterant systeacutematiquement le bit analyseacute avant la reconstruction des signaux de parole (base de donneacutees TIMIT et Bdsons) La deacutegradation des signaux est eacutevalueacutee agrave laide de la mesure spectrale (spectral measure) Les fonctions de chaque bit de la trame AMR-NB agrave 122 kbps sont deacutefinies dans le standard [Ts26101]

46

34 Conclusions

Ce chapitre porte sur les objectifs des standards de communication numeacuterique UMTS Parmi les aspects preacutesenteacutes ce chapitre a illustreacute la structure particuliegravere du codage de canal preacutevue par ces technologies de la 3G Son environnement de travail ainsi que les opeacuterations de codage et de multiplexage ont eacuteteacute passeacutes en revue La strateacutegie de base adopteacutee par ces standards UMTS est ladaptation de la qualiteacute de protection en fonction des exigences des applications La structure de codage du service de parole AMR-NB agrave 122 kbps a eacuteteacute utiliseacutee agrave titre dexemple Gracircce agrave ses caracteacuteristiques de protection cette structure sera utiliseacutee pour leacutetude des implantations software de meacutethodes de deacutecodage convolutif (Chapitre 6)

Reacutefeacuterences

[Cox91] R V Cox J Hagenauer N Seshadri et C-E W Sundberg ldquoSubband Speech Coding and Matched Convolutional Channel Coding for Mobile Radio Channelsrdquo IEEE Transactions on Signal processing Vol 39 No 8 aoucirct 1991 pp 1717-1731

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Hage88] J Hagenauer rdquoRate-Compatible Punctured Convolutional Codes (RCPC Codes) and their Applicationsrdquo IEEE Transaction on Communications Vol 36 No 4 avril 1988 pp 389-400

[Tr21904] 3GPP UE capability requirements document 3GPP TR 21904 version 330

[Tr21905] 3GPP Vocabulary for 3GPP Specifications document 3GPP TR 21905 version 010

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

47

[Ts25201] 3GPP Physical layer ndash General Description document 3GPP TS 25201 version 210

[Ts25211] 3GPP Physical channels and mapping of transport channels onto physical channels (FDD) document 3GPP TS 25211 version 410

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26073] 3GPP AMR speech Codec C-source code document 3GPP TS 26073 version 300

[Ts26101] 3GPP AMR speech Codec Frame structure document 3GPP TS 26101 version 160

48

49

4 Transmission de donneacutees par reacuteseaux cellulaires sans fil

Ce chapitre traite de la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les facteurs dont deacutepend la qualiteacute de la transmission sans fil sont tout dabord preacutesenteacutes La qualiteacute de la transmission est influenceacutee par des facteurs techniques tels que le type de modulation la strateacutegie de reacutepartition du territoire en plusieurs zones (cellules) le type dantenne des systegravemes de communication et les moyens actifs de reacuteduction des distorsions du signal ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee ainsi que la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier

Ce chapitre traite eacutegalement de la modeacutelisation des systegravemes de transmission A partir des exigences deacutevaluation de simulation et des types derreurs reproductibles deux modeacutelisations simples du moyen de transmission sont preacutesenteacutees Il sagit des modegraveles Binary symmetric channel (BSC) et Additive white gaussian noise (AWGN)

41 Introduction

Les uniteacutes de codage et de deacutecodage de canal font partie dun systegraveme complexe dont le but est dassurer la transmission des donneacutees par reacuteseaux cellulaires sans fil Lobjectif speacutecifique du codage de canal est le controcircle des erreurs de transmission des symboles erreurs causeacutees principalement par la variation des nombreux facteurs influenccedilant la transmission La structure simplifieacutee dun teacuteleacutephone mobile (Figure 4-1) contient deux grosses uniteacutes de base La premiegravere traite les signaux dans leur bande de base Elle est responsable de ladaptation du message agrave la transmission sans fil ainsi

50

que de la reconstruction et de la livraison du message reccedilu au destinataire Cette uniteacute est deacutenommeacutee bande de base La seconde uniteacute (RF) se charge de la transmission des signaux vers et provenant duvers le reacuteseau cellulaire sans fil

ModulationRF

Codagede parole

Codagede

canalChiffrage Amplification

Dup

lex

DAC

Deacute-modulation

Deacutecodagede parole

Deacutecodagede

canal

Deacute-chiffrage

ConvertisseurRFIFADCDeacute-

modulation

Modulation

Bande de base RF

Figure 4-1 scheacutema tregraves simplifieacute de la structure dun teacuteleacutephone mobile geacuteneacuterique

En consideacuterant cette structure de teacuteleacutephone mobile il faut consideacuterer le fait que les caracteacuteristiques des symboles reccedilus par luniteacute de deacutecodage de canal sont influenceacutees par toutes les eacutetapes de traitement et de transmission situeacutees entre le codage et le deacutecodage de canal

42 Facteurs influenccedilant la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les caracteacuteristiques de la transmission de donneacutees par reacuteseaux cellulaires sans fil deacutependent de plusieurs facteurs aussi bien techniques quenvironnementaux En raison des grandes dimensions du territoire couvert par les transmissions aeacuteriennes ainsi que du nombre eacuteleveacute dutilisateurs il est impossible de consideacuterer lutilisation dune station unique de base pour couvrir toute la surface du territoire La strateacutegie adopteacutee se base sur la reacutepartition du territoire en plusieurs zones deacutenommeacutees cellules chacune geacutereacutee par une station de base (Figure 4-2) Cette strateacutegie cellulaire savegravere tregraves efficace aussi bien pour la reacuteduction de la puissance de transmission que pour une meilleure utilisation des canaux de transmission (reacuteutilisation des bandes des freacutequences)

51

antenne de la stationde base de la cellule

cellule

champ de couvertureradio de la cellule

Figure 4-2 strateacutegie de reacutepartition du territoire en cellules

Le premier facteur influenccedilant la qualiteacute de la transmission sans fil est la dimension et la geacuteomeacutetrie de la cellule agrave linteacuterieur de laquelle se produit la transmission (Figure 4-3) En effet la distance entre lantenne de la station de base de la cellule et celle de leacutequipement mobile deacutetermine une atteacutenuation de la puissance de reacuteception qui varie selon le facteur

21

distance (41)

cf [Moul92] Donc lorsque la dimension de la cellule diminue la puissance deacutemission neacutecessaire pour une transmission fiable dans la cellule entiegravere peut ecirctre ainsi reacuteduite Le dimensionnement des cellules doit tenir compte du fait que chaque cellule utilise une bande de freacutequences limiteacutee supportant un nombre fixe de communications simultaneacutees (Spectrum scarcity) Par conseacutequent lutilisation de cellules de taille infeacuterieure reacuteduit latteacutenuation des signaux transmis et offre un meilleur rapport entre le nombre de communications supporteacutees et la surface du territoire couvert (Figure 4-3) Les opeacuterateurs peuvent eacutegalement recourir agrave la creacuteation de micro-cellules afin daugmenter le nombre dutilisateurs potentiels dans une partie restreinte du territoire Les limites infeacuterieures de la dimension des cellules sont deacutetermineacutees principalement par des aspects eacuteconomiques En effet agrave partir dun certain facteur de reacuteduction les avantages que lon peut retirer ne justifient pas les coucircts suppleacutementaires de gestion et dinstallations

52

antenne de la stationde base de la cellule

cellule

Figure 4-3 reacutepartition du territoire en cellules Les cellules de taille plus reacuteduite augmentent le rapport entre le nombre de canaux agrave disposition et le territoire couvert

Une des raisons de lefficaciteacute de la strateacutegie de reacutepartir le territoire couvert en plusieurs cellule est la reacuteutilisation des bandes de freacutequences les cellules non-adjacentes reacuteutilisent les mecircme bandes de freacutequences augmentant le nombre de canaux radio agrave disposition Malheureusement la reacutepartition du territoire en cellules de petite taille implique le rapprochement des cellules utilisant la mecircme bande de freacutequences Ainsi les transmissions agrave linteacuterieur dune cellule peuvent directement interfeacuterer avec celles des autres utilisant la mecircme bande de freacutequences (Figure 4-4) Ces interfeacuterences ne peuvent pas ecirctre empecirccheacutees par des opeacuterations de filtrage et sont appeleacutees interfeacuterences co-canal Un moyens efficace pour reacuteduire limportance de ces interfeacuterences est lutilisation dantennes directionnelles selon la structure des cellules et la reacutepartition geacuteographique du territoire il est possible datteacutenuer les interfeacuterences co-canal en dirigeant intelligemment les eacutemissions des antennes des stations de base (Figure 4-5) Lutilisation de ces antennes directionnelles sadapte eacutegalement bien aux situations dans lesquelles des obstacles modifient la puissance de reacuteception des signaux jusquagrave creacuteer des situations dombrage

53

antenne de la stationde base de la cellule

Figure 4-4 situation dinterfeacuterence co-canal En utilisant la mecircme bande de freacutequences les transmissions agrave linteacuterieur dune cellule interfegraverent avec celle de lautre

antenne de la stationde base de la cellule

cellule utilisant la mecircme bandede freacutequences

Figure 4-5 exemple de strateacutegie deacutemission et reacuteception des stations de base Lutilisation des antennes directionnelles permet datteacutenuer les interfeacuterences co-canal

Dans le cas de complexes urbains denseacutement peupleacutes les transmissions sans fil deviennent encore plus critiques Etant donneacute la forte densiteacute dobstacles la qualiteacute des transmissions varie sans cesse et avec des diffeacuterences locales pouvant devenir tregraves importantes Par conseacutequent latteacutenuation de la puissance de reacuteception (41) peut ainsi atteindre pratiquement un facteur valant

54

41

distance (42)

cf [Moul92] Si loin des agglomeacuterations la transmission implique normalement la reacuteception dun seul signal dans ces espaces denseacutement construits lantenne reccediloit plusieurs signaux temporellement deacutecaleacutes (Signal Multipath) De plus les multiples reacuteflexions du signal contre les obstacles creacuteent des signaux mutuellement deacutephaseacutes qui sadditionnant de maniegravere destructive deacutegradent la qualiteacute de la communication (Signal Fading) Un facteur influenccedilant les caracteacuteristiques de transmission est la mobiliteacute de leacutequipement La transmission est eacutegalement affecteacutee par des distorsions dont limportance est fonction de la vitesse de leacutequipement mobile (effet Doppler) de la dimension des cellules impliqueacutees et de lenvironnement (installations urbaines ou campagne) Enfin des facteurs techniques (principalement le type de modulation et les moyens de reacuteduction des distorsions) ont un effet direct sur la qualiteacute de la transmission sans fil Parmi ces moyens on trouve les techniques deacutetalement de spectre (qui permet de reacuteduire les interfeacuterences co-canal [Ts25213]) lutilisation de plusieurs antennes reacuteceptrices (Multiple Antennas [R1-1218]) et lutilisation dune recombinaison de plusieurs signaux reccedilus (exemple Maximal Ratio Combination [Gath02])

43 Modeacutelisation du moyen de transmission

Le standard UMTS [Ts25212] deacutefinit la structure et la seacutequence des moyens mis agrave disposition pour la protection des donneacutees contre les erreurs de transmission dans le cadre des technologies de la 3G Toutefois le standard nimpose aucune proceacutedure de deacutecodage Afin de permettre leacutevaluation des performances de diverses strateacutegies de deacutecodage il faut analyser le comportement du deacutecodeur face agrave des signaux perturbeacutes Ces signaux peuvent ecirctre obtenus soit par acquisition soit en les geacuteneacuterant par simulation Une meacutethode de geacuteneacuteration consiste agrave manipuler des bits contenus dans les trames radio (Radio Frames) de maniegravere agrave obtenir des seacutequences de symboles preacutesentant certains types de distorsions (Figure 4-6) Ideacutealement cette manipulation doit reproduire fidegravelement les effets causeacutes par une situation de

55

transmission donneacutee et tenant compte de linfluence des autres eacuteleacutements du systegraveme situeacutes entre le codage et le deacutecodage de canal La reproduction dune situation reacuteelle implique sa modeacutelisation preacutecise et la deacutefinition exacte de tous les paramegravetres et de tous les eacuteleacutements qui la deacutecrivent Etant donneacute le nombre eacuteleveacute des facteurs intervenant dans la transmission aeacuterienne et leur variabiliteacute la reacutealisation et la mise au point dun tel systegraveme sont tregraves complexes et coucircteuses Une alternative efficace agrave la modeacutelisation est lutilisation de seacutequences reacuteelles derreurs obtenues par mesure La transmission de messages connus et lacquisition successive des seacutequences correspondantes de symboles agrave lentreacutee du deacutecodage de canal permettent lobtention de divers modegraveles derreurs Cette approche neacutecessite un systegraveme de communication UMTS opeacuterationnel ainsi que dun eacutequipement dacquisition

Systegravemedanalyse et

deacutetude

Canal detransmission(simulateur)

trames radio

symboles

Codeur de canal UMTSmessages

Deacutecodeur de canalcompatible avec les

standards UMTS

messagesdeacutecodeacutes

paramegravetres

Figure 4-6 systegraveme danalyse manipulant le contenu des trames radio (Radio Frames)

431 Systegraveme de perturbation artificielle des signaux

Lors du deacuteveloppement dune nouvelle technologie leacutetude de base de la qualiteacute de protection utilise geacuteneacuteralement une modeacutelisation simple du moyen de transmission Types derreurs La deacutefinition dun systegraveme simple de modeacutelisation doit tenir compte de la reacuteaction du systegraveme de codage UMTS [Ts25212] en preacutesence des divers types derreurs de transmission Il existe deux principaux types derreurs le Random-error et le Burst-error [Lust00]

56

Le Random-error caracteacuterise les moyens de transmission qui ne preacutesentent pas deffets de meacutemoire (Memoryless channels) Le bruit affecte chaque symbole de maniegravere indeacutependante geacuteneacuterant des erreurs non-correacuteleacutees dans la seacutequence de symboles reccedilus Les transmissions spatiales en sont des exemples typiques

Etat du canalnormal

Etat du canalaffecteacute pardes erreurs

probabiliteacute P

probabiliteacute Qprobabiliteacute 1-Q

probabiliteacute 1-P

0 0

1 1

probabiliteacute Pnormale

Etat du canal normal

probabiliteacute 1- Pnormale

probabiliteacute 1- Pnormale

0 0

1 1

probabiliteacute Pburst

Etat du canal affecteacute par des erreurs

probabiliteacute 1- Pburst

probabiliteacute 1- Pburst

modeacutelisation de leacutetat du canal

modeacutelisation du canal de transmission selon leacutetat du canal

Figure 4-7 modeacutelisation des erreurs de type Burst au moyen du model de canal Gilbert Elliot Channel (GEC) [ITU191] Selon leacutetat du canal (normal ou affecteacute par des erreurs) ce modegravele repreacutesente la transmission des donneacutees par moyen du modegravele Binary symmetric channel (BSC Figure 4-8) Les probabiliteacutes P et Q deacuteterminent loccurrence de deux eacutetats du canal Les probabiliteacutes derreurs Pnormale et Pburst permettent ladaptation du modegravele BSC aux deux eacutetats du canal A titre dexemple lapplication Error Insertion Device de [ITU191] utilise Pnormale=0 et Pburst=05

Les transmissions radio terrestres preacutesentent parfois de fortes correacutelations entre les apparitions derreurs Ces transmissions souffrent temporairement des effets de la reacuteception simultaneacutee de plusieurs copies du mecircme signal

57

deacutecaleacutees dans le temps (Fading) Par conseacutequent les erreurs ne sont pas distribueacutees uniformeacutement dans la seacutequence de symboles reccedilus mais elles affectent des groupes de symboles conseacutecutifs (Figure 4-7) Ainsi ils sont appeleacutes burst-errors La preacutesence des deux eacutetages dentrelacement dans le systegraveme de codage de canal UMTS [Ts25212] reacuteduit la concentration des erreurs en les reacutepartissant dans tout le message14 Par conseacutequent le signal affecteacute par ce type derreur est perccedilu par le deacutecodeur de canal UMTS comme un message preacutesentant des erreurs non-correacuteleacutees mais posseacutedant un deacutebit derreurs (temporairement) plus eacuteleveacute Modeacutelisations simples du moyen de transmission le Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) channel Les deux modegraveles les plus simples mais toutefois efficaces pour leacutevaluation de la qualiteacute de protection de canal sont le Binary symmetric channel et le Additive white gaussian noise channel Le Binary symmetric channel modeacutelise un canal de transmission qui ne preacutesente pas deffets de meacutemoire agrave laide dune situation de deacutecision ferme (Figure 4-8)

0 0

1 1

probabiliteacute 1-Pe

probabiliteacute 1-Pe

probabiliteacute Pe

Figure 4-8 diagramme de transition du Binary symmetric channel (BSC) avec probabiliteacute derreur Pe

Cette modeacutelisation est deacutecrite par la probabiliteacute de croisement Pe deacutecrite par

14 La qualiteacute de protection du codage convolutif est affaiblie en preacutesence de concentrations

des erreurs de transmission (burst errors cf Chapitre 2) les techniques dentrelacement permettent de faire face agrave ces situations eacutevitant une baisse temporaire de la qualiteacute de la protection

58

Pr et 01e i i i i i iP r x r x r x

= ne isin (43)

A partir de la probabiliteacute Pe le BER de la seacutequence de bits reccedilus est directement obtenu Le modegravele Additive white gaussian noise channel est utile pour leacutevaluation de systegravemes exploitant une deacutecision souple A chaque instant i ce modegravele15 modifie le symbole ix par laddition dun bruit blanc gaussien vi i i ir x v= + (44) ougrave le symbole ix est une repreacutesentation antipodale16 du bit dentreacutee xi Le bruit constitutif vi suit la densiteacute de probabiliteacute gaussienne

2

2

2 12

i iv x

i ip v x e σσπ

minusminus

sdot=sdot sdot

(45)

caracteacuteriseacutee par la variance σ2 (Figure 4-9) [Proa95] Dans le contexte du deacutecodage des codes convolutifs il est dusage dexprimer le niveau de perturbation affectant la transmission par le rapport signal sur bruit par bit donneacute par EbN0 (Signal-to-noise ratio per bit Figure 4-9) Cette uniteacute de mesure considegravere leacutenergie neacutecessaire agrave la transmission dun bit dinformation Eb par rapport agrave lefficaciteacute de la perturbation Cette efficaciteacute est repreacutesenteacutee par la densiteacute spectrale lateacuterale de la puissance N0 (One-sided power spectral density)

15 Version agrave temps discret du modegravele Additive white gaussian noise channel 16 Ce modegravele considegravere que le symbole ix est le i-egraveme symbole livreacute par lopeacuteration de

deacutemodulation eacutetant donneacute une transmission binaire du i-egraveme bit xi

59

Figure 4-9 densiteacute de probabiliteacute des symboles affecteacutes par laddition dun bruit blanc gaussien (rapport signal sur bruit par bit Eb N0 de 0 dB agrave 10 dB) Les symboles sont moduleacutes en amplitude de maniegravere antipodale (+1-1 PAM)

432 Modegravele de canal utiliseacute dans la suite des eacutetudes

Le systegraveme de perturbation choisi pour les simulations de perturbations dues agrave la transmission sans fil se base sur laddition dun bruit blanc gaussien (Figure 4-10) Ce systegraveme permet danalyser le comportement du deacutecodeur selon les deacutecisions de type ferme et pondeacutereacute ainsi que de beacuteneacuteficier des reacutesultats mentionneacutes dans la litteacuterature Par rapport aux paramegravetres du modegravele AWGN il faut remarquer que la relation existant entre la densiteacute spectrale N0 et la variance σ2 est

2 0 2Nσ = (46)

La relation entre leacutenergie de transmission de chaque symbole Es et celle de chaque bit dinformation Eb est nombre de symboles nombre de bits dinformation s bE n E ksdot = sdot (47) Ces deux relations (46) et (47) permettent dexprimer le rapport entre la variance σ2 et le rapport EbN0 de la maniegravere suivante

60

20

2

b sE E nN k σ

sdot=sdot sdot

(48)

Par rapport agrave la geacuteneacuteration de valeurs de bruit blanc gaussien vi les implantations logicielles utilisent les techniques mentionneacutees dans [Pres92]

ModulationPAM

antipodaleAWGN Quantificateur

nombre deniveaux

pas dequantification

canalbits de latrame radio

symboles

Deacuteterminationde par

EbNo k n

σ

2 02

Nσ =

σ

Es

Figure 4-10 scheacutema du canal utiliseacute se basant sur laddition dun bruit blanc gaussien (AWGN) agrave temps discret La modulation antipodale PAM adopteacutee transforme le bit dentreacutee prenant les valeurs 0 et +1 en un bit prenant respectivement les valeurs 1 et ndash1

44 Conclusions

Ce chapitre a traiteacute la probleacutematique de la transmission de donneacutees par reacuteseaux cellulaires sans fil Les facteurs techniques et environnementaux influenccedilant la transmission ont eacuteteacute briegravevement illustreacutes Suite agrave la description de ces facteurs ce chapitre a discuteacute laspect de la modeacutelisation du moyen de communication En consideacuterant les exigences deacutevaluation et de simulation ainsi que les types derreurs reproductibles deux modeacutelisations simples ont eacuteteacute preacutesenteacutees le modegravele Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) Ce dernier a eacuteteacute retenu pour modeacuteliser le moyen de transmission servant agrave lanalyse des meacutethodes de deacutecodage des Chapitres 6 et 7

61

Reacutefeacuterences

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[ITU191] International Telecommunication Union ITU-T Software Tools Library Seacuterie G Transmission systems and Media document ITU-T G191-STL-96 1996

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Moul92] M Mouly MndashB Pautet The GSM System for Mobile Communications Cell amp Sys Telecom Publishing 1992

[Pres92] W H Press S A Teukolsky W T Vetterling et B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[R1-1218] 3GPP Preliminary link level results for HSDPA using multiple antennas Lucent Technologies 3GPP TSG RAN WG1 document TSGR116(00)1218

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts25213] 3GPP Spreading and modulation (FDD) document 3GPP TS 25213 version 311

62

63

5 Meacutethodes pour le deacutecodage des codes convolutifs

Ce chapitre preacutesente les principes de deacutecodage de codes convolutifs et en deacutecrit les algorithmes les plus repreacutesentatifs

Les notions de base neacutecessaires agrave la compreacutehension des principes et des algorithmes sus-mentionneacutes sont introduites Puis la repreacutesentation numeacuterique des symboles reccedilus par le deacutecodeur le critegravere doptimisation utiliseacute pour le deacutecodage et le type dinformation de sortie souhaiteacute sont traiteacutes

Un aperccedilu historique des principales eacutetapes ayant conduit aux meacutethodes de deacutecodage actuelles est donneacute Ces meacutethodes sont preacutesenteacutees selon leur critegravere doptimisation soit les meacutethodes recherchant le message le plus probable et celles estimant les symboles dinformations les plus probables Dans la premiegravere classe de meacutethodes on trouve le Deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Parmi la seconde classe de meacutethodes on trouve le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Soft Output Viterbi Algorithm

Les algorithmes de Viterbi et de List Decoding constituent la base des meacutethodes ameacutelioreacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC preacutesenteacutees au Chapitre 6 et sont agrave la base de la reacutealisation mateacuterielle deacutecrite au Chapitre 7 Les descriptions algorithmiques des autres meacutethodes existantes sont donneacutees en Annexe A

Ce chapitre se termine par une comparaison et une discussion des caracteacuteristiques des meacutethodes traiteacutees

64

51 Notions de base

Les points deacuteterminant le choix et la mise au point dune meacutethode de deacutecodage sont la configuration et les exigences propres au systegraveme dans lequel le deacutecodeur est appeleacute agrave travailler Il sagit plus preacuteciseacutement

bull du type de repreacutesentation numeacuterique des symboles reccedilus bull du critegravere doptimisation de la meacutethode de deacutecodage bull de la demande dinformation suppleacutementaire requise pour eacutevaluer la

fiabiliteacute de lopeacuteration de deacutecodage Ces trois aspects sont briegravevement passeacutes en revue ci-dessous

511 Repreacutesentations numeacuteriques des symboles reccedilus

Les symboles reccedilus sont repreacutesenteacutes numeacuteriquement en utilisant lune des deux techniques suivantes

bull Hard Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision ferme les symboles sont quantifieacutes en utilisant la mecircme repreacutesentation numeacuterique que celle des symboles du message codeacute

bull Soft Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision souple ou pondeacutereacutee la repreacutesentation numeacuterique dispose dun nombre de niveaux de quantification supeacuterieur par rapport agrave la repreacutesentation des symboles du message codeacute Lrsquoutilisation drsquoune quantification moins rigide augmente le flux drsquoinformations mis agrave disposition du deacutecodeur

Chaque type de deacutecision preacutesente ses avantages La quantiteacute dinformations plus importante fournie au deacutecodeur gracircce agrave une deacutecision souple permet un deacutecodage de qualiteacute supeacuterieure Lapplication dune deacutecision ferme reacuteduit les ressources de stockage et de calcul neacutecessaires aux opeacuterations de traitement du signal

512 Critegraveres de deacutecodage

Lobjectif du codage de canal est lutilisation de techniques de traitement du signal permettant de proteacuteger les seacutequences de symboles drsquoinformations (les messages) contre les perturbations quelles subissent pendant leur transmission Dans le cas particulier des codes convolutifs la protection est obtenue en passant le message agrave travers un systegraveme (le geacuteneacuterateur du code ou codeur) constitueacute dun registre agrave deacutecalage et dun nombre fini de fonctions

65

lineacuteaires algeacutebriques (Linear Finite-State Shift Register [Proa95] voir la Sous-Section 232) Le deacuteroulement de la proceacutedure de codage convolutif peut ecirctre repreacutesenteacute soit par un diagramme en arbre (Figure 2-14) soit par un diagramme en treillis (Figure 2-16) Bien quil existe plusieurs principes et meacutethodes de deacutecodage tous les algorithmes exploitent un de ces deux diagrammes afin de modeacuteliser lopeacuteration de codage La succession des changements deacutetats de la meacutemoire du codeur convolutif est usuellement deacutesigeacutee par le terme chemin et chaque transition entre deux eacutetats par le terme branche Faisant reacutefeacuterence agrave la seacutequence dopeacuteration du deacutecodeur on peut classifier les meacutethodes de deacutecodage en deux classes

1 les meacutethodes qui cherchent agrave deacuteterminer le message produisant les symboles de sortie ressemblant le plus aux symboles reccedilus

2 les meacutethodes qui se concentrent sur lidentification de chaque symbole dinformation le plus probable

En raison de la diversiteacute des proceacutedeacutes de deacutecodage laspect temporel des diagrammes en arbre et en treillis ne coiumlncide pas neacutecessairement avec le deacuteroulement seacutequentiel de lopeacuteration de deacutecodage Par conseacutequent la notion de temps des repreacutesentations graphiques est remplaceacutee par celle de niveau de profondeur

513 Informations de deacutecodage disponibles

Laccegraves aux informations de lopeacuteration de deacutecodage caracteacuterise la configuration de travail du deacutecodeur A lorigine le deacutecodage convolutif se chargeait de reconstruire le message par correction des eacuteventuelles erreurs de transmission Aujourdhui certaines applications et certains systegravemes de deacutecodage neacutecessitent des informations relatives agrave la fiabiliteacute de la proceacutedure de deacutecodage de chaque symbole dinformation En preacutesence de messages affecteacutes par des erreurs de transmission ces applications peuvent utiliser ces informations dans le but datteacutenuer les deacutegacircts dus aux erreurs Des exemples sont le deacutecodage joint entre le deacutecodage de canal et de source (Source-channel Decoding) et les techniques de mitigation derreurs affectant les messages (Error concealement) La mise agrave disposition de ce type dinformation nest intrinsegraveque quaux meacutethodes se concentrant sur le deacutecodage individuel de chaque symbole du message (Section 53)

66

52 Meacutethodes de deacutecodage recherchant le message le plus probable

Apregraves avoir introduit les notions de base les meacutethodes les plus repreacutesentatives de chaque principe de deacutecodage sont illustreacutees dans la suite du chapitre Selon les principales eacutetapes historiques ayant meneacute aux meacutethodes exploiteacutees actuellement les meacutethodes prise en consideacuteration sont le deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) le Bidirectional Soft Output Viterbi Algorithm le Max-Log-MAP et le Log-MAP Du point de vue historique cette section preacutesente tout dabord les meacutethodes se basant sur le critegravere doptimisation le plus ancien agrave savoir la recherche du message le plus probable eacutetant donneacute les symboles reccedilus Pratiquement ces meacutethodes consistent en une recherche du chemin dont les symboles de redondance ressemblent le plus agrave ceux reccedilus par le deacutecodeur Le message peut ecirctre ainsi construit en deacutecodant ce chemin Les principes des trois meacutethodes les plus repreacutesentatives de cette classe sont preacutesenteacutees ici le deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Comme la meacutethode List Decoding et lalgorithme de Viterbi sont traiteacutes dans la suite de ce rapport ces meacutethodes sont deacutecrites ici en deacutetail Les particulariteacutes algorithmiques de la meacutethode deacutecodage seacutequentiel sont par contre deacutecrites en Annexe A La preacutesentation des algorithmes susmentionneacutes est preacuteceacutedeacutee par celle de la fonction de meacutetrique utiliseacutee par ces algorithmes pour la recherche du message le plus probable Recherche du chemin agrave laide de la fonction de meacutetrique Les algorithmes recherchant le message le plus probable analysent la seacutequence des changements deacutetats S que la meacutemoire du codeur convolutif subit pendant lopeacuteration de codage Lobjectif de ces algorithmes est lidentification de la seacutequence Ŝ statistiquement la plus probable par rapport agrave la seacutequence de symboles reccedilus R Ŝ est donneacutee par [Vale98]

Regravegle de Bayes

Pr R|S Pr Sarg max Pr S|R arg max Pr[R]

arg max Pr R|S Pr S

S S

S

S

sdot= =

= sdot

^

(51)

67

La succession des symboles dinformation qui produisent une telle seacutequence est ensuite identifieacutee gracircce agrave Ŝ Dans le but dobtenir une solution agrave leacutequation (51) ces algorithmes neacutecessitent une fonction mesurant la ressemblance entre la redondance geacuteneacutereacutee par le chemin consideacutereacute i et la seacutequence de symboles reccedilue Cette fonction est appeleacutee fonction de meacutetrique La fonction de meacutetrique du i-egraveme chemin Si est repreacutesenteacutee dans ce document par le symbole PM(Si) Elle permet de reformuler le critegravere doptimisation (51) selon

( )

arg max i

i

SS S i

S PMisin forall

=^

(52)

ougrave ( )

iPr S |R iSPM prop (53)

Afin de reacuteduire la dynamique des valeurs de meacutetrique le critegravere doptimisation est souvent formuleacute dans le domaine logarithmique comme suit

i

arg max log(Pr S |R )iS S i

Sisin forall

=

^ (54)

et la fonction de meacutetrique est reformuleacutee de la maniegravere suivante ( )

i|log(Pr S R )iSPM prop (55)

Une proprieacuteteacute fondamentale de la fonction de meacutetrique telle que deacutefinie ci-dessus est la proprieacuteteacute reacutecursive suivante

( ) ( ) ( ) ( )1

1( )

( )

valeur de meacutetrique ne consideacuterant que les premiegraveres transitions du chemin

contribution agrave la mesure de fi

i i i i

i

i

BS S S S

npBBnp

Snp

Snp

PM PM

PMnp i

micro micro

micro

minus=

= + = sum

deacuteliteacute de la transition entre les niveaux de profondeur -1 et np np

(56)

68

Cette proprieacuteteacute facilite (et permet) la reacutealisation de plusieurs meacutethodes de deacutecodage introduisant la notion de meacutetrique cumuleacutee PMnp

(Si) et de meacutetrique de branche micronp

(Si) Le calcul de la meacutetrique de branche doit tenir compte de la repreacutesentation numeacuterique des symboles reccedilus ainsi que de la modeacutelisation du moyen de communication Ladoption dune deacutecision ferme permet leacutetablissement dune fonction de meacutetrique baseacutee sur la distance de Hamming (Hamming Distance) alors quune deacutecision souple implique ladoption dune distance euclidienne La fonction de meacutetrique selon leacutequation (56) permet denvisager plusieurs principes de recherche du chemin le plus prometteur On peut identifier trois genres de recherches diffeacuterentes [Ande84] qui sont

bull Le genre Depth-First ougrave le chemin le plus prometteur est chercheacute en suivant le chemin montrant la valeur de meacutetrique cumuleacutee la plus favorable En cas daccumulation temporelle derreurs (Burst errors) le chemin preacutesentant la meacutetrique cumuleacutee la plus favorable peut seacuteloigner du chemin globalement le plus prometteur Par conseacutequent ce genre de recherche preacutevoit la possibiliteacute de revenir en arriegravere sur le chemin parcouru afin de reprendre un meilleur chemin la proceacutedure de recherche parcourt le diagramme en arbre de maniegravere bidirectionnelle

bull Le genre Breadth-First ougrave la recherche est unidirectionnelle et synchroniseacutee par rapport au niveau de profondeur du diagramme en arbre ou en treillis Cette strateacutegie se base sur la comparaison des meacutetriques cumuleacutees de plusieurs chemins au mecircme niveau de profondeur

bull Le genre Metric-First ougrave la recherche est unidirectionnelle dans le diagramme en arbre Cette recherche est reacutegleacutee par les valeurs des meacutetriques cumuleacutees des chemins deacutejagrave analyseacutes Au cours de la recherche lalgorithme considegravere un nombre fini de chemins atteignant des niveaux de profondeur diffeacuterents Ce genre de recherche est le moins performant des trois [Ande84]

A laide des notions introduites ici les algorithmes les plus repreacutesentatifs sont preacutesenteacutes

521 Deacutecodage Seacutequentiel

La premiegravere meacutethode utiliseacutee pour le deacutecodage des seacutequences proteacutegeacutees par des codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft en 1957

69

Cette meacutethode a eacuteteacute reprise et modifieacutee par Fano [Proa95] La strateacutegie adopteacutee par Fano consiste en la recherche du chemin le plus probable agrave linteacuterieur du diagramme en arbre (Figure 2-14) en examinant une transition de meacutemoire agrave la fois Ce type de recherche appartient au genre de recherche depth-first [Ande84] [Schl97] La recherche du chemin le plus prometteur est conduite agrave laide dune fonction de meacutetrique PM (55) adapteacutee agrave ce genre de recherche (voir Annexe A Section A1) Proceacutedure pour la deacutetection des faux chemins Le genre de recherche depth-first est extrecircmement sensible agrave laccumulation temporelle derreurs de transmission En effet une accumulation rapide derreurs peut temporairement entraicircner le rejet du chemin globalement le plus probable par rapport aux symboles reccedilus Le moyen choisi pour faire face agrave cet inconveacutenient est ladoption dun seuil dynamique de meacutetrique qui eacutevalue lexactitude de la recherche du chemin le plus probable (Figure 5-1) [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin choisi deacutepasserait ce seuil le chemin sera suspecteacute decirctre incorrect en raison dune forte accumulation derreurs la proceacutedure de recherche de lrsquoalgorithme reviendra en arriegravere sur les nœuds preacuteceacutedents en cherchant un nouveau chemin qui satisfasse la comparaison avec le seuil Si aucun chemin conforme nrsquoest trouveacute la valeur du seuil sera reacuteduite et la proceacutedure de recherche recommencera en utilisant le chemin qui a eacuteteacute suspecteacute decirctre incorrect Ce moyen permet de se preacutemunir drsquoune boucle de recherche infinie Le nombre drsquoiteacuterations la preacutecision de la proceacutedure de recherche dans les nœuds anteacuteceacutedents et par conseacutequent la qualiteacute de correction drsquoerreurs fournie par lrsquoalgorithme deacutependent strictement des modifications apporteacutees agrave la valeur du seuil de reacutefeacuterence Pour cette raison la proceacutedure et les paramegravetres dadaptation du seuil sont identifieacutees agrave lrsquoaide de lrsquoexpeacuterience accumuleacutee ainsi que de nombreuses simulations Observations La meacutethode de deacutecodage seacutequentielle est caracteacuteriseacutee par lexeacutecution seacutequentielle et bidirectionnelle de la recherche du chemin le plus prometteur La conseacutequence de cette strateacutegie de recherche est tout dabord un temps de deacutecodage variable et fortement influenceacute par le nombre et le type derreurs de transmission Ensuite la qualiteacute de protection est aussi fonction du reacuteglage des paramegravetres du seuil dynamique de reacutefeacuterence Dautre part la fonction de meacutetrique doit ecirctre eacutetablie de maniegravere agrave permettre une comparaison eacutequitable

70

entre chemins se situant agrave diffeacuterents niveaux de profondeurs (Annexe A Sous-section A11)

recherche du meilleurnoeud et calcul de la

nouvelle meacutetriquePMnp+1

STARTmeacutetrique PM0=0

PM-1=-infiniposition dans larbre np=0

deacutetectionfaux

chemins

avancementnp=np+1

fin de larecherche

np=B FIN

premierpassage

affinementparamegravetres dedeacutetection faux

chemins

controcircle du noeudpreacuteceacutedent

modificationparamegravetres de

deacutetection faux chemins

reculnp=np-1

recherche du prochainmeilleur noeud et

calcul de la nouvellemeacutetrique PMnp+1

Trouveacute

deacutetectionfaux

chemins

Oui

Non

fauxchemin

chemincorrect

Oui

Non

Oui

Non

fauxchemin

chemincorrect

faux chemin

chemin correct

Figure 5-1 diagramme de flux simplifieacute de lrsquoalgorithme de Fano (adapteacute selon [Proa95])

La variabiliteacute et la non-preacutevisibiliteacute du nombre dopeacuterations rendent ce genre de recherche inadapteacutee agrave un contexte de codage en temps reacuteel Cet

71

inconveacutenient peut ecirctre eacutelimineacute en changeant la nature de la recherche en la remplaccedilant par le genre breadth-first En effet les algorithmes utilisant ce genre de recherche ont une complexiteacute de calcul indeacutependante des conditions de transmission du signal et un temps de deacutecodage preacutevisible

522 List Decoding

A la diffeacuterence des meacutethodes de recherche preacuteceacutedentes le genre de recherche breadth-first analyse et traite les chemins par groupes Les algorithmes List Decoding [Joha99] M-Algorithm [Ande84] [Schl97] et T-Algorithm [Schl97] sont des meacutethodes qui exploitent ce genre de recherche Le principe de recherche de ces meacutethodes peut ecirctre ainsi partageacute en deux parties Dabord un nombre de chemins les plus prometteurs est seacutelectionneacute parmi les chemins atteignant le niveau de profondeur traiteacute Puis les chemins seacutelectionneacutes sont propageacutes au niveau de profondeur suivant Description de lalgorithme List Decoding Etant donneacute une recherche de type breadth-first lrsquoanalyse et le controcircle des chemins sont synchroniseacutes par rapport au niveau de profondeur dans lrsquoarbre de recherche La possibiliteacute de revenir sur les nœuds preacuteceacutedents nest pas donneacutee (Figure 5-2) Lalgorithme List Decoding peut ecirctre reacuteparti en quatre eacutetapes principales

1 Insertion du nœud de deacutepart dans la liste contenant les chemins les plus prometteurs (initialisation de la liste)

2 Deacutetermination des nouveaux chemins agrave partir des chemins contenus dans la liste des chemins les plus prometteurs Mise agrave jour des meacutetriques relatives cumuleacutees

3 Si la fin de lrsquoarbre de recherche est atteinte deacutecodage du chemin posseacutedant la meilleure meacutetrique finale

4 Si la fin de larbre nest pas atteinte effacement du contenu de la liste des chemins les plus prometteurs et seacutelection des L chemins preacutesentant les meacutetriques cumuleacutees les plus favorables Ces chemins sont ensuite inscrits dans la liste des chemins les plus prometteurs et la proceacutedure de recherche retourne agrave lrsquoeacutetape 2

Les chemins analyseacutes ayant la mecircme longueur la fonction de meacutetrique PM (55) peut ignorer tous les termes en commun agrave toutes les meacutetriques La fonction de meacutetrique nest ainsi formeacutee que par laccumulation des

72

contributions de chaque transition (branche) dans le diagramme en arbre cest-agrave-dire des meacutetriques de branche micronp (56) ( )( ) ( )

np npnp-1ii i SS SPM PM micro= + (57)

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

PM4(S13) PM5

(S19)PM3(S7)PM2

(S3)PM1(S1)PM0

(S0)

PM4(S14) PM5

(S20)PM3(S8)PM2

(S4)PM1(S2)

PM4(S15) PM5

(S21)PM3(S9)PM2

(S5)

PM4(S16) PM5

(S22)PM3(S10)PM2

(S6)

PM4(S17) PM5

(S23)PM3(S11)

PM4(S18) PM5

(S24)PM3(S12)

Figure 5-2 exemple illustrant le genre de recherche de la meacutethode List Decoding (L = 3)

Importance du nombre L de chemins propageacutes Le nombre L de chemins retenus agrave chaque transition est normalement deacutefini agrave priori agrave lexception de lalgorithme T-Algorithm qui seacutelectionne dynamiquement les chemins candidats Cet algorithme seacutelectionne les chemins en se basant sur les diffeacuterences existant entre les meacutetriques cumuleacutees [Schl97] Le problegraveme typique affectant ce type dalgorithme est la possibiliteacute de rejet du chemin correct de la liste (temporairefinale) des L chemins les plus favorables agrave cause dune concentration derreurs de transmission Le rejet du chemin correct comporte un deacutecodage livrant un message incorrect (Figure

73

5-3) Le nombre derreurs dans le message est fonction du nombre de transitions deacutetat diffeacuterents entre le chemin choisi et le chemin correct

le chemincorrect est dans la

liste finale

dfree gt= 2e+1

deacutecodage duchemin correct

deacutecodage dunchemin incorrect

le nombreet la disposition temporelle

des erreurssont favorables

oui non

non

oui

oui non

start

Figure 5-3 repreacutesentation graphique des relations entre les paramegravetres influenccedilant la performance du deacutecodage ougrave e indique le nombre derreurs affectant la transmission du message et ougrave dfree indique la distance libre du code convolutif

Laugmentation du nombre L permet de reacuteduire loccurrence du rejet due agrave une accumulation (temporaire et deacutefavorable) derreurs de transmission Toutefois cette solution augmente la charge de calcul de la meacutethode de deacutecodage charge qui est fonction du nombre des chemins propageacutes et de lutilisation dopeacuterations de seacutelection Observations La qualiteacute de deacutecodage de lalgorithme List Decoding est fortement influenceacutee par le possible rejet du chemin correct de la liste des chemins les plus prometteurs Loccurrence deacutepend dune part de la quantiteacute et de la disposition temporelle des erreurs de transmission et dautre part du nombre L des chemins retenus dans la liste

74

Ce paramegravetre L deacutetermine non seulement la qualiteacute de protection contre les erreurs de transmission mais aussi la charge de calcul de la proceacutedure de deacutecodage En effet la nature de recherche de cet algorithme rend la charge de calcul indeacutependante du nombre et de la disposition temporelle des erreurs de transmission A chaque niveau de profondeur lalgorithme exeacutecute la prolongation des L chemins contenus dans la liste met agrave jour les 2bmiddotL meacutetriques cumuleacutees et seacutelectionne ensuite les L meilleurs chemins17 De par sa charge de calcul indeacutependante de la longueur de contrainte du code et de par la nature des erreurs de transmission lalgorithme List Decoding a eacuteteacute retenu comme noyau pour la nouvelle meacutethode software de deacutecodage iteacuterative appeleacutee ici List Decoding inteacutegrant la validation du CRC et deacutecrite en Section 67 Cette meacutethode utilise de maniegravere iteacuterative les reacutesultats de lapplication de la meacutethode List Decoding et les informations suppleacutementaires fournies par la validation CRC

523 Algorithme de Viterbi

Lalgorithme de Viterbi a eacuteteacute preacutesenteacute en 1967 par A J Viterbi comme deacutecodeur des codes convolutifs [Vale98] Le principe de cet algorithme consiste agrave estimer les transitions qui se sont produites dans la meacutemoire du codeur convolutif pendant le codage Lestimation se base sur le maximum de vraisemblance (Maximum Likelihood) fonction qui permet didentifier le message globalement le plus probable [Hell71] [Forn73] [Thit93] [Proa95] [Schl97] [Vale98] [Joha99] [Vuce00] Limportante contribution apporteacutee par lalgorithme de Viterbi est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs mis agrave disposition par le code sans devoir controcircler individuellement chacun des chemins possibles En effet la recherche du chemin globalement le plus probable par analyse des 2bB chemins possibles devient rapidement impraticable avec laugmentation du nombre des symboles du message Les meacutethodes existant avant lalgorithme de Viterbi se limitaient au controcircle dun nombre important mais toutefois limiteacute de chemins la correspondance entre le chemin choisi et le chemin globalement le plus probable deacutependait de plusieurs paramegravetres dont le nombre et la disposition temporelle des erreurs de transmission la qualiteacute de protection offerte par le code convolutif et le nombre des chemins controcircleacutes par la meacutethode 17 b indique le nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de

canal

75

Viterbi deacuteveloppe son algorithme en eacutetablissant cinq critegraveres permettant didentifier le chemin globalement le plus probable

bull la recherche du chemin globalement le plus probable par moyen dune fonction de meacutetrique

bull La modeacutelisation de la proceacutedure de codage convolutif par un processus de Markov (processus eacutechantillonneacute dans le temps avec un nombre deacutetats finis)

bull un genre de recherche de type breadth-first bull lhypothegravese dun bruit sans meacutemoire (memoryless) perturbant le canal bull une proceacutedure de recherche exploitant la structure du diagramme en

treillis Eacutetablissement de la fonction de meacutetrique La modeacutelisation de la proceacutedure de codage par un processus de Markov offre la possibiliteacute dexploiter ses proprieacuteteacutes dont en particulier les deux suivantes [Vale98]

bull laquoLa probabiliteacute quun processus de Markov soit dans un eacutetat particulier eacutetant donneacute tous les eacutetats preacuteceacutedents est eacutegale agrave la probabiliteacute que le processus soit dans cet eacutetat eacutetant donneacutee lrsquoeacutetat preacuteceacutedentraquo (traduction) [Vale98] 1 0 1 1Pr[ ] Pr[ ]np npnp nps s s s s s+ += (58)

bull laquoDans un environnement perturbeacute par un bruit blanc la probabiliteacute de la np-egraveme observation particuliegravere rnp eacutetant donneacute la succession complegravete des transitions entre les eacutetats S est eacutegale agrave la probabiliteacute de lrsquoobservation eacutetant donneacute uniquement la transition entre la profondeur np-1 et npraquo (traduction) [Vale98] On a donc

1Pr[ ] Pr[ ]np np npnpr S r s sminus= rarr (59)

Lapplication de ceux deux proprieacuteteacutes agrave la formule (51) deacutecrivant le critegravere doptimisation permet deacutetablir lexpression suivante [Vale98]

1 11 1

arg max Pr[ ] Pr[ ] B B

np np npnp npS np npS r s s s sminus minus

= =

= rarrprod prod^

(510)

76

Le transfert de leacutequation (510) dans le domaine logarithmique (54) permet de substituer le produit de probabiliteacutes par leur somme ce qui simplifie le calcul et reacuteduit la dynamique des nombres On a alors

1 11

arg max log Pr[ ] log Pr[ ] B

np np npnp npS npS r s s s sminus minus

=

= rarr +sum

^ (511)

A partir de leacutequation (511) la fonction de meacutetrique PM est introduite dans la description du critegravere doptimisation

( ) ( )

1

( ) ( )

1

( )1 1 1

arg max arg max

et

log Pr[ ] log Pr[ ] et

i i

i

BS S

npS S np

BS S

npnp

Snp np np np np inp np np

S PM

PM

r s s s s s s S

micro

micro

micro

=

=

minus minus minus

isin

= =

=

= rarr +

sum

sum

^

(512)

ougrave les meacutetriques finales PM(Si) et de branche micronp

(Si) se reacutefegraverent aux transitions du i-egraveme chemin Lexeacutecution de la tacircche de recherche (512) peut ecirctre alleacutegeacutee en ne consideacuterant que les transitions effectivement possibles transitions qui sont deacutefinies par la structure du codeur Si tous les messages sont eacutequiprobables le second terme de la meacutetrique de branche (512) napporte aucune contribution de discrimination la formulation de la meacutetrique de branche peut ecirctre ainsi simplifieacutee et donneacutee par

( )1 log Pr[ ]iS

np np npnpr s smicro minus

= rarr (513)

Le maximum de vraisemblance devient alors lunique paramegravetre servant agrave deacuteterminer le meilleur chemin Les hypothegraveses de travail de lalgorithme preacutesenteacute en 1967 par Viterbi consideacuteraient une telle situation deacutequiprobabiliteacute [Vale98] qui est veacuterifieacutee lorsque la redondance des messages est reacuteduite au minimum ou admise lorsque les probabiliteacutes a priori Pr[snp|snp-1] ne sont pas connues

77

Notion de survivant Lintroduction de la notion de survivant (survivor) deacutecrite ci-apregraves permet de reacuteduire le nombre drsquoopeacuterations neacutecessaires agrave lexploitation de tout le potentiel de correction drsquoerreurs agrave disposition Cette notion se base sur le concept de non-optimaliteacute (nonoptimality)

SB

SA

SG

SE

SF

SC

SD

Chemin A

Chemin B

Niveau deprofondeur np-2 np-1 np np+1 np+2

eacutetat de la meacutemoiredu codeur convolutif

Figure 5-4 repreacutesentation graphique de la convergence entre deux chemins

La notion de survivant peut ecirctre expliqueacutee sur la base dun exemple comprenant deux chemins A et B dans la situation suivante (Figure 5-4)

bull les meacutetriques cumuleacutees de deux chemins A et B sont compareacutees agrave la profondeur np+2

bull au niveau de profondeur np+2 le chemin A preacutesente une meacutetrique cumuleacutee meilleure que le chemin B

( ) ( )

2 2A B

np npPM PM+ +gt (514) bull agrave partir du niveau de profondeur np les deux chemins convergent en un

mecircme chemin cest-agrave-dire quagrave partir du niveau de convergence np les deux chemins indiquent des eacutetats identiques de la meacutemoire du codeur

A laide de la proprieacuteteacute reacutecursive de la fonction de meacutetrique PM (512) les meacutetriques cumuleacutees PMnp+2 des deux chemins (514) peuvent ecirctre ainsi reacuteeacutecrites

2

( ) ( ) ( )2

1 1

A A Anp np

S S Snp prof prof

prof prof npPM micro micro

+

+= = +

= +sum sum

78

2

( ) ( ) ( )2

1 1B B B

np npS S S

np prof profprof prof np

PM micro micro+

+= = +

= +sum sum (515)

Cette formulation distingue la contribution des meacutetriques de branches par rapport au nœud de convergence des deux chemins On peut ainsi constater que les branches qui suivent le nœud de convergence apportent la mecircme contribution aux deux meacutetriques cumuleacutees PMnp+2

(SA) et PMnp+2(SB)

2 2

( ) ( )

1 1A B

np npS S

prof profprof np prof np

micro micro+ +

= + = +=sum sum (516)

A partir de ce nœud de convergence la relation existant entre les deux meacutetriques cumuleacutees ne change pas parce que les deux chemins suivrent le mecircme parcours (proprieacuteteacutes des processus de Markov (58) et (59)) ( ) ( ) ( ) ( ) x =1 2B BA AS S S S

np np np x np xPM PM PM PM+ +gt hArr gt (517) Cette relation reste inalteacutereacutee en choisissant un autre future parcours18 apregraves le nœud de convergence les meacutetriques cumuleacutees du future parcours apportent la mecircme contribution aux deux chemins Par conseacutequent au niveau de profondeur np lopeacuteration de recherche sait que le chemin convergeant le moins performant SB ne pourra jamais coiumlncider avec le chemin globalement le plus probable Cette proprieacuteteacute permet danticiper la seacutelection entre deux chemins concurrents agrave la profondeur ougrave les deux chemins se reacuteunissent pour la premiegravere fois Le theacuteoregraveme de la non-optimaliteacute (theorem of nonoptimality path) [Joha99] [Schl97] deacutefinit ainsi que laquola proceacutedure de reacuteunion des nœuds qui correspondent agrave des eacutetats identiques de lrsquoencodeur et successivement la suppression des chemins avec les meacutetriques cumuleacutees les moins favorables neacuteliminent jamais le chemin avec la ressemblance maximaleraquo19 (traduction) [Schl97] De point de vue de la nomenclature le chemin retenu apregraves la comparaison est appeleacute chemin survivant

18 Parcours qui deacutemarre depuis le nœud de convergence des deux chemins 19 Selon ce theacuteoregraveme dans le cas ougrave les chemins convergeant en un mecircme nœud

preacutesenteraient une meacutetrique identique lun des deux chemins peut ecirctre eacutelimineacute de maniegravere aleacuteatoire

79

Lapplication systeacutematique de cette proceacutedure de seacutelection anticipeacutee reacuteduit consideacuterablement la complexiteacute de calcul de proceacutedure de recherche et rend ainsi faisable lidentification du chemin globalement le plus probable Description de lalgorithme La seacutelection du chemin survivant en consideacuterant les divers eacutetats de meacutemoire possibles permet le remplacement dune recherche baseacutee sur un diagramme en arbre par une recherche exploitant le diagramme en treillis En repreacutesentant les eacutetats de meacutemoires par les nœuds de la repreacutesentation le diagramme en treillis facilite lexeacutecution de lopeacuteration de seacutelection

chemin le plus probable

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins non retenuschemins survivants

chemin le plus probabledeacutecodage du chemin seacutelectionneacute

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

Figure 5-5 exemple de deacutecodage drsquoun message de 6 bits par lrsquoalgorithme de Viterbi message qui a eacuteteacute proteacutegeacute avec un code convolutif posseacutedant une longueur de contrainte de 3

Le deacuteroulement de lalgorithme de Viterbi implique ainsi les eacutetapes suivantes (Figure 5-5)

1 Les meacutetriques cumuleacutees de tous les eacutetats sont initialiseacutees selon les connaissances (a priori) des conditions de deacutepart du processus analyseacute

2 La valeur de la variable np qui indique le niveau de profondeur dans le treillis est initialiseacutee agrave zeacutero

3 Pour chaque nœud agrave la profondeur np+1 a les chemins convergeant en ce nœud sont identifieacutes b leurs meacutetriques sont mises agrave jour agrave lrsquoaide des meacutetriques de

branche c le chemin le plus probable (survivant) est deacutetermineacute d la meacutetrique cumuleacutee du chemin survivant est assigneacutee au nœud

80

e les informations neacutecessaires agrave la reconstruction du chemin survivant sont sauvegardeacutees

4 Lorsque la fin du treillis de recherche est atteinte lrsquoalgorithme deacutecode le chemin avec la meilleure meacutetrique selon les informations sauvegardeacutees

5 Sinon le niveau de profondeur np est increacutementeacute de 1 6 On revient agrave lrsquoeacutetape 3

Observations La proprieacuteteacute principale de cet algorithme est doffrir une analyse efficace et exhaustive de tout lespace de codage gracircce agrave la notion de survivant Les ressources neacutecessaires agrave cette analyse qui doit prendre en compte les 2bB chemins possibles sont reacuteduites agrave

bull Bmiddot2bmiddot2(K-1) mises agrave jour de meacutetriques cumuleacutees bull Bmiddot2(K-1) seacutelections du chemin survivant

Lindeacutependance de la complexiteacute de calcul par rapport au nombre et agrave la disposition temporelle des erreurs de transmission est assureacutee par le genre de recherche breadth-first Par contre la longueur de contrainte K du code deacutetermine la charge de calcul pour le traitement de chaque bit dinformation La notion de survivant peut ecirctre aussi servir agrave lameacutelioration de la qualiteacute de deacutecodage des meacutethodes List Decoding La performance de lalgorithme List Decoding est en effet perturbeacutee par la conservation possible de chemins preacutesentant un mecircme eacutetat de meacutemoire (voir lexemple de la Figure 5-2 au 5egraveme niveau de profondeur 5) Cette situation perturbatrice deacutegrade lefficaciteacute de la recherche du chemin le plus probable en reacuteduisant le nombre de chemins effectivement utiles agrave cette recherche Leacutelimination des chemins inutiles implique une augmentation de la complexiteacute de calcul de la meacutethode non seulement pour lexeacutecution de lopeacuteration de seacutelection mais aussi en raison dun type de recherche baseacutee sur le diagramme en arbre Lalgorithme de Viterbi gracircce agrave son analyse efficace et exhaustive de tout lespace de codage sera un eacuteleacutement crucial des travaux deacutecrits dans les Chapitres 6 et 7 Le sujet de limplantation software (Chapitre 6) sera introduit par lanalyse de cet algorithme qui est massivement utiliseacute dans les systegravemes de la 2G Lalgorithme de Viterbi est ensuite agrave la base dune des deux meacutethodes iteacuteratives de deacutecodage software qui seront proposeacutees dans la suite de leacutetude du sixiegraveme chapitre Cette meacutethode le List Viterbi Algorithm utilise de maniegravere iteacuterative les informations fournies par lalgorithme de Viterbi et par le

81

codage suppleacutementaire CRC ameacuteliorant la qualiteacute de protection contre les erreurs de transmission Le Chapitre 7 traitera le sujet de la reacutealisation ASIC dune meacutethode de deacutecodage de codes convolutifs baseacutee entiegraverement sur lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants

53 Meacutethodes de deacutecodage estimant les symboles les plus probables

Apregraves avoir introduit les meacutethodes se concentrant sur le message le plus probable cette section preacutesente les meacutethodes agissant au niveau des symboles dinformation du message La meacutethode pionniegravere de cette classe de deacutecodeurs est lalgorithme Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) Les avantages fournis par cet algorithme sont la minimisation de la probabiliteacute derreur de chaque symbole du message et la mise agrave disposition dune estimation de la fiabiliteacute du deacutecodage Toutefois cette premiegravere meacutethode souffre de problegravemes de repreacutesentation numeacuterique des variables de ressources de stockage et dune charge de calcul importante Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute ulteacuterieurement proposeacutes Les algorithmes Max-Log-MAP Algorithm Log-MAP Algorithm et Soft Output Viterbi Algorithm (SOVA) sont des exemples repreacutesentatifs Dans cette section on illustre ainsi les principes de deacutecodage des meacutethodes MAP Max-Log-MAP Algorithm Log-MAP Algorithm et Bidirectional SOVA Les deacutetails algorithmiques de ces meacutethodes sont disponibles dans lAnnexe A Critegravere doptimisation Le critegravere doptimisation de cette classe de meacutethodes se base sur lestimation de chaque bit (b=1) ou symbole (bgt1) dinformation du message eacutetant donneacute la seacutequence de symboles reccedilus R

npnp npinfo Bit

np

info Bit arg max Pr info Bit |R

info Bit -egraveme symbole dinformationnp

=

^

(518)

82

Ce critegravere deacutetermine les symboles les plus probables indeacutependamment de la correacutelation existant entre les symboles reccedilus et ceux geacuteneacutereacutes par le message entier La reacutesolution de leacutequation (518) implique la deacutetermination des probabiliteacutes de deacutecodage de chaque symbole du message informations qui peuvent ecirctre utiles agrave lopeacuteration suivant le deacutecodage convolutif Cette classe dalgorithmes ne fournit ainsi pas le message mais une estimation de la fiabiliteacute du deacutecodage de chaque symbole Dans le contexte dun codage binaire (b=1) cette estimation est livreacutee au moyen de la fiabiliteacute Λ

( ) npnp

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Λ = (519)

qui se base sur la probabiliteacute a-posteriori (APP) des symboles transmis npPr info bit =i S 01i

= (520)

Le message peut ainsi ecirctre extrait en regardant le signe de la fiabiliteacute Λ

( )npnp

1 si info bit 0info bit = 0 autrement

Λ ge (521)

531 Symbol-by-symbol Maximum A Posteriori Algorithm

Lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacute formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole du message (518) Lalgorithme est ainsi capable de fournir en plus une estimation de la fiabiliteacute du deacutecodage qui se base sur la probabiliteacute a posteriori du bit concerneacute [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00] Bien que le nom de la meacutethode rappelle la fonction de maximisation cette fonction matheacutematique nest pas agrave la base de la meacutethode Par conseacutequent dans

83

certaines publications la meacutethode est citeacutee sous dautres noms souvent sous le terme A Posteriori Probability Algorithm [Vale98] Afin de maintenir une coheacuterence avec la plupart des publications dans la suite de ce rapport cette meacutethode continuera agrave ecirctre mentionneacutee avec son nom original Objectif de la meacutethode pionniegravere MAP En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode geacuteneacuterale permet lestimation des probabiliteacutes a posteriori (APP) des transitions

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (522)

et des probabiliteacutes des eacutetats du processus

Pr

PrPrnp

nps m R

s m RR

== = (523)

Dans le cas particulier du deacutecodage convolutif lobjectif poursuivi par la meacutethode MAP est lestimation de la probabiliteacute

npnp

Pr info bit Pr info bit

Pri R

i RR

== = (524)

probabiliteacute qui est ensuite deacutelivreacutee au moyen de la valeur de fiabiliteacute Λ Ainsi au moyen de la probabiliteacute σ()

( )

( ) ( ) ( )1

1

Pr

np npnp

np npnp

m m s m s m R

m m m m

σ

α γ βminus

minus

= = =

= sdot sdot (525)

ougrave ( ) 1Pr np

np npm s m Rα = = (526)

( ) 1Pr Bnp npnpm R s mβ +

= = (527)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (528)

lalgorithme MAP accomplit sa tacircche en estimant la fiabiliteacute

84

( ) ( )

np 1np

np ( ) 0

( )Pr info bit 1

info bit( )Pr info bit 0

ttransition m mimpliquant

ttransition m mimpliquant

m mR

m mR

σ

σ=

=

=

=Λ =

=

sum

sumnp

np

info bit

info bit

(529)

Le calcul de la probabiliteacute σ() (525) beacuteneacuteficie des proprieacuteteacutes iteacuteratives des probabiliteacutes α() (526) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (530)

et β() (527) ( ) ( ) ( )1 1

np np np

mm m m mβ β γ+ += sdotsum (531)

Les deacutetails de la deacuterivation matheacutematique ainsi que le deacuteroulement algorithmique de la meacutethode MAP sont disponibles dans lAnnexe A (Section A2) Par rapport agrave la repreacutesentation graphique de la proceacutedure de deacutecodage cette meacutethode utilise un diagramme en treillis (Figure 5-6) similairement agrave lalgorithme de Viterbi A chaque nœud du diagramme en treillis est assigneacutee la probabiliteacute APP dun eacutetat Pr nps m R

= (532)

et agrave chaque branche la probabiliteacute APP dune transition de meacutemoire 1Pr npnps m s m Rminus

= = (533)

Observations Lanalyse du deacuteroulement de lalgorithme MAP met tout de suite en eacutevidence limportante charge de calcul et la forte demande de ressources de stockage ainsi quun deacutecodage qui ne supporte pas des messages infinis (block-oriented) Par conseacutequent des meacutethodes ont eacuteteacute ensuite proposeacutees afin de pallier agrave ces inconveacutenients tout en gardant le mecircme critegravere doptimisation Parmi ces meacutethodes on trouve les algorithmes Max-Log-MAP et Log-MAP qui

85

proposent des solutions reacuteduisant la complexiteacute de calcul [Robe95] [Vale98] [Vuce00]

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

Niveau deProfondeur np-2 np-1 np np+1

info Bitnp

Figure 5-6 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les algorithmes MAP et Log-MAP

532 Algorithme Max-Log-MAP

Lalgorithme MAP est indiscutablement la solution optimale pour lestimation des probabiliteacutes des eacutetats et des transitions de meacutemoire du codeur convolutif [Robe95] Cependant il souffre de seacutevegraveres inconveacutenients [Vale98]

bull Une repreacutesentation numeacuterique des probabiliteacutes qui doit couvrir une vaste dynamique de valeurs

bull Une utilisation intensive des ressources de stockage et de calcul Lalgorithme Max-Log-MAP propose de reacuteduire ces inconveacutenients Le problegraveme de la dynamique des nombres est reacutesolu en exeacutecutant les estimations des probabiliteacutes dans le domaine logarithmique [Robe95] [Vale98] [Vuce00] Les probabiliteacutes ( )t mα ( )t mβ ( )t m mγ et ( )i

t m mγ sont ainsi remplaceacutees par les probabiliteacutes eacutequivalentes ( )t mα ( )t mβ

( )t m mγ et ( )it m mγ dans le domaine logarithmique

86

( ) ( )( ) log i i

t tm m m mγ γ= (534)

( ) ( )( ) ( ) ( )1

log log tt m m m

t tm

m m eα γα α minus +

= = sum (535)

( ) ( )( ) ( ) ( )1 1

log log t tm m m

t tm

m m eβ γβ β + ++

= = sum (536)

La fiabiliteacute Λ peut ecirctre ainsi reformuleacutee

( )( ) ( ) ( )

( ) ( ) ( )

11

01

( )t

( )

info bit log

t tt

t tt

m m m m

m mm m m m

m m

e

e

α γ β

α γ β

minus

minus

+ +

+ +Λ =

sum

sum (537)

Ensuite si on considegravere lapproximation

1 1

12log maxn

ii ne e eδ δ δ δ

isin

+ + + asymp (538)

les expressions (535) et (536) peuvent ecirctre simplifieacutees dune maniegravere analogue ( ) ( ) ( ) 1

max t ttmm m m mα α γminusasymp + (539)

( ) ( ) ( ) 1 1max t t tm

m m m mβ β γ+ +asymp + (540) ce qui permet une reacuteduction de la charge de calcul [Robe95] [Vale98] [Vuce00] Leacutevaluation de la fiabiliteacute Λ (537) peut aussi ecirctre simplifieacutee

( ) ( ) ( ) ( )

( ) ( ) ( ) 1

t 1( )

01( )

info bit max

max

t ttm m

t ttm m

m m m m

m m m m

α γ β

α γ β

minus

minus

Λ asymp + +

minus + + (541)

Observation En analysant lexpression (541) on en constate que le nombre des chemins participant agrave la mesure de la fiabiliteacute est reacuteduit et que lalgorithme ressemble agrave celui de Viterbi

87

Pour lestimation de la fiabiliteacute de chaque bit lalgorithme Max-Log MAP utilise seulement deux chemins dont la seacutelection est analogue au principe du chemin survivant de lalgorithme de Viterbi Lun des deux chemins coiumlncide toujours avec le chemin globalement le plus prometteur ce qui deacutetermine le signe de lestimation Λ [Vuce00] (Figure 5-7) Par conseacutequent le message extrait par les signes des fiabiliteacutes Λ coiumlncide avec celui livreacute par lalgorithme de Viterbi

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

chemin consideacutereacutepar la meacutethode

noeud concerneacute par lemeilleur chemin global

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

Figure 5-7 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par lalgorithme Max-Log-MAP

533 Algorithme Log-MAP

La reacuteduction de la complexiteacute de calcul de lalgorithme Max-Log-MAP obtenue agrave laide de lutilisation des approximations est contre-balanceacutee par la deacutegradation de la qualiteacute de lestimation Λ Pour parer agrave ce problegraveme lalgorithme Log-MAP utilise la notion du Jacobian Algorithm de maniegravere agrave ameacuteliorer la qualiteacute des approximations Le Jacobian Algorithm comporte les relations suivantes

88

( )

( ) ( )

2 11 21 2

1 2 1 2

ln max ln 1

max fc

e e e δ δδ δ δ δ

δ δ δ δ

minus minus + = + +

= + minus (542)

et

( ) ( ) ( )1 2ln ln max f n nn c n

ee e e e e

δ

δ δ δ δδ δ δ δ δ = =

+ + + + + minus (543)

ougrave ( )f c est une fonction de correction [Robe95] [Vuce00] Observations Lutilisation de la fonction de correction fc() permet de conserver la qualiteacute de lestimation Λ de lalgorithme MAP au deacutetriment de la complexiteacute de calcul par rapport agrave lalgorithme Max-Log-MAP En choisissant une implantation partielle de cette fonction de correction agrave laide dune table de valeurs preacute-calculeacutees (8 values Pre-computed One-Directional Table [Robe95]) un compromis peut ecirctre atteint entre laugmentation de complexiteacute de calcul et la deacutegradation de la qualiteacute destimation par rapport agrave celle de lalgorithme original [Robe95]

534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA)

Le point fort des algorithmes deacuteriveacutes de lalgorithme MAP est la livraison de la fiabiliteacute Λ Toutefois ces meacutethodes souffrent dune charge de calcul tregraves importante par rapport agrave lalgorithme de Viterbi qui est reconnu comme meacutethode de deacutecodage convolutif de reacutefeacuterence En guise de solution le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute [Forn73] [Hage95] [Vale98][Vuce00] Le concept se base sur la modification de lalgorithme de Viterbi de maniegravere agrave produire une estimation de la fiabiliteacute Λ de chaque bit du message en utilisant le chemin le plus probable Bien quil existe plusieurs meacutethodes SOVA les estimations de la fiabiliteacute Λ suivent dans les grandes lignes le mecircme principe Toutes les meacutethodes destimation du np-egraveme bit se basent sur la relation existant entre les meacutetriques cumuleacutees

bull du chemin globalement le plus probable et bull du meilleur chemin qui sest eacutecarteacute au niveau de profondeur np

(Figure 5-8)

89

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition causeacutee par le info bit 0

transition causeacutee par le info bit 1

chemin consideacutereacutepar la meacutethode

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

noeud concerneacute par lemeilleur chemin global

Figure 5-8 chemins concerneacutes par la proceacutedure destimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les meacutethodes Soft Output Viterbi Algorithm

En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la complexiteacute de calcul de lalgorithme de Viterbi En Annexe A (Section A3) on trouve la description de lalgorithme Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] Lavantage de cet algorithme est sa simpliciteacute de compreacutehension et dimplantation

54 Analyse critique des meacutethodes preacutesenteacutees

Du point de vue historique le premier critegravere de deacutecodage a ecirctre exploiteacute par les meacutethodes de deacutecodage convolutif est lestimation du message le plus probable (Table 5-1a) La premiegravere meacutethode (le deacutecodage seacutequentiel eacutelaboreacute principalement par Wozencraft Reiffen Fano et Jelinek [Joha99] [Proa95] [Schl97]) utilise ce critegravere en modeacutelisant les transitions deacutetats de la meacutemoire de lencodeur agrave

90

laide dun diagramme en arbre Populaire dans les systegravemes agrave basse vitesse de transmission [Schl97] cette meacutethode souffre de trois inconveacutenients majeurs lexeacutecution seacutequentielle de lalgorithme un temps variable de deacutecodage et la fonction de meacutetrique deacutependante de la longueur du chemin analyseacute (voir Sous-section 521 et Section A1)

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

Algorithme seacutequentiel (Wozencraft 1957)

sect 521 sect A1

X sous optimale

- - condition de transmission des signaux proceacutedure pour la deacutetection des chemins incorrects

premiegravere meacutethode proposeacutee

List Decoding sect 522 sect B2

X sous optimale

- - nombre L des eacutetats consideacutereacutes pour le deacutecodage

Algorithme de Viterbi (Viterbi 1967) sect 523

X optimale - - longueur de contrainte K du code

meacutethode utiliseacutee communeacutement pour le deacutecodage des codes convolutifs (ougrave Klt11)

Table 5-1a vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatives preacutesenteacutees dans ce chapitre

Ces inconveacutenients ont eacuteteacute eacutelimineacutes en changeant la nature de la recherche La recherche unidirectionnelle et synchroniseacutee du chemin le plus probable (Breadth-first) rend la complexiteacute de calcul indeacutependante des conditions de transmission du signal et fixe le temps de deacutecodage La structure algorithmique de ce type de recherche est fortement parallegravele Cette derniegravere caracteacuteristique est indispensable pour une implantation VLSI Dans la classe de meacutethodes utilisant ce type de recherche on trouve le List Decoding (Sous-section 522 et Section B2) et lalgorithme de Viterbi (Sous-section 523)

91

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

symbol-by-symbol MAP (Bahl 1974) sect 531 sect A2

X - optimale optimale longueur de contrainte K du code

Soft-Output Viterbi Algorithm (Hagenauer 1989) sect 534 sect A3

X optimale - sous optimale longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme de Viterbi

Max-Log-MAP (Koch 1990) sect 532

X - sous optimale sous optimale

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Log-MAP (Robertson 1995) sect 533

X - Deacutependante de limplantation

Deacutependante de limplantation

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Table 5-1b (cont) vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatifs preacutesenteacutees dans ce chapitre (Section 53)

Du point de vue historique le dernier algorithme de cette classe de meacutethodes estimant le message le plus probable est lalgorithme de Viterbi La nouveauteacute apporteacutee par cet algorithme est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs agrave disposition sans devoir recourir agrave une analyse exhaustive de tous les possibles messages Malgreacute cette optimisation des ressources la complexiteacute de calcul croicirct toutefois exponentiellement en fonction de la longueur de contrainte K du code Pour cette raison la meacutethode est communeacutement utiliseacutee pour le deacutecodage de codes convolutifs dont la longueur de contrainte est limiteacutee (Kle10) [Proa95] Lautre critegravere de deacutecodage (historiquement plus reacutecent) se concentre sur le deacutecodage seacutepareacute de chaque symbole du message (Table 5-1b) Lalgorithme pionnier est lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) qui est preacutesenteacute comme une solution alternative agrave lalgorithme de Viterbi [Vale98] Les avantages fournis par ce critegravere sont la

92

minimisation de la probabiliteacute derreur de chaque symbole et la livraison dune estimation de la fiabiliteacute du deacutecodage Cet algorithme souffre dinconveacutenients importants tels que la repreacutesentation numeacuterique des variables la demande de ressources de stockage et limportante charge de calcul (Sous-section 531 et Section A2) [Robe95] [Vale98][Vuce00] Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute proposeacutes ulteacuterieurement Les exemples les plus caracteacuteristiques sont les algorithmes Max-Log-MAP Algorithm (Sous-section 532) Log-MAP Algorithm (Sous-section 533) et Soft Output Viterbi Algorithm (Sous-section 534 et Section A3) [Robe95] Au niveau de lestimation de la fiabiliteacute Λ (Table 5-1) ces meacutethodes diffegraverent principalement dans lutilisation des ressources agrave disposition [Vuce00] (Figure 5-6 Figure 5-7 et Figure 5-8) Par rapport agrave la complexiteacute de calcul de ces meacutethodes on peut tout de suite constater que

bull La performance et la complexiteacute de calcul des meacutethodes de deacutecodage seacutequentiel et List Decoding sont influenceacutees par le choix des paramegravetres impliqueacutes dans limplantation

bull La complexiteacute de calcul des meacutethodes baseacutees sur lalgorithme de Viterbi et MAP deacutepend de la longueur de contrainte K du code convolutif utiliseacute

bull Bien quil en existe plusieurs versions la meacutethode la plus simple deacutevaluation de la fiabiliteacuteΛ appartient agrave la classe de meacutethodes SOVA Puisque la structure de lalgorithme est baseacutee normalement sur lalgorithme de Viterbi et sur une proceacutedure parallegravele pour lestimation de la fiabiliteacute on peut raisonnablement sattendre agrave ce que la complexiteacute soit infeacuterieure au double de la complexiteacute de lalgorithme de Viterbi [Vale98] [Vuce00]

bull La complexiteacute de calcul de la meacutethode Max-Log-MAP est approximativement estimeacutee au double de celle des meacutethodes SOVA [Robe95] [Vuce00]

bull La meacutethode Log-MAP est caracteacuteriseacutee par une complexiteacute de calcul estimeacutee entre 2 et 3 fois celle des meacutethodes SOVA [Vale98] [Vuce00]

55 Conclusions

Dans ce chapitre les principes et les algorithmes les plus repreacutesentatifs utilisables pour le deacutecodage de codes convolutifs ont eacuteteacute preacutesenteacutes

93

Les notions ainsi que les principes de deacutecodage discuteacutes repreacutesentent la base des eacutetudes qui seront preacutesenteacutees par la suite Le chapitre suivant traitera en effet le deacutecodage software dun message proteacutegeacute contenant des bits de pariteacute du CRC Ce sujet sera introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi Deux meacutethodes iteacuteratives seront ensuite proposeacutees La premiegravere meacutethode List Viterbi Algorithm exploite les proprieacuteteacutes de lalgorithme de Viterbi alors que la seconde List Decoding inteacutegrant la validation CRC incorpore lalgorithme List Decoding Le sujet du Chapitre 7 est limplantation ASIC dune meacutethode de deacutecodage de codes convolutifs Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant lalgorithme en ses eacuteleacutements constituants

Reacutefeacuterences

[Ande84] J B Anderson S Mohan Sequential Coding Algorithms A Survey and Cost Analysis IEEE Transactions on Communications Vol COM-32 No 2 feacutevrier 1984 pp 169-176

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Hell71] J A Heller I M Jacobs Viterbi Decoding for Satellite and Space Communication IEEE Transactions on Communication Technology Vol COM-19 octobre 1971 pp 835-847

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

94

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

95

6 Architectures software utilisant un processeur pour le traitement

numeacuterique du signal

Ce sixiegraveme chapitre traite de limplantation software de meacutethodes de deacutecodage de codes convolutifs dans le contexte de la troisiegraveme geacuteneacuteration (3G) des systegravemes de communication numeacuteriques cellulaires et sans fil Les codes convolutifs consideacutereacutes dans la suite sont conformes aux standards UMTS

Ce chapitre deacutebute avec lanalyse des potentialiteacutes offertes par la structure de protection des standards UMTS tout en consideacuterant une architecture comprenant un processeur speacutecialiseacute pour le traitement numeacuterique du signal Deux situations de codage sont ainsi envisageables agrave savoir le codage convolutif direct du message ou le codage convolutif dun message preacuteceacutedemment traiteacute par un codage en bloc CRC

Du point de vue du deacutecodage le cas le plus inteacuteressant est le second le deacutecodage dun message proteacutegeacute contenant en plus des bits de pariteacute CRC Ce sujet est introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi et la validation des bits de pariteacute Deux meacutethodes iteacuteratives sont ensuite proposeacutees les meacutethodes List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) En sappuyant sur lalgorithme de Viterbi et sur la meacutethode List Decoding ces deux meacutethodes utilisent de maniegravere iteacuterative les informations suppleacutementaires fournies par le codage en bloc ce qui permet dameacuteliorer le rapport entre la qualiteacute de correction et la complexiteacute dexeacutecution

Les eacutevaluations de la complexiteacute de calcul et de la qualiteacute de codage utilisent la structure de protection du service de parole AMR-NB agrave 122 kbps proposeacutee dans le cadre du standard UMTS

96

61 Introduction

Le marcheacute de la teacuteleacutephonie mobile de la seconde geacuteneacuteration est actuellement caracteacuteriseacute par une importante utilisation de processeurs speacutecialiseacutes pour le traitement numeacuterique du signal (DSP) Cette preacutedominance est due agrave lexpeacuterience et agrave la maturiteacute acquise aujourdhui par cette technologie 2G [Gath02] Les arguments qui au deacutebut empecircchaient lutilisation des DSP ont eacuteteacute reacutefuteacutes suite agrave la maturation de la technologie 2G Les derniegraveres anneacutees ont ainsi montreacute une intensification de lutilisation des architectures exploitant les DSP avec le perfectionnement des standards 2G Bien quil ne soit pas possible de preacutedire la tendance qui sera suivie dans le cadre 3G les points forts qui ont valoriseacute lutilisation dune telle architecture peuvent ecirctre analyseacutes

611 Points forts des DSP

Lors du deacutebat pour le choix dune architecture optimale dans lexploitation des technologies 2G laspect de la faible consommation a favoriseacute le deacuteveloppement de teacuteleacutephones mobiles agrave laide de circuits ASIC (Application Specific Integrated Circuits) Linversion de la tendance a commenceacute avec la reconnaissance et la revalorisation des qualiteacutes des DSP [Gath02] telles que bull La vitesse deacutevolution des geacuteneacuterations des DSP En raison de la dynamique

importante du marcheacute des DSP leur deacuteveloppement beacuteneacuteficie dune eacutequipe de travail normalement plus nombreuse par rapport agrave celle chargeacutee du design dun ASIC

bull Avec leacutevolution des geacuteneacuterations de DSP extension des fonctionaliteacutes et de la vitesse dhorloge Leacutevolution des DSP porte non seulement sur laugmentation de vitesse dhorloge mais aussi sur lameacutelioration des performances et de la fonctionnaliteacute

bull La souplesse demploi Le DSP offre tous les avantages et potentialiteacutes dun dispositif programmable agrave large usage et agrave traitement multitacircche (Figure 6-1)

bull Reacuteduction des coucircts de deacuteveloppement des applications Le DSP est une solution agrave faible risque gracircce agrave la rapiditeacute des modifications et des corrections des implantations software

bull Possibiliteacutes de maintenance et de mise agrave jour des applications Lutilisation dun dispositif programmable eacutetend les possibiliteacutes de maintenance et de mise agrave jour des applications

97

Interface utilisateur Couche 2 (Layer 2) Couche 3 (Layer 3) Applications

Couche 1 (Layer 1)-codage de parole-eacutegalisation-entrelacement-codage de canal-chiffrage

Interface Timing

Micro-Controcircleur

DSP

Logique

RAM

ROM

Fonctions concernantla bande de base Hardware

Figure 6-1 reacutepartition classique des fonctions concernant la bande de base (Baseband) dans un teacuteleacutephone mobile GSM [Gath02]

612 Exemple du standard GSM

Leacutevolution du standard GSM (Global System for Mobile Communication) pour la 2G a eacuteteacute caracteacuteriseacutee par une inversion importante de tendance Leacutevolution de ce standard a eacuteteacute caracteacuteriseacutee par lintroduction de deux nouveaux codeurs de parole (le Half Rate et le Enhanced Full Rate [ETSI726]) ainsi que par des modifications de la partie responsable de la transmission sans fil des donneacutees Par conseacutequent chaque seacuterie et geacuteneacuteration de teacuteleacutephone mobile preacutesentaient systeacutematiquement de petites modifications et ameacuteliorations par rapport agrave la preacuteceacutedente Lorsquon considegravere le deacuteveloppement darchitectures baseacutees entiegraverement sur les ASIC ces modifications et ameacuteliorations ont impliqueacute lemploi dimportantes ressources et des coucircts suppleacutementaires consideacuterables Le besoin de souplesse a rendu de plus en plus attractive lexploitation des DSP De plus en consideacuterant que [Gath02] bull le teacuteleacutephone GSM a graduellement eacutelargi lassortiment des services offerts

(tendance preacutevue dans la 3G Figure 6-2)

98

bull la flexibiliteacute est une neacutecessiteacute particuliegraverement lorsque la dureacutee de vie du produit devient de plus en plus courte (lespeacuterance de vie dun teacuteleacutephone GSM sest graduellement reacuteduite de 25 agrave 1 anneacutee)

bull la puissance de calcul non-exploiteacutee du DSP est mise agrave disposition pour limplantation dautres services

il apparaicirct que la diffeacuterence de consommation en puissance eacutelectrique entre les DSP et les ASIC nest plus le facteur deacuteterminant pour le choix du type darchitecture

50

100

150

1996 1997 1998 1999 2000

Performance(MIPS)

Anneacutee

Applications

Layer 1

DSP

Figure 6-2 eacutevolution de lassortiment des services offerts par la technologie GSM [Gath02]

613 Situation actuelle

La souplesse demploi des dispositifs programmables ainsi que la tendance agrave la reacuteduction de la diffeacuterence de consommation entre les DSP et les ASIC rendent les DSP tregraves attractifs Ces derniers peuvent ainsi ecirctre chargeacutes de lexeacutecution des fonctions de la bande de base et des applications de la nouvelle geacuteneacuteration 3G Toutefois dans le cadre dun produit mobile alimenteacute par batterie la consommation reste toujours un facteur central Cette reacutealiteacute est perceptible dans la tendance et dans les efforts pour le deacuteveloppement de DSP agrave haute performance mais agrave consommation reacuteduite (Low-Power DSP) Les fabricants de DSP poursuivent la reacuteduction de la consommation deacutenergie en ameacuteliorant les proceacutedures de conception et de fabrication des DSP Leacutelargissement de lensemble des instructions le deacuteveloppement des peacuteripheacuteriques efficaces et la

99

mise agrave disposition de moyens de gestion des ressources permettent la reacuteduction ulteacuterieure de la consommation deacutenergie

62 Contexte de codage UMTS

Lobjectif des standards UMTS est la reacutealisation dune nouvelle geacuteneacuteration de technologies pour la communication mobile Cette nouvelle geacuteneacuteration vise agrave une communication indeacutependante des facteurs concernant la localisation des personnes le type deacutequipement utiliseacute les moyens de transmission (par cacircble ou sans-fil) et le choix de la technologie [Ts22101] Lune des nouveauteacutes apporteacutees par ces standards est la deacutefinition dun protocole de codage de canal unique pour toutes les applications actuelles et futures Pour reacutealiser cet objectif une seacuterie de codeurs sont mis agrave disposition offrant une protection optimale agrave un spectre plus large dapplications

621 Protection de canal des standards UMTS

La structure de codage du standard UMTS [Ts25212] permet une protection adapteacutee aux exigences propres aux applications (Chapitre 3) Cet objectif est poursuivi en permettant tout dabord la reacutepartition du message en plusieurs groupe de symboles selon leur sensibiliteacute aux erreurs Ensuite les standards UMTS permettent dappliquer agrave chaque groupe de symboles

1 un codage CRC suivi par un codage convolutif 2 un codage convolutif 3 un codage turbo 4 aucun codage

Cette thegravese eacutetant deacutedieacutee agrave leacutetude du deacutecodage des codes convolutifs la suite de leacutetude se concentrera sur les deux premiegraveres configurations de codage Par rapport agrave ces configurations les standards UMTS mettent agrave disposition deux codes convolutifs avec une longueur de contrainte K de 9 et de rendement Rc=13 et 12 (Table 6-1) En comparant ces codes avec ceux exploiteacutes par la 2G on peut remarquer une importante augmentation de la longueur K A titre dexemple le standard GSM propose un code convolutif avec K=5 pour les services de parole Full Rate et Enhanced Full Rate Pour le service Half Rate il est preacutevu un code avec une longueur supeacuterieure K=7 [ETSI726] Lobjectif poursuivi par laugmentation de la longueur de contrainte des codes UMTS est

100

lameacutelioration de la protection contre les erreurs de transmission en gardant le rendement Rc inchangeacute

Rendement du code

Longueur de contrainte

Polynocircmes [octal]

Distance libre

Rc=12 K=9 G0=561 G1=753 dfree =12 Rc=13 K=9 G0=557 G1=663 G2=711 dfree =18

Table 6-1 caracteacuteristiques principales des deux codeurs convolutifs proposeacutes par le standard UMTS

622 Configuration de travail du deacutecodeur

Lopeacuteration de deacutecodage convolutif est analyseacutee en utilisant des simulations qui prennent en compte la structure de codage UMTS (Figure 6-3) Les potentialiteacutes ainsi que les diverses configurations de protection sont eacutevalueacutees en utilisant la structure de codage preacutevue pour le service de parole AMR-NB agrave 122kbps (Section 33) Cette structure de protection preacutesente trois contextes de codage inteacuteressants un codage convolutif enchaicircneacute avec un codage CRC un codage convolutif avec Rc=13 et un autre caracteacuteriseacute par un rendement Rc=12 (Figure 3-3)

sourcede bruit

canal detransmission

sourcedinformations

formationcanaux de

transmission

message TrCHs codage decanal UMTS

trames radio

destinataire formation dumessage

message TrCHs deacutecodage decanal UMTS

trames radio

Figure 6-3 systegraveme de simulation du codage et deacutecodage de canal UMTS

Dans le but danalyser et de reproduire facilement les reacutesultats des eacutetudes la seacutequence de symboles reccedilue (trames radio Figure 6-3) est soumise agrave une deacutecision ferme et le deacutecodage livre le message deacutecodeacute sans informations suppleacutementaires sur lopeacuteration de deacutecodage (Bit True) Bien que les discussions et les reacutesultats soient concentreacutes sur cette configuration de travail il faut souligner que les principes preacutesenteacutes dans ce chapitre sont eacutegalement efficacement applicables dans des systegravemes utilisant

101

une deacutecision pondeacutereacutee La principale conseacutequence du passage dun type de deacutecision agrave lautre est la variation du niveau de la qualiteacute de deacutecodage

63 Critegraveres de seacutelection des solutions fonctionnelles

Un algorithme peut ecirctre consideacutereacute comme inteacuteressant sil offre un rapport optimal entre la qualiteacute et le temps dexeacutecution (complexiteacute de calcul) de la tacircche eacutetablie Pour plusieurs applications de la 3G la puissance de calcul mise agrave disposition pour une application en temps reacuteel est limiteacutee Par conseacutequent agrave intervalles de temps fixes chaque opeacuteration dispose dune certaine puissance maximale de calcul Une utilisation rationnelle de cette ressource permet ainsi soit la mise agrave disposition de la puissance restante pour dautres applications soit la reacuteduction de la consommation deacutenergie

631 Evaluation de la qualiteacute de protection

En fonction du contexte de codage leacutevaluation de la qualiteacute de correction derreurs peut ecirctre effectueacutee soit agrave laide du deacutebit des symboles erroneacutes du message (Bit Error Rate BER) soit agrave laide du deacutebit des messages erroneacutes Frame Error Rate (FER) Les deux mesures permettent une eacutevaluation objective de la qualiteacute de protection par rapport aux erreurs de transmission Si pendant les simulations les deux mesures sont reacutealisables en comparant les messages agrave proteacuteger avec les messages fournis par lopeacuteration de deacutecodage (Figure 6-3) dans une application en temps reacuteel seul le FER peut ecirctre deacutetermineacute par la validation du code CRC20 attacheacute au message Toutefois il est envisageable dutiliser la relation non-lineacuteaire existant entre ces deux mesures (Figure 6-4) afin dobtenir une estimation du BER agrave partir de la valeur du FER fournie par le codage en bloc Le rapport existant entre ces deux mesures est principalement fonction des distances de Hamming entre les messages codeacutes de la meacutethode de deacutecodage et des caracteacuteristiques du bruit affectant la transmission Le nombre important de paramegravetres rend ainsi difficile leacutetablissement dun modegravele simple et efficace de distribution des erreurs dans le message deacutecodeacute (Figure 6-5)

20 Etant donneacute une capaciteacute de deacutetection derreurs suffisante soit pour empecirccher les

fausses validations soit pour les reacuteduire agrave un nombre insignifiant

102

Figure 6-4 le rapport entre le FER et le BER obtenu par simulations en appliquant une deacutecision ferme (graphe rouge en trait gras) et une deacutecision souple ideacuteale (sans quantification graphe bleu en trait fin) Simulations baseacutees sur 500000 trames du codeur de parole AMR-NB agrave 122kbps algorithme de Viterbi

632 Evaluation de la complexiteacute de calcul

Si leacutevaluation objective de la qualiteacute de protection ne pose pas de gros problegravemes celle du temps neacutecessaire au DSP pour terminer lopeacuteration de deacutecodage est plus compliqueacutee De maniegravere geacuteneacuterale le temps dexeacutecution deacutepend du nombre (et des types) dopeacuterations de la tacircche de lefficaciteacute du code binaire geacuteneacutereacute21 ainsi que de la vitesse dexeacutecution du jeu dopeacuterations impliqueacute De ces trois facteurs seul le premier caracteacuterise la tacircche agrave accomplir alors que les deux autres sont des attributs du processeur choisi Une eacutevaluation objective de la complexiteacute de calcul doit toutefois consideacuterer les potentialiteacutes dexeacutecution speacuteciales qui caracteacuterisent les processeurs optimiseacutes pour le traitement numeacuterique du signal Par conseacutequent les meacutethodes de deacutecodage seront jugeacutees selon leur charge de calcul (nombre et type dopeacuterations) en

21 Lefficaciteacute est fonction du degreacute dexploitation des ressources de calcul (classiques et

speacuteciales) du DSP

103

consideacuterant les potentialiteacutes dexeacutecution qui sont les caracteacuteristiques geacuteneacuterales de cette grande famille de processeurs

Figure 6-5 statistique des erreurs de transmission dans les trames reccedilues Simulations baseacutees sur 2 millions de trames du codeur de parole AMR-NB agrave 122kbps classe A avec CRC de 12 bits SNR de 40 dB algorithme de Viterbi Remarque le nombre de trames qui ne sont pas affecteacutees par erreurs seacutelegraveve agrave 1962952

Influence du niveau de langage utiliseacute pour la description des opeacuterations Il existe deux principaux niveaux de langage pour la description des tacircches agrave exeacutecuter le langage agrave haut niveau et le langage assembleur propre au DSP (Figure 6-6) Lutilisation dun langage agrave haut niveau reacuteduit le temps de deacuteveloppement Ce langage offre en plus une bonne portabiliteacute de la description des tacircches description qui peut ecirctre rapidement adapteacutee aux autres plates-formes dexeacutecution Loptimisation du code binaire est ainsi agrave la charge de la chaicircne de compilation les ressources et les speacutecialiteacutes architecturales des DSP sont rarement exploiteacutees de maniegravere exhaustive Lutilisation des fonctions

104

intrinsegraveques (intrinsics)22 permet de parer agrave cet inconveacutenient reacuteduisant par contre la portabiliteacute de la description Le langage assembleur permet lexploitation optimale de toutes les caracteacuteristiques structures et outils mis agrave disposition par le DSP Lexeacutecution de la tacircche peut ainsi beacuteneacuteficier dune charge de calcul optimiseacutee Malheureusement la portabiliteacute dun tel code se limite normalement agrave une seule familletype de DSP en plus dun temps de deacuteveloppement supeacuterieur requis par rapport agrave celui dune description par langage agrave haut niveau

Compilateur de haut niveau

CompilateurC-ANSI

C++

Evaluation desconstantesintrinsegraveques

CompilateurAssembleur

Code binaire

vite

sse

de d

evel

oppe

men

t

degr

eacutee d

e fin

esse

de

lopt

imis

atio

n

Description parlangage agrave haut niveau

Code assembleur

impo

rtan

ce d

u ni

veau

de

port

abili

teacute

+

-

+

- +

-

Figure 6-6 chaicircne de compilation pour la geacuteneacuteration dun code binaire exeacutecutable sur un DSP soit agrave partir dune description utilisant un langage de niveau supeacuterieur soit de lassembleur

Etant donneacute que cette eacutetude ne se concentre pas sur une seule famille de DSP les meacutethodes de deacutecodage sont deacutecrites en utilisant le langage ANSI-C en

22 Les fonctions intrinsegraveques sont des fonctions deacutecrites en code assembleur mais qui sont

appeleacutees comme les fonctions deacutecrites en langage CC++

105

virgule fixe afin de beacuteneacuteficier de la rapiditeacute dexeacutecution et de la portabiliteacute du langage agrave haut niveau Strateacutegie deacutevaluation adopteacutee Les caracteacuteristiques structurelles des DSP sont pris en compte en eacutetendant le langage de programmation avec un ensemble de nouvelles fonctions deacutedieacutees Lideacutee est de repreacutesenter (et de compter) toutes les opeacuterations caracteacuteristiques agrave la plupart des DSP indeacutependamment de leur mode daccegraves soit par code assembleur soit par fonctions intrinsegraveques

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur de poids (ITUETSI)

add Addition 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

sub Soustraction 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

abs_s Valeur absolue (16 bits) 16 16 1shl Deacutecalage arithmeacutetique avec saturation

(gauche) 1616 16 1

shr Deacutecalage arithmeacutetique avec saturation (droite)

1616 16 1

mult Multiplication 16 bits x 16 bits avec mise agrave leacutechelle

1616 16 1

L_mult Multiplication 16 bits x 16 bits avec un deacutecalage agrave gauche

1616 32 1

negate Neacutegation 16 bits 16 16 1extract_h Extraction de 16 MSB 32 16 1extract_l Extraction de 16 LSB 32 16 1round Arrondi des 16 LSB avec saturation

extraction des 16 MSB 32 16 1

L_mac Mac L_mult avec L_add 321616 32 1L_msu Msu L_mult avec L_add 321616 32 1L_macNs Mac sans saturation 321616 32 1L_msuNs Msu sans saturation 321616 32 1

Table 6-2a les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Le point de deacutepart est lextension du code C par les Basic Operations deacutefinis par les organisations ITU et ETSI (Table 6-2a et Table 6-2b) dans le contexte du deacuteveloppement des codeurs de parole Son objectif est loptimisation des

106

implantations toujours en gardant la rapiditeacute lefficaciteacute et la portabiliteacute de la description

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur depoids (ITUETSI)

L_add Addition 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_sub Soustraction 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_add_c Addition 32 bits avec carry et sans saturation

3232 32 2

L_sub_c Soustraction 32 bits avec carry et sans saturation

3232 32 2

L_negate Neacutegation 32 bits 32 32 2mult_r Multiplication avec arrondi 1616 16 2L_shl Deacutecalage arithmeacutetique avec saturation

(gauche) 3216 32 2

L_shr Deacutecalage arithmeacutetique avec saturation (droite)

3216 32 2

shr_r Deacutecalage arithmeacutetique avec arrondi (droite)

1616 16 2

mac_r Mac avec arrondi 321616 16 2msu_r Msu avec arrondi 321616 16 2L_deposit_h La valeur agrave lentreacutee forme les 16 MSB

de la valeur agrave la sortie 16 32 2

L_deposit_l La valeur agrave lentreacutee forme les 16 LSB de la valeur agrave la sortie

16 32 2

L_shr_r Deacutecalage arithmeacutetique avec arrondi (agrave droite)

3216 32 3

L_abs Valeur absolue (32 bits) 32 32 3L_sat Saturation (32 bits) 32 32 4norm_s Calcul du nombre de deacutecalage (agrave

gauche) neacutecessaire agrave la normalisation 16 16 15

div_s Division 16 bits 1616 16 18norm_l Calcul du nombre de deacutecalage (gauche)

neacutecessaire agrave la normalisation 32 16 30

Table 6-2b (cont) les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Cette extension permet leacutevaluation de la complexiteacute de calcul dune implantation sur DSP en surveillant le nombre dexeacutecutions des fonctions classiques et eacutetendues (Table 6-2 et Table 6-3) Etant donneacute une gamme de fonctions couvrant de maniegravere efficace les exigences dune implantation

107

sur DSP loccurrence de ces fonctions est en effet un bon indicateur de la charge de calcul de lapplication La complexiteacute de calcul peut ecirctre ainsi estimeacutee en liant agrave chaque type dopeacuteration une valeur (facteur de poids) indiquant la difficulteacute de son exeacutecution par le DSP consideacutereacute Plus ces valeurs se rapprochent des caracteacuteristiques dexeacutecution du jeu dinstructions du DSP plus leacutevaluation de la complexiteacute devient preacutecise Dans le cas des Basic Operations les facteurs de poids eacutetablis par lITUETSI repreacutesentent les performances ideacuteales dun DSP geacuteneacuterique agrave virgule fixe posseacutedant une structure agrave 16 bits (Table 6-2 et Table 6-3) Nom de lopeacuteration

Opeacuteration Bits Facteur de poids (ITUETSI)

move16 Deacuteplacement de donneacutees 16 1move32 Deacuteplacement de donneacutees 32 2logic16 Opeacuteration logique (non-signeacutee) 16 1logic32 Opeacuteration logique (non-signeacutee) 32 2test Controcircle 2

Table 6-3 liste eacutetablie par lITUETSI des compteurs doccurrence des opeacuterations classiques

Dans cette eacutetude la gamme des fonctions surveilleacutees doit ecirctre adapteacutee au contexte du codage de canal contexte qui privileacutegie les opeacuterateurs logiques et les opeacuterations geacuteneacuteriques agissant sur variables non-signeacutees La gamme de fonctions de lITUETSI (Table 6-2 et Table 6-3) a eacuteteacute ainsi eacutelargie en ajoutant des compteurs doccurrence suppleacutementaires la Table 6-4 montre la liste complegravete des compteurs doccurrence utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage Dans la suite de ce chapitre les estimations de la complexiteacute de calcul indiqueront seulement loccurrence des fonctions surveilleacutees Ces choix permettent une eacutevaluation algorithmique des meacutethodes indeacutependante des caracteacuteristiques des familles DSP A laide des valeurs de poids cette strateacutegie offre toujours la possibiliteacute dune analyse agrave posteriori adapteacutee agrave chaque type de processeur

633 Consideacuterations sur limplantation software

Les diverses meacutethodes analyseacutees sont deacutecrites en utilisant le langage ANSI-C en virgule fixe La description des meacutethodes a obeacutei agrave deux des points forts des implantations software la rapiditeacute de deacuteveloppement et la description parameacutetrable Cette approche ne compromet pas lexactitude des

108

comparaisons entre les meacutethodes ni du point de vue de la qualiteacute de protection ni de celui de la complexiteacute de calcul Bien que la charge de calcul augmente en raison dune description de la meacutethode souple et parameacutetrable lapplication de la mecircme approche agrave toutes les descriptions permet une comparaison correcte entre les meacutethodes Limportance de la perte defficaciteacute causeacutee par lapproche souple et par la qualiteacute de la description [BDTi5] sera ensuite eacutevalueacutee (Chapitre 8)

Nom de lopeacuteration

Opeacuteration Bits

move8 Deacuteplacement de donneacutees 8move16 Deacuteplacement de donneacutees 16move32 Deacuteplacement de donneacutees 32logic8 Opeacuteration logique (non-signeacutee) 8logic16 Opeacuteration logique (non-signeacutee) 16logic32 Opeacuteration logique (non-signeacutee) 32test Controcircle shiftl8 Deacutecalage agrave gauche (non-signeacutee) 8shiftr8 Deacutecalage agrave droite (non-signeacutee) 8shiftl16 Deacutecalage agrave gauche (non-signeacutee) 16shiftr16 Deacutecalage agrave droite (non-signeacutee) 16shiftl32 Deacutecalage agrave gauche (non-signeacutee) 32shiftr32 Deacutecalage agrave droite (non-signeacutee) 32incr8 Increacutementation 8incr16 Increacutementation 16incr32 Increacutementation 32division8 Division 8division16 Division 16division32 Division 32pointerAssign Assignation dun pointeur pointerOp Arithmeacutetique concernant un pointeur testLOOP Controcircle concernant la gestion dune boucle incr8LOOP Increacutementation concernant la gestion dune boucle 8incr16LOOP Increacutementation concernant la gestion dune boucle 16incr32LOOP Increacutementation concernant la gestion dune boucle 32move8LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 8move16LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 16move32LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 32

Table 6-4 liste complegravete des compteurs doccurrence des opeacuterations qui sont utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage convolutif Le fond gris met en eacutevidence les compteurs deacutefinis par les organisations ITU et ETSI

109

Bien quune description par langage agrave haut niveau permette de se distancer des caracteacuteristiques fines des DSP le choix de la taille des variables (16 bits ou 32 bits) a une influence sur le temps de traitement La vitesse dexeacutecution peut varier en fonction de larchitecture interne du DSP (voir Annexe B Section B3) Par rapport aux implantations de meacutethodes de deacutecodage convolutif la repreacutesentation numeacuterique (Range) des variables agrave 16 bits est suffisante pour tout lensemble des opeacuterations Le choix des tailles peut seffectuer en consideacuterant larchitecture interne du DSP

64 Approche classique lalgorithme de Viterbi

Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute de la communication mobile la meacutethode de deacutecodage la plus reacutepandue dans la 2G est tout dabord implanteacutee lalgorithme de Viterbi Lemploi de cet algorithme est preacutedominant pour le deacutecodage des codes convolutifs dont la longueur de contrainte est reacuteduite (kle10) [Proa95]

641 Fonction de meacutetrique

Limplantation de lalgorithme de Viterbi implique la deacutefinition de la fonction de meacutetrique ainsi que de la strateacutegie de deacutecodage du message (Traceback) La tacircche de cette fonction de meacutetrique est la mesure de laffiniteacute entre le message sous analyse et les symboles reccedilus Son implantation doit consideacuterer les trois aspects suivants bull la repreacutesentation numeacuterique des symboles reccedilus bull le risque de deacutepassement de la valeur maximale repreacutesentable par les

variables utiliseacutees (Overflow) bull linitialisation des valeurs de meacutetriques cumuleacutees selon les conditions de

deacutepart de lopeacuteration de codage La repreacutesentation numeacuterique des symboles reccedilus influence limplantation de la fonction de meacutetrique et deacutetermine la qualiteacute de protection de la meacutethode de deacutecodage Une deacutecision souple livre au deacutecodeur une quantiteacute supeacuterieure dinformations ce qui permet une ameacutelioration remarquable de la qualiteacute de protection (Figure 6-7 et Figure 6-8) Le gain de codage (Coding Gain) offerte par lapplication dune deacutecision souple ideacuteale23 peut atteindre 2dB

23 Cest-agrave-dire une deacutecision souple beacuteneacuteficiant dun nombre infini de niveaux de

quantification

110

[Proa95] Comme deacutejagrave indiqueacute cette eacutetude considegravere la situation de deacutecodage dans le contexte dune deacutecision ferme Repreacutesentation numeacuterique des meacutetriques Cette fonction se base sur le concept de meacutetrique cumuleacutee et de meacutetrique de branche (56) Dans le contexte dune deacutecision ferme les repreacutesentations numeacuteriques de ces meacutetriques utilisent la mecircme uniteacute de base qui est la distance de Hamming

Figure 6-7 BER obtenus en fonction dune deacutecision ferme pondeacutereacutee avec 4 8 16 et 32 niveaux et dune deacutecision pondeacutereacutee ideacuteale (sans quantification repreacutesentation en virgule flottante) Les symboles sont moduleacutes par amplitude de maniegravere antipodale (+1-1 PAM) les niveaux de quantification sont reacutepartis de maniegravere uniforme entre leacutechelle [-15middotσ2-1hellip15middotσ2+1] en fonction de la valeur de la variance σ2 du bruit gaussien (Figure 4-9) Simulations service AMR-NB agrave 122 kbps 2 millions de trames classe A avec 12 bits de pariteacute CRC

La repreacutesentation numeacuterique en virgule fixe (Fixed Point Arithmetic) peut causer des effets de deacutepassement des capaciteacutes des variables (Overflow) Lexeacutecution de lalgorithme de Viterbi exige que la repreacutesentation des meacutetriques cumuleacutees reproduise correctement les deacutecalages entre toutes les meacutetriques cumuleacutees (appartenant au mecircme niveau de profondeur) le deacutepassement des capaciteacutes repreacutesentables ne garantit eacutevidemment plus le deacuteroulement correct de lalgorithme Par conseacutequent limplantation de la

111

fonction de meacutetrique doit empecirccher le deacutepassement soit par lutilisation de variables suffisamment grandes soit par lintroduction de proceacutedures de normalisation des valeurs de meacutetriques cumuleacutees Le standard de codage UMTS [Ts25212] limite le nombre de bits contenus dans le message agrave coder agrave 505 bits lutilisation de variables agrave 16 bits assure ainsi la repreacutesentation correcte de toutes les meacutetriques cumuleacutees sans effets de deacutepassement des capaciteacutes des variables24

Figure 6-8 FER obtenus selon le type de deacutecision appliqueacute Les paramegravetres de simulation sont les mecircmes que ceux de la simulation preacuteceacutedente (Figure 6-7)

Initialisations des valeurs de meacutetrique Un dernier aspect de limplantation de la fonction de meacutetrique est linitialisation des variables repreacutesentant les meacutetriques cumuleacutees selon les conditions de deacutepart de lopeacuteration de codage convolutif Le standard UMTS [Ts25212] eacutetablit une remise agrave zeacutero de la meacutemoire du codeur convolutif avant la proceacutedure de codage Pratiquement cette opeacuteration deacutetermine leacutetat de deacutepart de la meacutemoire du codeur La proceacutedure de deacutecodage peut ainsi utiliser cette information ameacuteliorant ainsi la qualiteacute de protection des premiers bits du message (Figure 6-9) 24 Luniteacute de la repreacutesentation des meacutetriques cumuleacutees est la distance de Hamming

(deacutecision ferme)

112

Il existe deux principes dinitialisation de la proceacutedure de deacutecodage

1 Lexeacutecution de lalgorithme de Viterbi agrave partir de leacutetat de deacutepart deacutefini par le contexte de codage Une proceacutedure de controcircle des chemins est ainsi neacutecessaire dans les phases initiales de lalgorithme La valeur de meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero

2 Une initialisation diversifieacutee des valeurs de meacutetrique dans le but de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats La strateacutegie envisageacutee est de provoquer leacutelimination naturelle de ces chemins incorrects pendant les phases initiales de lalgorithme de Viterbi

Figure 6-9 exemple de distribution des erreurs de deacutecodage dans un message Le graphe rouge en trait gras indique la protection offerte par une initialisation par remise agrave zeacutero de toutes les meacutetriques cumuleacutees La qualiteacute procureacutee par une initialisation exploitant une proceacutedure de controcircle est repreacutesenteacutee en graphe bleu en trait fin Laugmentation de la qualiteacute de protection des derniers bits du message est due agrave lutilisation de bits de terminaison (Tail Bits) Contexte codage convolutif avec remise agrave zeacutero de la meacutemoire du codeur convolutif 200000 messages messages de 500 bits 8 bits de terminaison code convolutif avec Rc=13 du standard UMTS EbN0 de 0 agrave 4 dB

Le premier principe initialise agrave zeacutero la meacutetrique cumuleacutee de leacutetat de deacutepart Ensuite lalgorithme deacutemarre en ne consideacuterant que les chemins deacutemarrant depuis cet eacutetat Lexploitation optimale des informations des conditions de

113

deacutepart est toutefois contre-balanceacutee par lintroduction dune proceacutedure de controcircle du deacuteroulement de lalgorithme Bien que dans la phase initiale cette proceacutedure permette une gestion optimale des ressources ces opeacuterations de controcircle suppleacutementaires causent laugmentation de la complexiteacute totale du deacutecodage Limportance de laugmentation deacutepend de la souplesse de la description et du style de programmation Les implantations software de lalgorithme de Viterbi qui apparaissent dans la suite de leacutetude adoptent ce concept Le second principe preacutevoit linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees de maniegravere agrave garantir le deacuteroulement correct de lalgorithme sans lintroduction de proceacutedures suppleacutementaires de controcircle Ce principe se base sur une initialisation deacutefavorisant les chemins qui ne deacutemarrent pas de leacutetat de deacutepart eacutetabli (Figure 6-10) En raison de linitialisation de la meacutemoire du codeur avant le codage ces chemins sont en effet inexistants

eacutetat de deacutepartdeacutetermineacute parlinitialisation de lameacutemoire du codeur

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins possibles chemins inexistants agrave causede linitialisation de lameacutemoire du codeur convolutif

niveau deprofondeur np=0 np=1 np=2 np=3

Figure 6-10 eacutetats des chemins dans la phase initiale selon linitialisation de la meacutemoire de lencodeur convolutif (longueur de contrainte de 3)

Selon ce principe linitialisation diffeacuterencieacutee doit prendre en compte

bull la contribution maximale apporteacutee par la meacutetrique de branche (MaxContribBranche)

bull la valeur maximale repreacutesentable par les variables des meacutetriques cumuleacutees (ValMaxMetrique)

114

bull la taille de la meacutemoire du codeur (K ndash1) cette valeur identifie le niveau de profondeur agrave partir duquel tous les eacutetats de meacutemoire sont atteints par des chemins possibles (Figure 6-10)

Ainsi une valeur comprise entre

( 1)K MaxContribBrancheminus sdot

et ( 1)ValMaxMetrique K MaxContribBranche minus minus sdot

peut ecirctre utiliseacutee pour linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Cette initialisation permet le deacuteroulement correct de lalgorithme assurant la qualiteacute de protection offerte par linitialisation de la meacutemoire du codeur (Figure 6-9)

642 Meacutecanisme de deacutecodage du meilleur chemin

Selon lrsquoalgorithme proposeacute par Viterbi la reconstruction du message commence apregraves lidentification du chemin (complet) le plus probable Cette strateacutegie devient peu fonctionnelle si on considegravere bull son incompatibiliteacute dans des contextes de codage continu bull limportant retard algorithmique de la proceacutedure de deacutecodage en raison de

lattente de la reacuteception de tous les symboles avant son exeacutecution bull les nombreuses ressources impliqueacutees pour le stockage des informations

qui sont neacutecessaires agrave la reconstruction des chemins Une solution agrave ces inconveacutenients est une prise de deacutecision anticipeacutee de la valeur du np-egraveme bit du message en utilisant le meilleur chemin partiel agrave la profondeur np+δ (Figure 6-11) Cette approximation de lalgorithme25 anticipe ainsi le deacutebut de la reconstruction du message en exeacutecutant de maniegravere iteacuterative la prise de deacutecision sur unplusieurs bits dinformations pas encore deacutecodeacutes

25 La deacutecision de la valeur du np-egraveme bit est prise en nanalysant que la seacutequence

incomplegravete des observations 0npR δ+

115

Info Bitnp

Niveau deprofondeur np-1 np np+

np+1 δnp+ -1δ

chemin qui a suivi le chemin correctentre la profondeur np-1 et npson deacutecodage assigne une valeurcorrecte au bitnp

chemin qui sest eacuteloigneacute du chemincorrect entre la profondeur np-1 et npson deacutecodage assigne une valeurincorrecte au bitnp

actuel meilleurchemin

Figure 6-11 principe agrave la base du deacutecodage avec troncation des chemins

Cette approche reacutealise en pratique une troncation de la meacutemoire du deacutecodeur ce qui permet deacutetablir a priori les exigences de stockage dinformation indeacutependamment du nombre effectif de bits constituants le message On est ainsi confronteacute agrave une reacutepeacutetition systeacutematique de la proceacutedure de deacutecodage reacutepeacutetition qui augmente la charge de calcul de lalgorithme (Table 6-6) Puisquil sagit dune approximation de lalgorithme on doit en plus sattendre agrave une deacutegradation de la qualiteacute de protection dont limportance est fonction du paramegravetre δ Lassignation dune valeur agrave la distance δ est ainsi un compromis entre la deacutegradation de la qualiteacute de deacutecodage et lutilisation minimale des ressources de stockage Distance minimale δmin La relation entre la distance δ et la deacutegradation de la qualiteacute de protection deacutepend des caracteacuteristiques du codeur convolutif ainsi que du nombre derreurs de transmission Pour deacutecrire leacutevolution de la meacutetrique cumuleacutee dun chemin incorrect le concept de croissance minimale de la meacutetrique (Minimum Distance Growth) a eacuteteacute introduit par Anderson [Ande89] Ce terme (qui sera repreacutesenteacute par labreacuteviation MinMetrCroissance dans les formules) indique laugmentation minimale de la meacutetrique cumuleacutee dun chemin incorrect normaliseacutee par le nombre de symboles analyseacutes Gracircce agrave ce concept la contribution minimale de meacutetrique de branche agrave la meacutetrique cumuleacutee dun chemin incorrect est de

116

n MinMetrCroissancesdot (61) (eacutetant donneacute labsence dopeacuterations dadaptation du deacutebit de transmission26) Ainsi afin de garantir la correction (minimale) de

min

12

freede

minus= (62)

erreurs la distance minimale δmin ne doit pas ecirctre infeacuterieure agrave27

min e

n MinMetrCroissance sdot

(63)

Cette distance assure quapregraves δmin branches tous les chemins qui provoquent une prise de deacutecision incorrecte montrent des meacutetriques cumuleacutees deacutefavorables28 (Figure 6-11) Le chemin le plus probable au niveau de profondeur np+δ coiumlncidera ainsi avec la premiegravere partie soit du chemin correct soit dun chemin qui ne sest eacuteloigneacute quapregraves le niveau de profondeur np (Figure 6-11) De faccedilon geacuteneacuterale on peut deacuteterminer la distance δ minimale en fonction du nombre derreurs qui perturbent les derniegraveres δ observations (δ middotn symboles) de sorte que la deacutegradation de la qualiteacute de protection soit rendue neacutegligeable

+ nombre derreursnp npn MinMetrCroissance

δδ rarrgtsdot

(64)

Similairement agrave la distance libre dfree (Table 6-1) la valeur de la croissance minimale de la meacutetrique peut fournir des indications sur la qualiteacute de protection du code convolutif exploiteacute (Table 6-5) Cette valeur fixe en effet la limite supeacuterieure du nombre derreurs de transmission qui peuvent ecirctre (potentiellement) supporteacutees par le codage convolutif

26 Le standard UMTS [Ts25212] preacutevoit la possibiliteacute dune adaptation du deacutebit de

transmission (voir chapitres preacuteceacutedents) Dans le cas dune utilisation le paramegravetre n doit ecirctre adapteacute au deacutebit de poinccedilonnage

27 Par rapport agrave une repreacutesentation des meacutetriques baseacutee sur la seule distance de Hamming 28 En consideacuterant un nombre derreurs infeacuterieur agrave emin

117

Rendement du code

Croissance minimale (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Croissance moyenne (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Random Tree Codes [Ande89] Rc=12 0110 - Rc=13 0174 -

Simulations des codes UMTS Rc=12 29 0154 0341 Rc=13 30 0207 0408

Table 6-5 valeurs de reacutefeacuterence concernant la croissance minimale et moyenne de la meacutetrique dun chemin incorrect Par rapport aux codes UMTS lapproche pratique utiliseacutee se base sur lalgorithme pour la deacutetermination de la distance libre dfree publieacute dans [Cede89]

Deacutetermination de la distance δ par simulations La deacutetermination de la distance δ par lineacutequation (64) nest pas aiseacutee en raison des paramegravetres impliqueacutes Une regravegle a ainsi eacuteteacute deacutetermineacutee empiriquement en se basant sur lexpeacuterience et les reacutesultats de nombreuses simulations effectueacutees (exemple Figure 6-12) Cette regravegle fixe la gamme de valeurs de distance δ entre 4 et 6 fois la longueur de contrainte K du code [Joha99] [Proa95] [Thit93] Sauvegarde des informations pour la reconstruction des chemins Le dernier aspect du meacutecanisme de deacutecodage est la deacutefinition du systegraveme de sauvegarde des informations qui sont indispensables pour la reconstruction des chemins Lalgorithme de Viterbi se base sur la reconstruction iteacuterative des eacutetats preacuteceacutedents de la meacutemoire du codeur (deacutecodage du chemin le plus probable) jusquagrave pouvoir extraire la valeur dun (ou de plusieurs) bit du message 29 Par rapport au calcul de la croissance moyenne la simulation a consideacutereacute tous les

chemins incorrects qui possegravedent une distance de Hamming infeacuterieureeacutegale agrave wi=32 (361849305 chemins analyseacutes) Un controcircle systeacutematique de tous les chemins partiels rencontreacutes a permis la deacutetermination empirique de la valeur minimale de croissance

30 Le calcul de la croissance moyenne a analyseacute 338890207 chemins posseacutedant une distance de Hamming infeacuterieureeacutegale agrave wi=53 Comme pour le cas preacuteceacutedent la deacutetermination de la valeur minimale a beacuteneacuteficieacute dun controcircle systeacutematique de tous les chemins partiels rencontreacutes lors du calcul de la valeur moyenne

118

Figure 6-12 reacutesultats des simulations ayant pour objectif la deacutetermination de la valeur optimale de la distance δ Paramegravetres des simulations message de 1000 bits 8 bits de terminaison 1 million de messages code convolutif avec Rc=13 du standard UMTS distances δ multiples de la longueur de contrainte K du code

Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement le bit qui est perdu lors de la transition de la meacutemoire du codeur convolutif (Figure 6-13) Par contre le systegraveme le plus rapide et donc le moins complexe sauvegarde directement la valeur de leacutetat preacuteceacutedent du chemin survivant Afin de reacuteduire la complexiteacute de calcul cette derniegravere strateacutegie a eacuteteacute adopteacutee pour limplantation software de lalgorithme de Viterbi

nouveau bit agrave lentreacuteedu codeur bitt

dernier bit agrave lentreacuteedu codeur bitt-1

avant-dernier bit agravelentreacutee du codeur bitt-2

bitt-(k-1)

bitt-(k-2)bitt-1

Profondeur t-1 Profondeur t

Figure 6-13 comportement de la meacutemoire du code convolutif lors dune transition

119

Bits de terminaison Le standard UMTS [Ts25212] preacutevoit lutilisation de bits de terminaison (Sous-section 232) afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message agrave transmettre Similairement aux strateacutegies dinitialisation de la proceacutedure de deacutecodage la phase finale de lopeacuteration de deacutecodage peut beacuteneacuteficier de ces informations

1 Soit en ne traitant pas les chemins qui sont exclus par le codage de ces bits de terminaison Dans les phases finales les valeurs (figeacutees) de ces bits limitent les eacutetats possibles de la meacutemoire du codeur

2 Soit en traitant tous les chemins mais en modifiant la proceacutedure de seacutelection du chemin (partialfinal) le plus probable Dans ce cas une proceacutedure de controcircle suppleacutementaire est introduite dans lopeacuteration de seacutelection

Les implantations de lalgorithme de Viterbi de cette eacutetude adoptent la premiegravere strateacutegie cest-agrave-dire le controcircle du deacuteroulement de lalgorithme lors de la reacuteception des symboles geacuteneacutereacutes par le codage des bits de terminaison

643 Performances de lalgorithme de Viterbi

La qualiteacute de protection de lalgorithme de Viterbi a deacutejagrave eacuteteacute preacutesenteacutee dans les Figures 6-7 6-8 6-9 et 6-12 Dans la suite de leacutetude ces valeurs seront utiliseacutees comme reacutefeacuterence pour le jugement de la qualiteacute de protection des autres meacutethodes de deacutecodage Les Tables 6-6 et 6-7 montrent les eacutevaluations de la charge de calcul de lalgorithme Les effets de laugmentation de la longueur de contrainte du code agrave K=9 sont immeacutediatement perceptibles la charge de calcul du deacutecodage est tregraves importante Le traitement dun bit dinformation demande en effet une charge de calcul supeacuterieure agrave 7k opeacuterations (256 opeacuterations de seacutelection du chemin survivant) et neacutecessite presque 800k opeacuterations pour le deacutecodage de 93 bits dinformation et de 8 bits de terminaison La Table 6-6 montre laugmentation de la charge de calcul due agrave la strateacutegie de troncation de la meacutemoire augmentation qui est quantifiable autour du 8 pour cent Ensuite la Table 6-7 prouve lindeacutependance de la complexiteacute de calcul des caracteacuteristiques des erreurs de transmission

120

Nombre moyen drsquoopeacuterations observeacutees

Algorithme sans Troncation Algorithme avec troncation agrave 6 sdot longueur de contrainte

Format des variables

Format des variables

32 bits 16 bits Total 32 bits 16 bits TotalAdditions 44541 9 44550 44451 9 44550Increacutementations 94 1212 1306 93 1212 1305Soustractions 111 104 215 11 152 263Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 115659 45653 161312 118520 45653 164173Logique 130219 2424 132643 130271 2424 132695Deacutecalages 70942 0 70942 70894 0 70894Controcircles 102588 102588 126074 126074Pointeur assignations 611 611 659 659Pointeur arithmeacutetique 513 513 3056 3056Boucle initialisations 24167 101 24268 24215 101 24316Boucle controcircles 97723 110810 110810Boucle increacutementations 72646 808 73454 85637 808 86445Grand total 710125 765240

Table 6-6 eacutevaluation deacutetailleacutee de la complexiteacute de calcul de limplantation software de lalgorithme de Viterbi Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs doccurrence de lITUETSI

Limplantation et les simulations software de lalgorithme de Viterbi ont utiliseacute la configuration suivante bull Leacutetude utilise le systegraveme de canal UMTS uplink bull La structure de protection prise en consideacuteration est relative au codage des

bits appartenant agrave la classe A [Ts26101] (aussi nommeacute premier canal de transport [TrR104]) dans le cadre du service de parole AMR agrave 122 kbps [TrR104] Les opeacuterations de validation des bits de pariteacute CRC sont illustreacutees dans lAnnexe B (Section B1)

bull Les signaux sont moduleacutes de maniegravere antipodale (+1-1) et sont perturbeacutes au niveau des trames radio (Radio Frames) par laddition dun bruit blanc gaussien (de 00 dB agrave 60 dB) En conseacutequence lindication EbN0 sadresse au codage des trois classes (canaux de transport)

121

Nombre moyen drsquoopeacuterations

observeacutees Algorithme sans Troncation

EbNo=00dB EbNo=60dB Additions 44550 44550 Increacutementations 1306 1306 Soustractions 215 215 Multiplications 0 0 Divisions 0 0 Transferts de Donneacutees 161312 161312 Logique 132643 133292 Deacutecalages 70942 70942 Controcircles 102588 102588 Pointeur assignations 611 611 Pointeur arithmeacutetique 513 513 Boucle initialisations 24268 24268 Boucle controcircles 97723 97723 Boucle increacutementations 73454 73454 Grand total 710125 710774

Table 6-7 eacutevaluation de la complexiteacute de calcul de lalgorithme de Viterbi dans deux conditions derreurs de transmission opposeacutees Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs de lITUETSI

bull Les signaux reccedilus sont repreacutesenteacutes numeacuteriquement par une deacutecision ferme bull Bien que leacutetude nutilise pas loutil de poinccedilonnage (Puncturing)31

limplantation de lalgorithme supporte de maniegravere optimale ce service Les symboles reccedilus sont ainsi repreacutesenteacutes agrave laide de trois valeurs (+1-10)

bull La meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero et la structure de lalgorithme ne prend en consideacuteration que les chemins deacutemarrant depuis cet eacutetat

bull Par rapport au traitement des bits de terminaison la structure de lalgorithme considegravere seulement les eacutetats possibles

bull Les informations relatives agrave la reconstruction des chemins sont sauvegardeacutees sous la forme des valeurs des eacutetats preacuteceacutedents

bull Limplantation software de lalgorithme de Viterbi soriente vers des plates-formes agrave 32 bits

31 Elimination dun nombre de bits des messages codeacutes afin de sadapter au deacutebit de

transmission disponible (adaptation du deacutebit de transmission Sous-section 32)

122

644 Consideacuterations sur cette approche classique

Conformeacutement aux exigences du marcheacute de la communication mobile la meacutethode de deacutecodage implanteacutee est lalgorithme qui est preacutedominant dans les technologies 2G lalgorithme de Viterbi La nouvelle implantation de lalgorithme a reacuteveacuteleacute immeacutediatement un alourdissement de la charge de calcul assigneacute au DSP Comme il eacutetait preacutevisible le changement du contexte de codage de la 3G demande des charges de calcul de deacutecodage plus importantes par rapport agrave lancienne technologie 2G Lagrandissement de la longueur de contrainte des codes UMTS exige tout dabord une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation deacutecodeacute32 Ensuite lutilisation de deacutebits de transmission supeacuterieurs augmente la charge de calcul neacutecessaire agrave lexeacutecution en temps reacuteel de lopeacuteration de deacutecodage La complexiteacute de calcul de limplantation software de lalgorithme de Viterbi deacutepend premiegraverement de la longueur de contrainte des codes convolutifs utiliseacutes ainsi que du deacutebit de transmission requis par lapplication concerneacutee Par conseacutequent laugmentation de la longueur de contrainte et leacutelargissement de la gamme des deacutebits de transmission des standards UMTS provoquent une importante variabiliteacute au niveau des ressources de calcul neacutecessaires agrave lopeacuteration de deacutecodage La charge de calcul peut varier entre une trentaine de wMOPS (demandeacute par un service de parole agrave 122 kbps) jusquagrave des valeurs approchant le millier de wMOPS (exigeacute par les applications les plus gourmandes soutenues par les technologies UMTS) Par conseacutequent on envisage lanalyse de la structure de codage de lUMTS afin de deacutevelopper des meacutethodes de deacutecodage ameacuteliorant le rapport entre la qualiteacute de protection et la charge de calcul demandeacutee Lobjectif envisageacute est leacutelargissement du spectre de solutions software efficaces afin de mieux reacutepondre aux exigences particuliegraveres des applications

65 Deacutecodage des codes convolutifs incluant la validation CRC

Le systegraveme de codage de canal du standard UMTS [Ts25212] dispose de plusieurs moyens de codage afin de permettre une protection efficace et

32 Valeur observeacutee La perte defficaciteacute due agrave une description souple et parameacutetrable de

lalgorithme sera traiteacutee dans le Chapitre 8

123

optimale contre les erreurs de transmission pour une vaste gamme dapplications Il existe ainsi deux configurations principales de codage convolutif le codage direct du message et le codage dun message traiteacute preacuteceacutedemment par un codage en bloc CRC (Sous-section 621) Le cas le plus inteacuteressant est lenchaicircnement dun code convolutif avec un code en bloc (Figure 6-14) structure qui revient reacuteguliegraverement dans les reacutecents standards de communication numeacuterique mobile (GSM [ETSI909] DCS1800 [Kuumlhn97] UMTS [Ts25212]) A la diffeacuterence du simple codage convolutif cette configuration dispose dinformations suppleacutementaires fournies par le codage CRC qui peuvent ecirctre exploiteacutees de maniegravere exhaustive

651 Ideacutee exploitation des informations du codage concateacuteneacute

Lobjectif dune concateacutenation de deux codes est la creacuteation dun code plus performant en beacuteneacuteficiant des avantages de chaque code [Proa95] Dans le cas des reacutecents standards de communication le code en bloc est chargeacute du controcircle de linteacutegriteacute du message qui a eacuteteacute proteacutegeacute par un codage convolutif

Sourcedinformation

Destination

Codeurexteacuterieur

CRC

Codeur inteacuterieurCode Convolutif

ou TurboEmetteur

ReacutecepteurDeacutecodeurexteacuterieur

Deacutecodeurinteacuterieur

Codage de canal UMTS

Approche classique

Figure 6-14 diagramme des codes concateacuteneacutes en seacuterie dans le contexte du standard UMTS

Lors du deacutecodage convolutif linteacutegriteacute du message reconstruit est difficile agrave confirmer sans reacuteduire sensiblement la potentialiteacute de protection du code utiliseacute Le codage en bloc eacutelimine ainsi cet inconveacutenient en veacuterifiant leacuteventuelle preacutesence derreurs dans le message (Section 24) Cet enchaicircnement est demandeacute par les applications sensibles pour lesquelles lutilisation dun message corrompu provoque des effets deacutesastreux Dans le cas de la deacutetection dun message corrompu il est ainsi preacutevu que le message soit retransmis (mode de controcircle derreurs ARQ) ou quil y ait une prise de

124

mesures speacuteciales de recouvrement derreurs (Error Concealment mode de controcircle derreurs FEC)

Approche iteacuterative

Destination Reacutecepteur

Deacutecodeurinteacuterieur

Deacutecodeurexteacuterieur

Figure 6-15 principe geacuteneacuteral agrave la base des deacutecodages iteacuteratifs

Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle ce qui consiste pratiquement en la reconstruction du message suivie par sa veacuterification (Figure 6-14) Lavantage de pouvoir deacutevelopper individuellement les deux proceacutedures de deacutecodage est contre-balanceacute par une utilisation sous-optimale des ressources disponibles Une interaction entre les deux deacutecodeurs permettrait de mieux exploiter les informations mises agrave disposition par le code concateacuteneacute (Figure 6-15)

652 Principe de deacutecodage livraison dune liste de messages

La livraison dune seacuterie de messages au deacutecodeur exteacuterieur qui les examine dans lintention didentifier leacuteventuel message correct [Kuumlhn97] est un principe de deacutecodage inteacuteressant Dans la suite de leacutetude ce principe sera utiliseacute pour lexploration des potentialiteacutes offertes dune part agrave cause de la souplesse dune architecture baseacutee sur les DSP et dautre part en raison de la structure de codage de canal eacutetabli par le standard UMTS En envisageant lameacutelioration du rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage ce principe iteacuteratif peut ecirctre exploiteacute pour

bull Ameacuteliorer la qualiteacute de protection Les informations suppleacutementaires de la validation CRC sont utiliseacutees afin dameacuteliorer la protection contre les erreurs en limitant laugmentation de la charge de calcul totale

bull Reacuteduire la complexiteacute de calcul de lopeacuteration de deacutecodage Dans ce cas lexploitation des informations envisage la reacuteduction de la charge de calcul du deacutecodage convolutif tout en gardant inchangeacutee la qualiteacute de protection contre les erreurs

125

Le facteur indispensable est la preacutesence dun code en bloc posseacutedant des capaciteacutes de deacutetection derreurs suffisantes agrave lexeacutecution correcte dun tel deacutecodage iteacuteratif Puisque le cas dune erreur non deacutetecteacutee (undetected error) doit ecirctre consideacutereacute comme deacutesastreux lapplication de ce principe doit ecirctre absente de fausses validations de messages Lemploi de ce principe iteacuteratif dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute en effet limiteacute par le nombre consideacuterable de fausses validations causeacutees par une capaciteacute de deacutetection insuffisante [Kuumlhn97] Leacutevaluation des potentialiteacutes des quatre codes CRC des standards UMTS (Annexe B Section B1) a tout dabord confirmeacute des capaciteacutes de deacutetection supeacuterieures agrave celles des standards GSM ce qui rend ce principe de deacutecodage attrayant Les nombreuses simulations dans le contexte de codage AMR-NB agrave 122kbps ont ensuite prouveacute la faisabiliteacute de ce principe de deacutecodage en ne reacuteveacutelant aucun cas de fausse validation Dans la suite du chapitre deux meacutethodes de base sont proposeacutees pour prouver les potentialiteacutes et la faisabiliteacute de ce principe de deacutecodage dans le contexte de lUMTS Les deux meacutethodes ameacuteliorent le rapport entre la qualiteacute de protection et la charge de calcul lune en augmentant la qualiteacute de protection lautre en reacuteduisant la complexiteacute du deacutecodage convolutif Les potentialiteacutes de ces deux meacutethodes seront compareacutees avec celles de lalgorithme de Viterbi Lobjectif de ce deacutecodage iteacuteratif eacutetant la livraison dun message integravegre la qualiteacute de protection sera eacutevalueacutee par le deacutebit de messages erroneacutes (FER)

66 List Viterbi Algorithm

661 Introduction

Le principe de ce deacutecodage est la livraison iteacuterative des L messages les plus probables au deacutecodeur CRC afin didentifier le message correct Le principe de deacutecodage par livraison dune liste de messages permet lidentification du message correct dans une liste de messages prometteurs Du point de vue de la qualiteacute de deacutecodage lobtention dune seacuterie de L messages globalement les plus probables repreacutesente le cas ideacuteal la limite infeacuterieure de qualiteacute de ce deacutecodage iteacuteratif (L=1 livraison du message globalement le plus probable) coiumlncide ainsi avec celle de lalgorithme de Viterbi Le point de deacutepart des strateacutegies pour lobtention des L messages globalement les plus probables est lalgorithme de Viterbi qui garantit une analyse efficace

126

et complegravete de lespace de codage Par contre lalgorithme de Viterbi ne permet pas la coexistence de chemins globalement les plus probables et de plus il est incapable de fournir une seacuterie de messages33 Linadeacutequation de lalgorithme agrave fournir une seacuterie de messages les plus probables peut ecirctre compenseacutee par

bull La prise en consideacuteration agrave chaque nœud des L meilleurs chemins Les algorithmes appartenant agrave cette classe sont nommeacutes Parallel List Viterbi Algorithm (parallegravele LVA) ou Parallel Generalized Viterbi Algorithm [Sesh94] Selon ce principe chaque nœud reccediloit 2bL chemins de maniegravere agrave pouvoir ensuite en seacutelectionner les L meilleurs [Sesh94] Ces chemins seront ensuite transmis aux nœuds suivants (Figure 6-16)

bull Lexploitation (agrave posteriori) des diffeacuterences entre la meacutetrique cumuleacutee des chemins survivants et celle des perdants agrave chaque nœud de chaque niveau de profondeur du treillis (Serial List Viterbi Algorithm ou Serial Generalized Viterbi Algorithm [Nill95] [Sesh94] [Kuumlhn97]) En utilisant correctement ces diffeacuterences les L meilleurs chemins globaux peuvent ecirctre ainsi identifieacutes et ensuite reconstruits

bull Lutilisation des estimations de la fiabiliteacute Λ offerte par les meacutethodes SOVA Lexploitation de ces informations permet la geacuteneacuteration (agrave posteriori) des L messages retenus les plus probables (List SOVA [Nill95] [Kuumlhn97]) En raison dune geacuteneacuteration de la liste de chemins deacutependante de la qualiteacute de lestimation de la fiabiliteacute cette strateacutegie ne garantit pas neacutecessairement lidentification de L chemins globalement les plus probables

En raison dun contexte dexeacutecution en temps reacuteel le facteur deacuteterminant pour le choix de la strateacutegie est sa charge de calcul Malgreacute labsence dans la litteacuterature deacutevaluations preacutecises de la complexiteacute de calcul de ces strateacutegies il est eacutevident que les techniques baseacutees sur les algorithmes parallegraveles LVA et SOVA comportent une augmentation consideacuterable de la charge de calcul neacutecessaire agrave leur exeacutecution On peut estimer que lutilisation dalgorithmes parallegraveles LVA comporte une augmentation de complexiteacute dun facteur de L [Sesh94] Les strateacutegies exploitant les algorithmes SOVA impliquent aussi une importante augmentation de la complexiteacute Le chapitre preacuteceacutedent montre que leur charge

33 Lalgorithme de Viterbi adopte le thegraveoreme de la non-optimaliteacute (theorem of

nonoptimality path) afin de livrer le message globalement le plus probable (Sous-section 523)

127

de calcul est de 15 agrave 2 fois celle requise par lalgorithme de Viterbi (Section 54)

mM

m

m0

L chemins

Figure 6-16 principe agrave la base du parallegravele List Viterbi Algorithm (LVA)

La strateacutegie dune exploitation des diffeacuterences des meacutetriques cumuleacutees est par contre tregraves inteacuteressante Laugmentation de la complexiteacute nest deacutetermineacutee que par la creacuteation de la liste de messages apregraves lexeacutecution de lalgorithme de Viterbi

662 Meacutethode Serial List Viterbi Algorithm

Un avantage consideacuterable de cette strateacutegie de deacutecodage qui sera utiliseacutee dans cette eacutetude et sera nommeacutee simplement List Viterbi Algorithm (LVA) est la possibiliteacute de seacuteparer le deacuteveloppement du deacutecodeur inteacuterieur en deux parties La premiegravere partie soccupe principalement de lexeacutecution de lalgorithme de Viterbi La seconde partie se concentre sur la geacuteneacuteration de la seacuterie de L messages en utilisant les tables contenant les diffeacuterences des meacutetriques cumuleacutees et les informations pour la reconstruction des chemins Le nombre de chemins qui peuvent ecirctre reconstruits nest limiteacute que par les exigences de lapplication cette strateacutegie permet en effet la reconstruction de tous les messages souhaiteacutes ainsi que la deacutetermination de leurs meacutetriques finale Ces valeurs de meacutetrique sont deacutetermineacutees agrave partir de la meacutetrique du meilleur chemin par la formule

1

meilleur chemin

0 si le chemin agrave cette profondeur

meacutetrique finale est le survivant autrement

np B

np

np

meacutetrique=

+

sum (65)

128

ougrave ∆meacutetrique repreacutesente la diffeacuterence des meacutetriques entre le chemin survivant et celui perdant mais choisi pour la reconstruction Lexeacutecution de cette meacutethode de deacutecodage iteacuteratif peut ecirctre ainsi caracteacuteriseacutee par les eacutetapes suivantes

1 Lalgorithme de Viterbi est tout dabord exeacutecuteacute Pendant son exeacutecution les diffeacuterences entre les meacutetriques cumuleacutees des deux chemins (qui se reacuteunissent dans chaque nœud agrave chaque profondeur) sont systeacutematiquement sauvegardeacutees dans une table

2 Apregraves laccomplissement de lalgorithme de Viterbi la variable responsable du controcircle du nombre des messages geacuteneacutereacutes est initialiseacutee (l=1)

3 Le l-egraveme chemin est tout dabord identifieacute et ensuite deacutecodeacute Ces deux opeacuterations utilisent les informations relatives aux diffeacuterences de meacutetrique et agrave la reconstruction des chemins

4 Le message obtenu est analyseacute par le deacutecodeur exteacuterieur si le message est valideacute le deacutecodage iteacuteratif est termineacute

5 Si les L meilleurs messages globaux nont pas encore eacuteteacute tous controcircleacutes le deacutecodage iteacuteratif continue la variable l est increacutementeacutee et on passe au point 3 Sinon la proceacutedure de deacutecodage est interrompue sans pouvoir deacutelivrer un message valide

663 Performances de cette meacutethode iteacuterative

Limplantation de cette meacutethode est conforme agrave la configuration de base preacutesenteacutee pour limplantation de lalgorithme de Viterbi La reacutealisation de cette meacutethode se base sur la mecircme implantation de lalgorithme de Viterbi qui est utiliseacute agrave titre de reacutefeacuterence Toutefois en raison de la reconstruction de plusieurs chemins le principe de la troncation de la meacutemoire (responsable de la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins) ne peut pas ecirctre exploiteacute Par rapport agrave lobtention de la liste de L messages limplantation de la proceacutedure de creacuteation des messages suit les critegraveres suivants

bull Les messages deacutelivreacutes sont les L meilleurs messages globaux bull Le nombre maximal de messages deacutelivreacutes (pour leacutetude) est L=2 4 8

16 32 64 128 256 et 512 messages

129

bull Les messages sont deacutelivreacutes selon le critegravere dune probabiliteacute deacutecroissante et la proceacutedure iteacuterative sarrecircte si le message est valideacute par le deacutecodeur CRC Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

bull Une surveillance de loccurrence de fausses validations est effectueacutee par un controcircle systeacutematique de lexactitude de la coiumlncidence entre le message correct et celui identifieacute par le deacutecodeur CRC

Figure 6-17 qualiteacute de protection contre les erreurs de transmission offerte par la meacutethode iteacuterative List Viterbi Algorithm Le graphe rouge en trait gras se rapporte agrave la qualiteacute de reacutefeacuterence obtenue par lalgorithme de Viterbi Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Qualiteacute de protection contre les erreurs de transmission Les reacutesultats de la qualiteacute de protection (utilisant le service de parole AMR-NB agrave 122 kbps) sont illustreacutes en Figure 6-17 Les potentialiteacutes de protection de la meacutethode List Viterbi Decoding sont prouveacutees laugmentation du nombre de messages deacutelivreacutes au deacutecodeur CRC ameacuteliore sensiblement la qualiteacute de protection Par contre la relation entre le gain de codage (Coding Gain) et le nombre maximal de messages deacutelivreacutes nest pas lineacuteaire (Table 6-8) en raison de la probabiliteacute deacutecroissante des messages livreacutes La Figure 6-17 met aussi

130

en eacutevidence linfluence des conditions de transmission sur le gain de codage Les reacutesultats de cette simulation montrent que le gain de codage augmente avec lameacutelioration des conditions de transmission Aucune fausse validation na pu ecirctre identifieacutee lors des simulations effectueacutees Bien que la probabiliteacute de rencontrer des situations de fausses validations nest jamais nulle ces reacutesultats quantitatifs prouvent que la capaciteacute de deacutetection derreurs du code en bloc utiliseacute est suffisante agrave garantir lexeacutecution correcte de cette meacutethode iteacuterative

Nombre maximal de messages L

Gain de codageagrave FER=10-3 [dB]

Nombre maximal de messages L

Gain de codage agrave FER=10-3 [dB]

2 05 64 16 4 08 128 17 8 10 256 19

16 13 512 20 32 15

Table 6-8 vue densemble du gain de codage par rapport agrave la qualiteacute de protection de lalgorithme de Viterbi

Complexiteacute de calcul de cette meacutethode iteacuterative Afin de permettre lanalyse correcte de la complexiteacute de calcul de cette meacutethode la nouvelle reacutealisation de la tacircche concernant la geacuteneacuteration des messages doit ecirctre tout dabord discuteacutee La geacuteneacuteration des L meilleurs messages globaux utilise deux tables la premiegravere contenant les informations neacutecessaires agrave la reconstruction des chemins survivants la seconde comprenant les diffeacuterences de meacutetriques cumuleacutees A partir de ces deux tables la strateacutegie implanteacutee pour la geacuteneacuteration des messages les plus probables suit les eacutetapes suivantes

1 Le message globalement le plus probable (l=1) est obtenu par deacutecodage du chemin indiqueacute par lalgorithme de Viterbi En analysant les chemins perdants rencontreacutes lors de la geacuteneacuteration de ce message (Figure 6-19) une table contenant toutes les informations neacutecessaires agrave la reconstruction des L-1 chemins (temporairement) les plus probables est construite (Figure 6-18) Les informations sont la valeur de la meacutetrique et les indications des niveaux de profondeur ougrave le chemin suit des chemins perdants Cette table est geacuteneacutereacutee et

131

geacutereacutee selon la meacutethode dinsertion des nouvelles informations Straight Insertion [Pres92]

2 Le message globalement le plus probable (l=1) est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute la proceacutedure sarrecircte

3 La variable l est increacutementeacutee (l=l+1) 4 Le chemin le plus probable de la table est utiliseacute pour la construction

du l-egraveme message globalement le plus probable Ce message est obtenu en suivant les informations de reconstruction des chemins et les indications des niveaux de profondeur des chemins perdants (Figure 6-19) Apregraves la derniegravere deacuteviation depuis un chemin survivant la table des L-l meilleurs chemins est mise agrave jour (Straight Insertion) en analysant les meacutetriques des chemins perdants rencontreacutes (Figure 6-19) Cette strateacutegie eacutevite de consideacuterer des chemins perdants preacuteceacutedemment deacutejagrave analyseacutes

5 Ce l-egraveme message est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute cette proceacutedure sarrecircte

6 Si les L messages ne sont pas encore reconstruits on passe agrave leacutetape 3 Sinon la proceacutedure sarrecircte sans pouvoir livrer un message valide

djbest pointeurj informations des deacuteviations (chemin b)dibest pointeuri informations des deacuteviations (chemin j)dhbest pointeurh informations des deacuteviations (chemin h)

dwbest pointeurw informations des deacuteviations (chemin i)

chem

ins

plus

pro

met

teur

s meacutetrique indications des niveaux de profondeurdes chemins perdants

Figure 6-18 table contenant toutes les informations neacutecessaires agrave la

reconstruction des chemins temporairement les plus probables Lutilisation des pointeurs permet de reacuteduire les coucircts de mise agrave jour de la table par insertion et deacuteplacement des eacuteleacutements (Straight Insertion [Pres92])

132

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins nonretenus

cheminssurvivants

chemin le plus probable

chemins analyseacutes lors dudeacutecodage du chemin leplus probable

np=1 np=2 np=3 np=4 np=5 np=6

S00

S01

S00

np=7 np=8

Bits de terminaison

second chemin le plusprobalechemins analyseacutes lors dudeacutecodage du second cheminle plus probable

Niveau deprofondeur 0

Figure 6-19 exemple de proceacutedure de reconstruction des deux meilleurs messages globaux avec lanalyse des chemins perdants

Les estimations de la charge de calcul de la meacutethode iteacuterative sont reacutesumeacutees dans la Table 6-9 Table 6-10 et Table 6-11 La premiegravere examine dans le deacutetail la meacutethode List Viterbi livrant au maximum 8 messages au deacutecodeur exteacuterieur (L=8) La Table 6-10 et la Table 6-11 reacutesument les reacutesultats concernant la livraison de 2 4 8 16 32 64 128 256 et 512 messages Les reacutesultats qui en deacutecoulent sont conformes aux attentes La structure algorithmique de cette meacutethode iteacuterative permet en effet de limiter laugmentation de la complexiteacute la rendant inteacuteressante du point de vue du rapport qualiteacutecomplexiteacute de calcul La seacuteparation de la meacutethode en deux parties principales a rendu limplantation de la tacircche de geacuteneacuteration des L messages responsable de laugmentation de complexiteacute Limportance de laugmentation deacutepend ainsi du positionnement du message correct dans la seacuterie de messages (Table 6-9) et du nombre maximal L de messages livrables (Table 6-10 et Table 6-11)

133

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 44540 146 0 44686 44540 760 0 45300Increacutementations 0 1322 0 1322 2092 0 2092Soustractions 22525 121 0 22646 22525 842 0 23367Multiplications 0 0 0 0 0 0 0 0Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 11 45847 0 164979 119146 46752 0 165898Logique 12750 2613 13 130131 127733 3929 104 131766Deacutecalages 70721 282 1 71004 71127 2249 8 73384Controcircles 102761 102761 106329 106329Pointeur assignations 654 654 690 690Pointeur arithmeacutetique 716 716 2182 2182Boucle initialisations 24166 112 0 24278 24166 133 0 24299Boucle controcircles 97782 97782 98573 98573Boucle 72545 952 0 73497 72545 1722 0 74267Grand total 734456 748147

Table 6-9 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=8 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 Le fond gris met en eacutevidence les compteurs doccurrence deacutefinis par les organisations ITU et ETSI

Avec laugmentation du nombre de chemins L limportance du positionnement du message correct saccroicirct remarquablement Le principal responsable de la hausse importante de la complexiteacute est la gestion de la table des informations des chemins les plus prometteurs agrave partir de L=64 messages la strateacutegie de gestion de la table par Straight Insertion perd son efficaciteacute en exigeant un nombre eacuteleveacute dopeacuterations Lemploi de cette meacutethode de deacutecodage iteacuterative avec un nombre eacuteleveacute de messages implique la modification de cette strateacutegie de gestion

134

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme(imposeacute)

Contexte EbN0=00dB L=2 L=4 L=8 L=16 L=32 Additions 44551 44655 44866 45300 46216 48240Increacutementations 1320 1432 1652 2092 2972 4732Soustractions 225 22742 22951 23367 24199 25863Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 165052 165326 165898 167138 170002Logique 132694 130382 130830 131766 133681 137441Deacutecalages 71003 71344 72024 73384 76104 81544Controcircles 102615 103137 104193 106329 110697 119817Pointeur assignations 612 626 644 690 830 1302Pointeur arithmeacutetique 513 928 1346 2182 3854 7198Boucle initialisations 24269 24275 24283 24299 24331 24395Boucle controcircles 97734 97849 98087 98573 99593 101825Boucle increacutementations 73464 73574 73801 74267 75247 77399Grand total 710317 735996 740003 748147 764862 799758Complexiteacute relative34 100 104 104 105 108 113 List Viterbi Algorithm

Sans erreurs de transmission Grand total

734179 734217 734456 735263 738406Complexiteacute relative34 103 103 103 104 104

Table 6-10 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=2 4 8 16 et 32 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

34 On rappelle que la meacutethode de reacutefeacuterence est lalgorithme de Viterbi La complexiteacute

relative est obtenue en divisant la complexiteacute de calcul (nombre moyen dopeacuterations observeacutees grand total) de la meacutethode analyseacutee par celle de lalgorithme de Viterbi (donneacutee en Table 6-6)

135

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme (imposeacute)

Contexte EbN0=00dB L=32 L=64 L=128 L=256 L=512 Grand total 710317 799758 875765 1053806 1514077 2850308Complexiteacute relative34 100 113 123 148 213 401 List Viterbi Algorithm

Sans erreurs de transmission Grand total

738406 750806 797065 899840 1105428Complexiteacute relative34 104 106 112 127 156

Table 6-11 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=32 64 128 256 et 512 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

67 List Decoding inteacutegrant la validation du CRC

Les reacutesultats de la meacutethode preacuteceacutedente prouvent la faisabiliteacute dune exploitation intensive des informations geacuteneacutereacutees par le codage en bloc La meacutethode List Viterbi Algorithm ameacuteliore la qualiteacute de protection de lalgorithme de Viterbi au moyen dune utilisation plus exhaustive de ces informations La meacutethode montre un bon rapport entre la qualiteacute de protection et la complexiteacute de calcul Toutefois la complexiteacute de calcul est fortement influenceacutee par lincorporation de lalgorithme de Viterbi dans la meacutethode iteacuterative la complexiteacute croicirct de maniegravere exponentielle avec laugmentation de la longueur de contrainte K du code convolutif

671 Nouvelle strateacutegie de deacutecodage

Lefficaciteacute du principe de deacutecodage iteacuteratif permet denvisager une exploitation exhaustive des informations reccedilues dans le but de reacuteduire la charge de calcul de lopeacuteration entiegravere de deacutecodage tout en conservant la mecircme qualiteacute de protection que lalgorithme de Viterbi Ce nouvel objectif peut ecirctre atteint tout dabord en choisissant une meacutethode de deacutecodage convolutif moins exigeante en termes de charge de calcul En raison

136

de lefficaciteacute de lalgorithme de Viterbi une reacuteduction de la complexiteacute de calcul ne peut ecirctre obtenue quau deacutetriment dune analyse complegravete de lespace de codage La perte ineacutevitable de qualiteacute de protection (Table 6-12) peut ecirctre ensuite compenseacutee par lapport dinformations suppleacutementaires du codage CRC

Nombre de chemins survivants pris en compte

Facteur de reacuteduction de lespace de codage

Rapport signal sur bruit EbN0 produisant un BER de 10-3

Gain de codage

Tous (Algorithme de Viterbi) - 41 dB - 128 chemins (eacutetats) 2 42 dB -01 dB 64 chemins (eacutetats) 4 46 dB -05 dB 32 chemins (eacutetats) 8 51 dB -10 dB 16 chemins (eacutetats) 16 56 dB -15 dB

Table 6-12 vue densemble de la deacutegradation introduite en raison dune analyse incomplegravete de lespace de codage Contexte de codage codeur UMTS avec rendement Rc=13

Le mecircme principe de deacutecodage livrant une seacuterie de messages au deacutecodeur CRC est agrave nouveau adopteacute Lalgorithme utiliseacute pour la geacuteneacuteration des messages nest plus lalgorithme de Viterbi mais un algorithme qui favorise laspect de la faible complexiteacute de calcul lalgorithme List Decoding (Figure 6-20) La charge de calcul de la meacutethode List Decoding est en effet fonction du nombre L de chemins consideacutereacutes agrave chaque niveau de profondeur De plus une liste des chemins les plus prometteurs est intrinsegravequement disponible agrave tous les niveaux de profondeur (Sous-section 522) La seacuterie de messages est geacuteneacutereacutee en deacutecodant les chemins contenus dans la liste finale des L chemins les plus prometteurs La geacuteneacuteration des messages beacuteneacuteficie de la non-application du principe du survivant ce qui permet la libre coexistence des meilleurs chemins (Figure 6-21) Cette caracteacuteristique est indispensable pour obtenir une liste dont les messages possegravedent de bonnes probabiliteacutes

137

Deacutecodeur exteacuterieur

Niveau de profondeur1 2 3 B

B+1 B+(longueur decontrainte -1)

PM(1)

PM(2)

PM(L)

PM(L+1)

PM(L+2)

PM(2L)

messagecorrect

seacutele

ctio

n du

i-egravem

e m

eille

urch

emin

de

la li

ste

deacutecodage dui-egraveme chemin

deacutepart i=1

i=i+1 derniermessage

messagecorrect

messageincorrect

Deacutecodeur inteacuterieur

Oui

Oui

Non

Non

0

List Decoding

bits de terminaisonbits dinformation

Figure 6-20 repreacutesentation graphique du principe de cette meacutethode iteacuterative List Decoding inteacutegrant la validation CRC

672 Consideacuterations sur limplantation

Limplantation de cette meacutethode utilise la mecircme repreacutesentation numeacuterique des meacutetriques et le mecircme systegraveme de sauvegarde des informations de reconstruction des chemins que ceux qui ont eacuteteacute adopteacutes pour limplantation de lalgorithme de Viterbi Par rapport agrave la sauvegarde des informations de reconstruction lalgorithme List Decoding permet deux strateacutegies opposeacutees de sauvegarde des informations Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement un bit ayant fonction dindicateur (flag) Il signale si le chemin a eacuteteacute inseacutereacute dans la liste des L chemins qui seront ensuite prolongeacutes Gracircce agrave cette indication et au positionnement du chemin dans la liste des prolongations les eacutetats preacuteceacutedents des chemins peuvent ecirctre reconstruits de maniegravere iteacuterative Les deacutetails et les explications sont disponibles dans le livre de Johannesson [Joha99] De maniegravere coheacuterente avec limplantation de lalgorithme de Viterbi le systegraveme le moins complexe (qui sauvegarde directement la valeur de leacutetat preacuteceacutedent) a eacuteteacute choisi pour limplantation de cette meacutethode En raison dune reconstruction dune large quantiteacute de messages la meacutethode de troncation de la meacutemoire nest pas applicable

138

673 Effet de compensation par lexploitation exhaustive du codage CRC

La qualiteacute de protection de cette meacutethode iteacuterative est deacutetermineacutee par la probabiliteacute de trouver le message correct dans la liste de messages livreacutes au deacutecodeur CRC Cette probabiliteacute est eacutevidemment fonction du nombre L de messages livreacutes ainsi que des affiniteacutes entre les symboles reccedilus et ceux geacuteneacutereacutes par les messages

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

chemins concurrentsavec une eacutevolution

commune de lameacutetrique cumuleacutee

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

Figure 6-21 lalgorithme List Decoding permet la libre coexistence de chemins parallegraveles qui ont une eacutevolution commune de la meacutetrique cumuleacutee Ceci est ducirc agrave linapplication du critegravere du survivant

A la diffeacuterence de la meacutethode List Viterbi Decoding qui livre les L messages globalement les plus probables lalgorithme List Decoding traite les L chemins les plus prometteurs de chaque niveau de profondeur Cet algorithme peut ecirctre ainsi affecteacute par le pheacutenomegravene gecircnant du rejet cest-agrave-dire la disparition du(des) chemin(s) globalement le(s) plus probable(s) de la liste des L chemins (Section 522) Par conseacutequent les L messages livreacutes ne correspondent pas neacutecessairement aux L messages globalement les plus probables

139

Caracteacuteristiques de limplantation de cette meacutethode iteacuterative Limplantation de cette solution suit les critegraveres suivants bull Le nombre maximal de messages deacutelivreacutes coiumlncide avec le nombre L des

messages les plus prometteurs de la meacutethode List Decoding A titre deacutetude ce nombre sera aussi eacutetendu agrave 2middotL en nexeacutecutant pas la derniegravere seacutelection avant le traitement des bits de terminaison (Figure 6-20)

bull Les messages sont deacutelivreacutes selon une affiniteacute deacutecroissante (cest-agrave-dire selon une valeur de meacutetrique croissante) et la proceacutedure iteacuterative sarrecircte si le message a eacuteteacute valideacute Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Une surveillance de loccurrence de fausses validations est effectueacutee pendant les simulations Le message identifieacute par le deacutecodeur CRC est systeacutematiquement compareacute avec le message envoyeacute

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

Effet de compensation Les qualiteacutes de protection de cette meacutethode List Decoding inteacutegrant la validation CRC deacutemontrent la validiteacute du principe de la compensation de la deacutegradation de la protection due agrave lutilisation de lalgorithme List Decoding (Figure 6-22) Cette eacutetude montre que la perte de qualiteacute due agrave lanalyse incomplegravete de lespace de codage peut ecirctre compenseacutee en deacutelivrant plusieurs messages au deacutecodeur CRC La qualiteacute de protection nest maintenant influenceacutee que par la perte possible du chemin correct par lalgorithme List Decoding si ce chemin apparaicirct dans la liste finale des L chemins la proceacutedure iteacuterative permet lidentification et la livraison du message correct Limportance de lameacutelioration apporteacutee par la livraison des messages deacutepend strictement du nombre L de chemins par lalgorithme List Decoding Un nombre L eacuteleveacute diminue les risques dun rejet du chemin correct causeacute par une accumulation (soit constante soit temporairement deacutefavorable) derreurs de transmission (Table 6-13) Lextension du nombre de messages de L agrave 2L par la non-exeacutecution de la derniegravere seacutelection des chemins napporte en effet pas dameacutelioration sensible (Figure 6-22) Cette proceacutedure geacutenegravere L messages suppleacutementaires qui possegravedent des probabiliteacutes tregraves reacuteduites decirctre le message correct

140

Figure 6-22 qualiteacute de protection de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC et de lalgorithme de Viterbi Le graphe rouge en trait gras repreacutesente la qualiteacute de protection de lalgorithme de Viterbi le graphe bleu en trait fin celle de la meacutethode iteacuterative livrant L messages Le graphe vert en trait gras indique la qualiteacute de protection obtenue par la livraison de 2middotL messages (eacutelimination de la derniegravere seacutelection des L messages) Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Importance du bruit causant un FER de 10-3 [EbN0] Nombre de chemins L Algorithme List

Decoding Meacutethode iteacuterative List Decoding inteacutegr CRC

Algorithme de Viterbi

32 557 dB 553 dB64 527 dB 514 dB

128 516 dB 478 dB

513 dB

Table 6-13 exemple dameacutelioration des performances observeacute dans le cadre du service de parole AMR-NB agrave 122 kbps gracircce agrave la meacutethode iteacuterative

141

En ce qui concerne les simulations (service de parole AMR-NB agrave 122 kbps) le controcircle systeacutematique de la qualiteacute de deacutetection derreurs na reacuteveacuteleacute aucune irreacutegulariteacute dans le jugement effectueacute par le deacutecodeur CRC (cas de fausses validations) Dans le cas dune perturbation par laddition dun bruit blanc gaussien (de 00 agrave 60 dB) ce deacutecodage iteacuteratif avec L=64 messages offre une qualiteacute de protection comparable agrave celle de lalgorithme de Viterbi (Figure 6-22) Dans des conditions de transmission tregraves mauvaises (EbN0lt1dB) on peut mecircme envisager de reacuteduire ulteacuterieurement le nombre de messages L livrables

674 Complexiteacute de calcul

Apregraves avoir deacutemontreacute la faisabiliteacute dune compensation de la qualiteacute de protection par la livraison dune seacuterie de messages cette sous-section considegravere la reacuteduction de la charge de calcul de la meacutethode de deacutecodage La complexiteacute de calcul des meacutethodes iteacuteratives de deacutecodage consideacutereacutees (Figure 6-15) deacutepend tout dabord de la meacutethode de deacutecodage convolutif et ensuite de la proceacutedure iteacuterative de geacuteneacuteration et de controcircle de la validiteacute des messages Lutilisation de lalgorithme List Decoding reacuteduit la complexiteacute de cette proceacutedure iteacuterative mettant intrinsegravequement agrave disposition une liste de chemins dont le deacutecodage permet de geacuteneacuterer une seacuterie de messages Du point de vue de la complexiteacute de calcul le point crucial devient ainsi limplantation de la meacutethode List Decoding Charge de calcul de lalgorithme List Decoding la fonction de seacutelection A chaque niveau de profondeur cet algorithme procegravede agrave la prolongation de L chemins agrave la mise agrave jour de 2middotL meacutetriques cumuleacutees et agrave la seacutelection des L meilleurs chemins (Sous-section 522) Contrairement agrave lalgorithme de Viterbi le deacuteroulement de cet algorithme neacutecessite lintervention dune fonction de tri pour la seacutelection des chemins dont la complexiteacute de calcul deacutepend eacutevidemment du nombre de chemins impliqueacutes dans lopeacuteration Les fonctions de tri classiques telles que les meacutethodes Straight Insertion et Heap Sort neacutecessitent un nombre dopeacuterations dont lordre de grandeur varie entre (2middotL)2 et 2middotLmiddotlog2(2middotL) [Pres92] Avec laugmentation du nombre L de chemins les exigences de ces fonctions deviennent trop importantes et compromettent la reacuteduction de la charge de calcul envisageacutee par lanalyse partielle de lespace de codage Il devient ainsi essentiel dutiliser une solution alternative agrave ces fonctions de tri classiques

142

Proceacutedure de seacutelection deacuteveloppeacutee Une proceacutedure de seacutelection qui utilise la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee et ensuite implanteacutee La fonction de tri peut ainsi ecirctre remplaceacutee par la deacutetermination du seuil deacutelimitant les deux sous-ensembles de meacutetriques (Figure 6-23) Lordre de grandeur de la complexiteacute de calcul de cette proceacutedure est de 2middotL Les deacutetails sont preacutesenteacutes dans lAnnexe B (Section B2)

valeur de lameacutetrique cumuleacutee

best

Met

r np

nom

bre

dech

emin

s

best

Met

r np+1

best

Met

r np+2

L meilleurschemins

seuil

Figure 6-23 recherche du seuil qui permettra ensuite la seacutelection des L meilleurs chemins par simple comparaison Cette repreacutesentation considegravere des meacutetriques se basant sur la pure distance de Hamming

Cette proceacutedure sinspire de lobservation dune stabiliteacute de la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (Figure 6-24) Bien que les valeurs aient tendance agrave augmenter en preacutesence derreurs de transmission la diffeacuterence maximale entre les meacutetriques dmm reste pratiquement constante

143

( )2 log 2dmm MaxContribBranche L

= sdot sdot (66)

ougrave MaxContribBranche est la contribution maximale de la meacutetrique de branche35 (voir Annexe B Section B2) On peut ainsi constater que les 2middotL valeurs de meacutetriques cumuleacutees sont concentreacutees dans un eacutecart reacuteduit agrave dmm valeurs

Figure 6-24 exemple de la dynamique relative aux valeurs des meacutetriques cumuleacutees La distance de Hamming est utiliseacutee comme meacutetrique de branche Configuration List Decoding avec L=64 codeur convolutif avec Rc=13 du standard UMTS [Ts25212] intensiteacute du bruit de EbN0=6dB la partie initiale de la proceacutedure de deacutecodage nest pas afficheacutee

La forte accumulation des valeurs permet de deacutevelopper une proceacutedure de seacutelection exploitant la distribution statistique des meacutetriques cumuleacutees Le principe est leacutetablissement (agrave chaque niveau de profondeur) de la statistique de distribution des meacutetriques cumuleacutees afin de deacuteterminer le seuil qui permet la seacutelection des L meilleurs chemins (Figure 6-23)

35 On rappelle que luniteacute des meacutetriques de branche est la distance de Hamming Les

valeurs de meacutetriques cumuleacutees indiquent ainsi le nombre derreurs rencontreacutees par les divers chemins

144

Du point de vue de la complexiteacute de calcul cette meacutethode peut ecirctre reacutesumeacutee de la maniegravere suivante

bull Les (dmm + MaxContribBranche+1) compteurs doccurrence neacutecessaires pour eacutetablir la statistique des meacutetriques cumuleacutees36 sont remis agrave zeacutero

bull Pendant les opeacuterations de prolongement des chemins ces compteurs sont increacutementeacutes selon les valeurs des nouvelles meacutetriques cumuleacutees

bull Le seuil est ensuite eacutetabli par laddition des valeurs de ces compteurs doccurrence jusquagrave parvenir agrave lisolement des Ls chemins les plus prometteurs (ougrave LsgeL)

0

arg minseuil

statseuil statseuil compteur L

=

= gesum (67)

bull Gracircce agrave ce seuil et agrave un compteur suppleacutementaire (au cas ougrave Ls gt L) les

L meacutetriques cumuleacutees les plus favorables sont identifieacutees Complexiteacute de calcul observeacutee pour la meacutethode List Decoding inteacutegrant la validation du CRC La Table 6-14 et la Table 6-15 montrent les charges de calcul observeacutees pour la meacutethode iteacuterative List Decoding inteacutegrant la validation du CRC La premiegravere table illustre la complexiteacute neacutecessaire agrave lexeacutecution de cette meacutethode avec L=64 messages Deux situations sont traiteacutees en deacutetail la premiegravere preacutesente une situation de transmission de donneacutees sans erreurs alors que la seconde considegravere lexeacutecution exhaustive de la meacutethode en raison dune transmission tregraves mauvaise Dans cette derniegravere situation lalgorithme est forceacute (artificiellement) agrave fournir et agrave examiner tous les L messages La Table 6-15 donne une vue densemble de la complexiteacute de cette meacutethode iteacuterative Elle reacutesume les reacutesultats obtenus en utilisant L=16 32 64 128 et 256 messages Ces reacutesultats mettent en eacutevidence la relation entre la charge de calcul et les conditions de transmission des donneacutees En raison dun nombre important de messages potentiellement livrables la position du message valide dans la liste influence la charge de calcul demandeacutee par la meacutethode

36 Les limites infeacuterieure et supeacuterieure des meacutetriques cumuleacutees sont estimeacutees agrave partir des

valeurs de meacutetriques cumuleacutees obtenues au niveau de profondeur preacuteceacutedent On doit ainsi consideacuterer une diffeacuterence maximale des meacutetriques plus large (pour les deacutetails voir Annexe B) Chaque compteur doccurrence surveille une valeur preacutecise de meacutetrique

145

Par rapport aux simulations relatives au service de parole AMR-NB agrave 122 kbps lemploi de meacutethode iteacuterative avec L=64 messages implique une complexiteacute relative34 qui varie entre 039 (absence derreurs) et 049 (analyse de tous les L messages)

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 0 12703 0 12703 0 12974 0 12974Increacutementations 0 37610 0 37610 0 44497 0 44497Soustractions 0 98 0 98 0 728 0 728Multiplications 1 0 0 1 1 0 0 1Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 12465 33786 0 46251 12528 42081 0 54609Logique 11910 14387 13 26310 14143 26231 832 41206Deacutecalages 6 12040 1 12101 3714 24129 64 27907Controcircles 85075 85075 93731 93731Pointeur assignations 615 615 678 678Pointeur arithmeacutetique 584 584 6821 6821Boucle initialisations 0 387 0 387 0 513 0 513Boucle controcircles 26636 26636 33251 33251Boucle increacutementations 0 26249 0 26249 0 32738 0 32738Grand total 274621 349654

Table 6-14 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC avec L=64 Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs deacutefinis par lorganisations ITU et ETSI

Ces reacutesultats montrent que lobjectif eacutetabli a eacuteteacute atteint Lanalyse incomplegravete de lespace de codage de la meacutethode List Decoding et la nouvelle fonction de seacutelection des L chemins diminuent la complexiteacute de calcul de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC Le point crucial est lopeacuteration de seacutelection des L chemins dans la meacutethode List Decoding qui conditionne la reacuteduction de sa charge de calcul Lutilisation de fonctions classiques de tri exige en effet une charge de calcul trop importante ce qui va agrave lencontre de lobtention dune meacutethode efficace du point de vue de la complexiteacute Il a eacuteteacute ainsi neacutecessaire de deacutevelopper une fonction de seacutelection adapteacutee aux caracteacuteristiques de lalgorithme List Decoding

146

Nombre moyen drsquoopeacuterations observeacutees

Viterbi et val CRC ()

List Decoding inteacutegrant la validation CRC Exeacutecution exhaustive (imposeacute)

Contexte EbNo=00dB L=16 L=32 L=64 L=128 L=256 Additions 44551 3771 6879 12974 25010 48992Increacutementations 1320 11908 22695 44497 87853 167660Soustractions 225 250 409 728 1367 2646Multiplications 0 1 1 1 1 1Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 16943 29743 54609 103668 201485Logique 132694 12322 21993 41206 79386 155227Deacutecalages 71003 7014 13989 27907 55656 111091Controcircles 102615 31314 52105 93731 176160 327185Pointeur assignations 612 630 646 678 742 870Pointeur arithmeacutetique 513 2071 3654 6821 13156 25827Boucle initialisations 24269 419 450 513 640 895Boucle controcircles 97734 10571 18258 33251 62734 120947Boucle 73464 10152 17808 32738 62094 120052Grand total 710317 107365 188631 349654 668467 1282877Complexiteacute relative34 100 015 027 049 094 181 List Decoding inteacutegrant la validation CRC

Sans erreurs de transmission Grand total

89711 151934 274621 516245 974710Complexiteacute relative34 013 021 039 073 137

Table 6-15 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur List Decoding Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

68 Comparaisons des meacutethodes iteacuteratives proposeacutees

Le principe agrave la base de ces deacutecodages iteacuteratifs est la livraison dune seacuterie de messages au deacutecodeur exteacuterieur dans le but didentifier le message correct La probabiliteacute de la livraison du message correct correspond ainsi agrave la somme des probabiliteacutes des L messages livrables Le cas ideacuteal est repreacutesenteacute par la livraison des L messages globalement les plus prometteurs ce qui maximise la probabiliteacute de lobtention du message correct Cette strateacutegie est adopteacutee par la meacutethode iteacuterative List Viterbi

147

Algorithm (LVA) meacutethode qui offre ainsi une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Figure 6-25)

Figure 6-25 vue densemble des potentialiteacutes offertes par les deux meacutethodes iteacuteratives Le graphe vert en trait gras repreacutesente la qualiteacute de protection des meacutethodes iteacuteratives List Decoding inteacutegrant la validation CRC le graphe bleu celle des algorithmes List Viterbi Les valeurs de reacutefeacuterence de lalgorithme de Viterbi sont indiqueacutees au moyen du graphe rouge en trait gras Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps La figure indique aussi le domaine dutilisation dans lequel chacune des meacutethodes fournit une protection de qualiteacute et efficace

En raison de linteacutegration de lalgorithme de Viterbi dans la meacutethode iteacuterative de deacutecodage sa complexiteacute de calcul est eacutevidemment supeacuterieure agrave lapproche classique Une implantation soigneuse de lopeacuteration de geacuteneacuteration des messages (Sous-section 663) limite laugmentation de complexiteacute rendant cette meacutethode tregraves inteacuteressante du point de vue du rapport entre lameacutelioration de la qualiteacute de protection et la complexiteacute de calcul (Figure 6-25 et Table 6-16) Le principe de livraison dune seacuterie de messages peut ecirctre aussi exploiteacute pour deacutevelopper une meacutethode de deacutecodage efficace mais moins exigeante en termes de charge de calcul la meacutethode List Decoding inteacutegrant la validation CRC (Figure 6-25 et Table 6-16) La livraison de plusieurs messages permet

148

de compenser ainsi la deacutegradation de la qualiteacute de protection deacutegradation qui est causeacutee par un algorithme de deacutecodage convolutif moins exigeant et moins preacutecis que lalgorithme de Viterbi Lanalyse partielle de lespace de codage et la nouvelle fonction de seacutelection limitent la charge de calcul demandeacutee par le deacutecodage convolutif List Decoding La perte de qualiteacute de protection est ensuite compenseacutee par la recherche iteacuterative du message valide

WCwOPS() Algorithmes Nombre moyen dopeacuterations observeacutees (exeacutecution exhaustive )

Pour le traitement dune trame

Pour le traitement dun bit du message (valeur indicative)

Viterbi EbN0=00dB sans troncation de la meacutemoire

710125 616144 6100

Deacutetection du CRC 192 291 4Meacutethode iteacuterative baseacutee sur lalgorithme List Decoding

L= 32 188631 199919 1979L= 64 349654 369384 3657L= 128 668467 705261 6983

Meacutethode iteacuterative baseacutee sur lalgorithme List Viterbi (LVA) Max 2 messages (L=2) 735996 641881 6355Max 4 messages (L=4) 740003 646035 6396Max 8 messages (L=8) 748147 654465 6480Max 16 messages (L=16) 764862 671704 6651() Worst-Case weighted Operations nombre maximal dopeacuterations impliqueacutees dans lexeacutecution de la proceacutedure analyseacutee pondeacutereacute selon le modegravele proposeacute par lITUETSI Il comprend aussi les opeacuterations neacutecessaires agrave ladressage (Array Index) qui ne sont normalement pas consideacutereacutees lors de ce type deacutevaluation

Table 6-16 vue densemble de la complexiteacute de calcul des meacutethodes les plus repreacutesentatives Les trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps

La Figure 6-25 marque les champs demploi compleacutementaires des deux meacutethodes iteacuteratives La meacutethode LVA est envisageable afin dameacuteliorer la qualiteacute de protection de lalgorithme de Viterbi En variant le nombre L des messages livrables la meacutethode atteint ainsi diffeacuterents gains de codage Toutefois un nombre important de messages (Lgt64) reacuteduit lefficaciteacute de limplantation de la meacutethode (Table 6-16) en raison de la strateacutegie adopteacutee pour la gestion des chemins les plus probables Lemploi envisageable par la meacutethode List Decoding inteacutegrant la validation CRC est la reacuteduction de la charge de calcul de lopeacuteration de deacutecodage tout en

149

gardant le mecircme niveau de qualiteacute de protection que celui de lalgorithme de Viterbi Dans ce cas il sagit ainsi de deacuteterminer le nombre L de chemins qui offre le rapport deacutesireacute entre la qualiteacute de protection et la charge de calcul Lutilisation de ces meacutethodes neacutecessite (impeacuterativement) une capaciteacute de deacutetection derreurs suffisante pour accomplir correctement lopeacuteration didentification [Kuumlhn97] Par rapport au cas pratique du service de parole AMR-NB agrave 122 kbps les nombreuses simulations ont deacutemontreacute la faisabiliteacute et lefficaciteacute de ces meacutethodes iteacuteratives dans le contexte de codage UMTS

69 Conclusions

Ce chapitre a traiteacute le sujet de limplantation software de meacutethodes de deacutecodage de donneacutees proteacutegeacutees par les codes convolutifs du standard UMTS [Ts25212] Lanalyse de la structure de codage de lUMTS a deacutemontreacute encore une fois limportance du codage convolutif dans les standards de communication numeacuterique mobile Les reacutecents standards exploitent massivement ce codage individuellement concateacuteneacute en seacuterie et en parallegravele Cette eacutetude sest concentreacutee sur la seconde configuration Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute actuel de la communication mobile lalgorithme de Viterbi est la meacutethode qui eacuteteacute tout dabord implanteacutee Limportante charge de calcul qui en deacutecoule (Table 6-17) ainsi que limportante variabiliteacute du deacutebit de transmission ont pousseacute leacutetude vers lexploration des potentialiteacutes dexeacutecution offertes par la structure de protection du standard UMTS En jugeant les meacutethodes en termes de rapport entre la qualiteacute de protection et la complexiteacute de calcul deux meacutethodes ont ainsi eacuteteacute proposeacutees le List Viterbi Algorithm (nouvelle reacutealisation) et le List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Ces meacutethodes iteacuteratives se basent sur une exploitation plus exhaustive des informations suppleacutementaires provenant du codage CRC La premiegravere meacutethode preacutesenteacutee a eacuteteacute la meacutethode List Viterbi Algorithm Cette meacutethode offre une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Table 6-17) Une nouvelle implantation de cette meacutethode conforme aux critegraveres dune exeacutecution en temps reacuteel a confirmeacute non seulement la faisabiliteacute de la meacutethode iteacuterative dans le contexte de codage UMTS mais aussi les bons rapports entre qualiteacute de protection et complexiteacute de calcul

150

Service de parole AMR-NB agrave 122kbps (class A)

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Qualiteacute gain de codage agrave FER=10-3

Exeacutecution exhaustive (imposeacute)

Sans erreurs de transmission

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=513 dB)

100 (710k opeacuterations)

L=2 + 05 dB 104 103 L=8 + 10 dB 105 103 L=32 + 15 dB 113 104

LVA

L=128 + 17 dB 148 112 L=32 - 04 dB 027 021 L=64 00 dB 049 039

List Decoding avec CRC

L=128 + 04 dB 094 073

Table 6-17 reacutesumeacute des reacutesultats obtenus par les simulations du service de parole AMR-NB agrave 122kbps (class A) [TrR104] service proposeacute dans le cadre du standard UMTS Pour les deacutetails voir les tables Table 6-8 Table 6-10 Table 6-11 Table 6-13 et Table 6-15

Une ameacutelioration du rapport qualiteacutecomplexiteacute a eacuteteacute ensuite poursuivie en envisageant une reacuteduction de la complexiteacute de calcul de la meacutethode de deacutecodage La nouvelle meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute ainsi deacuteveloppeacutee et proposeacutee Sa strateacutegie est la liaison iteacuterative dune meacutethode de deacutecodage efficace dans lanalyse partielle de lespace de deacutecodage (la meacutethode List Decoding) avec la validation du message CRC Cette nouvelle meacutethode iteacuterative a eacuteteacute possible gracircce agrave une nouvelle reacutealisation de lalgorithme List Decoding qui a permis une reacuteduction importante de sa charge de calcul Cette reacutealisation revalorise lalgorithme List Decoding aussi dans le contexte dun codage convolutif direct du message Les simulations utilisant le codage du service de parole AMR-NB agrave 122kbps (classe B) confirment la bonne combinaison entre lanalyse partielle de lespace de codage et la charge de calcul (Table 6-18) Cette eacutetude a deacutemontreacute la possibiliteacute pratique dexploiter de maniegravere iteacuterative les informations suppleacutementaires provenant de lenchaicircnement avec un code en bloc afin dameacuteliorer le rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage (Table 6-17) Les simulations exploitant le contexte de codage

151

du service de parole AMR-NB agrave 122kbps (classe A) ont confirmeacute la faisabiliteacute des deux meacutethodes iteacuteratives Elles ont donneacute en plus des indications numeacuteriques sur les ameacuteliorations envisageables (Table 6-17) Par exemple la meacutethode List Viterbi Algorithm (LVA) avec L=8 offre un gain de codage de 10 dB en chargeant le DSP dun nombre dopeacuterations supeacuterieur de 5 par rapport agrave lalgorithme de Viterbi Le reacuteseau UMTS peut reacuteduire la puissance deacutemission des signaux (de EbN0=51 agrave EbN0=41) en garantissant la mecircme qualiteacute de protection des donneacutees (FER=10-3) Dans ce mecircme contexte le remplacement de lalgorithme de Viterbi par la meacutethode List Decoding inteacutegrant la validation CRC permet de reacuteduire la charge de calcul de lopeacuteration de deacutecodage en gardant inchangeacutee la qualiteacute de la protection Lutilisation de L=64 messages offre une protection similaire agrave celle de lalgorithme de Viterbi mais en reacuteduisant de moitieacute le nombre dopeacuterations neacutecessaires au deacutecodage

Service de parole AMR-NB agrave 122kbps (classe B) Qualiteacute gain

de codage agrave BER=10-3

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=41 dB)

100 (788k opeacuterations)

128 chemins - 02 dB 073 64 chemins - 05 dB 039

List Decoding

32 chemins - 10 dB 021

Table 6-18 reacutesumeacute des reacutesultats obtenus par simulations du service de parole AMR-NB agrave 122kbps (class B) [TrR104]

Enfin lun des plus importants reacutesultats de cette eacutetude est la prise de connaissance de la varieacuteteacute des meacutethodes efficaces de deacutecodage Ces meacutethodes offrent une vaste gamme de qualiteacutes Gracircce agrave la souplesse et de la rapiditeacute de deacuteveloppement des implantations software il est ainsi envisageable de creacuteer une librairie de meacutethodes de deacutecodage afin de mieux sadapter aux diffeacuterents contextes de codage

Reacutefeacuterences

[Ande89] J B Anderson Limited Search Trellis Decoding of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 5 septembre 1989 pp 944-955

152

[BDTi5] Berkeley Design Technology Inc (BDTi) Separating Reality from Hype in Processors DSP Performance preacutesentation preacutesenteacutee agrave Embedded Systems Conference (ESC) mars 2002 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[Cede89] M Cedervall R Johannesson Fast Algorithm for Computing Distance Spectrum of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 6 novembre 1989 pp 1146-1159

[ETSI726] ETSI Enhanced Full Rate (EFR) Speech Transcoding document ETSI ETS 300 726 GSM 0660 version 520

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[ITU729] ITU basic_oph C-code du standard G729a wwwituint [Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional

Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[Nill95] C Nill C-E W Sundberg List and Soft Symbol Output Viterbi Algorithms Extensions and Comparisons IEEE Transactions on Communications vol 43 No 234 feacutevriermarsavril 1995 pp 277-287

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

153

[Sesh94] N Seshadri C-W Sundberg List Viterbi Decoding Algorithms with Applications IEEE Transactions on Communications Vol 42 No 234 feacutevriermarsavril 1994 pp 313-323

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

[Ts22101] 3GPP Service principles document 3GPP TS 22101 version 540

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

154

155

7 Architectures hardware baseacutees sur circuits ASIC

La plupart des architectures utiliseacutees dans le cadre de la communication mobile tirent profit aussi bien du support dun DSP que de lutilisation des circuits ASIC Le sujet de ce chapitre est lanalyse des difficulteacutes pratiques et leacutevaluation des potentialiteacutes offertes par une implantation ASIC dune meacutethode de deacutecodage de codes convolutifs

Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base est ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants Les paramegravetres la conception les variantes possibles et la reacutealisation mateacuterielle de chaque eacuteleacutement sont traiteacutes Parmi les variantes on eacutetudie une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision37 du bit dinformation le plus vieux pas encore livreacute Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie

37 Opeacuteration de reconstruction iteacuterative des eacutetats de meacutemoire du codeur convolutif lors du

codage opeacuteration qui permet de deacuteterminer la valeur des symboles (bits) formant le message Cette opeacuteration sera aussi nommeacutee simplement deacutecodage

156

UMC25-025microm) Le chapitre se termine avec un reacutesumeacute des informations de synthegravese sur la vitesse dexeacutecution et la surface de silicium de chaque eacuteleacutement ainsi que sur les taux dactiviteacute38 des signaux liant les eacuteleacutements constituant le systegraveme de deacutecodage

71 Introduction

La situation des technologies de la troisiegraveme geacuteneacuteration (3G) est actuellement caracteacuteriseacutee par la phase de deacuteveloppement des reacuteseaux et des premiers eacutequipements Les degreacutes dimplantation de ces technologies 3G dans les divers pays europeacuteens ameacutericains et asiatiques sont variable et deacutependent des strateacutegies nationales ainsi que des eacuteconomies locales Aujourdhui le choix dune architecture optimale pour lexploitation de ces nouvelles technologies ne peut beacuteneacuteficier ni dune expeacuterience acquise ni de la maturiteacute des standards 3G Par conseacutequent ce choix ne peut se baser que sur des eacutevaluations et des suppositions que seule la maturation de ces technologies 3G pourra successivement soit valider soit reacutefuter

711 Marcheacute actuel des technologies 3G

Quoi que les reacutecentes anneacutees aient montreacute laugmentation du nombre de tacircches assigneacutees au DSP avec le perfectionnement des standards 2G les autres approches ne doivent pas ecirctre exclues du spectre des solutions possibles dans le domaine de la 3G On ne dispose pas actuellement dune approche globale et optimale pour le traitement numeacuterique du signal dans la bande de base Le marcheacute et les premiers deacutebats pour le choix dune architecture optimale montrent une revalorisation de la contribution de circuits ASIC au fonctionnement des eacutequipements 3G Les informations disponibles sur le deacuteveloppement des premiers reacuteseaux et eacutequipements confirment quun nombre eacuteleveacute de fonctionnaliteacutes de la 3G exploite des circuits speacutecifiques ASIC39 38 Par taux dactiviteacute on entend la freacutequence des changements deacutetat logique dun signal

binaire 39 laquolors du passage de la 2G agrave la 3G le pourcentage de lexeacutecution des tacircches relatives au

Physical Layer par le DSP passe de 100 pour le cas du GSM agrave 10 dans le cas du WCDMAraquo (traduction) [Gath00]

157

Par rapport au cas du deacutecodage de codes convolutifs le marcheacute actuel de la communication mobile propose des solutions sappuyant sur les deux approches software et hardware Dun cocircteacute on perccediloit un effort des principaux fabricants de DSP pour lameacutelioration des performances de leurs reacutecentes familles de processeurs en tenant compte des caracteacuteristiques algorithmiques de la meacutethode de Viterbi (Figure 7-1 et Table 7-1) Lexeacutecution de cet algorithme peut ecirctre faciliteacutee soit par la modification de larchitecture du DSP soit par laddition de nouveaux blocs fonctionnels Un exemple est la famille de DSP C55x de Texas Instruments qui propose une uniteacute speacuteciale Compare Select and Store [Spru312] [Spru393]

0 2 4 6 8 10 12

Texas Instruments C54xx 160 MHz

Texas Instruments C55xx 160 MHz

MotorolaLucent Technologies SC140 300MHz

MotorolaLucent Technologies SC110 300MHz

Infineon Carmel 250 MHz

Motorola DSP5685x 120 MHz

Texas Instruments C64xx 600 MHz

Texas Instruments C64xx-C 600 MHz

vitesse relative selon [BDTi6]

Figure 7-1 exemple deacutevaluation de performances des DSP (disponibiliteacute 2001) par rapport agrave limplantation de lalgorithme de Viterbi Cette eacutevaluation met en eacutevidence la particulariteacute de cet algorithme qui sadapte difficilement au caracteacuteristiques classiques des DSP Evaluation effectueacutee par la socieacuteteacute Berkeley Design Technology [BDTi3] Les deacutetails de la meacutethode deacutevaluation utiliseacutes sont disponible dans larticle [BDTi6]

De lautre coteacute le marcheacute offre aussi bien des ASIC speacutecialiseacutes que des DSP agrave haute performance posseacutedant un coprocesseur voueacute agrave lexeacutecution de lalgorithme de Viterbi A titre dexemple on peut nommer larchitecture parameacutetrable et syntheacutetisable du CorePool FHG_VITERBI de Fraunhofer Institut [FhG01] et le DSP TMS320C6416 de Texas Instruments [Spra750] [Spru533] Cette offre du marcheacute deacutenote laugmentation geacuteneacuteraliseacutee de la charge de calcul demandeacutee par les technologies 3G ainsi que par les particulariteacutes algorithmiques de la meacutethode de Viterbi (Figure 7-1 et la Table 7-1)

158

Fonction Description Exemples dapplications Real Block FIR Filtre agrave reacuteponse impulsionnelle

finie traitant des blocs de donneacutees

Traitement de signaux de parole

Single-Sample FIR

Filtre agrave reacuteponse impulsionnelle finie traitant un eacutechantillon agrave la fois

Traitement de signaux de parole filtrage en geacuteneacuteral

Complex Block FIR

Filtre agrave reacuteponse impulsionnelle finie traitant des blocs de donneacutees complexes

Egalisation dun canal Modem

LMS Adaptive FIR

Filtre adaptatif Least-mean-square traitant un eacutechantillon

Egalisation de canal codage preacutedictif lineacuteaire

Two-Biquad IIR Filtre agrave reacuteponse impulsionnelle infinie traitant un eacutechantillon

Traitement de signaux audio filtrage en geacuteneacuteral

Vector Dot Product

Produit scalaire Convolution correacutelation multiplication matricielle

Vector Add Addition de deux vecteurs Graphique combinaison de signaux

Vector maximation

Recherche de la valeur et de la position de leacuteleacutement le plus grand du vecteur

Protection de donneacutees

Viterbi Decoder Deacutecodage dun signal encodeacute par un code convolutif

Dans le domaine de la communication

Control Seacuterie dopeacuterations (artificielles) concernant le controcircle et la manipulation des bits

Toutes les applications DSP impliquent ces types dopeacuteration

256-Point FFT Transformation de Fourier (Fast Fourier Transformation)

Radar sonar compression audio de type MPEG analyse spectrale

Bit Unpack Extraction de mots (de tailles diffeacuterentes) agrave partir dune seacutequence continue de donneacutees

Deacutecompression de signaux audio et de parole

Table 7-1 ensemble de fonctions utiliseacutees pour leacutevaluation des performances de DSP utiliseacute par la socieacuteteacute Berkeley Design Technology (BDTI) [BDTi1]

712 Exigences des technologies UMTS

Les standards de communication mobile 3G sont le reacutesultat de leffort dun grand nombre de socieacuteteacutes mondiales effort qui a commenceacute au milieu des anneacutees 90 [Gath02] Selon la strateacutegie adopteacutee lors de leur deacuteveloppement les systegravemes appartenant agrave cette technologie 3G sont preacutevus pour supporter une large varieacuteteacute de services en offrant un deacutebit de transmission (Data Rate) fortement

159

variable Ce deacutebit peut atteindre 144 kbps consideacuterant le contexte dune utilisation dans des veacutehicules (Vehicular Outdoor Environment) 384 kbps pour une utilisation peacutedestre (Pedestrian Outdoor Environment) et jusquagrave 2 Mbps agrave linteacuterieur des bacirctiments (Indoor Environment) Comme introduit dans la Section 31 linterface radio a eacuteteacute preacutevue selon un protocole agrave trois couches

bull Le Physical Layer (ou Layer 1) Il est responsable de la transmission sans fil des donneacutees

bull Le Data link layer (ou Layer 2) Sa tacircche est la deacutetermination des caracteacuteristiques des donneacutees en transmission la gestion du flux de ces donneacutees et la qualiteacute du service Le passage dinformations entre ce niveau et le premier est geacutereacute par le Medium Access Layer (MAC)

bull Le Network layer (ou Layer 3) Cette derniegravere couche gegravere les eacutechanges entre leacutequipement portable et le reacuteseau UTRAN (UMTS Terrestrial Radio Access Network) Le Radio Ressource Controller (RRC) est leacuteleacutement de contact avec la premiegravere couche du protocole

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-2 vue densemble des composants de la couche physique (Physical Layer) reacutealisant le traitement digital du signal dans la bande de base [Gath02]

La couche qui nous inteacuteresse est la premiegravere En ne consideacuterant que cette couche la Figure 7-2 donne la vue densemble de ses composants qui accomplissent le traitement numeacuterique du signal dans la bande de base Du point de vue de la complexiteacute de calcul cette premiegravere couche est la plus exigeante en termes de ressources hardware et software Parmi ses

160

composants les plus exigeants on trouve [Gath02] le traitement des donneacutees appartenant aux diffeacuterents canaux de transport (CCTrCH Processing) le deacutecodage de canal la proceacutedure de recherche de la cellule lopeacuteration de Despreading le Maximal Ratio Combination (MRC)40 et le Multipath Search (ou Delay Profile Estimation DPE)41 (Figure 7-3)

4000

2000

3000

1000500

Sceacutenario A Sceacutenario B Sceacutenario C

Millions dopeacuterationspar seconde

Multipath Search

Despreading

MRC

Deacutecodage de canal

Figure 7-3 estimation des ressources de calcul demandeacutees par les tacircches les plus exigeantes selon trois sceacutenarios repreacutesentatifs [Gath02] Sceacutenario A service de parole agrave 8 kbps Sceacutenario B service de parole agrave 122 kbps et service videacuteo agrave 384 kbps Sceacutenario C service geacuteneacuterique agrave 2 Mbps

Lexemple de la Figure 7-3 montre que la puissance de calcul neacutecessaire agrave lexeacutecution de certaines tacircches peut changer de maniegravere importante non seulement en fonction du deacutebit de transmission mais aussi selon le nombre de services offerts les caracteacuteristiques de la transmission sans fil ou encore le nombre de cellules dans le voisinage [Gath02] Parmi ces tacircches on trouve le deacutecodage de canal

40 Proceacutedure de combinaison de signaux reccedilus de maniegravere agrave augmenter la protection contre

les distorsions de type fading 41 La recherche du signal qui sapproche le plus du signal le plus fort afin dexeacutecuter le

maximal ratio combination

161

Reacutepartition des modules des terminaux 3G entre implantation software et reacutealisation hardware Le deacuteveloppement des terminaux mobiles 3G est actuellement caracteacuteriseacute par un besoin eacutevident de souplesse par une augmentation importante de la puissance de calcul demandeacutee et par la varieacuteteacute des services envisageacutes par la 3G

FPGA

Hardware

Flex Heterogeneous Multiprocessing

DSP

Processeurs embarqueacutes

Flexibiliteacute algorithmique agrave dispositionde lapplication

MO

PS

mW

Figure 7-4 compromis entre la consommation deacutenergie et la flexibiliteacute de la reacutealisation [BDTi4]

En raison de la forte demande en puissance de calcul une reacutepartition des modules des terminaux entre implantations software et reacutealisations mateacuterielles est geacuteneacuteralement neacutecessaire En geacuteneacuteral le choix de lapproche suit les regravegles suivantes (Figure 7-4)

bull Si le module exige un nombre dopeacuterations tregraves eacuteleveacute ou si les caracteacuteristiques du traitement sadaptent difficilement aux ressources mises agrave disposition par le DSP une approche hardware est en geacuteneacuteral une solution optimale

bull Si la neacutecessiteacute de souplesse est preacutedominante la meilleure approche est limplantation software

bull Dans certain cas le choix du type dapproche est deacutetermineacute par des critegraveres de basse consommation deacutenergie etou par la particulariteacute du service concerneacute [Gath02]

La Figure 7-5 montre une reacutepartition possible des divers modules du Physical Layer [Gath02] en suivant les critegraveres ci-dessus

162

Par rapport au deacutecodage de codes convolutifs cette opeacuteration demande une charge importante de calcul par bit dinformation limplantation parameacutetrable de lalgorithme de Viterbi preacutesente une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation (Chapitre 6)42 Cette charge doit ecirctre ensuite pondeacutereacutee par le deacutebit de transmission de lapplication concerneacutee deacutebit qui peut varier de quelques dizaines jusquagrave plusieurs milliers de kbps Limportante variabiliteacute en termes de puissance de calcul qui en deacutecoule ne permet pas deacutetablir agrave priori une strateacutegie geacuteneacuterale et optimale dans ce contexte UMTS (Figure 7-3) Par conseacutequent le spectre des solutions possibles doit consideacuterer les deux approches software et hardware

Software Hardware Software Hardware

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-5 reacutepartition possible des composants de la couche physique pour le traitement digital du signal dans la bande de base [Gath02]

72 Consideacuterations sur limplantation mateacuterielle

721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille

La configuration de base reste identique agrave celle consideacutereacutee lors de limplantation software de meacutethodes de deacutecodage Les symboles reccedilus sont soumis agrave une deacutecision ferme et leacutetude considegravere la simple livraison du

42 La perte defficaciteacute due agrave cette description souple et parameacutetrable sera ensuite traiteacutee

dans le Chapitre 8

163

message sans informations suppleacutementaires (Bit True) Cette configuration envisage un systegraveme de deacutecodage le plus geacuteneacuteral possible en facilitant la reproduction et la comparaison des reacutesultats Ainsi en contradiction partielle avec le contexte de codage eacutetabli dans le standard UMTS [Ts25212] ce chapitre abordera la situation suivante

bull le deacutecodage de seacutequences infinies de symboles et bull labsence de proceacutedures dadaptation du deacutebit de transmission (par

reacutepeacutetitions et poinccedilonnages de symboles) Ladaptation de ce systegraveme aux standards de teacuteleacutecommunications UMTS sera discuteacutee dans lAnnexe C (Section C1)

722 Description HDL du deacutecodeur

La contrainte principale de la description HDL (Hardware Description Language) est une description compreacutehensible et facile agrave modifier afin de permettre une adaptation rapide aux divers standards de communications La conception de cette proceacutedure est reacutealiseacute selon les notions de modulariteacute et de parameacutetrage permettant ainsi une rapide modification et substitution de tous les blocs de traitement Par rapport au type darchitecture on envisage la conception dun systegraveme autonome de base tout en permettant la conversion rapide dans une solution coprocesseur (Annexe C Section C2) Par conseacutequent la conception de ce systegraveme de base soriente vers une architecture distribueacutee (Distributed Architectures [Gath02]) Cette architecture preacutevoit une autonomie et une indeacutependance de chaque module en diminuant les ressources partageacutees Du point de vue de la consommation deacutenergie cette strateacutegie permet une gestion optimale du mode deacuteconomie deacutenergie et une freacutequence dhorloge adapteacutee agrave chaque module La description du systegraveme de base est valideacutee au moyen de quatre codes convolutifs et par limplantation du code sur FPGA (Field Programmable Gate Array [Gras01]) Les caracteacuteristiques de ces codes convolutifs sont illustreacutees dans la Table 7-2

164

Polynocircmes geacuteneacuterateurs [octal]

Codeur Longueur de contrainte

Nombre deacutetats diffeacuterents

G0 G1 G2

Distance libre dfree

Exemple dutilisation dans le contexte des teacuteleacutecommunications

Codeur4eacutetats 3 4 5 7 7 8 -

Codeur16eacutetats 5 16 25 33 37 12 GSM 60 kbps Data TC [Etsi909]

Codeur64eacutetats 7 64 133 145 175 15 GSM Half Rate Speech TC [Etsi909]

Codeur256eacutetats 9 256 557 663 711 18 UMTS Channel Coding [Ts25212]

Table 7-2 caracteacuteristiques des codes convolutifs avec rendement Rc=13 utiliseacutes pour leacutevaluation et la validation de la conception du deacutecodeur Les acronymes indiqueacutes dans la premiegravere colonne du tableau seront utiliseacutes dans la suite de ce document pour identifier le codeur convolutif utiliseacute

723 Meacutethode de deacutecodage lalgorithme de Viterbi

Contrairement au cas preacuteceacutedent dune implantation software une seule meacutethode de deacutecodage est consideacutereacutee pour leacutevaluation des potentialiteacutes de lapproche hardware lalgorithme de Viterbi Les raisons de ce choix sont lieacutees aux caracteacuteristiques de cette meacutethode de deacutecodage qui facilitent lapproche hardware notamment par sa structure algorithmique parallegravele et tregraves reacuteguliegravere ainsi que par son indeacutependance algorithmique du flux des donneacutees Ce dernier aspect est important afin de reacuteduire les risques de modifications dues agrave la maturation des standards et agrave lexpeacuterience acquise avec les technologies 3G Afin de permettre le deacutecodage dune seacutequence continue de symboles lalgorithme de Viterbi doit sappuyer sur une proceacutedure de troncation de la meacutemoire Bien que cette proceacutedure emploie un paramegravetre reacuteglant le fonctionnement de la meacutethode (la distance δ) la longue expeacuterience acquise permet de reacuteduire au minimum les coucircts de reacuteglage de ce paramegravetre Enfin sur le plan de qualiteacute de protection cet algorithme est retenu communeacutement comme la meacutethode de reacutefeacuterence en raison de sa bonne protection contre les erreurs

165

73 Systegraveme de base

731 Vue densemble

Conformeacutement aux directives dune deacutecomposition de lalgorithme de Viterbi en ses eacuteleacutements constituants le systegraveme est tout dabord partageacute en deux grandes uniteacutes fonctionnelles (Figure 7-6) La premiegravere uniteacute est responsable de la seacutelection des chemins par mise agrave jour des valeurs des meacutetriques cumuleacutees Cette uniteacute est diviseacutee en deux modules Le premier module (indiqueacute par lacronyme BMu) est chargeacute du calcul des meacutetriques de branches en consideacuterant les symboles reccedilus rnp Ces meacutetriques sont utiliseacutees par le second module (ACSu) qui effectue la mise agrave jour des valeurs des meacutetriques cumuleacutees Par comparaison de ces valeurs les chemins survivants sont ensuite seacutelectionneacutes Les informations sur les chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des autres modules

calcul des meacutetriquesde branches

(Branch Metric unitBMu)

mise agrave jour des meacutetriques cumuleacuteeset seacutelection des survivants

(Add-Compare-Select unit ACSu)

deacutecodage du chemin choisi(Trace Back unit TBu)

seacutelection du chemin(Best Path Search

BPS)

np-egraveme blocde symbolesrecus rnp

deacutecision surle bit np-δ

meacutetriquescumuleacuteessurvivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

Figure 7-6 architecture du systegraveme de base deacutecrit en HDL La tacircche de la seconde uniteacute est la prise de deacutecision du plus vieux bit qui na pas encore eacuteteacute deacutelivreacute Cette proceacutedure implique le choix dun chemin dont le deacutecodage permet une prise de deacutecision correcte Le module nommeacute BPS soccupe du choix du chemin alors que la prise de deacutecision par deacutecodage du chemin est exeacutecuteacutee par le module TBu Les paramegravetres utiliseacutes dans la description HDL du systegraveme de base peuvent ecirctre reacutepartis en deux classes ceux qui deacutecrivent les caracteacuteristiques du codeur

166

convolutif et ceux qui regraveglent la conception du systegraveme Dans la premiegravere classe on trouve les paramegravetres deacutecrivant les fonctions geacuteneacuteratrices Gi la longueur de contrainte du code K et le nombre deacutetats diffeacuterents que la meacutemoire du codeur peut atteindre La distance δ de troncation de la meacutemoire le nombre de bits utiliseacutes pour les repreacutesentations des meacutetriques sont les paramegravetres de la seconde classe

732 Synchronisation et reacutepartition entre blocs combinatoires et non-combinatoires

Apregraves la preacutesentation de larchitecture du systegraveme de base cette section traite les aspects de synchronisation et de reacutepartition entre blocs combinatoires et non-combinatoires (Figure 7-7) Selon le flux des donneacutees le module BMu est abordeacute en premier Ce module qui est responsable du calcul des meacutetriques de branches nest implanteacute que par de la logique purement combinatoire sans lutilisation daucune meacutemoire tampon (Buffer) agrave lentreacutee

BMuseacutelection

dessurvivants

ACSu

BPS

Gestion du TB

TBureacuteconstructiondes eacutetats (TB)

horloge

horloge

decisionsymbolesreccedilus

survivants

meacutetriqueseacutetat dedeacutepart

sauvergarde desvaleurs des

meacutetriques cumuleacutees

signal indiquant lepoint de deacutepartarriveacutee

de la proceacutedure dedeacutecodage

signaux indiquantla mise agrave jour desinformationssauvergardeacutees

Figure 7-7 gestion de la synchronisation relative agrave la reacutealisation physique du systegraveme

La reacutealisation physique du module suivant (le ACSu) est caracteacuteriseacutee par deux parties fonctionnelles lune est responsable de la sauvegarde des derniegraveres valeurs des meacutetriques cumuleacutees et lautre de la seacutelection des chemins survivants par la mise agrave jour de leurs meacutetriques cumuleacutees Lopeacuteration de seacutelection utilise les valeurs de meacutetriques fournies par le module preacuteceacutedent et celles sauvegardeacutees dans le module mecircme A partir de ces valeurs les chemins survivants sont seacutelectionneacutes par de la logique combinatoire En raison du stockage des valeurs de meacutetrique cette opeacuteration de seacutelection est synchroniseacutee par le signal dhorloge du systegraveme

167

Parallegravelement les informations des chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des modules BPS et TBu En suivant le flux principal de donneacutees le prochain module est le BPS Sa tacircche est la deacutetermination du chemin le plus conforme agrave une prise de deacutecision correcte cette opeacuteration implique uniquement de la logique combinatoire Le dernier module est le module TBu qui est chargeacute de lopeacuteration de prise de deacutecision du bit dinformation Cette opeacuteration implique tout dabord le stockage et la gestion des informations permettant la reconstruction des chemins survivants Ce module reccediloit reacuteguliegraverement les nouvelles informations au sujet des chemins survivants qui selon une strateacutegie de meacutemoire circulaire remplacent les anciennes informations devenues deacutesormais inutiles A partir du chemin indiqueacute par le module BPS ces informations sont ensuite utiliseacutees pour reconstruire de maniegravere iteacuterative les eacutetats anteacuteceacutedents de meacutemoire du codeur jusquagrave extraire la valeur du (np-δ)-egraveme bit dinformation Les interfeacuterences entre les deux tacircches du module sont eacuteviteacutees en synchronisant lopeacuteration de sauvegarde des informations et le deacutebut de la proceacutedure de reconstruction du chemin La reacutealisation physique de ce module TBu utilise aussi bien des blocs combinatoires que non-combinatoires Ces derniers sont utiliseacutes pour la sauvegarde des informations et pour la gestion des signaux qui indiquent le point de deacutepart det arriveacutee de la proceacutedure de reconstruction des chemins Par rapport aux contraintes sur le signal dentreacutee (Figure 7-7) le signal des symboles reccedilus doit rester stable durant une peacuteriode suffisante pour assurer

bull le stockage correct des nouvelles meacutetriques cumuleacutees dans le module ACSu

bull la seacutelection du chemin le plus favorable pour la prise de deacutecision chemin qui est meacutemoriseacute dans le module TBu

733 Calcul des meacutetriques des branches

La tacircche de ce module est le calcul de toutes les meacutetriques de branches qui seront ensuite utiliseacutees pour la mise agrave jour des meacutetriques cumuleacutees lors de la proceacutedure de seacutelection des chemins survivants (Figure 7-8) Selon le contexte de codage binaire (b=1) la proceacutedure de seacutelection de lalgorithme de Viterbi neacutecessite les valeurs de meacutetriques de branches des

168

couples de chemins convergeant en chaque eacutetat du treillis (Figure 7-9) ce module est chargeacute de la livraison de ces couples de meacutetriques

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

symbolesreccedilus

en rapport agrave la fonctiongeacuteneacuteratrice G0

geacuteneacuteratrice G1geacuteneacuteratrice G2

Figure 7-8 calcul des meacutetriques de branches

Les valeurs des meacutetriques de branches coiumlncident avec la distance de Hamming existant entre les symboles reccedilus et ceux geacuteneacutereacutees par les transitions deacutetats En preacutesence de codeurs convolutifs avec rendement Rc=13 la repreacutesentation numeacuterique de ces meacutetriques demande 2 bits

nouveau bit agravelentreacutee du codeur

valeur de leacutetatnp

meacutemoire du codeurK-1 bits0

1valeur de leacutetatnp

valeur de leacutetatnp

niveau deprofondeur np

meacutemoire du codeur

Figure 7-9 repreacutesentation graphique des deux transitions qui megravenent au mecircme eacutetat de meacutemoire du codeur convolutif

En raison dune approche parameacutetrable les 2M=22K-1 meacutetriques de branches sont deacutecrites agrave laide des 3 fonctions geacuteneacuteratrices Gi et de leacutetat de meacutemoire du codeur Lopeacuteration doptimisation des calculs est deacuteleacutegueacutee aux compilateurs de synthegravese La conception de ce module deacutepend des paramegravetres deacutecrivant le codeur convolutif notamment le rendement Rc et les matrices geacuteneacuteratrices Gi En raison de cette forte deacutependance aux changements de contexte de codage les approches coprocesseurs (Annexe C Section C2) deacutelegraveguent la tacircche de ce module aux processeurs

169

734 Seacutelection des chemins survivants

Le module ACSu est chargeacute de la seacutelection des nouveaux chemins survivants agrave laide des reacutecentes valeurs de meacutetriques cumuleacutees (Figure 7-10) Les informations de parcours des chemins survivants et les valeurs de leurs meacutetriques cumuleacutees doivent ecirctre ensuite mises agrave disposition des autres modules de maniegravere agrave permettre la reconstruction des chemins les plus inteacuteressants Reacutepartition du module en deux parties En raison de sa tacircche ce module est composeacute de deux parties fonctionnelles la premiegravere responsable du stockage des meacutetriques cumuleacutees et la seconde de la seacutelection des 2K-1 chemins survivants (Figure 7-11)

ACSu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

information sur leschemins survivants

meacutetriques cumuleacutees

horloge Figure 7-10 seacutelection des chemins survivants

Les deux paramegravetres qui agissent sur ce module sont

bull Le nombre de bits utiliseacute pour la repreacutesentation des valeurs des meacutetriques de branches Ce paramegravetre influence la repreacutesentation numeacuterique des meacutetriques cumuleacutees

bull Le nombre deacutetats diffeacuterents M que la meacutemoire du codeur peut montrer Ce paramegravetre concerne la description du codeur convolutif et sa valeur deacutepend de la longueur de contrainte du code (M= 2K-1)

La conception du module est ainsi moins sensible aux modifications du contexte de codage Par exemple en consideacuterant la structure de codage de lUMTS [Ts25212] la conception reste inchangeacute indeacutependamment de lutilisation dun des deux codes convolutifs agrave disposition

170

Repreacutesentation numeacuterique des meacutetriques cumuleacutees La strateacutegie du traitement des meacutetriques cumuleacutees doit consideacuterer les aspects suivants

bull Lopeacuteration de seacutelection des chemins survivants neacutecessite la repreacutesentation correcte des diffeacuterences entre les valeurs des meacutetriques cumuleacutees

bull La seacutelection du chemin le plus prometteur (pour la prise de deacutecision) est communeacutement baseacutee sur lidentification de la meacutetrique cumuleacutee la plus favorable

bull En raison dune meacutetrique accumulant le nombre derreurs rencontreacutees par les chemins la transmission erroneacutee des donneacutees implique la croissance des valeurs des meacutetriques cumuleacutees

bull Le deacutecodage de seacutequences infinies de symboles ne permet pas de fixer une valeur limite aux meacutetriques cumuleacutees

bull La repreacutesentation numeacuterique des meacutetriques cumuleacutees influence la conception les performances et les caracteacuteristiques de tous les blocs qui sont responsables des opeacuterations de mise agrave jour de comparaison et de stockage des meacutetriques cumuleacutees

En consideacuterant ces aspects la strateacutegie choisie envisage une repreacutesentation minimaliste des meacutetriques cumuleacutees avec la contribution dune fonction de normalisation des valeurs de meacutetriques Lobjectif est de garantir la relation correcte entre les valeurs des meacutetriques cumuleacutees tout en minimisant les ressources neacutecessaires aux opeacuterations daddition de comparaison et de stockage de ces meacutetriques Premiegravere eacutetape la deacutetermination du nombre minimal de bits Leacutetablissement de la repreacutesentation numeacuterique des meacutetriques cumuleacutees doit tout dabord prendre en consideacuteration le nombre minimal de bits neacutecessaires agrave la description correcte des eacutecarts entre les meacutetriques Comme deacutejagrave montreacute dans le chapitre preacuteceacutedent la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (au mecircme niveau de profondeur) est ( )max -1diffeacuterence MaxContribBranche K= sdot (71) En consideacuterant que lopeacuteration de normalisation suit les opeacuterations de mise agrave jour des meacutetriques cumuleacutees et de seacutelection du chemin survivant (Figure 7-11) leacutecart (71) est ainsi eacutelargi

171

max max +

= dyn diffeacuterence MaxContribBranche

MaxContribBranche K=

sdot (72)

afin dassurer lexeacutecution correcte des opeacuterations de seacutelection Par conseacutequent le nombre minimal de bits neacutecessaire agrave la repreacutesentation correcte de leacutecart est ( )min 2 maxlog 1bitsDynamique dyn = + (73) Seconde eacutetape la proceacutedure de normalisation La strateacutegie adopteacutee vise agrave garantir une repreacutesentation correcte des diffeacuterences entre les meacutetriques agrave laide dune fonction de normalisation (Figure 7-11)

stockage desmeacutetriques cumuleacutees

ACS

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations sur leschemins survivants

horloge

Normalisation

initialisation Figure 7-11 structure du module ACSu montrant la strateacutegie choisie pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Le principe classique de normalisation preacutevoit la soustraction dune valeur deacutetermineacutee agrave priori lorsque toutes les meacutetriques cumuleacutees atteignent ou deacutepassent un seuil fixeacute [Min91] La valeur soustraite peut ecirctre soit eacutegale (cas ideacuteal) soit infeacuterieure agrave la meacutetrique cumuleacutee la plus basse afin deacuteviter le deacutepassement de la valeur minimale repreacutesentable (Underflow)

172

Bien que la deacutetermination du seuil de normalisation ne soit soumise agrave aucune contrainte elle influence ineacutevitablement le nombre de bits neacutecessaires agrave la repreacutesentation des meacutetriques cumuleacutees ainsi que la conception de lopeacuteration de normalisation Eacutevidemment la repreacutesentation des variables doit permettre le deacutepassement correct du seuil par toutes les meacutetriques cumuleacutees sans geacuteneacuterer de situations de deacutepassement de la valeur maximale repreacutesentable (Overflow) la reacutepreacutesentation numeacuterique doit ainsi couvrir lespace

max0 seuil -1 dyn

+ (74) La valeur du seuil influence aussi la reacutealisation physique de la tacircche de surveillance de son deacutepassement La solution ideacuteale est lutilisation dun seuil de meacutetrique dont la repreacutesentation numeacuterique coiumlncide avec une puissance de 2 Dans ce cas le controcircle de leacutegalisationdeacutepassement du seuil se concentre sur un seul bit de la repreacutesentation numeacuterique des meacutetriques cumuleacutees Un autre avantage qui en deacutecoule est la simplification de lopeacuteration de soustraction en fixant la valeur de normalisation eacutegale au seuil lopeacuteration se reacuteduit agrave la simple remise agrave zeacutero du bit surveilleacute (Figure 7-12)

Bit suppleacutementaire utiliseacute pour lecontrocircle du deacutepassement du seuilLa normalisation est effectueacutee parla remise agrave zeacutero de ce bit

bits neacutecessaires pour larepreacutesentation correcte detout eacutecart des meacutetriquescumuleacutees

Figure 7-12 strateacutegie adopteacutee pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Solution adopteacutee La strateacutegie choisie emploie une repreacutesentation numeacuterique utilisant (bitsDynamiquemin +1) bits (Table 7-3) Ce bit suppleacutementaire repreacutesente pratiquement la valeur du seuil de normalisation ainsi que la valeur de soustraction (Figure 7-12) notamment la valeur de

173

min2 bitsDynamique (75) Ce choix permet de limiter le nombre de bits de la repreacutesentation numeacuterique des meacutetriques cumuleacutees et de simplifier la reacutealisation physique de lopeacuteration de normalisation (controcircle et soustraction) Initialisation des meacutetriques cumuleacutees Apregraves avoir deacutefini la repreacutesentation numeacuterique des valeurs des meacutetriques cumuleacutees on aborde le sujet de leur initialisation Lexploitation de leacutetat de deacutepart de la meacutemoire du codeur peut se reacutealiser par linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Lobjectif poursuivi est de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats de deacutepart De maniegravere analogue agrave limplantation software (Sous-section 641) on peut ainsi utiliser une valeur dinitialisation entre ( 1)MaxContribBranche Ksdot minus

et ( 1)ValMaxMetrique MaxContribBranche K

minus sdot minus Comme deacutejagrave expliqueacute dans le chapitre preacuteceacutedent cette initialisation permet dexploiter les informations de deacutepart du codage convolutif sans exiger aucune proceacutedure suppleacutementaire de controcircle

Meacutetriques de branches (Rc=13)Codeur Longueur de contrainte K Taille de la

repreacutesentation [bits]

Valeur maximale [distance de Hamming]

Taille de la repreacutesentation des meacutetriques cumuleacutees [bits]

Codeur4eacutetats 3 2 3 5 Codeur16eacutetats 5 2 3 5 Codeur64eacutetats 7 2 3 6 Codeur256eacutetats 9 2 3 6

Table 7-3 vue densemble du nombre de bits utiliseacutes pour la repreacutesentation des meacutetriques cumuleacutees dans les divers contextes de codage

174

Seacutelection des 2K-1 chemins survivants La tacircche de ce module est la seacutelection des M=2K-1 chemins survivants par comparaison des meacutetriques cumuleacutees des couples de chemins qui convergent en un mecircme eacutetat du treillis (Figure 7-13) La structure algorithmique de la proceacutedure de seacutelection des M chemins survivants savegravere ainsi tregraves parallegravele et reacuteguliegravere ce qui favorise une reacutealisation mateacuterielle

meacutetriquescumuleacutees np-1

meacutetriques debranches np

meacutetrique cumuleacutee np

seacutelection dusurvivant

indication dum-egraveme cheminsurvivant(1 bit)

ACSm

Figure 7-13 description graphique de lopeacuteration de seacutelection du m-egraveme chemin survivant

Contrairement aux implantations software une reacutealisation mateacuterielle permet dexploiter exhaustivement le paralleacutelisme algorithmique de la tacircche de seacutelection Geacuteneacuteralement si lexeacutecution seacutequentielle offre tous les avantages dune surface reacuteduite [Kapp92] la strateacutegie parallegravele permet lexploitation optimale de la structure algorithmique de lopeacuteration de seacutelection ameacuteliorant le deacutebit du traitement Si on considegravere une reacutealisation mateacuterielle de lalgorithme original de Viterbi (la prise de deacutecision nest effectueacutee quagrave la fin du traitement de tous les symboles reccedilus) le temps dexeacutecution de cette opeacuteration de seacutelection des M survivants deacutetermine le deacutebit du systegraveme de deacutecodage Pour cette raison la reacutealisation de cette uniteacute a fait lobjet de nombreuses eacutetudes [Fett90] [Min91] [Kapp92] Afin de prendre connaissance des potentialiteacutes dune reacutealisation mateacuterielle cette eacutetude prend en compte la strateacutegie dune exploitation exhaustive du paralleacutelisme disponible (Figure 7-14)

175

Par rapport agrave la conception de lopeacuteration de seacutelection dun chemin survivant (Figure 7-13) lopeacuteration de mise agrave jour des meacutetriques cumuleacutees la comparaison et la seacutelection du meilleur chemin sont exeacutecuteacutees de maniegravere seacutequentielle

FF

ACS0

ACS1

ACSM-1

meacutetriques cumuleacuteesnpmeacutetriques cumuleacuteesnp-1

meacutetriques debranchesnp

indications descheminssurvivants

horloge

Normalisation

Figure 7-14 structure parallegravele du module responsable de la seacutelection des chemins survivants

735 Prise de deacutecision

La seconde grande uniteacute du systegraveme de deacutecodage (Figure 7-6) se charge de la prise de deacutecision et de la livraison du bit le plus ancien pas encore remis au destinataire La strateacutegie communeacutement exploiteacutee est la troncation de la meacutemoire (Sous-section 642) qui preacutevoit la seacutelection du chemin agrave la profondeur actuelle np dont le deacutecodage permet une prise de deacutecision correcte du (np-δ)-egraveme bit dinformation (Figure 7-15) Cette strateacutegie est indispensable pour effectuer une prise de deacutecision dans un contexte de codage qui envisage la protection dune seacutequence infinie de bits dinformation

176

Deacutecodage du chemin la reconstruction des eacutetats de la meacutemoire du codeur A laide du deacutecodage du chemin indiqueacute par le module preacuteceacutedent BPS le module TBu se charge de la prise de deacutecision du bit le plus vieux pas encore livreacute (Figure 7-15)

TBu

horloge

BPS

meacutetriques cumuleacuteesagrave la profondeur np eacutetat de deacutepart

information concernantles chemins survivants agravela profondeur np deacutecision sur

le bitnp -δ

Figure 7-15 opeacuteration de prise de deacutecision sur la valeur du bitnp-δ

Dans le contexte dun codage convolutif non-reacutecursif la prise de deacutecision du bitnp-δ sexeacutecute en estimant leacutetat de la meacutemoire du codeur agrave un niveau de profondeur compris entre (np-δ) et (np-δ+(K-2)) Gracircce agrave la caracteacuteristique du codeur de garder en meacutemoire les valeurs des derniers (k-1) bits du message la valeur du bit concerneacute peut ecirctre ainsi extraite (Figure 7-16) La reconstruction des δp eacutetats preacuteceacutedents neacutecessite le stockage des derniegraveres δp informations sur les chemins survivants Ce module est ainsi chargeacute du stockage et de la gestion des informations qui sont neacutecessaires agrave la reconstruction des eacutetats des meacutemoires des chemins survivants En raison de la strateacutegie de troncation de la meacutemoire ces informations sont sauvegardeacutees dans une meacutemoire circulaire (Figure 7-17) Gestion des proceacutedures de reconstruction des eacutetats et de stockage des informations La reacutealisation physique de lopeacuteration de prise de deacutecision doit assurer le deacuteroulement correct de deux opeacuterations fondamentales

bull la sauvegarde des informations des nouveaux chemins survivants bull le deacutepart de la proceacutedure de reconstruction des eacutetats du chemin

Afin dassurer la succession correcte de ces deux opeacuterations un bloc fonctionnel a eacuteteacute expresseacutement deacuteveloppeacute et chargeacute de la synchronisation entre les deux opeacuterations (Figure 7-17)

177

indicationssur les chemins survivantsdu niveau de profondeur np

niveau de profondeurnp - +1

niveau de profondeurnp

eacutetat de deacutepart

eacutetat agrave laprofondeur np- pδ

deacutecision surle bitnp-δ

anciennesindicationssur les cheminssurvivants

Figure 7-16 reconstruction des eacutetats et extraction de la valeur estimeacutee du (np-δ)-egraveme bit dinformation En vert sont repreacutesenteacutees les nouvelles informations sur les chemins survivants En jaune les informations qui apregraves lexeacutecution de la prise de deacutecision vont devenir inutiles La distance δp est comprise entre les valeurs δ et (δ-K+2)

Ce bloc est constitueacute par deux chaicircnes circulaires de δp bascules Chaque chaicircne est sensible agrave un flanc diffeacuterent du signal dhorloge et seule la sortie dune bascule par chaicircne preacutesente un signal actif Les signaux actifs des deux chaicircnes sont utiliseacutes pour lactivation des bascules de stockage des informations et pour la seacutelection de luniteacute de deacutepart de la proceacutedure de reconstruction (Figure 7-17) Cette strateacutegie permet la synchronisation des deux opeacuterations garantissant une reacutealisation physique exempte de pheacutenomegravenes de glitches [Gras01] Paramegravetres du module TBu Les deux paramegravetres qui agissent sur ce module sont le nombre deacutetats M de la meacutemoire du codeur (M= 2K-1) et la distance δp La valeur de ce dernier paramegravetre deacutepend de la strateacutegie de seacutelection du chemin qui sera utiliseacute pour la prise de deacutecision soit le chemin le plus probable soit un chemin quelconque

178

reconstructionde leacutetat

preacuteceacutedent

Gestion de la proceacutedure concernant la prise de deacutecisionhorloge

cheminde deacutepart

deacutecisionprise

information dereconstruction duchemin survivant

eacutetat

informations sur lesderniers cheminssurvivants

signal indiquant le pointde deacutepart et darriveacutee de

la proceacutedure

signal pour la mise agrave jour desinformations sauvergardeacutees

reconstructionde leacutetat

preacuteceacutedent

Figure 7-17 illustration de la structure pour la proceacutedure de prise de deacutecision Le signal chemin de deacutepart indique le chemin dont le deacutecodage permet la prise de deacutecision qui sera ensuite communiqueacutee par le signal deacutecision prise

736 Deacutesignation du chemin permettant une prise de deacutecision correcte

Lopeacuteration de prise de deacutecision emploie la strateacutegie de la troncation de la meacutemoire strateacutegie qui preacutevoit le deacutecodage dun chemin agrave la profondeur actuelle np jusquagrave extraire la valeur du (np-δ)ndashegraveme bit dinformation (Figure 7-16) Strateacutegie classique de seacutelection du chemin Le critegravere classique preacutevoit la seacutelection du chemin qui possegravede la meacutetrique cumuleacutee la plus favorable Comme illustreacute dans la Sous-section 642 cette approximation de lalgorithme de Viterbi permet danticiper la prise de deacutecision sans provoquer une deacutegradation sensible de la qualiteacute de protection agrave condition dutiliser une distance δ approprieacutee au contexte de codage ( )4 6 Kδ = sdotsim (76)

179

Le deacutesavantage de cette strateacutegie est la composante seacutequentielle de lopeacuteration de seacutelection qui saccroicirct avec le nombre de chemins agrave veacuterifier (Figure 7-18) On utilise en effet K-1 stades de comparaisons Bien que cette strateacutegie ait eacuteteacute adopteacutee pour la conception du systegraveme de deacutecodage de base lexploration des potentialiteacutes de cette approche mateacuterielle stimule lanalyse dune solution alternative

seacutelection dela meilleure

meacutetrique

seacutelection dela meilleure

meacutetrique

meacutetriquecumuleacutee

eacutetat

seacutelection dela meilleure

meacutetrique Figure 7-18 exemple de reacutealisation de luniteacute BPS pour la deacutetermination du chemin le plus favorable en analysant les meacutetriques cumuleacutees des quatre eacutetats (code convolutif avec longueur de contrainte de 3)

Solution alternative la deacutesignation dun chemin quelconque Les deacutesavantages dune exeacutecution seacutequentielle peuvent ecirctre eacuteviteacutes en changeant la strateacutegie de lopeacuteration seacutelection la deacutesignation dun chemin quelconque pour la prise de deacutecision Cette strateacutegie exploite le pheacutenomegravene de laggravation des valeurs de meacutetriques cumuleacutees de tous les chemins dont le deacutecodage comporte une prise de deacutecision erroneacutee43 La strateacutegie preacutevoit le choix dun chemin agrave un niveau de profondeur np+δzp

44 suffisamment grand qui ne peut ecirctre attendu que par les 43 Ces chemins seront nommeacutes par la suite chemins incorrects 44 Dans ce cas la distance δ est nommeacutee δzp de maniegravere agrave mieux seacuteparer les deux

strateacutegies dune part celle utilisant le chemin le plus probable (distance δ) et de lautre celle choisissant un chemin quelconque de deacutepart (distance δzp)

180

chemins comportant une deacutecision correcte du np-egraveme bit dinformation45 (Figure 7-19) Deacutetermination de la distance δzp Afin de rendre neacutegligeable la deacutegradation introduite par cette meacutethode la deacutetermination de la distance δzp doit consideacuterer la relation entre

bull laugmentation minimale des meacutetriques des chemins incorrects et bull la meacutetrique cumuleacutee la plus deacutefavorable des chemins corrects au

niveau de profondeur np+δzp (Figure 7-19)

Info Bitnp

Niveau deprofondeur np-1 np

np+1

chemin qui comporte une deacutecisioncorrecte du np-egraveme bit dinformation

chemin qui comporte une deacutecisionincorrecte du np-egraveme bit dinformation

chemin le plusprobable

np+ -1δ np+δ np+ zpδ

np+ -1zpδ

Figure 7-19 illustration graphique des deux strateacutegies de seacutelection du chemin utiliseacute pour lopeacuteration de prise de deacutecision du np-egraveme bit dinformation bitnp Cas simplifieacute

Pour la deacutetermination de la distance δzp on suppose ainsi que

bull A chaque transition laugmentation minimale des meacutetriques cumuleacutees des chemins incorrects est de

n MinMetrCroissancesdot (77)

bull La meacutetrique la moins favorable des chemins corrects est estimeacutee agrave laide de la diffeacuterence maximale existant entre les valeurs extrecircmes des meacutetriques cumuleacutees (diffeacuterencemax (71)) En supposant que la meacutetrique la plus favorable coiumlncide avec le nombre exact derreurs de transmission la valeur de meacutetrique la plus deacutefavorable est

45 Dans la suite du paragraphe ces chemins seront appeleacutes chemins corrects

181

max0nombre derreurszpnp diffeacuterenceδrarr + + (78)

A partir de ces assertions leacutetablissement de la distance δzp est ainsi soumis agrave lineacutequation

min maxnp np+min

nombre derreurszp

zp zp

diffeacuterencen MinMetrCroissance

δδ δ rarr=

+gt

sdot (79)

afin deacuteviter une deacutegradation de la qualiteacute de protection offerte par lalgorithme de Viterbi Par rapport agrave la strateacutegie classique cette strateacutegie doit atteindre eacutevidemment une profondeur δzp plus grande (δzp gt δ) dont laugmentation peut ecirctre estimeacutee en groupant les ineacutequations (64) et (79)

( )min min -1zpMaxContribBranche Kn MinMetrCroissanceδ δasymp + sdotsdot

(710)

Distance δzp agrave laide de simulations Lutilisation de lineacutequation (79) neacutecessite la connaissance preacutecise de plusieurs caracteacuteristiques techniques qui sont propres au code convolutif utiliseacute Par conseacutequent on souhaite disposer dune regravegle empirique qui facilite la deacutetermination dune distance δzp adapteacutee au contexte de codage Les reacutesultats de nos simulations montrent quune distance δzp supeacuterieure agrave 6-8 fois la longueur de contrainte K suffit agrave rendre neacutegligeable la deacutegradation de la qualiteacute de protection due agrave cette strateacutegie (exemple Figure 7-20) Les simulations effectueacutees montrent ensuite une relation entre les deacutegradations de la qualiteacute des deux strateacutegies relation qui suit empiriquement leacutequation46 ( ) ( )

meilleur chemin chemin quelconque2 deacutegradation deacutegradation zp Kδ δδ = + sdotasymp (711)

Strateacutegie du deacutecodage dun chemin quelconque conclusions Lavantage de disposer dune solution simple et rapide est contrebalanceacute par laugmentation de la distance δzp de troncation de la meacutemoire Cette solution

46 En comparant cette relation (711) avec leacutequation (710) on peut eacutetablir une meilleure

correspondance entre les deux en remplaccedilant la valeur de croissance maximale par la valeur moyenne (Table 6-5)

182

implique laugmentation du retard algorithmique ainsi que des ressources de stockage des informations des chemins survivants Par conseacutequent lutilisation de cette strateacutegie est strictement soumise agrave lanalyse des coucircts suppleacutementaires provoqueacutes par laugmentation de la distance de troncation

Figure 7-20 deacutegradations causeacutees par la troncation de la meacutemoire (distances δ et δzp) Le graphe rouge repreacutesente la qualiteacute de protection offerte par lalgorithme original de Viterbi Le graphe vert en trait gras indique la qualiteacute de protection obtenue selon la strateacutegie classique du choix du chemin le plus prometteur Le graphe bleu en trait fin indique la qualiteacute de protection obtenue en deacutecodant un chemin quelconque (dans ce cas les chemins lieacutes agrave leacutetat zeacutero) Paramegravetres de simulation codeur256eacutetats messages de 1000 bits 8 bits de terminaisons 1 million de messages distances multiples de la longueur de contrainte du code

74 Synthegravese du systegraveme de base

Cette section illustre les reacutesultats de synthegravese de chaque module du systegraveme de base agrave laide du compilateur Design Compiler (Synopsys) La proceacutedure de synthegravese a suivie une strateacutegie Bottom-up et utiliseacutee la librairie Virtual Silicon Technology VST25 (UMC25 025microm) La liste et la description deacutetailleacutee des paramegravetres utiliseacutes sont illustreacutes par la Table 7-4

183

741 Strateacutegie adopteacutee

Le but de la strateacutegie de synthegravese adopteacutee (Table 7-4 Figure 7-21) est la prise de connaissance des caracteacuteristiques et des potentialiteacutes de chaque module du systegraveme de base sans orienter la proceacutedure de synthegravese vers un but particulier Cette strateacutegie de synthegravese nimplique ainsi aucune proceacutedure doptimisation (sur le plan de larchitecture du systegraveme dimplantation logique ou du choix des cellules) ce qui permet une vue densemble des caracteacuteristiques propres agrave chaque module La marge de manœuvre qui en deacutecoule peut ecirctre ensuite exploiteacutee pour ameacuteliorer ulteacuterieurement les potentialiteacutes du systegraveme de base

Compilateur Synopsys Design Compiler (Synopsys DC) version 200005-1 Langage VHDL (Very High-Speed Integrated Circuit Hardware Description

Language) Librairie Virtual Silicon Technology VST25 UMC25 (025microm)

(et ALTERA APEX20k pour la validation pratique) Strateacutegie de synthegravese Bottom-Up Paramegravetre Argument Commande pour Synopsys DC Effort dans la synthegravese moyen

(valeur par deacutefaut) -map_effort medium

Modegravele capacitif des fils 10k -set_wire_load suggested_10K Conditions dexploitation Pire des cas -set_operating_conditions WORST Couverture de test 95

(valeur par deacutefaut) -set_min_fault_coverage 95 ndashtiming_critical

Critegravere de lapproche structured -set_flatten_false -design -set_structure_true -design

Horloge 50ns (valeur par deacutefaut)

-create_clock ndashperiod 50 ndashwaveform 0 25

Table 7-4 Contexte de synthegravese du systegraveme de base

742 Synthegravese des modules

Module BMu le calcul des meacutetriques de branches La reacutealisation physique de ce module est purement combinatoire (Table 7-5) Comme deacutejagrave expliqueacute la strateacutegie adopteacutee pour la conception de ce module est la description parameacutetrable de lopeacuteration de calcul des 2M=22K-1 meacutetriques de branches Lopeacuteration doptimisation des calculs est ainsi deacuteleacutegueacutee au compilateur de synthegravese (approche structured Table 7-4)

184

Figure 7-21 exemple de synthegravese du systegraveme de base agrave laide du compilateur Design Compiler de Synopsys Le contexte de codage est le codeur4eacutetats

185

Cette strateacutegie permet une adaptation rapide aux autres contextes de codage sans nuire sensiblement agrave la qualiteacute de la reacutealisation physique

Virtual Silicon Technology VST25 UMC25 Contexte de codage Nombre de

cellules Surface Nombre

indicatif de portes logiques(NAN2D1)

Temps dexeacutecution

Codeur4eacutetats 11 3564 microm2 15 039 nsCodeur16eacutetats 23 6178 microm2 26 092 nsCodeur64eacutetats 49 10375 microm2 44 158 nsCodeur256eacutetats 135 26136 microm2 110 181 ns

Table 7-5 caracteacuteristiques relatives agrave la reacutealisation physique du module BMu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module ACSu la seacutelection des chemins survivants Les Table 7-6 et Table 7-7 reacutesument les caracteacuteristiques principales de la synthegravese du module ACSu qui est chargeacute de la seacutelection des M=2K-1 chemins survivants Les principes suivis pour la conception du module sont la seacutelection parallegravele des 2K-1 chemins survivants une repreacutesentation des meacutetriques cumuleacutees minimisant le nombre de bits neacutecessaires lemploi dune fonction de normalisation de ces meacutetriques ainsi quune initialisation des meacutetriques permettant lexploitation des conditions de deacutepart de lopeacuteration de codage (remise agrave zeacutero de la meacutemoire du codeur)

Virtual Silicon Technology VST25 UMC25 Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules Partie combin

Partie non-combin

Total Portes logiques ()

Bascules

Codeur4eacutetats 174 64627 34848 99475 272 20Codeur16eacutetats 679 252806 139392 392198 1064 80Codeur64eacutetats 3324 1217542 669082 1886623 5124 384Codeur256eacutetats 13504 4907153 2676327 7583479 20653 1536() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-6 caracteacuteristiques relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

186

Virtual Silicon Technology VST25 UMC25 Contexte de codage

Temps dexeacutecution Freacutequence (indicative) apregraves synthegravese

Codeur4eacutetats 237 ns 400 MHz Codeur16eacutetats 257 ns 370 MHz Codeur64eacutetats 340 ns 280 MHz Codeur256eacutetats 432 ns 220 MHz

Table 7-7 ordre de grandeur des performances relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module BPS la seacutelection du chemin pour la prise de deacutecision La strateacutegie classique de prise de deacutecision utilise le chemin partiel qui au moment de lexeacutecution de cette opeacuteration est estimeacute le plus probable Le principal deacutesavantage de cette strateacutegie est la forte composante seacutequentielle de lopeacuteration de seacutelection du chemin montrant la meacutetrique cumuleacutee la plus favorable (Figure 7-18) La reacutealisation physique de cette uniteacute (Table 7-8) met en eacutevidence cette probleacutematique le nombre de stades de comparaison saccroicirct parallegravelement agrave laugmentation du nombre de chemins impliqueacutes dans la seacutelection

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Nombre de

cellules (blocs de comparaison)

Surface [microm2] Nombre indicatif de portes logiques (NAN2D1)

Stades de comparaison

Temps [ns]

Codeur4eacutetats 5 (3) 22651 95 2 224Codeur16eacutetats 21 (15) 126878 534 4 542Codeur64eacutetats 89 (63) 682705 2873 6 1060Codeur256eacutetats 393 (255) 3010867 12672 8 1535

Table 7-8 reacutealisation physique du module BPS par blocs de comparaisons (Table 7-9) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

187

Virtual Silicon Technology VST25 UMC25 025microm

Surface Contexte de codage Nombre de

cellules Combinatoire Nombre indicatif de portes logiques (NAN2D1)

Temps

Codeur4eacutetats 16 7445 microm2 31 107 nsCodeur16eacutetats 18 8395 microm2 35 132 nsCodeur64eacutetats 23 10771 microm2 45 164 nsCodeur256eacutetats 25 11722 microm2 49 176 ns

Table 7-9 reacutealisation physique du bloc responsable de la comparaison de deux meacutetriques cumuleacutees de maniegravere agrave deacuteterminer la meilleure Ce bloc repreacutesente luniteacute de base pour la construction du module BPS Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module TBu la prise de deacutecision La reacutealisation mateacuterielle des modules BPS et TBu a suivi lapproche la plus classique la deacutetermination du chemin partiel le plus probable afin dextraire la valeur du bit le plus vieux pas encore livreacute

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules (nombre de blocs de meacutemoire δp)

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 52 (15) 46253 171310 217563 195 95Codeur16eacutetats 107 (25) 263736 809978 1073714 1110 455Codeur64eacutetats 337 (35) 1161547 4062247 5223794 4889 2316Codeur256eacutetats 1210 (45) 4888066 20277973 25166040 20573 11616() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-10 reacutealisation physique de la proceacutedure complegravete de prise de deacutecision agrave partir de blocs chargeacutes du stockage des informations et de reconstruction de leacutetat preacuteceacutedent de la meacutemoire (Table 7-11) La distance δp est eacutegale agrave (5middotK) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Les reacutesultats de la synthegravese du module TBu sont illustreacutes agrave laide de la Table 7-10 La reacutealisation du module se base sur la concateacutenation de δp blocs opeacuterationnels (Table 7-11) chacun chargeacute

188

1 du stockage des informations des M chemins survivants appartenant au mecircme niveau de profondeur et

2 de la reconstruction de leacutetat preacuteceacutedent du chemin survivant seacutelectionneacute

Par rapport au paramegravetre de distance δp limplantation considegravere la reconstruction iteacuterative et successive de δp=(5middotK) eacutetats de meacutemoire

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre

de cellules

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 11 3010 7366 10375 13 4Codeur16eacutetats 43 10296 28274 38570 43 16Codeur64eacutetats 147 32155 111910 144064 135 64Codeur256eacutetats 514 104861 446450 551311 441 128() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-11 reacutealisation physique du bloc responsable du stockage des informations concernant les chemins survivants agrave une certaine profondeur Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

743 Surface de silicium

La Figure 7-22 montre une vue densemble de la surface demandeacutee par chaque module Les deux modules les plus exigeants sont le module ACSu et le TBu Indeacutependamment du nombre deacutetats consideacutereacutes ces deux modules repreacutesentent en effet plus de 90 de la surface du systegraveme de base entier (Figure 7-23) Etant chargeacute de la seacutelection parallegravele des M=2K-1 chemins survivants la surface du module ACSu deacutepend lineacuteairement du nombre deacutetats repreacutesentables par la meacutemoire du codeur Les opeacuterations de seacutelection sont accomplies par M uniteacutes parallegraveles et les M meacutetriques cumuleacutees sont sauvegardeacutees dans le module mecircme La surface du module TBu deacutepend non seulement du nombre M deacutetats mais aussi de la valeur de la distance δp Le module est constitueacute de lenchaicircnement de δp uniteacutes fonctionnelles chacune responsable de la reconstruction dun eacutetat de meacutemoire en plus du stockage des informations lieacutees agrave M chemins survivants Si on considegravere que les paramegravetres M et δp deacutependent tous les deux de la longueur de contrainte K on obtient un module dont la demande de surface

189

saccroicirct rapidement avec laugmentation de la taille de meacutemoire du codeur convolutif (Figure 7-23)

00001

00010

00100

01000

10000

100000

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

contexte de codage

Surf

ace

[mm

2 ]

BMu

ACSu

BPS

TBu

Figure 7-22 vue densemble des valeurs de surface de chaque module

0

20

40

60

80

100

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

Surf

ace

TBu non-combTBu combBPS combACSu non-combACSu combBMu comb

Figure 7-23 vue densemble de la reacutepartition de la surface entre les modules Leacutegende comb partie combinatoire du module non-comb partie non-combinatoire du module

190

744 Vitesse dexeacutecution

La Table 7-12 donne une vue densemble des temps dexeacutecution des diverses tacircches valeurs obtenues par la synthegravese du systegraveme de base Les estimations de la vitesse dexeacutecution apregraves routage sont obtenues en reacuteduisant dun facteur deux les valeurs de vitesse reacutesultant apregraves synthegravese

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Design Compiler de

Synopsys (apregraves synthegravese) Estimation

apregraves routage

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Uniteacute TBu structure seacutequentielle (δp=5middotK)

Deacutebit de traitement du systegraveme ()

Codeur4eacutetats 039 ns 237 ns 224 ns 1308 ns 38 MbitssCodeur16eacutetats 092 ns 257 ns 542 ns 5995 ns 8 MbitssCodeur64eacutetats 158 ns 340 ns 1060 ns 8817 ns 6 MbitssCodeur256eacutetats 181 ns 432 ns 1535 ns 11357 ns 4 Mbitss() Lestimation apregraves routage est obtenue par la pondeacuteration dun facteur deux des valeurs de synthegravese

Table 7-12 vue densemble des valeurs concernant la vitesse dexeacutecution des divers modules

Ces reacutesultats montrent que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage Si les performances des modules ACSu et BMu sont relativement stables le deacutebit de traitement des deux autres modules se deacutegrade parallegravelement agrave laugmentation de la longueur de contrainte K En raison de la tacircche assigneacutee ces deux modules montrent en effet des composants seacutequentiels dont limportance deacutepend directement du paramegravetre K K-1 stades de comparaisons (module BPS) et la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles (module TBu) Ces composants seacutequentiels agrandissent la profondeur logique de la reacutealisation mateacuterielle de ces opeacuterations ralentissant le temps dexeacutecution des tacircches assigneacutees Ces composants seacutequentiels influencent eacutevidemment les performances du systegraveme entier les performances de lopeacuteration de prise de deacutecision deacuteterminent le deacutebit de traitement maximal du systegraveme de deacutecodage Bien que les performances de lopeacuteration de prise de deacutecision deacutegradent parallegravelement agrave laugmentation de la longueur de contrainte K du code ce systegraveme de deacutecodage assure un deacutebit de traitement suffisant aux exigences des

191

standards UMTS lestimation du deacutebit de traitement indique une valeur de 4 millions de bits dinformation traiteacutes par seconde (Table 7-12)

745 Taux dactiviteacute des signaux liant les modules

On termine la discussion sur les aspects de la synthegravese du systegraveme en analysant les taux dactiviteacute des signaux38 qui lient les diffeacuterents modules du systegraveme (Figure 7-24 et Table 7-13)

calcul desmeacutetriques

de branches(BMu)

mise agrave jourdes

meacutetriquescumuleacutees et

seacutelectiondes

survivants(ACSu)

deacutecodagedu chemin

choisi(TBu)

seacutelection duchemin(BPS)

in_data

arr_branch_up

arr_branch_down

in_up_down_vec

in_up_down_vec

arr_mtr

start_st

out_data

horloge

reset

Figure 7-24 signaux liant les modules du systegraveme (Table 7-13)

Outil et simulations Les taux dactiviteacute sont deacutetermineacutes agrave laide de loutil ModelSim (Model Technology) qui agrave partir dune seacutequence donneacutee de symboles dentreacutee simule le comportement du systegraveme entier (deacutecrit en VHDL) Ce faisant cet outil permet la caracteacuterisation des signaux liant les divers modules caracteacuterisation qui peut ecirctre ensuite utiliseacutee par Design Compiler (Synopsys) pour une eacutevaluation plus preacutecise de la consommation deacutenergie de chaque module (Chapitre 8)

192

Signal Description horloge Signal dhorloge reset Remise agrave zeacutero in_data Symboles reccedilus arr_branch_updown Meacutetriques de branches in_up_down_vec Informations sur les chemins survivants arr_mtr Meacutetriques cumuleacutees start_st Eacutetat de deacutepart de la proceacutedure de deacutecodage out_data Deacutecision sur lancien bitt-δ

Table 7-13 liste des signaux utiliseacutes pour la description VHDL du systegraveme

Deux sont les cas consideacutereacutes pour la prise de connaissance des taux dactiviteacute des signaux La premiegravere classe de simulations considegravere une transmission numeacuterique de donneacutees absente derreurs (exemple Table 7-14) Dans ce cas les symboles sont creacutees en codant un flux de bits dinformation aleacuteatoire Lautre classe de simulations prend en compte eacutevidemment des situations de transmission extrecircmement deacutesastreuses en termes derreurs Dans ces simulations les symboles dentreacutee du deacutecodeur sont entiegraverement geacuteneacutereacutes de maniegravere aleacuteatoire (exemple Table 7-15) Reacutesultats des simulations A partir des reacutesultats de ces simulations dont la Table 7-14 et Table 7-15 montrent deux exemples repreacutesentatifs on peut analyser et commenter le comportement des modules constituant le systegraveme de deacutecodage Le module BMu calcule les diverses meacutetriques de branches agrave partir des symboles reccedilus Lactiviteacute de ce module est strictement deacutependante de lactiviteacute des symboles reccedilus (in_data) A titre dexemple le codage dune seacutequence infinie de zeacuteros en labsence derreurs de transmission geacutenegravere une situation stationnaire dans le module BMu Dans cette situation extrecircme on assiste agrave une non-transition des eacuteleacutements logiques du module Le module ACSu se partage en deux parties La premiegravere partie eacutetant responsable des opeacuterations permettant la seacutelection des chemins survivants est entiegraverement reacutealiseacutee par logique combinatoire Par contre la seconde partie est chargeacutee du stockage des valeurs des meacutetriques cumuleacutees des chemins survivants Lactiviteacute de ce module est ainsi influenceacutee dune part par les taux dactiviteacute des meacutetriques de branches et de lautre par ceux des meacutetriques cumuleacutees

193

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 5 MSB 000 000 4 000 000 3 093 011 2 054 049 1 047 049 0 LSB 050 049

bit P[1] Activiteacute 6 MSB 049 045 5 049 045 4 050 045 3 049 045 2 049 045 1 049 045 0 LSB 049 045

in_up_down_vec

bit P[1] Activiteacute 2 MSB 051 047 1 MSB 049 055 0 LSB 050 047

bit P[1] Activiteacute

1 MSB 050 050 0 LSB 051 050

P[1]= 040 Activiteacute=047

P[1]=048 Activiteacute =047

Table 7-14 taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur256eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim47 La simulation considegravere la reacuteception dune seacutequence de symboles creacuteeacute par le codage de 1000 bits dinformation Ces bits ont eacuteteacute geacuteneacutereacutes de maniegravere aleacuteatoire Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation Leacutegende P[1] indique la probabiliteacute que le bit soit eacutegal agrave leacutetat 1 activiteacute repreacutesente le nombre de transition par cycle dhorloge

Les taux dactiviteacute des meacutetriques de branche sont stable et ne changent que dans une situation (artificielle) de codage stationnaire en absence derreurs Par contre lactiviteacute des meacutetriques cumuleacutees (arr_mtr) est fonction de la strateacutegie adopteacutee pour sa repreacutesentation (nombre de bits et fonction de normalisation) et des conditions de transmission Etant donneacute que la meacutetrique cumuleacutee indique le nombre derreurs rencontreacute par le chemin son taux dactiviteacute est eacutevidemment influenceacute par le deacutebit derreurs de transmission (Table 7-14 et Table 7-15) Lanalyse du taux dactiviteacute du signal dinformation in_up_down_vec prouve lutilisation dune fonction de seacutelection qui favorise (en cas de meacutetriques eacutequivalentes) le chemin dont leacutetat preacuteceacutedent possegravede le LSB eacutegal agrave zeacutero Ce signal qui indique le LSB de leacutetat de provenance du chemin survivant montre en effet la preacutedominance de leacutetat logique zeacutero (Table 7-14 et Table 7-15) 47 ModelSim SEEE PLUS 55e de Model Technology Incorporated Mentor Graphics

(Rev 200110)

194

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 4 MSB 006 008 3 049 013 2 051 027 1 051 046 0 LSB 050 054

bit P[1] Activiteacute 1 MSB 032 042 0 LSB 049 049

in_up_down_vec

bit P[1] Activiteacute 2 MSB 049 043 1 MSB 051 044 0 LSB 049 045

bit P[1] Activiteacute

1 MSB 050 0440 LSB 050 051

P[1]=032 Activiteacute=041

P[1]=045 Activiteacute=048

Table 7-15 le taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur4eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim Cette analyse se base sur la geacuteneacuteration aleacuteatoire de 1000 symboles dentreacutee (signal in_data) Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quau deacutebut de la simulation Leacutegende voir Table 7-14

Le module BPS est chargeacute du choix du chemin partiel le plus probable Par conseacutequent la fonction de seacutelection est influenceacutee par le contenu du message et par les erreurs de transmission Dans la situation dune eacutequiprobabiliteacute des messages et dabsence derreurs de transmission le chemin le plus favorable peut montrer de maniegravere eacutequitable tous les eacutetats de meacutemoire (signal start_st Table 7-14) Par contre en preacutesence dun fort deacutebit derreurs lopeacuteration de seacutelection du chemin est confronteacutee agrave des situations deacutequivalence des meacutetriques cumuleacutees Dans cette situation le taux dactiviteacute de ce signal de sortie montre les traces de lutilisation de fonctions de seacutelection ineacutequitable en cas deacutequivalence des meacutetriques (Table 7-15) Ces fonctions sont les opeacuterations de seacutelection du chemin survivant (module ACSu) et les uniteacutes de comparaison des chemins survivants (module BPS) Le dernier module traiteacute est le TBu Lanalyse de son signal de sortie qui repreacutesente la prise de deacutecision sur le plus vieux bit pas encore livreacute ne permet pas la caracteacuterisation du taux dactiviteacute de ce module Les informations quon peut obtenir sur son taux dactiviteacute deacuterivent de la conception du module En effet la strateacutegie de reacutealisation implique quagrave chaque peacuteriode dhorloge

bull un des δp eacuteleacutements de sauvegarde stocke les nouvelles informations des M chemins survivants

195

bull quatre bascules des deux chaicircnes circulaires de synchronisation (Figure 7-17) changent deacutetat

bull lexeacutecution de la prise de deacutecision cest agrave dire la reconstruction successive de δp eacutetats de meacutemoire du chemin seacutelectionneacute

75 Strateacutegie pipeline pour la prise de deacutecision

751 Motivation

Lanalyse des reacutesultats de synthegravese montre que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage (Table 7-12) Si les deacutebits de traitement des modules ACSu et BMu sont relativement stables les performances des deux autres modules se deacutegradent avec laugmentation de la longueur de contrainte K En raison des tacircches assigneacutees les deux modules chargeacutes de la prise de deacutecision montrent de fortes composantes seacutequentielles dont limportance deacutepend du paramegravetre K

bull K-1 stades de comparaisons pour la seacutelection du chemin le plus probable et

bull la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles pour la prise de deacutecision

Ces composants seacutequentiels deacutegradent non seulement les deacutebits de traitement des modules mais aussi les performances du systegraveme entier (Table 7-12) Si la strateacutegie dune prise de deacutecision exploitant un chemin quelconque permet de minimiser le temps dexeacutecution du module BPS la reacutealisation du module TBu reste leacuteleacutement crucial de notre systegraveme Dans le contexte dune exploitation exhaustive du paralleacutelisme algorithmique disponible il devient inteacuteressant dexplorer une strateacutegie pipeline pour lexeacutecution de lopeacuteration de prise de deacutecision Son principe est lexeacutecution simultaneacutee de plusieurs opeacuterations de prise de deacutecision ce qui permet lameacutelioration du deacutebit de traitement de luniteacute TBu

196

t-3 t-2 t-1 t t-5 t-4

eacutetat de deacutepart (t)

eacutetatt(t-1)t

Peacuteriode

bloc responsable du stockage des informations(niveau de profondeur t-2) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-3)

eacutetatt(t-2)

t-3 t-2 t-1 t t+1 t-4

eacutetat de deacutepart (t+1)

t+1

eacutetatt(t-6)

deacutecision info bitt+1-δ

eacutetatt+1(t-5)

deacutecision info bitt-δ

eacutetatt(t-3) eacutetatt(t-5)eacutetatt(t-4)

eacutetatt+1(t)eacutetatt+1(t-3) eacutetatt+1(t-2) eacutetatt+1(t-1)eacutetatt+1(t-4)

Figure 7-25 opeacuterations de prise de deacutecision Lapproche suivie est la reconstruction seacutequentielle des δp eacutetats preacuteceacutedents de la meacutemoire du codeur agrave partir du chemin seacutelectionneacute Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

752 Approche pipeline

La proceacutedure de prise de deacutecision peut ecirctre exeacutecuteacutee en δp eacutetages agrave chaque eacutetage leacutetat preacuteceacutedent de la meacutemoire du codeur est reconstruit agrave laide des informations sauvegardeacutees (Figure 7-26) La vitesse dexeacutecution dun de ces blocs fondamentaux de reconstruction devient leacuteleacutement indiquant les potentialiteacutes du module TBu (Table 7-16) En raison dune exeacutecution reacutepartie en δp eacutetages cette approche demande le double du nombre de blocs fondamentaux qui sont neacutecessaires au stockage des informations ainsi quagrave la reconstruction deacutetats preacuteceacutedents (Figure 7-26) Evidemment elle entraicircne laugmentation du retard algorithmique de lopeacuteration de prise de deacutecision retard qui passe ainsi de δp agrave 2middotδp peacuteriodes

197

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

bloc responsable du stockage des informations(niveau de profondeur t) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-1)bascule

deacutecision info bitt-δ

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-3)t+2

eacutetat de deacutepart (t+1)

eacutetat de deacutepart (t+2)

eacutetat de deacutepart (t+3)

Figure 7-26 repreacutesentation graphique du deacuteroulement de lopeacuteration de prise de deacutecision exploitant une structure pipeline (δp=3) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

753 Ameacutelioration de la strateacutegie pipeline

Lanalyse defficaciteacute de cette strateacutegie montre une gestion insatisfaisante des opeacuterations de reconstruction les 2middotδp blocs fondamentaux sont en effet chargeacutes de la reconstruction parallegravele de seulement δp chemins Cette structure pipeline (Figure 7-26) souffre de la reconstruction parasitaire de δp chemins qui napporte aucune contribution agrave lopeacuteration de prise de deacutecision Sur le plan de la consommation deacutenergie cette situation est intoleacuterable

198

Virtual Silicon Technology VST25 UMC25 025microm (valeurs apregraves synthegravese)

proceacutedure complegravete de prise de deacutecision bloc responsable du stockage des informations et reconstruction deacutetat

Contexte de codage

δp =5middotK Temps Freacutequence indicative

Temps Freacutequence indicative

Codeur4eacutetats 15 1308 ns 75 MHz 061 ns 1600 MHzCodeur16eacutetats 25 5995 ns 15 MHz 116 ns 860 MHzCodeur64eacutetats 35 8817 ns 11 MHz 187 ns 530 MHzCodeur256eacutetats 45 11357 ns 8 MHz 209 ns 470 MHz

Table 7-16 ordre de grandeur des performances de la reacutealisation du module TBu Les indications concernant le bloc fondamental impliquent lopeacuteration de seacutelection la lecture des informations sauvegardeacutees et la reconstruction des eacutetats preacuteceacutedents du chemin seacutelectionneacute Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Une solution possible est une intervention sur le signal dhorloge (Gated Clock) des bascules interposeacutees entre les blocs de maniegravere agrave activer seulement les δp blocs opeacuterationnels qui sont impliqueacutes dans les opeacuterations demandeacutees Par conseacutequent le signal dhorloge liant toutes les bascules (Figure 7-26) peut ecirctre remplaceacute par deux signaux dhorloge liant les bascules de maniegravere alterneacutee (Figure 7-27) Laspect de la faible consommation deacutenergie peut aussi tirer profit de cette solution Cette structure pipeline permet de limiter la consommation deacutenergie en eacutevitant la reacutepeacutetition dopeacuterations identiques de reconstruction La reconstruction deacutetats du chemin actuellement seacutelectionneacute peut en effet beacuteneacuteficier des opeacuterations preacuteceacutedemment effectueacutees Le beacuteneacutefice quon peut obtenir est proportionnel au nombre de transitions deacutetats que les deux chemins ont en commun

754 Redondance des opeacuterations de reconstruction deacutetats

Indeacutependamment de la strateacutegie dexeacutecution de lopeacuteration de prise de deacutecision cette sous-section preacutesente les beacuteneacutefices dune eacutelimination des reacutepeacutetitions (successives) dopeacuterations identiques de reconstruction

199

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

eacutetat de deacutepart (t+1)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetat de deacutepart (t+3)

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt+1(t)

eacutetatt+1(t-2)

bascule

bloc responsable du stockage desinformations et de la reconstruction de la

valeur de leacutetat preacuteceacutedent

t t+1 t+2 t+3 t+4 t-1horloge

eacutetat de deacutepart (t+4)

t+4 eacutetatt+1(t-2)

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-2)t+2 eacutetatt(t-3) eacutetatt+1(t-1)

eacutetat de deacutepart (t+2)

deacutecision info bitt-δ

deacutecision info bitt+1-δ Figure 7-27 optimisation de la structure pipeline de la tacircche de prise de deacutecision (δp=3) La structure est geacutereacutee par deux signaux dhorloge qui sont activeacutes de maniegravere alterneacutee (lactiviteacute est illustreacutee par la taille de la ligne repreacutesentant le signal) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

Limportance de la reacuteduction de consommation est eacutevidemment deacutetermineacutee par le nombre de transitions que les chemins choisis ont en commun Par

200

conseacutequent la reacuteduction la plus importante est atteinte lorsque le nouveau chemin seacutelectionneacute est la prolongation du chemin preacuteceacutedemment utiliseacute Dans ce cas apregraves une seule opeacuteration de reconstruction on peut utiliser entiegraverement tous les reacutesultats de la reconstruction preacuteceacutedente A partir de ces eacutevidences on sattend agrave ce que limportance de la reacuteduction deacutepende du critegravere de seacutelection du chemin de la distance δp ainsi que des erreurs de transmission Prise de deacutecision par le deacutecodage du chemin le plus probable Dans le cas de lutilisation du chemin le plus probable la redondance des opeacuterations est influenceacutee par le nombre derreurs et par leur distribution temporelle

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-28 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision qui utilise les chemins les plus probables Paramegravetres de la simulation contexte de codage codeur16eacutetats et 118k opeacuterations de choix du chemin le plus probable

Le cas ideacuteal est repreacutesenteacute par la seacutelection dun chemin qui est la prolongation du preacuteceacutedent ce qui demande la reconstruction dun seul eacutetat de meacutemoire La seacutelection dun autre chemin provoque laugmentation du nombre deacutetats qui doivent ecirctre recalculeacutes nombre qui est compris entre 2 et δp (Figure 7-28 et Table 7-17) Loccurrence de ce dernier cas augmente (eacutevidemment) avec la deacutegradation des conditions de transmission Dans les deux cas lexploitation des preacuteceacutedentes opeacuterations de reconstruction (Table 7-17) permet une reacuteduction sensible de la consommation deacutenergie

201

Moyenne du nombre deacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dB

Codeur4eacutetats 15 227 206 178 150 127 112 105Codeur16eacutetats 25 426 338 246 173 131 112 105Codeur64eacutetats 35 776 580 366 216 144 116 106Codeur256eacutetats 45 1181 867 486 241 146 115 105

Table 7-17 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats choix du chemin le plus probable 1000 opeacuterations de prise de deacutecision (TB) par trame 10000 trames

Figure 7-29 influence de la distance δp sur le nombre deacutetats recalculeacutes Simulation software contexte de codage codeur256eacutetats 1000 opeacuterations de choix du chemin le plus prometteur par trame 10000 trames

Linfluence de la distance δp sur le nombre deacutetats agrave recalculer est par contre plus marginale (Figure 7-29) Sa contribution se restreint agrave la limitation du nombre deacutetats recalculeacutes dans le cas ougrave le chemin seacutelectionneacute divergerait du preacuteceacutedent par un nombre deacutetats supeacuterieurs agrave δp Cet eacuteveacutenement se produit

202

dans de mauvaises conditions de transmission dans le contexte de codage traiteacute par la Figure 7-29 linfluence de la distance δp est observable au-dessous dun rapport EbN0 de 2dB Reconstruction des eacutetats de meacutemoire dun chemin quelconque Lutilisation dun chemin quelconque offre un niveau de souplesse supeacuterieur agrave lopeacuteration de seacutelection souplesse qui pourrait ecirctre ainsi exploiteacutee afin de reacuteduire la consommation deacutenergie On pourrait envisager de choisir (autant que possible) un chemin qui est la prolongation du preacuteceacutedent Ce faisant bien que la possibiliteacute de survie des prolongations du dernier chemin soit fonction des conditions de transmission et du contenu du message la consommation deacutenergie peut ecirctre minimiseacutee Toutefois cette solution neacutecessite lexeacutecution dune tacircche de seacutelection complexe ce qui contredit les avantages (preacuteceacutedemment) envisageacutes par lutilisation de cette meacutethode alternative Conformeacutement aux motivations qui sont agrave la base de la proposition on analyse la situation de seacutelection la plus simple le choix systeacutematique du mecircme eacutetat de deacutepart Par rapport agrave laspect de la consommation deacutenergie deux eacutetats de meacutemoire montrent des caracteacuteristiques inteacuteressantes lorsquils sont utiliseacutes comme eacutetats de deacutepart de lopeacuteration de prise de deacutecision

bull Leacutetat zeacutero qui repreacutesente la situation dune meacutemoire du codeur convolutif contenant uniquement des bits dinformations zeacuteros et

bull Leacutetat qui repreacutesente la situation dune meacutemoire contenant uniquement des bits dinformation un

En effet seuls ces deux eacutetats rendent possible le choix dun chemin qui soit la prolongation du chemin choisi agrave la profondeur preacuteceacutedente (Figure 2-15) La probabiliteacute de cet eacuteveacutenement peut ecirctre ensuite renforceacutee par la reacutealisation de lopeacuteration de seacutelection du chemin survivant (module ACS) La reacutealisation peut en effet assurer que dans une situation deacutequiprobabiliteacute des meacutetriques cumuleacutees la prolongation du chemin (preacuteceacutedemment choisi) sera seacutelectionneacutee La contribution apporteacutee par cette simple modification48 qui ne modifie pas le deacuteroulement correct de lalgorithme (voir le theacuteoregraveme de la non-optimaliteacute) est facilement observable dans un contexte de deacutecodage utilisant une deacutecision ferme (Table 7-18)

48 Dans le cas de lutilisation de leacutetat de deacutepart zeacutero leacutequivalence des meacutetriques

cumuleacutees avantage le chemin provenant dun eacutetat de meacutemoire dont le MSB est eacutegal agrave zeacutero

203

Occurrence observeacutee du choix de la prolongation du chemin preacuteceacutedent

Contexte de codage

Longueur de contrainte du code

Message [bit]

Bits de terminaisons

Nombre de messages

Troncation [δp]

Min Max Codeur4eacutetats K=3 1000 2 200000 K2K9K 650 655 Codeur256eacutetats K=9 1000 8 10000 K2K9K 621 656

Table 7-18 analyse du cas ougrave le chemin actuellement choisi est la prolongation du chemin choisi agrave la profondeur preacuteceacutedente Simulations choix systeacutematique du chemin de deacutepart zeacutero opeacuteration de seacutelection (module ACSu) favorisant le choix de la prolongation du chemin preacuteceacutedent conditions de transmission EbN0 de 0 agrave 6 dB

Sur le plan du nombre neacutecessaire dopeacuterations de reconstruction on doit sattendre agrave ce que cette strateacutegie alternative de seacutelection soit plus gourmande que lapproche classique de seacutelection du chemin le plus probable Les reacutesultats des simulations (Table 7-19) prouvent en effet quun nombre supeacuterieur deacutetats est recalculeacute pendant chaque opeacuteration de prise de deacutecision

Moyenne du nombre drsquoeacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dBCodeur4eacutetats 21 338 323 300 271 243 221 207Codeur16eacutetats 35 586 521 446 381 337 311 296Codeur64eacutetats 49 1198 1019 808 642 546 498 472Codeur256eacutetats 63 1475 1253 947 721 606 551 521

Table 7-19 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats 1000 opeacuterations de prise de deacutecision par trame 10000 trames eacutetat de deacutepart zeacutero

La meacutethodologie de seacutelection du chemin est une facteur peacutenalisant surtout dans des situations de transmission favorables en seacutelectionnant soit la prolongation du chemin preacuteceacutedent soit un chemin qui peut se reacuteunir avec le preacuteceacutedent quapregraves K transitions (Figure 7-30) le nombre moyen deacutetats agrave recalculer est superier par rapport agrave lapproche classique (Table 7-17 et Table 7-19)

204

Linfluence du paramegravetre de la distance δp sur le nombre deacutetats agrave recalculer est similaire agrave lapproche classique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-30 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) avec lutilisation de leacutetat de deacutepart zeacutero Simulations contexte de codage codeur16eacutetats 118k opeacuterations de TB analyseacutees

755 Consideacuterations finales

En raison des exigences eacutetablies la reacutealisation du systegraveme de base est fortement influenceacutee par la strateacutegie de lopeacuteration de prise de deacutecision Une eacutetude approfondie de cette opeacuteration a permis deacutevaluer ses potentialiteacutes en exploitant une approche pipeline Cette strateacutegie permet dameacuteliorer le deacutebit de traitement supporteacute par cette opeacuteration en eacuteliminant les limitations dues agrave sa forte composante seacutequentielle Les performances du systegraveme entier deviennent ainsi fonction de lopeacuteration fondamentale de seacutelection des chemins survivants Le prix agrave payer est le doublement des uniteacutes de reconstruction deacutetat ainsi que laugmentation de la consommation deacutenergie due agrave la gestion des multiples opeacuterations parallegraveles Sur le plan de la consommation deacutenergie cette eacutetude a montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection une telle strateacutegie permet denvisager une reacuteduction du nombre dopeacuterations de reconstruction nombre qui passe ainsi de δp agrave des valeurs sapprochant de luniteacute (Table 7-17 et Table 7-19) Limportance de la reacuteduction est eacutevidemment influenceacutee par les conditions de transmission

205

76 Conclusions

Ce septiegraveme chapitre a exploreacute les potentialiteacutes dune reacutealisation ASIC dune meacutethode de deacutecodage se basant exclusivement sur lalgorithme de Viterbi Apregraves lanalyse de la situation actuelle des technologies 3G le systegraveme de deacutecodage a eacuteteacute deacutecrit en deacutecomposant lalgorithme de Viterbi dans ses eacuteleacutements constituants Ces blocs opeacuterationnels sont le bloc responsable du calcul des meacutetriques de branche (BMu) celui de la mise agrave jour des meacutetriques cumuleacutees (ACSu) le bloc responsable de la seacutelection du chemin (BPS) et le bloc de prise de deacutecision par le deacutecodage (TBu) du chemin indiqueacute par le bloc preacuteceacutedent

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Codeur256eacutetats Condition des analyses condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

estimation apregraves synthegravese (Design Compiler de Synopsys)

Temps dexeacutecution

Dissipation inteacuterieure par bit traiteacute

Surface

BMu 181 ns 50 pJ 26middot10-3 mm2 ACSu 432 ns 10 nJ 76middot10-1 mm2 BPS 1535 ns 02 nJ 30middot10-1 mm2 TBu (δp=45) 11357 ns 29 nJ 25 mm2

Table 7-20 estimation des caracteacuteristiques techniques de la synthegravese des blocs constituant le deacutecodeur de Viterbi Le contexte de codage concerne le code convolutif proposeacute par le standard UMTS avec rendement Rc=13

Cette deacutecomposition a permis de traiter seacutepareacutement chaque eacuteleacutement illustrant ainsi ses paramegravetres leurs implications dans lexeacutecution de lalgorithme les options et les variantes de conception Une reacutealisation geacuteneacuterale et parameacutetrable a eacuteteacute choisie pour leacutevaluation des potentialiteacutes dadaptation et des coucircts demploi du systegraveme (Table 7-20) Lutilisation de la technologie VST25-UMC25 (025microm) ainsi que des outils Synopsys Design Compiler (synthegravese logique) et Modelsim de Model

206

Technology Incorporated (outil de simulation) a permis lanalyse critique de chaque bloc constituant ce qui a favoriseacute la proposition et leacutetude de meacutethodes alternatives aux approches communeacutement utiliseacutees Une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision (module BPS) a eacuteteacute ainsi eacutetudieacutee La forte composante seacutequentielle de lopeacuteration de seacutelection du chemin le plus probable a induit lexploration dun autre principe de seacutelection plus simple la deacutesignation dun chemin quelconque de deacutepart Leacutetude a ensuite montreacute la faisabiliteacute de cette solution agrave condition dune adaptation de la distance δp de lopeacuteration de prise de deacutecision La reacutealisation du module TBu neacutecessite ainsi un nombre supeacuterieur duniteacutes de reconstruction deacutetats qui provoque laugmentation de la surface de silicium et du retard algorithmique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

nombre deacutetats reacutecalculeacutes par lopeacuteration de prise de deacutecision

occu

renc

e

chemin le plus prometteur

chemin zeacutero

Figure 7-31 nombre deacutetats qui sont effectivement recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) Condition de la simulation code convolutif proposeacute par le standard UMTS avec rendement Rc=13 condition de transmission EbN0=4dB et 118k opeacuterations de prise de deacutecision analyseacutees

Ce chapitre propose ensuite une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie pipeline preacutevoit une exeacutecution parallegravele de plusieurs opeacuterations de reconstruction Le partage de lopeacuteration de prise de deacutecision en δp eacutetages de reconstruction augmente le deacutebit de traitement du module TBu ainsi que du systegraveme entier Les coucircts de cette strateacutegie sont le doublement des uniteacutes de reconstruction deacutetat laugmentation du retard algorithmique et la consommation deacutenergie demandeacutee par la gestion des multiples opeacuterations parallegraveles Lanalyse de lopeacuteration de prise de deacutecision a successivement montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des

207

opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection on peut envisager une reacuteduction du nombre dopeacuterations de reconstruction exeacutecuteacutees nombre qui passe ainsi de δp (reconstruction complegravete) agrave des valeurs sapprochant de luniteacute (Figure 7-31) Ce chapitre a prouveacute la faisabiliteacute et les potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi Cet algorithme possegravede des caracteacuteristiques importantes la description de lalgorithme utilise un nombre reacuteduit de paramegravetres et elle ne neacutecessite daucuns systegravemes de controcircle ou de reacuteglage de la qualiteacute de lopeacuteration de deacutecodage (situation dindeacutependance algorithmique des conditions de transmission des donneacutees) Gracircce agrave ces caracteacuteristiques de lalgorithmique de Viterbi les principaux inconveacutenients et limites de souplesse des reacutealisation ASIC ninterfegraverent que marginalement avec la conception du systegraveme CE chapitre a montreacute aussi quune approche coprocesseur augmente la souplesse demploi de la reacutealisation mateacuterielle de lalgorithme de Viterbi

Reacutefeacuterences

[BDTi1] Berkeley Design Technology Inc (BDTi) The BDTImark2000TM A Measure of DSP Execution Speed livre blanc 1997-2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi3] Berkeley Design Technology Inc (BDTi) Evaluating the Latest DSPs for Portable Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi6] Berkeley Design Technology Inc (BDTi) The BDTiMark2000 A Summary Measure of Signal Processing Speed septembre 2004 page Internet acceacutedeacutee en automne 2004 wwwbdticom

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

208

[FhG01] Fraunhofer Institut Integrierte Schaltungen CorePool FHG_VITERBI Databook version 15 juillet 2001

[Gath00] A Gatherer T Stetzler M McMahan E Auslander DSP-based Architectures for Mobile Communications Past Present and Future IEEE Communications Magazine janvier 2000 pp84-90

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gras01] L Grasso Implementation of a parameterized family of Viterbi Decoders rapport final de projet IMT Universiteacute de Neuchacirctel Neuchacirctel deacutecembre 2001

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese de Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Min91] BndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru312] Texas Instruments TMS320C55x DSP Functional Overview document SPRU312 juin 2000

[Spru393] Texas Instruments TMS320C55x Technical Overview document SPRU393 feacutevrier 2000

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

209

8 Comparaison des caracteacuteristiques des deux architectures software et

hardware

Les chapitres preacuteceacutedents ont preacutesenteacute laspect du deacuteveloppement dun systegraveme de deacutecodage en consideacuterant les caracteacuteristiques et les points forts des deux approches lune software et lautre par un circuit suppleacutementaire ASIC Ce chapitre se concentre sur les coucircts demploi de tels systegravemes indeacutependamment de leurs difficulteacutes de reacutealisation et du temps neacutecessaire agrave leur deacuteveloppement Les aspects cleacutes sont la vitesse de traitement la consommation deacutenergie et la surface de silicium

Ce chapitre traite seacutepareacutement chacun de ces aspects de maniegravere de mettre en eacutevidence les caracteacuteristiques et les potentialiteacutes de chaque approche Lanalyse critique de chaque aspect examine les deux types dapproches software et hardware de maniegravere indeacutependante et se conclue avec une comparaison de leurs potentialiteacutes La meacutethode de deacutecodage utiliseacutee pour lanalyse critique est lalgorithme de Viterbi

Les potentialiteacutes des deux approches sont estimeacutees agrave partir des reacutesultats preacutesenteacutes dans ce document ainsi que par les informations disponibles du marcheacute des DSP et de la technologie de synthegravese UMC25-025microm [UMC25]

81 Introduction

Dans le domaine du traitement numeacuterique du signal et de la teacuteleacutecommunication mobile la comparaison des coucircts demploi dun systegraveme prend principalement en compte trois aspects Ces aspects sont le deacutebit de traitement leacutenergie neacutecessaire pour le traitement dun bit dinformation et la surface de silicium utiliseacutee par le circuit Par conseacutequent le coucirct total

210

dutilisation dun systegraveme peut ecirctre deacutefini par une contribution eacutegale de ces trois aspects principaux [Feld02] Dans ce chapitre chacun de ces aspects sera traiteacute seacutepareacutement de maniegravere agrave mieux comprendre les caracteacuteristiques et les potentialiteacutes propres agrave chaque approche

82 Deacutebit du traitement

Le premier aspect traiteacute est le deacutebit du traitement Cet aspect est fondamental pour situer les champs dapplication des deux approches (hardware et software) dans le contexte de la communication mobile Les standards UMTS preacutevoient un deacutebit de transmission extrecircmement variable qui peut atteindre en effet 144 kbps lors dune utilisation dans des veacutehicules en mouvement 384 kbps pour une utilisation peacutedestre et 2 Mbps agrave linteacuterieur des bacirctiments Afin de permettre une analyse correcte les comparaisons des deux approches concernent limplantation et la reacutealisation mateacuterielle de lalgorithme de Viterbi Toutefois les performances de limplantation software de lalgorithme List Decoding seront eacutegalement estimeacutees

821 Approche software

Le deacutebit de traitement des DSP est estimeacute agrave partir des charges de calcul des implantations et des directives de complexiteacutes des opeacuterations de lETSI (Sous-section 632) A laide destimations successives le nombre de cycles dinstructions ainsi que le temps dexeacutecution neacutecessaire peuvent ecirctre eacutevalueacutes en consideacuterant les caracteacuteristiques et les potentialiteacutes propres aux familles DSP Algorithme de Viterbi La premiegravere eacutetape est la caracteacuterisation et la modeacutelisation de la complexiteacute de calcul de lalgorithme de Viterbi Lalgorithme de Viterbi peut ecirctre modeacuteliseacute par la complexiteacute de calcul de lopeacuteration de seacutelection dun chemin survivant (Table 8-1) La normalisation de la complexiteacute observeacutee par le nombre de reacutepeacutetitions de cette opeacuteration permet deacutetablir limportance de cette opeacuteration dans lexeacutecution de lalgorithme de Viterbi (Table 8-1)

211

En comparant cette valeur normaliseacutee avec la complexiteacute de calcul effectivement neacutecessaire agrave cette opeacuteration de seacutelection sa preacutedominance est eacutevidente les complexiteacutes de calcul des autres tacircches (notamment la deacutetermination des meacutetriques de branches la seacutelection du chemin le plus prometteur et lopeacuteration de prise de deacutecision) ne contribuent que de maniegravere minoritaire (moins de 20) agrave la complexiteacute totale du calcul Contrairement agrave lapproche hardware la contribution de la tacircche de prise de deacutecision se limite agrave 10 Ceci est ducirc agrave la simpliciteacute de lexeacutecution de cette tacircche qui consiste dans la lecture successive des δp eacutetats preacuteceacutedents du chemin seacutelectionneacute (Sous-section 642)

Table 8-1 vue densemble de la complexiteacute de calcul de lalgorithme de Viterbi Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122 kbps troncation de la meacutemoire δ=54 () Cette proceacutedure implique la mise agrave jour des deux meacutetriques cumuleacutees leur comparaison et la seacutelection du chemin survivant

Cette meacutethodologie de modeacutelisation permet une comparaison correcte des performances entre lapproche software et ASIC en limitant la forte influence

Observation de lexeacutecution de la tacircche de deacutecodage

Facteur de poids des opeacuterations (ITUETSI)

Nombre moyen drsquoopeacuterations observeacutees

Complexiteacute moyenne normaliseacutee par le nombre dopeacuterations de seacutelection (24830 opeacuterations)

Complexiteacute de calcul de la seule proceacutedure de seacutelection dun chemin survivant (code C) ()

[WCwOP opeacuteration]

[opeacuterations] [WCwOP] [WCwOP]

Additions 1 49670 20 20Increacutementations 1 1435 01 00Soustractions 1 293 00 00Transf de donneacutees 1 182888 74 60Logique 1 147769 60 55Deacutecalages 1 78584 32 30Controcircles 2 142734 115 80Point assignations 729Point arithmeacutetique 3637B initialisations 26906B controcircles 124270B increacutementations

0

97305

00 00

Grand total 856230 302 245

212

du type dexeacutecution (seacutequentielleparallegravele) de la tacircche de seacutelection Cette meacutethodologie offre en plus un moyen destimation du deacutebit de traitement dans dautres contextes de codage ougrave non seulement le nombre de bits du message change mais aussi les longueurs de contrainte K 49 Effets de la description souple des meacutethodes de deacutecodage Afin de permettre une comparaison eacutequitable avec lapproche hardware les implications dues agrave une description souple de lalgorithme doivent ecirctre quantifieacutees La strateacutegie souple de description de lalgorithme permet ladaptation aux autres contextes de codage par la modification du paramegravetre de longueur de contrainte K et des fonctions geacuteneacuteratrices Gi Cette souplesse entraicircne une augmentation de la charge de calcul due agrave la difficulteacute doptimisation du code qui en deacutecoule Une eacutevaluation du facteur daugmentation est possible en comparant cette complexiteacute avec celle potentiellement reacutealisable par une implantation ideacuteale de la tacircche de seacutelection Pour cette derniegravere qui repreacutesente la limite infeacuterieure de complexiteacute de cette tacircche on considegravere lexeacutecution de la seacutequence dopeacuterations suivante

bull chargement des anciennes meacutetriques cumuleacutees appartenant aux deux eacutetats preacuteceacutedents (deux opeacuterations de Transferts de donneacutees)

bull chargement des actuelles meacutetriques de branches qui sont coupleacutees aux deux transitions traiteacutees (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull seacutelection du chemin survivant par lidentification de la meilleure

meacutetrique cumuleacutee (une opeacuteration de controcircle) bull stockage des valeurs de meacutetrique cumuleacutee et de linformation neacutecessaire

agrave la reconstruction du chemin survivant (deux opeacuterations de Transferts de donneacutees)

Selon les indications des organisations ITU et ETSI (Basic Operations Table 8-1) la complexiteacute de cette seacutequence dopeacuterations est de 10 weighted operations (wOP) En consideacuterant une contribution minimale des autres tacircches50 estimeacutee agrave 10 de la complexiteacute totale la limite infeacuterieure de complexiteacute de lalgorithme de Viterbi peut se situer autour de 11 wOPeacutetat En

49 Il faut se rappeler que la longueur de contrainte K du code deacutetermine le nombre

dopeacuterations de seacutelection du chemin survivant qui sont impliqueacutees dans le traitement de chaque bit dinformation

50 On considegravere seulement la contribution de lopeacuteration de prise de deacutecision

213

comparant cette limite infeacuterieure avec la complexiteacute de calcul observeacutee la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme de Viterbi (Sections 64 et 66) peut ecirctre estimeacutee agrave un facteur 25 (Table 8-1) Algorithme List Decoding Dans ce paragraphe on caracteacuterise lalgorithme List Decoding ce qui permet une meilleure compreacutehension de ses potentialiteacutes De maniegravere analogue agrave lalgorithme de Viterbi le premier aspect traiteacute est limportance de lopeacuteration caracteacuterisant lalgorithme List Decoding la propagation de deux chemins agrave partir dun chemin appartenant agrave la liste des chemins les plus prometteurs Cette opeacuteration implique la deacutetermination des eacutetats de meacutemoire des deux chemins ainsi que le calcul de leurs meacutetriques cumuleacutees

Complexiteacute moyenne observeacutee normaliseacutee par le nombre total de chemins prolongeacutes

List Decoding L=128 (12671 propagations)

List Decoding L=64 (6527 propagations)

List Decoding L=32 (3423 propagations)

Complexiteacute de calcul de la proceacutedure de propagation (code C) ()

[WCwOP] [WCwOP] [WCwOP] [WCwOP]Additions 21 21 22 20Increacutementations 65 64 62 60Soustractions 00 00 00 00Multiplications 00 00 00 00Transferts de donneacutees 75 78 83 50Logique 43 45 47 40Deacutecalages 21 20 20 20Controcircles 277 288 310 140Grand total 502 516 544 330

Table 8-2 vue densemble de la complexiteacute de calcul de lalgorithme List Decoding Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122kbps sans proceacutedure de troncation de la meacutemoire () cette proceacutedure implique la deacutetermination de deux nouveaux eacutetats et le calcul des meacutetriques cumuleacutees relatives

Lanalyse de la charge de calcul (Table 8-2) montre que la preacutedominance de lopeacuteration fondamentale de propagation est affaiblie par les opeacuterations de

214

gestion de la liste des L chemins les plus prometteurs Les reacutesultats illustreacutes par la Table 8-2 montrent un rapport entre la complexiteacute totale normaliseacutee et celle de lopeacuteration de propagation de 32 Contrairement agrave lalgorithme de Viterbi la structure algorithmique de la meacutethode List Decoding deacutecompose la proceacutedure de recherche en deux parties distinctes et non-neacutegligeables La premiegravere partie comprend les opeacuterations fondamentales de propagations des chemins Cette partie est la plus complexe (autour de 23 de la complexiteacute totale de calcul Table 8-2) et peut ecirctre implanteacutee de maniegravere parallegravele La seconde partie est responsable de la gestion de la liste de chemins ainsi prolongeacutes Lexeacutecution de cette tacircche est caracteacuteriseacutee par une utilisation seacutequentielle et massive dopeacuterations de controcircles et de transferts de donneacutees La complexiteacute de calcul de cette partie demande un tiers de la complexiteacute totale de calcul Limite infeacuterieure de complexiteacute de calcul de lopeacuteration de propagation La deacutetermination de la limite infeacuterieure de complexiteacute de lopeacuteration de propagation est un eacuteleacutement utile pour la caracteacuterisation algorithmique de la meacutethode Dans ce cas lopeacuteration minimaliste de propagation peut ecirctre repreacutesenteacutee par la seacutequence dopeacuterations suivante

bull chargement de leacutetat de meacutemoire dun chemin contenu dans la liste des chemins agrave prolonger ainsi que sa meacutetrique cumuleacutee (une opeacuteration de controcircle et deux opeacuterations de Transferts de donneacutees)

bull deacutetermination des valeurs des deux nouveaux eacutetats qui sont atteints par la propagation du chemin concerneacute (deux opeacuterations de Transferts de donneacutees)

bull chargement des meacutetriques de branches qui sont coupleacutees aux deux transitions impliqueacutees dans la propagation (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull stockage des valeurs des meacutetriques cumuleacutees et des informations

neacutecessaires agrave la reconstruction des chemins (quatre opeacuterations de Transferts de donneacutees)

La complexiteacute de cette seacutequence dopeacuterations est de 14 wOP En consideacuterant la contribution des autres opeacuterations constituant lalgorithme (estimeacutee agrave 13 de la complexiteacute totale) la limite infeacuterieure de complexiteacute de la meacutethode List Decoding peut ecirctre ainsi estimeacutee agrave 21 wOPchemin propageacute Cette limite permet destimer la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme List Decoding (Section 67) agrave un facteur 2 (Table 8-2)

215

Nombre de cycles dinstructions demandeacutes par limplantation software En tenant compte de la modeacutelisation des algorithmes on procegravede agrave la seconde eacutetape de lestimation du deacutebit de traitement Cette eacutetape implique lestimation du nombre minimal de cycles dinstructions qui sont neacutecessaires au DSP pour laccomplissement de lopeacuteration de deacutecodage Leacuteleacutement crucial de cette estimation est la modeacutelisation du rapport existant entre les opeacuterations deacutefinies par la description des algorithmes et le nombre effectif dinstructions Vu que les complexiteacutes (typiques) de chaque opeacuteration ont deacutejagrave eacuteteacute prises en consideacuteration par les facteurs de pondeacuterations de lITUETSI il reste agrave deacutefinir le degreacute defficaciteacute de la geacuteneacuteration du code Le degreacute defficaciteacute exprime le rapport entre la complexiteacute de calcul et le nombre de cycles dinstructions effectivement neacutecessaires au DSP (wMOPSMIPS) Par conseacutequent le degreacute defficaciteacute nest pas uniquement influenceacute par les caracteacuteristiques techniques du DSP mais aussi par le type de langage utiliseacute par le mode de description (langage agrave haut ou bas niveau) par le style de programmation et par les performances des compilateurs Pour ces raisons les eacutevaluations algorithmiques du Chapitre 6 se sont limiteacutees au comptage des divers types dopeacuterations afin de ne pas se concentrer sur une situation de deacuteveloppement particuliegravere etou une famille DSP speacutecifique

Estimation Contexte de codage Estimation de la

complexiteacute minimale de calcul par opeacuteration fondamentale

Limite infeacuterieure de complexiteacute de calcul par bit du message

Degreacute defficaciteacute de la geacuteneacuteration du code

Nombre de cycles dinstructions neacutecessaires au DSP par bit dinformation

[wOP opeacuteration]

[wOPbit] [wMOPSMIPS] [MIPSbit]

Codeur4eacutetats 11 44 1 1 0044 middot10-3 Codeur16eacutetats 11 176 1 1 018 middot10-3 Codeur64eacutetats 11 704 1 1 070 middot10-3 Codeur256eacutetats 11 2816 1 1 28 middot10-3

Table 8-3 exemple destimation du nombre dinstructions neacutecessaire pour lexeacutecution de lalgorithme de Viterbi Les valeurs sont obtenues agrave partir de lestimation de la complexiteacute minimale de calcul par opeacuteration fondamentale et du degreacute defficaciteacute empirique de 11 wMOPSMIPS

216

Malgreacute la difficulteacute agrave deacutefinir le degreacute defficaciteacute sans speacutecifier un environnement de deacuteveloppement un rapport de conversion wMOPSMIPS de 11 a eacuteteacute choisi pour les comparaisons avec lapproche ASIC En utilisant ce rapport qui repreacutesente une description et une conversion optimale du code software en code binaire la Table 8-3 montre les estimations du nombre de cycles dinstructions neacutecessaires agrave lexeacutecution de lalgorithme de Viterbi dans les quatre contextes de codage (Sous-section 722) Comparaison des deux algorithmes Viterbi vs List Decoding La modeacutelisation des deux algorithmes permet la comparaison des exigences de calcul indeacutependamment du contexte de codage et de la qualiteacute de la description de lalgorithme (Table 8-4)

Estimation Estimation de la complexiteacute de calcul par opeacuteration fondamentale ()

Limite infeacuterieure de complexiteacute de calcul par bit du message

Grade defficaciteacute de la geacuteneacuteration du code

Deacutebit de lapplication

Exemple dapplication dans le contexte UMTS

Contexte de deacutecodage algorithme utiliseacute

[wOPopeacuteration] [wOPbit] [wMOPSMIPS]

Nombre de cycles dinstructions pour lexeacutecution en temps reacuteel

Viterbi 11 2816 1 1 900 MIPS 320kbps

Deacutebit maximal par DPDCH 960kbps (codes Rc=13)

LDecoding L= 64 21 1344 1 1 430 MIPS

Viterbi 11 2816 1 1 34 MIPS 122 kbps

Service de parole agrave 122kbps LDecoding

L= 64 21 1344 1 1 16 MIPS () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-4 exemple destimation du nombre dinstructions demandeacutees par les deux algorithmes dans le contexte du standard UMTS [Ts25212] Les valeurs sont obtenues agrave partir de lestimation de la limite infeacuterieure de complexiteacute de calcul par opeacuteration fondamentale et dun degreacute defficaciteacute de la geacuteneacuteration du code de 11 wMOPSMIPS

A la diffeacuterence de lalgorithme de Viterbi le List Decoding contre-balance lavantage dun reacuteglage du nombre dopeacuterations de propagation par laugmentation de la complexiteacute de calcul de son opeacuteration fondamentale Le

217

changement du type de recherche (du critegravere de seacutelection du chemin survivant agrave la propagation controcircleacutee des chemins) implique le doublement de la complexiteacute de calcul neacutecessaire au traitement de chaque chemin Dans le contexte de codage UMTS (Chapitre 6) la diminution dun facteur 4 du nombre de chemins traiteacutes permet agrave lalgorithme List Decoding de reacuteduire ainsi de moitieacute les exigences de calcul Vitesse dexeacutecution les potentialiteacutes offertes par le DSP La derniegravere eacutetape de lestimation est la conversion du nombre de cycles dinstruction dans le nombre de peacuteriodes dhorloge du DSP Cette eacutetape de lestimation implique la prise en compte des caracteacuteristiques et des potentialiteacutes propres agrave chaque DSP

Familles DSP (hiver 2002-03) StarCore SC140

Texas Instruments TMS320C64x

Texas Instruments TMS320C62x

Texas Instruments TMS320C54x

Analog Devices 219x

Freacutequence dhorloge maximale

300 MHz 600 MHz 300 MHz 160 MHz 160 MHz

Nombre duniteacutes fonctionnelles

4 8 8 1 1

MIPS maximal (deacuteclareacute)

1200 MIPS 4800 MIPS 2400 MIPS 160 MIPS 160 MIPS

SIMD 2x16-bit 4x8-bit 4x8-bit - -Uniteacutes ou instructions facilitant lexeacutecution de la tacircche de deacutecodage

Instructions speacutecifiques facilitant limplantation de lalgorithme de Viterbi

TMS320C6416Coprocesseur deacutedieacute agrave lexeacutecution de lalgorithme de Viterbi (VCP)

- Uniteacute speacuteciale Compare Select and Store Unit (CCSU)

-

Table 8-5 vue densemble des caracteacuteristiques et des potentialiteacutes de certaines familles DSP Lexploitation optimale de la redondance des uniteacutes fonctionnelles et lexploitation des uniteacutes speacuteciales neacutecessite lemploi du langage agrave bas niveau propre au DSP Les donneacutees de cette table proviennent des sites Internet des fabricants (situation hiver 2002-03)

218

Lexeacutecution des opeacuterations de deacutecodage est influenceacutee par larchitecture interne du DSP ainsi que par la redondance des uniteacutes fonctionnelles et par la disponibiliteacute duniteacutes speacuteciales Les structures des deux algorithmes permettent en effet une exeacutecution parallegravele dopeacuterations ainsi que la concateacutenation dinstructions Au contraire des beacuteneacutefices apporteacutes par les architectures classiques des DSP (qui sont consideacutereacutes agrave laide des fonctions Basic Operations) les contributions apporteacutees par la redondance des uniteacutes et la disponibiliteacute duniteacutes speacuteciales ne sont pas facilement geacuteneacuteralisables Exemples caracteacuteristiques Afin de prendre connaissance des potentialiteacutes des familles DSP un groupe restreint de DSP sont utiliseacutes agrave titre dexemple (Table 8-5) Ce groupe de DSP est caracteacuteriseacute par diffeacuterentes freacutequences dhorloge ainsi que par une varieacuteteacute en termes de redondance et doffre duniteacutes speacuteciales Larticle de M Du [DuAz00] traite de limplantation optimale de lalgorithme de Viterbi exploitant les potentialiteacutes de ces DSP (Table 8-6) Bien que le contexte de codage consideacutereacute dans larticle (code convolutif avec longueur K=5 et rendement Rc=12) diffegravere de ceux traiteacutes dans cette eacutetude les reacutesultats de cet article permettent une prise de connaissance des contributions des moyens speacuteciaux mis agrave disposition par certains DSP (Table 8-7) Lefficaciteacute des moyens speacuteciaux des DSP est prouveacutee en observant les reacutesultats de lestimation de la Table 8-6 tout en consideacuterant une complexiteacute de calcul minimale de 10 wOP pour lopeacuteration de seacutelection dun chemin survivant La disponibiliteacute duniteacutes redondantes et de fonctions SIMD permet tout dabord une implantation parallegravele des opeacuterations en tirant profit de la structure reacuteguliegravere et parallegravele des algorithmes On trouve par exemple le DSP StarCore SC140 et les familles DSP de Texas Instruments TMS320C62x et C64x Une reacuteduction du nombre de cycles est eacutegalement reacutealisable en disposant duniteacutes speacuteciales de traitement (exemple le DSP StarCore SC140 et la famille DSP de Texas Instruments TMS320C54x) Toutefois ces uniteacutes sadressent speacutecifiquement agrave lexeacutecution de lalgorithme de Viterbi limplantation dautres meacutethodes de deacutecodage ne beacuteneacuteficie que partiellement de ces moyens speacuteciaux

219

DSP

Nom

bre

dun

iteacutes

fonc

tionn

elle

s

Nom

bre

indi

catif

de

peacuteri

odes

d

horl

oge

pour

la p

roceacute

dure

de

seacutele

ctio

n d

un se

ul c

hem

in

surv

ivan

t () [D

uAz0

0]

Tec

hnol

ogie

Ten

sion

da

limen

tatio

n du

co

re

Vite

sse

max

imal

e de

la

fam

ille

DSP

[B

DT

i2]

Est

imat

ion

du te

mps

neacute

cess

aire

agrave l

exeacutec

utio

n d

une

opeacuter

atio

n de

seacutele

ctio

n

(est

imat

ion

opeacuter

atio

nss

)

TMS320 C64x 8 () 088 012 microm 14 V 600 MHz 147 ns

(680 MHz)StarCore SC140 4 () 063 15 V 300 MHz 210 ns

(470 MHz)TMS320 C62x 8 () 239 015 microm 15 V 300 MHz 797 ns

(125 MHz)TMS320 C54x 1 () 384 16 V 160 MHz 240 ns

(40 MHz)

Table 8-6 vue densemble des potentialiteacutes offertes par lutilisation optimale des ressources structurelles et fonctionnelles de certaines familles DSP () Ces valeurs sont indicatives elles ont eacuteteacute extraites dun autre contexte de codage (code convolutif avec longueur de contrainte K=5 et rendement Rc=12) preacutesenteacute par larticle de M Du [DuAz00]

Estimation

Temps neacutecessaire au traitement dun bit dinformation (estimation bitss)

DSP

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

TMS320C64x 59 ns(170 Mbps)

23 ns(43 Mbps)

94 ns (11 Mbps)

375 ns(26 Mbps)

StarCore SC140 84 ns(120 Mbps)

34 ns(29 Mbps)

134 ns (75 Mbps)

538 ns(19 Mbps)

TMS320C62x 32 ns(31 Mbps)

127 ns(79 Mbps)

510 ns (20 Mbps)

2040 ns(05 Mbps)

TMS320C54x 96 ns(10 Mbps)

384 ns(26 Mbps)

1536 ns (07 Mbps)

6150 ns(02 Mbps)

Table 8-7 estimation des potentialiteacutes de traitement quon peut obtenir en exploitant les ressources structurelles et fonctionnelles des DSP Lestimation se base sur les informations extraites de larticle de M Du (Table 8-6) [DuAz00]

220

La freacutequence dhorloge des DSP influence ensuite le temps dexeacutecution des opeacuterations de deacutecodage Ceci est eacutevident en comparant le temps de traitement estimeacute du DSP StarCore SC140 et du TMS320C64x si le premier DSP optimise le nombre de peacuteriodes en exploitant au mieux tous les moyens structurels et hardwares disponibles le second atteint de meilleures performances en beacuteneacuteficiant dune freacutequence dhorloge nettement supeacuterieure

822 Approche ASIC

Les potentialiteacutes de deacutebit de traitement dune reacutealisation ASIC sont deacutetermineacutees par les performances de luniteacute ACSu qui est chargeacutee de la seacutelection des chemins survivants

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Synopsys Design Compiler (apregraves synthegravese)

(estimation du nombre de bits traiteacute par seconde apregraves routage)() Uniteacute TBu

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Structure seacutequentielle δp =45

Structure pipeline

estimation Codeur4eacutetats 039 ns

(1300 Mbitss) 237 ns

(210 Mbitss)224 ns

(220 Mbitss)1308 ns

(38 Mbitss) 061 ns

(820 Mbitss)Codeur16eacutetats 092 ns

(540 Mbitss) 257 ns

(190 Mbitss)542 ns

(92 Mbitss)5995 ns

(8 Mbitss) 116 ns

(430 Mbitss)Codeur64eacutetats 158 ns

(320 Mbitss) 340 ns

(150 Mbitss)1060 ns

(47 Mbitss)8817 ns

(6 Mbitss) 187 ns

(270 Mbitss)Codeur256eacutetats 181 ns

(280 Mbitss) 432 ns

(120 Mbitss)1535 ns

(33 Mbitss)11357 ns

(4 Mbitss) 209 ns

(240 Mbitss)() Perte de compeacutetitiviteacute estimeacutee agrave un facteur 2

Table 8-8 vue densemble des valeurs concernant le temps dexeacutecution des divers modules

Les performances du circuit de base sont tout dabord deacutetermineacutees par la reacutealisation des uniteacutes responsables de la prise de deacutecision (Table 8-8) Bien que leacutetude de la Section 73 se concentre sur lexeacutecution seacutequentielle et continue de cette opeacuteration de deacutecision des solutions envisageant une augmentation du deacutebit de traitement sont reacutealisables Une prise de deacutecision multiple lutilisation des structures pipeline et les techniques utilisant le deacutecodage dun chemin survivant quelconque permettent en effet de reacuteduire sensiblement le temps dexeacutecution des tacircches de ces uniteacutes TBu et BPS Ce faisant la reacutealisation de luniteacute ACSu devient leacuteleacutement crucial caracteacuterisant le potentiel de deacutebit de traitement du systegraveme

221

La reacutealisation de luniteacute ACSu du systegraveme emploie une strateacutegie classique

bull Lopeacuteration de mise agrave jour des deux meacutetriques cumuleacutees et la comparaison suivante sont exeacutecuteacutees de maniegravere individuelle lune apregraves lautre et

bull La reacutealisation physique utilise seulement des blocs de logiques standards

Une ameacutelioration ulteacuterieure du deacutebit de traitement peut ecirctre atteinte par dautres strateacutegies de reacutealisation plus performantes et par la concateacutenation des opeacuterations de seacutelection du chemin survivant ([Fett90] [Kapp92] et [Saou02])

823 Comparaison des potentialiteacutes de deacutebit de traitement des deux approches

Le premier facteur causant une perte importante de compeacutetitiviteacute est la divergence entre la modaliteacute dexeacutecution (parallegravele ou seacutequentielle) et les caracteacuteristiques algorithmiques de la meacutethode de deacutecodage Lutilisation dune technologie plus performante favorise ensuite la rapiditeacute de traitement Les deux meacutethodes de deacutecodage montrent de fortes composantes parallegraveles ainsi que seacutequentielles En ce qui concerne lalgorithme de Viterbi lopeacuteration de seacutelection des 2(K-1) chemins survivants montre une structure reacuteguliegravere et parallegravele alors que lopeacuteration de prise de deacutecision demande une exeacutecution seacutequentielle Lanalyse du temps neacutecessaire agrave lexeacutecution de lopeacuteration de seacutelection dun chemin survivant illustre la perte de compeacutetitiviteacute due agrave une exeacutecution entiegraverement seacutequentielle de cette opeacuteration fondamentale (Figure 8-1) La disponibiliteacute dun traitement parallegravele indeacutependamment du type dapproche hardware et software permet lexploitation du paralleacutelisme implicite dans lopeacuteration Aux extrecircmes on trouve ainsi lapproche ASIC (qui exploite exhaustivement le paralleacutelisme disponible) et la famille de DSP AD219x (qui ne dispose ni de traitements redondants ni duniteacutes speacuteciales facilitant limplantation de lalgorithme) La Figure 8-1 montre aussi la contribution de la technologie sur le temps dexeacutecution de lopeacuteration (TMSC64x technologie 012 TMSC62x technologie 015 Table 8-6) Le deacutebit de traitement du systegraveme est deacutetermineacute par lexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant ainsi que de lopeacuteration de prise de deacutecision (Figure 8-2)

222

Gracircce agrave sa nature lapproche ASIC peut exploiter exhaustivement le paralleacutelisme de lalgorithme reacuteduisant ainsi le temps dexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant Les approches software peuvent reacuteduire la perte de compeacutetitiviteacute dune exeacutecution seacutequentielle des opeacuterations en utilisant des DSP qui disposent duniteacutes fonctionnelles redondantes dinstructions SIMD duniteacutes de traitement speacuteciales ainsi que de performances supeacuterieures dues agrave une technologie plus compeacutetitive Le prix agrave payer est le renoncement progressif agrave une description souple de lalgorithme et agrave lutilisation dun langage agrave haut niveau

0

10

20

30

40

50

60

70

Tem

ps d

exeacute

cutio

n po

ur l

opeacuter

atio

n A

CS

[ns]

AS

IC 4

eacuteta

ts

AS

IC 1

6 eacutet

ats

AS

IC 6

4 eacutet

ats

AS

IC 2

56 eacute

tats

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es21

9x

Figure 8-1 comparaison du temps neacutecessaire agrave lexeacutecution dune tacircche de seacutelection (ACS) en fonction de lapproche suivie En vert sont repreacutesenteacutees les reacutealisations ASIC (systegraveme de base) en bleu les eacutevaluations dimplantations software sur DSP (baseacutees sur les implantations assembleur de larticle [DuAz00] Table 8-6) Le temps dexeacutecution relatif agrave la famille de DSP 219x de Analog Devices se base sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS (10 wOP 11 wMOPSMIPS) implantation qui ne dispose ni duniteacutes speacuteciales ni de fonctions deacutedieacutees facilitant limplantation de lalgorithme de Viterbi

223

La Figure 8-2 met en eacutevidence les limites du systegraveme de deacutecodage hardware deacutecrit dans le Chapitre 7 Lexeacutecution seacutequentielle de lopeacuteration de prise de deacutecision limite le deacutebit de traitement du systegraveme entier (Table 8-8) diminuant leacutecart de performances avec les implantations software les plus compeacutetitives Une reacutealisation diffeacuterente de cette opeacuteration (par exemple une prise de deacutecision multiple ou une strateacutegie dexeacutecution pipeline) permet agrave nouveau de beacuteneacuteficier des importantes potentialiteacutes de lapproche mateacuterielle (Figure 8-2)

AS

IC m

ax

AS

IC s

ystb

ase

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es 2

19x

codeur256eacutetatscodeur64eacutetatscodeur16eacutetatscodeur4eacutetats

0

50

100

150

200

250

Deacuteb

it de

trai

tem

ent [

Mbp

s]

Figure 8-2 vue densemble des potentialiteacutes de deacutebit de traitement Les solutions eacutevalueacutees sont une reacutealisation ASIC caracteacuteriseacutee seulement par lopeacuteration ACS 51 (max) le systegraveme de base et les implantations software sur DSP de larticle de M Du [DuAz00] (Table 8-8) Les potentialiteacutes de la famille de DSP 219x de Analog Devices se basent sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS de 10 wOP avec une efficaciteacute de 11 wMOPSMIPS

51 Solution impliquant soit une prise de deacutecision multiple de plusieurs bits dinformations

(Annexe C Figure C-8) soit lexeacutecution pipeline de lopeacuteration de prise de deacutecision

224

83 Dissipation deacutenergie par symbole traiteacute

Cette section traite de la dissipation deacutenergie Lestimation des valeurs de dissipation de lapproche software se base toujours sur leacutevaluation du nombre de cycles dinstructions qui sont neacutecessaires au DSP pour accomplir la tacircche attribueacutee Par contre les estimations relatives agrave lapproche hardware utilisent les reacutesultats de synthegravese du systegraveme de base

831 Approche software

Une estimation de la dissipation deacutenergie neacutecessite la connaissance du nombre dinstructions exeacutecuteacutes ainsi que les valeurs de dissipation typique de chaque classe dinstruction du DSP Par conseacutequent deux eacuteleacutements entrent en jeu dans ce type destimation les instructions du code binaire et les caracteacuteristiques de consommation des opeacuterations du DSP Si le premier eacuteleacutement peut ecirctre estimeacute par le comptage des Basic Operations la caracteacuterisation de la consommation des diffeacuterentes opeacuterations est difficile Non seulement il sagit dinformations sensibles (et donc difficiles agrave obtenir des fabriquants et aussi difficiles agrave veacuterifier) mais elles varient sensiblement de DSP en DSP Eacutevaluation simplifieacutee Ne disposant pas de ces informations la meacutethode deacutevaluation choisie estime le nombre total de cycles dinstructions neacutecessaires agrave lexeacutecution de la tacircche nombre qui est ensuite pondeacutereacute par une valeur typique de dissipation deacutenergie Le point critique de cette eacutevaluation est uniquement la deacutetermination de la valeur de dissipation typique par cycle dinstruction Par contre la simplification de la meacutethode deacutevaluation rend impossible lappreacuteciation dune implantation utilisant des instructions agrave faible consommation Afin dexplorer de maniegravere correcte les potentialiteacutes des DSP on analyse la consommation typique des familles de DSP agrave basse consommation Plus preacuteciseacutement la consommation deacutenergie par instructions Multiply-Accumulate

225

(MuAcc)52 [Gath02] de la classe de DSP agrave basse consommation du fabricant Texas Instruments (Figure 8-3)

1982 1994 1997 2000199119881985

100

001

01

1

10

100032010 5V

C15 5VC25 5V

C15 33V C52 5V

C52 33V C548 33VC5410 25V

C5409 18VC5402 12V

C5510 15V

anneacutee

mW

MM

uAcc

s

Figure 8-3 tendance agrave la reacuteduction de la dissipation deacutenergie par million dinstructions MuAccs de DSP agrave basse consommation de Texas Instruments [Gath02]

Lobservation de ces valeurs de dissipation met en eacutevidence la tendance agrave la reacuteduction de moitieacute de la consommation deacutenergie (par instructions Multiply-Accumulate) chaque 18 mois En supposant ainsi une valeur de dissipation typique par instruction eacutegale agrave la consommation de linstruction Multiply-Accumulate une valeur de 01mWMIPS peut ecirctre utiliseacutee agrave titre de reacutefeacuterence indeacutependamment de la puissance de calcul offerte par cette classe de DSP agrave basse consommation Lanalyse des Table 8-1 et Table 8-2 montre que les descriptions algorithmiques des algorithmes de Viterbi et de List Decoding nutilisent pas dopeacuterations coucircteuse comme la multiplication On pourrait ainsi supposer que lutilisation geacuteneacuteraliseacutee de cette valeur de reacutefeacuterence puisse mener agrave une estimation surdimensionneacutee de la consommation deacutenergie Par conseacutequent on preacutevoit une seconde eacutevaluation utilisant une valeur de reacutefeacuterence moins oneacutereuse

52 Une opeacuteration Multiply-Accumulate consiste en le chargement de deux opeacuterandes

depuis la meacutemoire lexeacutecution de la multiplication (Multiply and Accumulate MuAcc) et la sauvegarde successive du reacutesultat dans la meacutemoire [Gath02]

226

Modegraveles destimation de la consommation agrave borne maximale et agrave borne minimale La Table 8-9 montre les reacutesultats de deux modegraveles destimation de la dissipation deacutenergie par opeacuteration de seacutelection du chemin survivant (algorithme de Viterbi) et de propagation dun chemin (List Decoding) Ces modegraveles se basent sur leacutevaluation du nombre dinstructions exeacutecuteacutees par le DSP nombre qui est ensuite pondeacutereacute par lestimation de la consommation deacutenergie typique par instruction

Estim

atio

n de

la c

ompl

exiteacute

de

cal

cul d

e lo

peacutera

tion

fond

amen

tale

()

Deg

reacute d

effic

aciteacute

de

lim

plan

tatio

n

Dis

sipa

tion

typi

que

par

cycl

e d

inst

ruct

ion

exeacutec

uteacute

Dis

sipa

tion

deacuten

ergi

e de

lo

peacutera

tion

fond

amen

tale

() Classe de DSP

Alg

orith

me

[wOP opeacuteration]

[wMOPS MIPS]

[mW MIPS]

[nJ opeacuteration] Mod

egravele

des

timat

ion

de la

co

nsom

mat

ion

Viterbi 10 100 DSP agrave basse consommation conccedilu pour un large usage List Dec 14

11 01 140

A borne maximale

(max)

Viterbi 10 013 DSP agrave basse consommation offrant des instructions SIMD et des uniteacutes speacuteciales List Dec 14

41 005 018

A borne minimale

(min) () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-9 Estimations des valeurs de dissipation deacutenergie pour une implantation software des opeacuterations fondamentales des deux algorithmes lopeacuteration de seacutelection du chemin survivant et de propagation

Le premier modegravele destimation (deacutenommeacute agrave borne maximale) repreacutesente le contexte dune implantation optimale des opeacuterations fondamentales sur un DSP classique agrave basse consommation Dans ce contexte le DSP ne dispose ni de fonctions SIMD ni duniteacutes speacuteciales pour le traitement de lalgorithme de Viterbi La redondance des uniteacutes arithmeacutetiques ninfluence pas la consommation totale deacutenergie

227

Le second modegravele deacutevaluation prend en compte le contexte dun DSP qui dispose de moyens facilitant lexeacutecution des opeacuterations fondamentales (fonctions SIMD et uniteacutes speacuteciales) Par conseacutequent lestimation du nombre dinstructions a eacuteteacute reacuteduite dun facteur 4 en supposant que le degreacute defficaciteacute dimplantation seacutelegraveve agrave 41 wMOPSMIPS Ce facteur indique lordre de grandeur de la reacuteduction reacutealisable par lutilisation dinstructions SIMD et duniteacutes speacuteciales (observation des cas illustreacutes par la Table 8-6) En effet les algorithmes consideacutereacutes ne comprenant pas dopeacuterations coucircteuses en consommation il est possible de reacuteduire la valeur de dissipation de reacutefeacuterence La valeur de dissipation est ainsi reacuteduite (arbitrairement) de moitieacute en reconnaissant la difficulteacute destimation de la reacuteduction apporteacutee par lutilisation duniteacutes speacuteciales

Opeacuteration fondamentale (1) (partie parallegravele)

Partie seacutequentielle des algorithmes ()

Systegraveme entier

Dissipation deacutenergie

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Algorithme

Complexiteacute

Max Min (2)

Complexiteacute normaliseacutee par nombre dopeacuterations fondamentales (1)

Max Min (3) Max Min

Viterbi 10wOP 10 nJ 013 nJ 1 wOPACS 010 nJ 005 nJ 11 nJ 018 nJList Dec 14wOP 14 nJ 018 nJ 7 wOPprop 070 nJ 035 nJ 21 nJ 053 nJ(1) Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding (2) 41 wMOPSMIPS 005 mWMIPS (3) 11 wMOPSMIPS 005 mWMIPS

Table 8-10 Estimation des valeurs de dissipation deacutenergie demandeacutee par les implantations des algorithmes de Viterbi et List Decoding Les paramegravetres de ces estimations sont illustreacutes dans la Table 8-9 () Lexeacutecution de ces opeacuterations ne peut pas beacuteneacuteficier de moyens permettant une reacuteduction du nombre dinstructions tels que des uniteacutes speacuteciales et des fonctions SIMD

A partir de ces modegraveles destimation la Table 8-10 preacutesente lestimation de la dissipation totale deacutenergie par bit dinformation Ces estimations mettent en eacutevidence les avantages de lexploitation des composantes parallegraveles des algorithmes Le paralleacutelisme algorithmique permet lutilisation de fonctions SIMD ce qui reacuteduit le nombre dinstructions neacutecessaires au traitement dun bit dinformation Les performances de lalgorithme List Decoding sont en effet peacutenaliseacutees par son importante composante seacutequentielle Ensuite sa diffeacuterence algorithmique empecircche

228

lexploitation des uniteacutes speacuteciales deacutedieacutees au traitement de lalgorithme de Viterbi Il faut toujours se rappeler que ces estimations (Table 8-10) se basent sur le nombre minimal dinstructions neacutecessaires agrave lexeacutecution des opeacuterations fondamentales et sur le rapport (observeacute) entre la complexiteacute de calcul de ces opeacuterations et la complexiteacute totale du systegraveme (Table 8-1 et Table 8-2)

832 Approche ASIC

Contrairement agrave lapproche software lestimation de la dissipation deacutenergie de lapproche ASIC dispose dinformations sur la structure le nombre les types et les valeurs de dissipation de tous les eacuteleacutements logiques et de stockage utiliseacutes

Contexte de codage Codeur256eacutetats

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Estimation de Design Compiler utilisant les reacutesultats des simulations effectueacutees avecModelSim

Estimation de Synopsys Design Compiler Sans erreurs Erreurs Seulement 0

BMu 01 mW 01 mW 01 mW 00 mWACSu 190 mW 217 mW 224 mW 105 mWBPS 49 mW 59 mW 52 mW 01 mWTBu 578 mW 399 mW 365 mW 21 mW

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 68 mW 64 mW 13 mWCourant de fuite statique (Leakage)

21 mW

Table 8-11 estimations de la dissipation deacutenergie dans le contexte de codage codeur256 Les conditions et les hypothegraveses de travail des diverses estimations sont deacutecrites dans la Table 8-12

Incertitudes les taux dactiviteacutes des blocs et la contribution des interconnexions Une incertitude affecte (potentiellement) lestimation de la dissipation deacutenergie la variation des taux dactiviteacute des divers modules Comme citeacute

229

dans le chapitre preacuteceacutedent les taux dactiviteacute varient en fonction de plusieurs facteurs tels que le taux dactiviteacute du symbole reccedilu les fonctions geacuteneacuteratrices la repreacutesentation numeacuterique des meacutetriques de branche et cumuleacutees la preacutesence derreurs de transmission et certains choix techniques (fonctions de seacutelection proceacutedure de prise de deacutecision) Etant donneacute que certains facteurs sont fixeacutes lors de la conception du circuit on veut analyser linfluence des facteurs externes sur la dissipation deacutenergie Ainsi quatre eacutevaluations ont eacuteteacute effectueacutees afin de situer limportance des variations de dissipation deacutenergie (Table 8-11 et Table 8-12) Estimation Conditions et hypothegraveses des estimations Synopsys Estimation effectueacutee par Synopsys Design Compiler en labsence

dinformation sur les taux dactiviteacute des blocssignaux La situation suivante a eacuteteacute consideacutereacutee Signal de remise agrave zeacutero (reset) changeant de valeur chaque 2egraveme cycles dhorloge (P[1]=05 Activiteacute=05) Bits du symbole reccedilu (in_data) changeant de valeur chaque 2 egraveme cycles dhorloge (P[1]=05 Activiteacute=05)

Estimation effectueacutee par Synopsys Design Compiler en se basant sur les reacutesultats dune simulation effectueacutee agrave laide de loutil Modelsim (Model Technology Incorporated) Sans erreurs Codage dun flux de 1000 bits dinformation qui ont eacuteteacute geacuteneacutereacutes de maniegravere

aleacuteatoire (P[1]=048 Activiteacute=047) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Erreurs Geacuteneacuteration de symboles dentreacutee (in_data) de maniegravere aleacuteatoire et indeacutependante premier bit (LSB) P[1]=049 Activiteacute=045 second bit P[1]=051 Activiteacute=044 troisiegraveme bit (MSB) P[1]=049 Activiteacute=043 Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Seulement 0 Codage dun flux de 1000 bits dinformation bits constitueacutes seulement par des zeacuteros (P[1]=00 Activiteacute=00) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Table 8-12 conditions et hypothegraveses prises en compte par les estimations de dissipation deacutenergie effectueacutees Leacutegende P[1] symbolise la probabiliteacute que le bit soit eacutegal agrave 1 activiteacute indique le nombre de transitions par cycle dhorloge

Quatre situations particuliegraveres sont consideacutereacutees (Table 8-12)

bull une situation dabsence dinformations sur les signaux dentreacutee (eacutevaluation nommeacutee Synopsys)

bull une transmission de donneacutees en labsence derreurs (Sans erreurs)

230

bull une transmission extrecircmement perturbeacutee et domineacutee par les erreurs de transmission (Erreurs)

bull le codage dune seacutequence de bits dinformation impliquant une invariabiliteacute du symbole de sortie (Seulement 0)

Il en deacutecoule que labsence dinformation sur lactiviteacute des symboles reccedilus et du signal de remise agrave zeacutero a geacuteneacutereacute une eacutevaluation (Synopsys) plus seacutevegravere par rapport aux autres cas simuleacutes (Table 8-11) Par contre linfluence des erreurs de transmission sur la dissipation deacutenergie est faible laugmentation de la consommation deacutenergie du module ACSu eacutetant limiteacutee par rapport agrave la consommation totale Dans la derniegravere situation consideacutereacutee (estimation Seulement 0) lactiviteacute des modules se reacuteduit au minimum avec des valeurs de dissipation deacutenergie extrecircmement basses Cette situation dinvariabiliteacute des symboles geacuteneacutereacutes est bien entendu reacuteelle toutefois rare si lon suppose leacutequiprobabiliteacute des messages transmis Pour prendre en consideacuteration un plus large spectre dapplications les valeurs de dissipation de leacutevaluation plus seacutevegravere (eacutevaluation Synopsys Table 8-12) sont utiliseacutees dans la suite du document (Table 8-13) Virtual Silicon Technology VST25 UMC25 025microm

Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats BMu 81 microW 203 microW 55 microW 01 mWACSu 2435 microW 11 mW 49 mW 190 mWBPS 239 microW 02 mW 09 mW 49 mWTBu 5706 microW 22 mW 102 mW 578 mW

Dis

sipa

tion

inteacute

rieur

e

Total 846 microW 3 mW 16 mW 82 mWConsommation due au courant de fuite statique (Leakage)

21 microW 97 microW 466 microW 21 mW

Table 8-13 dissipations deacutenergie des modules selon les divers contextes de codage Evaluation Synopsys (Table 8-12)

Actuellement on dispose de toutes les informations des eacuteleacutements de conception du systegraveme de deacutecodage Afin deffectuer une comparaison objective on doit consideacuterer aussi les effets dus au placement des eacuteleacutements et

231

du routage En ne disposant pas de reacutesultats de routage les effets des interconnexions sont pris en compte avec une pondeacuteration arbitraire par un facteur deux (Table 8-14)

Contexte de codage Codeur256eacutetats Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Module Estimation de

Synopsys Design Compiler Cycle dhorloge de 50ns

Dissipation deacutenergie par cycle dhorloge

Estimation de la dissipation deacutenergie de la reacutealisation mateacuterielle (x2)

BMu 01 mW 50 pJ 10 pJACSu 190 mW 10 nJ 19 nJBPS 49 mW 02 nJ 05 nJTBu 578 mW 29 nJ 58 nJ

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 41 nJ 82 nJ

Table 8-14 estimation de la consommation deacutenergie par cycle dhorloge agrave partir des valeurs de dissipation inteacuterieure Evaluation Synopsys (conditions Table 8-12)

Aspect de la faible consommation Les moyens pour atteindre une faible consommation sont dabaisser autant que possible la freacutequence de travail la capaciteacute eacutequivalente et surtout la tension dalimentation [Heub97] Ainsi en beacuteneacuteficiant de la relation existante entre la freacutequence de travail et la tension dalimentation le renoncement (partiel) agrave une vitesse dexeacutecution eacuteleveacutee en reacuteduisant la tension dalimentation est une solution extrecircmement rentable en termes deacuteconomie deacutenergie Cette strateacutegie permet de reacuteduire efficacement la dissipation deacutenergie dynamique par bit la Table 8-15 montre leacutevaluation de leacuteconomie deacutenergie obtenue par une reacuteduction de moitieacute de la tension dalimentation En ce qui concerne sa faisabiliteacute les deacutebits de traitement montreacutes par le systegraveme de base (Table 8-8) permettent denvisager concregravetement cette solution surtout en consideacuterant les importantes potentialiteacutes apporteacutees par lapproche pipeline dans la reacutealisation du module TBu

232

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

Dissipation deacutenergie par peacuteriode

Evaluation de Synopsys Design Compiler pondeacutereacutee par un facteur 2 (estimation des effets dus au routage)

Estimation dune reacuteduction de moitieacute de la tension dalimentation (112 V)

Codeur4eacutetats 008 nJ 002 nJ Codeur16eacutetats 03 nJ 008 nJ Codeur64eacutetats 16 nJ 04 nJ Codeur256eacutetats 82 nJ 2 nJ

Table 8-15 Estimation de la variation de la dissipation deacutenergie lors dune reacuteduction de la tension dalimentation Ces eacutevaluations se basent sur lhypothegravese quune reacuteduction de moitieacute de la tension dalimentation permet de baisser de la consommation dun facteur quatre

833 Comparaison des dissipations deacutenergie des deux approches software et hardware

La comparaison des deux approches montre que le seul moyen que lapproche software possegravede pour se rendre plus concurrentiel est la geacuteneacuteration dun code binaire optimal Ceci est possible agrave laide de fonctions SIMD et duniteacutes deacutedieacutees au traitement de lalgorithme de Viterbi (Figure 8-4 et Figure 8-5) Opeacuteration fondamentale de seacutelection du chemin survivant (ACS) La structure algorithmique de lalgorithme de Viterbi se concentre autour de cette opeacuteration particuliegravere La reacutealisation mateacuterielle ainsi que limplantation software de cette opeacuteration caracteacuterisent les systegravemes correspondants Lopeacuteration de seacutelection du chemin survivant est simple autant que particuliegravere il sagit en fait dune double addition suivie par une comparaison des valeurs obtenues Limplantation software se trouve ainsi dans une situation deacutefavorable en raison dune discordance entre la particulariteacute de cette opeacuteration et le mode dexeacutecution classique des DSP Cette situation implique un nombre supeacuterieur dinstructions qui dans le contexte dune opeacuteration simple entraicircne une perte de compeacutetitiviteacute et une dissipation supeacuterieure deacutenergie

233

0001020304050607080910

Dis

sipa

tion

deacuten

ergi

e pa

r op

eacuterat

ion

AC

S [n

JA

CS]

AS

IC 2

56eacutet

ats

6 b

its

113

V

AS

IC 2

56eacutet

ats

6 b

its

225

V

DS

P agrave

bas

seco

nsom

mat

ion

speacutec

ialis

eacute 2

x8bi

ts lt

15

V

min

DS

P agrave

bas

seco

nsom

mat

ion

16 b

its lt

15

V

max

Figure 8-4 comparaison des valeurs estimeacutees de dissipation deacutenergie des approches software (Table 8-10) et ASIC (Table 8-14) Lopeacuteration analyseacutee est lopeacuteration ACS de lalgorithme de Viterbi Les informations de ces opeacuterations indiquent lapproche la situation consideacutereacutee le nombre de bits assigneacutes agrave la repreacutesentation des meacutetriques cumuleacutees la tension dalimentation et le type destimation

Consommation deacutenergie du deacutecodeur de Viterbi Lalgorithme de Viterbi est caracteacuteriseacute par une seacuteries dopeacuterations indeacutependantes de seacutelection des chemins survivants suivies par une opeacuteration iteacuterative de prise de deacutecision En termes de deacutebit de traitement et de dissipation deacutenergie un circuit programmable agrave large usage est eacutevidemment moins performant agrave un circuit adapteacute aux particulariteacutes de ce type dalgorithme Sur le plan de la reacuteduction de la consommation deacutenergie cette perte initiale de compeacutetitiviteacute des approches softwares peut ecirctre partiellement combleacutee tout dabord par la disponibiliteacute (et le constant renouvellement) de DSP agrave basse consommation reacutealiseacutes avec des technologies toujours plus avanceacutees Ensuite les uniteacutes speacuteciales de traitement et les instructions SIMD permettent une exeacutecution plus efficace des opeacuterations particuliegraveres et reacutepeacutetitives constituant lalgorithme de Viterbi (Figure 8-4)

234

Figure 8-5 tendance de la dissipation deacutenergie de lalgorithme de Viterbi

Il est ainsi eacutevident que gracircce agrave une adaptabiliteacute optimale aux caracteacuteristiques particuliegraveres de lalgorithme de Viterbi lapproche ASIC offre toujours les meilleures potentialiteacutes en termes de reacuteduction de consommation (Figure 8-5) Cette caracteacuteristique est surtout appreacutecieacutee (et dans certains cas indispensable) dans le contexte de la communication mobile (Table 8-16)

Estimation du nombre de bits potentiellement traitables en disposant de maniegravere exclusive de toute leacutenergie [bits]

Tension

Capaciteacute typique

Approche DSP

consommation

Approche ASIC

Accumulateur

[V] [Ah] Max Min Ni-MH type AA 12 15 002middot1012 01middot1012 3middot1012 Ni-MH type AAA 12 07 001middot1012 07middot1012 1middot1012

Table 8-16 potentialiteacutes et performances indicatives des deux approches en consideacuterant le contexte de codage de la communication mobile UMTS Les valeurs de consommation ont eacuteteacute extraites de la Table 8-10 et la Table 8-15)

235

84 Surface de silicium

Le dernier aspect traiteacute est la surface de silicium des circuits qui a une incidence sur les coucircts de fabrication et sur la faciliteacute dincorporer la fonction dans des systegravemes inteacutegreacutes (System On Chip SoC) Lobjectif principal de cette analyse est la comparaison de la surface de silicium neacutecessaire agrave la reacutealisation dun circuit deacutedieacute qui exploite exhaustivement le paralleacutelisme de lalgorithme de Viterbi avec la surface dun processeur versatile et geacuteneacuterique qui montre un degreacute de paralleacutelisme reacuteduit et limiteacute au strict neacutecessaire Fabriquant DSP Normalement

disponible comme (chipcore)

Agere Systems DSP16xxx chip Analog Devices ADSP-21xx ADSP-219x ADSP-2153x ADSP-

TS101S chip

ARM ARM7 ARM9 ARM9E core 3DSP SP-5 core DSP Group OakDSPCore TeakLite Teak PalmDSPCore core Hitachi SH-DSP SH3-DSP chip Hitachi STMicroelectronics

SH4ST40 SH5ST50 chip et core

TriCore 1 chip et core Infineon Carmel 10xx core

LSI Logic LSI140xX chip et core Motorola DSP563xx DSP568xxDSP5685x chip StarCore MSC8101 StarPro2000 chip Texas Instruments TMS320C2xx TMS320C28xx TMS320C54xx

TMS320C55xx TMS320C62xx TMS320C64xx chip

Table 8-17 processeurs agrave virgule fixe livrables en 2002 [BDTi2]

841 Processeurs DSP

La caracteacuterisation de la surface typique des DSP est dabord rendue difficile par la non-homogeacuteneacuteiteacute des nombreux DSP preacutesents dans le marcheacute (Table 8-17) Cette non-homogeacuteneacuteiteacute est causeacutee principalement par la diversiteacute des approches architecturales la taille de la meacutemoire inteacutegreacutee les technologies de reacutealisation physique les outils mis agrave disposition et le nombre duniteacutes fonctionnelles redondantes du DSP Lopeacuteration de caracteacuterisation est ensuite entraveacutee par la disponibiliteacute reacuteduite dinformations facilement accessibles sur les valeurs de surface de silicium

236

Cœur syntheacutetisable

Technologie Surface

Freacutequence dhorloge

Performances Notes

018 microm 095 mm2 80-110 MHzARM7EJ-S

013 microm 042 mm2 100-133 MHz

10 MIPSMHz

Basse consommation surface reacuteduite et extension instructions DSP

025 microm 27 mm2 160 MHzARM9E-S

018 microm - 200+ MHz

11 MIPSMHz

Extensions traitement du signal uniteacute MAC de16x32 (cycle unique) et pipeline avec 5 eacutetages

Table 8-18 caracteacuteristiques de deux cœurs syntheacutetisables de ARM [ARM7] [ARM9] Ces cœurs sont des processeurs-DSP de type RISC posseacutedant une structure agrave 32 bits

Par conseacutequent en raison de leur simpliciteacute architecturale et de la richesse en informations les processeurs DSP de ARM (Table 8-18) sont utiliseacutes agrave titre de reacutefeacuterence pour cette analyse La famille de processeurs ARM7 comprend les cœurs RISC agrave 32 bits destineacutes agrave des applications basse consommation et agrave faible coucirct Le cœur syntheacutetisable ARM7EJ-S met agrave disposition toutes les potentialiteacutes dun microcontrocircleur et dun DSP [ARM7] Le cœur ARM9E-S offre les capaciteacutes dun DSP exploitant un cœur de processeur RISC agrave 32 bits Ses arguments de vente sont la surface reacuteduite de silicium la simpliciteacute architecturale la basse consommation et la rapiditeacute de reacutealisation des solutions (time-to-market) [ARM9]

842 Systegraveme de base ASIC

Dans le contexte dune exploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi la surface de silicium du systegraveme deacutepend eacutevidemment de la longueur de contrainte K du code convolutif (Table 8-19) La surface de silicium croicirct parallegravelement agrave la redondance des uniteacutes fonctionnelles qui est fonction de la longueur de contrainte K du code convolutif envisageacute (Table 8-19) Les deux modules les plus exigeants sont celui responsable de la seacutelection parallegravele des chemins survivants (ACSu) et celui chargeacute de la prise de deacutecision du bit dinformation (TBu)

237

Virtual Silicon Technology VST25 UMC25 025microm

Surface en mm2 (apregraves synthegravese) Contexte de codage

Blocs

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

BMu combinatoire 36middot10-4 62middot10-4 10middot10-3 26middot10-3

ACSu combinatoire 65middot10-3 25middot10-2 12middot10-1 49middot10-1

ACSu non- combinatoire 35middot10-3 14middot10-2 67middot10-2 27middot10-1

BPS combinatoire 23middot10-3 13middot10-2 68middot10-2 30middot10-1

TBu combinatoire 46middot10-3 26middot10-2 12middot10-1 49middot10-1

TBu non- combinatoire 17middot10-2 81middot10-2 41middot10-1 20Total 34middot10-2 17middot10-1 79middot10-1 36

Table 8-19 vue densemble des valeurs de surface de chaque bloc appartenant au systegraveme de base deacuteveloppeacute

843 Comparaison des demandes en surface de silicium des deux approches software et hardware

En comparant les valeurs de surface de silicium il est eacutevident le coucirct suppleacutementaire en silicium ducirc agrave lexploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi (Table 8-19) La strateacutegie dune exeacutecution seacutequentielle des opeacuterations ainsi que la souplesse demploi des deux cœurs ARM permettent dobtenir un rapport optimal entre la surface de silicium et la gamme de fonctions disponibles Dans le contexte de codage UMTS lexploitation exhaustive du paralleacutelisme algorithmique entraicircne des forts coucircts en termes de surface de silicium en raison de limportante longueur de contrainte des codes convolutifs (K=9) La reacutealisation mateacuterielle neacutecessite ainsi plusieurs mm2 de silicium pour inteacutegrer limportant nombre duniteacutes fonctionnelles 256 uniteacutes mise agrave jour-comparaison-seacutelection et 45 blocs de sauvegardes-reconstruction deacutetats du chemin Il faut souligner que la reacutealisation physique du systegraveme de base neacutetait pas soumise agrave des contraintes relatives agrave la surface de silicium A titre dexemple la conception du module TBu a utiliseacute systeacutematiquement des bascules pour la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins En raison de la typologie de cette tacircche une reacuteduction de la surface de silicium peut ecirctre obtenue en remplaccedilant les bascules par des verrous (Latches)

238

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats Technologie

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Processeur-DSP ARM7EJ-S

018microm 95middot10-1 25 95middot10-1 61middot10-1 95middot10-1 16middot10-1 95middot10-1 39middot10-2

Processeur-DSP ARM9E-S

025 microm 27 40 27 97middot10-1 27 25middot10-1 27 63middot10-2

UMC25 025microm

(synthegravese) 34middot10-2 76 17middot10-1 17 79middot10-1 11 36 88

Systegraveme de base (δp=5middotK)

Estimation apregraves routage

7middot10-2 38 3middot10-1 8 2 6 7 4

Table 8-20 comparaison des valeurs de surface entre deux processeurs-DSP de type RISC et les quatre deacutecodeurs utiliseacutes pour leacutetude (Table 8-18 Table 8-3 et Table 8-19) La comparaison tient aussi compte des potentialiteacutes de deacutebit de traitement Le systegraveme de base est caracteacuteriseacute par les valeurs apregraves synthegravese les potentialiteacutes apregraves routage sont estimeacutees par une pondeacuteration par un facteur deux

85 Conclusions DSP ou ASIC

Ce chapitre a permis de situer les coucircts demploi dun circuit ASIC et dune implantation software sur DSP pour lexeacutecution de lalgorithme de Viterbi Les aspects traiteacutes ont eacuteteacute le deacutebit du traitement leacutenergie neacutecessaire pour le traitement de chaque bit dinformation et la surface de silicium des circuits Les potentialiteacutes des deux approches ont eacuteteacute jugeacutees agrave partir des reacutesultats et de lexpeacuterience mucircrie avec les implantations et la reacutealisation mateacuterielle deacutecrite dans les chapitres preacuteceacutedents Si limplantation software offre une solution rapide souple et bon marcheacute la reacutealisation mateacuterielle offre des potentialiteacutes de vitesse dexeacutecution et deacuteconomie de consommation incomparables (Table 8-21) Les coucircts en termes de surface de silicium deacutependent de la redondance des uniteacutes de traitement incluse dans les circuits DSP et ASIC

239

Deacutebit de traitement Consommation Surface DSP ASIC () DSP ASIC () DSP ASIC ()

TI320C64x() pipeline() min 225V () ARM7EJ-S Systbase Codeur4eacutetats 170 Mbps 210 Mbps 072 nJbit 008 nJbit 095 mm2 34middot10-2 mm2

Codeur16eacutetats 43 Mbps 190 Mbps 288 nJbit 03 nJbit 095 mm2 17middot10-1 mm2

Codeur64eacutetats 11 Mbps 150 Mbps 1152 nJbit 16 nJbit 095 mm2 79middot10-1 mm2

Codeur256eacutetats 26 Mbps 120 Mbps 4608 nJbit 82 nJbit 095 mm2 36 mm2

() estimation agrave partir des reacutesultats de [DuAz00] () valeur apregraves synthegravese pondeacutereacutee par un facteur 2 () estimation de la strateacutegie pipeline avec deacutecodage dun chemin quelconque () estimation de Synopsys Design Compiler (VDD 225V 70ordmC analyse simple)

Table 8-21 vue densemble des potentialiteacutes des approches software et hardware Les potentialiteacutes sont estimeacutees seacutepareacutement lune des autres (Table 8-7 Table 8-8 Table 8-10 Table 8-13 Table 8-15 Table 8-18 et Table 8-19)

Algorithme de Viterbi Cet algorithme est caracteacuteriseacute par la reacutepeacutetition massive dune opeacuteration simple autant que particuliegravere (la seacutelection du chemin survivant) suivie par une opeacuteration demandant une exeacutecution seacutequentielle (prise de deacutecision) En raison dune configuration de travail impliquant lexeacutecution reacutepeacutetitive53 de cette derniegravere opeacuteration lalgorithme montre de fortes composantes parallegraveles ainsi que seacutequentielles Implantation software sur DSP Les principales limites de limplantation software sont la neacutecessiteacute de disposer dinstructions suppleacutementaires pour lexeacutecution des tacircches (lieacutees aux transferts des donneacutees) le manque dadaptabiliteacute des tailles des variables et la redondance limiteacutee des uniteacutes fonctionnelles Limplantation de lopeacuteration de seacutelection du chemin survivant est tout de suite greveacutee par la neacutecessiteacute dinstructions suppleacutementaires Ce handicap initial est ensuite amplifieacute par la reacutepeacutetition massive de cette opeacuteration fondamentale de lalgorithme de Viterbi Cette perte de compeacutetitiviteacute ne peut ecirctre combleacutee que par lutilisation de solutions et de technologies plus reacutecentes la disponibiliteacute duniteacutes fonctionnelles redondantes de fonctions SIMD et de 53 Dans le contexte de deacutecodage eacutetabli lopeacuteration de prise de deacutecision implique agrave chaque

niveau de profondeur la prise de deacutecision sur un bit dinformation

240

blocs speacuteciaux de traitement permet lameacutelioration des potentialiteacutes de deacutebit de traitement et de consommation deacutenergie Le prix agrave payer est toutefois lutilisation dun DSP posseacutedant une plus grande surface de silicium ainsi que le renoncement graduel agrave une description souple agrave haut niveau et portable de lalgorithme de Viterbi La forte composante seacutequentielle de lopeacuteration de prise de deacutecision convient de maniegravere optimale au mode dexeacutecution classique des DSP Lexeacutecution reacutepeacutetitive de cette opeacuteration ne deacutegrade pas les potentialiteacutes de lapproche software Approche ASIC La reacutealisation physique convient agrave lexeacutecution de lalgorithme de Viterbi gracircce agrave la possibiliteacute dexploiter exhaustivement les caracteacuteristiques particuliegraveres de lalgorithme La reacutealisation de lopeacuteration de seacutelection du chemin survivant se reacutevegravele ecirctre encore une fois leacuteleacutement crucial en raison de sa structure simple mais particuliegravere Lapproche ASIC permet une reacutealisation adapteacutee agrave la singulariteacute algorithmique de lopeacuteration en exploitant exhaustivement le paralleacutelisme disponible Lavantage dun traitement parallegravele de lalgorithme est eacutevident en analysant lopeacuteration de seacutelection des 2k-1 chemins survivants Les potentialiteacutes en termes deacutepargne deacutenergie et de vitesse dexeacutecution de cette approche sont ainsi excellentes Par contre laugmentation de la redondance des uniteacutes de traitement et la sauvegarde des informations de reconstruction augmentent les coucircts en termes de surface de silicium Limportante composante seacutequentielle de lopeacuteration de prise de deacutecision cause ensuite une perte de compeacutetitiviteacute du systegraveme de base ASIC Lexeacutecution seacutequentielle de cette opeacuteration agrave chaque cycle dhorloge deacutegrade les performances de deacutebit de traitement du systegraveme de base Les contre-mesures envisageables sont ladoption de la strateacutegie pipeline ainsi quune prise de deacutecision multiple par intervalles (Annexe C Figure C-8) Domaines dutilisation compleacutementaires des deux approches software et hardware Du point de vue du codage de canal le changement du contexte de codage et laugmentation du deacutebit maximal de transmission des standards UMTS geacutenegraverent une forte variabiliteacute de la charge de calcul des opeacuterations de deacutecodage

241

Lutilisation dun code convolutif avec une longueur de contrainte de 9 [Ts25212] exige tout dabord une importante charge de calcul pour le deacutecodage de chaque bit dinformation Par rapport aux technologies 2G il faut ainsi consideacuterer un facteur daugmentation entre quatre (si on prend en compte le GSM Half Rate Speech [ETSI909]54) et seize (par rapport au GSM Enhanced Full Rate Speech et Full Rate Speech [ETSI909]55)

Peacuteriode Entreprise Modegravele (Fabricant) Nombre duniteacutes rappeleacutees

Juillet 2000 KDDIau C309H (Hitachi) 138000Octobre 2000 KDDIau C309T (Toshiba) 59800Novembre 2000 J-Phone J-D03 (Mitsubishi) 180000Janvier 2001 NTT DoCoMo

DDI Pocket S0502iWM (Sony) PHS-J80 (Sanyo)

31000600000

Feacutevrier 2001 NTT DoCoMo Astel

P503i (Matsushita Comm)AJ-51 (Japan Radio)

2300002000

Mai 2001 NTT DoCoMo KDDIau J-Phone

S0503i (Sony) C101S (Sony) DP-221 (Mitsubishi)

420000126000

2730Juin 2001 Tu-Ka TH461 (Mitsubishi) 1814Juillet 2001 NTT DoCoMo

KDDIau KDDIau

P503i (Matsushita Comm)C406S (Sony) Casio

10000056000052100

Table 8-22 rappels principaux de teacuteleacutephones mobiles dus agrave des deacutefaillances software hardware ou agrave lutilisation de protocoles non entiegraverement conformes aux reacuteseaux La peacuteriode consideacutereacutee se situe entre juillet 2000 et 2001 peacuteriode qui est caracteacuteriseacutee par leacutelargissement de la gamme dapplications offertes (Japon [Yasu01])

La grande variabiliteacute du deacutebit de transmission des standards UMTS peut ensuite creacuteer des exigences de deacutecodage contradictoires A cause du caractegravere agrave large usage des standards UMTS on peut ainsi se retrouver facilement dans des situations ougrave soit le DSP est incapable de fournir toute la puissance de calcul neacutecessaire agrave lexeacutecution de lapplication en temps reacuteels soit les beacuteneacutefices apporteacutes par un circuit suppleacutementaire ASIC ne sont pas suffisants pour justifier ses coucircts suppleacutementaires 54 Ce systegraveme de transmission exploite un code convolutif avec longueur de 7 55 Ces contextes de codage utilisent un code convolutif avec longueur de contrainte de 5

242

En consideacuterant des contextes de codage peu exigeants en termes de ressources lapproche software permet une implantation rapide dalgorithmes offrant toutes ses qualiteacutes qui ont eacuteteacute tregraves appreacutecieacutees dans le contexte des technologies 2G Ces qualiteacutes sont tregraves utiles pour minimiser les coucircts suppleacutementaires dus agrave la modification et agrave la correction des deacutefaillances des applications et des protocoles ([Yasu01] Table 8-22) Le choix de la meacutethode de deacutecodage deacutepend principalement des exigences de lapplication ainsi que de la disponibiliteacute doutils et uniteacutes speacuteciales de traitement Si les exigences en termes de deacutebit de traitement et deacuteconomie deacutenergie augmentent la solution ASIC simpose graduellement Lapproche hardware sadapte de maniegravere optimale aux caracteacuteristiques de cet algorithme comportant une meilleure efficaciteacute dexeacutecution et une reacuteduction de la consommation deacutenergie Le vaste marcheacute estimeacute pour la 3G ainsi que la potentialiteacute dinteacutegration (System On Chip SoC) permettent datteacutenuer les probleacutematiques lieacutees aux coucircts supeacuterieurs de cette solution [BDTi4]

Reacutefeacuterences

[ARM7] ARM Ltd ARM7TM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[ARM9] ARM Ltd ARM9E-STM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[BDTi2] Berkeley Design Technology Inc (BDTi) Pocket Guide to DSP Processors and Cores Currently Available Processors mai 2002 page Internet acceacutedeacutee en eacuteteacute 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[DuAz00] J Du J Falkowski A Aziz J Lane Implementation of Viterbi Decoding on StarCore SC140 DSP International Conference on Signal Processing Applications amp Technology (ICSPAT 2000) 16-19 octobre 2000 Dallas Etats-Unis dAmeacuterique

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Feld02] H T Feldkaumlmper T Gemmeke H Blume T G Noll Analysis of reconfigurable and heterogeneous architectures in the

243

communication domain 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gold95] I Gold The OakDSPCores Viterbi Accelerator Speeds Up Digital Communications DSP amp Multimedia Technology deacutecembre 1995 - janvier 1996 page Internet de DSP Group acceacutedeacutee en eacuteteacute 2002 wwwdspgcomwebsitetechnologyarticle2htm

[Heub97] A Heubi De lalgorithme de traitement numeacuterique du signal agrave sa reacutealisation agrave faible consommation par un circuit inteacutegreacute speacutecifique Thegravese de Doctorat egraves sciences techniques Ecole Polytechnique Feacutedeacuterale de Lausanne Lausanne 1997

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Saou02] Y Saouter C Berrou Fast SUBMAP decoders for duo-binary turbo-codes 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

[Yasu01] H Yasui Recall of Mobile Phones Continue article du 17 septembre 2001 page Internet de NeAsia Online wwwnikkeibpasiabiztechcom

244

245

9 Conclusions

Suite aux modifications apporteacutees dans le nouveau standard de communication mobile UMTS le sujet de la thegravese est lanalyse des reacutealisations software et hardware de lopeacuteration de deacutecodage des codes convolutifs preacutevus par ce standard Cette thegravese eacutevalue tout dabord lefficaciteacute des meacutethodes classiques de deacutecodage convolutif de la 2egraveme Geacuteneacuteration dans le nouveau contexte du codage UMTS et elle propose ensuite dautres meacutethodes ameacutelioreacutees de deacutecodage Point de deacutepart En consideacuterant larchitecture et la meacutethode de deacutecodage preacutedominantes dans les technologies de la 2G une nouvelle implantation software de lalgorithme de Viterbi a mis en eacutevidence un alourdissement de la charge de calcul assigneacute au DSP Comme on pouvait sy attendre lagrandissement de la longueur de contrainte des codes augmente la charge de calcul neacutecessaire au deacutecodage de chaque symbole proteacutegeacute Lutilisation de lalgorithme de Viterbi neacutecessite ainsi lexeacutecution dau moins 28k wOP par bit proteacutegeacute contre les 176 wOP demandeacutes par les services de la 2G GSM Enhanced Full Rate Speech et Full Rate Speech Reacutesultats obtenus Consideacuterant limportante complexiteacute de calcul demandeacutee par lalgorithme de Viterbi cette thegravese propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes se reacutevegravelent inteacuteressantes agrave la fois du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage que des potentialiteacutes dune reacutealisation mateacuterielle Approche software Dans le cadre de cette thegravese lanalyse de la structure du codage de canal des standards UMTS ainsi que des principes du deacutecodage convolutif a permis de proposer deux meacutethodes alternatives agrave la solution classique Viterbi les meacutethodes iteacuteratives List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Le principe des deux meacutethodes iteacuteratives est une exploitation exhaustive des informations

246

suppleacutementaires fournies par les bits de pariteacute CRC qui ont eacuteteacute ajouteacutes au message La meacutethode List Viterbi Algorithm permet dameacuteliorer le niveau de protection pour lequel lalgorithme de Viterbi fait reacutefeacuterence Une nouvelle implantation conforme aux critegraveres dune exeacutecution en temps reacuteel a prouveacute la faisabiliteacute de la meacutethode dans le contexte du codage UMTS ainsi que le bon rapport entre la qualiteacute de protection et la charge de calcul de la meacutethode La meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute deacuteveloppeacutee dans loptique dexploiter les informations suppleacutementaires du codage CRC afin de reacuteduire la charge de calcul Cette meacutethode beacuteneacuteficie dune nouvelle reacutealisation plus efficace de lrsquoalgorithme List Decoding ce qui permet de reacuteduire efficacement la complexiteacute de calcul de la meacutethode iteacuterative Le principe des deux meacutethodes eacutetant une exploitation exhaustive du codage en bloc concateacuteneacute lutilisation de ces meacutethodes seacutetend agrave tous les domaines de la transmission numeacuterique des donneacutees fixe mobile et satellitaire Ces deux nouvelles meacutethodes eacutelargissent ainsi la liste de solutions efficaces agrave disposition ce qui permet aux designers de mieux reacutepondre aux exigences dune plus large gamme dapplications La limite des implantations software reste limportante charge de calcul due agrave la reacutepeacutetition massive soit de lopeacuteration de seacutelection du chemin survivant (meacutethodes baseacutees sur lalgorithme de Viterbi) soit de lopeacuteration de propagation (meacutethodes baseacutees sur le List Decoding) Approche hardware Ce travail de thegravese a traiteacute ensuite la reacutealisation mateacuterielle dun deacutecodeur geacuteneacuterique pour des codes convolutifs utilisant lalgorithme de Viterbi La reacutealisation du systegraveme de base a exploiteacute exhaustivement le paralleacutelisme et la simpliciteacute algorithmique qui caracteacuterisent la meacutethode de Viterbi La deacutecomposition du principe de deacutecodage en ses eacuteleacutements constituants ainsi quune reacutealisation parameacutetrable ont permis danalyser en deacutetail la reacutealisation mateacuterielle de chaque eacuteleacutement Lutilisation de la technologie Virtual Silicon Technology VST25-UMC25 (025microm) et des outils Design Compiler (Synopsys) et Modelsim (Model Technology Incorporated) ont permis une eacutevaluation des potentialiteacutes de chaque eacuteleacutement constituant en plus de favoriser la proposition de meacutethodes alternatives de reacutealisation Parmi les alternatives proposeacutees on a analyseacute le principe de lutilisation dun chemin quelconque pour la prise de deacutecision du bit dinformation (eacutetude pionniegravere) la nouvelle approche pipeline pour la reacutealisation de lopeacuteration de prise de deacutecision (nouveau principe) ainsi que lexploitation de la redondance des opeacuterations de reconstruction deacutetats (nouveau principe) Les premiers

247

deux principes ameacuteliorent le deacutebit de traitement du systegraveme de deacutecodage alors que le troisiegraveme reacuteduit la dissipation deacutenergie de lopeacuteration de prise de deacutecision Lanalyse du systegraveme de base a permis de mettre en eacutevidence les bonnes potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi telles que les aspects de la rapiditeacute de traitement et de la reacuteduction de la consommation deacutenergie Lapproche coprocesseur ameacuteliore de la souplesse demploi qui est la limite caracteacuteristique des reacutealisations mateacuterielles Ceci permet leacutelargissement de lutilisation du systegraveme de deacutecodage deacuteveloppeacute agrave dautres applications de traitement du signal utilisant lalgorithme de Viterbi (par exemple applications impliquant des fonctions dites de maximum de vraisemblance) Observations finales Leacutetude met en eacutevidence labsence actuelle dune solution globalement efficace pour les standards UMTS contrairement au cas des implantations software de lalgorithme de Viterbi massivement utiliseacutes dans les technologies de la 2G La solution optimale deacutepend des exigences et des caracteacuteristiques propres agrave lapplication utilisant le reacuteseau mobile UMTS Lutilisation de dispositifs programmables offre des solutions rapides souples et bon marcheacute mais les implantations software se reacutevegravelent ecirctre non-concurrentielle en termes de deacutebit de traitement et de dissipation deacutenergie La reacutealisation mateacuterielle convient en effet agrave lexeacutecution de meacutethodes de deacutecodage baseacutees sur lalgorithme de Viterbi gracircce agrave lexploitation exhaustive des caracteacuteristiques particuliegraveres de lalgorithme Le vaste marcheacute des applications concerneacutees ainsi que la potentialiteacute dinteacutegration de ces reacutealisations mateacuterielles permettent datteacutenuer les probleacutematiques lieacutees agrave ses coucircts supeacuterieurs Possibles travaux futurs Leacutetude des meacutethodes de deacutecodage iteacuteratives peut ecirctre eacutelargie aux autres services UMTS ainsi quagrave dautres systegravemes de communication numeacuterique fixe mobile et satellitaire Cette eacutetude permettra de mieux formuler les avantages apporteacutees par ces deux meacutethodes iteacuteratives La reacutealisation mateacuterielle dun deacutecodeur de Viterbi exploitant la strateacutegie pipeline permettra de mesurer la consommation deacutenergie ainsi que la validation du deacutebit de traitement offertes par cette solution

248

249

Remerciements

Je tiens tout dabord agrave remercier le Professeur Fausto Pellandini pour mavoir accueilli dans son laboratoire de recherche pour mavoir donneacute les moyens de reacutealiser ce travail de thegravese de doctorat ainsi que pour ses preacutecieux conseils Je le remercie eacutegalement pour les excellentes conditions de travail et lambiance stimulante reacutegnant au sein de son laboratoire

Je remercie le Professeur Pierre-Andreacute Farine pour mavoir accordeacute sa confiance et pour sa participation dans le jury de ma thegravese

Je suis tregraves reconnaissant agrave PD Dr Michael Ansorge co-directeur de thegravese pour mavoir suivi conseilleacute et encourageacute pendant toutes ces anneacutees agrave lIMT Je le remercie eacutegalement pour toutes les discussions constructives et pour ses remarques critiques qui mont permis de progresser professionnellement

Merci aux membres du jury de thegravese Je remercie Dr Francesca Vatta pour sa disponibiliteacute pour sa sympathie et pour son encouragement Merci au Dr Alexandre Heubi ancien collegravegue pour ses remarques et corrections tregraves constructives

Je tiens agrave remercier tous les collegravegues et anciens collegravegues de lIMT ainsi que leacutequipe du service administratif pour lagreacuteable ambiance et les conditions de travail optimales creacuteeacutees

Merci eacutegalement aux eacutetudiants et stagiaires qui ont contribueacute au domaine dans le cadre de leurs projets

Finalement je remercie mes grands-parents mes parents mon fregravere et son eacutepouse pour leurs encouragements et leurs indispensables soutiens Je remercie eacutegalement tous mes amis qui contribuent agrave eacutegayer les moments de libre

Un merci particulier au Dr Alain Dufaux au Dr Giuseppina Biundo-Lotito agrave Anne-Lise Kissling-Bah et agrave Seacuteveacuterine Capt pour la relecture de cette thegravese

Ce travail de thegravese a pu ecirctre accompli gracircce aux connaissances eacutelaboreacutees dans le cadre du projet CTI 4238 Joint Wideband Speech and Channel Coding in Wireless Applications reacutealiseacute en collaboration avec la compagnie STMicroelectronics NV et du projet Implementation of a parameterized family of Viterbi Decoders reacutealiseacute avec DSPfactory SA Je suis tregraves reconnaissant agrave M Luigi Grasso pour limportant savoir-faire quil a eu lamabiliteacute de partager lors de la reacutealisation de ce dernier projet

250

251

Annexes

ANNEXE A MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 253

A1 DEacuteCODAGE SEacuteQUENTIEL 253 A11 Fonction de meacutetrique 253 A12 Strateacutegie de recherche Depth-First 254

A2 SYMBOL-BY-SYMBOL MAXIMUM A POSTERIORI ALGORITHM 255 A21 Etablissement du problegraveme 255 A22 Proceacutedeacute 256 A23 Algorithme MAP 257 A24 Deacutecodage de codes convolutifs 258

A3 SOFT OUTPUT VITERBI ALGORITHM (SOVA) 260 A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm 260 A32 Algorithme 261 A33 Complexiteacute de calcul 263

A4 REacuteFEacuteRENCES 263

ANNEXE B ARCHITECTURES UTILISANT UN PROCESSEUR POUR LE TRAITEMENT DU SIGNAL 265

B1 CODES EN BLOC CRC DES STANDARDS UMTS 265 B11 Codage en bloc CRC eacutetabli par les standards UMTS 265 B12 Strateacutegie de deacutetection derreurs 266 B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS 267

B2 PROCEacuteDURE DEacuteVELOPPEacute DE SEacuteLECTION DES CHEMINS LES PLUS FAVORABLES DANS MEacuteTHODE LIST DECODING 268

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees 269 B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et

infeacuterieures 270 B23 Proceacutedure de seacutelection par eacutetablissement

dun seuil de meacutetrique 271 B3 AFFINITEacute ENTRE LIMPLANTATION SOFTWARE ET LARCHITECTURE DU

PROCESSEUR 272 B4 REacuteFEacuteRENCES 273

252

ANNEXE C ARCHITECTURES BASEacuteES SUR CIRCUITS ASIC 275

C1 REacuteALISATION PHYSIQUE DUN DEacuteCODEUR COMPATIBLE AVEC LE STANDARD UMTS 275

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute 275

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits) 276

C2 APPROCHE COPROCESSEUR 278 C21 Solution inteacuteressante 278 C22 Modifications agrave apporter au systegraveme de base 280

C3 REacuteFEacuteRENCES 286

253

Annexe A Meacutethodes pour le deacutecodage des codes convolutifs

A1 Deacutecodage seacutequentiel

La premiegravere meacutethode pour le deacutecodage des seacutequences proteacutegeacutees par les codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft qui a ensuite eacuteteacute reprise et modifieacutee par Fano Dans cette section on preacutesente la fonction de meacutetrique adopteacutee par cette meacutethode ainsi que sa strateacutegie de recherche (compleacutement agrave la description de la Sous-section 521)

A11 Fonction de meacutetrique

La recherche du chemin le plus probable se base sur une fonction de meacutetrique qui est chargeacutee de quantifier la ressemblance entre les symboles reccedilus et ceux geacuteneacutereacutes par le chemin sous analyse En consideacuterant la strateacutegie de recherche la meacutetrique relative agrave un chemin constitueacute de B branches est

( )( ) ( )

1

Bi i

npnp

PM Cmicro=

= minussum (A1)

La contribution de chaque transition (branche) du chemin i agrave la meacutetrique cumuleacutee PM(Si) est en effet constitueacutee de deux parties

bull La premiegravere est repreacutesenteacutee par la meacutetrique de branche micronp La valeur indique le niveau de ressemblance entre les symboles geacuteneacutereacutes par la transition et ceux reccedilus par le deacutecodeur

bull La seconde sidentifie avec la soustraction drsquoune constante positive C [Proa95] La soustraction dune constante C est neacutecessaire afin de permettre une comparaison eacutequitable entre des chemins atteignant des niveaux de profondeurs diffeacuterents

La constante C est choisie de maniegravere agrave mieux diffeacuterencier le comportement de la meacutetrique cumuleacutee du chemin correct par rapport agrave celles des autres chemins Lrsquoeffet deacutesireacute est drsquoobtenir une meacutetrique cumuleacutee qui aura tendance agrave augmenter en suivant seulement le chemin correct

254

A12 Strateacutegie de recherche Depth-First

En comparant transition apregraves transition la meacutetrique cumuleacutee drsquoun chemin candidat avec un seuil de reacutefeacuterence dynamique lrsquoalgorithme de Fano incorpore une proceacutedure de deacutetection des chemins qui pourraient ecirctre incorrects [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin candidat serait suspecteacute decirctre incorrect lrsquoalgorithme changera la direction de la recherche en cherchant un chemin plus prometteur La Figure A-1 montre un exemple graphique de ce principe de recherche Dans cet exemple lalgorithme suit initialement le chemin correct jusqursquoau nœud A A cet endroit lrsquoalgorithme est incapable de continuer vers le nœud D en raison du seuil de reacutefeacuterence repreacutesenteacute par la valeur thA La proceacutedure de recherche drsquoun autre chemin est appeleacutee pour la premiegravere fois Apregraves avoir diminueacute le seuil de reacutefeacuterence agrave la valeur th1 puis agrave la valeur th2 un chemin reacuteputeacute conforme a ainsi eacuteteacute trouveacute par la proceacutedure Le chemin choisi amegravene lrsquoalgorithme dans lrsquoarbre jusqursquoau nœud C ougrave le chemin est estimeacute incorrect La diminution du seuil de reacutefeacuterence jusqursquoagrave valeur th4 permet de reprendre le chemin correct en passant par les nœuds A D et E [Schl97]

thA

D

th1

th2 E

BC

F

thC

th3

th4

A

Niveau deprofondeur np np+1 np+2 np+3 np+4 np+5 np+6 np+7

mes

ure

der

reur

s(M

eacutetriq

ue)

seuil dereacutefeacuterence

chemin correct

Figure A-1 exemple de deacuteroulement de lrsquoalgorithme de Fano [Schl97]

255

A2 Symbol-by-symbol Maximum A Posteriori Algorithm

La meacutethode appeleacutee Symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacutee formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole formant le message (518) [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00]

A21 Etablissement du problegraveme

En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode permet lestimation des probabiliteacutes des transitions et des eacutetats du processus le deacutecodage de codes convolutifs est une des applications possibles Cette sous-section preacutesente tout dabord le principe geacuteneacuteral et ensuite les consideacuterations concernant le cas du deacutecodage convolutif Comme deacutejagrave introduit cette meacutethode modeacutelise le problegraveme agrave reacutesoudre par un processus de Markov Les transitions entre les eacutetats dun processus de Markov sont reacutegleacutees par les probabiliteacutes de transitions

( ) 1 Pr

eacutetat consideacutereacute au niveau de profondeur

np np np

np

p m m s m s m

s npminus

= = = (A2)

et les valeurs de la sortie x des transitions (observables) deacutependent de la probabiliteacute

( ) 1

1

Pr

sortie causeacutee par la transition entre les eacutetats et

np np npnp

np

npnp

q x m m x x s m s m

xs s

minus

minus

= = = =

(A3)

ougrave x appartient agrave un alphabet fini et discret

256

Par rapport agrave la transmission numeacuterique des donneacutees les effets des distorsions sur le signal transmis causeacutes par un bruit sans effet de meacutemoire sont eacutevalueacutes agrave laide de la probabiliteacute de transition Tr[|] (Transition probabilities [Bahl74])

11

1 1

1 1

Pr Tr

symboles reccedilus

symboles transmis

BB

np npnp

BB

BB

R X r x

R R r r

X x x

=

=

=

=

prod (A4)

Selon cette repreacutesentation du problegraveme la meacutethode MAP a pour but lestimation de la probabiliteacute a posteriori (APP) des eacutetats du processus de Markov consideacutereacute

Pr

PrPrnp

nps m R

s m RR

== = (A5)

et de la probabiliteacute APP des transitions parvenues entre ces eacutetats

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (A6)

A22 Proceacutedeacute

Soit une seacutequence de symboles R la probabiliteacute Pr[R] devient ainsi un terme commun aux probabiliteacutes (A5) et (A6) Lobjectif de lalgorithme est ainsi la deacutetermination des deux probabiliteacutes suivantes ( ) Pr np npm s m Rλ

= = (A7)

( ) 1 Pr np npnpm m s m s m Rσ minus

= = = (A8)

Ces probabiliteacutes peuvent ecirctre calculeacutees par lintroduction des trois nouvelles probabiliteacutes α() β() γ() [Bahl74] et [Vuce00] ( ) ( ) ( )np np npm m mλ α β= sdot (A9)

( ) ( ) ( ) ( )1 np np npnpm m m m m mσ α γ βminus= sdot sdot (A10)

257

ougrave ( ) 1Pr np

np npm s m Rα = = (A11)

( ) 1Pr Bnp npnpm R s mβ +

= = (A12)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (A13)

Lalgorithme MAP permet la deacutetermination des probabiliteacutes (A7) et (A8) agrave laide de deux probabiliteacutes α() β() qui preacutesentent les proprieacuteteacutes reacutecursives suivantes (Figure A-2 et Figure A-3) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (A14)

( ) ( ) ( )1 1

np np npm

m m m mβ β γ+ += sdotsum (A15)

la probabiliteacute γ() eacutetant deacutefinie par ( ) ( ) ( ) Trnp np np np

xm m p m m q x m m r xγ

= sdot sdotsum (A16)

A23 Algorithme MAP

Le profil de lalgorithme MAP ayant pour objectif lestimation de la fiabiliteacute Λ (519) des bits formant le message est le suivant [Bahl74][Vuce00]

1 Initialisation Les probabiliteacutes α0(m) et βB(m) ougrave m=0 1 2 hellip 2(k-1)-1 sont initialiseacutees selon les conditions de deacutepart et darrecirct de la proceacutedure de codage

2 Forward Recursion Apregraves larriveacutee des symboles rnp qui ont eacuteteacute

geacuteneacutereacutes par le codage du np-egraveme bit dinformation a) La probabiliteacute γnp(mm) (A16) est calculeacutee en se basant sur la

mesure daffiniteacute entre les symboles reccedilus et ceux geacuteneacutereacutes par la transition entre les eacutetats m et m

b) La probabiliteacute αnp(m) (A14) est ensuite deacutetermineacutee de maniegravere reacutecursive (Figure A-2)

c) Les valeurs αnp(m) et γnp(mm) sont sauvegardeacutees d) Cette eacutetape 2 est reacutepeacuteteacutee jusquagrave la reacuteception de toute la seacutequence

de symboles R

258

m

m

m

( )1 np mα minus

( )1 np mα minus

( )np mα( )np m mγ

( )np m mγ

Figure A-2 repreacutesentation graphique de la mise agrave jour de la probabiliteacute α() [Vuce00]

3 Backward Recursion Apregraves avoir reccedilu linteacutegraliteacute de la seacutequence de

symboles R on entame cette troisiegraveme proceacutedure Pour np=B-1 B-2 hellip 0

a) La probabiliteacute βnp(m) est calculeacutee selon leacutequation (A15) (Figure A-3)

b) Les probabiliteacutes λnp(m) et σnp(mm) peuvent ecirctre ainsi deacutetermineacutees selon les formules (A7) et (A8)

m

m

m

( )1 np mβ +

( )1 np mβ +

( )np mβ( )1 np m mγ +

( )1 np m mγ +

Figure A-3 repreacutesentation graphique de la mise agrave jour de la probabiliteacute β() [Vuce00]

A24 Deacutecodage de codes convolutifs

Le contexte du deacutecodage de codes convolutifs implique en particulier que

bull La probabiliteacute de la transition Tr[brvbar] (A16) tient compte de la modeacutelisation de la distorsion affectant le canal de transmission Elle peut se baser soit sur la distance de Hamming soit sur une fonction euclidienne

259

bull La probabiliteacute de la valeur de sortie xnp associeacutee agrave la transition entre deux eacutetats qnp(xnp|mm) (A16) est normalement une fonction deacuteterministe invariable dans le temps (time-invariant) et deacutependante de la transition Dans ce contexte cette valeur xnp regroupe le n bits de sortie du codeur convolutif

bull Si la proceacutedure de codage eacutetablit une initialisation de la meacutemoire du codeur etou lutilisation de bits de terminaison linitialisation de la proceacutedure MAP doit prendre en consideacuteration ces informations

( ) ( )( ) ( )

0 0eacutetat de deacutepart 1 and 0for eacutetat de deacutepart

eacutetat finale 1 and 0for eacutetat finaleB B

m m

m m

α α

β β

= = ne

= = ne

bull La tacircche speacutecifique du deacutecodage de codes convolutifs est lestimation

des bits ou des symboles contenus dans le message envoyeacute La mesure de la fiabiliteacute Λ

( ) npnp

np

Regravegle de Bayes np

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Pr info bit =1 Slog

Pr info bit =0 S

Λ =

=

(A17)

peut ecirctre obtenue par moyen des probabiliteacutes

np

( )

Pr info bit ( )nptransition m mimpliquant i

i R m mσ=

= = sum

npinfo bit

(A18)

La fiabiliteacute Λ peut ecirctre ainsi formuleacutee [Vuce00]

( )( ) ( ) ( )

( ) ( ) ( )

11

( )np 0

1( )

info bit log

np npnpm m

np npnpm m

m m m m

m m m m

α γ β

α γ β

minus

minus

sdot sdotΛ =

sdot sdot

sumsum

(A19)

ougrave

( ) np 1 Pr info bit inp np np npm m i s m r s mγ minus

= = = = (A20)

260

A3 Soft Output Viterbi Algorithm (SOVA)

Comme deacutejagrave introduit certaines applications demandent une information suppleacutementaire sur la proceacutedure de deacutecodage (fiabiliteacute Λ) Cependant bien que lalgorithme de Viterbi preacutesente de bonnes qualiteacutes algorithmiques et de deacutecodage agrave lorigine il nest pas preacutevu pour cette tacircche Le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute et plusieurs meacutethodes ont eacuteteacute deacuteveloppeacutees [Forn73] [Hage95] [Vale98] [Vuce00] Ce concept envisage la modification de lalgorithme de Viterbi de maniegravere agrave le rendre capable de produire une estimation de la fiabiliteacute Λ

A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm

Lalgorithme qui est briegravevement preacutesenteacute est la meacutethode Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] qui offre lavantage dune simpliciteacute de compreacutehension et dimplantation Cette meacutethode estime la fiabiliteacute Λ du np-egraveme bit en consideacuterant le rapport existant entre la meacutetrique du chemin globalement le plus probable et celle du meilleur chemin qui sest eacutecarteacute de ce chemin agrave la profondeur np-1 (Figure 5-8) Ce second chemin repreacutesente le meilleur chemin impliquant linversion de la valeur du np-egraveme bit agrave partir du chemin globalement le plus probable Les deux meacutetriques consideacutereacutees sont ainsi les suivantes

npnp

np-1

npnp

np-1

(chemin info Bit 0)(info Bit 0)chemin bestChemins

(chemin info Bit 1)(info Bit 1)chemin bestChemins

max

max

best

best

PM PM

PM PM

==isin

==isin

=

= (A21)

ougrave la classe tbestChemins indique les chemins qui suivent le chemin le plus probable jusquagrave la profondeur np En supposant que les probabiliteacutes agrave posteriori du np-egraveme bit sont fonction de ces meacutetriques

np

np

(info Bit 1)np

(info Bit 0)np

log Pr info bit =1S

log Pr info bit =0 S

best

best

PM

PM

=

=

prop

prop (A22)

261

la fiabiliteacute Λ peut ecirctre estimeacutee selon la diffeacuterence qui existe entre les valeurs de ces deux meacutetriques

( )

np np

npnp

np

(info Bit 1) (info Bit 0)

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Best BestPM PM= =

Λ =

= minus (A23)

chemins non retenuschemins survivants

chemin le plus probable

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

np=7

reacutecursion en avant reacutecursion en arriegravere

Chemin B

Chemin A

Figure A-4 exemple graphique de lestimation de la fiabiliteacute Λ du quatriegraveme bit par lrsquoalgorithme Bidirectional SOVA Lestimation utilise ainsi les meacutetriques du chemin A (chemin globalement le plus probable) et du chemin B (le meilleur chemin qui sest seacutepareacute agrave partir de la profondeur np=3)

A32 Algorithme

La meacutethode bidirectionnelle peut ecirctre reacutesumeacutee par les tacircches suivantes [Vuce00] 1) Reacutecursion en avant (Forward Recursion) Lobjectif est lidentification du

chemin globalement le plus prometteur en exploitant la notion de survivant Cette reacutecursion coiumlncide avec lalgorithme de Viterbi

262

a) Les meacutetriques cumuleacutees des eacutetats sont initialiseacutees selon les connaissances (agrave priori) des conditions de deacutepart du processus analyseacute

b) La variable np1 est mise agrave zeacutero Cette variable concerne la progression de cette reacutecursion dans le treillis

c) Pour chaque nœud agrave la profondeur np1+1 i) les chemins convergeants dans le nœud sont identifieacutes ii) leurs meacutetriques cumuleacutees PMnp1 sont calculeacutees agrave lrsquoaide des

meacutetriques de branche et des anciennes meacutetriques cumuleacutees iii) le chemin survivant est ainsi seacutelectionneacute iv) la valeur de la meacutetrique cumuleacutee du chemin survivant est assigneacutee

au nœud v) les informations neacutecessaires agrave la reconstruction de ce chemin sont

sauvegardeacutees d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (t1=B) en

increacutementant de 1 le niveau de profondeur np1

2) Reacutecursion en arriegravere (Backward Recursion) Son but est le calcul des contributions minimales dues agrave la prolongation des chemins (agrave chaque niveau de profondeur et pour chaque nœud) a) Les meacutetriques cumuleacutees des eacutetats finaux sont initialiseacutees selon les

conditions de terminaison du processus analyseacute b) Le nombre de symboles B du message est assigneacute agrave la variable np2

Cette variable indique la progression de cette reacutecursion dans le treillis c) Pour chaque nœud agrave la profondeur np2-1

i) les prolongations du chemin lieacute au nœud analyseacute sont identifieacutees ii) la contribution agrave la meacutetrique cumuleacutee de chaque prolongation i

2 2

2

( ) ( ) ( ) ( )1( 1)

1

i i i iS S S Snpnp B npnp B

B

np npPM PM micromicrorarr +minus rarr

+= +

== sum (A24)

est calculeacutee agrave lrsquoaide de la meacutetrique de branche micro(Si)

iii) cette valeur est retenue et assigneacutee au nœud d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave ce que le deacutebut du treillis de recherche

soit atteint (t2=0) Le niveau de profondeur np2 est deacutecreacutementeacute de 1 3) Estimation de la fiabiliteacute Λ

a) La variable np3 responsable du positionnement dans le treillis est initialiseacute agrave 1

b) A la profondeur np3 i) le chemin le plus probable est identifieacute

263

ii) le meilleur chemin qui seacuteloigne au niveau de profondeur np3 du meilleur chemin est ensuite deacutetermineacute

iii) sa meacutetrique est calculeacutee en utilisant les valeurs de meacutetrique cumuleacutee PMnp3 de la contribution PM(np3+1)rarrB et de la meacutetrique de branche micronp3

iv) la fiabiliteacute Λ du np3-egraveme bit est ainsi estimeacutee en utilisant les valeurs des meacutetriques des deux chemins

c) Cette eacutetape b) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (np3=B) en increacutementant la variable np3= np3+1

Normalement les tacircches relatives agrave la reacutecursion en arriegravere et agrave lrsquoestimation de la fiabiliteacute sont exeacutecuteacutees simultaneacutement reacuteduisant la complexiteacute totale de la meacutethode [Vuce00]

A33 Complexiteacute de calcul

Du point de vue de la complexiteacute de calcul une analyse superficielle de cette meacutethode SOVA bidirectionnelle met en eacutevidence que

bull La reacutecursion en avant est eacutequivalente agrave lalgorithme de Viterbi bull La proceacutedure de reacutecursion en arriegravere utilise la mecircme structure que

lalgorithme de Viterbi agrave lexception de lopeacuteration de stockage des informations pour la reconstruction des chemins survivants La complexiteacute est donc reacuteduite par rapport agrave lalgorithme de Viterbi

bull La complexiteacute de lestimation de la fiabiliteacute peut ecirctre reacuteduite en inteacutegrant cette fonction agrave la reacutecursion en arriegravere [Vuce00]

Par conseacutequent dans le contexte dune deacutecision ferme on peut sattendre agrave une complexiteacute totale seacutelevant approximativement agrave 15 fois la complexiteacute de lalgorithme de Viterbi pour le deacutecodage du mecircme message [Vuce00] En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la charge de calcul de lalgorithme de Viterbi

A4 Reacutefeacuterences

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

264

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

265

Annexe B Architectures utilisant un processeur pour le traitement du signal

B1 Codes en bloc CRC des standards UMTS

En raison de lincapaciteacute des meacutethodes de deacutecodage convolutif agrave deacutefinir les conditions derreurs garantissant un deacutecodage correct (sans limiter le potentiel de correction) le standard UMTS [Ts25212] met agrave disposition une seacuterie de codeurs en bloc

B11 Codage en bloc CRC eacutetabli par les standards UMTS

Les codeurs mis agrave disposition sont quatre codes CRC systeacutematiques diffeacuterents (Table B-1) qui permettent un choix optimal et adeacutequat agrave chaque contexte de codage Codeur Longueur

[bits] Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

gCRC24(X) 24 X24 + X23 + X6 + X5 + X + 1 (223-1 223-25) 4 (1)

gCRC16(X) 16 X16 + X12 + X5 + 1 (32767 32752) 4 (1)

gCRC12(X) 12 X12 + X11 + X3 + X2 + X + 1 (2047 2035) 4 gCRC8(X) 8 X8 + X7 + X4 + X3 + X + 1 (127 119) 4 (1) Lutilisation dun message de 1000 bits a permis lobservation dune distance minimale de 4

Table B-1 vue densemble des codes cycliques (CRC) mis agrave disposition pour la structure de codage de canal UMTS

Le standard UMTS [Ts25212] modifie par contre la concateacutenation des bits du code CRC qui doit seffectuer dans lordre inverse Le but de cette inversion est de garantir le fonctionnement correct de la tacircche de blind rate detection56

56 La fonction de Blind rate detection peut ecirctre utiliseacutee pour la deacutetection du format utiliseacute

pour le transport (Transport Format) lorsque lindicateur de la combinaison de format (Transport Format Combination Indicator TFCI) nest pas transmis Le principe

266

[NttD99] en empecircchant des situations dincertitude par rapport agrave la taille du message (Figure B-1)

CRCMessage

XXX 0 YYY 0

CRCMessage

XXX 0 YYY 0

Cas A

Cas B

Figure B-1 exemple dune situation dincertitude causeacutee par un attachement de bits de pariteacute de maniegravere deacutecroissante (approche classique)

B12 Strateacutegie de deacutetection derreurs

La deacutetection derreurs peut saccomplir selon deux strateacutegies [Pres92] [Proa95] [Will99] La premiegravere suit lapproche classique du deacutecodage du message A partir de la valeur reacutesultante par ce deacutecodage valeur qui est nommeacutee syndrome (Syndrome) labsence derreur peut ecirctre soit valideacutee soit mise en doute La seconde strateacutegie exploite par contre la proprieacuteteacute systeacutematique de ces codages agrave partir du message sous analyse les bits de pariteacute sont re-calculeacutes et compareacutes avec ceux reccedilus Cette derniegravere strateacutegie a eacuteteacute adopteacutee pour les implantations software de cette eacutetude La complexiteacute lieacutee au calcul des bits de pariteacute (Table B-2) peut ecirctre simplifieacutee par lutilisation dune table contenant les valeurs des bits de pariteacute preacute-calculeacutees sur 8 bits (encodeur de type Table-Driven [Will99]) Cette implantation a eacuteteacute choisie en preacutevision dune utilisation successive dans des meacutethodes iteacuteratives de deacutecodage

implique le deacutecodage systeacutematique du message en consideacuterant une gamme de tailles diffeacuterentes les bits de pariteacute CRC sont ensuite utiliseacutes pour la validation du message

267

Nombre moyen drsquoopeacuterations observeacutees

Format des variables

32 bits 16 bits 8 bits Total Additions 0 1 1 Increacutementations 0 14 14 Soustractions 0 10 10 Multiplications 0 0 0 Divisions 0 0 0 Transferts de Donneacutees 1 4 5 Logique 36 2 13 51 Deacutecalages 58 2 1 61 Controcircles 27 27 Pointeur assignations 1 1 Pointeur arithmeacutetique 0 Boucle initialisations 0 1 1 Boucle controcircles 11 11 Boucle increacutementations 0 10 10 Grand total 192

Table B-2 charge de calcul de la tacircche de deacutetection derreurs (code CRC utilisant 12 bits de pariteacute) Paramegravetres les 500 messages utiliseacutes sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les valeurs montrent des eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les opeacuterations deacutefinies par les organisations ITU et ETSI

B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS

Concernant la faisabiliteacute des techniques de deacutecodage iteacuteratif une eacutevaluation des performances des codes CRC confirme que les capaciteacutes de deacutetection derreurs sont supeacuterieures agrave celles des codes preacuteceacutedemment utiliseacutes dans le standard GSM (Table B-3 et Table B-4) Cette constatation rend les techniques de deacutecodage iteacuteratif attrayantes Toutefois lefficaciteacute dun tel deacutecodage est soumise au rapport existant entre les caracteacuteristiques de la transmission de donneacutees (nombre et reacutepartition des erreurs de transmission) la taille des messages les potentialiteacutes de deacutetection du code CRC utiliseacute et le nombre diteacuterations de recherche du message correct Comme deacutejagrave citeacute le beacuteneacutefice dun tel deacutecodage dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute limiteacute par un nombre consideacuterable de cas de fausses validations causeacutes par une capaciteacute de deacutetection reacuteduite du code en bloc utiliseacute (dmin de 2 Table B-4) par rapport aux caracteacuteristiques de lapplication [Kuumlhn97]

268

Codeur [ETSI909]

Longueur [bits]

Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

TCHEFS 8 X8 + X4 + X3 + X2 + 1 (255 247) 3 TCHFS-HS-EFS 3 X3 + X + 1 (7 4) 2

Table B-3 vue densemble des codes cycliques utiliseacutes par les standards GSM

Nombre observeacute de messages codeacutes avec poids wi de Messages

100 bits 1 2 3 4 5 6 7 8 9

Codeurs CRC UMTS CRC 8-bit 0 0 0 22105 0 45106 0 55108 0CRC 12-bit 0 0 0 19103 0 37105 0 50107 0CRC 16-bit 0 0 0 27102 0 31104 0 44106 0CRC 24-bit 0 0 0 70102 0 25104 0 89105 0

Codeur CRC GSM CRC 3-bits 0 46102 12104 24105 39106 51107 57108 hellip hellipCRC 8-bits 0 0 82102 21104 44105 75106 11108 hellip hellip

Table B-4 vue densemble des performances des codes CRC relatifs aux standards UMTS [Ts25212] et GSM [ETSI909] Le fond gris met en eacutevidence la distance minimale observeacutee des codes Paramegravetres messages contenant 100 bits dinformation meacutethode de recherche par ordinateur

B2 Proceacutedure deacuteveloppeacute de seacutelection des chemins les plus favorables dans meacutethode List Decoding

Une proceacutedure de seacutelection exploitant la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee Lobjectif est la deacutetermination du seuil permettant la seacuteparation des valeurs de meacutetrique en deux sous-ensembles eacutegaux (voir Sous-Section 674 Figure 6-23) Ce principe est baseacute sur lobservation dune forte concentration des valeurs de meacutetriques cumuleacutees due agrave une diffeacuterence maximale entre les meacutetriques qui est reacuteduite et stable pendant le deacutecodage (Figure 6-24)

269

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees

A partir de la valeur de la meacutetrique cumuleacutee dun chemin (que dans ce contexte on nomme geacuteneacuterateur) on peut deacuteterminer la limite infeacuterieure et supeacuterieure des chemins qui se propageront ensuite depuis ce chemin (Figure B-2) La deacutetermination des limites prend en consideacuteration deux chemins

bull le chemin qui se propage dans les meilleures conditions de transmission (en labsence derreurs de transmission) et

bull celui qui se propage en cumulant le nombre maximal derreurs Par conseacutequent eacutetant donneacute une meacutetrique de branche baseacutee sur la pure distance de Hamming la limite infeacuterieure coiumlncide de maniegravere univoque avec la meacutetrique cumuleacutee du chemin geacuteneacuterateur (Figure B-2) De maniegravere analogue lestimation de la limite supeacuterieure doit assumer agrave chaque transition de niveau la contribution maximale de la meacutetrique de branche (MaxContribBranche) Par conseacutequent agrave la profondeur np1 les meacutetriques de ces chemins sont comprises dans les limites ( )( )1 np npMetrGen MetrGen MaxContribBranche np np +

sdot minus (B1)

ougrave MetrGennp est la meacutetrique cumuleacutee du chemin geacuteneacuterateur En consideacuterant la situation de la seacutelection des L chemins les plus prometteurs dans une liste de 2L chemins la preacutesence dautres chemins (qui deacutecoulent dautres chemins geacuteneacuterateurs agrave la mecircme profondeur np) ne modifie pas les limites (B1) si

1 Au niveau de profondeur np le chemin geacuteneacuterateur qui est utiliseacute pour la deacutetermination des limites montre la meacutetrique cumuleacutee la plus favorable et

2 Au niveau de profondeur np1 le nombre de chemins produits par chaque chemin geacuteneacuterateur deacutepasse ou eacutequivaut agrave 2L

Ducirc aux effets de lopeacuteration de seacutelection des chemins les plus favorables agrave partir de la profondeur ( )2 2 log 2np np L

= + sdot (B2)

270

(point 2) les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner sont comprises dans les limites (B1) qui contiennent les valeurs les plus favorables Ces limites sont eacutevidemment deacutetermineacutees par le chemin geacuteneacuterateur le plus favorable (point 1)

meilleur cheminagrave laprofondeur np S00

S10

S00

S11

S01

S10

S00

profondeur np np+1 np+(longueur decontrainte -1)

S11

S01

S10

S00

S11

S01

S10

S00

estimationde leacutecarts

estimationde leacutecarts

estimationde leacutecarts

valeur de lameacutetriquecumuleacutee

Figure B-2 exemple de propagation des chemins qui se produit depuis le meilleur chemin agrave la profondeur np Code avec longueur de contrainte de 3

B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et infeacuterieures

Par rapport agrave une situation dynamique les limites agrave la profondeur np2+1 peuvent ecirctre ainsi estimeacutees par la formule (B1) en utilisant la meacutetrique cumuleacutee soit du meilleur chemin agrave la profondeur np soit de celui agrave la profondeur np+1 (Figure B-3)

271

chemin le plusprometteur

chemin le plusprometteur

niveau deprofondeur np

np+1 np2=np+3np+2

L=4

estimation deslimites desmeacutetriquescumuleacutees

estimation deslimites desmeacutetriquescumuleacutees

np2+1=np+4

L=4

Figure B-3 repreacutesentation graphique de la preacutediction des limites supeacuterieures et infeacuterieures des meacutetriques cumuleacutees

Lutilisation des informations de meacutetriques plus reacutecentes permet eacutevidemment dobtenir une estimation plus preacutecise des limites Par conseacutequent bien que les meacutetriques cumuleacutees aient tendance agrave augmenter en preacutesence derreurs de transmission (Figure 6-24) cette strateacutegie destimation met en eacutevidence la stabiliteacute de la diffeacuterence maximale entre les meacutetriques On peut ainsi fixer que la diffeacuterence maximale entre les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner est de ( )2log 2 dmm MaxContribBranche L

= sdot sdot (B3)

B23 Proceacutedure de seacutelection par eacutetablissement dun seuil de meacutetrique

Les conseacutequences de cette estimation des limites sont importantes on sait que les 2L meacutetriques cumuleacutees montrent un eacutecart reacuteduit preacutevisible et indeacutependant du niveau de profondeur

272

A partir de la meacutetrique cumuleacutee momentaneacutement la plus favorable (BestMetrnp) on peut en effet estimer la limite infeacuterieure et supeacuterieure des meacutetriques des 2L chemins qui atteindront le niveau de profondeur suivant np tBestMetr BestMetr dnn MaxContribBranche

+ + (B4) La concentration des valeurs permet ainsi le deacuteveloppement dune proceacutedure de seacutelection utilisant la distribution des meacutetriques cumuleacutees Son principe est la deacutetermination dun seuil qui deacutelimite les L meacutetriques les plus favorables (Figure 6-23) en eacutetablissant la statistique des 2L nouvelles meacutetriques cumuleacutees

B3 Affiniteacute entre limplantation software et larchitecture du processeur

La Table B-5 met en eacutevidence limportance dune description par langage agrave haut niveau adapteacutee aux caracteacuteristiques architecturales du processeur utiliseacute Cette table montre les vitesses dexeacutecution des meacutethodes dont les implantations visent diffeacuterentes plates-formes Bien que ces reacutesultats valident les potentialiteacutes et les expectatives des diverses meacutethodes limportance du style de la description du code est facilement observable

273

Nombre minimal de cycles [cycles]

Type de processeur (32 Bits) Pentium Intel Family 5 Celeron Intel Family 6

Meacutethodes (sans troncation de la meacutemoire)

Plates-formes viseacutees [Bits] Nombre

de cycles Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Nombre de cycles

Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Algorithme de Viterbi

32 1744035 246 283 1260355 177 205

Validation CRC - 2770 - - 2800 - -L=2 2256022 307 351 1833843 249 286L=4 2320739 314 359 1909380 258 296L=8 2343000 313 358 1936016 259 296

List Viterbi Decoding

L=16

mixte 1632

2386972 312 355 2050829 268 305L=32 609350 323 305 519173 275 260L=64 1156162 330 313 1002946 287 272

L Decoding inteacutegr la val CRC

L=128

16

2313910 346 328 1919995 287 272

Proceacutedure dacquisition du nombre de cycles (rdTSC)

46 181

() Leacutevaluation de la complexiteacute de calcul WCwOPS (extension de la mesure wOPS de lITUETSI) vise des plates-formes agrave 16 bits

Table B-5 vue densemble des performances indicatives en termes de temps dexeacutecution Le contexte de codage concerne la structure de protection des bits appartenant agrave la classe A du service de parole AMR-NB agrave 122kbps (codes concateacuteneacutes en seacuterie) La proceacutedure deacutevaluation se base sur lutilisation du compteur read-time stamp counter (RDTSC) [Inte97]

B4 Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Inte97] Intel Corporation Using the RDTSC Instruction for Performance Monitoring notes dapplication page Internet acceacutedeacutee au printemps 2001

274

httpdevelopperintelcomdrgpentiumIIappnotesRDTSCPM1HTM [Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based

Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

275

Annexe C Architectures baseacutees sur circuits ASIC

C1 Reacutealisation physique dun deacutecodeur compatible avec le standard UMTS

Comme deacutecrit preacutealablement lutilisation du systegraveme de base dans le contexte de codage UMTS neacutecessite la modification de sa conception afin de supporter la proceacutedure dadaptation du deacutebit de transmission et dexploiter les bits de terminaison [Ts25212] Ces modifications sont briegravevement preacutesenteacutees et discuteacutees

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute

Les standards UMTS preacutevoient lemploi dune proceacutedure dadaptation du deacutebit de transmission La conception du systegraveme de base doit ainsi se conformer agrave ce contexte de deacutecodage en modifiant la reacutealisation mateacuterielle du module chargeacute du calcul des meacutetriques des branches (BMu)

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques de branchessymboles reccedilus

Informations sur la proceacutedure

dadaptation du deacutebit detransmission

Figure C-1 calcul des meacutetriques de branche dans un contexte de deacutecodage preacutevoyant ladaptation du deacutebit de transmission

Ce module doit fournir les valeurs des meacutetriques cumuleacutees en suivant les indications relatives agrave la reacutepeacutetition et agrave leacutelimination (poinccedilonnage) des bits de la proceacutedure dadaptation (Section 32) Ainsi il doit ecirctre capable de traiter correctement

276

bull Un symbole qui na subi aucun traitement par la fonction dadaptation du deacutebit de transmission

bull Un symbole qui a eacuteteacute eacutelimineacute Ce symbole doit ecirctre pratiquement ignoreacute vu quil napporte aucune information valable sur la proceacutedure de codage

bull Un symbole reacutepeacuteteacute En fonction de la strateacutegie adopteacutee (au niveau du systegraveme entier de deacutecodage de canal UMTS) ces indications peuvent ecirctre soit inteacutegreacutees au moyen dune nouvelle repreacutesentation digitale des symboles soit transmises au module par un moyen de transmission physiquement seacutepareacute de celui des symboles (Figure C-1) Lutilisation dun bloc fonctionnel interposeacute (entre la chaicircne de deacutecodage de canal UMTS et le systegraveme de base non-modifieacute) ne permet pas lexploitation exhaustive des informations dadaptation du deacutebit de transmission

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits)

Afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message les standards UMTS [Ts25212] preacutevoient lemploi dune seacuterie de zeacuteros comme bits de terminaison (Figure C-2) Ces valeurs creacuteent des conditions darrecirct de la proceacutedure de codage et deacuteterminent lidentiteacute de leacutetat final de la meacutemoire du codeur (Figure C-3) Importance de leacutetat darrecirct de la proceacutedure de codage Lexploitation des informations des bits de terminaison ne modifie pas le deacuteroulement de lalgorithme de Viterbi jusquau moment du traitement des symboles geacuteneacutereacutes par leur codage A ce moment lalgorithme dispose dinformations preacutecises sur la valeur de ces derniers bits ce qui permet lameacutelioration de la qualiteacute de protection des derniers bits dinformations du message (Figure C-2) Ces informations peuvent bien entendu ecirctre neacutegligeacutees (afin deacuteviter laugmentation de la complexiteacute de la tacircche de seacutelection du chemin pour la prise de deacutecision) mais seulement au deacutetriment de la qualiteacute de protection Le choix dun chemin inexistant pour le deacutecodage (Figure C-3) augmente en effet les risques dune prise de deacutecision incorrecte Le choix crucial est surtout celui

277

du chemin final vu quil est responsable de la prise de deacutecision des derniers δ-(longueur de contrainte-2) bits du message

Figure C-2 exemple de la qualiteacute de protection des derniers bits du message La graphie bleue en trait fin indique la qualiteacute obtenue par le respect des conditions finales de codage Les autres graphies repreacutesentent la qualiteacute obtenue en enfreignant ces conditions linobservance des conditions finales mais lutilisation de leacutetat final correct (verte en trait gras) et linfraction totale des conditions finales de codage (rouge en trait fin) Simulation software utilisant 200000 messages de 500 bits 8 bits de terminaison EbN0=00 dB δ=54 code UMTS avec Rc=13

Solution pragmatique Dans le cas dune prise de deacutecision baseacutee sur les chemins les plus prometteurs la conception du systegraveme doit preacutevoir une augmentation de la complexiteacute de la proceacutedure de seacutelection du meilleur chemin ou une deacutegradation de la qualiteacute de protection des derniers bits du message Un bon compromis est linfraction partielle des conditions de terminaison de la proceacutedure de codage lexeacutecution normale de lalgorithme de Viterbi avec lutilisation de leacutetat final correct pour la prise de deacutecision des derniers bits du message Cette solution peut ecirctre reacutealiseacutee soit par la reacutepeacutetition de lopeacuteration de prise de deacutecision utilisant le mecircme eacutetat final soit par une prise de deacutecision multiple (Figure C-8) qui fournit toutes les valeurs des derniers δ-(longueur de contrainte-2) bits du message

278

Dans le cas dune prise de deacutecision par deacutecodage dun chemin quelconque lutilisation systeacutematique du chemin atteignant leacutetat zeacutero garantit une proceacutedure toujours conforme aux conditions darrecirct eacutetablies par le standard UMTS (Figure C-4)

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B+2

Bits de terminaison

S11

S10

S01

S00

S11

S10

S01

S00

δ

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-3 illustration graphique du deacuteroulement de la proceacutedure de deacutecodage lors de lutilisation des bits de terminaison Dans cet exemple les bits de terminaison sont formeacutes par une seacuterie de zeacuteros

C2 Approche coprocesseur

C21 Solution inteacuteressante

Lanalyse des architectures deacutedieacutees agrave la communication mobile montre quune approche coprocesseur est une solution inteacuteressante [Gath02] Cette solution est surtout inteacuteressante dans la situation actuelle ougrave lon demande un degreacute de flexibiliteacute eacuteleveacute (jeunesse des standards 3G) ainsi quune importante puissance de calcul Le circuit ASIC peut ainsi apporter la puissance de calcul neacutecessaire alors que le DSP fournit tous les avantages lieacutes agrave un dispositif programmable tels que la flexibiliteacute la gestion des diffeacuterentes fonctionnaliteacutes la rapiditeacute dimplantation dinteacutegration et de validation

279

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B-1+ longueurde contrainte -1

S11

S10

S01

S00

S11

S10

S01

S00

δ

eacutetat dont le chemin survivant estutiliseacute par la proceacutedure de prise dedeacutecision

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

Bits de terminaison

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-4 adaptation de la proceacutedure de deacutetermination dun chemin quelconque au contexte dune utilisation des bits de terminaison Dans cet exemple les bits de terminaison coiumlncident avec une seacuterie de zeacuteros

Les deux strateacutegies demploi du coprocesseur sont [Gath02]

bull Tightly Coupled Coprocessor (TCC) Les tacircches exeacutecuteacutees par ces coprocesseurs peuvent ecirctre consideacutereacutees comme des extensions du jeu dinstruction du DSP En effet le DSP initialise une tacircche sur le coprocesseur qui lexeacutecute en un intervalle de temps correspondant agrave quelques cycles dinstruction du DSP Pendant ce temps le DSP nexeacutecute (normalement) aucune autre tacircche

bull Loosely Coupled Coprocessor (LCC) Dans ce cas le genre de tacircche exeacutecuteacutee par le coprocesseur est plus une sous-routine quune simple instruction Lexeacutecution prendra ainsi plusieurs cycles dinstruction du DSP Pour cette raison lutilisation efficace dun tel coprocesseur preacutevoit le fonctionnement parallegravele de deux eacuteleacutements agrave savoir le DSP et le coprocesseur

280

Lapproche coprocesseur permet de franchir les limites de souplesse de la reacutealisation ASIC en beacuteneacuteficiant des services dun dispositif programmable Cette approche preacutevoit ainsi la reacutepartition des diverses tacircches du deacutecodage entre le DSP et le coprocesseur de maniegravere agrave charger le processeur des tacircches neacutecessitant un niveau de souplesse supeacuterieur et agrave attribuer au coprocesseur celles neacutecessitant un nombre eacutelegraveve dopeacuterations (Figure C-5)

calcul desmeacutetriques de

branches(BMu)

mise agrave jour des meacutetriquescumuleacutees et seacutelection des

survivants (ACSu)

deacutecodage du chemin choisi(TBu)

seacutelection duchemin(BPS)

np-egravemeobservation rnp

deacutecisionsurle bit np-δ

meacutetriquescumuleacutees

survivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

DSP

Coprocesseur

controcircles

Figure C-5 proposition dune reacutepartition des tacircches entre le DSP et le coprocesseur

C22 Modifications agrave apporter au systegraveme de base

Dans cette sous-section les implications dune approche souple sur la conception du systegraveme de base sont briegravevement traiteacutees Pour rester dans un discours geacuteneacuteral aucun type preacutecis dapproche coprocesseur (TCC ou LCC) ne sera discuteacute dans cette sous-section La Table C-1 rassemble les paramegravetres du systegraveme de base Ces paramegravetres augmentent le degreacute de souplesse de la reacutealisation mateacuterielle en ladaptant au contexte de codage viseacute Calcul des meacutetriques de branche (BMu) Cest le module le plus deacutependant des paramegravetres deacutecrivant le codeur convolutif et la configuration du systegraveme dans lequel le deacutecodeur travaille En effet tout petit changement de la situation de codage tel que la modification

281

du rendement du code ou lutilisation dune fonction dadaptation du deacutebit de transmission implique la modification de sa conception

Paramegravetre Module(s) impliqueacute(s) Fonctions geacuteneacuteratrices Uniteacute BM Longueur de contrainte Uniteacutes BM ACS BPS et TB Le rendement du code Rc Uniteacutes BM et ACS Adaptation du deacutebit de transmission Uniteacute BM Condition de deacutepart de la proceacutedure de deacutecodage Uniteacute ACS Condition darrecirct de la proceacutedure de deacutecodage Uniteacute BPS Type de deacutecision (ferme ou pondeacutereacutee) Uniteacutes BM et ACS

Table C-1 paramegravetres permettant ladaptation de la meacutethode de deacutecodage aux divers contextes de codage

En raison de cette forte demande de souplesse on peut envisager de charger le DSP du calcul de toutes les meacutetriques de branches et de leur livraison au coprocesseur en tenant compte de la configuration du systegraveme dans lequel le deacutecodeur travaille des caracteacuteristiques du codeur convolutif utiliseacute ainsi que de lexploitation de meacutethodes dadaptation du deacutebit de transmission Un exemple dune telle approche est le coprocesseur Viterbi du DSP TMS320C6416 de Texas Instruments [Spru533] Il faut remarquer que le degreacute de souplesse est deacutetermineacute par la repreacutesentation numeacuterique des meacutetriques de branches (nombre de bits agrave disposition et interpreacutetation des valeurs) Seacutelection des chemins survivants (ACSu) Les deux paramegravetres principaux sont le nombre duniteacutes ACS et la repreacutesentation numeacuterique des meacutetriques de branches (Figure C-6) Selon lapproche de seacutelection parallegravele des chemins survivants le nombre duniteacutes de seacutelection ACS deacutetermine la longueur de contrainte maximale des codes convolutifs supportables Ladaptation aux autres contextes de codage moins exigeants (longueur K infeacuterieure) peut seffectuer par lintroduction dun bloc fonctionnel suppleacutementaire qui se charge de la bonne gestion des ressources Sa tacircche est lactivation des uniteacutes ACS effectivement impliqueacutees dans le deacutecodage ainsi que lassignation correcte des vieilles meacutetriques cumuleacutees (Figure C-6)

282

basc

uleslogique

combinatoire

ACS0

ACS1

ACSM-1

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations surles cheminssurvivants

horloge

nombre deacutetats

Normalisation

logiquecombinatoire

initialisation Figure C-6 exemple de structure parallegravele utilisable pour une approche souple

La repreacutesentation numeacuterique des meacutetriques cumuleacutees doit ecirctre eacutetablie en consideacuterant la repreacutesentation des meacutetriques de branches et le nombre maximal deacutetats M que le systegraveme peut traiter (Sous-section 734) Lopeacuteration de normalisation des meacutetriques cumuleacutees garantit le deacuteroulement correct de lalgorithme tout en limitant le nombre de bits de la repreacutesentation numeacuterique La reacutealisation de ce module doit aussi permettre linitialisation des valeurs des meacutetriques cumuleacutees selon les exigences de chaque contexte de codage ce qui ameacuteliore la capaciteacute dadaptation (exemple [Spra750]) Deacutesignation du chemin le plus favorable (BPSu) La reacutealisation physique de ce module deacutepend principalement du type de critegravere utiliseacute pour la deacutesignation du chemin (chemin le plus probable ou un chemin quelconque) Sa conception doit maintenant consideacuterer une situation caracteacuteriseacutee aussi bien par un nombre variable de chemins survivants que par des conditions darrecirct diffeacuterentes de la proceacutedure de codage (exemple Figure C-7)

283

comparaison

nombre deacutetats

eacutetat dedeacutepartcomparaison

comparaison

comparaison

comparaison

Figure C-7 reacutealisation du module exeacutecutant la seacutelection du meilleur chemin en tenant compte dun nombre variable deacutetats Les modifications apporteacutees par rapport agrave la reacutealisation du module BPS de base (Figure 7-18) sont signaleacutees en rouge

Lexploitation exhaustive des conditions darrecirct complique seacuterieusement la reacutealisation physique de ce module surtout si lon admet que les valeurs des bits de terminaison peuvent varier selon le standard de communication Par conseacutequent on peut envisager la solution pragmatique dune exploitation partielle de ces informations lutilisation de leacutetat final correct pour le deacutecodage des derniers bits dinformation Cette solution tire profit de la preacutesence des bits de terminaison tout en limitant la complexiteacute de la reacutealisation physique des modules Prise de deacutecision (TBu) La conception de ce module TBu doit consideacuterer cinq paramegravetres principaux la longueur de contrainte du code viseacute la longueur maximale supporteacutee par le systegraveme la distance δp la livraison des reacutesultats au DSP ainsi que leacuteventualiteacute dun contexte de codage impliquant une seacutequence limiteacutee de symboles Longueurs de contrainte des codes convolutifs viseacutes La complexiteacute maximale (cest-agrave-dire la longueur maximale de contrainte) des codes convolutifs que le systegraveme est censeacute deacutecoder deacutetermine les ressources de stockage et de traitement neacutecessaires au module TBu La conception de ces module doit ensuite consideacuterer la gestion correcte des ressources de stockage

284

et de reconstruction deacutetats des chemins afin dexeacutecuter la tacircche de reconstruction conformeacutement au contexte de codage Lobjectif peut ecirctre atteint agrave laide dune opeacuteration de masquage qui permet lajustement de la taille de la meacutemoire reconstruite sans modifier la conception du systegraveme de base Distance δp La valeur de ce paramegravetre deacutepend strictement de la longueur de contrainte du code convolutif envisageacute Dans ce contexte dune approche souple coprocesseur la distance optimale est ainsi potentiellement variable Deux approches paraissent inteacuteressantes lutilisation soit dune distance optimale par rapport agrave la longueur K maximale soit dune distance de compromis La premiegravere approche assure la qualiteacute de protection offerte par tous les codes convolutifs exploitables Si la gamme des codes est tregraves large (en termes de longueur de contrainte) lutilisation dune distance δp adapteacutee au contexte de codage le plus exigeant neacutecessite des coucircts importants lusage de nombreuses ressources ainsi quun fort retard algorithmique Si les applications envisageacutees ne tolegraverent pas ces coucircts une distance δp de compromis doit ecirctre eacutetablie en analysant limportance des coucircts demploi parallegravelement agrave la deacutegradation de la qualiteacute de protection dans les divers contextes de codages Modaliteacute de livraison des deacutecisions prises Si le DSP demande la livraison de plusieurs bits deacutecodeacutes agrave la fois la meacutethode de la prise de deacutecision (Figure 7-16) peut ecirctre deacuteveloppeacutee et optimiseacutee de maniegravere agrave extraire simultaneacutement plusieurs valeurs (Table C-2 et Figure C-8) [Fett90] [Min91] Dans ce cas lexeacutecution de la tacircche entiegravere de deacutecodage peut ecirctre modifieacutee en exeacutecutant lopeacuteration de prise de deacutecision multiple par intervalle de temps (chaque N peacuteriodes Table C-2) Cette opeacuteration est ainsi chargeacutee de la prise de deacutecision simultaneacutee de N bits dinformations (Figure C-8)

285

Paramegravetre Valeur Intervalle de temps entre les opeacuterations de deacutecodage [nombre de peacuteriodes] N Nombre de bits deacutelivreacutes [bits] N Retard algorithmique minimal [nombre de peacuteriodes] δp+N-1 Ressources minimales de stockage [nombre dinformations] Mmiddot(δp+N-1) Efficaciteacute [nombre dopeacuterations de reconstruction deacutetat nombre de bits deacutelivreacutes]

(δp+N-1) N

Table C-2 vue densemble des caracteacuteristiques lieacutees agrave la conception de la tacircche de deacutecodage

Une eacutevaluation des points forts dune prise de deacutecision multiple est illustreacutee par la Table C-2 Cette table permet de deacuteterminer facilement les performances et les caracteacuteristiques de la prise de deacutecision

derniegraveres informationssur les chemins survivants

au niveau de profondeur np

eacutetat de deacutepart

eacutetat agrave laprofondeurnp- -N+1pδ

deacutecision surle bitnp- -N+1δ

anciennesindications

sur les cheminssurvivants

eacutetat agrave laprofondeur

np- pδ

deacutecision surle bitnp-δ

N transitions N transitions

niveau de profondeurnpnp - +1pδ

niveau de profondeurnp - -N+2pδ

Figure C-8 exemple de proceacutedure pour une prise de deacutecision multiple La couleur jaune repreacutesente les valeurs qui ne sont plus neacutecessaires pour la prochaine proceacutedure de prise de deacutecision En vert les nouvelles valeurs qui ont eacuteteacute sauvegardeacutees depuis la derniegravere proceacutedure La distance δp est comprise entre les valeurs δ et (δ-K+2)

Deacutecodage dun message formeacute par un nombre fini de symboles Le coprocesseur peut ecirctre confronteacute agrave des contextes de codage impliquant la protection de messages formeacutes par un nombre fini de symboles Dans cette

286

eacuteventualiteacute la signalisation de la fin du message et leacutetat darrecirct de la proceacutedure de codage doivent ecirctre transmis agrave ce module A laide du chemin survivant lieacute agrave cet eacutetat darrecirct ce module peut ainsi effectuer une prise de deacutecision optimale des (δ-nombre de bits de terminaison) bits restants du message

C3 Reacutefeacuterences

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Min91] B ndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

287

Curriculum Vitae

Davide Manetti Originaire de Camignolo Suisse

Neacute le 15 aoucirct 1972

Domaines de recherche

bull Systegravemes de navigation satellitaires GPS et Galileo bull Codage de canal conception dalgorithmes pour implantation sur DSP

et reacutealisation de circuits ASIC pour appareils mobiles UMTS bull Compression de signaux audio conception dalgorithmes et

implantation sur DSP bull Techniques de traitement numeacuterique destineacutees agrave des implantations en

temps reacuteel sur DSP Formation 1991-1997 Ecole Polytechnique Feacutedeacuterale de Zuumlrich (ETHZ)

Diplocircme dingeacutenieur en eacutelectronique Expeacuterience Depuis 1997 Assistant de recherche

aupregraves du Laboratoire dElectronique et de Traitement du Signal Institut de Microtechnique (IMT) Universiteacute de Neuchacirctel (Uni-NE)

Depuis 1998 Deacutefinition et gestion de projets deacutetudiants (stages travaux de semestre et de diplocircme) pour des eacutetudiants provenant de lUniversiteacute de Neuchacirctel de lEcole Polytechnique Feacutedeacuterale de Lausanne et dautres universiteacutes europeacuteennes

Depuis 2001 Doctorant Au sein du Laboratoire dElectronique et de Traitement du Signal IMT Uni-NE

Deacutecembre 2004 Soutenance de la thegravese de doctorat

288

Publications Articles de confeacuterences

D Manetti A Dufaux E Meurville M Ansorge F Pellandini P Ryser D Wieser Audio Coder for Telesurveillance Applications with Real Time Implementation on a Multimedia DSP Proceedings of COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999 pp 276-281

Autres publications D Manetti Audio Coder for Remote Surveillance Application internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland August 1999 D Manetti Channel Coding in Wireless Applications internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland May 2001 L Grasso D Manetti Implementation of a parameterized family of Viterbi Decoders internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland December 2001

Activiteacutes professionnelles Preacutesentation inviteacutee

laquo Evolution of audio coding techniquesrdquo presented at workshop ldquoSolutions numeacuteriques pour la videacuteo et les teacuteleacutecommunications rdquo ATEME ndash TI ndash EPFL Lausanne Switzerland 20 January 2004

Poster Atelier LEA laquo Le codage de canal utiliseacute dans les systegravemes de communication mobile UMTSrdquo Arc et Senans France 29-30 septembre 2003

Reacutevision darticles SCS 2003 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2003 EUSIPCO 2002 XI European Signal Processing Conference Toulouse France 3-6 September 2002 SCS 2001 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2001 COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999

289

Connaissances informatiques Langages de programmation

CC++ Assembleur Matlab Conception mateacuterielle

HDL Designer Modelsim Synopsys Quartus Langues

Italien Franccedilais Allemand Anglais

290

291

292

Page 3: Contributions au décodage des codes convolutifs utilisés ...

iii

Tesi dedicata ai miei nonni Renato e Ada Ugo e Giovanna

iv

v

vi

vii

Reacutesumeacute

La communication numeacuterique mobile est en forte expansion Ainsi le codage de canal est devenu un eacuteleacutement indispensable puisquil permet dassurer la protection de lrsquoinformation transmise en controcirclant les erreurs de transmission Le codage convolutif est lune des techniques principales de codage de canal Leacutetude preacutesenteacutee ici propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes sont avantageuses du point de vue de la reacuteduction de la complexiteacute de calcul de la qualiteacute du deacutecodage et des possibiliteacutes offertes au niveau de la reacutealisation mateacuterielle Lrsquointeacuterecirct drsquoune telle eacutetude est apparu suite aux innovations introduites par le nouveau standard UMTS Du point de vue du codage de canal ce standard emploie des codeurs convolutifs posseacutedant des longueurs de contrainte supeacuterieures aux codes des actuels standards de communication afin dameacuteliorer la protection contre les erreurs de transmission Par suite de cette modification les reacutealisations software et hardware actuellement utiliseacutees ne peuvent pas ecirctre employeacutees pour le deacutecodage des codes du nouveau standard UMTS En plus limportante longueur de contrainte de ces codes accroicirct la complexiteacute de calcul neacutecessaire au deacutecodage classique de chaque symbole proteacutegeacute Dautre part leacutelargissement de la gamme des deacutebits de transmission de lUMTS implique une forte variabiliteacute des ressources de calcul demandeacutees par lopeacuteration entiegravere de deacutecodage La premiegravere partie de ce rapport se concentre sur les meacutethodes destineacutees agrave une implantation software En analysant agrave la fois les potentialiteacutes du codage de canal eacutetabli par le standard UMTS et lrsquoeacutetat de lrsquoart relatif aux principaux algorithmes de deacutecodage convolutif des meacutethodes alternatives agrave la solution de deacutecodage classique (lalgorithme de Viterbi) sont proposeacutees Parmi les solutions eacutetudieacutees on trouve les meacutethodes iteacuteratives deacutenommeacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC Ces deux meacutethodes exploitent notamment les informations fournies par lrsquoenchaicircnement drsquoun code convolutif avec un code en bloc Cet enchaicircnement est lune des structures de protection deacutefinies par le standard UMTS Par rapport agrave lrsquoalgorithme de Viterbi ces meacutethodes iteacuteratives possegravedent des proprieacuteteacutes inteacuteressantes du point de vue de la qualiteacute de protection de linformation et de la complexiteacute de calcul Afin drsquoeacutevaluer et de comparer ces proprieacuteteacutes chaque meacutethode a eacuteteacute

viii

deacutecrite au moyen drsquoune extension du langage ANSI-C en virgule fixe prenant en consideacuteration les particulariteacutes opeacuterationnelles des processeurs de traitement numeacuterique du signal (DSP) La seconde partie de ce rapport deacutecrit la reacutealisation mateacuterielle dune meacutethode de deacutecodage en srsquoappuyant sur lrsquoalgorithme de Viterbi La conception et la synthegravese des divers modules constituant lrsquoalgorithme sont systeacutematiquement preacutesenteacutees Parmi les solutions proposeacutees et analyseacutees dans cette seconde partie une meacutethode alternative a eacuteteacute eacutetudieacutee qui facilite linitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de deacutecodage La technologie UMC25-025microm est utiliseacutee pour la synthegravese logique des diverses solutions Ce rapport de thegravese se conclut par la comparaison des avantages pratiques de lrsquoutilisation des solutions software et hardware preacutesenteacutees au cours de ce travail Les aspects consideacutereacutes sont la surface de silicium neacutecessaire aux circuits la rapiditeacute de traitement et la dissipation drsquoeacutenergie pour chaque symbole traiteacute

ix

Deacutefinitions

Cette section deacutefinit les symboles les traductions utiliseacutees (glossaire) les fonctions matheacutematiques et les abreacuteviations utiliseacutees dans ce rapport de thegravese Symboles Sauf indication contraire lors de lutilisation du symbole la signification des symboles suivants est

b nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de canal

B nombre de symboles dinformation contenus dans le message agrave proteacuteger

C paramegravetre de la fonction de meacutetrique utiliseacutee dans la meacutethode de deacutecodage seacutequentielle

dfree distance libre dun code convolutif dj distance de Hamming existant entre une seacutequence de

symboles j et la seacutequence contenant seulement des symboles 0

dij distance de Hamming qui seacutepare les seacutequences de symboles i et j

dmin distance minimale dun code en bloc dmm distance maximale entre les valeurs de meacutetriques cumuleacutees e nombre derreurs de transmission affectant la seacutequence de

symboles reccedilus Es eacutenergie de transmission pour chaque symbole du message

codeacute Eb eacutenergie de transmission pour chaque bit dinformation du

message Gi fonction geacuteneacuteratrice des codes convolutifs Gkxn matrice geacuteneacuteratrice des codes en bloc Hkxn matrice de pariteacute des codes en bloc Info Biti i-egraveme bit du message Info Bit1xi message formeacute par les bits dinformation Info Bit0 Info Bit1

hellip Info Biti k nombre de bits formant le bloc dentreacutee traiteacute par un code en

bloc

x

K longueur de contrainte dun code convolutif L nombre des chemins candidats retenus agrave chaque iteacuteration de la

meacutethode List Decoding m m-egraveme eacutetat dun processus de Markov M nombre deacutetats diffeacuterents du processus de Markov n nombre de bits de sorties de lopeacuteration de codage de canal np niveau de profondeur de la repreacutesentation graphique du

codage convolutif (diagramme en arbre et en treillis) N0 densiteacute spectrale du bruit blanc gaussien Pe probabiliteacute de croisement du model de canal Binary

symmetric channel rt t-egraveme observation particuliegravere formeacutee par les n symboles [y1t

hellip ynt] reccedilus et ayant eacuteteacute geacuteneacutereacutes par le codage du t-egraveme symbole du message

R seacutequence de symboles reccedilue par un canal discret Rc rendement du code (taux de codage ()) Rc =bn st eacutetat du processus de Markov au temps t (profondeur t dans

larbretreillis de recherche) S seacutequence complegravete des eacutetats st du processus de Markov Si seacutequence complegravete i t aspect temporel dans les repreacutesentations graphiques du

codage convolutif T(DNJ) fonction de transfert dun code convolutif xt sortie geacuteneacutereacutee par le changement deacutetats du processus de

Markov du temps t-1 au temps t x1x i vecteur-ligne repreacutesentant le message codeacute formeacute par les bits

x0 x1 hellip xi-1 X seacutequence de sortie complegravete geacuteneacutereacutee par le codeur yit i-egraveme symbole reccedilu ayant eacuteteacute geacuteneacutereacute par le t-egraveme symbole du

message wi poids du message

Glossaire

arbre de recherche Search Tree bits de terminaison Tail Bits canal de type sans meacutemoire Memoryless Channel

() Dans certaines publications le rapport Rc=bn est eacutegalement appeleacute taux de codage

mecircme simplement taux Ce document utilise la nomenclature plus reacutepandue rendement du code

xi

capaciteacute du canal Channel Capacity chemin survivant Survivor Path code concateacuteneacute de maniegravere seacutequentielle Serially Concatenated Code code en bloc Bloc Code codeur exteacuterieur Outer Encoder codeur inteacuterieur Inner Encoder croissance minimale de la meacutetrique Minimum Distance Growth deacutecision ferme Hard Decision deacutecision souple ou pondeacutereacutee Soft Decision deacutecodeur exteacuterieur Outer Decoder deacutecodeur inteacuterieur Inner Decoder distance de Hamming Hamming Distance erreurs non deacutetecteacutees Undetected Errors eacutetalement Spreading gain de codage Coding Gain longueur de contrainte Constraint Length maximum de vraisemblance Maximum Likelihood poids dun message codeacute Weight of a code word processus de Markov Markov Process protection diffeacuterencieacutee contre les erreurs Unequal Error Protection quantiteacute dinformation Information quantity recouvrement derreurs Error Concealment reacutecursion arriegravere Backward Recursion reacutecursion avant Forward Recursion rendement du code Code Rate structure en treillis Trellis theacuteoregraveme de la non-optimaliteacute Theorem of non-optimality path tri Sorting

Fonctions matheacutematiques

A Bprop la valeur de A est proportionnelle agrave celle de B ln fonction logarithme naturel log fonction logarithmique sans deacutefinition de la base max fonction de maximisation min fonction de minimisation Pr[A] probabiliteacute de leacuteveacutenement A Pr[A | B] probabiliteacute conditionnelle de leacuteveacutenement A eacutetant

donneacute leacuteveacutenement B

xii

Pr[A B] probabiliteacute jointe des eacuteveacutenements A et B A arrondissement vers -infin A arrondissement vers +infin

( ) arg maxA

F A eacuteleacutement de lensemble A qui maximise la fonction F

Abreacuteviations Abreacuteviations matheacutematiques

BestMetrt meacutetrique cumuleacutee du chemin le plus probable au

niveau de profondeur t MaxContribBranche contribution maximale de la meacutetrique de branche MinMetrCroissance augmentation minimale de la meacutetrique cumuleacutee dun

chemin incorrect normaliseacutee par le nombre de symboles reccedilus

ValMaxMetrique valeur maximale de la repreacutesentation numeacuterique de la meacutetrique cumuleacutee

Institutions de standardisation

3GPP 3rd Generation Partnership Project (projet de partenariat pour la 3G)

ANSI American National Standards Institute (organisme priveacute de normalisation ameacutericain)

ETSI Institut europeacuteen des normes de teacuteleacutecommunication ISO Organisation internationale de normalisation ITU Union internationale des teacuteleacutecommunications ITU-R Secteur des radiocommunications de lunion internationale

des teacuteleacutecommunications Abreacuteviations techniques

2G Second Generation of Mobile Communication 3G Third Generation of Mobile Communication ACS Add-compare-select operation in the Viterbi Algorithm ADC Analog to Digital Converter AFC Automatic Frequency Control AGC Automatic Gain Control

xiii

AMR Adaptive Multi-Rate (Speech Coder) AMR-NB Narrow-Band (300-3400 Hz) Adaptive Multi-Rate

(Speech Coder) AMR-WB Wide-Band (50-7000 Hz) Adaptive Multi-Rate (Speech

Coder) ARQ Automatic Repeat Request ASIC Application Specific Integrated Circuit AWGN Additive White Gaussian Noise BER Bit Error Rate CCTrCH Coded Composite Transport Channel CMOS Complementary Metal Oxide Semiconductor CRC Cyclic Redundancy Code DAC Digital to Analog Converter DCH Dedicated Channel DLL Delay Locked Loop DPE Multipath Search ou Delay Profile Estimation DSP Digital Signal Processor DTX Discontinuous Transmission FDD Frequency Division Duplex FEC Forward Error Correction FER Frame Error Rate FPGA Field Programmable Gate Array GF Galois Field GSM Global System for Mobile Communications HDL Hardware Description Language IF Intermediate Frequency kbps Kilo Bit Per Second LCC Loosely Coupled Coprocessor LSB Least Significant Bit MAC Medium Access Control MIPS Millions of Instructions per Second MMuACCs Millions of Multiply-Accumulation Operations per

Second MOPS Millions of Operations per Second MRC Maximal Ratio Combination MSB Most Significant Bit MuACC Multiply-Accumulation Operation OCT Octal (base) PAM Pulse Amplitude Modulation PhCH Physical Channel RRC Radio Resource Control

xiv

RX Receiver SF Spreading Factor SIMD Single-Instruction Multiple-Data SNR Signal to Noise Ratio SoC System on Chip RF Radio Frequency TB Trace back operation in the Viterbi Algorithm TCC Tightly Coupled Coprocessor TFCI Transport Format Combination Indicator TrCH Transport Channel TTI Transmission Time Interval TX Transmitter UE User Equipment UEP Unequal Error Protection UMTS Universal Mobile Telecommunications System UTRA Universal Terrestrial Radio Access UTRAN Universal Terrestrial Radio Access Network VHDL Very High-Speed Integrated Circuit Hardware Description

Language WCDMA Wideband Code Division Multiple Access WCwMOPS Extended version of the wMOPS measure WcwOP Extended version of the wOP measure wMOPS Millions of weighted Operations per Second (ITUETSI) wOP Weighted Operations (ITUETSI)

xv

Table des matiegraveres

REacuteSUMEacute VII

DEacuteFINITIONS IX

TABLE DES MATIEgraveRES XV

1 INTRODUCTION 1

11 CONTEXTE 1 12 OBJECTIFS DE LA THEgraveSE 3 13 ORGANISATION DU DOCUMENT 4 14 CONTRIBUTIONS 6 REacuteFEacuteRENCES 8

2 NOTIONS DE BASE SUR LA PROTECTION DE CANAL 9

21 ARTICLE DE C E SHANNON 9 22 CONTROcircLE DES ERREURS PAR CODAGE 10 23 TYPES DE CODAGE DE CANAL 12

231 Codes en bloc lineacuteaires 12 232 Codes convolutifs 23 233 Utilisation des deux types de codage 33

24 CODES ENCHAIcircNEacuteS 33 25 CONCLUSIONS 34 REacuteFEacuteRENCES 35

3 STRUCTURE DE PROTECTION EacuteTABLIE PAR LES STANDARDS UMTS 37

31 MODEgraveLE HIEacuteRARCHIQUE DU SYSTEgraveME UMTS Agrave 3 NIVEAUX DABSTRACTION 37

32 STRUCTURE DE CODAGE DE CANAL ET MULTIPLEXAGE 38 33 EXEMPLE DrsquoAPPLICATION LE SERVICE DE PAROLE ADAPTIVE-

MULTI-RATE Agrave BANDE EacuteTROITE (AMR-NB) 42 34 CONCLUSIONS 46 REacuteFEacuteRENCES 46

xvi

4 TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX CELLULAIRES SANS FIL 49

41 INTRODUCTION 49 42 FACTEURS INFLUENCcedilANT LA TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX

CELLULAIRES SANS FIL 50 43 MODEacuteLISATION DU MOYEN DE TRANSMISSION 54

431 Systegraveme de perturbation artificielle des signaux 55 432 Modegravele de canal utiliseacute dans la suite des eacutetudes 59

44 CONCLUSIONS 60 REacuteFEacuteRENCES 61

5 MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 63

51 NOTIONS DE BASE 64 511 Repreacutesentations numeacuteriques des symboles reccedilus 64 512 Critegraveres de deacutecodage 64 513 Informations de deacutecodage disponibles 65

52 MEacuteTHODES DE DEacuteCODAGE RECHERCHANT LE MESSAGE LE PLUS PROBABLE 66

521 Deacutecodage Seacutequentiel 68 522 List Decoding 71 523 Algorithme de Viterbi 74

53 MEacuteTHODES DE DEacuteCODAGE ESTIMANT LES SYMBOLES LES PLUS PROBABLES 81

531 Symbol-by-symbol Maximum A Posteriori Algorithm 82 532 Algorithme Max-Log-MAP 85 533 Algorithme Log-MAP 87 534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA) 88

54 ANALYSE CRITIQUE DES MEacuteTHODES PREacuteSENTEacuteES 89 55 CONCLUSIONS 92 REacuteFEacuteRENCES 93

xvii

6 ARCHITECTURES SOFTWARE UTILISANT UN PROCESSEUR POUR LE TRAITEMENT NUMEacuteRIQUE DU SIGNAL 95

61 INTRODUCTION 96 611 Points forts des DSP 96 612 Exemple du standard GSM 97 613 Situation actuelle 98

62 CONTEXTE DE CODAGE UMTS 99 621 Protection de canal des standards UMTS 99 622 Configuration de travail du deacutecodeur 100

63 CRITEgraveRES DE SEacuteLECTION DES SOLUTIONS FONCTIONNELLES 101 631 Evaluation de la qualiteacute de protection 101 632 Evaluation de la complexiteacute de calcul 102 633 Consideacuterations sur limplantation software 107

64 APPROCHE CLASSIQUE LALGORITHME DE VITERBI 109 641 Fonction de meacutetrique 109 642 Meacutecanisme de deacutecodage du meilleur chemin 114 643 Performances de lalgorithme de Viterbi 119 644 Consideacuterations sur cette approche classique 122

65 DEacuteCODAGE DES CODES CONVOLUTIFS INCLUANT LA VALIDATION CRC 122

651 Ideacutee exploitation des informations du codage concateacuteneacute 123 652 Principe de deacutecodage livraison dune liste de messages 124

66 LIST VITERBI ALGORITHM 125 661 Introduction 125 662 Meacutethode Serial List Viterbi Algorithm 127 663 Performances de cette meacutethode iteacuterative 128

67 LIST DECODING INTEacuteGRANT LA VALIDATION DU CRC 135 671 Nouvelle strateacutegie de deacutecodage 135 672 Consideacuterations sur limplantation 137 673 Effet de compensation par lexploitation exhaustive

du codage CRC 138 674 Complexiteacute de calcul 141

68 COMPARAISONS DES MEacuteTHODES ITEacuteRATIVES PROPOSEacuteES 146 69 CONCLUSIONS 149 REacuteFEacuteRENCES 151

xviii

7 ARCHITECTURES HARDWARE BASEacuteES SUR CIRCUITS ASIC 155

71 INTRODUCTION 156 711 Marcheacute actuel des technologies 3G 156 712 Exigences des technologies UMTS 158

72 CONSIDEacuteRATIONS SUR LIMPLANTATION MATEacuteRIELLE 162 721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille 162 722 Description HDL du deacutecodeur 163 723 Meacutethode de deacutecodage lalgorithme de Viterbi 164

73 SYSTEgraveME DE BASE 165 731 Vue densemble 165 732 Synchronisation et reacutepartition entre blocs combinatoires

et non-combinatoires 166 733 Calcul des meacutetriques des branches 167 734 Seacutelection des chemins survivants 169 735 Prise de deacutecision 175 736 Deacutesignation du chemin permettant une prise de deacutecision

correcte 178 74 SYNTHEgraveSE DU SYSTEgraveME DE BASE 182

741 Strateacutegie adopteacutee 183 742 Synthegravese des modules 183 743 Surface de silicium 188 744 Vitesse dexeacutecution 190 745 Taux dactiviteacute des signaux liant les modules 191

75 STRATEacuteGIE PIPELINE POUR LA PRISE DE DEacuteCISION 195 751 Motivation 195 752 Approche pipeline 196 753 Ameacutelioration de la strateacutegie pipeline 197 754 Redondance des opeacuterations de reconstruction deacutetats 198 755 Consideacuterations finales 204

76 CONCLUSIONS 205 REacuteFEacuteRENCES 207

xix

8 COMPARAISON DES CARACTEacuteRISTIQUES DES DEUX ARCHITECTURES SOFTWARE ET HARDWARE 209

81 INTRODUCTION 209 82 DEacuteBIT DU TRAITEMENT 210

821 Approche software 210 822 Approche ASIC 220 823 Comparaison des potentialiteacutes de deacutebit de traitement

des deux approches 221 83 DISSIPATION DEacuteNERGIE PAR SYMBOLE TRAITEacute 224

831 Approche software 224 832 Approche ASIC 228 833 Comparaison des dissipations deacutenergie des deux approches

software et hardware 232 84 SURFACE DE SILICIUM 235

841 Processeurs DSP 235 842 Systegraveme de base ASIC 236 843 Comparaison des demandes en surface de silicium des deux

approches software et hardware 237 85 CONCLUSIONS DSP OU ASIC 238 REacuteFEacuteRENCES 242

9 CONCLUSIONS 245

REMERCIEMENTS 249

ANNEXES 251

CURRICULUM VITAE 287

xx

1

1 Introduction

Cette thegravese eacutetudie la reacutealisation software et hardware de meacutethodes pour le deacutecodage de donneacutees proteacutegeacutees par un codage convolutif Les codes convolutifs ainsi que la structure de protection traiteacutes sont ceux des standards de transmission numeacuterique sans fil UMTS

Ce chapitre preacutesente les motivations qui ont meneacute agrave ce travail de thegravese ses objectifs ainsi que lorganisation de ce rapport Finalement ce chapitre preacutesentera les principales contributions apporteacutees au domaine du deacutecodage convolutif

11 Contexte

Au cours des dix derniegraveres anneacutees nous avons assisteacute agrave une augmentation continue de la demande pour des systegravemes de transmission numeacuteriques fiables [Lust00] Lexplosion de leacutechange dinformations ainsi que les nouvelles possibiliteacutes offertes par le traitement numeacuterique du signal ont accentueacute cette tendance Parmi les critegraveres de deacuteveloppement des reacutecents standards de communication mobile la qualiteacute de la transmission est devenue un facteur deacuteterminant En effet comme les progregraves techniques et leacutevolution des besoins du marcheacute ont eacutelargi la gamme des applications potentielles (Table 1-1) la qualiteacute est devenue un eacuteleacutement indispensable des actuels systegravemes de communication numeacuterique La qualiteacute dune transmission numeacuterique deacutepend principalement de la probabiliteacute derreur des symboles transmis [Thit93] Cette probabiliteacute eacutetant fonction du rapport signal sur bruit une ameacutelioration de la qualiteacute de transmission peut ecirctre envisageacutee en augmentant la puissance deacutemission et en diminuant le facteur de bruit du reacutecepteur Malheureusement cette solution implique des coucircts eacutenergeacutetiques et technologiques ce qui en limite sensiblement lemploi Le controcircle des erreurs par codage est ainsi indispensable

2

Communication Personnels Bureautiques Voix Images Messages Accegraves aux reacuteseaux

drsquoinformations (Internet) Modem hellip

InformationsNouvelles Gestion de budget Cleacute eacutelectronique PasseportID hellip

Courrier eacutelectronique Agenda synchroniseacute Dictionnaire eacutevolutif Fax Divers outilsprogrammes hellip

Neacutegociation Monitorage meacutedical Seacutecuriteacute Tele-banking Reacuteservation de

restauranthocirctelspectacles AchatVente Transfert dargent Paiements hellip

Surveillance meacutedicale Diagnostic agrave distance Consultation agrave distance

Surveillance agrave distance Alarme GPS Appel durgence demande

drsquoaide hellip

Voyages Distraction hellip Roaming GuideCarte des villes Informations locales GPS Meacuteteacuteo Traductions hellip

Jeux eacutelectroniques PhotoVideacuteoMusiques RadioTV Chat hellip

hellip

Table 1-1 cateacutegories de services sans fil et exemples correspondants qui sont envisageables dans un proche futur [Gath02]

Lrsquoutilisation de techniques de traitement numeacuterique du signal et notamment le codage des informations agrave transmettre permet la deacutetection etou la correction drsquoeacuteventuelles erreurs de transmission Comme ces techniques permettent de controcircler les erreurs induites par le bruit du canal de transmission elles sont nommeacutees codages de canal Parmi les principales techniques existantes le codage en bloc et le codage convolutif sont preacutedominantes Le codage convolutif est fortement diffuseacute dans les systegravemes de communication numeacuterique sans fil La strateacutegie de base du codage consiste en lrsquoinsertion drsquoune quantiteacute controcircleacutee de redondance dans la seacuterie dinformations agrave envoyer au moyen dun nouveau codage des informations (Figure 1-1) La proceacutedure de geacuteneacuteration de

3

redondance traite les informations soit en blocs (codage en bloc) soit de maniegravere continue (codage convolutif) Laddition dune redondance confegravere au deacutecodeur la capaciteacute de deacutetection etou de correction dun nombre fini derreurs de transmission

codage decanal transmetteur reacutecepteur deacutecodage

de canal

donneacuteesreconstruitessignal

sourcede bruit

canal detransmission

donneacutees

validation delinteacutegriteacute des

donneacuteesreconstruites

Figure 1-1 positionnement du codage de canal dans les systegravemes de communication [Shan49]

Le nombre drsquoerreurs affectant la transmission des informations deacutepend du moyen de transmission Le deacutebit des erreurs et sa distribution temporelle diffegraverent si le moyen de transport est une ligne teacuteleacutephonique une ligne numeacuterique un lien satellite ou un canal de communication sans fil La qualiteacute de la transmission numeacuterique par reacuteseaux cellulaires sans fil est influenceacutee par des facteurs techniques tels que les types de modulation et dantenne des systegravemes de communication ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee son environnement la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier Pour reacuteduire les effets des erreurs de transmission les standards UMTS preacutevoient un codage de canal dont le niveau de protection peut ecirctre adapteacute aux exigences des applications Il est degraves lors eacutevident que lintroduction de techniques de codage de canal provoque une augmentation de la complexiteacute de calcul du traitement numeacuterique du systegraveme de communication Limportance de cette augmentation est fonction du niveau de protection envisageacute par lopeacuteration de codage lexigence dune protection plus efficace contre les erreurs de transmission implique lutilisation de meacutethodes de codage plus complexes rendant ainsi les proceacutedures de deacutecodage oneacutereuses

12 Objectifs de la thegravese

Lune des motivations agrave lorigine de leacutetablissement des nouveaux standards de communication mobile de la troisiegraveme geacuteneacuteration (3G) UMTS est

4

lameacutelioration de lefficaciteacute de protection contre les erreurs de transmission Ces standards reacutepondent agrave cette exigence par la mise agrave disposition de techniques de codage turbo ainsi que de codes convolutifs plus performants que ceux deacutefinis par les standards de la seconde geacuteneacuteration (2G) [ETSI909] [Ts25212] Laugmentation du deacutebit de transmission maximal et lemploi de codes convolutifs plus complexes augmentent sensiblement la complexiteacute de calcul des meacutethodes de deacutecodage dites classiques utiliseacutees dans les systegravemes de la 2G Ces meacutethodes classiques sont baseacutees sur lalgorithme de Viterbi Leacutetude preacutesenteacutee dans le cadre de ce rapport de thegravese eacutevalue lefficaciteacute des implantations software et des reacutealisations mateacuterielles des meacutethodes classiques de deacutecodage dans le nouveau contexte de codage des standards UMTS Des meacutethodes ameacutelioreacutees ainsi que des solutions inteacuteressantes sont proposeacutees La structure de protection des standards UMTS permet limplantation software de meacutethodes ameacutelioreacutees de deacutecodage meacutethodes qui exploitent iteacuterativement et exhaustivement les informations suppleacutementaires du codage en bloc cyclique Ces meacutethodes possegravedent des caracteacuteristiques inteacuteressantes du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage Le deacuteveloppement dune reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif est eacutegalement analyseacute Lutilisation de lalgorithme de Viterbi permet leacutetude de solutions alternatives de reacutealisation Les aspects consideacutereacutes sont le deacutebit de traitement et la dissipation deacutenergie Ce rapport se conclut par une comparaison des potentialiteacutes des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Lanalyse critique examine le deacutebit de traitement la dissipation deacutenergie et la surface de silicium des circuits Cette comparaison permet didentifier les points forts des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Les implantations software sont valideacutees en utilisant la structure de codage du service de parole AMR-NB agrave 122kbps [Ts26071] [Ts26101] Lrsquoanalyse de la reacutealisation mateacuterielle drsquoun deacutecodeur convolutif est faite sur la base de quatre codages convolutifs posseacutedant diffeacuterentes caracteacuteristiques de protection (standards GSM [ETSI909] et UMTS [Ts25212])

13 Organisation du document

Ce rapport de thegravese est organiseacute comme suit Le Chapitre 2 introduit briegravevement le lecteur dans le domaine du codage de canal en passant de la contribution pionniegravere donneacutee par Shannon aux principes du controcircle des erreurs par codage enchaicircneacute

5

La structure et les objectifs de la protection de canal eacutetabli par le standard UMTS [Ts25212] sont traiteacutes dans le troisiegraveme chapitre Le cas de la protection des donneacutees du service de parole AMR-NB agrave 122 kbps y est illustreacute agrave titre dexemple Cette structure sera ulteacuterieurement utiliseacutee au Chapitre 6 pour la validation et lanalyse des performances des implantations software des meacutethodes de deacutecodage les plus inteacuteressantes Le quatriegraveme chapitre traite la transmission de donneacutees par reacuteseaux cellulaires sans fils Les facteurs influanccedilant la transmission sont preacutesenteacutes ainsi que la modeacutelisation du canal de transmission En sappuyant sur les connaissances preacutesenteacutees du Chapitre 2 au Chapitre 4 le Chapitre 5 passe en revue les principes de deacutecodage des codes convolutifs ainsi que les meacutethodes les plus repreacutesentatives de ce codage Les meacutethodes preacutesenteacutees sont le Deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Bidirectional Soft Output Viterbi Algorithm Le Chapitre 5 se termine par une comparaison et une discussion des caracteacuteristiques algorithmiques et de la reacutealisation de ces algorithmes Limplantation software de meacutethodes de deacutecodage de codes convolutifs fait lobjet du sixiegraveme chapitre Ce chapitre analyse agrave la fois les potentialiteacutes de la structure de protection eacutetablie par le standard UMTS ainsi que les caracteacuteristiques des principes de deacutecodage afin de deacuteterminer les performances envisageables pour une implantation software Parmi les meacutethodes eacutetudieacutees on trouve non seulement lalgorithme de Viterbi mais eacutegalement des meacutethodes iteacuteratives de deacutecodage Ces meacutethodes iteacuteratives sont une nouvelle reacutealisation de la meacutethode List Viterbi Algorithm ainsi que la nouvelle meacutethode List Decoding inteacutegrant la validation CRC Le sujet du Chapitre 7 est la reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif La meacutethode choisie est lalgorithme de Viterbi Les analyses et les solutions proposeacutees se basent sur les reacutesultats de la synthegravese logique (outil Synopsys technologie UMC25-025microm [UMC25]) en deacutecomposant lalgorithme en eacuteleacutements constituants Parmi les solutions analyseacutees on trouve une strateacutegie novatrice pour lexeacutecution parallegravele de plusieurs opeacuterations de prise de deacutecision une meacutethode alternative dinitialisation de cette opeacuteration ainsi quune strateacutegie exploitant la redondance des opeacuterations de reconstruction

6

Le Chapitre 8 discute les coucircts des solutions software et hardware proposeacutees Les aspects consideacutereacutes sont la surface de silicium la rapiditeacute de traitement et la dissipation deacutenergie par symbole traiteacute Ce rapport se termine par les conclusions finales de leacutetude effectueacutee eacutetablies dans le Chapitre 9

14 Contributions

Cette section eacutenumegravere les contributions principales apporteacutees par cette eacutetude des meacutethodes de deacutecodage Apregraves une premiegravere partie introductive ce rapport preacutesente agrave la fois une analyse critique des meacutethodes de deacutecodage convolutif existantes la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software leacutetude dalternatives pour la reacutealisation mateacuterielle de lalgorithme de Viterbi ainsi quune analyse critique des reacutesultats de leacutetude Une premiegravere contribution est fournie en Chapitre 5 Elle consiste en la preacutesentation globale des principes de fonctionnement et des proprieacuteteacutes des algorithmes de deacutecodage convolutif y inclus de leacutetat de lart correspondant et de lanalyse critique des algorithmes les plus repreacutesentatifs Les contributions principales du Chapitre 6 sont la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software exploitant iteacuterativement les informations suppleacutementaires du codage en bloc CRC la meacutethode List Viterbi Algorithm (LVA) et la meacutethode List Decoding inteacutegrant la validation CRC Les contributions du Chapitre 6 sont

bull Proposition dune nouvelle reacutealisation de la meacutethode List Viterbi Algorithm Cette meacutethode qui envisage lrsquoameacutelioration de la qualiteacute de protection de lrsquoalgorithme de Viterbi a eacuteteacute originalement proposeacutee dans le contexte de codage des standards GSM Dans ce chapitre cette meacutethode est revaloriseacutee en proposant une nouvelle reacutealisation conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel montrant ainsi sa faisabiliteacute et son efficaciteacute de protection dans ce nouveau contexte de codage

bull Proposition dune nouvelle meacutethode de deacutecodage iteacuterative la meacutethode List Decoding inteacutegrant la validation CRC Une nouvelle reacutealisation plus efficace de lalgorithme List Decoding a permis la proposition de cette meacutethode de deacutecodage iteacuterative A la diffeacuterence de la meacutethode preacuteceacutedente cette meacutethode envisage la reacuteduction de la charge de calcul

7

tout en gardant la mecircme qualiteacute de protection que lrsquoalgorithme de Viterbi

bull Reacutealisation et analyse critique de limplantation software de lalgorithme de Viterbi conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel Les aspects de limplantation ses potentialiteacutes et sa complexiteacute de calcul sont preacutesenteacutes

Lanalyse critique des reacutealisations software preacutesenteacutees dans le Chapitre 6 utilise la structure de codage eacutetablie pour le service de parole AMR-NB agrave 122kbps ainsi quune strateacutegie deacutevaluation de la complexiteacute de calcul qui a eacuteteacute deacuteveloppeacutee speacutecifiquement pour ce domaine dapplication Les contributions du Chapitre 7 sont la proposition et lanalyse critique de solutions alternatives de reacutealisation mateacuterielle de lalgorithme de Viterbi

bull Meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation

bull Strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme

bull Strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations impliqueacutees dans le deacutecodage du chemin Lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages deacutepargne deacutenergie dune telle strateacutegie de prise de deacutecision

bull Explication des aspects lieacutes agrave la reacutealisation mateacuterielle dune meacutethode geacuteneacuterale de deacutecodage baseacutee sur lalgorithme de Viterbi

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie UMC25-025microm) La derniegravere contribution au domaine du deacutecodage convolutif est lanalyse critique des reacutealisations logicielles et mateacuterielles preacutesenteacutee au Chapitre 8 Ce chapitre compare les coucircts et les potentialiteacutes des deux approches software et hardware tels que le deacutebit de traitement la consommation drsquoeacutenergie et la surface de silicium du circuit Les potentialiteacutes sont estimeacutees sur la base des informations disponibles sur le marcheacute (printemps 2003) des DSP et sur la base de la technologie de synthegravese UMC25-025microm

8

Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

9

2 Notions de base sur la protection de canal

Ce chapitre introduit les notions fondamentales relatives agrave la protection des donneacutees contre les erreurs de transmission

La Section 21 reacutesume larticle pionnier de Shannon qui fixe les bases de la theacuteorie de linformation en stipulant quune transmission avec un taux derreurs controcirclable est possible agrave travers un canal bruiteacute

La Section 22 deacutecrit deux modes de controcircle des erreurs par codage soit le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) A partir de ces notions la section suivante introduit les principes du codage en bloc lineacuteaire et du codage convolutif Les caracteacuteristiques de ces codages ainsi que les capaciteacutes potentielles de correction derreurs sont ensuite discuteacutees

La Section 24 preacutesente un rappel des principes du controcircle des erreurs par codage enchaicircneacute Linteacuterecirct de lenchaicircnement de plusieurs opeacuterations de codage de canal ndashsoit en seacuterie soit en parallegravele- y est briegravevement preacutesenteacute

21 Article de C E Shannon

La theacuteorie de linformation est neacutee en 1948 avec larticle de C E Shannon A Mathematical Theory of Communication [Draj02] Cette theacuteorie deacuteterminait les limites de performance des systegravemes de communication numeacuterique et anticipait notablement les besoins pratiques de ce type de communication En geacuteneacuteralisant le scheacutema dun systegraveme de communication (Figure 2-1) Shannon preacutesente des notions qui savegravereront ecirctre agrave la base de la theacuteorie de

10

linformation Dans ce scheacutema Shannon identifie cinq eacuteleacutements principaux [Shan49]

bull La source dinformations cet eacuteleacutement geacutenegravere le message agrave transmettre message qui appartient agrave un groupe preacutedeacutefini de messages possibles

bull Le transmetteur cet eacuteleacutement est responsable de la preacuteparation du message de maniegravere agrave permettre sa transmission

bull Le canal le canal de transmission entraicircne des modifications du signal selon les caracteacuteristiques physiques du media de communication La modeacutelisation du canal se base sur plusieurs paramegravetres et eacuteleacutements dont certains possegravedent des proprieacuteteacutes non-preacutedictives

bull Le reacutecepteur la tacircche de cet eacuteleacutement est la reconstruction etou lestimation du message original agrave partir du signal reccedilu

bull Le destinataire cet eacuteleacutement constitue lentiteacute agrave qui le message est adresseacute

sourcedinformations transmetteur reacutecepteur destinataire

messagemessage

reconstruitou estimeacute

signalreccedilusignal

sourcede bruit

canal detransmission

Figure 2-1 modegravele geacuteneacuterique des systegravemes de communication [Shan49]

Parmi les nombreuses informations preacutesenteacutees dans larticle de Shannon il convient de citer limportance du seconde Theacuteoregraveme Ce theacuteoreme montre quune communication numeacuterique fiable est possible via un canal de transmission bruiteacute en recourrant agrave un systegraveme dencodage suffisamment complexe [Shan49] Toutefois Shannon nindique pas la meacutethode pour atteindre ce type de communication

22 Controcircle des erreurs par codage

Suite agrave la publication des articles de Shannon une strateacutegie de codage baseacutee sur la geacuteneacuteration du signal numeacuterique agrave transmettre en deux eacutetapes sest imposeacutee (Figure 2-2) La premiegravere eacutetape consiste principalement en leacutelimination de la redondance de linformation dans le message ou du moins

11

en sa reacuteduction Cette eacutetape est nommeacutee codage de source Dans une deuxiegraveme eacutetape le codage de canal insegravere une redondance controcircleacutee dans le message afin de permettre la gestion des erreurs de transmission par codage (Error Control Coding)

codage desource

codagede canal

messagemessagecodeacutesignal agravetransmettre

transmetteursourcedinformations

traitement numeacuterique du signal

Figure 2-2 principe du controcircle des erreurs par codage Encore aujourdhui plus de 50 apregraves la publication des articles de Shannon le principe de dissociation des deux eacutetapes de codage (codage de source et de canal) est toujours appliqueacute Toutefois on favorise actuellement leacutechange dinformations entre les divers eacuteleacutements de la chaicircne de transmission et de reacuteception Lobjectif du codage de canal est deacutetablir un systegraveme de controcircle des erreurs par un nouveau codage du message Ceci se reacutealise en creacuteant et en inseacuterant une certaine redondance au message Cette redondance permet au reacutecepteur de deacutetecter voire de corriger les erreurs de transmission (Figure 2-3) [Karn95] Naturellement la proceacutedure de geacuteneacuteration de la redondance doit ecirctre adapteacutee aux caracteacuteristiques du support de transmission et doit ecirctre connue par le systegraveme de deacutecodage Les meacutethodes de controcircle des erreurs se regroupent principalement en deux modes dutilisation le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) Lobjectif du mode ARQ est lajout dune petite quantiteacute de redondance au message de maniegravere agrave permettre la deacutetection deacuteventuelles erreurs de transmission Dans le cas dune deacutetection derreurs le deacutecodeur demande la retransmission du message erroneacute Par contre dans le cas du mode FEC la redondance introduite permet de deacutetecter et corriger au niveau du deacutecodeur un nombre fini derreurs La quantiteacute de redondance neacutecessaire est naturellement plus grande pour le mode FEC que pour le mode ARQ

12

deacutecodagede source

deacutecodagede canal

messagecorrigeacute etoucommunicationde la preacutesencederreurs

message codeacuteobtenu par ladeacutemodulationdu signal reccedilu

reacutecepteur

destinataire

traitement numeacuterique du signal

Figure 2-3 principe du deacutecodage dun message proteacutegeacute par codage de canal

Le principal deacutesavantage du mode FEC est lutilisation constante dune plus large bande passante mecircme en labsence derreurs Cette meacutethode sapplique surtout pour des systegravemes de communication ougrave le retard de retransmission nest pas acceptable Geacuteneacuteralement pour des systegravemes ayant des taux derreurs raisonnables les coucircts lieacutes aux demandes et aux retransmissions des blocs de signal erroneacutes (mode ARQ) sont normalement moins importants que ceux causeacutes par lusage dune bande passante plus large (mode FEC) On observe que pour des applications supportant un retard de transmission un mode mixte (hybrid ARQ-FEC) permettant de beacuteneacuteficier des avantages des deux approches est couramment utiliseacutee Gracircce agrave la redondance fournie par le mode FEC le systegraveme cherche deacuteventuelles erreurs qui sont ensuite corrigeacutees Si le taux derreurs est supeacuterieur agrave celui supportable par la meacutethode FEC la meacutethode ARQ intervient en exigeant la retransmission du message [Noki00] [Pana01]

23 Types de codage de canal

231 Codes en bloc lineacuteaires

Alors que Shannon a deacutefini les limites drsquoune communication fiable Hamming et Golay se sont inteacuteresseacutes au deacuteveloppement du premier systegraveme permettant un controcircle des erreurs ce qui a donneacute naissance agrave la branche matheacutematique de la theacuteorie du codage (coding theory) [Vale98] Le meacuterite de la deacutecouverte du premier code permettant la correction des erreurs est attribueacute agrave Hamming En 1946 alors qursquoil travaillait dans les laboratoires Bell il eacutetait frustreacute par la non-fiabiliteacute des ordinateurs de ce temps-lagrave les ordinateurs eacutequipeacutes de systegravemes de deacutetection derreurs arrecirctaient preacutematureacutement lexeacutecution des programmes en preacutesence derreurs Ainsi

13

Hamming chercha un moyen pour coder les donneacutees drsquoentreacutees de maniegravere agrave ce que les ordinateurs puissent non seulement deacutetecter les erreurs mais eacutegalement les corriger Il proposa de regrouper les donneacutees en paquets de 4 bits afin de deacuteterminer 3 bits suppleacutementaires par combinaison lineacuteaire (formule (21) Table 2-1) Les ordinateurs disposaient ainsi dinformations suffisantes pour pouvoir identifier et corriger lrsquoeacuteventuelle erreur preacutesente dans un tel bloc eacutelargi agrave 7 bits (Figure 2-8) [Vale98] En 1950 Hamming publia dans le The Bell System Technical Journal les reacutesultats de son eacutetude sur les codes corrigeant une erreur unique [Hamm50]

Message Bits de pariteacute

Message codeacute Message Bits de pariteacute

Message codeacute

0000 000 0000000 1000 101 1000101 0001 011 0001011 1001 110 1001110 0010 110 0010110 1010 011 1010011 0011 101 0011101 1011 000 1011000 0100 111 0100111 1100 010 1100010 0101 100 0101100 1101 001 1101001 0110 001 0110001 1110 100 1110100 0111 010 0111010 1111 111 1111111

Table 2-1 exemple de code de Hamming (74) Pour chaque groupe de 4 bits (message) ce code geacutenegravere 3 bits suppleacutementaires (bits de pariteacute) formant ainsi un message codeacute de 7 bits Leacutequation (21) deacutefinit la combinaison lineacuteaire permettant la geacuteneacuteration des messages codeacutes

Les premiers codes en bloc montraient des limites importantes la correction drsquoune erreur unique demandait un nombre conseacutequent de bits suppleacutementaires Cet aspect indeacutesirable poussa Golay dans le perfectionnement de la geacuteneacuteration de codes en bloc Ce travail permit la deacutefinition de codes dont les capaciteacutes de correction eacutetaient supeacuterieures agrave celles des codes initiaux de Hamming [Vale98] A partir de ce reacutesultat prometteur dautres codes ont eacuteteacute ensuite deacuteveloppeacutes et raffineacutes eacutelargissant la gamme des codes en bloc et le nombre de contributions au domaine de la theacuteorie du codage En particulier [Proa95] [Vale98] [Liew02]

bull Les codes Reed-Muller (RM) qui par rapport aux codes de Hamming et Golay permettent dobtenir une vitesse de deacutecodage supeacuterieure un

14

choix plus vaste de tailles des blocs sortants (code words) et une ameacutelioration des proprieacuteteacutes de correction

bull Les codes cycliques (Cyclic Redundancy Codes CRC) qui possegravedent des proprieacuteteacutes matheacutematiques particuliegraveres favorisant la reacutealisation mateacuterielle de lrsquoencodeur et du deacutetecteur drsquoerreurs (Figure 2-9) Ainsi ils sont principalement utiliseacutes pour la deacutetection drsquoerreurs

bull Le codes Bose-Chaudhuri-Hocquenghem (BCH) repreacutesentant une large classe des codes cycliques qui ont eacuteteacute deacutecouverts simultaneacutement par Hocquenghem et par le groupe Bose et Ray-Chaudhuri La taille des messages codeacutes vaut n=qm-1 ougrave m est une valeur entiegravere et q la taille de lalphabet du code Les codes BCH permettent lutilisation dun alphabet non-binaire (qgt2)1 Lutilisation des codes dans un champ de Galois (Galois fields) GF(q) plus eacutetendu (qgt2) permet dameacuteliorer la qualiteacute de protection contre les concentrations temporelles derreurs (Burst errors) Lexemple le plus repreacutesentatif est la famille de codes Reed Solomon

Principe des codes en bloc Chaque famille de codes possegravede des caracteacuteristiques et potentialiteacutes propres bien quelles aient eacuteteacute deacuteveloppeacutees en suivant le mecircme principe le regroupement des symboles dentreacutee en blocs afin de leur ajouter une quantiteacute controcircleacutee de redondance (Figure 2-4)

codeur enbloc (nk)

deacutecodeurcode en

bloc (nk)

message k symboles

communication de lapreacutesence derreurs

message codeacute(Code Word) n symboles

message codeacute(Code Word) reccedilu n symboles

message deacutecodeacute k symboles

Figure 2-4 signaux dentreacutee et de sortie du codage et du deacutecodage des codes en blocs

En consideacuterant le cas dun code binaire lineacuteaire (nk) la strateacutegie commune des codes en blocs est la modification de la repreacutesentation numeacuterique des 2k messages possibles dentreacutees Lutilisation dun espace de codage plus grand de celui utiliseacute pour repreacutesenter le message introduit la redondance neacutecessaire au codage de canal (Figure 2-5) Si la transformation dun espace de codage agrave lautre se passe de maniegravere lineacuteaire le code est appeleacute code lineacuteaire (linear code) [Lust00] 1 Un codage qui utilise un alphabet contenant un nombre qgt2 de symboles est dit non-

binaire (nonbinary coding)

15

2k messages

2k messages utiliseacutes sur 2n messagesdisponibles (Code Words)

Figure 2-5 principe de linsertion de redondance par une nouvelle repreacutesentation du message utilisant un plus grand espace de codage

Un exemple est le code de Hamming (74) [Proa95] qui utilise 16 messages codeacutes dans un espace de 128 messages possibles Le message codeacute x1x7 est formeacute par la multiplication (modulo 2) des bits dinformation du message Info Bits1x4 par une matrice dite geacuteneacuteratrice qui deacutecrit les combinaisons lineacuteaires utiliseacutees On a donc

0 1 6 0 1 3

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

x x x Info Bits Info Bits Info Bits

= sdot (21)

ougrave le vecteur-ligne Info Bits1x4 repreacutesente les 4 bits formant le message agrave proteacuteger En geacuteneacuteral un message codeacute xn obtenu en utilisant un code lineacuteaire (nk) est deacutecrit par la relation = sdot1timesn 1timesk ktimesn Info Bits Gx (22) ougrave le vecteur-ligne Info Bits1xk repreacutesentent les k bits du message et Gkxn est la matrice geacuteneacuteratrice Chaque code est normalement speacutecifieacute par le nombre de bits du message codeacute n et par le nombre k de bits du message original agrave proteacuteger (appeleacutes bits dinformations Information bits) Si la nouvelle repreacutesentation est formeacutee par la simple concateacutenation drsquoun nombre de bits suppleacutementaires le code est appeleacute systeacutematique et les bits suppleacutementaires sont deacutenommes bits de pariteacutes

16

(Parity bits) Le rapport entre les tailles de ces deux messages Rc=kn est appeleacute rendement du code (Code Rate) Distance de Hamming et poids dun message Un important paramegravetre caracteacuterisant le code en bloc est la distance minimale existant entre les divers messages codeacutes (Minimal distance of the code) [Proa95] qui se mesure par la distance de Hamming (Hamming Distance) La distance de Hamming dij entre deux messages i et j indique le nombre de cas ougrave les symboles correspondants des deux messages sont diffeacuterents En utilisant cette notion la distance minimale dmin du code est deacutefinie comme la distance dij la plus petite existant entre les messages geacuteneacutereacutes par le code en bloc min =min i j ijd dne (23)

Dans le cas de codes en bloc lineacuteaires la recherche de la distance minimale dmin peut ecirctre simplifieacutee Si les messages sont geacuteneacutereacutes par des fonctions lineacuteaires la diffeacuterence entre deux messages est eacutegalement un message [Proa95] Soit wi le poids (weigth) dun message codeacute i identifiant le nombre de ses eacuteleacutements non-nuls la distance minimale dmin (23) peut ecirctre deacutefinie ainsi

min =min

est le message codeacute zeacutero (message formeacute uniquement de zeacuteros)

iwd ne 0i i i

0i (24)

En utilisant la relation (24) la recherche de la distance minimale se reacuteduit au calcul du poids de 2kndash1 messages au lieu de deacuteterminer 2k-1middot(2kndash1) distance de Hamming [Proa95]

17

Qualiteacute de protection En labsence dun codage de canal ouet dune redondance suffisante des informations contenues dans le message agrave coder (dmin=1) il nest pas possible de deacutetecter si le message reccedilu est corrompu (Figure 2-6)

1110

1011

deacutecodeur

1110

1011

encodeur

Figure 2-6 envoi dun message sans protection Le deacutecodeur na aucun moyen de deacutetecter la transmission erroneacutee des donneacutees

En preacutesence dun message codeacute (dmingt1) le deacutecodeur est confronteacute agrave deux situations possibles (Figure 2-7)

bull le message reccedilu appartient au sous-ensemble des messages utiliseacutes lors de lencodage

bull le message reccedilu appartient au sous-ensemble des messages qui ne sont pas utiliseacutes par le codeur en bloc Cette situation indique quon est en preacutesence dune transmission erroneacutee du message

Un message est deacutefini comme valide sil appartient au groupe de messages utiliseacutes par le codage en bloc La meacutethode de base pour veacuterifier la validiteacute dun message utilise une matrice Hkxn appeleacutee matrice de pariteacute (parity-check matrix) Cette matrice est deacuteriveacutee de la matrice de geacuteneacuteration Gkxn (22) de maniegravere agrave ce que la relation

est le vecteur ligne repreacutesant les bits du message reccediluest le vecteur ligne formeacute que par des zeacuteros

= sdot Tktimesn 1timesn 1timesk

1timesn

1timesk

rH r 0

0 (25)

soit satisfaite seulement en preacutesence dun message valide Par rapport agrave lexemple (21) preacuteceacutedemment illustreacute sa matrice de pariteacute est

18

1 1 1 0 1 0 00 1 1 1 0 1 01 1 0 1 0 0 1

=3times7H (26)

[Proa95] Lrsquoinvaliditeacute drsquoun message correspond ainsi neacutecessairement agrave une transmission erroneacutee des donneacutees

deacutecodeur

1010 011

000 1011

1010 011

000

1010 010

0101011

encodeur

1011

sous-ensemble demessages codeacutes utiliseacutespar le codeur en bloc

sous-ensemble de messagescodeacutes non-utiliseacutes par lecodeur en bloc

Figure 2-7 envoi dun message proteacutegeacute par un code de Hamming (74)

Si lon considegravere agrave titre dexemple un code en bloc avec distance minimale de 3 (Figure 2-8) un tel code garantit la deacutetection de 2 erreurs de transmission qui pourraient affecter le message codeacute Les potentialiteacutes de deacutetection sont supeacuterieures agrave ce seuil Toutefois un nombre derreurs supeacuterieur agrave (dmin-1) peut transformer le message codeacute par lencodeur en un message valide qui fausse la meacutethode de deacutetection (25) Cette situation potentielle est nommeacutee situation de fausse validation Les performances de correction derreurs dun code en bloc sont eacutegalement deacutetermineacutees par les distances de Hamming existant entre les messages utiliseacutes pour le codage Selon le principe de correction derreurs par deacutetermination du message valide le plus proche (en termes de distance de Hamming) lutilisation dun code en bloc garantit la correction de ( )min 1 2d minus erreurs Le

19

code en bloc utiliseacute agrave titre dexemple (Figure 2-8) garantit ainsi la deacutetection de 2 erreurs et la correction dune seule erreur de transmission

distance deHamming de 1 bit

message i1010 011

message j1011 000

deacutetection derreurs

correction derreurs

deacutetection derreurs

correction derreurs

1010 010 1011 010

Figure 2-8 exemple graphique de la potentialiteacute de deacutetection et de correction derreurs par la deacutetermination du message valide le plus proche

Codes en bloc CRC utiliseacutes par les standards UMTS Les standards UMTS disposent de quatre codes CRC [Ts25212] pour le controcircle de labsence derreurs dans les messages livreacutes au destinataire Les notions de base permettant de comprendre les principes des codes en bloc CRC sont deacutecrites ci-apregraves Notions de base des codes en bloc CRC Un code lineacuteaire (nk) est nommeacute code cyclique si tous les deacutecalages cycliques (cyclic shift) dun message codeacute sont eacutegalement des messages codeacutes [Lin82] [Proa95] Dans le domaine du codage cyclique on associe au message codeacute V=[vn-1hellip v2 v1 v0] le polynocircme v(X) de degreacute infeacuterieur ou eacutegal agrave n-1 tel que

1 2

1 2 1 0( ) pour les codes binaires (2) pour 0 1 1

nn

i

v X v X v X v X vv GF i n

minusminus= + + + +

isin = minus (27)

La meacutethode de codage CRC se base sur la geacuteneacuteration du message codeacute v(X) par la multiplication polynomiale (modulo 2 pour les codes binaires) du message u(X) avec le geacuteneacuterateur polynomial g(X) donneacute par

20

11 0 1 01

1 21 2 1 0

) )

( ) ( ) ( ) ( (

( )

k n kk n k

nn

v X u X g Xu X u X u g X g X gv X v X v X v

minus minusminus minus

minusminus

sdot =

= sdot == + + + + + +

= + + + +

(28)

Si le polynocircme geacuteneacuterateur g(X) de degreacute n-k est un facteur du polynocircme Xn+1 ce polynocircme geacutenegravere un code en bloc cyclique (nk) [Lin82] [Pres92] [Proa95] [Will99] Etant donneacute le geacuteneacuterateur polynomial g(X) on peut demander que le message codeacute v(X) contienne directement le message u(X) tout en respectant les caracteacuteristiques des codes en bloc cycliques Une solution est la formation du message codeacute v(X) par la multiplication du message u(X) avec le polynocircme Xn-k en additionnant successivement le polynocircme b(X) qui garanti la divisibiliteacute du polynocircme v(X) par g(X) (28) ( ) ( )( ) ( ) ( )n kv X X u X b X a X g Xminus sdot= + = sdot (29) La tacircche de lencodeur systeacutematique est ainsi de deacuteterminer le polynocircme b(X) qui correspond au reste de la division du terme Xn-kmiddotu(X) par le geacuteneacuterateur polynomial g(X) tel que

( )

( )( ) resten kX u Xb Xg X

minus sdot

= (210)

Cette tacircche est reacutealisable mateacuteriellement en utilisant un registre agrave deacutecalage avec une boucle de contre-reacuteaction utilisant des additions modulo 2 (Figure 2-9) [Proa95]

bit dentreacutee (message)

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11++ + + +bit de sortie(message codeacute)

(1)

(2)

+ addition modulo 2

Figure 2-9 scheacutema agrave bloc de lencodeur systeacutematique CRC agrave 12 bits avec geacuteneacuterateur polynomial g(X)=X12+ X11+ X3+ X2+ X+1 Apregraves le traitement du dernier bit du message le contenu des 12 bascules repreacutesente le polynocircme b(X)

21

Le standard UMTS met agrave disposition quatre codes cycliques systeacutematiques (Table 2-2) mais il modifie lordre des bits de pariteacute lors de leur concateacutenation [Ts25212] Lajout des bits de pariteacute seffectue dans lordre inverse en commenccedilant par le bit b0 jusquau bit bn-k-1

Codeur Longueur [bits]

Taille des messages (n k)

Geacuteneacuterateur polynomial g(X)

gCRC24(X) 24 (223-1 223-25) X24 + X23 + X6 + X5 + X + 1gCRC16(X) 16 (32767 32752) X16 + X12 + X5 + 1gCRC12(X) 12 (2047 2035) X12 + X11 + X3 + X2 + X + 1gCRC8(X) 8 (127 119) X8 + X7 + X4 + X3 + X + 1

Table 2-2 les geacuteneacuterateurs polynomiaux utiliseacutes dans le standard de codage de canal UMTS [Ts25212]

Deacutecodage des codes CRC Etant donneacute que les codes CRC sont des codes en blocs ils sont capables de deacutetecter et de corriger des erreurs Toutefois ils ne sont souvent utiliseacutes que comme moyen de deacutetection derreurs Dans le contexte des codes CRC systeacutematiques deux meacutethodes principales sont utiliseacutees pour la deacutetection derreurs La premiegravere meacutethode consiste agrave diviser le message reccedilu par son geacuteneacuterateur polynomial g(X) La valeur du reste de cette division permet la deacutetection et leacuteventuelle correction derreurs La reacutealisation mateacuterielle de cette meacutethode utilise un registre agrave deacutecalage avec une boucle de contre-reacuteaction et des opeacuterations dadditions modulo 2 [Proa95] La seconde meacutethode calcule les bits de pariteacute en utilisant la partie du message reccedilu qui repreacutesente les bits dinformation Elle compare ensuite ces bits de pariteacute avec ceux reccedilus dans le message codeacute Situation particuliegravere de codage Si la taille km des messages agrave proteacuteger ne sadapte agrave aucun code cyclique on peut envisager dutiliser un code cyclique (nk) traitant des messages plus larges (k gt km) [Lin82] En exploitant ce code cyclique (nk) on traite seulement les messages dont les L=(k- km) bits de poids fort (MSB) sont des zeacuteros Leacutelimination de ces L bits geacutenegravere un code lineacuteaire (n-Lkm) qui nest deacutesormais plus un code cyclique ce code est nommeacute Shortened cyclic code

22

Toutefois cette modification ne compromet pas lutilisation des meacutethodes de codage et de deacutetection des erreurs preacuteceacutedemment preacutesenteacutees Par rapport agrave la qualiteacute de protection du code (n-Lkm) ce code garde les mecircme qualiteacutes que celles du code cyclique original (nk) Codes en bloc conclusions Malgreacute le succegraves du codage en bloc ce type de codage comporte des inconveacutenients importants [Liew02] [Vale98] Le regroupement du message en bloc implique normalement une latence due agrave la neacutecessiteacute de disposer de tous les symboles du message avant de proceacuteder au codage ou au deacutecodage2 Les codes travaillant sur des grands blocs peuvent ainsi entraicircner une forte latence ce qui rend le retard algorithmique du systegraveme important De plus la proceacutedure de deacutecodage est affecteacutee par un inconveacutenient suppleacutementaire le deacutecodeur a impeacuterativement besoin de connaicirctre la position du deacutebut et de la fin du message codeacute La connaissance de la position correcte du premier symbole du message dans le flux de bits est ainsi indispensable au bon deacuteroulement des proceacutedures de controcircle et de correction derreurs Le dernier inconveacutenient des codes en bloc provient du fait que le deacutecodage de canal a eacuteteacute initialement consideacutereacute uniquement comme un eacuteleacutement qui sinsegravere entre le reacutecepteur et le destinataire (Figure 2-3) A lorigine les proceacutedures de deacutecodage des codes en bloc ont ainsi eacuteteacute deacuteveloppeacutees en envisageant le traitement de messages codeacutes avec la mecircme repreacutesentation numeacuterique que le message provenant de la source drsquoinformation (situation du deacutecodage ferme Hard Decoding) Pourtant dans le but drsquoatteindre les limites preacutedites par Shannon lrsquoutilisation drsquoune quantification moins rigide (situation du deacutecodage souple ou pondeacutereacute Soft Decoding) est devenue impeacuterative une meilleure qualiteacute de correction ne peut ecirctre atteinte quen augmentant le flux de lrsquoinformation mise agrave disposition du deacutecodeur Linconveacutenient des codes en bloc est que les meacutethodes de correction deacuteveloppeacutees sadaptent mal agrave ces situations de deacutecodage souple en raison de leur incapaciteacute de traiter le flux suppleacutementaire dinformations disponible

2 Certaines familles de codes en bloc systeacutematiques possegravedent des caracteacuteristiques

particuliegraveres du codage qui offrent la possibiliteacute de reacuteduire efficacement la latence du deacutecodage Un exemple est donneacute par la famille de codes CRC

23

232 Codes convolutifs

Les principaux inconveacutenients du codage en bloc peuvent ecirctre eacuteviteacutes par une approche diffeacuterente de la probleacutematique du codage cest le cas du codage convolutif (Convolutional Coding) [Vale98] Preacutesenteacute par Elias en 1955 ce type de codage ajoute systeacutematiquement de la redondance au message codeacute au fur et agrave mesure que les symboles du message (chacun formeacutes de b bits) sont livreacutes au codeur Le message codeacute se forme ainsi iteacuterativement en utilisant un registre agrave deacutecalage Ce registre est dimensionneacute pour accueillir les K symboles les plus reacutecents du message et la geacuteneacuteration du message codeacute utilise n fonctions lineacuteaires algeacutebriques Ces fonctions sont appeleacutees fonctions geacuteneacuteratrices (linear algebraic function generators) Un exemple de codeur convolutif est illustreacute agrave la Figure 2-10

+

+

premier bit de sortiesecond bit de sortie

troisiegraveme bit de sortie

bit dentreacuteez-1 z-1

+ addition modulo 2

Figure 2-10 exemple de codeur convolutif avec une longueur de contrainte K=3 Ce codeur geacutenegravere 3 bits de sortie (n=3) pour chaque bit dentreacute (b=1)

A chaque instant t le codeur de la Figure 2-10 produit trois bits de sortie en fonction des trois bits dentreacutee les plus reacutecents selon les fonctions algeacutebriques suivantes

premier bit ( ) bit dentreacutee( )second bit ( ) bit dentreacutee( ) bit dentreacutee( 2)troisiegraveme bit ( ) bit dentreacutee( ) bit dentreacutee( 1) bit dentreacutee( 2)

t tt t t

t t tt

== oplus minus= oplus minusoplus minus

(211)

Le signal de sortie se forme iteacuterativement en enchaicircnant les n bits de sortie du codeur convolutif (Figure 2-11)

24

bit de sortie0(t) bit de sortie1(t)bit de sortie2(t-1) bit de sortie2(t)

Figure 2-11 repreacutesentation graphique du signal de sortie du codeur convolutif de la Figure 2-10

Le nombre de symboles K qui contribuent agrave la geacuteneacuteration des n bits de sortie est nommeacute longueur de contrainte du code (Constraint Length) Similairement au cas des codes en bloc le rendement du code Rc indique toujours le rapport entre les nombres de bits dentreacutee et de sortie (Rc=bn) Les fonctions geacuteneacuteratrices Gi deacutecrivent les fonctions lineacuteaires algeacutebriques du code En utilisant lexemple de la Figure 2-10 chaque fonction algeacutebrique (211) est reformuleacutee ainsi

i

bit de sortie ( ) (2) bit dentreacutee( ) (1) bit dentreacutee( 1) (0) bit dentreacutee( 2)

() [01] [ (2) (1) (0)] 0 1 et 2i

i

i

i

i i i

t g tg tg t

g g g ig

= sdotoplus sdot minusoplus sdot minus

isin =iG

(212)

Selon cette repreacutesentation (212) les fonctions geacuteneacuteratrices G0=[100] G1=[101] et G2=[111] deacutecrivent exhaustivement les fonctions algeacutebriques (211) utiliseacutees par le codeur analyseacute Dans le domaine du codage convolutif il est usuel dindiquer les valeurs de ces fonctions Gi en repreacutesentation octale (base 8) Si un des bits de sortie transmet systeacutematiquement le bit dentreacutee sans aucune modification le code est dit systeacutematique Bien que les codes systeacutematiques soient moins performants par rapport aux potentialiteacutes de protection des codes non-systeacutematiques ils offrent lavantage consideacuterable decirctre intrinsegravequement non catastrophiques3 [Thit93] Les codes convolutifs ne se distinguent pas seulement sur la base de la longueur de contrainte du rendement du code et des fonctions Gi mais aussi selon la structure propre au registre agrave deacutecalage Dans le cas de lrsquoexploitation drsquoune boucle de contre-reacuteaction interne (feedback) le code est dit reacutecursif [Thit93] Un tel code est illustreacute agrave la Figure 2-12

3 Les codes sont appeleacutes catastrophiques sils creacuteent les conditions pour lesquelles un

nombre fini derreurs de transmission peut engendrer un nombre infini derreurs dans le message deacutecodeacute [Thit93]

25

+

premier bit de sortie

second bit de sortie

bit dentreacuteez-1 z-1+

Figure 2-12 exemple de code convolutif reacutecursif avec une longueur de contrainte K=3 (rendement Rc=12) [Thit93] Le registre agrave deacutecalage preacutesente une boucle de contre-reacuteaction permettant dadditionner (modulo 2) le signal de sortie du reacutegistre agrave deacutecalage au signal dentreacutee

Le standard UMTS [Ts25212] met agrave disposition deux codeurs convolutifs posseacutedant chacun une longueur de contrainte de 9 Leurs fonctions geacuteneacuteratrices sont G0=561oct et G1=753oct pour le code ayant un rendement Rc=12 et G0=557oct G1=663oct et G2=711oct pour le code ayant un rendement de Rc=13 (Figure 2-13)

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +

G0=557oct

+ + +G2=711oct

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +G0=561oct

+G1=753oct

+ +

+G1=663oct

+ + + + + +

+ +

+ addition modulo 2 Figure 2-13 repreacutesentation graphique des deux codes convolutifs mis agrave disposition pour la protection des donneacutees par le standard UMTS [Ts25212]

Principe de protection formation de la redondance Analytiquement le codeur convolutif protegravege le symbole dentreacutee en tenant compte des K-1 derniers symboles dentreacutee Pratiquement il sagit dune machine deacutetats qui produit une sortie en fonction de lentreacutee (nouveau

26

symbole) et de leacutetat de la meacutemoire (formeacutee par les K-1 anciens symboles dentreacutee) Du point de vue de la protection de canal la redondance est geacuteneacutereacutee principalement par laugmentation de la taille du message et renforceacutee ensuite par la participation des derniers K-1 symboles agrave la proceacutedure de codage Dans le cas ideacuteal du codage dune suite infinie de symboles chaque symbole dentreacutee prend part K fois agrave la geacuteneacuteration des n bits de sortie Linfluence de chaque symbole seacutetale ainsi sur un nombre important de bits de sortie (Kmiddotn bits) Il en reacutesulte quen augmentant ces deux paramegravetres (la longueur de contrainte du code K et le nombre de bits de sortie n) on renforce la redondance du codage convolutif ce qui permet de disposer dun systegraveme de protection plus efficace contre les erreurs de transmission Il faut aussi souligner que le changement du nombre de bits de sortie n entraicircne la modification du rendement du code Rc Repreacutesentation du deacuteroulement du codage Trois meacutethodes sont communeacutement utiliseacutees pour la repreacutesentation graphique du deacuteroulement du codage convolutif le diagramme en arbre (Tree Diagram Figure 2-14) le diagramme deacutetats (State Diagram Figure 2-15) et le diagramme en treillis (Trellis Diagram Figure 2-16) [Proa95] En utilisant agrave titre dexemple le code de la Figure 2-10 la Figure 2-14 illustre le deacutebut de la proceacutedure de codage par un diagramme en arbre Le critegravere agrave la base de cette repreacutesentation est lrsquoillustration du comportement de la proceacutedure de codage agrave chaque instant t en fonction des symboles potentiellement deacutejagrave codeacutes Toutefois la reacutepeacutetition (persistante) de la mecircme structure rend cette repreacutesentation rapidement trop compliqueacutee en pratique Lapproche du diagramme deacutetats illustreacute agrave la Figure 2-15 est due au codeur convolutif qui se conduit comme une machine deacutetats La valeur des bits de sortie est fonction du symbole drsquoentreacutee et de la meacutemoire du codeur formeacutee par K-1 symboles Ainsi pour la suite de ce document le mot eacutetat indiquera les symboles formant la meacutemoire temporaire du codeur

27

temps t

000

111

000

111

001

110

001

111

000

110

011

100

010

101

sortie ducodeur

bit dentreacutee 0

bit dentreacutee 1

00

00

00

10

10

11

01

00

10

01

11

00

10

01

11

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

Figure 2-14 diagramme en arbre du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

00 11

10

01

1111

0000

1100

0001

1110

1101

0010

0011

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

ZHJK

Figure 2-15 diagramme deacutetats du codeur de la Figure 2-10

Lavantage de cette approche est la repreacutesentation compacte du deacuteroulement du codage Si lrsquoaspect temporel du codage est aussi demandeacute le diagramme en treillis est la meacutethode de repreacutesentation optimale (Figure 2-16) Cette repreacutesentation modifie la meacutethode de diagramme deacutetats en lui ajoutant la dimension du deacuteroulement dans le temps

28

00 00

10

00

01

10

11

00

01

10

11

0000

1000

0000

1000

0001

1100

temps t

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

ZHJK

Figure 2-16 diagramme en treillis du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

Etat de la meacutemoire du codeur convolutif au deacutebut et agrave la fin de la proceacutedure de codage En raison de leffet meacutemoire du codage convolutif le caractegravere univoque du codage ne peut ecirctre obtenu au deacutebut de la proceacutedure de codage que par lattribution dune valeur arbitraire agrave cette meacutemoire (K-1 symboles) Dans la suite de ce document le terme condition de deacutepart se reacutefegravere agrave linitialisation de la meacutemoire du codeur convolutif Lors du codage de messages contenant un nombre fini de symboles leffet meacutemoire du codage est agrave lorigine dun inconveacutenient si la proceacutedure de geacuteneacuteration des bits de sortie sarrecircte immeacutediatement degraves le codage du dernier symbole du message on est confronteacute agrave une situation de protection ineacutegale des symboles agrave transmettre Contrairement aux symboles preacuteceacutedents les derniers K-1 symboles ne participent pas K fois agrave la proceacutedure de codage Par conseacutequent linformation de ces symboles seacutetale sur un nombre reacuteduit de bits de sortie (ltKmiddotn bits) diminuant la qualiteacute de protection de ces bits Diverses solutions ont eacuteteacute deacuteveloppeacutees afin de remeacutedier agrave une telle situation de protection ineacutegale Le systegraveme le plus populaire parmi les standards de communication propose lenchaicircnement dune seacuterie de K-1 symboles (Tail Bits) agrave la fin du message agrave coder La seule fonction de ces symboles (deacutenommeacutes dans ce document bits de terminaison) est de sassurer que tous les symboles du message contribuent K fois agrave la proceacutedure de codage eacutetant donneacute que ces bits ne transmettent pas dinformation la valeur de ces bits de terminaison est insignifiante

29

Du point de vue du deacutecodage la connaissance des valeurs de ces bits de terminaison permet une ulteacuterieure ameacutelioration des capaciteacutes de correction derreurs Ces valeurs deacuteterminent leacutetat final de la meacutemoire du codeur ce qui repreacutesente une information importante pour lopeacuteration de deacutecodage Dans la suite de ce document on entendra par conditions drsquoarrecirct de la proceacutedure de codage les informations tireacutees du codage de ces bits de terminaison la valeur de ces bits eacutetant fixeacutee agrave priori Le prix agrave payer pour une telle solution est la geacuteneacuteration dun message codeacute qui est allongeacute de (K-1)middotn bits de sortie en raison du codage suppleacutementaire de K-1 bits (bits de terminaison) Une solution alternative agrave la situation de protection ineacutegale est deacutefinie par le principe du Tail-Biting Trellis Code [Lust00] Ce principe pose une contrainte suppleacutementaire agrave la proceacutedure de codage les eacutetats de la meacutemoire du codeur au deacutebut et agrave la fin de la proceacutedure de codage dun bloc de symboles doivent ecirctre eacutegaux Cette information suppleacutementaire est utiliseacutee efficacement lors du deacutecodage des derniers symboles du message ce qui augmente la qualiteacute de la protection Lavantage de cette meacutethode est quelle ne neacutecessite ni linsertion de bits suppleacutementaires au message ni la deacutefinition des eacutetats de deacutepart et darriveacutee de la meacutemoire du codeur convolutif Capaciteacute de correction des codes convolutifs La capaciteacute de correction du codage convolutif peut ecirctre estimeacutee de maniegravere analogue agrave celle du codage en bloc La capaciteacute de correction des codes convolutifs est ainsi eacutevalueacutee agrave partir de la distance minimale existant entre deux messages codeacutes Dans le contexte du codage convolutif cette distance est appeleacutee distance libre (dfree) La recherche de la distance libre beacuteneacuteficie de la proprieacuteteacute de lineacuteariteacute des fonctions geacuteneacuteratrices qui permet de se concentrer uniquement sur les distances entre les messages potentiels et le message zeacutero4 Malheureusement la meacutethode de recherche (24) utiliseacutee par les codes en blocs ne sadapte pas de maniegravere optimale agrave ce contexte de codage principalement agrave cause de la variabiliteacute de la taille des messages

4 Le message zeacutero est le message codeacute contenant une seacutequence infinie de zeacuteros geacuteneacutereacute

par le codage dune seacuterie infinie de bits dinformations zeacutero

30

Fonction de transfert dun code convolutif Les valeurs des distances entre les messages codeacutes peuvent ecirctre extraites du diagramme deacutetats du code analyseacute [Proa95] Le code convolutif illustreacute agrave la Figure 2-10 est utiliseacute ici pour deacutecrire la meacutethode permettant deacutetablir la qualiteacute de protection du code convolutif et les proprieacuteteacutes de ses distances Son diagramme deacutetats est illustreacute en Figure 2-15 Etant donneacute quon envisage lobtention des distances de Hamming entre les divers messages et le message zeacutero on modifie le diagramme deacutetats original de la Figure 2-15 de la maniegravere suivante (Figure 2-17) [Proa95]

bull On eacutelimine la boucle de leacutetat 00 Etant donneacute que le message zeacutero est le message de reacutefeacuterence cette boucle napporte aucune contribution agrave la deacutetermination des distances de Hamming

bull Leacutetat 00 est scindeacute en deux Ces deux eacutetats repreacutesentent leacutetat de deacutepart et darriveacutee du nouveau diagramme deacutetats Lobjectif est de prendre en compte uniquement les messages divergeant du et ensuite convergeant vers le message zeacutero

bull On attribue aux eacutetats du diagramme les symboles XA XB XC XD XE bull Les transitions entre les eacutetats sont annoteacutees de la maniegravere suivante

o Le poids5 des bits de sortie est indiqueacute par lexposant de la lettre D

o Le poids du symbole dentreacutee du codeur est deacutesigneacute par lexposant de la lettre N

o Chaque transition est indiqueacutee par la lettre J Cette notation permet de connaicirctre le nombre total de transitions pendant lesquelles le message analyseacute diverge du message zeacutero

En utilisant un tel diagramme deacutetats (Figure 2-17) qui contient donc cinq eacutetats les eacutequations des eacutetats peuvent ecirctre formuleacutees ainsi

3B A C

B DC2 2

D B D2

E C

X X XX X XX X XX X

JND JNDJD JDJND JNDJD

+

+

+

====

(213)

5 Le nombre de bits non-zeacutero

31

La fonction de transfert T(DNJ) du code est deacutefinie comme le rapport existant entre leacutetat final (XE) et celui de deacutepart (XA) En utilisant les quatre eacutequations donneacutees par (213) on obtient la fonction de transfert suivante6

( ) ( )

3 6

2

3 6 4 2 8 5 2 8 5 3 10 6 3 10

1 1

2

E

A

X J NDT D N J X JND J

J ND J N D J N D J N D J N D

= =minus +

= + + + + sdot

(214)

Le premier terme (J3ND6) de la fonction de transfert de (214) indique quil existe un message codeacute avec une distance de Hamming de 6 par rapport au message zeacutero Ce message codeacute diverge sur trois peacuteriodes avant de converger vers le message zeacutero (J3) et lexposant de la lettre N indique que le message ne possegravede quun seul bit dinformation 1 Les indications fournies par les six premiers termes7 de cette fonction de transfert sont deacutecrites agrave la Table 2-3

00

11

10 01 00JND3 JD

JND

JND2 JD

JND2

JD2

Etat XA Etat XB Etat XC

Etat XD

Etat XE Figure 2-17 diagramme deacutetat preacutedisposeacute pour la deacutetermination de la qualiteacute de protection du code convolutif de la Figure 2-10 La lettre J indique la transition lexposant de la lettre N deacutesigne le poids du symbole dentreacutee et celui de la lettre D le poids des bits de sortie

La distance minimale existant entre deux messages codeacutes est indiqueacutee par le plus petit exposant de la lettre D des termes de la fonction de transfert Dans notre cas (214) la distance libre dfree correspond agrave 6 (Table 2-3)

6 La fonction de transfert peut ecirctre directement obtenue en appliquant la regravegle de Mason

(Masons rule) au diagramme de la Figure 2-17 7 Les six termes comprenant les exposants de la lettre D les plus petits Cest-agrave-dire les

six messages codeacutes posseacutedant les distances de Hamming les plus petites

32

En consideacuterant la distance minimale dfree et une correction derreurs par seacutelection du message codeacute le plus proche le codage convolutif assure la correction de ( )1 2freed minus erreurs de transmission affectant le message codeacute reccedilu Lameacutelioration de la protection contre les erreurs peut ecirctre ainsi reacutealiseacutee en augmentant la longueur de contrainte K du code convolutif8 et le nombre n de bits de sortie9 Le paramegravetre modifieacute est typiquement le premier cette modification ameacuteliore la qualiteacute de protection contre les erreurs sans alteacuterer le rendement du code Rc [Lust00]

Distance de Hamming du message (D) le5 6 7 8 9 10 hellip Nombre des messages 0 1 0 2 0 4 hellip Peacuteriode de divergence (J) - 3 - 4 5 - 5 6

6 7 hellip

Distance de Hamming du message concerneacute (N) - 1 - 2 - 3 hellip

Table 2-3 caracteacuteristiques des messages posseacutedant les distances de Hamming les plus petites selon la fonction de transfert (214)

La Table 2-4 montre les valeurs de distance libre des deux codeurs convolutifs des standards UMTS Ces codes appartiennent agrave la liste de codes convolutifs eacutetablie par Odenwalder (1970) Larsen (1973) Paaske (1974) et Daut (1982) [Proa95] Etant donneacute une longueur de contrainte K et un rendement du code Rc ces codes possegravedent la distance libre dfree la plus eacuteleveacutee Ces codes ont eacuteteacute identifieacutes agrave laide de meacutethodes de recherche par ordinateur

Rendement du codeur

Longueur de contrainte

Polynocircmes geacuteneacuterateurs Distance libre

Rc=12 K=9 G0=561oct G1=753oct dfree=12 Rc=13 K=9 G0=557oct G1=663oct G2=711oct dfree=18

Table 2-4 caracteacuteristiques des codeurs convolutifs proposeacutes par le standard UMTS [Ts25212] pour la protection des donneacutees

Les potentialiteacutes pratiques de correction de ces codes sont consideacuterablement supeacuterieures au seuil minimal de ( )1 2freed minus erreurs la qualiteacute de la correction deacutepend de la meacutethode de deacutecodage utiliseacutee du deacutebit des erreurs de

8 La longueur K augmente la peacuteriode minimale de divergence des messages codeacutes 9 Le nombre n de bits de sortie augmente la distance de Hamming entre les symboles

codeacutes

33

transmission et de leur emplacement agrave linteacuterieur du message codeacute Il faut noter que les concentrations temporelles des erreurs de transmission (burst errors) baisse la qualiteacute effective de la correction vers le seuil minimal Le terme qualiteacute de protection se reacutefeacuterera dans la suite du document agrave la capaciteacute de correction de la meacutethode de deacutecodage traiteacutee

233 Utilisation des deux types de codage

Le codage convolutif diffegravere principalement du codage en bloc par le traitement continu et immeacutediat des symboles dinformation Le codage convolutif offre de plus une meilleure protection pour la mecircme complexiteacute drsquoimplantation [Karn95] Du point de vue du deacutecodage le codage convolutif offre une plus vaste gamme de solutions capables de beacuteneacuteficier des avantages apporteacutes par une situation de deacutecodage souple Parmi ces solutions on trouve des meacutethodes qui se concentrent sur la livraison du message le plus probable des meacutethodes estimant les symboles dinformations les plus probables ainsi que des meacutethodes livrant des informations suppleacutementaires relatives agrave la proceacutedure de deacutecodage (cf Chapitre 5) De par leur capaciteacute agrave traiter linformation en continu les meacutethodes de deacutecodage convolutif sont principalement utiliseacutes pour la correction derreurs de transmission alors que la deacutetection derreurs est essentiellement traiteacutee par le codage en bloc Le codage convolutif preacutesente une forte asymeacutetrie entre la complexiteacute de calcul de la proceacutedure de codage et celle de deacutecodage Malheureusement la qualiteacute de correction du codage convolutif est tregraves sensible aux concentrations des erreurs de transmission (burst errors)

24 Codes enchaicircneacutes

Si lon deacutesire creacuteer un code encore plus performant alors la concateacutenation de deux types de codes permet de beacuteneacuteficier des avantages de chaque type de code [Proa95] La compleacutementariteacute des codes en bloc et convolutifs suggegravere leur mise en cascade de maniegravere agrave mieux profiter des qualiteacutes des deux familles de codes (Figure 2-18) Le codeur exteacuterieur (Outer Encoder) chargeacute du premier codage du message est communeacutement un code en bloc Un code convolutif exeacutecute le second codage et fournit le message codeacute final (code inteacuterieur Inner Encoder)

34

[Proa95] Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle soit deacutecodant le message reccedilu puis en veacuterifiant etou corrigeant le message obtenu

codeur en bloc codeurconvolutif

deacutecodeurcode en bloc

deacutecodeurcode convolutif

message

messagedeacutecodeacute

messagecodeacute

messagereccedilu

Figure 2-18 structure classique de la concateacutenation entre un code en bloc et un code convolutif

Une approche plus reacutecente consiste en lrsquoexeacutecution parallegravele de plusieurs opeacuterations de codage des mecircme symboles du message (Figure 2-19) Apregraves la transmission les messages codeacutes proteacutegeant les mecircme symboles dinformation montrent des distorsions non correacuteleacutees entre eux ce codage multiple et indeacutependant permet au deacutecodeur dutiliser (iterativement) les informations de deacutecodage de ces messages pour ameacuteliorer la qualiteacute de protection contre les erreurs Le codage Turbo utilise cette approche de codage parallegravele

codeur de canal

deacutecodeur

message

messagecodeacute

messagereccedilu

codeur de canalentrelaceur

message

messagecodeacute

deacutecodeur

messagedeacutecodeacute

Figure 2-19 principe agrave la base du codage Turbo qui est baseacute sur lutilisation parallegravele de plusieurs codeurs convolutifs

25 Conclusions

Ce chapitre a briegravevement introduit les notions fondamentales de la protection des donneacutees contre les erreurs de transmission A partir des contributions pionniegraveres de Shannon les deux modes principaux de controcircle des erreurs FEC et ARQ ont eacuteteacute preacutesenteacutes Puis ce chapitre a deacutecrit les principes ainsi que

35

les proprieacuteteacutes du codage en bloc et du codage convolutif Ces notions de base seront utiliseacutees dans la suite du document En dernier lieu le chapitre introduit briegravevement le codage enchaicircneacute Le principe et les proprieacuteteacutes de structure particuliegravere de codage ont fait lobjet dune eacutetude dans le cadre de cette thegravese et seront discuteacutes dans le Chapitre 6

Reacutefeacuterences

[Draj02] D Drajic D Bajic Communication System Performance Achieving the Ultimate Information-Theoretic Limits IEEE Communications Magazine Vol 40 juin 2002 pp 124-129

[Hamm50] R W Hamming Error Detecting and Error Correcting Codes The Bell System Technical Journal Vol 29 No 2 1950 pp 147-160

[Karn95] P Karn TAPR Error Control Coding Seminar preacutesentation agrave the 1995 Tucson Amateur Packet Radio symposium St Louis mars 1995 page Internet de P Karn acceacutedeacutee en eacuteteacute 2002 httpwwwka9qnetpapers

[Liew02] T H Liew L Hanzo Space-Time Codes and Concatenated Channel Codes for Wireless Communications Proceedings of the IEEE Vol 90 No 2 feacutevrier 2002 pp 187-219

[Lin82] S Lin D J Costello Jr Error Control Coding Fundamentals and Applications Prentice-Hall Series in Computer Applications in Electrical Engineering New Jersey Etats-Unis dAmeacuterique 1982 Chapitre 4

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Noki00] Nokia Hybrid ARQ methods for FDD in Release 2000 TSGR114(00)0869 TSG-RAN Working Group1 meeting 14 Oulu Finlande 4-7 juillet 2000

[Pana01] Panasonic Proposal of bit mapping for type-III HARQ TSGR118(01)0031 TSG-RAN Working Group1 meeting 18 Boston Etats-Unis dAmeacuterique 15-18 janvier 2001

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

36

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp 447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

37

3 Structure de protection eacutetablie par les standards UMTS

Le chapitre deacutecrit les standards de communication numeacuterique UMTS Leur structure de codage et leurs caracteacuteristiques sont rappeleacutees

Les opeacuterations de codage de canal et de multiplexage des standards UMTS sont passeacutees en revue en les situant dabord dans le contexte dun modegravele dabstraction du systegraveme UMTS Les opeacuterations concerneacutees sont le codage en bloc CRC la concateacutenation et la segmentation du message la protection des donneacutees par codage les entrelacements ladaptation du deacutebit de transmission linsertion des indications de transmission le regroupement et le multiplexage des donneacutees proteacutegeacutees pour la transmission

La strateacutegie basique pour ladaptation de la qualiteacute de protection en fonction des exigences des diverses applications est mise en eacutevidence par lillustration de la structure de codage du service de parole AMR-NB agrave 122 kbps Cette structure a le meacuterite de preacutesenter les trois plus inteacuteressants contextes de codage convolutif

31 Modegravele hieacuterarchique du systegraveme UMTS agrave 3 niveaux dabstraction

Selon un concept geacuteneacuteral lrsquointerface radio (Radio Interface) des standards UMTS est baseacutee sur un modegravele de protocole agrave trois niveaux dabstraction aussi appeleacutees couches (Layers) dabstraction [Gath02] [Ts25201] Les tacircches de chaque couche sont bien deacutelimiteacutees et les interactions inter-couches se produisent uniquement agrave laide duniteacutes speacutecifiques La premiegravere couche deacutenommeacutee Physical Layer (Layer 1) contient le codage de canal Cette couche est responsable de la transmission des donneacutees qui lui

38

parviennent de la seconde couche la Data Link Layer (Layer 2) sous le controcircle de la troisiegraveme couche la Network Layer (Layer 3 Figure 3-1)

Radio RessourceControl (RRC)

Network layer(Layer 3)

Medium Access Control(MAC)

Data linklayer (Layer 2)

Physical layer (Layer 1)

Canaux de transport(Transport channels)

Controcircles etmesures

Figure 3-1 illustration graphique des iteacuterations entre le Physical Layer et les autres eacuteleacutements de linterface radio preacutevue par lUMTS [Ts25201]

Les donneacutees du message parviennent agrave la premiegravere couche par canaux seacutepareacutes de transport (Transport Channels TrCHs) Cette meacutethodologie permet lapplication de niveaux de protection adapteacutes aux exigences de chaque canal de transport (Unequal-Error-Protection UEP) La possibiliteacute dappliquer des niveaux de protection diffeacuterencieacutes est conforme agrave loptique de lUMTS qui vise agrave offrir un degreacute de souplesse agrave la proceacutedure de codage Cette souplesse permet ainsi aux applications utilisant une telle proceacutedure de beacuteneacuteficier dune qualiteacute de protection conforme agrave leurs exigences

32 Structure de codage de canal et multiplexage

Les donneacutees parviennent agrave leacuteleacutement responsable du codage de canal par blocs (canaux de transport) agrave intervalles de temps reacuteguliers Lrsquointervalle de temps de transmission (Transmission time interval lsquoTTIrsquo) est eacutetabli selon les caracteacuteristiques et les exigences de lrsquoapplication consideacutereacutee La gamme de choix dintervalle vaut 10 ms 20 ms 40 ms ou 80 ms Le deacuteroulement des opeacuterations relatives au codage de canal et de multiplexage des standards UMTS (selon le mode Frequency Division Duplex FDD10 de lUniversal Terrestrial Radio Access UTRA) [Ts25212] peut ecirctre diviseacutee en deux eacutetapes principales 10 Le mode Frequency Division Duplex (FDD) est une meacutethode de transmission en

duplex ougrave les deux transmissions radio unidirectionnelles (uplink et downlink) utilisent deux freacutequences radio diffeacuterentes

39

bull La premiegravere eacutetape traite de maniegravere individuelle les canaux de transport selon les consignes particuliegraveres de lapplication Cette eacutetape englobe le codage en bloc CRC la concateacutenation et la segmentation du message le codage de canal par code convolutif ou Turbo le premier entrelacement lrsquoadaptation du deacutebit de transmission et lrsquoinsertion des indications fixes de transmission DTX

bull La seconde partie dopeacuterations regroupe les donneacutees traiteacutees par les divers canaux de transport afin de les preacuteparer agrave la transmission Les opeacuterations concerneacutees sont celles du multiplexage de lrsquoinsertion des indications flexibles de transmission DTX de la segmentation par le nombre de canaux physiques et du second entrelacement

Il faut noter quen fonction de la direction de la transmission de type uplink11 ou downlink12 il existe deux seacutequences drsquoexeacutecution des opeacuterations Les diffeacuterences entre ces deux seacutequences sont toutefois minimes la seacutequence de la transmission uplink retarde lrsquoexeacutecution de la tacircche drsquoadaptation du deacutebit de transmission et elle ne neacutecessite pas linsertion des indications de transmission DTX [Ts25212] Les simulations utiliseacutees pour lanalyse et la veacuterification des performances des meacutethodes preacutesenteacutees dans ce document se basent sur la structure de codage de la communication uplink (Figure 3-2) Les opeacuterations impliqueacutees dans cette structure sont les suivantes [Ts25212] bull Codage en bloc CRC Si lapplication requiert une deacutetection drsquoerreurs apregraves

le deacutecodage les couches supeacuterieures (Figure 3-1) peuvent eacutetablir les conditions dutilisation dun des quatre codes CRC Cette eacuteventualiteacute permet aussi lexploitation du mode de controcircle derreurs ARQ Le nombre de bits de pariteacutes de ce code en bloc vaut 8 12 16 ou 24 [Ts25212]

11 Le lien radio uplink est la transmission unidirectionnelle des signaux depuis

lrsquoeacutequipement de lrsquoutilisateur (User equipement) vers une station de base (Base station) depuis une station mobile (Mobile station) vers une station mobile de base (Mobile base station) ou depuis une station mobile de base agrave une station de base [Tr21905]

12 Le lien radio downlink indique geacuteneacuteralement une transmission unidirectionnelle du reacuteseau vers lrsquoeacutequipement de lrsquoutilisateur [Tr21905]

40

premier canal de transport(TrCH1)

Multiplexage

Segmentation selon lenombre de canaux agrave

disposition

Second entrelacement

Passage au canal

dernier canal de transport(TrCHi)

Codage en bloc CRC(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Codage en bloc CRC

(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Figure 3-2 diagramme par blocs de la seacutequence dopeacuterations selon une transmission uplink en mode FDD [Ts25212]

41

bull Concateacutenation et segmentation du message Tous les blocs de donneacutees qui

appartiennent au mecircme intervalle de transmission (TTI) et au mecircme canal de transport sont enchaicircneacutes de maniegravere seacutequentielle Si le nombre total de bits deacutepasse le nombre maximal eacutetabli par le standard UMTS [Ts25212] le bloc de donneacutees est segmenteacute Ce nombre maximal varie en fonction du type de codage de canal utiliseacute (codage convolutif ou Turbo)

bull Protection des donneacutes par codage Les donneacutees de chaque canal de transport peuvent ecirctre proteacutegeacutees seacutepareacutement soit par un code convolutif (avec rendement du code Rc de 12 ou 13) soit par un code Turbo Dans le cas de donneacutees segmenteacutees en plusieurs blocs les divers messages codeacutes sont multiplexeacutes de maniegravere seacutequentielle apregraves le codage

bull Adaptation du deacutebit de transmission Etant donneacute la variation possible du nombre de donneacutees dentreacutee des divers canaux il se peut que la taille totale des messages codeacutes ne coiumlncide pas avec le nombre exact de bits transmissibles par peacuteriode Dans ce cas selon les consignes des deux couches supeacuterieures certains bits des messages codeacutes sont seacutelectionneacutes afin decirctre soit reacutepeacuteteacutes soit eacutelimineacutes (poinccedilonneacutes)

bull Segmentation du message codeacute Cette seacuteparation se fait selon le nombre des trames radio (Radio Frames) disponibles pour la transmission des donneacutees de tous les canaux Dans le systegraveme UMTS une trame radio couvre la transmission des donneacutees pour un intervalle de 10 ms Si lrsquointervalle de transmission TTI de lapplication deacutepasse les 10 ms les donneacutees de chaque canal sont groupeacutees de maniegravere agrave permettre une reacutepartition successive en plusieurs trames radio

bull Egalisation Leacutegalisation se fait en fonction du nombre des trames radio Si le systegraveme de codage utilise plusieurs trames radio cette opeacuteration assure une segmentation uniforme des donneacutees en ajoutant si neacutecessaire des bits suppleacutementaires

bull Premier et second entrelacement Ces deux opeacuterations exeacutecutent un entrelacement en bloc avec une permutation des colonnes Les paramegravetres reacuteglant la permutation deacutependent de lrsquointervalle de transmission TTI utiliseacute

bull Multiplexage Chaque 10 ms les blocs des divers canaux de transport appartenant agrave la mecircme trame radio sont deacutelivreacutes agrave lrsquouniteacute de multiplexage Cette uniteacute preacutepare ainsi le message final contenant des informations appartenant agrave tous les canaux de transport Ce message nommeacute Coded composite transport channel (CCTrCH ) sera ensuite transmis physiquement

bull Segmentation La segmentation se fait en fonction du nombre de canaux physiques Si lrsquoapplication envisage lrsquoutilisation simultaneacutee de plusieurs

42

canaux physiques (PhCH) les bits appartenant agrave ce dernier message (CCTrCH) sont reacutepartis uniformeacutement entre ces canaux

bull Passage au canal physique Les bits drsquoentreacutee sont transfeacutereacutes au canal physique de maniegravere agrave pouvoir ecirctre envoyeacute les uns apregraves les autres par transmission sans fil

33 Exemple drsquoapplication le service de parole Adaptive-Multi-Rate agrave bande eacutetroite (AMR-NB)

La description du systegraveme de codage UMTS [Ts25212] met en eacutevidence la strateacutegie adopteacutee lors de la deacutefinition de ce type de standard cest agrave dire la creacuteation de systegravemes disposant dun haut niveau de souplesse Cette souplesse permet ladaptation du systegraveme de transmission aux diverses exigences des applications preacutesentes et futures La deacutefinition des paramegravetres de transmission et le choix des opeacuterations de codage sont deacutetermineacutes parallegravelement au deacuteveloppement et agrave la reacutealisation de lrsquoapplication Le document 3GPP [Tr21904] regroupe ainsi de maniegravere deacutetailleacutee les informations des diverses fonctionnaliteacutes et les gammes de paramegravetres correspondant Les paramegravetres se reacutepartissent en deux classes les paramegravetres obligatoires et les paramegravetres speacutecifiques aux services envisageacutes Leacutequipement afin drsquoecirctre reconnu agrave lrsquointeacuterieur du reacuteseau UMTS doit obligatoirement supporter une gamme de fonctionnaliteacutes et de paramegravetres de fonctionnement de base Laccegraves agrave certains services etou applications peut requeacuterir des fonctionnaliteacutes et des paramegravetres de fonctionnement suppleacutementaires En ce qui concerne le cas speacutecifique du service de parole AMR agrave bande eacutetroite (AMR-NB) [Ts26073] [Ts26101] la Table 3-1 deacutecrit les fonctionnaliteacutes et les gammes de paramegravetres les plus importantes qui concernent les opeacuterations de codage et de multiplexage Ce service utilise trois canaux de transport (Figure 3-3) de maniegravere agrave pouvoir adapter la protection aux diverses sensibiliteacutes aux erreurs des bits dinformations Un quatriegraveme canal est utiliseacute pour la transmission des signaux de controcircle La strateacutegie dune protection diffeacuterencieacutee naicirct de lexpeacuterimentation apparaissant dans la litteacuterature (exemples [Hage88] [Cox91]) et de lrsquoexpeacuterience acquise avec les technologies GSM [ETSI909] Lestimation des sensibiliteacutes des bits dinformation de la trame AMR-NB agrave 122kbps (Figure 3-4) montre des valeurs non-uniformes lalteacuteration des valeurs des bits dinformation formant la trame provoque une deacutegradation du signal de parole

43

reconstruit deacutegradation qui varie fortement selon la fonction du bit dinformations

Opeacuterations Commentaires Deacutetection drsquoerreurs Tous les eacutequipements doivent supporter la possibiliteacute

drsquoun codage en bloc CRC avec 8 12 et 16 bits de pariteacute Par contre le codage en bloc avec 24 bits de pariteacute est optionnel

Codage de canal Tous les eacutequipements doivent supporter le codage convolutif (avec un rendement du code 13 et 12) Les autres variantes (codage Turbo et absence de codage) sont optionnelles

Multiplexage Dans le cas drsquoun service de parole AMR utilisant un canal deacutedieacute (Dedicated channel DCH ) tous les eacutequipements doivent supporter au minimum 4 canaux de transmission (3 pour les donneacutees avec TTI de 20 ms et 1 pour la transmission des signaux de controcircle)

Etalement (Spreading)

Dans le cas drsquoun seul service de parole AMR tous les eacutequipements doivent supporter les facteurs deacutetalement SF=64 (qui signifie 600 bitstrame radio [Ts25211]) SF=128 (300 bitstrame radio) et SF=256 (150 bitstrame radio)

Table 3-1 extrait des fonctionnaliteacutes relatives agrave laccegraves au service de parole AMR [Tr21904]

Selon la structure de protection adopteacutee (Figure 3-3) les bits de la trame AMR-NB agrave 122 kbps sont groupeacutes en trois classes indiqueacutees par les lettres A B et C en fonction de leur sensibiliteacute aux erreurs [Ts26101] Dans la classe A on trouve les bits dinformation les plus importants dont lutilisation neacutecessite labsence totale derreurs Par conseacutequent le codage des bits dinformation utilise le code convolutif le plus performant (Rc=13) et la qualiteacute du deacutecodage est controcircleacutee par lutilisation dun code en bloc CRC systeacutematique La classe B renferme les bits de valeur dont leacuteventuelle alteacuteration ne requiert pas la prise de mesures speacuteciales de recouvrement derreurs (Error Concealment) La classe C contient tous les bits preacutesentant une sensibiliteacute mineure aux erreurs leur niveau de protection est reacuteduit par lutilisation dun code convolutif avec rendement de 12

44

Codage CRC81 bits

81 bits 12 bits

93 bits 8 bits

Ajout desbits determinaison

303 bits

CodageConvolutif

303 bits

Egalisation

1 bit

304 bits

Premierentrelacement

152 bitsSegmentation

Adaptation dudeacutebit

152 bits

bits bits

103 bits

103 bits

103 bits 8 bits

333 bits

333 bits 1 bit

334 bits

167 bits 167 bits

bits bits

60 bits

8 bits

136 bits

60 bits

60 bits

136 bits

136 bits

68 bits68 bits

bits bits

Premier canal detransportTrCH1

Second canal detransportTrCH2

Troisiegraveme canal detransportTrCH3

Rc=13 Rc=13 Rc=12

Multiplexage

1a 1b2a 2b 3b3a Secondentrelacement

Passage aucanal

message message message

Premier Radio Frame Second Radio Frame

canal physique

Figure 3-3 repreacutesentation deacutetailleacutee de la seacutequence dopeacuterations neacutecessaires au codage de canal proposeacutee par [TrR104] pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD)

Bien que les paramegravetres du service de parole AMR-NB (Table 3-2) puissent encore subir des modifications13 cette structure (Figure 3-3) sera utiliseacutee pour lrsquoeacutevaluation pratique des implantations software des algorithmes En effet cette structure a le meacuterite de supporter les contextes de codage les plus inteacuteressants une protection par lrsquoutilisation conjointe drsquoun code en bloc CRC et drsquoun code convolutif et le simple codage convolutif avec rendement Rc=13 ou Rc=12

13 Au moment de leacutetablissement de la structure de protection utiliseacutee pour les simulations

softwares

45

Nombre de canaux de transport (TrChs) 3 Tailles des canaux de transport 81 103 et 60 bits Codage CRC Uniquement utiliseacute pour le premier canal

de transport CRC avec 12 bits de pariteacute Codage de canal Codage convolutif avec rendement du

code de 13 pour les deux premiers canaux de transport et 12 pour le dernier

TTI 20 ms

Table 3-2 caracteacuterisation de la structure de protection pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD) structure proposeacutee par [TrR104]

Figure 3-4 mesure objective de la sensibiliteacute aux erreurs des bits dinformation constituant la trame du service AMR-NB agrave 122kbps La sensibiliteacute est estimeacutee en alteacuterant systeacutematiquement le bit analyseacute avant la reconstruction des signaux de parole (base de donneacutees TIMIT et Bdsons) La deacutegradation des signaux est eacutevalueacutee agrave laide de la mesure spectrale (spectral measure) Les fonctions de chaque bit de la trame AMR-NB agrave 122 kbps sont deacutefinies dans le standard [Ts26101]

46

34 Conclusions

Ce chapitre porte sur les objectifs des standards de communication numeacuterique UMTS Parmi les aspects preacutesenteacutes ce chapitre a illustreacute la structure particuliegravere du codage de canal preacutevue par ces technologies de la 3G Son environnement de travail ainsi que les opeacuterations de codage et de multiplexage ont eacuteteacute passeacutes en revue La strateacutegie de base adopteacutee par ces standards UMTS est ladaptation de la qualiteacute de protection en fonction des exigences des applications La structure de codage du service de parole AMR-NB agrave 122 kbps a eacuteteacute utiliseacutee agrave titre dexemple Gracircce agrave ses caracteacuteristiques de protection cette structure sera utiliseacutee pour leacutetude des implantations software de meacutethodes de deacutecodage convolutif (Chapitre 6)

Reacutefeacuterences

[Cox91] R V Cox J Hagenauer N Seshadri et C-E W Sundberg ldquoSubband Speech Coding and Matched Convolutional Channel Coding for Mobile Radio Channelsrdquo IEEE Transactions on Signal processing Vol 39 No 8 aoucirct 1991 pp 1717-1731

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Hage88] J Hagenauer rdquoRate-Compatible Punctured Convolutional Codes (RCPC Codes) and their Applicationsrdquo IEEE Transaction on Communications Vol 36 No 4 avril 1988 pp 389-400

[Tr21904] 3GPP UE capability requirements document 3GPP TR 21904 version 330

[Tr21905] 3GPP Vocabulary for 3GPP Specifications document 3GPP TR 21905 version 010

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

47

[Ts25201] 3GPP Physical layer ndash General Description document 3GPP TS 25201 version 210

[Ts25211] 3GPP Physical channels and mapping of transport channels onto physical channels (FDD) document 3GPP TS 25211 version 410

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26073] 3GPP AMR speech Codec C-source code document 3GPP TS 26073 version 300

[Ts26101] 3GPP AMR speech Codec Frame structure document 3GPP TS 26101 version 160

48

49

4 Transmission de donneacutees par reacuteseaux cellulaires sans fil

Ce chapitre traite de la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les facteurs dont deacutepend la qualiteacute de la transmission sans fil sont tout dabord preacutesenteacutes La qualiteacute de la transmission est influenceacutee par des facteurs techniques tels que le type de modulation la strateacutegie de reacutepartition du territoire en plusieurs zones (cellules) le type dantenne des systegravemes de communication et les moyens actifs de reacuteduction des distorsions du signal ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee ainsi que la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier

Ce chapitre traite eacutegalement de la modeacutelisation des systegravemes de transmission A partir des exigences deacutevaluation de simulation et des types derreurs reproductibles deux modeacutelisations simples du moyen de transmission sont preacutesenteacutees Il sagit des modegraveles Binary symmetric channel (BSC) et Additive white gaussian noise (AWGN)

41 Introduction

Les uniteacutes de codage et de deacutecodage de canal font partie dun systegraveme complexe dont le but est dassurer la transmission des donneacutees par reacuteseaux cellulaires sans fil Lobjectif speacutecifique du codage de canal est le controcircle des erreurs de transmission des symboles erreurs causeacutees principalement par la variation des nombreux facteurs influenccedilant la transmission La structure simplifieacutee dun teacuteleacutephone mobile (Figure 4-1) contient deux grosses uniteacutes de base La premiegravere traite les signaux dans leur bande de base Elle est responsable de ladaptation du message agrave la transmission sans fil ainsi

50

que de la reconstruction et de la livraison du message reccedilu au destinataire Cette uniteacute est deacutenommeacutee bande de base La seconde uniteacute (RF) se charge de la transmission des signaux vers et provenant duvers le reacuteseau cellulaire sans fil

ModulationRF

Codagede parole

Codagede

canalChiffrage Amplification

Dup

lex

DAC

Deacute-modulation

Deacutecodagede parole

Deacutecodagede

canal

Deacute-chiffrage

ConvertisseurRFIFADCDeacute-

modulation

Modulation

Bande de base RF

Figure 4-1 scheacutema tregraves simplifieacute de la structure dun teacuteleacutephone mobile geacuteneacuterique

En consideacuterant cette structure de teacuteleacutephone mobile il faut consideacuterer le fait que les caracteacuteristiques des symboles reccedilus par luniteacute de deacutecodage de canal sont influenceacutees par toutes les eacutetapes de traitement et de transmission situeacutees entre le codage et le deacutecodage de canal

42 Facteurs influenccedilant la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les caracteacuteristiques de la transmission de donneacutees par reacuteseaux cellulaires sans fil deacutependent de plusieurs facteurs aussi bien techniques quenvironnementaux En raison des grandes dimensions du territoire couvert par les transmissions aeacuteriennes ainsi que du nombre eacuteleveacute dutilisateurs il est impossible de consideacuterer lutilisation dune station unique de base pour couvrir toute la surface du territoire La strateacutegie adopteacutee se base sur la reacutepartition du territoire en plusieurs zones deacutenommeacutees cellules chacune geacutereacutee par une station de base (Figure 4-2) Cette strateacutegie cellulaire savegravere tregraves efficace aussi bien pour la reacuteduction de la puissance de transmission que pour une meilleure utilisation des canaux de transmission (reacuteutilisation des bandes des freacutequences)

51

antenne de la stationde base de la cellule

cellule

champ de couvertureradio de la cellule

Figure 4-2 strateacutegie de reacutepartition du territoire en cellules

Le premier facteur influenccedilant la qualiteacute de la transmission sans fil est la dimension et la geacuteomeacutetrie de la cellule agrave linteacuterieur de laquelle se produit la transmission (Figure 4-3) En effet la distance entre lantenne de la station de base de la cellule et celle de leacutequipement mobile deacutetermine une atteacutenuation de la puissance de reacuteception qui varie selon le facteur

21

distance (41)

cf [Moul92] Donc lorsque la dimension de la cellule diminue la puissance deacutemission neacutecessaire pour une transmission fiable dans la cellule entiegravere peut ecirctre ainsi reacuteduite Le dimensionnement des cellules doit tenir compte du fait que chaque cellule utilise une bande de freacutequences limiteacutee supportant un nombre fixe de communications simultaneacutees (Spectrum scarcity) Par conseacutequent lutilisation de cellules de taille infeacuterieure reacuteduit latteacutenuation des signaux transmis et offre un meilleur rapport entre le nombre de communications supporteacutees et la surface du territoire couvert (Figure 4-3) Les opeacuterateurs peuvent eacutegalement recourir agrave la creacuteation de micro-cellules afin daugmenter le nombre dutilisateurs potentiels dans une partie restreinte du territoire Les limites infeacuterieures de la dimension des cellules sont deacutetermineacutees principalement par des aspects eacuteconomiques En effet agrave partir dun certain facteur de reacuteduction les avantages que lon peut retirer ne justifient pas les coucircts suppleacutementaires de gestion et dinstallations

52

antenne de la stationde base de la cellule

cellule

Figure 4-3 reacutepartition du territoire en cellules Les cellules de taille plus reacuteduite augmentent le rapport entre le nombre de canaux agrave disposition et le territoire couvert

Une des raisons de lefficaciteacute de la strateacutegie de reacutepartir le territoire couvert en plusieurs cellule est la reacuteutilisation des bandes de freacutequences les cellules non-adjacentes reacuteutilisent les mecircme bandes de freacutequences augmentant le nombre de canaux radio agrave disposition Malheureusement la reacutepartition du territoire en cellules de petite taille implique le rapprochement des cellules utilisant la mecircme bande de freacutequences Ainsi les transmissions agrave linteacuterieur dune cellule peuvent directement interfeacuterer avec celles des autres utilisant la mecircme bande de freacutequences (Figure 4-4) Ces interfeacuterences ne peuvent pas ecirctre empecirccheacutees par des opeacuterations de filtrage et sont appeleacutees interfeacuterences co-canal Un moyens efficace pour reacuteduire limportance de ces interfeacuterences est lutilisation dantennes directionnelles selon la structure des cellules et la reacutepartition geacuteographique du territoire il est possible datteacutenuer les interfeacuterences co-canal en dirigeant intelligemment les eacutemissions des antennes des stations de base (Figure 4-5) Lutilisation de ces antennes directionnelles sadapte eacutegalement bien aux situations dans lesquelles des obstacles modifient la puissance de reacuteception des signaux jusquagrave creacuteer des situations dombrage

53

antenne de la stationde base de la cellule

Figure 4-4 situation dinterfeacuterence co-canal En utilisant la mecircme bande de freacutequences les transmissions agrave linteacuterieur dune cellule interfegraverent avec celle de lautre

antenne de la stationde base de la cellule

cellule utilisant la mecircme bandede freacutequences

Figure 4-5 exemple de strateacutegie deacutemission et reacuteception des stations de base Lutilisation des antennes directionnelles permet datteacutenuer les interfeacuterences co-canal

Dans le cas de complexes urbains denseacutement peupleacutes les transmissions sans fil deviennent encore plus critiques Etant donneacute la forte densiteacute dobstacles la qualiteacute des transmissions varie sans cesse et avec des diffeacuterences locales pouvant devenir tregraves importantes Par conseacutequent latteacutenuation de la puissance de reacuteception (41) peut ainsi atteindre pratiquement un facteur valant

54

41

distance (42)

cf [Moul92] Si loin des agglomeacuterations la transmission implique normalement la reacuteception dun seul signal dans ces espaces denseacutement construits lantenne reccediloit plusieurs signaux temporellement deacutecaleacutes (Signal Multipath) De plus les multiples reacuteflexions du signal contre les obstacles creacuteent des signaux mutuellement deacutephaseacutes qui sadditionnant de maniegravere destructive deacutegradent la qualiteacute de la communication (Signal Fading) Un facteur influenccedilant les caracteacuteristiques de transmission est la mobiliteacute de leacutequipement La transmission est eacutegalement affecteacutee par des distorsions dont limportance est fonction de la vitesse de leacutequipement mobile (effet Doppler) de la dimension des cellules impliqueacutees et de lenvironnement (installations urbaines ou campagne) Enfin des facteurs techniques (principalement le type de modulation et les moyens de reacuteduction des distorsions) ont un effet direct sur la qualiteacute de la transmission sans fil Parmi ces moyens on trouve les techniques deacutetalement de spectre (qui permet de reacuteduire les interfeacuterences co-canal [Ts25213]) lutilisation de plusieurs antennes reacuteceptrices (Multiple Antennas [R1-1218]) et lutilisation dune recombinaison de plusieurs signaux reccedilus (exemple Maximal Ratio Combination [Gath02])

43 Modeacutelisation du moyen de transmission

Le standard UMTS [Ts25212] deacutefinit la structure et la seacutequence des moyens mis agrave disposition pour la protection des donneacutees contre les erreurs de transmission dans le cadre des technologies de la 3G Toutefois le standard nimpose aucune proceacutedure de deacutecodage Afin de permettre leacutevaluation des performances de diverses strateacutegies de deacutecodage il faut analyser le comportement du deacutecodeur face agrave des signaux perturbeacutes Ces signaux peuvent ecirctre obtenus soit par acquisition soit en les geacuteneacuterant par simulation Une meacutethode de geacuteneacuteration consiste agrave manipuler des bits contenus dans les trames radio (Radio Frames) de maniegravere agrave obtenir des seacutequences de symboles preacutesentant certains types de distorsions (Figure 4-6) Ideacutealement cette manipulation doit reproduire fidegravelement les effets causeacutes par une situation de

55

transmission donneacutee et tenant compte de linfluence des autres eacuteleacutements du systegraveme situeacutes entre le codage et le deacutecodage de canal La reproduction dune situation reacuteelle implique sa modeacutelisation preacutecise et la deacutefinition exacte de tous les paramegravetres et de tous les eacuteleacutements qui la deacutecrivent Etant donneacute le nombre eacuteleveacute des facteurs intervenant dans la transmission aeacuterienne et leur variabiliteacute la reacutealisation et la mise au point dun tel systegraveme sont tregraves complexes et coucircteuses Une alternative efficace agrave la modeacutelisation est lutilisation de seacutequences reacuteelles derreurs obtenues par mesure La transmission de messages connus et lacquisition successive des seacutequences correspondantes de symboles agrave lentreacutee du deacutecodage de canal permettent lobtention de divers modegraveles derreurs Cette approche neacutecessite un systegraveme de communication UMTS opeacuterationnel ainsi que dun eacutequipement dacquisition

Systegravemedanalyse et

deacutetude

Canal detransmission(simulateur)

trames radio

symboles

Codeur de canal UMTSmessages

Deacutecodeur de canalcompatible avec les

standards UMTS

messagesdeacutecodeacutes

paramegravetres

Figure 4-6 systegraveme danalyse manipulant le contenu des trames radio (Radio Frames)

431 Systegraveme de perturbation artificielle des signaux

Lors du deacuteveloppement dune nouvelle technologie leacutetude de base de la qualiteacute de protection utilise geacuteneacuteralement une modeacutelisation simple du moyen de transmission Types derreurs La deacutefinition dun systegraveme simple de modeacutelisation doit tenir compte de la reacuteaction du systegraveme de codage UMTS [Ts25212] en preacutesence des divers types derreurs de transmission Il existe deux principaux types derreurs le Random-error et le Burst-error [Lust00]

56

Le Random-error caracteacuterise les moyens de transmission qui ne preacutesentent pas deffets de meacutemoire (Memoryless channels) Le bruit affecte chaque symbole de maniegravere indeacutependante geacuteneacuterant des erreurs non-correacuteleacutees dans la seacutequence de symboles reccedilus Les transmissions spatiales en sont des exemples typiques

Etat du canalnormal

Etat du canalaffecteacute pardes erreurs

probabiliteacute P

probabiliteacute Qprobabiliteacute 1-Q

probabiliteacute 1-P

0 0

1 1

probabiliteacute Pnormale

Etat du canal normal

probabiliteacute 1- Pnormale

probabiliteacute 1- Pnormale

0 0

1 1

probabiliteacute Pburst

Etat du canal affecteacute par des erreurs

probabiliteacute 1- Pburst

probabiliteacute 1- Pburst

modeacutelisation de leacutetat du canal

modeacutelisation du canal de transmission selon leacutetat du canal

Figure 4-7 modeacutelisation des erreurs de type Burst au moyen du model de canal Gilbert Elliot Channel (GEC) [ITU191] Selon leacutetat du canal (normal ou affecteacute par des erreurs) ce modegravele repreacutesente la transmission des donneacutees par moyen du modegravele Binary symmetric channel (BSC Figure 4-8) Les probabiliteacutes P et Q deacuteterminent loccurrence de deux eacutetats du canal Les probabiliteacutes derreurs Pnormale et Pburst permettent ladaptation du modegravele BSC aux deux eacutetats du canal A titre dexemple lapplication Error Insertion Device de [ITU191] utilise Pnormale=0 et Pburst=05

Les transmissions radio terrestres preacutesentent parfois de fortes correacutelations entre les apparitions derreurs Ces transmissions souffrent temporairement des effets de la reacuteception simultaneacutee de plusieurs copies du mecircme signal

57

deacutecaleacutees dans le temps (Fading) Par conseacutequent les erreurs ne sont pas distribueacutees uniformeacutement dans la seacutequence de symboles reccedilus mais elles affectent des groupes de symboles conseacutecutifs (Figure 4-7) Ainsi ils sont appeleacutes burst-errors La preacutesence des deux eacutetages dentrelacement dans le systegraveme de codage de canal UMTS [Ts25212] reacuteduit la concentration des erreurs en les reacutepartissant dans tout le message14 Par conseacutequent le signal affecteacute par ce type derreur est perccedilu par le deacutecodeur de canal UMTS comme un message preacutesentant des erreurs non-correacuteleacutees mais posseacutedant un deacutebit derreurs (temporairement) plus eacuteleveacute Modeacutelisations simples du moyen de transmission le Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) channel Les deux modegraveles les plus simples mais toutefois efficaces pour leacutevaluation de la qualiteacute de protection de canal sont le Binary symmetric channel et le Additive white gaussian noise channel Le Binary symmetric channel modeacutelise un canal de transmission qui ne preacutesente pas deffets de meacutemoire agrave laide dune situation de deacutecision ferme (Figure 4-8)

0 0

1 1

probabiliteacute 1-Pe

probabiliteacute 1-Pe

probabiliteacute Pe

Figure 4-8 diagramme de transition du Binary symmetric channel (BSC) avec probabiliteacute derreur Pe

Cette modeacutelisation est deacutecrite par la probabiliteacute de croisement Pe deacutecrite par

14 La qualiteacute de protection du codage convolutif est affaiblie en preacutesence de concentrations

des erreurs de transmission (burst errors cf Chapitre 2) les techniques dentrelacement permettent de faire face agrave ces situations eacutevitant une baisse temporaire de la qualiteacute de la protection

58

Pr et 01e i i i i i iP r x r x r x

= ne isin (43)

A partir de la probabiliteacute Pe le BER de la seacutequence de bits reccedilus est directement obtenu Le modegravele Additive white gaussian noise channel est utile pour leacutevaluation de systegravemes exploitant une deacutecision souple A chaque instant i ce modegravele15 modifie le symbole ix par laddition dun bruit blanc gaussien vi i i ir x v= + (44) ougrave le symbole ix est une repreacutesentation antipodale16 du bit dentreacutee xi Le bruit constitutif vi suit la densiteacute de probabiliteacute gaussienne

2

2

2 12

i iv x

i ip v x e σσπ

minusminus

sdot=sdot sdot

(45)

caracteacuteriseacutee par la variance σ2 (Figure 4-9) [Proa95] Dans le contexte du deacutecodage des codes convolutifs il est dusage dexprimer le niveau de perturbation affectant la transmission par le rapport signal sur bruit par bit donneacute par EbN0 (Signal-to-noise ratio per bit Figure 4-9) Cette uniteacute de mesure considegravere leacutenergie neacutecessaire agrave la transmission dun bit dinformation Eb par rapport agrave lefficaciteacute de la perturbation Cette efficaciteacute est repreacutesenteacutee par la densiteacute spectrale lateacuterale de la puissance N0 (One-sided power spectral density)

15 Version agrave temps discret du modegravele Additive white gaussian noise channel 16 Ce modegravele considegravere que le symbole ix est le i-egraveme symbole livreacute par lopeacuteration de

deacutemodulation eacutetant donneacute une transmission binaire du i-egraveme bit xi

59

Figure 4-9 densiteacute de probabiliteacute des symboles affecteacutes par laddition dun bruit blanc gaussien (rapport signal sur bruit par bit Eb N0 de 0 dB agrave 10 dB) Les symboles sont moduleacutes en amplitude de maniegravere antipodale (+1-1 PAM)

432 Modegravele de canal utiliseacute dans la suite des eacutetudes

Le systegraveme de perturbation choisi pour les simulations de perturbations dues agrave la transmission sans fil se base sur laddition dun bruit blanc gaussien (Figure 4-10) Ce systegraveme permet danalyser le comportement du deacutecodeur selon les deacutecisions de type ferme et pondeacutereacute ainsi que de beacuteneacuteficier des reacutesultats mentionneacutes dans la litteacuterature Par rapport aux paramegravetres du modegravele AWGN il faut remarquer que la relation existant entre la densiteacute spectrale N0 et la variance σ2 est

2 0 2Nσ = (46)

La relation entre leacutenergie de transmission de chaque symbole Es et celle de chaque bit dinformation Eb est nombre de symboles nombre de bits dinformation s bE n E ksdot = sdot (47) Ces deux relations (46) et (47) permettent dexprimer le rapport entre la variance σ2 et le rapport EbN0 de la maniegravere suivante

60

20

2

b sE E nN k σ

sdot=sdot sdot

(48)

Par rapport agrave la geacuteneacuteration de valeurs de bruit blanc gaussien vi les implantations logicielles utilisent les techniques mentionneacutees dans [Pres92]

ModulationPAM

antipodaleAWGN Quantificateur

nombre deniveaux

pas dequantification

canalbits de latrame radio

symboles

Deacuteterminationde par

EbNo k n

σ

2 02

Nσ =

σ

Es

Figure 4-10 scheacutema du canal utiliseacute se basant sur laddition dun bruit blanc gaussien (AWGN) agrave temps discret La modulation antipodale PAM adopteacutee transforme le bit dentreacutee prenant les valeurs 0 et +1 en un bit prenant respectivement les valeurs 1 et ndash1

44 Conclusions

Ce chapitre a traiteacute la probleacutematique de la transmission de donneacutees par reacuteseaux cellulaires sans fil Les facteurs techniques et environnementaux influenccedilant la transmission ont eacuteteacute briegravevement illustreacutes Suite agrave la description de ces facteurs ce chapitre a discuteacute laspect de la modeacutelisation du moyen de communication En consideacuterant les exigences deacutevaluation et de simulation ainsi que les types derreurs reproductibles deux modeacutelisations simples ont eacuteteacute preacutesenteacutees le modegravele Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) Ce dernier a eacuteteacute retenu pour modeacuteliser le moyen de transmission servant agrave lanalyse des meacutethodes de deacutecodage des Chapitres 6 et 7

61

Reacutefeacuterences

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[ITU191] International Telecommunication Union ITU-T Software Tools Library Seacuterie G Transmission systems and Media document ITU-T G191-STL-96 1996

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Moul92] M Mouly MndashB Pautet The GSM System for Mobile Communications Cell amp Sys Telecom Publishing 1992

[Pres92] W H Press S A Teukolsky W T Vetterling et B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[R1-1218] 3GPP Preliminary link level results for HSDPA using multiple antennas Lucent Technologies 3GPP TSG RAN WG1 document TSGR116(00)1218

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts25213] 3GPP Spreading and modulation (FDD) document 3GPP TS 25213 version 311

62

63

5 Meacutethodes pour le deacutecodage des codes convolutifs

Ce chapitre preacutesente les principes de deacutecodage de codes convolutifs et en deacutecrit les algorithmes les plus repreacutesentatifs

Les notions de base neacutecessaires agrave la compreacutehension des principes et des algorithmes sus-mentionneacutes sont introduites Puis la repreacutesentation numeacuterique des symboles reccedilus par le deacutecodeur le critegravere doptimisation utiliseacute pour le deacutecodage et le type dinformation de sortie souhaiteacute sont traiteacutes

Un aperccedilu historique des principales eacutetapes ayant conduit aux meacutethodes de deacutecodage actuelles est donneacute Ces meacutethodes sont preacutesenteacutees selon leur critegravere doptimisation soit les meacutethodes recherchant le message le plus probable et celles estimant les symboles dinformations les plus probables Dans la premiegravere classe de meacutethodes on trouve le Deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Parmi la seconde classe de meacutethodes on trouve le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Soft Output Viterbi Algorithm

Les algorithmes de Viterbi et de List Decoding constituent la base des meacutethodes ameacutelioreacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC preacutesenteacutees au Chapitre 6 et sont agrave la base de la reacutealisation mateacuterielle deacutecrite au Chapitre 7 Les descriptions algorithmiques des autres meacutethodes existantes sont donneacutees en Annexe A

Ce chapitre se termine par une comparaison et une discussion des caracteacuteristiques des meacutethodes traiteacutees

64

51 Notions de base

Les points deacuteterminant le choix et la mise au point dune meacutethode de deacutecodage sont la configuration et les exigences propres au systegraveme dans lequel le deacutecodeur est appeleacute agrave travailler Il sagit plus preacuteciseacutement

bull du type de repreacutesentation numeacuterique des symboles reccedilus bull du critegravere doptimisation de la meacutethode de deacutecodage bull de la demande dinformation suppleacutementaire requise pour eacutevaluer la

fiabiliteacute de lopeacuteration de deacutecodage Ces trois aspects sont briegravevement passeacutes en revue ci-dessous

511 Repreacutesentations numeacuteriques des symboles reccedilus

Les symboles reccedilus sont repreacutesenteacutes numeacuteriquement en utilisant lune des deux techniques suivantes

bull Hard Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision ferme les symboles sont quantifieacutes en utilisant la mecircme repreacutesentation numeacuterique que celle des symboles du message codeacute

bull Soft Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision souple ou pondeacutereacutee la repreacutesentation numeacuterique dispose dun nombre de niveaux de quantification supeacuterieur par rapport agrave la repreacutesentation des symboles du message codeacute Lrsquoutilisation drsquoune quantification moins rigide augmente le flux drsquoinformations mis agrave disposition du deacutecodeur

Chaque type de deacutecision preacutesente ses avantages La quantiteacute dinformations plus importante fournie au deacutecodeur gracircce agrave une deacutecision souple permet un deacutecodage de qualiteacute supeacuterieure Lapplication dune deacutecision ferme reacuteduit les ressources de stockage et de calcul neacutecessaires aux opeacuterations de traitement du signal

512 Critegraveres de deacutecodage

Lobjectif du codage de canal est lutilisation de techniques de traitement du signal permettant de proteacuteger les seacutequences de symboles drsquoinformations (les messages) contre les perturbations quelles subissent pendant leur transmission Dans le cas particulier des codes convolutifs la protection est obtenue en passant le message agrave travers un systegraveme (le geacuteneacuterateur du code ou codeur) constitueacute dun registre agrave deacutecalage et dun nombre fini de fonctions

65

lineacuteaires algeacutebriques (Linear Finite-State Shift Register [Proa95] voir la Sous-Section 232) Le deacuteroulement de la proceacutedure de codage convolutif peut ecirctre repreacutesenteacute soit par un diagramme en arbre (Figure 2-14) soit par un diagramme en treillis (Figure 2-16) Bien quil existe plusieurs principes et meacutethodes de deacutecodage tous les algorithmes exploitent un de ces deux diagrammes afin de modeacuteliser lopeacuteration de codage La succession des changements deacutetats de la meacutemoire du codeur convolutif est usuellement deacutesigeacutee par le terme chemin et chaque transition entre deux eacutetats par le terme branche Faisant reacutefeacuterence agrave la seacutequence dopeacuteration du deacutecodeur on peut classifier les meacutethodes de deacutecodage en deux classes

1 les meacutethodes qui cherchent agrave deacuteterminer le message produisant les symboles de sortie ressemblant le plus aux symboles reccedilus

2 les meacutethodes qui se concentrent sur lidentification de chaque symbole dinformation le plus probable

En raison de la diversiteacute des proceacutedeacutes de deacutecodage laspect temporel des diagrammes en arbre et en treillis ne coiumlncide pas neacutecessairement avec le deacuteroulement seacutequentiel de lopeacuteration de deacutecodage Par conseacutequent la notion de temps des repreacutesentations graphiques est remplaceacutee par celle de niveau de profondeur

513 Informations de deacutecodage disponibles

Laccegraves aux informations de lopeacuteration de deacutecodage caracteacuterise la configuration de travail du deacutecodeur A lorigine le deacutecodage convolutif se chargeait de reconstruire le message par correction des eacuteventuelles erreurs de transmission Aujourdhui certaines applications et certains systegravemes de deacutecodage neacutecessitent des informations relatives agrave la fiabiliteacute de la proceacutedure de deacutecodage de chaque symbole dinformation En preacutesence de messages affecteacutes par des erreurs de transmission ces applications peuvent utiliser ces informations dans le but datteacutenuer les deacutegacircts dus aux erreurs Des exemples sont le deacutecodage joint entre le deacutecodage de canal et de source (Source-channel Decoding) et les techniques de mitigation derreurs affectant les messages (Error concealement) La mise agrave disposition de ce type dinformation nest intrinsegraveque quaux meacutethodes se concentrant sur le deacutecodage individuel de chaque symbole du message (Section 53)

66

52 Meacutethodes de deacutecodage recherchant le message le plus probable

Apregraves avoir introduit les notions de base les meacutethodes les plus repreacutesentatives de chaque principe de deacutecodage sont illustreacutees dans la suite du chapitre Selon les principales eacutetapes historiques ayant meneacute aux meacutethodes exploiteacutees actuellement les meacutethodes prise en consideacuteration sont le deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) le Bidirectional Soft Output Viterbi Algorithm le Max-Log-MAP et le Log-MAP Du point de vue historique cette section preacutesente tout dabord les meacutethodes se basant sur le critegravere doptimisation le plus ancien agrave savoir la recherche du message le plus probable eacutetant donneacute les symboles reccedilus Pratiquement ces meacutethodes consistent en une recherche du chemin dont les symboles de redondance ressemblent le plus agrave ceux reccedilus par le deacutecodeur Le message peut ecirctre ainsi construit en deacutecodant ce chemin Les principes des trois meacutethodes les plus repreacutesentatives de cette classe sont preacutesenteacutees ici le deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Comme la meacutethode List Decoding et lalgorithme de Viterbi sont traiteacutes dans la suite de ce rapport ces meacutethodes sont deacutecrites ici en deacutetail Les particulariteacutes algorithmiques de la meacutethode deacutecodage seacutequentiel sont par contre deacutecrites en Annexe A La preacutesentation des algorithmes susmentionneacutes est preacuteceacutedeacutee par celle de la fonction de meacutetrique utiliseacutee par ces algorithmes pour la recherche du message le plus probable Recherche du chemin agrave laide de la fonction de meacutetrique Les algorithmes recherchant le message le plus probable analysent la seacutequence des changements deacutetats S que la meacutemoire du codeur convolutif subit pendant lopeacuteration de codage Lobjectif de ces algorithmes est lidentification de la seacutequence Ŝ statistiquement la plus probable par rapport agrave la seacutequence de symboles reccedilus R Ŝ est donneacutee par [Vale98]

Regravegle de Bayes

Pr R|S Pr Sarg max Pr S|R arg max Pr[R]

arg max Pr R|S Pr S

S S

S

S

sdot= =

= sdot

^

(51)

67

La succession des symboles dinformation qui produisent une telle seacutequence est ensuite identifieacutee gracircce agrave Ŝ Dans le but dobtenir une solution agrave leacutequation (51) ces algorithmes neacutecessitent une fonction mesurant la ressemblance entre la redondance geacuteneacutereacutee par le chemin consideacutereacute i et la seacutequence de symboles reccedilue Cette fonction est appeleacutee fonction de meacutetrique La fonction de meacutetrique du i-egraveme chemin Si est repreacutesenteacutee dans ce document par le symbole PM(Si) Elle permet de reformuler le critegravere doptimisation (51) selon

( )

arg max i

i

SS S i

S PMisin forall

=^

(52)

ougrave ( )

iPr S |R iSPM prop (53)

Afin de reacuteduire la dynamique des valeurs de meacutetrique le critegravere doptimisation est souvent formuleacute dans le domaine logarithmique comme suit

i

arg max log(Pr S |R )iS S i

Sisin forall

=

^ (54)

et la fonction de meacutetrique est reformuleacutee de la maniegravere suivante ( )

i|log(Pr S R )iSPM prop (55)

Une proprieacuteteacute fondamentale de la fonction de meacutetrique telle que deacutefinie ci-dessus est la proprieacuteteacute reacutecursive suivante

( ) ( ) ( ) ( )1

1( )

( )

valeur de meacutetrique ne consideacuterant que les premiegraveres transitions du chemin

contribution agrave la mesure de fi

i i i i

i

i

BS S S S

npBBnp

Snp

Snp

PM PM

PMnp i

micro micro

micro

minus=

= + = sum

deacuteliteacute de la transition entre les niveaux de profondeur -1 et np np

(56)

68

Cette proprieacuteteacute facilite (et permet) la reacutealisation de plusieurs meacutethodes de deacutecodage introduisant la notion de meacutetrique cumuleacutee PMnp

(Si) et de meacutetrique de branche micronp

(Si) Le calcul de la meacutetrique de branche doit tenir compte de la repreacutesentation numeacuterique des symboles reccedilus ainsi que de la modeacutelisation du moyen de communication Ladoption dune deacutecision ferme permet leacutetablissement dune fonction de meacutetrique baseacutee sur la distance de Hamming (Hamming Distance) alors quune deacutecision souple implique ladoption dune distance euclidienne La fonction de meacutetrique selon leacutequation (56) permet denvisager plusieurs principes de recherche du chemin le plus prometteur On peut identifier trois genres de recherches diffeacuterentes [Ande84] qui sont

bull Le genre Depth-First ougrave le chemin le plus prometteur est chercheacute en suivant le chemin montrant la valeur de meacutetrique cumuleacutee la plus favorable En cas daccumulation temporelle derreurs (Burst errors) le chemin preacutesentant la meacutetrique cumuleacutee la plus favorable peut seacuteloigner du chemin globalement le plus prometteur Par conseacutequent ce genre de recherche preacutevoit la possibiliteacute de revenir en arriegravere sur le chemin parcouru afin de reprendre un meilleur chemin la proceacutedure de recherche parcourt le diagramme en arbre de maniegravere bidirectionnelle

bull Le genre Breadth-First ougrave la recherche est unidirectionnelle et synchroniseacutee par rapport au niveau de profondeur du diagramme en arbre ou en treillis Cette strateacutegie se base sur la comparaison des meacutetriques cumuleacutees de plusieurs chemins au mecircme niveau de profondeur

bull Le genre Metric-First ougrave la recherche est unidirectionnelle dans le diagramme en arbre Cette recherche est reacutegleacutee par les valeurs des meacutetriques cumuleacutees des chemins deacutejagrave analyseacutes Au cours de la recherche lalgorithme considegravere un nombre fini de chemins atteignant des niveaux de profondeur diffeacuterents Ce genre de recherche est le moins performant des trois [Ande84]

A laide des notions introduites ici les algorithmes les plus repreacutesentatifs sont preacutesenteacutes

521 Deacutecodage Seacutequentiel

La premiegravere meacutethode utiliseacutee pour le deacutecodage des seacutequences proteacutegeacutees par des codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft en 1957

69

Cette meacutethode a eacuteteacute reprise et modifieacutee par Fano [Proa95] La strateacutegie adopteacutee par Fano consiste en la recherche du chemin le plus probable agrave linteacuterieur du diagramme en arbre (Figure 2-14) en examinant une transition de meacutemoire agrave la fois Ce type de recherche appartient au genre de recherche depth-first [Ande84] [Schl97] La recherche du chemin le plus prometteur est conduite agrave laide dune fonction de meacutetrique PM (55) adapteacutee agrave ce genre de recherche (voir Annexe A Section A1) Proceacutedure pour la deacutetection des faux chemins Le genre de recherche depth-first est extrecircmement sensible agrave laccumulation temporelle derreurs de transmission En effet une accumulation rapide derreurs peut temporairement entraicircner le rejet du chemin globalement le plus probable par rapport aux symboles reccedilus Le moyen choisi pour faire face agrave cet inconveacutenient est ladoption dun seuil dynamique de meacutetrique qui eacutevalue lexactitude de la recherche du chemin le plus probable (Figure 5-1) [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin choisi deacutepasserait ce seuil le chemin sera suspecteacute decirctre incorrect en raison dune forte accumulation derreurs la proceacutedure de recherche de lrsquoalgorithme reviendra en arriegravere sur les nœuds preacuteceacutedents en cherchant un nouveau chemin qui satisfasse la comparaison avec le seuil Si aucun chemin conforme nrsquoest trouveacute la valeur du seuil sera reacuteduite et la proceacutedure de recherche recommencera en utilisant le chemin qui a eacuteteacute suspecteacute decirctre incorrect Ce moyen permet de se preacutemunir drsquoune boucle de recherche infinie Le nombre drsquoiteacuterations la preacutecision de la proceacutedure de recherche dans les nœuds anteacuteceacutedents et par conseacutequent la qualiteacute de correction drsquoerreurs fournie par lrsquoalgorithme deacutependent strictement des modifications apporteacutees agrave la valeur du seuil de reacutefeacuterence Pour cette raison la proceacutedure et les paramegravetres dadaptation du seuil sont identifieacutees agrave lrsquoaide de lrsquoexpeacuterience accumuleacutee ainsi que de nombreuses simulations Observations La meacutethode de deacutecodage seacutequentielle est caracteacuteriseacutee par lexeacutecution seacutequentielle et bidirectionnelle de la recherche du chemin le plus prometteur La conseacutequence de cette strateacutegie de recherche est tout dabord un temps de deacutecodage variable et fortement influenceacute par le nombre et le type derreurs de transmission Ensuite la qualiteacute de protection est aussi fonction du reacuteglage des paramegravetres du seuil dynamique de reacutefeacuterence Dautre part la fonction de meacutetrique doit ecirctre eacutetablie de maniegravere agrave permettre une comparaison eacutequitable

70

entre chemins se situant agrave diffeacuterents niveaux de profondeurs (Annexe A Sous-section A11)

recherche du meilleurnoeud et calcul de la

nouvelle meacutetriquePMnp+1

STARTmeacutetrique PM0=0

PM-1=-infiniposition dans larbre np=0

deacutetectionfaux

chemins

avancementnp=np+1

fin de larecherche

np=B FIN

premierpassage

affinementparamegravetres dedeacutetection faux

chemins

controcircle du noeudpreacuteceacutedent

modificationparamegravetres de

deacutetection faux chemins

reculnp=np-1

recherche du prochainmeilleur noeud et

calcul de la nouvellemeacutetrique PMnp+1

Trouveacute

deacutetectionfaux

chemins

Oui

Non

fauxchemin

chemincorrect

Oui

Non

Oui

Non

fauxchemin

chemincorrect

faux chemin

chemin correct

Figure 5-1 diagramme de flux simplifieacute de lrsquoalgorithme de Fano (adapteacute selon [Proa95])

La variabiliteacute et la non-preacutevisibiliteacute du nombre dopeacuterations rendent ce genre de recherche inadapteacutee agrave un contexte de codage en temps reacuteel Cet

71

inconveacutenient peut ecirctre eacutelimineacute en changeant la nature de la recherche en la remplaccedilant par le genre breadth-first En effet les algorithmes utilisant ce genre de recherche ont une complexiteacute de calcul indeacutependante des conditions de transmission du signal et un temps de deacutecodage preacutevisible

522 List Decoding

A la diffeacuterence des meacutethodes de recherche preacuteceacutedentes le genre de recherche breadth-first analyse et traite les chemins par groupes Les algorithmes List Decoding [Joha99] M-Algorithm [Ande84] [Schl97] et T-Algorithm [Schl97] sont des meacutethodes qui exploitent ce genre de recherche Le principe de recherche de ces meacutethodes peut ecirctre ainsi partageacute en deux parties Dabord un nombre de chemins les plus prometteurs est seacutelectionneacute parmi les chemins atteignant le niveau de profondeur traiteacute Puis les chemins seacutelectionneacutes sont propageacutes au niveau de profondeur suivant Description de lalgorithme List Decoding Etant donneacute une recherche de type breadth-first lrsquoanalyse et le controcircle des chemins sont synchroniseacutes par rapport au niveau de profondeur dans lrsquoarbre de recherche La possibiliteacute de revenir sur les nœuds preacuteceacutedents nest pas donneacutee (Figure 5-2) Lalgorithme List Decoding peut ecirctre reacuteparti en quatre eacutetapes principales

1 Insertion du nœud de deacutepart dans la liste contenant les chemins les plus prometteurs (initialisation de la liste)

2 Deacutetermination des nouveaux chemins agrave partir des chemins contenus dans la liste des chemins les plus prometteurs Mise agrave jour des meacutetriques relatives cumuleacutees

3 Si la fin de lrsquoarbre de recherche est atteinte deacutecodage du chemin posseacutedant la meilleure meacutetrique finale

4 Si la fin de larbre nest pas atteinte effacement du contenu de la liste des chemins les plus prometteurs et seacutelection des L chemins preacutesentant les meacutetriques cumuleacutees les plus favorables Ces chemins sont ensuite inscrits dans la liste des chemins les plus prometteurs et la proceacutedure de recherche retourne agrave lrsquoeacutetape 2

Les chemins analyseacutes ayant la mecircme longueur la fonction de meacutetrique PM (55) peut ignorer tous les termes en commun agrave toutes les meacutetriques La fonction de meacutetrique nest ainsi formeacutee que par laccumulation des

72

contributions de chaque transition (branche) dans le diagramme en arbre cest-agrave-dire des meacutetriques de branche micronp (56) ( )( ) ( )

np npnp-1ii i SS SPM PM micro= + (57)

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

PM4(S13) PM5

(S19)PM3(S7)PM2

(S3)PM1(S1)PM0

(S0)

PM4(S14) PM5

(S20)PM3(S8)PM2

(S4)PM1(S2)

PM4(S15) PM5

(S21)PM3(S9)PM2

(S5)

PM4(S16) PM5

(S22)PM3(S10)PM2

(S6)

PM4(S17) PM5

(S23)PM3(S11)

PM4(S18) PM5

(S24)PM3(S12)

Figure 5-2 exemple illustrant le genre de recherche de la meacutethode List Decoding (L = 3)

Importance du nombre L de chemins propageacutes Le nombre L de chemins retenus agrave chaque transition est normalement deacutefini agrave priori agrave lexception de lalgorithme T-Algorithm qui seacutelectionne dynamiquement les chemins candidats Cet algorithme seacutelectionne les chemins en se basant sur les diffeacuterences existant entre les meacutetriques cumuleacutees [Schl97] Le problegraveme typique affectant ce type dalgorithme est la possibiliteacute de rejet du chemin correct de la liste (temporairefinale) des L chemins les plus favorables agrave cause dune concentration derreurs de transmission Le rejet du chemin correct comporte un deacutecodage livrant un message incorrect (Figure

73

5-3) Le nombre derreurs dans le message est fonction du nombre de transitions deacutetat diffeacuterents entre le chemin choisi et le chemin correct

le chemincorrect est dans la

liste finale

dfree gt= 2e+1

deacutecodage duchemin correct

deacutecodage dunchemin incorrect

le nombreet la disposition temporelle

des erreurssont favorables

oui non

non

oui

oui non

start

Figure 5-3 repreacutesentation graphique des relations entre les paramegravetres influenccedilant la performance du deacutecodage ougrave e indique le nombre derreurs affectant la transmission du message et ougrave dfree indique la distance libre du code convolutif

Laugmentation du nombre L permet de reacuteduire loccurrence du rejet due agrave une accumulation (temporaire et deacutefavorable) derreurs de transmission Toutefois cette solution augmente la charge de calcul de la meacutethode de deacutecodage charge qui est fonction du nombre des chemins propageacutes et de lutilisation dopeacuterations de seacutelection Observations La qualiteacute de deacutecodage de lalgorithme List Decoding est fortement influenceacutee par le possible rejet du chemin correct de la liste des chemins les plus prometteurs Loccurrence deacutepend dune part de la quantiteacute et de la disposition temporelle des erreurs de transmission et dautre part du nombre L des chemins retenus dans la liste

74

Ce paramegravetre L deacutetermine non seulement la qualiteacute de protection contre les erreurs de transmission mais aussi la charge de calcul de la proceacutedure de deacutecodage En effet la nature de recherche de cet algorithme rend la charge de calcul indeacutependante du nombre et de la disposition temporelle des erreurs de transmission A chaque niveau de profondeur lalgorithme exeacutecute la prolongation des L chemins contenus dans la liste met agrave jour les 2bmiddotL meacutetriques cumuleacutees et seacutelectionne ensuite les L meilleurs chemins17 De par sa charge de calcul indeacutependante de la longueur de contrainte du code et de par la nature des erreurs de transmission lalgorithme List Decoding a eacuteteacute retenu comme noyau pour la nouvelle meacutethode software de deacutecodage iteacuterative appeleacutee ici List Decoding inteacutegrant la validation du CRC et deacutecrite en Section 67 Cette meacutethode utilise de maniegravere iteacuterative les reacutesultats de lapplication de la meacutethode List Decoding et les informations suppleacutementaires fournies par la validation CRC

523 Algorithme de Viterbi

Lalgorithme de Viterbi a eacuteteacute preacutesenteacute en 1967 par A J Viterbi comme deacutecodeur des codes convolutifs [Vale98] Le principe de cet algorithme consiste agrave estimer les transitions qui se sont produites dans la meacutemoire du codeur convolutif pendant le codage Lestimation se base sur le maximum de vraisemblance (Maximum Likelihood) fonction qui permet didentifier le message globalement le plus probable [Hell71] [Forn73] [Thit93] [Proa95] [Schl97] [Vale98] [Joha99] [Vuce00] Limportante contribution apporteacutee par lalgorithme de Viterbi est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs mis agrave disposition par le code sans devoir controcircler individuellement chacun des chemins possibles En effet la recherche du chemin globalement le plus probable par analyse des 2bB chemins possibles devient rapidement impraticable avec laugmentation du nombre des symboles du message Les meacutethodes existant avant lalgorithme de Viterbi se limitaient au controcircle dun nombre important mais toutefois limiteacute de chemins la correspondance entre le chemin choisi et le chemin globalement le plus probable deacutependait de plusieurs paramegravetres dont le nombre et la disposition temporelle des erreurs de transmission la qualiteacute de protection offerte par le code convolutif et le nombre des chemins controcircleacutes par la meacutethode 17 b indique le nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de

canal

75

Viterbi deacuteveloppe son algorithme en eacutetablissant cinq critegraveres permettant didentifier le chemin globalement le plus probable

bull la recherche du chemin globalement le plus probable par moyen dune fonction de meacutetrique

bull La modeacutelisation de la proceacutedure de codage convolutif par un processus de Markov (processus eacutechantillonneacute dans le temps avec un nombre deacutetats finis)

bull un genre de recherche de type breadth-first bull lhypothegravese dun bruit sans meacutemoire (memoryless) perturbant le canal bull une proceacutedure de recherche exploitant la structure du diagramme en

treillis Eacutetablissement de la fonction de meacutetrique La modeacutelisation de la proceacutedure de codage par un processus de Markov offre la possibiliteacute dexploiter ses proprieacuteteacutes dont en particulier les deux suivantes [Vale98]

bull laquoLa probabiliteacute quun processus de Markov soit dans un eacutetat particulier eacutetant donneacute tous les eacutetats preacuteceacutedents est eacutegale agrave la probabiliteacute que le processus soit dans cet eacutetat eacutetant donneacutee lrsquoeacutetat preacuteceacutedentraquo (traduction) [Vale98] 1 0 1 1Pr[ ] Pr[ ]np npnp nps s s s s s+ += (58)

bull laquoDans un environnement perturbeacute par un bruit blanc la probabiliteacute de la np-egraveme observation particuliegravere rnp eacutetant donneacute la succession complegravete des transitions entre les eacutetats S est eacutegale agrave la probabiliteacute de lrsquoobservation eacutetant donneacute uniquement la transition entre la profondeur np-1 et npraquo (traduction) [Vale98] On a donc

1Pr[ ] Pr[ ]np np npnpr S r s sminus= rarr (59)

Lapplication de ceux deux proprieacuteteacutes agrave la formule (51) deacutecrivant le critegravere doptimisation permet deacutetablir lexpression suivante [Vale98]

1 11 1

arg max Pr[ ] Pr[ ] B B

np np npnp npS np npS r s s s sminus minus

= =

= rarrprod prod^

(510)

76

Le transfert de leacutequation (510) dans le domaine logarithmique (54) permet de substituer le produit de probabiliteacutes par leur somme ce qui simplifie le calcul et reacuteduit la dynamique des nombres On a alors

1 11

arg max log Pr[ ] log Pr[ ] B

np np npnp npS npS r s s s sminus minus

=

= rarr +sum

^ (511)

A partir de leacutequation (511) la fonction de meacutetrique PM est introduite dans la description du critegravere doptimisation

( ) ( )

1

( ) ( )

1

( )1 1 1

arg max arg max

et

log Pr[ ] log Pr[ ] et

i i

i

BS S

npS S np

BS S

npnp

Snp np np np np inp np np

S PM

PM

r s s s s s s S

micro

micro

micro

=

=

minus minus minus

isin

= =

=

= rarr +

sum

sum

^

(512)

ougrave les meacutetriques finales PM(Si) et de branche micronp

(Si) se reacutefegraverent aux transitions du i-egraveme chemin Lexeacutecution de la tacircche de recherche (512) peut ecirctre alleacutegeacutee en ne consideacuterant que les transitions effectivement possibles transitions qui sont deacutefinies par la structure du codeur Si tous les messages sont eacutequiprobables le second terme de la meacutetrique de branche (512) napporte aucune contribution de discrimination la formulation de la meacutetrique de branche peut ecirctre ainsi simplifieacutee et donneacutee par

( )1 log Pr[ ]iS

np np npnpr s smicro minus

= rarr (513)

Le maximum de vraisemblance devient alors lunique paramegravetre servant agrave deacuteterminer le meilleur chemin Les hypothegraveses de travail de lalgorithme preacutesenteacute en 1967 par Viterbi consideacuteraient une telle situation deacutequiprobabiliteacute [Vale98] qui est veacuterifieacutee lorsque la redondance des messages est reacuteduite au minimum ou admise lorsque les probabiliteacutes a priori Pr[snp|snp-1] ne sont pas connues

77

Notion de survivant Lintroduction de la notion de survivant (survivor) deacutecrite ci-apregraves permet de reacuteduire le nombre drsquoopeacuterations neacutecessaires agrave lexploitation de tout le potentiel de correction drsquoerreurs agrave disposition Cette notion se base sur le concept de non-optimaliteacute (nonoptimality)

SB

SA

SG

SE

SF

SC

SD

Chemin A

Chemin B

Niveau deprofondeur np-2 np-1 np np+1 np+2

eacutetat de la meacutemoiredu codeur convolutif

Figure 5-4 repreacutesentation graphique de la convergence entre deux chemins

La notion de survivant peut ecirctre expliqueacutee sur la base dun exemple comprenant deux chemins A et B dans la situation suivante (Figure 5-4)

bull les meacutetriques cumuleacutees de deux chemins A et B sont compareacutees agrave la profondeur np+2

bull au niveau de profondeur np+2 le chemin A preacutesente une meacutetrique cumuleacutee meilleure que le chemin B

( ) ( )

2 2A B

np npPM PM+ +gt (514) bull agrave partir du niveau de profondeur np les deux chemins convergent en un

mecircme chemin cest-agrave-dire quagrave partir du niveau de convergence np les deux chemins indiquent des eacutetats identiques de la meacutemoire du codeur

A laide de la proprieacuteteacute reacutecursive de la fonction de meacutetrique PM (512) les meacutetriques cumuleacutees PMnp+2 des deux chemins (514) peuvent ecirctre ainsi reacuteeacutecrites

2

( ) ( ) ( )2

1 1

A A Anp np

S S Snp prof prof

prof prof npPM micro micro

+

+= = +

= +sum sum

78

2

( ) ( ) ( )2

1 1B B B

np npS S S

np prof profprof prof np

PM micro micro+

+= = +

= +sum sum (515)

Cette formulation distingue la contribution des meacutetriques de branches par rapport au nœud de convergence des deux chemins On peut ainsi constater que les branches qui suivent le nœud de convergence apportent la mecircme contribution aux deux meacutetriques cumuleacutees PMnp+2

(SA) et PMnp+2(SB)

2 2

( ) ( )

1 1A B

np npS S

prof profprof np prof np

micro micro+ +

= + = +=sum sum (516)

A partir de ce nœud de convergence la relation existant entre les deux meacutetriques cumuleacutees ne change pas parce que les deux chemins suivrent le mecircme parcours (proprieacuteteacutes des processus de Markov (58) et (59)) ( ) ( ) ( ) ( ) x =1 2B BA AS S S S

np np np x np xPM PM PM PM+ +gt hArr gt (517) Cette relation reste inalteacutereacutee en choisissant un autre future parcours18 apregraves le nœud de convergence les meacutetriques cumuleacutees du future parcours apportent la mecircme contribution aux deux chemins Par conseacutequent au niveau de profondeur np lopeacuteration de recherche sait que le chemin convergeant le moins performant SB ne pourra jamais coiumlncider avec le chemin globalement le plus probable Cette proprieacuteteacute permet danticiper la seacutelection entre deux chemins concurrents agrave la profondeur ougrave les deux chemins se reacuteunissent pour la premiegravere fois Le theacuteoregraveme de la non-optimaliteacute (theorem of nonoptimality path) [Joha99] [Schl97] deacutefinit ainsi que laquola proceacutedure de reacuteunion des nœuds qui correspondent agrave des eacutetats identiques de lrsquoencodeur et successivement la suppression des chemins avec les meacutetriques cumuleacutees les moins favorables neacuteliminent jamais le chemin avec la ressemblance maximaleraquo19 (traduction) [Schl97] De point de vue de la nomenclature le chemin retenu apregraves la comparaison est appeleacute chemin survivant

18 Parcours qui deacutemarre depuis le nœud de convergence des deux chemins 19 Selon ce theacuteoregraveme dans le cas ougrave les chemins convergeant en un mecircme nœud

preacutesenteraient une meacutetrique identique lun des deux chemins peut ecirctre eacutelimineacute de maniegravere aleacuteatoire

79

Lapplication systeacutematique de cette proceacutedure de seacutelection anticipeacutee reacuteduit consideacuterablement la complexiteacute de calcul de proceacutedure de recherche et rend ainsi faisable lidentification du chemin globalement le plus probable Description de lalgorithme La seacutelection du chemin survivant en consideacuterant les divers eacutetats de meacutemoire possibles permet le remplacement dune recherche baseacutee sur un diagramme en arbre par une recherche exploitant le diagramme en treillis En repreacutesentant les eacutetats de meacutemoires par les nœuds de la repreacutesentation le diagramme en treillis facilite lexeacutecution de lopeacuteration de seacutelection

chemin le plus probable

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins non retenuschemins survivants

chemin le plus probabledeacutecodage du chemin seacutelectionneacute

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

Figure 5-5 exemple de deacutecodage drsquoun message de 6 bits par lrsquoalgorithme de Viterbi message qui a eacuteteacute proteacutegeacute avec un code convolutif posseacutedant une longueur de contrainte de 3

Le deacuteroulement de lalgorithme de Viterbi implique ainsi les eacutetapes suivantes (Figure 5-5)

1 Les meacutetriques cumuleacutees de tous les eacutetats sont initialiseacutees selon les connaissances (a priori) des conditions de deacutepart du processus analyseacute

2 La valeur de la variable np qui indique le niveau de profondeur dans le treillis est initialiseacutee agrave zeacutero

3 Pour chaque nœud agrave la profondeur np+1 a les chemins convergeant en ce nœud sont identifieacutes b leurs meacutetriques sont mises agrave jour agrave lrsquoaide des meacutetriques de

branche c le chemin le plus probable (survivant) est deacutetermineacute d la meacutetrique cumuleacutee du chemin survivant est assigneacutee au nœud

80

e les informations neacutecessaires agrave la reconstruction du chemin survivant sont sauvegardeacutees

4 Lorsque la fin du treillis de recherche est atteinte lrsquoalgorithme deacutecode le chemin avec la meilleure meacutetrique selon les informations sauvegardeacutees

5 Sinon le niveau de profondeur np est increacutementeacute de 1 6 On revient agrave lrsquoeacutetape 3

Observations La proprieacuteteacute principale de cet algorithme est doffrir une analyse efficace et exhaustive de tout lespace de codage gracircce agrave la notion de survivant Les ressources neacutecessaires agrave cette analyse qui doit prendre en compte les 2bB chemins possibles sont reacuteduites agrave

bull Bmiddot2bmiddot2(K-1) mises agrave jour de meacutetriques cumuleacutees bull Bmiddot2(K-1) seacutelections du chemin survivant

Lindeacutependance de la complexiteacute de calcul par rapport au nombre et agrave la disposition temporelle des erreurs de transmission est assureacutee par le genre de recherche breadth-first Par contre la longueur de contrainte K du code deacutetermine la charge de calcul pour le traitement de chaque bit dinformation La notion de survivant peut ecirctre aussi servir agrave lameacutelioration de la qualiteacute de deacutecodage des meacutethodes List Decoding La performance de lalgorithme List Decoding est en effet perturbeacutee par la conservation possible de chemins preacutesentant un mecircme eacutetat de meacutemoire (voir lexemple de la Figure 5-2 au 5egraveme niveau de profondeur 5) Cette situation perturbatrice deacutegrade lefficaciteacute de la recherche du chemin le plus probable en reacuteduisant le nombre de chemins effectivement utiles agrave cette recherche Leacutelimination des chemins inutiles implique une augmentation de la complexiteacute de calcul de la meacutethode non seulement pour lexeacutecution de lopeacuteration de seacutelection mais aussi en raison dun type de recherche baseacutee sur le diagramme en arbre Lalgorithme de Viterbi gracircce agrave son analyse efficace et exhaustive de tout lespace de codage sera un eacuteleacutement crucial des travaux deacutecrits dans les Chapitres 6 et 7 Le sujet de limplantation software (Chapitre 6) sera introduit par lanalyse de cet algorithme qui est massivement utiliseacute dans les systegravemes de la 2G Lalgorithme de Viterbi est ensuite agrave la base dune des deux meacutethodes iteacuteratives de deacutecodage software qui seront proposeacutees dans la suite de leacutetude du sixiegraveme chapitre Cette meacutethode le List Viterbi Algorithm utilise de maniegravere iteacuterative les informations fournies par lalgorithme de Viterbi et par le

81

codage suppleacutementaire CRC ameacuteliorant la qualiteacute de protection contre les erreurs de transmission Le Chapitre 7 traitera le sujet de la reacutealisation ASIC dune meacutethode de deacutecodage de codes convolutifs baseacutee entiegraverement sur lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants

53 Meacutethodes de deacutecodage estimant les symboles les plus probables

Apregraves avoir introduit les meacutethodes se concentrant sur le message le plus probable cette section preacutesente les meacutethodes agissant au niveau des symboles dinformation du message La meacutethode pionniegravere de cette classe de deacutecodeurs est lalgorithme Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) Les avantages fournis par cet algorithme sont la minimisation de la probabiliteacute derreur de chaque symbole du message et la mise agrave disposition dune estimation de la fiabiliteacute du deacutecodage Toutefois cette premiegravere meacutethode souffre de problegravemes de repreacutesentation numeacuterique des variables de ressources de stockage et dune charge de calcul importante Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute ulteacuterieurement proposeacutes Les algorithmes Max-Log-MAP Algorithm Log-MAP Algorithm et Soft Output Viterbi Algorithm (SOVA) sont des exemples repreacutesentatifs Dans cette section on illustre ainsi les principes de deacutecodage des meacutethodes MAP Max-Log-MAP Algorithm Log-MAP Algorithm et Bidirectional SOVA Les deacutetails algorithmiques de ces meacutethodes sont disponibles dans lAnnexe A Critegravere doptimisation Le critegravere doptimisation de cette classe de meacutethodes se base sur lestimation de chaque bit (b=1) ou symbole (bgt1) dinformation du message eacutetant donneacute la seacutequence de symboles reccedilus R

npnp npinfo Bit

np

info Bit arg max Pr info Bit |R

info Bit -egraveme symbole dinformationnp

=

^

(518)

82

Ce critegravere deacutetermine les symboles les plus probables indeacutependamment de la correacutelation existant entre les symboles reccedilus et ceux geacuteneacutereacutes par le message entier La reacutesolution de leacutequation (518) implique la deacutetermination des probabiliteacutes de deacutecodage de chaque symbole du message informations qui peuvent ecirctre utiles agrave lopeacuteration suivant le deacutecodage convolutif Cette classe dalgorithmes ne fournit ainsi pas le message mais une estimation de la fiabiliteacute du deacutecodage de chaque symbole Dans le contexte dun codage binaire (b=1) cette estimation est livreacutee au moyen de la fiabiliteacute Λ

( ) npnp

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Λ = (519)

qui se base sur la probabiliteacute a-posteriori (APP) des symboles transmis npPr info bit =i S 01i

= (520)

Le message peut ainsi ecirctre extrait en regardant le signe de la fiabiliteacute Λ

( )npnp

1 si info bit 0info bit = 0 autrement

Λ ge (521)

531 Symbol-by-symbol Maximum A Posteriori Algorithm

Lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacute formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole du message (518) Lalgorithme est ainsi capable de fournir en plus une estimation de la fiabiliteacute du deacutecodage qui se base sur la probabiliteacute a posteriori du bit concerneacute [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00] Bien que le nom de la meacutethode rappelle la fonction de maximisation cette fonction matheacutematique nest pas agrave la base de la meacutethode Par conseacutequent dans

83

certaines publications la meacutethode est citeacutee sous dautres noms souvent sous le terme A Posteriori Probability Algorithm [Vale98] Afin de maintenir une coheacuterence avec la plupart des publications dans la suite de ce rapport cette meacutethode continuera agrave ecirctre mentionneacutee avec son nom original Objectif de la meacutethode pionniegravere MAP En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode geacuteneacuterale permet lestimation des probabiliteacutes a posteriori (APP) des transitions

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (522)

et des probabiliteacutes des eacutetats du processus

Pr

PrPrnp

nps m R

s m RR

== = (523)

Dans le cas particulier du deacutecodage convolutif lobjectif poursuivi par la meacutethode MAP est lestimation de la probabiliteacute

npnp

Pr info bit Pr info bit

Pri R

i RR

== = (524)

probabiliteacute qui est ensuite deacutelivreacutee au moyen de la valeur de fiabiliteacute Λ Ainsi au moyen de la probabiliteacute σ()

( )

( ) ( ) ( )1

1

Pr

np npnp

np npnp

m m s m s m R

m m m m

σ

α γ βminus

minus

= = =

= sdot sdot (525)

ougrave ( ) 1Pr np

np npm s m Rα = = (526)

( ) 1Pr Bnp npnpm R s mβ +

= = (527)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (528)

lalgorithme MAP accomplit sa tacircche en estimant la fiabiliteacute

84

( ) ( )

np 1np

np ( ) 0

( )Pr info bit 1

info bit( )Pr info bit 0

ttransition m mimpliquant

ttransition m mimpliquant

m mR

m mR

σ

σ=

=

=

=Λ =

=

sum

sumnp

np

info bit

info bit

(529)

Le calcul de la probabiliteacute σ() (525) beacuteneacuteficie des proprieacuteteacutes iteacuteratives des probabiliteacutes α() (526) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (530)

et β() (527) ( ) ( ) ( )1 1

np np np

mm m m mβ β γ+ += sdotsum (531)

Les deacutetails de la deacuterivation matheacutematique ainsi que le deacuteroulement algorithmique de la meacutethode MAP sont disponibles dans lAnnexe A (Section A2) Par rapport agrave la repreacutesentation graphique de la proceacutedure de deacutecodage cette meacutethode utilise un diagramme en treillis (Figure 5-6) similairement agrave lalgorithme de Viterbi A chaque nœud du diagramme en treillis est assigneacutee la probabiliteacute APP dun eacutetat Pr nps m R

= (532)

et agrave chaque branche la probabiliteacute APP dune transition de meacutemoire 1Pr npnps m s m Rminus

= = (533)

Observations Lanalyse du deacuteroulement de lalgorithme MAP met tout de suite en eacutevidence limportante charge de calcul et la forte demande de ressources de stockage ainsi quun deacutecodage qui ne supporte pas des messages infinis (block-oriented) Par conseacutequent des meacutethodes ont eacuteteacute ensuite proposeacutees afin de pallier agrave ces inconveacutenients tout en gardant le mecircme critegravere doptimisation Parmi ces meacutethodes on trouve les algorithmes Max-Log-MAP et Log-MAP qui

85

proposent des solutions reacuteduisant la complexiteacute de calcul [Robe95] [Vale98] [Vuce00]

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

Niveau deProfondeur np-2 np-1 np np+1

info Bitnp

Figure 5-6 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les algorithmes MAP et Log-MAP

532 Algorithme Max-Log-MAP

Lalgorithme MAP est indiscutablement la solution optimale pour lestimation des probabiliteacutes des eacutetats et des transitions de meacutemoire du codeur convolutif [Robe95] Cependant il souffre de seacutevegraveres inconveacutenients [Vale98]

bull Une repreacutesentation numeacuterique des probabiliteacutes qui doit couvrir une vaste dynamique de valeurs

bull Une utilisation intensive des ressources de stockage et de calcul Lalgorithme Max-Log-MAP propose de reacuteduire ces inconveacutenients Le problegraveme de la dynamique des nombres est reacutesolu en exeacutecutant les estimations des probabiliteacutes dans le domaine logarithmique [Robe95] [Vale98] [Vuce00] Les probabiliteacutes ( )t mα ( )t mβ ( )t m mγ et ( )i

t m mγ sont ainsi remplaceacutees par les probabiliteacutes eacutequivalentes ( )t mα ( )t mβ

( )t m mγ et ( )it m mγ dans le domaine logarithmique

86

( ) ( )( ) log i i

t tm m m mγ γ= (534)

( ) ( )( ) ( ) ( )1

log log tt m m m

t tm

m m eα γα α minus +

= = sum (535)

( ) ( )( ) ( ) ( )1 1

log log t tm m m

t tm

m m eβ γβ β + ++

= = sum (536)

La fiabiliteacute Λ peut ecirctre ainsi reformuleacutee

( )( ) ( ) ( )

( ) ( ) ( )

11

01

( )t

( )

info bit log

t tt

t tt

m m m m

m mm m m m

m m

e

e

α γ β

α γ β

minus

minus

+ +

+ +Λ =

sum

sum (537)

Ensuite si on considegravere lapproximation

1 1

12log maxn

ii ne e eδ δ δ δ

isin

+ + + asymp (538)

les expressions (535) et (536) peuvent ecirctre simplifieacutees dune maniegravere analogue ( ) ( ) ( ) 1

max t ttmm m m mα α γminusasymp + (539)

( ) ( ) ( ) 1 1max t t tm

m m m mβ β γ+ +asymp + (540) ce qui permet une reacuteduction de la charge de calcul [Robe95] [Vale98] [Vuce00] Leacutevaluation de la fiabiliteacute Λ (537) peut aussi ecirctre simplifieacutee

( ) ( ) ( ) ( )

( ) ( ) ( ) 1

t 1( )

01( )

info bit max

max

t ttm m

t ttm m

m m m m

m m m m

α γ β

α γ β

minus

minus

Λ asymp + +

minus + + (541)

Observation En analysant lexpression (541) on en constate que le nombre des chemins participant agrave la mesure de la fiabiliteacute est reacuteduit et que lalgorithme ressemble agrave celui de Viterbi

87

Pour lestimation de la fiabiliteacute de chaque bit lalgorithme Max-Log MAP utilise seulement deux chemins dont la seacutelection est analogue au principe du chemin survivant de lalgorithme de Viterbi Lun des deux chemins coiumlncide toujours avec le chemin globalement le plus prometteur ce qui deacutetermine le signe de lestimation Λ [Vuce00] (Figure 5-7) Par conseacutequent le message extrait par les signes des fiabiliteacutes Λ coiumlncide avec celui livreacute par lalgorithme de Viterbi

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

chemin consideacutereacutepar la meacutethode

noeud concerneacute par lemeilleur chemin global

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

Figure 5-7 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par lalgorithme Max-Log-MAP

533 Algorithme Log-MAP

La reacuteduction de la complexiteacute de calcul de lalgorithme Max-Log-MAP obtenue agrave laide de lutilisation des approximations est contre-balanceacutee par la deacutegradation de la qualiteacute de lestimation Λ Pour parer agrave ce problegraveme lalgorithme Log-MAP utilise la notion du Jacobian Algorithm de maniegravere agrave ameacuteliorer la qualiteacute des approximations Le Jacobian Algorithm comporte les relations suivantes

88

( )

( ) ( )

2 11 21 2

1 2 1 2

ln max ln 1

max fc

e e e δ δδ δ δ δ

δ δ δ δ

minus minus + = + +

= + minus (542)

et

( ) ( ) ( )1 2ln ln max f n nn c n

ee e e e e

δ

δ δ δ δδ δ δ δ δ = =

+ + + + + minus (543)

ougrave ( )f c est une fonction de correction [Robe95] [Vuce00] Observations Lutilisation de la fonction de correction fc() permet de conserver la qualiteacute de lestimation Λ de lalgorithme MAP au deacutetriment de la complexiteacute de calcul par rapport agrave lalgorithme Max-Log-MAP En choisissant une implantation partielle de cette fonction de correction agrave laide dune table de valeurs preacute-calculeacutees (8 values Pre-computed One-Directional Table [Robe95]) un compromis peut ecirctre atteint entre laugmentation de complexiteacute de calcul et la deacutegradation de la qualiteacute destimation par rapport agrave celle de lalgorithme original [Robe95]

534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA)

Le point fort des algorithmes deacuteriveacutes de lalgorithme MAP est la livraison de la fiabiliteacute Λ Toutefois ces meacutethodes souffrent dune charge de calcul tregraves importante par rapport agrave lalgorithme de Viterbi qui est reconnu comme meacutethode de deacutecodage convolutif de reacutefeacuterence En guise de solution le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute [Forn73] [Hage95] [Vale98][Vuce00] Le concept se base sur la modification de lalgorithme de Viterbi de maniegravere agrave produire une estimation de la fiabiliteacute Λ de chaque bit du message en utilisant le chemin le plus probable Bien quil existe plusieurs meacutethodes SOVA les estimations de la fiabiliteacute Λ suivent dans les grandes lignes le mecircme principe Toutes les meacutethodes destimation du np-egraveme bit se basent sur la relation existant entre les meacutetriques cumuleacutees

bull du chemin globalement le plus probable et bull du meilleur chemin qui sest eacutecarteacute au niveau de profondeur np

(Figure 5-8)

89

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition causeacutee par le info bit 0

transition causeacutee par le info bit 1

chemin consideacutereacutepar la meacutethode

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

noeud concerneacute par lemeilleur chemin global

Figure 5-8 chemins concerneacutes par la proceacutedure destimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les meacutethodes Soft Output Viterbi Algorithm

En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la complexiteacute de calcul de lalgorithme de Viterbi En Annexe A (Section A3) on trouve la description de lalgorithme Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] Lavantage de cet algorithme est sa simpliciteacute de compreacutehension et dimplantation

54 Analyse critique des meacutethodes preacutesenteacutees

Du point de vue historique le premier critegravere de deacutecodage a ecirctre exploiteacute par les meacutethodes de deacutecodage convolutif est lestimation du message le plus probable (Table 5-1a) La premiegravere meacutethode (le deacutecodage seacutequentiel eacutelaboreacute principalement par Wozencraft Reiffen Fano et Jelinek [Joha99] [Proa95] [Schl97]) utilise ce critegravere en modeacutelisant les transitions deacutetats de la meacutemoire de lencodeur agrave

90

laide dun diagramme en arbre Populaire dans les systegravemes agrave basse vitesse de transmission [Schl97] cette meacutethode souffre de trois inconveacutenients majeurs lexeacutecution seacutequentielle de lalgorithme un temps variable de deacutecodage et la fonction de meacutetrique deacutependante de la longueur du chemin analyseacute (voir Sous-section 521 et Section A1)

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

Algorithme seacutequentiel (Wozencraft 1957)

sect 521 sect A1

X sous optimale

- - condition de transmission des signaux proceacutedure pour la deacutetection des chemins incorrects

premiegravere meacutethode proposeacutee

List Decoding sect 522 sect B2

X sous optimale

- - nombre L des eacutetats consideacutereacutes pour le deacutecodage

Algorithme de Viterbi (Viterbi 1967) sect 523

X optimale - - longueur de contrainte K du code

meacutethode utiliseacutee communeacutement pour le deacutecodage des codes convolutifs (ougrave Klt11)

Table 5-1a vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatives preacutesenteacutees dans ce chapitre

Ces inconveacutenients ont eacuteteacute eacutelimineacutes en changeant la nature de la recherche La recherche unidirectionnelle et synchroniseacutee du chemin le plus probable (Breadth-first) rend la complexiteacute de calcul indeacutependante des conditions de transmission du signal et fixe le temps de deacutecodage La structure algorithmique de ce type de recherche est fortement parallegravele Cette derniegravere caracteacuteristique est indispensable pour une implantation VLSI Dans la classe de meacutethodes utilisant ce type de recherche on trouve le List Decoding (Sous-section 522 et Section B2) et lalgorithme de Viterbi (Sous-section 523)

91

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

symbol-by-symbol MAP (Bahl 1974) sect 531 sect A2

X - optimale optimale longueur de contrainte K du code

Soft-Output Viterbi Algorithm (Hagenauer 1989) sect 534 sect A3

X optimale - sous optimale longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme de Viterbi

Max-Log-MAP (Koch 1990) sect 532

X - sous optimale sous optimale

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Log-MAP (Robertson 1995) sect 533

X - Deacutependante de limplantation

Deacutependante de limplantation

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Table 5-1b (cont) vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatifs preacutesenteacutees dans ce chapitre (Section 53)

Du point de vue historique le dernier algorithme de cette classe de meacutethodes estimant le message le plus probable est lalgorithme de Viterbi La nouveauteacute apporteacutee par cet algorithme est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs agrave disposition sans devoir recourir agrave une analyse exhaustive de tous les possibles messages Malgreacute cette optimisation des ressources la complexiteacute de calcul croicirct toutefois exponentiellement en fonction de la longueur de contrainte K du code Pour cette raison la meacutethode est communeacutement utiliseacutee pour le deacutecodage de codes convolutifs dont la longueur de contrainte est limiteacutee (Kle10) [Proa95] Lautre critegravere de deacutecodage (historiquement plus reacutecent) se concentre sur le deacutecodage seacutepareacute de chaque symbole du message (Table 5-1b) Lalgorithme pionnier est lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) qui est preacutesenteacute comme une solution alternative agrave lalgorithme de Viterbi [Vale98] Les avantages fournis par ce critegravere sont la

92

minimisation de la probabiliteacute derreur de chaque symbole et la livraison dune estimation de la fiabiliteacute du deacutecodage Cet algorithme souffre dinconveacutenients importants tels que la repreacutesentation numeacuterique des variables la demande de ressources de stockage et limportante charge de calcul (Sous-section 531 et Section A2) [Robe95] [Vale98][Vuce00] Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute proposeacutes ulteacuterieurement Les exemples les plus caracteacuteristiques sont les algorithmes Max-Log-MAP Algorithm (Sous-section 532) Log-MAP Algorithm (Sous-section 533) et Soft Output Viterbi Algorithm (Sous-section 534 et Section A3) [Robe95] Au niveau de lestimation de la fiabiliteacute Λ (Table 5-1) ces meacutethodes diffegraverent principalement dans lutilisation des ressources agrave disposition [Vuce00] (Figure 5-6 Figure 5-7 et Figure 5-8) Par rapport agrave la complexiteacute de calcul de ces meacutethodes on peut tout de suite constater que

bull La performance et la complexiteacute de calcul des meacutethodes de deacutecodage seacutequentiel et List Decoding sont influenceacutees par le choix des paramegravetres impliqueacutes dans limplantation

bull La complexiteacute de calcul des meacutethodes baseacutees sur lalgorithme de Viterbi et MAP deacutepend de la longueur de contrainte K du code convolutif utiliseacute

bull Bien quil en existe plusieurs versions la meacutethode la plus simple deacutevaluation de la fiabiliteacuteΛ appartient agrave la classe de meacutethodes SOVA Puisque la structure de lalgorithme est baseacutee normalement sur lalgorithme de Viterbi et sur une proceacutedure parallegravele pour lestimation de la fiabiliteacute on peut raisonnablement sattendre agrave ce que la complexiteacute soit infeacuterieure au double de la complexiteacute de lalgorithme de Viterbi [Vale98] [Vuce00]

bull La complexiteacute de calcul de la meacutethode Max-Log-MAP est approximativement estimeacutee au double de celle des meacutethodes SOVA [Robe95] [Vuce00]

bull La meacutethode Log-MAP est caracteacuteriseacutee par une complexiteacute de calcul estimeacutee entre 2 et 3 fois celle des meacutethodes SOVA [Vale98] [Vuce00]

55 Conclusions

Dans ce chapitre les principes et les algorithmes les plus repreacutesentatifs utilisables pour le deacutecodage de codes convolutifs ont eacuteteacute preacutesenteacutes

93

Les notions ainsi que les principes de deacutecodage discuteacutes repreacutesentent la base des eacutetudes qui seront preacutesenteacutees par la suite Le chapitre suivant traitera en effet le deacutecodage software dun message proteacutegeacute contenant des bits de pariteacute du CRC Ce sujet sera introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi Deux meacutethodes iteacuteratives seront ensuite proposeacutees La premiegravere meacutethode List Viterbi Algorithm exploite les proprieacuteteacutes de lalgorithme de Viterbi alors que la seconde List Decoding inteacutegrant la validation CRC incorpore lalgorithme List Decoding Le sujet du Chapitre 7 est limplantation ASIC dune meacutethode de deacutecodage de codes convolutifs Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant lalgorithme en ses eacuteleacutements constituants

Reacutefeacuterences

[Ande84] J B Anderson S Mohan Sequential Coding Algorithms A Survey and Cost Analysis IEEE Transactions on Communications Vol COM-32 No 2 feacutevrier 1984 pp 169-176

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Hell71] J A Heller I M Jacobs Viterbi Decoding for Satellite and Space Communication IEEE Transactions on Communication Technology Vol COM-19 octobre 1971 pp 835-847

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

94

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

95

6 Architectures software utilisant un processeur pour le traitement

numeacuterique du signal

Ce sixiegraveme chapitre traite de limplantation software de meacutethodes de deacutecodage de codes convolutifs dans le contexte de la troisiegraveme geacuteneacuteration (3G) des systegravemes de communication numeacuteriques cellulaires et sans fil Les codes convolutifs consideacutereacutes dans la suite sont conformes aux standards UMTS

Ce chapitre deacutebute avec lanalyse des potentialiteacutes offertes par la structure de protection des standards UMTS tout en consideacuterant une architecture comprenant un processeur speacutecialiseacute pour le traitement numeacuterique du signal Deux situations de codage sont ainsi envisageables agrave savoir le codage convolutif direct du message ou le codage convolutif dun message preacuteceacutedemment traiteacute par un codage en bloc CRC

Du point de vue du deacutecodage le cas le plus inteacuteressant est le second le deacutecodage dun message proteacutegeacute contenant en plus des bits de pariteacute CRC Ce sujet est introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi et la validation des bits de pariteacute Deux meacutethodes iteacuteratives sont ensuite proposeacutees les meacutethodes List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) En sappuyant sur lalgorithme de Viterbi et sur la meacutethode List Decoding ces deux meacutethodes utilisent de maniegravere iteacuterative les informations suppleacutementaires fournies par le codage en bloc ce qui permet dameacuteliorer le rapport entre la qualiteacute de correction et la complexiteacute dexeacutecution

Les eacutevaluations de la complexiteacute de calcul et de la qualiteacute de codage utilisent la structure de protection du service de parole AMR-NB agrave 122 kbps proposeacutee dans le cadre du standard UMTS

96

61 Introduction

Le marcheacute de la teacuteleacutephonie mobile de la seconde geacuteneacuteration est actuellement caracteacuteriseacute par une importante utilisation de processeurs speacutecialiseacutes pour le traitement numeacuterique du signal (DSP) Cette preacutedominance est due agrave lexpeacuterience et agrave la maturiteacute acquise aujourdhui par cette technologie 2G [Gath02] Les arguments qui au deacutebut empecircchaient lutilisation des DSP ont eacuteteacute reacutefuteacutes suite agrave la maturation de la technologie 2G Les derniegraveres anneacutees ont ainsi montreacute une intensification de lutilisation des architectures exploitant les DSP avec le perfectionnement des standards 2G Bien quil ne soit pas possible de preacutedire la tendance qui sera suivie dans le cadre 3G les points forts qui ont valoriseacute lutilisation dune telle architecture peuvent ecirctre analyseacutes

611 Points forts des DSP

Lors du deacutebat pour le choix dune architecture optimale dans lexploitation des technologies 2G laspect de la faible consommation a favoriseacute le deacuteveloppement de teacuteleacutephones mobiles agrave laide de circuits ASIC (Application Specific Integrated Circuits) Linversion de la tendance a commenceacute avec la reconnaissance et la revalorisation des qualiteacutes des DSP [Gath02] telles que bull La vitesse deacutevolution des geacuteneacuterations des DSP En raison de la dynamique

importante du marcheacute des DSP leur deacuteveloppement beacuteneacuteficie dune eacutequipe de travail normalement plus nombreuse par rapport agrave celle chargeacutee du design dun ASIC

bull Avec leacutevolution des geacuteneacuterations de DSP extension des fonctionaliteacutes et de la vitesse dhorloge Leacutevolution des DSP porte non seulement sur laugmentation de vitesse dhorloge mais aussi sur lameacutelioration des performances et de la fonctionnaliteacute

bull La souplesse demploi Le DSP offre tous les avantages et potentialiteacutes dun dispositif programmable agrave large usage et agrave traitement multitacircche (Figure 6-1)

bull Reacuteduction des coucircts de deacuteveloppement des applications Le DSP est une solution agrave faible risque gracircce agrave la rapiditeacute des modifications et des corrections des implantations software

bull Possibiliteacutes de maintenance et de mise agrave jour des applications Lutilisation dun dispositif programmable eacutetend les possibiliteacutes de maintenance et de mise agrave jour des applications

97

Interface utilisateur Couche 2 (Layer 2) Couche 3 (Layer 3) Applications

Couche 1 (Layer 1)-codage de parole-eacutegalisation-entrelacement-codage de canal-chiffrage

Interface Timing

Micro-Controcircleur

DSP

Logique

RAM

ROM

Fonctions concernantla bande de base Hardware

Figure 6-1 reacutepartition classique des fonctions concernant la bande de base (Baseband) dans un teacuteleacutephone mobile GSM [Gath02]

612 Exemple du standard GSM

Leacutevolution du standard GSM (Global System for Mobile Communication) pour la 2G a eacuteteacute caracteacuteriseacutee par une inversion importante de tendance Leacutevolution de ce standard a eacuteteacute caracteacuteriseacutee par lintroduction de deux nouveaux codeurs de parole (le Half Rate et le Enhanced Full Rate [ETSI726]) ainsi que par des modifications de la partie responsable de la transmission sans fil des donneacutees Par conseacutequent chaque seacuterie et geacuteneacuteration de teacuteleacutephone mobile preacutesentaient systeacutematiquement de petites modifications et ameacuteliorations par rapport agrave la preacuteceacutedente Lorsquon considegravere le deacuteveloppement darchitectures baseacutees entiegraverement sur les ASIC ces modifications et ameacuteliorations ont impliqueacute lemploi dimportantes ressources et des coucircts suppleacutementaires consideacuterables Le besoin de souplesse a rendu de plus en plus attractive lexploitation des DSP De plus en consideacuterant que [Gath02] bull le teacuteleacutephone GSM a graduellement eacutelargi lassortiment des services offerts

(tendance preacutevue dans la 3G Figure 6-2)

98

bull la flexibiliteacute est une neacutecessiteacute particuliegraverement lorsque la dureacutee de vie du produit devient de plus en plus courte (lespeacuterance de vie dun teacuteleacutephone GSM sest graduellement reacuteduite de 25 agrave 1 anneacutee)

bull la puissance de calcul non-exploiteacutee du DSP est mise agrave disposition pour limplantation dautres services

il apparaicirct que la diffeacuterence de consommation en puissance eacutelectrique entre les DSP et les ASIC nest plus le facteur deacuteterminant pour le choix du type darchitecture

50

100

150

1996 1997 1998 1999 2000

Performance(MIPS)

Anneacutee

Applications

Layer 1

DSP

Figure 6-2 eacutevolution de lassortiment des services offerts par la technologie GSM [Gath02]

613 Situation actuelle

La souplesse demploi des dispositifs programmables ainsi que la tendance agrave la reacuteduction de la diffeacuterence de consommation entre les DSP et les ASIC rendent les DSP tregraves attractifs Ces derniers peuvent ainsi ecirctre chargeacutes de lexeacutecution des fonctions de la bande de base et des applications de la nouvelle geacuteneacuteration 3G Toutefois dans le cadre dun produit mobile alimenteacute par batterie la consommation reste toujours un facteur central Cette reacutealiteacute est perceptible dans la tendance et dans les efforts pour le deacuteveloppement de DSP agrave haute performance mais agrave consommation reacuteduite (Low-Power DSP) Les fabricants de DSP poursuivent la reacuteduction de la consommation deacutenergie en ameacuteliorant les proceacutedures de conception et de fabrication des DSP Leacutelargissement de lensemble des instructions le deacuteveloppement des peacuteripheacuteriques efficaces et la

99

mise agrave disposition de moyens de gestion des ressources permettent la reacuteduction ulteacuterieure de la consommation deacutenergie

62 Contexte de codage UMTS

Lobjectif des standards UMTS est la reacutealisation dune nouvelle geacuteneacuteration de technologies pour la communication mobile Cette nouvelle geacuteneacuteration vise agrave une communication indeacutependante des facteurs concernant la localisation des personnes le type deacutequipement utiliseacute les moyens de transmission (par cacircble ou sans-fil) et le choix de la technologie [Ts22101] Lune des nouveauteacutes apporteacutees par ces standards est la deacutefinition dun protocole de codage de canal unique pour toutes les applications actuelles et futures Pour reacutealiser cet objectif une seacuterie de codeurs sont mis agrave disposition offrant une protection optimale agrave un spectre plus large dapplications

621 Protection de canal des standards UMTS

La structure de codage du standard UMTS [Ts25212] permet une protection adapteacutee aux exigences propres aux applications (Chapitre 3) Cet objectif est poursuivi en permettant tout dabord la reacutepartition du message en plusieurs groupe de symboles selon leur sensibiliteacute aux erreurs Ensuite les standards UMTS permettent dappliquer agrave chaque groupe de symboles

1 un codage CRC suivi par un codage convolutif 2 un codage convolutif 3 un codage turbo 4 aucun codage

Cette thegravese eacutetant deacutedieacutee agrave leacutetude du deacutecodage des codes convolutifs la suite de leacutetude se concentrera sur les deux premiegraveres configurations de codage Par rapport agrave ces configurations les standards UMTS mettent agrave disposition deux codes convolutifs avec une longueur de contrainte K de 9 et de rendement Rc=13 et 12 (Table 6-1) En comparant ces codes avec ceux exploiteacutes par la 2G on peut remarquer une importante augmentation de la longueur K A titre dexemple le standard GSM propose un code convolutif avec K=5 pour les services de parole Full Rate et Enhanced Full Rate Pour le service Half Rate il est preacutevu un code avec une longueur supeacuterieure K=7 [ETSI726] Lobjectif poursuivi par laugmentation de la longueur de contrainte des codes UMTS est

100

lameacutelioration de la protection contre les erreurs de transmission en gardant le rendement Rc inchangeacute

Rendement du code

Longueur de contrainte

Polynocircmes [octal]

Distance libre

Rc=12 K=9 G0=561 G1=753 dfree =12 Rc=13 K=9 G0=557 G1=663 G2=711 dfree =18

Table 6-1 caracteacuteristiques principales des deux codeurs convolutifs proposeacutes par le standard UMTS

622 Configuration de travail du deacutecodeur

Lopeacuteration de deacutecodage convolutif est analyseacutee en utilisant des simulations qui prennent en compte la structure de codage UMTS (Figure 6-3) Les potentialiteacutes ainsi que les diverses configurations de protection sont eacutevalueacutees en utilisant la structure de codage preacutevue pour le service de parole AMR-NB agrave 122kbps (Section 33) Cette structure de protection preacutesente trois contextes de codage inteacuteressants un codage convolutif enchaicircneacute avec un codage CRC un codage convolutif avec Rc=13 et un autre caracteacuteriseacute par un rendement Rc=12 (Figure 3-3)

sourcede bruit

canal detransmission

sourcedinformations

formationcanaux de

transmission

message TrCHs codage decanal UMTS

trames radio

destinataire formation dumessage

message TrCHs deacutecodage decanal UMTS

trames radio

Figure 6-3 systegraveme de simulation du codage et deacutecodage de canal UMTS

Dans le but danalyser et de reproduire facilement les reacutesultats des eacutetudes la seacutequence de symboles reccedilue (trames radio Figure 6-3) est soumise agrave une deacutecision ferme et le deacutecodage livre le message deacutecodeacute sans informations suppleacutementaires sur lopeacuteration de deacutecodage (Bit True) Bien que les discussions et les reacutesultats soient concentreacutes sur cette configuration de travail il faut souligner que les principes preacutesenteacutes dans ce chapitre sont eacutegalement efficacement applicables dans des systegravemes utilisant

101

une deacutecision pondeacutereacutee La principale conseacutequence du passage dun type de deacutecision agrave lautre est la variation du niveau de la qualiteacute de deacutecodage

63 Critegraveres de seacutelection des solutions fonctionnelles

Un algorithme peut ecirctre consideacutereacute comme inteacuteressant sil offre un rapport optimal entre la qualiteacute et le temps dexeacutecution (complexiteacute de calcul) de la tacircche eacutetablie Pour plusieurs applications de la 3G la puissance de calcul mise agrave disposition pour une application en temps reacuteel est limiteacutee Par conseacutequent agrave intervalles de temps fixes chaque opeacuteration dispose dune certaine puissance maximale de calcul Une utilisation rationnelle de cette ressource permet ainsi soit la mise agrave disposition de la puissance restante pour dautres applications soit la reacuteduction de la consommation deacutenergie

631 Evaluation de la qualiteacute de protection

En fonction du contexte de codage leacutevaluation de la qualiteacute de correction derreurs peut ecirctre effectueacutee soit agrave laide du deacutebit des symboles erroneacutes du message (Bit Error Rate BER) soit agrave laide du deacutebit des messages erroneacutes Frame Error Rate (FER) Les deux mesures permettent une eacutevaluation objective de la qualiteacute de protection par rapport aux erreurs de transmission Si pendant les simulations les deux mesures sont reacutealisables en comparant les messages agrave proteacuteger avec les messages fournis par lopeacuteration de deacutecodage (Figure 6-3) dans une application en temps reacuteel seul le FER peut ecirctre deacutetermineacute par la validation du code CRC20 attacheacute au message Toutefois il est envisageable dutiliser la relation non-lineacuteaire existant entre ces deux mesures (Figure 6-4) afin dobtenir une estimation du BER agrave partir de la valeur du FER fournie par le codage en bloc Le rapport existant entre ces deux mesures est principalement fonction des distances de Hamming entre les messages codeacutes de la meacutethode de deacutecodage et des caracteacuteristiques du bruit affectant la transmission Le nombre important de paramegravetres rend ainsi difficile leacutetablissement dun modegravele simple et efficace de distribution des erreurs dans le message deacutecodeacute (Figure 6-5)

20 Etant donneacute une capaciteacute de deacutetection derreurs suffisante soit pour empecirccher les

fausses validations soit pour les reacuteduire agrave un nombre insignifiant

102

Figure 6-4 le rapport entre le FER et le BER obtenu par simulations en appliquant une deacutecision ferme (graphe rouge en trait gras) et une deacutecision souple ideacuteale (sans quantification graphe bleu en trait fin) Simulations baseacutees sur 500000 trames du codeur de parole AMR-NB agrave 122kbps algorithme de Viterbi

632 Evaluation de la complexiteacute de calcul

Si leacutevaluation objective de la qualiteacute de protection ne pose pas de gros problegravemes celle du temps neacutecessaire au DSP pour terminer lopeacuteration de deacutecodage est plus compliqueacutee De maniegravere geacuteneacuterale le temps dexeacutecution deacutepend du nombre (et des types) dopeacuterations de la tacircche de lefficaciteacute du code binaire geacuteneacutereacute21 ainsi que de la vitesse dexeacutecution du jeu dopeacuterations impliqueacute De ces trois facteurs seul le premier caracteacuterise la tacircche agrave accomplir alors que les deux autres sont des attributs du processeur choisi Une eacutevaluation objective de la complexiteacute de calcul doit toutefois consideacuterer les potentialiteacutes dexeacutecution speacuteciales qui caracteacuterisent les processeurs optimiseacutes pour le traitement numeacuterique du signal Par conseacutequent les meacutethodes de deacutecodage seront jugeacutees selon leur charge de calcul (nombre et type dopeacuterations) en

21 Lefficaciteacute est fonction du degreacute dexploitation des ressources de calcul (classiques et

speacuteciales) du DSP

103

consideacuterant les potentialiteacutes dexeacutecution qui sont les caracteacuteristiques geacuteneacuterales de cette grande famille de processeurs

Figure 6-5 statistique des erreurs de transmission dans les trames reccedilues Simulations baseacutees sur 2 millions de trames du codeur de parole AMR-NB agrave 122kbps classe A avec CRC de 12 bits SNR de 40 dB algorithme de Viterbi Remarque le nombre de trames qui ne sont pas affecteacutees par erreurs seacutelegraveve agrave 1962952

Influence du niveau de langage utiliseacute pour la description des opeacuterations Il existe deux principaux niveaux de langage pour la description des tacircches agrave exeacutecuter le langage agrave haut niveau et le langage assembleur propre au DSP (Figure 6-6) Lutilisation dun langage agrave haut niveau reacuteduit le temps de deacuteveloppement Ce langage offre en plus une bonne portabiliteacute de la description des tacircches description qui peut ecirctre rapidement adapteacutee aux autres plates-formes dexeacutecution Loptimisation du code binaire est ainsi agrave la charge de la chaicircne de compilation les ressources et les speacutecialiteacutes architecturales des DSP sont rarement exploiteacutees de maniegravere exhaustive Lutilisation des fonctions

104

intrinsegraveques (intrinsics)22 permet de parer agrave cet inconveacutenient reacuteduisant par contre la portabiliteacute de la description Le langage assembleur permet lexploitation optimale de toutes les caracteacuteristiques structures et outils mis agrave disposition par le DSP Lexeacutecution de la tacircche peut ainsi beacuteneacuteficier dune charge de calcul optimiseacutee Malheureusement la portabiliteacute dun tel code se limite normalement agrave une seule familletype de DSP en plus dun temps de deacuteveloppement supeacuterieur requis par rapport agrave celui dune description par langage agrave haut niveau

Compilateur de haut niveau

CompilateurC-ANSI

C++

Evaluation desconstantesintrinsegraveques

CompilateurAssembleur

Code binaire

vite

sse

de d

evel

oppe

men

t

degr

eacutee d

e fin

esse

de

lopt

imis

atio

n

Description parlangage agrave haut niveau

Code assembleur

impo

rtan

ce d

u ni

veau

de

port

abili

teacute

+

-

+

- +

-

Figure 6-6 chaicircne de compilation pour la geacuteneacuteration dun code binaire exeacutecutable sur un DSP soit agrave partir dune description utilisant un langage de niveau supeacuterieur soit de lassembleur

Etant donneacute que cette eacutetude ne se concentre pas sur une seule famille de DSP les meacutethodes de deacutecodage sont deacutecrites en utilisant le langage ANSI-C en

22 Les fonctions intrinsegraveques sont des fonctions deacutecrites en code assembleur mais qui sont

appeleacutees comme les fonctions deacutecrites en langage CC++

105

virgule fixe afin de beacuteneacuteficier de la rapiditeacute dexeacutecution et de la portabiliteacute du langage agrave haut niveau Strateacutegie deacutevaluation adopteacutee Les caracteacuteristiques structurelles des DSP sont pris en compte en eacutetendant le langage de programmation avec un ensemble de nouvelles fonctions deacutedieacutees Lideacutee est de repreacutesenter (et de compter) toutes les opeacuterations caracteacuteristiques agrave la plupart des DSP indeacutependamment de leur mode daccegraves soit par code assembleur soit par fonctions intrinsegraveques

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur de poids (ITUETSI)

add Addition 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

sub Soustraction 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

abs_s Valeur absolue (16 bits) 16 16 1shl Deacutecalage arithmeacutetique avec saturation

(gauche) 1616 16 1

shr Deacutecalage arithmeacutetique avec saturation (droite)

1616 16 1

mult Multiplication 16 bits x 16 bits avec mise agrave leacutechelle

1616 16 1

L_mult Multiplication 16 bits x 16 bits avec un deacutecalage agrave gauche

1616 32 1

negate Neacutegation 16 bits 16 16 1extract_h Extraction de 16 MSB 32 16 1extract_l Extraction de 16 LSB 32 16 1round Arrondi des 16 LSB avec saturation

extraction des 16 MSB 32 16 1

L_mac Mac L_mult avec L_add 321616 32 1L_msu Msu L_mult avec L_add 321616 32 1L_macNs Mac sans saturation 321616 32 1L_msuNs Msu sans saturation 321616 32 1

Table 6-2a les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Le point de deacutepart est lextension du code C par les Basic Operations deacutefinis par les organisations ITU et ETSI (Table 6-2a et Table 6-2b) dans le contexte du deacuteveloppement des codeurs de parole Son objectif est loptimisation des

106

implantations toujours en gardant la rapiditeacute lefficaciteacute et la portabiliteacute de la description

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur depoids (ITUETSI)

L_add Addition 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_sub Soustraction 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_add_c Addition 32 bits avec carry et sans saturation

3232 32 2

L_sub_c Soustraction 32 bits avec carry et sans saturation

3232 32 2

L_negate Neacutegation 32 bits 32 32 2mult_r Multiplication avec arrondi 1616 16 2L_shl Deacutecalage arithmeacutetique avec saturation

(gauche) 3216 32 2

L_shr Deacutecalage arithmeacutetique avec saturation (droite)

3216 32 2

shr_r Deacutecalage arithmeacutetique avec arrondi (droite)

1616 16 2

mac_r Mac avec arrondi 321616 16 2msu_r Msu avec arrondi 321616 16 2L_deposit_h La valeur agrave lentreacutee forme les 16 MSB

de la valeur agrave la sortie 16 32 2

L_deposit_l La valeur agrave lentreacutee forme les 16 LSB de la valeur agrave la sortie

16 32 2

L_shr_r Deacutecalage arithmeacutetique avec arrondi (agrave droite)

3216 32 3

L_abs Valeur absolue (32 bits) 32 32 3L_sat Saturation (32 bits) 32 32 4norm_s Calcul du nombre de deacutecalage (agrave

gauche) neacutecessaire agrave la normalisation 16 16 15

div_s Division 16 bits 1616 16 18norm_l Calcul du nombre de deacutecalage (gauche)

neacutecessaire agrave la normalisation 32 16 30

Table 6-2b (cont) les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Cette extension permet leacutevaluation de la complexiteacute de calcul dune implantation sur DSP en surveillant le nombre dexeacutecutions des fonctions classiques et eacutetendues (Table 6-2 et Table 6-3) Etant donneacute une gamme de fonctions couvrant de maniegravere efficace les exigences dune implantation

107

sur DSP loccurrence de ces fonctions est en effet un bon indicateur de la charge de calcul de lapplication La complexiteacute de calcul peut ecirctre ainsi estimeacutee en liant agrave chaque type dopeacuteration une valeur (facteur de poids) indiquant la difficulteacute de son exeacutecution par le DSP consideacutereacute Plus ces valeurs se rapprochent des caracteacuteristiques dexeacutecution du jeu dinstructions du DSP plus leacutevaluation de la complexiteacute devient preacutecise Dans le cas des Basic Operations les facteurs de poids eacutetablis par lITUETSI repreacutesentent les performances ideacuteales dun DSP geacuteneacuterique agrave virgule fixe posseacutedant une structure agrave 16 bits (Table 6-2 et Table 6-3) Nom de lopeacuteration

Opeacuteration Bits Facteur de poids (ITUETSI)

move16 Deacuteplacement de donneacutees 16 1move32 Deacuteplacement de donneacutees 32 2logic16 Opeacuteration logique (non-signeacutee) 16 1logic32 Opeacuteration logique (non-signeacutee) 32 2test Controcircle 2

Table 6-3 liste eacutetablie par lITUETSI des compteurs doccurrence des opeacuterations classiques

Dans cette eacutetude la gamme des fonctions surveilleacutees doit ecirctre adapteacutee au contexte du codage de canal contexte qui privileacutegie les opeacuterateurs logiques et les opeacuterations geacuteneacuteriques agissant sur variables non-signeacutees La gamme de fonctions de lITUETSI (Table 6-2 et Table 6-3) a eacuteteacute ainsi eacutelargie en ajoutant des compteurs doccurrence suppleacutementaires la Table 6-4 montre la liste complegravete des compteurs doccurrence utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage Dans la suite de ce chapitre les estimations de la complexiteacute de calcul indiqueront seulement loccurrence des fonctions surveilleacutees Ces choix permettent une eacutevaluation algorithmique des meacutethodes indeacutependante des caracteacuteristiques des familles DSP A laide des valeurs de poids cette strateacutegie offre toujours la possibiliteacute dune analyse agrave posteriori adapteacutee agrave chaque type de processeur

633 Consideacuterations sur limplantation software

Les diverses meacutethodes analyseacutees sont deacutecrites en utilisant le langage ANSI-C en virgule fixe La description des meacutethodes a obeacutei agrave deux des points forts des implantations software la rapiditeacute de deacuteveloppement et la description parameacutetrable Cette approche ne compromet pas lexactitude des

108

comparaisons entre les meacutethodes ni du point de vue de la qualiteacute de protection ni de celui de la complexiteacute de calcul Bien que la charge de calcul augmente en raison dune description de la meacutethode souple et parameacutetrable lapplication de la mecircme approche agrave toutes les descriptions permet une comparaison correcte entre les meacutethodes Limportance de la perte defficaciteacute causeacutee par lapproche souple et par la qualiteacute de la description [BDTi5] sera ensuite eacutevalueacutee (Chapitre 8)

Nom de lopeacuteration

Opeacuteration Bits

move8 Deacuteplacement de donneacutees 8move16 Deacuteplacement de donneacutees 16move32 Deacuteplacement de donneacutees 32logic8 Opeacuteration logique (non-signeacutee) 8logic16 Opeacuteration logique (non-signeacutee) 16logic32 Opeacuteration logique (non-signeacutee) 32test Controcircle shiftl8 Deacutecalage agrave gauche (non-signeacutee) 8shiftr8 Deacutecalage agrave droite (non-signeacutee) 8shiftl16 Deacutecalage agrave gauche (non-signeacutee) 16shiftr16 Deacutecalage agrave droite (non-signeacutee) 16shiftl32 Deacutecalage agrave gauche (non-signeacutee) 32shiftr32 Deacutecalage agrave droite (non-signeacutee) 32incr8 Increacutementation 8incr16 Increacutementation 16incr32 Increacutementation 32division8 Division 8division16 Division 16division32 Division 32pointerAssign Assignation dun pointeur pointerOp Arithmeacutetique concernant un pointeur testLOOP Controcircle concernant la gestion dune boucle incr8LOOP Increacutementation concernant la gestion dune boucle 8incr16LOOP Increacutementation concernant la gestion dune boucle 16incr32LOOP Increacutementation concernant la gestion dune boucle 32move8LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 8move16LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 16move32LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 32

Table 6-4 liste complegravete des compteurs doccurrence des opeacuterations qui sont utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage convolutif Le fond gris met en eacutevidence les compteurs deacutefinis par les organisations ITU et ETSI

109

Bien quune description par langage agrave haut niveau permette de se distancer des caracteacuteristiques fines des DSP le choix de la taille des variables (16 bits ou 32 bits) a une influence sur le temps de traitement La vitesse dexeacutecution peut varier en fonction de larchitecture interne du DSP (voir Annexe B Section B3) Par rapport aux implantations de meacutethodes de deacutecodage convolutif la repreacutesentation numeacuterique (Range) des variables agrave 16 bits est suffisante pour tout lensemble des opeacuterations Le choix des tailles peut seffectuer en consideacuterant larchitecture interne du DSP

64 Approche classique lalgorithme de Viterbi

Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute de la communication mobile la meacutethode de deacutecodage la plus reacutepandue dans la 2G est tout dabord implanteacutee lalgorithme de Viterbi Lemploi de cet algorithme est preacutedominant pour le deacutecodage des codes convolutifs dont la longueur de contrainte est reacuteduite (kle10) [Proa95]

641 Fonction de meacutetrique

Limplantation de lalgorithme de Viterbi implique la deacutefinition de la fonction de meacutetrique ainsi que de la strateacutegie de deacutecodage du message (Traceback) La tacircche de cette fonction de meacutetrique est la mesure de laffiniteacute entre le message sous analyse et les symboles reccedilus Son implantation doit consideacuterer les trois aspects suivants bull la repreacutesentation numeacuterique des symboles reccedilus bull le risque de deacutepassement de la valeur maximale repreacutesentable par les

variables utiliseacutees (Overflow) bull linitialisation des valeurs de meacutetriques cumuleacutees selon les conditions de

deacutepart de lopeacuteration de codage La repreacutesentation numeacuterique des symboles reccedilus influence limplantation de la fonction de meacutetrique et deacutetermine la qualiteacute de protection de la meacutethode de deacutecodage Une deacutecision souple livre au deacutecodeur une quantiteacute supeacuterieure dinformations ce qui permet une ameacutelioration remarquable de la qualiteacute de protection (Figure 6-7 et Figure 6-8) Le gain de codage (Coding Gain) offerte par lapplication dune deacutecision souple ideacuteale23 peut atteindre 2dB

23 Cest-agrave-dire une deacutecision souple beacuteneacuteficiant dun nombre infini de niveaux de

quantification

110

[Proa95] Comme deacutejagrave indiqueacute cette eacutetude considegravere la situation de deacutecodage dans le contexte dune deacutecision ferme Repreacutesentation numeacuterique des meacutetriques Cette fonction se base sur le concept de meacutetrique cumuleacutee et de meacutetrique de branche (56) Dans le contexte dune deacutecision ferme les repreacutesentations numeacuteriques de ces meacutetriques utilisent la mecircme uniteacute de base qui est la distance de Hamming

Figure 6-7 BER obtenus en fonction dune deacutecision ferme pondeacutereacutee avec 4 8 16 et 32 niveaux et dune deacutecision pondeacutereacutee ideacuteale (sans quantification repreacutesentation en virgule flottante) Les symboles sont moduleacutes par amplitude de maniegravere antipodale (+1-1 PAM) les niveaux de quantification sont reacutepartis de maniegravere uniforme entre leacutechelle [-15middotσ2-1hellip15middotσ2+1] en fonction de la valeur de la variance σ2 du bruit gaussien (Figure 4-9) Simulations service AMR-NB agrave 122 kbps 2 millions de trames classe A avec 12 bits de pariteacute CRC

La repreacutesentation numeacuterique en virgule fixe (Fixed Point Arithmetic) peut causer des effets de deacutepassement des capaciteacutes des variables (Overflow) Lexeacutecution de lalgorithme de Viterbi exige que la repreacutesentation des meacutetriques cumuleacutees reproduise correctement les deacutecalages entre toutes les meacutetriques cumuleacutees (appartenant au mecircme niveau de profondeur) le deacutepassement des capaciteacutes repreacutesentables ne garantit eacutevidemment plus le deacuteroulement correct de lalgorithme Par conseacutequent limplantation de la

111

fonction de meacutetrique doit empecirccher le deacutepassement soit par lutilisation de variables suffisamment grandes soit par lintroduction de proceacutedures de normalisation des valeurs de meacutetriques cumuleacutees Le standard de codage UMTS [Ts25212] limite le nombre de bits contenus dans le message agrave coder agrave 505 bits lutilisation de variables agrave 16 bits assure ainsi la repreacutesentation correcte de toutes les meacutetriques cumuleacutees sans effets de deacutepassement des capaciteacutes des variables24

Figure 6-8 FER obtenus selon le type de deacutecision appliqueacute Les paramegravetres de simulation sont les mecircmes que ceux de la simulation preacuteceacutedente (Figure 6-7)

Initialisations des valeurs de meacutetrique Un dernier aspect de limplantation de la fonction de meacutetrique est linitialisation des variables repreacutesentant les meacutetriques cumuleacutees selon les conditions de deacutepart de lopeacuteration de codage convolutif Le standard UMTS [Ts25212] eacutetablit une remise agrave zeacutero de la meacutemoire du codeur convolutif avant la proceacutedure de codage Pratiquement cette opeacuteration deacutetermine leacutetat de deacutepart de la meacutemoire du codeur La proceacutedure de deacutecodage peut ainsi utiliser cette information ameacuteliorant ainsi la qualiteacute de protection des premiers bits du message (Figure 6-9) 24 Luniteacute de la repreacutesentation des meacutetriques cumuleacutees est la distance de Hamming

(deacutecision ferme)

112

Il existe deux principes dinitialisation de la proceacutedure de deacutecodage

1 Lexeacutecution de lalgorithme de Viterbi agrave partir de leacutetat de deacutepart deacutefini par le contexte de codage Une proceacutedure de controcircle des chemins est ainsi neacutecessaire dans les phases initiales de lalgorithme La valeur de meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero

2 Une initialisation diversifieacutee des valeurs de meacutetrique dans le but de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats La strateacutegie envisageacutee est de provoquer leacutelimination naturelle de ces chemins incorrects pendant les phases initiales de lalgorithme de Viterbi

Figure 6-9 exemple de distribution des erreurs de deacutecodage dans un message Le graphe rouge en trait gras indique la protection offerte par une initialisation par remise agrave zeacutero de toutes les meacutetriques cumuleacutees La qualiteacute procureacutee par une initialisation exploitant une proceacutedure de controcircle est repreacutesenteacutee en graphe bleu en trait fin Laugmentation de la qualiteacute de protection des derniers bits du message est due agrave lutilisation de bits de terminaison (Tail Bits) Contexte codage convolutif avec remise agrave zeacutero de la meacutemoire du codeur convolutif 200000 messages messages de 500 bits 8 bits de terminaison code convolutif avec Rc=13 du standard UMTS EbN0 de 0 agrave 4 dB

Le premier principe initialise agrave zeacutero la meacutetrique cumuleacutee de leacutetat de deacutepart Ensuite lalgorithme deacutemarre en ne consideacuterant que les chemins deacutemarrant depuis cet eacutetat Lexploitation optimale des informations des conditions de

113

deacutepart est toutefois contre-balanceacutee par lintroduction dune proceacutedure de controcircle du deacuteroulement de lalgorithme Bien que dans la phase initiale cette proceacutedure permette une gestion optimale des ressources ces opeacuterations de controcircle suppleacutementaires causent laugmentation de la complexiteacute totale du deacutecodage Limportance de laugmentation deacutepend de la souplesse de la description et du style de programmation Les implantations software de lalgorithme de Viterbi qui apparaissent dans la suite de leacutetude adoptent ce concept Le second principe preacutevoit linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees de maniegravere agrave garantir le deacuteroulement correct de lalgorithme sans lintroduction de proceacutedures suppleacutementaires de controcircle Ce principe se base sur une initialisation deacutefavorisant les chemins qui ne deacutemarrent pas de leacutetat de deacutepart eacutetabli (Figure 6-10) En raison de linitialisation de la meacutemoire du codeur avant le codage ces chemins sont en effet inexistants

eacutetat de deacutepartdeacutetermineacute parlinitialisation de lameacutemoire du codeur

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins possibles chemins inexistants agrave causede linitialisation de lameacutemoire du codeur convolutif

niveau deprofondeur np=0 np=1 np=2 np=3

Figure 6-10 eacutetats des chemins dans la phase initiale selon linitialisation de la meacutemoire de lencodeur convolutif (longueur de contrainte de 3)

Selon ce principe linitialisation diffeacuterencieacutee doit prendre en compte

bull la contribution maximale apporteacutee par la meacutetrique de branche (MaxContribBranche)

bull la valeur maximale repreacutesentable par les variables des meacutetriques cumuleacutees (ValMaxMetrique)

114

bull la taille de la meacutemoire du codeur (K ndash1) cette valeur identifie le niveau de profondeur agrave partir duquel tous les eacutetats de meacutemoire sont atteints par des chemins possibles (Figure 6-10)

Ainsi une valeur comprise entre

( 1)K MaxContribBrancheminus sdot

et ( 1)ValMaxMetrique K MaxContribBranche minus minus sdot

peut ecirctre utiliseacutee pour linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Cette initialisation permet le deacuteroulement correct de lalgorithme assurant la qualiteacute de protection offerte par linitialisation de la meacutemoire du codeur (Figure 6-9)

642 Meacutecanisme de deacutecodage du meilleur chemin

Selon lrsquoalgorithme proposeacute par Viterbi la reconstruction du message commence apregraves lidentification du chemin (complet) le plus probable Cette strateacutegie devient peu fonctionnelle si on considegravere bull son incompatibiliteacute dans des contextes de codage continu bull limportant retard algorithmique de la proceacutedure de deacutecodage en raison de

lattente de la reacuteception de tous les symboles avant son exeacutecution bull les nombreuses ressources impliqueacutees pour le stockage des informations

qui sont neacutecessaires agrave la reconstruction des chemins Une solution agrave ces inconveacutenients est une prise de deacutecision anticipeacutee de la valeur du np-egraveme bit du message en utilisant le meilleur chemin partiel agrave la profondeur np+δ (Figure 6-11) Cette approximation de lalgorithme25 anticipe ainsi le deacutebut de la reconstruction du message en exeacutecutant de maniegravere iteacuterative la prise de deacutecision sur unplusieurs bits dinformations pas encore deacutecodeacutes

25 La deacutecision de la valeur du np-egraveme bit est prise en nanalysant que la seacutequence

incomplegravete des observations 0npR δ+

115

Info Bitnp

Niveau deprofondeur np-1 np np+

np+1 δnp+ -1δ

chemin qui a suivi le chemin correctentre la profondeur np-1 et npson deacutecodage assigne une valeurcorrecte au bitnp

chemin qui sest eacuteloigneacute du chemincorrect entre la profondeur np-1 et npson deacutecodage assigne une valeurincorrecte au bitnp

actuel meilleurchemin

Figure 6-11 principe agrave la base du deacutecodage avec troncation des chemins

Cette approche reacutealise en pratique une troncation de la meacutemoire du deacutecodeur ce qui permet deacutetablir a priori les exigences de stockage dinformation indeacutependamment du nombre effectif de bits constituants le message On est ainsi confronteacute agrave une reacutepeacutetition systeacutematique de la proceacutedure de deacutecodage reacutepeacutetition qui augmente la charge de calcul de lalgorithme (Table 6-6) Puisquil sagit dune approximation de lalgorithme on doit en plus sattendre agrave une deacutegradation de la qualiteacute de protection dont limportance est fonction du paramegravetre δ Lassignation dune valeur agrave la distance δ est ainsi un compromis entre la deacutegradation de la qualiteacute de deacutecodage et lutilisation minimale des ressources de stockage Distance minimale δmin La relation entre la distance δ et la deacutegradation de la qualiteacute de protection deacutepend des caracteacuteristiques du codeur convolutif ainsi que du nombre derreurs de transmission Pour deacutecrire leacutevolution de la meacutetrique cumuleacutee dun chemin incorrect le concept de croissance minimale de la meacutetrique (Minimum Distance Growth) a eacuteteacute introduit par Anderson [Ande89] Ce terme (qui sera repreacutesenteacute par labreacuteviation MinMetrCroissance dans les formules) indique laugmentation minimale de la meacutetrique cumuleacutee dun chemin incorrect normaliseacutee par le nombre de symboles analyseacutes Gracircce agrave ce concept la contribution minimale de meacutetrique de branche agrave la meacutetrique cumuleacutee dun chemin incorrect est de

116

n MinMetrCroissancesdot (61) (eacutetant donneacute labsence dopeacuterations dadaptation du deacutebit de transmission26) Ainsi afin de garantir la correction (minimale) de

min

12

freede

minus= (62)

erreurs la distance minimale δmin ne doit pas ecirctre infeacuterieure agrave27

min e

n MinMetrCroissance sdot

(63)

Cette distance assure quapregraves δmin branches tous les chemins qui provoquent une prise de deacutecision incorrecte montrent des meacutetriques cumuleacutees deacutefavorables28 (Figure 6-11) Le chemin le plus probable au niveau de profondeur np+δ coiumlncidera ainsi avec la premiegravere partie soit du chemin correct soit dun chemin qui ne sest eacuteloigneacute quapregraves le niveau de profondeur np (Figure 6-11) De faccedilon geacuteneacuterale on peut deacuteterminer la distance δ minimale en fonction du nombre derreurs qui perturbent les derniegraveres δ observations (δ middotn symboles) de sorte que la deacutegradation de la qualiteacute de protection soit rendue neacutegligeable

+ nombre derreursnp npn MinMetrCroissance

δδ rarrgtsdot

(64)

Similairement agrave la distance libre dfree (Table 6-1) la valeur de la croissance minimale de la meacutetrique peut fournir des indications sur la qualiteacute de protection du code convolutif exploiteacute (Table 6-5) Cette valeur fixe en effet la limite supeacuterieure du nombre derreurs de transmission qui peuvent ecirctre (potentiellement) supporteacutees par le codage convolutif

26 Le standard UMTS [Ts25212] preacutevoit la possibiliteacute dune adaptation du deacutebit de

transmission (voir chapitres preacuteceacutedents) Dans le cas dune utilisation le paramegravetre n doit ecirctre adapteacute au deacutebit de poinccedilonnage

27 Par rapport agrave une repreacutesentation des meacutetriques baseacutee sur la seule distance de Hamming 28 En consideacuterant un nombre derreurs infeacuterieur agrave emin

117

Rendement du code

Croissance minimale (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Croissance moyenne (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Random Tree Codes [Ande89] Rc=12 0110 - Rc=13 0174 -

Simulations des codes UMTS Rc=12 29 0154 0341 Rc=13 30 0207 0408

Table 6-5 valeurs de reacutefeacuterence concernant la croissance minimale et moyenne de la meacutetrique dun chemin incorrect Par rapport aux codes UMTS lapproche pratique utiliseacutee se base sur lalgorithme pour la deacutetermination de la distance libre dfree publieacute dans [Cede89]

Deacutetermination de la distance δ par simulations La deacutetermination de la distance δ par lineacutequation (64) nest pas aiseacutee en raison des paramegravetres impliqueacutes Une regravegle a ainsi eacuteteacute deacutetermineacutee empiriquement en se basant sur lexpeacuterience et les reacutesultats de nombreuses simulations effectueacutees (exemple Figure 6-12) Cette regravegle fixe la gamme de valeurs de distance δ entre 4 et 6 fois la longueur de contrainte K du code [Joha99] [Proa95] [Thit93] Sauvegarde des informations pour la reconstruction des chemins Le dernier aspect du meacutecanisme de deacutecodage est la deacutefinition du systegraveme de sauvegarde des informations qui sont indispensables pour la reconstruction des chemins Lalgorithme de Viterbi se base sur la reconstruction iteacuterative des eacutetats preacuteceacutedents de la meacutemoire du codeur (deacutecodage du chemin le plus probable) jusquagrave pouvoir extraire la valeur dun (ou de plusieurs) bit du message 29 Par rapport au calcul de la croissance moyenne la simulation a consideacutereacute tous les

chemins incorrects qui possegravedent une distance de Hamming infeacuterieureeacutegale agrave wi=32 (361849305 chemins analyseacutes) Un controcircle systeacutematique de tous les chemins partiels rencontreacutes a permis la deacutetermination empirique de la valeur minimale de croissance

30 Le calcul de la croissance moyenne a analyseacute 338890207 chemins posseacutedant une distance de Hamming infeacuterieureeacutegale agrave wi=53 Comme pour le cas preacuteceacutedent la deacutetermination de la valeur minimale a beacuteneacuteficieacute dun controcircle systeacutematique de tous les chemins partiels rencontreacutes lors du calcul de la valeur moyenne

118

Figure 6-12 reacutesultats des simulations ayant pour objectif la deacutetermination de la valeur optimale de la distance δ Paramegravetres des simulations message de 1000 bits 8 bits de terminaison 1 million de messages code convolutif avec Rc=13 du standard UMTS distances δ multiples de la longueur de contrainte K du code

Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement le bit qui est perdu lors de la transition de la meacutemoire du codeur convolutif (Figure 6-13) Par contre le systegraveme le plus rapide et donc le moins complexe sauvegarde directement la valeur de leacutetat preacuteceacutedent du chemin survivant Afin de reacuteduire la complexiteacute de calcul cette derniegravere strateacutegie a eacuteteacute adopteacutee pour limplantation software de lalgorithme de Viterbi

nouveau bit agrave lentreacuteedu codeur bitt

dernier bit agrave lentreacuteedu codeur bitt-1

avant-dernier bit agravelentreacutee du codeur bitt-2

bitt-(k-1)

bitt-(k-2)bitt-1

Profondeur t-1 Profondeur t

Figure 6-13 comportement de la meacutemoire du code convolutif lors dune transition

119

Bits de terminaison Le standard UMTS [Ts25212] preacutevoit lutilisation de bits de terminaison (Sous-section 232) afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message agrave transmettre Similairement aux strateacutegies dinitialisation de la proceacutedure de deacutecodage la phase finale de lopeacuteration de deacutecodage peut beacuteneacuteficier de ces informations

1 Soit en ne traitant pas les chemins qui sont exclus par le codage de ces bits de terminaison Dans les phases finales les valeurs (figeacutees) de ces bits limitent les eacutetats possibles de la meacutemoire du codeur

2 Soit en traitant tous les chemins mais en modifiant la proceacutedure de seacutelection du chemin (partialfinal) le plus probable Dans ce cas une proceacutedure de controcircle suppleacutementaire est introduite dans lopeacuteration de seacutelection

Les implantations de lalgorithme de Viterbi de cette eacutetude adoptent la premiegravere strateacutegie cest-agrave-dire le controcircle du deacuteroulement de lalgorithme lors de la reacuteception des symboles geacuteneacutereacutes par le codage des bits de terminaison

643 Performances de lalgorithme de Viterbi

La qualiteacute de protection de lalgorithme de Viterbi a deacutejagrave eacuteteacute preacutesenteacutee dans les Figures 6-7 6-8 6-9 et 6-12 Dans la suite de leacutetude ces valeurs seront utiliseacutees comme reacutefeacuterence pour le jugement de la qualiteacute de protection des autres meacutethodes de deacutecodage Les Tables 6-6 et 6-7 montrent les eacutevaluations de la charge de calcul de lalgorithme Les effets de laugmentation de la longueur de contrainte du code agrave K=9 sont immeacutediatement perceptibles la charge de calcul du deacutecodage est tregraves importante Le traitement dun bit dinformation demande en effet une charge de calcul supeacuterieure agrave 7k opeacuterations (256 opeacuterations de seacutelection du chemin survivant) et neacutecessite presque 800k opeacuterations pour le deacutecodage de 93 bits dinformation et de 8 bits de terminaison La Table 6-6 montre laugmentation de la charge de calcul due agrave la strateacutegie de troncation de la meacutemoire augmentation qui est quantifiable autour du 8 pour cent Ensuite la Table 6-7 prouve lindeacutependance de la complexiteacute de calcul des caracteacuteristiques des erreurs de transmission

120

Nombre moyen drsquoopeacuterations observeacutees

Algorithme sans Troncation Algorithme avec troncation agrave 6 sdot longueur de contrainte

Format des variables

Format des variables

32 bits 16 bits Total 32 bits 16 bits TotalAdditions 44541 9 44550 44451 9 44550Increacutementations 94 1212 1306 93 1212 1305Soustractions 111 104 215 11 152 263Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 115659 45653 161312 118520 45653 164173Logique 130219 2424 132643 130271 2424 132695Deacutecalages 70942 0 70942 70894 0 70894Controcircles 102588 102588 126074 126074Pointeur assignations 611 611 659 659Pointeur arithmeacutetique 513 513 3056 3056Boucle initialisations 24167 101 24268 24215 101 24316Boucle controcircles 97723 110810 110810Boucle increacutementations 72646 808 73454 85637 808 86445Grand total 710125 765240

Table 6-6 eacutevaluation deacutetailleacutee de la complexiteacute de calcul de limplantation software de lalgorithme de Viterbi Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs doccurrence de lITUETSI

Limplantation et les simulations software de lalgorithme de Viterbi ont utiliseacute la configuration suivante bull Leacutetude utilise le systegraveme de canal UMTS uplink bull La structure de protection prise en consideacuteration est relative au codage des

bits appartenant agrave la classe A [Ts26101] (aussi nommeacute premier canal de transport [TrR104]) dans le cadre du service de parole AMR agrave 122 kbps [TrR104] Les opeacuterations de validation des bits de pariteacute CRC sont illustreacutees dans lAnnexe B (Section B1)

bull Les signaux sont moduleacutes de maniegravere antipodale (+1-1) et sont perturbeacutes au niveau des trames radio (Radio Frames) par laddition dun bruit blanc gaussien (de 00 dB agrave 60 dB) En conseacutequence lindication EbN0 sadresse au codage des trois classes (canaux de transport)

121

Nombre moyen drsquoopeacuterations

observeacutees Algorithme sans Troncation

EbNo=00dB EbNo=60dB Additions 44550 44550 Increacutementations 1306 1306 Soustractions 215 215 Multiplications 0 0 Divisions 0 0 Transferts de Donneacutees 161312 161312 Logique 132643 133292 Deacutecalages 70942 70942 Controcircles 102588 102588 Pointeur assignations 611 611 Pointeur arithmeacutetique 513 513 Boucle initialisations 24268 24268 Boucle controcircles 97723 97723 Boucle increacutementations 73454 73454 Grand total 710125 710774

Table 6-7 eacutevaluation de la complexiteacute de calcul de lalgorithme de Viterbi dans deux conditions derreurs de transmission opposeacutees Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs de lITUETSI

bull Les signaux reccedilus sont repreacutesenteacutes numeacuteriquement par une deacutecision ferme bull Bien que leacutetude nutilise pas loutil de poinccedilonnage (Puncturing)31

limplantation de lalgorithme supporte de maniegravere optimale ce service Les symboles reccedilus sont ainsi repreacutesenteacutes agrave laide de trois valeurs (+1-10)

bull La meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero et la structure de lalgorithme ne prend en consideacuteration que les chemins deacutemarrant depuis cet eacutetat

bull Par rapport au traitement des bits de terminaison la structure de lalgorithme considegravere seulement les eacutetats possibles

bull Les informations relatives agrave la reconstruction des chemins sont sauvegardeacutees sous la forme des valeurs des eacutetats preacuteceacutedents

bull Limplantation software de lalgorithme de Viterbi soriente vers des plates-formes agrave 32 bits

31 Elimination dun nombre de bits des messages codeacutes afin de sadapter au deacutebit de

transmission disponible (adaptation du deacutebit de transmission Sous-section 32)

122

644 Consideacuterations sur cette approche classique

Conformeacutement aux exigences du marcheacute de la communication mobile la meacutethode de deacutecodage implanteacutee est lalgorithme qui est preacutedominant dans les technologies 2G lalgorithme de Viterbi La nouvelle implantation de lalgorithme a reacuteveacuteleacute immeacutediatement un alourdissement de la charge de calcul assigneacute au DSP Comme il eacutetait preacutevisible le changement du contexte de codage de la 3G demande des charges de calcul de deacutecodage plus importantes par rapport agrave lancienne technologie 2G Lagrandissement de la longueur de contrainte des codes UMTS exige tout dabord une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation deacutecodeacute32 Ensuite lutilisation de deacutebits de transmission supeacuterieurs augmente la charge de calcul neacutecessaire agrave lexeacutecution en temps reacuteel de lopeacuteration de deacutecodage La complexiteacute de calcul de limplantation software de lalgorithme de Viterbi deacutepend premiegraverement de la longueur de contrainte des codes convolutifs utiliseacutes ainsi que du deacutebit de transmission requis par lapplication concerneacutee Par conseacutequent laugmentation de la longueur de contrainte et leacutelargissement de la gamme des deacutebits de transmission des standards UMTS provoquent une importante variabiliteacute au niveau des ressources de calcul neacutecessaires agrave lopeacuteration de deacutecodage La charge de calcul peut varier entre une trentaine de wMOPS (demandeacute par un service de parole agrave 122 kbps) jusquagrave des valeurs approchant le millier de wMOPS (exigeacute par les applications les plus gourmandes soutenues par les technologies UMTS) Par conseacutequent on envisage lanalyse de la structure de codage de lUMTS afin de deacutevelopper des meacutethodes de deacutecodage ameacuteliorant le rapport entre la qualiteacute de protection et la charge de calcul demandeacutee Lobjectif envisageacute est leacutelargissement du spectre de solutions software efficaces afin de mieux reacutepondre aux exigences particuliegraveres des applications

65 Deacutecodage des codes convolutifs incluant la validation CRC

Le systegraveme de codage de canal du standard UMTS [Ts25212] dispose de plusieurs moyens de codage afin de permettre une protection efficace et

32 Valeur observeacutee La perte defficaciteacute due agrave une description souple et parameacutetrable de

lalgorithme sera traiteacutee dans le Chapitre 8

123

optimale contre les erreurs de transmission pour une vaste gamme dapplications Il existe ainsi deux configurations principales de codage convolutif le codage direct du message et le codage dun message traiteacute preacuteceacutedemment par un codage en bloc CRC (Sous-section 621) Le cas le plus inteacuteressant est lenchaicircnement dun code convolutif avec un code en bloc (Figure 6-14) structure qui revient reacuteguliegraverement dans les reacutecents standards de communication numeacuterique mobile (GSM [ETSI909] DCS1800 [Kuumlhn97] UMTS [Ts25212]) A la diffeacuterence du simple codage convolutif cette configuration dispose dinformations suppleacutementaires fournies par le codage CRC qui peuvent ecirctre exploiteacutees de maniegravere exhaustive

651 Ideacutee exploitation des informations du codage concateacuteneacute

Lobjectif dune concateacutenation de deux codes est la creacuteation dun code plus performant en beacuteneacuteficiant des avantages de chaque code [Proa95] Dans le cas des reacutecents standards de communication le code en bloc est chargeacute du controcircle de linteacutegriteacute du message qui a eacuteteacute proteacutegeacute par un codage convolutif

Sourcedinformation

Destination

Codeurexteacuterieur

CRC

Codeur inteacuterieurCode Convolutif

ou TurboEmetteur

ReacutecepteurDeacutecodeurexteacuterieur

Deacutecodeurinteacuterieur

Codage de canal UMTS

Approche classique

Figure 6-14 diagramme des codes concateacuteneacutes en seacuterie dans le contexte du standard UMTS

Lors du deacutecodage convolutif linteacutegriteacute du message reconstruit est difficile agrave confirmer sans reacuteduire sensiblement la potentialiteacute de protection du code utiliseacute Le codage en bloc eacutelimine ainsi cet inconveacutenient en veacuterifiant leacuteventuelle preacutesence derreurs dans le message (Section 24) Cet enchaicircnement est demandeacute par les applications sensibles pour lesquelles lutilisation dun message corrompu provoque des effets deacutesastreux Dans le cas de la deacutetection dun message corrompu il est ainsi preacutevu que le message soit retransmis (mode de controcircle derreurs ARQ) ou quil y ait une prise de

124

mesures speacuteciales de recouvrement derreurs (Error Concealment mode de controcircle derreurs FEC)

Approche iteacuterative

Destination Reacutecepteur

Deacutecodeurinteacuterieur

Deacutecodeurexteacuterieur

Figure 6-15 principe geacuteneacuteral agrave la base des deacutecodages iteacuteratifs

Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle ce qui consiste pratiquement en la reconstruction du message suivie par sa veacuterification (Figure 6-14) Lavantage de pouvoir deacutevelopper individuellement les deux proceacutedures de deacutecodage est contre-balanceacute par une utilisation sous-optimale des ressources disponibles Une interaction entre les deux deacutecodeurs permettrait de mieux exploiter les informations mises agrave disposition par le code concateacuteneacute (Figure 6-15)

652 Principe de deacutecodage livraison dune liste de messages

La livraison dune seacuterie de messages au deacutecodeur exteacuterieur qui les examine dans lintention didentifier leacuteventuel message correct [Kuumlhn97] est un principe de deacutecodage inteacuteressant Dans la suite de leacutetude ce principe sera utiliseacute pour lexploration des potentialiteacutes offertes dune part agrave cause de la souplesse dune architecture baseacutee sur les DSP et dautre part en raison de la structure de codage de canal eacutetabli par le standard UMTS En envisageant lameacutelioration du rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage ce principe iteacuteratif peut ecirctre exploiteacute pour

bull Ameacuteliorer la qualiteacute de protection Les informations suppleacutementaires de la validation CRC sont utiliseacutees afin dameacuteliorer la protection contre les erreurs en limitant laugmentation de la charge de calcul totale

bull Reacuteduire la complexiteacute de calcul de lopeacuteration de deacutecodage Dans ce cas lexploitation des informations envisage la reacuteduction de la charge de calcul du deacutecodage convolutif tout en gardant inchangeacutee la qualiteacute de protection contre les erreurs

125

Le facteur indispensable est la preacutesence dun code en bloc posseacutedant des capaciteacutes de deacutetection derreurs suffisantes agrave lexeacutecution correcte dun tel deacutecodage iteacuteratif Puisque le cas dune erreur non deacutetecteacutee (undetected error) doit ecirctre consideacutereacute comme deacutesastreux lapplication de ce principe doit ecirctre absente de fausses validations de messages Lemploi de ce principe iteacuteratif dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute en effet limiteacute par le nombre consideacuterable de fausses validations causeacutees par une capaciteacute de deacutetection insuffisante [Kuumlhn97] Leacutevaluation des potentialiteacutes des quatre codes CRC des standards UMTS (Annexe B Section B1) a tout dabord confirmeacute des capaciteacutes de deacutetection supeacuterieures agrave celles des standards GSM ce qui rend ce principe de deacutecodage attrayant Les nombreuses simulations dans le contexte de codage AMR-NB agrave 122kbps ont ensuite prouveacute la faisabiliteacute de ce principe de deacutecodage en ne reacuteveacutelant aucun cas de fausse validation Dans la suite du chapitre deux meacutethodes de base sont proposeacutees pour prouver les potentialiteacutes et la faisabiliteacute de ce principe de deacutecodage dans le contexte de lUMTS Les deux meacutethodes ameacuteliorent le rapport entre la qualiteacute de protection et la charge de calcul lune en augmentant la qualiteacute de protection lautre en reacuteduisant la complexiteacute du deacutecodage convolutif Les potentialiteacutes de ces deux meacutethodes seront compareacutees avec celles de lalgorithme de Viterbi Lobjectif de ce deacutecodage iteacuteratif eacutetant la livraison dun message integravegre la qualiteacute de protection sera eacutevalueacutee par le deacutebit de messages erroneacutes (FER)

66 List Viterbi Algorithm

661 Introduction

Le principe de ce deacutecodage est la livraison iteacuterative des L messages les plus probables au deacutecodeur CRC afin didentifier le message correct Le principe de deacutecodage par livraison dune liste de messages permet lidentification du message correct dans une liste de messages prometteurs Du point de vue de la qualiteacute de deacutecodage lobtention dune seacuterie de L messages globalement les plus probables repreacutesente le cas ideacuteal la limite infeacuterieure de qualiteacute de ce deacutecodage iteacuteratif (L=1 livraison du message globalement le plus probable) coiumlncide ainsi avec celle de lalgorithme de Viterbi Le point de deacutepart des strateacutegies pour lobtention des L messages globalement les plus probables est lalgorithme de Viterbi qui garantit une analyse efficace

126

et complegravete de lespace de codage Par contre lalgorithme de Viterbi ne permet pas la coexistence de chemins globalement les plus probables et de plus il est incapable de fournir une seacuterie de messages33 Linadeacutequation de lalgorithme agrave fournir une seacuterie de messages les plus probables peut ecirctre compenseacutee par

bull La prise en consideacuteration agrave chaque nœud des L meilleurs chemins Les algorithmes appartenant agrave cette classe sont nommeacutes Parallel List Viterbi Algorithm (parallegravele LVA) ou Parallel Generalized Viterbi Algorithm [Sesh94] Selon ce principe chaque nœud reccediloit 2bL chemins de maniegravere agrave pouvoir ensuite en seacutelectionner les L meilleurs [Sesh94] Ces chemins seront ensuite transmis aux nœuds suivants (Figure 6-16)

bull Lexploitation (agrave posteriori) des diffeacuterences entre la meacutetrique cumuleacutee des chemins survivants et celle des perdants agrave chaque nœud de chaque niveau de profondeur du treillis (Serial List Viterbi Algorithm ou Serial Generalized Viterbi Algorithm [Nill95] [Sesh94] [Kuumlhn97]) En utilisant correctement ces diffeacuterences les L meilleurs chemins globaux peuvent ecirctre ainsi identifieacutes et ensuite reconstruits

bull Lutilisation des estimations de la fiabiliteacute Λ offerte par les meacutethodes SOVA Lexploitation de ces informations permet la geacuteneacuteration (agrave posteriori) des L messages retenus les plus probables (List SOVA [Nill95] [Kuumlhn97]) En raison dune geacuteneacuteration de la liste de chemins deacutependante de la qualiteacute de lestimation de la fiabiliteacute cette strateacutegie ne garantit pas neacutecessairement lidentification de L chemins globalement les plus probables

En raison dun contexte dexeacutecution en temps reacuteel le facteur deacuteterminant pour le choix de la strateacutegie est sa charge de calcul Malgreacute labsence dans la litteacuterature deacutevaluations preacutecises de la complexiteacute de calcul de ces strateacutegies il est eacutevident que les techniques baseacutees sur les algorithmes parallegraveles LVA et SOVA comportent une augmentation consideacuterable de la charge de calcul neacutecessaire agrave leur exeacutecution On peut estimer que lutilisation dalgorithmes parallegraveles LVA comporte une augmentation de complexiteacute dun facteur de L [Sesh94] Les strateacutegies exploitant les algorithmes SOVA impliquent aussi une importante augmentation de la complexiteacute Le chapitre preacuteceacutedent montre que leur charge

33 Lalgorithme de Viterbi adopte le thegraveoreme de la non-optimaliteacute (theorem of

nonoptimality path) afin de livrer le message globalement le plus probable (Sous-section 523)

127

de calcul est de 15 agrave 2 fois celle requise par lalgorithme de Viterbi (Section 54)

mM

m

m0

L chemins

Figure 6-16 principe agrave la base du parallegravele List Viterbi Algorithm (LVA)

La strateacutegie dune exploitation des diffeacuterences des meacutetriques cumuleacutees est par contre tregraves inteacuteressante Laugmentation de la complexiteacute nest deacutetermineacutee que par la creacuteation de la liste de messages apregraves lexeacutecution de lalgorithme de Viterbi

662 Meacutethode Serial List Viterbi Algorithm

Un avantage consideacuterable de cette strateacutegie de deacutecodage qui sera utiliseacutee dans cette eacutetude et sera nommeacutee simplement List Viterbi Algorithm (LVA) est la possibiliteacute de seacuteparer le deacuteveloppement du deacutecodeur inteacuterieur en deux parties La premiegravere partie soccupe principalement de lexeacutecution de lalgorithme de Viterbi La seconde partie se concentre sur la geacuteneacuteration de la seacuterie de L messages en utilisant les tables contenant les diffeacuterences des meacutetriques cumuleacutees et les informations pour la reconstruction des chemins Le nombre de chemins qui peuvent ecirctre reconstruits nest limiteacute que par les exigences de lapplication cette strateacutegie permet en effet la reconstruction de tous les messages souhaiteacutes ainsi que la deacutetermination de leurs meacutetriques finale Ces valeurs de meacutetrique sont deacutetermineacutees agrave partir de la meacutetrique du meilleur chemin par la formule

1

meilleur chemin

0 si le chemin agrave cette profondeur

meacutetrique finale est le survivant autrement

np B

np

np

meacutetrique=

+

sum (65)

128

ougrave ∆meacutetrique repreacutesente la diffeacuterence des meacutetriques entre le chemin survivant et celui perdant mais choisi pour la reconstruction Lexeacutecution de cette meacutethode de deacutecodage iteacuteratif peut ecirctre ainsi caracteacuteriseacutee par les eacutetapes suivantes

1 Lalgorithme de Viterbi est tout dabord exeacutecuteacute Pendant son exeacutecution les diffeacuterences entre les meacutetriques cumuleacutees des deux chemins (qui se reacuteunissent dans chaque nœud agrave chaque profondeur) sont systeacutematiquement sauvegardeacutees dans une table

2 Apregraves laccomplissement de lalgorithme de Viterbi la variable responsable du controcircle du nombre des messages geacuteneacutereacutes est initialiseacutee (l=1)

3 Le l-egraveme chemin est tout dabord identifieacute et ensuite deacutecodeacute Ces deux opeacuterations utilisent les informations relatives aux diffeacuterences de meacutetrique et agrave la reconstruction des chemins

4 Le message obtenu est analyseacute par le deacutecodeur exteacuterieur si le message est valideacute le deacutecodage iteacuteratif est termineacute

5 Si les L meilleurs messages globaux nont pas encore eacuteteacute tous controcircleacutes le deacutecodage iteacuteratif continue la variable l est increacutementeacutee et on passe au point 3 Sinon la proceacutedure de deacutecodage est interrompue sans pouvoir deacutelivrer un message valide

663 Performances de cette meacutethode iteacuterative

Limplantation de cette meacutethode est conforme agrave la configuration de base preacutesenteacutee pour limplantation de lalgorithme de Viterbi La reacutealisation de cette meacutethode se base sur la mecircme implantation de lalgorithme de Viterbi qui est utiliseacute agrave titre de reacutefeacuterence Toutefois en raison de la reconstruction de plusieurs chemins le principe de la troncation de la meacutemoire (responsable de la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins) ne peut pas ecirctre exploiteacute Par rapport agrave lobtention de la liste de L messages limplantation de la proceacutedure de creacuteation des messages suit les critegraveres suivants

bull Les messages deacutelivreacutes sont les L meilleurs messages globaux bull Le nombre maximal de messages deacutelivreacutes (pour leacutetude) est L=2 4 8

16 32 64 128 256 et 512 messages

129

bull Les messages sont deacutelivreacutes selon le critegravere dune probabiliteacute deacutecroissante et la proceacutedure iteacuterative sarrecircte si le message est valideacute par le deacutecodeur CRC Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

bull Une surveillance de loccurrence de fausses validations est effectueacutee par un controcircle systeacutematique de lexactitude de la coiumlncidence entre le message correct et celui identifieacute par le deacutecodeur CRC

Figure 6-17 qualiteacute de protection contre les erreurs de transmission offerte par la meacutethode iteacuterative List Viterbi Algorithm Le graphe rouge en trait gras se rapporte agrave la qualiteacute de reacutefeacuterence obtenue par lalgorithme de Viterbi Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Qualiteacute de protection contre les erreurs de transmission Les reacutesultats de la qualiteacute de protection (utilisant le service de parole AMR-NB agrave 122 kbps) sont illustreacutes en Figure 6-17 Les potentialiteacutes de protection de la meacutethode List Viterbi Decoding sont prouveacutees laugmentation du nombre de messages deacutelivreacutes au deacutecodeur CRC ameacuteliore sensiblement la qualiteacute de protection Par contre la relation entre le gain de codage (Coding Gain) et le nombre maximal de messages deacutelivreacutes nest pas lineacuteaire (Table 6-8) en raison de la probabiliteacute deacutecroissante des messages livreacutes La Figure 6-17 met aussi

130

en eacutevidence linfluence des conditions de transmission sur le gain de codage Les reacutesultats de cette simulation montrent que le gain de codage augmente avec lameacutelioration des conditions de transmission Aucune fausse validation na pu ecirctre identifieacutee lors des simulations effectueacutees Bien que la probabiliteacute de rencontrer des situations de fausses validations nest jamais nulle ces reacutesultats quantitatifs prouvent que la capaciteacute de deacutetection derreurs du code en bloc utiliseacute est suffisante agrave garantir lexeacutecution correcte de cette meacutethode iteacuterative

Nombre maximal de messages L

Gain de codageagrave FER=10-3 [dB]

Nombre maximal de messages L

Gain de codage agrave FER=10-3 [dB]

2 05 64 16 4 08 128 17 8 10 256 19

16 13 512 20 32 15

Table 6-8 vue densemble du gain de codage par rapport agrave la qualiteacute de protection de lalgorithme de Viterbi

Complexiteacute de calcul de cette meacutethode iteacuterative Afin de permettre lanalyse correcte de la complexiteacute de calcul de cette meacutethode la nouvelle reacutealisation de la tacircche concernant la geacuteneacuteration des messages doit ecirctre tout dabord discuteacutee La geacuteneacuteration des L meilleurs messages globaux utilise deux tables la premiegravere contenant les informations neacutecessaires agrave la reconstruction des chemins survivants la seconde comprenant les diffeacuterences de meacutetriques cumuleacutees A partir de ces deux tables la strateacutegie implanteacutee pour la geacuteneacuteration des messages les plus probables suit les eacutetapes suivantes

1 Le message globalement le plus probable (l=1) est obtenu par deacutecodage du chemin indiqueacute par lalgorithme de Viterbi En analysant les chemins perdants rencontreacutes lors de la geacuteneacuteration de ce message (Figure 6-19) une table contenant toutes les informations neacutecessaires agrave la reconstruction des L-1 chemins (temporairement) les plus probables est construite (Figure 6-18) Les informations sont la valeur de la meacutetrique et les indications des niveaux de profondeur ougrave le chemin suit des chemins perdants Cette table est geacuteneacutereacutee et

131

geacutereacutee selon la meacutethode dinsertion des nouvelles informations Straight Insertion [Pres92]

2 Le message globalement le plus probable (l=1) est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute la proceacutedure sarrecircte

3 La variable l est increacutementeacutee (l=l+1) 4 Le chemin le plus probable de la table est utiliseacute pour la construction

du l-egraveme message globalement le plus probable Ce message est obtenu en suivant les informations de reconstruction des chemins et les indications des niveaux de profondeur des chemins perdants (Figure 6-19) Apregraves la derniegravere deacuteviation depuis un chemin survivant la table des L-l meilleurs chemins est mise agrave jour (Straight Insertion) en analysant les meacutetriques des chemins perdants rencontreacutes (Figure 6-19) Cette strateacutegie eacutevite de consideacuterer des chemins perdants preacuteceacutedemment deacutejagrave analyseacutes

5 Ce l-egraveme message est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute cette proceacutedure sarrecircte

6 Si les L messages ne sont pas encore reconstruits on passe agrave leacutetape 3 Sinon la proceacutedure sarrecircte sans pouvoir livrer un message valide

djbest pointeurj informations des deacuteviations (chemin b)dibest pointeuri informations des deacuteviations (chemin j)dhbest pointeurh informations des deacuteviations (chemin h)

dwbest pointeurw informations des deacuteviations (chemin i)

chem

ins

plus

pro

met

teur

s meacutetrique indications des niveaux de profondeurdes chemins perdants

Figure 6-18 table contenant toutes les informations neacutecessaires agrave la

reconstruction des chemins temporairement les plus probables Lutilisation des pointeurs permet de reacuteduire les coucircts de mise agrave jour de la table par insertion et deacuteplacement des eacuteleacutements (Straight Insertion [Pres92])

132

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins nonretenus

cheminssurvivants

chemin le plus probable

chemins analyseacutes lors dudeacutecodage du chemin leplus probable

np=1 np=2 np=3 np=4 np=5 np=6

S00

S01

S00

np=7 np=8

Bits de terminaison

second chemin le plusprobalechemins analyseacutes lors dudeacutecodage du second cheminle plus probable

Niveau deprofondeur 0

Figure 6-19 exemple de proceacutedure de reconstruction des deux meilleurs messages globaux avec lanalyse des chemins perdants

Les estimations de la charge de calcul de la meacutethode iteacuterative sont reacutesumeacutees dans la Table 6-9 Table 6-10 et Table 6-11 La premiegravere examine dans le deacutetail la meacutethode List Viterbi livrant au maximum 8 messages au deacutecodeur exteacuterieur (L=8) La Table 6-10 et la Table 6-11 reacutesument les reacutesultats concernant la livraison de 2 4 8 16 32 64 128 256 et 512 messages Les reacutesultats qui en deacutecoulent sont conformes aux attentes La structure algorithmique de cette meacutethode iteacuterative permet en effet de limiter laugmentation de la complexiteacute la rendant inteacuteressante du point de vue du rapport qualiteacutecomplexiteacute de calcul La seacuteparation de la meacutethode en deux parties principales a rendu limplantation de la tacircche de geacuteneacuteration des L messages responsable de laugmentation de complexiteacute Limportance de laugmentation deacutepend ainsi du positionnement du message correct dans la seacuterie de messages (Table 6-9) et du nombre maximal L de messages livrables (Table 6-10 et Table 6-11)

133

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 44540 146 0 44686 44540 760 0 45300Increacutementations 0 1322 0 1322 2092 0 2092Soustractions 22525 121 0 22646 22525 842 0 23367Multiplications 0 0 0 0 0 0 0 0Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 11 45847 0 164979 119146 46752 0 165898Logique 12750 2613 13 130131 127733 3929 104 131766Deacutecalages 70721 282 1 71004 71127 2249 8 73384Controcircles 102761 102761 106329 106329Pointeur assignations 654 654 690 690Pointeur arithmeacutetique 716 716 2182 2182Boucle initialisations 24166 112 0 24278 24166 133 0 24299Boucle controcircles 97782 97782 98573 98573Boucle 72545 952 0 73497 72545 1722 0 74267Grand total 734456 748147

Table 6-9 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=8 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 Le fond gris met en eacutevidence les compteurs doccurrence deacutefinis par les organisations ITU et ETSI

Avec laugmentation du nombre de chemins L limportance du positionnement du message correct saccroicirct remarquablement Le principal responsable de la hausse importante de la complexiteacute est la gestion de la table des informations des chemins les plus prometteurs agrave partir de L=64 messages la strateacutegie de gestion de la table par Straight Insertion perd son efficaciteacute en exigeant un nombre eacuteleveacute dopeacuterations Lemploi de cette meacutethode de deacutecodage iteacuterative avec un nombre eacuteleveacute de messages implique la modification de cette strateacutegie de gestion

134

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme(imposeacute)

Contexte EbN0=00dB L=2 L=4 L=8 L=16 L=32 Additions 44551 44655 44866 45300 46216 48240Increacutementations 1320 1432 1652 2092 2972 4732Soustractions 225 22742 22951 23367 24199 25863Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 165052 165326 165898 167138 170002Logique 132694 130382 130830 131766 133681 137441Deacutecalages 71003 71344 72024 73384 76104 81544Controcircles 102615 103137 104193 106329 110697 119817Pointeur assignations 612 626 644 690 830 1302Pointeur arithmeacutetique 513 928 1346 2182 3854 7198Boucle initialisations 24269 24275 24283 24299 24331 24395Boucle controcircles 97734 97849 98087 98573 99593 101825Boucle increacutementations 73464 73574 73801 74267 75247 77399Grand total 710317 735996 740003 748147 764862 799758Complexiteacute relative34 100 104 104 105 108 113 List Viterbi Algorithm

Sans erreurs de transmission Grand total

734179 734217 734456 735263 738406Complexiteacute relative34 103 103 103 104 104

Table 6-10 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=2 4 8 16 et 32 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

34 On rappelle que la meacutethode de reacutefeacuterence est lalgorithme de Viterbi La complexiteacute

relative est obtenue en divisant la complexiteacute de calcul (nombre moyen dopeacuterations observeacutees grand total) de la meacutethode analyseacutee par celle de lalgorithme de Viterbi (donneacutee en Table 6-6)

135

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme (imposeacute)

Contexte EbN0=00dB L=32 L=64 L=128 L=256 L=512 Grand total 710317 799758 875765 1053806 1514077 2850308Complexiteacute relative34 100 113 123 148 213 401 List Viterbi Algorithm

Sans erreurs de transmission Grand total

738406 750806 797065 899840 1105428Complexiteacute relative34 104 106 112 127 156

Table 6-11 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=32 64 128 256 et 512 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

67 List Decoding inteacutegrant la validation du CRC

Les reacutesultats de la meacutethode preacuteceacutedente prouvent la faisabiliteacute dune exploitation intensive des informations geacuteneacutereacutees par le codage en bloc La meacutethode List Viterbi Algorithm ameacuteliore la qualiteacute de protection de lalgorithme de Viterbi au moyen dune utilisation plus exhaustive de ces informations La meacutethode montre un bon rapport entre la qualiteacute de protection et la complexiteacute de calcul Toutefois la complexiteacute de calcul est fortement influenceacutee par lincorporation de lalgorithme de Viterbi dans la meacutethode iteacuterative la complexiteacute croicirct de maniegravere exponentielle avec laugmentation de la longueur de contrainte K du code convolutif

671 Nouvelle strateacutegie de deacutecodage

Lefficaciteacute du principe de deacutecodage iteacuteratif permet denvisager une exploitation exhaustive des informations reccedilues dans le but de reacuteduire la charge de calcul de lopeacuteration entiegravere de deacutecodage tout en conservant la mecircme qualiteacute de protection que lalgorithme de Viterbi Ce nouvel objectif peut ecirctre atteint tout dabord en choisissant une meacutethode de deacutecodage convolutif moins exigeante en termes de charge de calcul En raison

136

de lefficaciteacute de lalgorithme de Viterbi une reacuteduction de la complexiteacute de calcul ne peut ecirctre obtenue quau deacutetriment dune analyse complegravete de lespace de codage La perte ineacutevitable de qualiteacute de protection (Table 6-12) peut ecirctre ensuite compenseacutee par lapport dinformations suppleacutementaires du codage CRC

Nombre de chemins survivants pris en compte

Facteur de reacuteduction de lespace de codage

Rapport signal sur bruit EbN0 produisant un BER de 10-3

Gain de codage

Tous (Algorithme de Viterbi) - 41 dB - 128 chemins (eacutetats) 2 42 dB -01 dB 64 chemins (eacutetats) 4 46 dB -05 dB 32 chemins (eacutetats) 8 51 dB -10 dB 16 chemins (eacutetats) 16 56 dB -15 dB

Table 6-12 vue densemble de la deacutegradation introduite en raison dune analyse incomplegravete de lespace de codage Contexte de codage codeur UMTS avec rendement Rc=13

Le mecircme principe de deacutecodage livrant une seacuterie de messages au deacutecodeur CRC est agrave nouveau adopteacute Lalgorithme utiliseacute pour la geacuteneacuteration des messages nest plus lalgorithme de Viterbi mais un algorithme qui favorise laspect de la faible complexiteacute de calcul lalgorithme List Decoding (Figure 6-20) La charge de calcul de la meacutethode List Decoding est en effet fonction du nombre L de chemins consideacutereacutes agrave chaque niveau de profondeur De plus une liste des chemins les plus prometteurs est intrinsegravequement disponible agrave tous les niveaux de profondeur (Sous-section 522) La seacuterie de messages est geacuteneacutereacutee en deacutecodant les chemins contenus dans la liste finale des L chemins les plus prometteurs La geacuteneacuteration des messages beacuteneacuteficie de la non-application du principe du survivant ce qui permet la libre coexistence des meilleurs chemins (Figure 6-21) Cette caracteacuteristique est indispensable pour obtenir une liste dont les messages possegravedent de bonnes probabiliteacutes

137

Deacutecodeur exteacuterieur

Niveau de profondeur1 2 3 B

B+1 B+(longueur decontrainte -1)

PM(1)

PM(2)

PM(L)

PM(L+1)

PM(L+2)

PM(2L)

messagecorrect

seacutele

ctio

n du

i-egravem

e m

eille

urch

emin

de

la li

ste

deacutecodage dui-egraveme chemin

deacutepart i=1

i=i+1 derniermessage

messagecorrect

messageincorrect

Deacutecodeur inteacuterieur

Oui

Oui

Non

Non

0

List Decoding

bits de terminaisonbits dinformation

Figure 6-20 repreacutesentation graphique du principe de cette meacutethode iteacuterative List Decoding inteacutegrant la validation CRC

672 Consideacuterations sur limplantation

Limplantation de cette meacutethode utilise la mecircme repreacutesentation numeacuterique des meacutetriques et le mecircme systegraveme de sauvegarde des informations de reconstruction des chemins que ceux qui ont eacuteteacute adopteacutes pour limplantation de lalgorithme de Viterbi Par rapport agrave la sauvegarde des informations de reconstruction lalgorithme List Decoding permet deux strateacutegies opposeacutees de sauvegarde des informations Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement un bit ayant fonction dindicateur (flag) Il signale si le chemin a eacuteteacute inseacutereacute dans la liste des L chemins qui seront ensuite prolongeacutes Gracircce agrave cette indication et au positionnement du chemin dans la liste des prolongations les eacutetats preacuteceacutedents des chemins peuvent ecirctre reconstruits de maniegravere iteacuterative Les deacutetails et les explications sont disponibles dans le livre de Johannesson [Joha99] De maniegravere coheacuterente avec limplantation de lalgorithme de Viterbi le systegraveme le moins complexe (qui sauvegarde directement la valeur de leacutetat preacuteceacutedent) a eacuteteacute choisi pour limplantation de cette meacutethode En raison dune reconstruction dune large quantiteacute de messages la meacutethode de troncation de la meacutemoire nest pas applicable

138

673 Effet de compensation par lexploitation exhaustive du codage CRC

La qualiteacute de protection de cette meacutethode iteacuterative est deacutetermineacutee par la probabiliteacute de trouver le message correct dans la liste de messages livreacutes au deacutecodeur CRC Cette probabiliteacute est eacutevidemment fonction du nombre L de messages livreacutes ainsi que des affiniteacutes entre les symboles reccedilus et ceux geacuteneacutereacutes par les messages

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

chemins concurrentsavec une eacutevolution

commune de lameacutetrique cumuleacutee

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

Figure 6-21 lalgorithme List Decoding permet la libre coexistence de chemins parallegraveles qui ont une eacutevolution commune de la meacutetrique cumuleacutee Ceci est ducirc agrave linapplication du critegravere du survivant

A la diffeacuterence de la meacutethode List Viterbi Decoding qui livre les L messages globalement les plus probables lalgorithme List Decoding traite les L chemins les plus prometteurs de chaque niveau de profondeur Cet algorithme peut ecirctre ainsi affecteacute par le pheacutenomegravene gecircnant du rejet cest-agrave-dire la disparition du(des) chemin(s) globalement le(s) plus probable(s) de la liste des L chemins (Section 522) Par conseacutequent les L messages livreacutes ne correspondent pas neacutecessairement aux L messages globalement les plus probables

139

Caracteacuteristiques de limplantation de cette meacutethode iteacuterative Limplantation de cette solution suit les critegraveres suivants bull Le nombre maximal de messages deacutelivreacutes coiumlncide avec le nombre L des

messages les plus prometteurs de la meacutethode List Decoding A titre deacutetude ce nombre sera aussi eacutetendu agrave 2middotL en nexeacutecutant pas la derniegravere seacutelection avant le traitement des bits de terminaison (Figure 6-20)

bull Les messages sont deacutelivreacutes selon une affiniteacute deacutecroissante (cest-agrave-dire selon une valeur de meacutetrique croissante) et la proceacutedure iteacuterative sarrecircte si le message a eacuteteacute valideacute Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Une surveillance de loccurrence de fausses validations est effectueacutee pendant les simulations Le message identifieacute par le deacutecodeur CRC est systeacutematiquement compareacute avec le message envoyeacute

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

Effet de compensation Les qualiteacutes de protection de cette meacutethode List Decoding inteacutegrant la validation CRC deacutemontrent la validiteacute du principe de la compensation de la deacutegradation de la protection due agrave lutilisation de lalgorithme List Decoding (Figure 6-22) Cette eacutetude montre que la perte de qualiteacute due agrave lanalyse incomplegravete de lespace de codage peut ecirctre compenseacutee en deacutelivrant plusieurs messages au deacutecodeur CRC La qualiteacute de protection nest maintenant influenceacutee que par la perte possible du chemin correct par lalgorithme List Decoding si ce chemin apparaicirct dans la liste finale des L chemins la proceacutedure iteacuterative permet lidentification et la livraison du message correct Limportance de lameacutelioration apporteacutee par la livraison des messages deacutepend strictement du nombre L de chemins par lalgorithme List Decoding Un nombre L eacuteleveacute diminue les risques dun rejet du chemin correct causeacute par une accumulation (soit constante soit temporairement deacutefavorable) derreurs de transmission (Table 6-13) Lextension du nombre de messages de L agrave 2L par la non-exeacutecution de la derniegravere seacutelection des chemins napporte en effet pas dameacutelioration sensible (Figure 6-22) Cette proceacutedure geacutenegravere L messages suppleacutementaires qui possegravedent des probabiliteacutes tregraves reacuteduites decirctre le message correct

140

Figure 6-22 qualiteacute de protection de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC et de lalgorithme de Viterbi Le graphe rouge en trait gras repreacutesente la qualiteacute de protection de lalgorithme de Viterbi le graphe bleu en trait fin celle de la meacutethode iteacuterative livrant L messages Le graphe vert en trait gras indique la qualiteacute de protection obtenue par la livraison de 2middotL messages (eacutelimination de la derniegravere seacutelection des L messages) Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Importance du bruit causant un FER de 10-3 [EbN0] Nombre de chemins L Algorithme List

Decoding Meacutethode iteacuterative List Decoding inteacutegr CRC

Algorithme de Viterbi

32 557 dB 553 dB64 527 dB 514 dB

128 516 dB 478 dB

513 dB

Table 6-13 exemple dameacutelioration des performances observeacute dans le cadre du service de parole AMR-NB agrave 122 kbps gracircce agrave la meacutethode iteacuterative

141

En ce qui concerne les simulations (service de parole AMR-NB agrave 122 kbps) le controcircle systeacutematique de la qualiteacute de deacutetection derreurs na reacuteveacuteleacute aucune irreacutegulariteacute dans le jugement effectueacute par le deacutecodeur CRC (cas de fausses validations) Dans le cas dune perturbation par laddition dun bruit blanc gaussien (de 00 agrave 60 dB) ce deacutecodage iteacuteratif avec L=64 messages offre une qualiteacute de protection comparable agrave celle de lalgorithme de Viterbi (Figure 6-22) Dans des conditions de transmission tregraves mauvaises (EbN0lt1dB) on peut mecircme envisager de reacuteduire ulteacuterieurement le nombre de messages L livrables

674 Complexiteacute de calcul

Apregraves avoir deacutemontreacute la faisabiliteacute dune compensation de la qualiteacute de protection par la livraison dune seacuterie de messages cette sous-section considegravere la reacuteduction de la charge de calcul de la meacutethode de deacutecodage La complexiteacute de calcul des meacutethodes iteacuteratives de deacutecodage consideacutereacutees (Figure 6-15) deacutepend tout dabord de la meacutethode de deacutecodage convolutif et ensuite de la proceacutedure iteacuterative de geacuteneacuteration et de controcircle de la validiteacute des messages Lutilisation de lalgorithme List Decoding reacuteduit la complexiteacute de cette proceacutedure iteacuterative mettant intrinsegravequement agrave disposition une liste de chemins dont le deacutecodage permet de geacuteneacuterer une seacuterie de messages Du point de vue de la complexiteacute de calcul le point crucial devient ainsi limplantation de la meacutethode List Decoding Charge de calcul de lalgorithme List Decoding la fonction de seacutelection A chaque niveau de profondeur cet algorithme procegravede agrave la prolongation de L chemins agrave la mise agrave jour de 2middotL meacutetriques cumuleacutees et agrave la seacutelection des L meilleurs chemins (Sous-section 522) Contrairement agrave lalgorithme de Viterbi le deacuteroulement de cet algorithme neacutecessite lintervention dune fonction de tri pour la seacutelection des chemins dont la complexiteacute de calcul deacutepend eacutevidemment du nombre de chemins impliqueacutes dans lopeacuteration Les fonctions de tri classiques telles que les meacutethodes Straight Insertion et Heap Sort neacutecessitent un nombre dopeacuterations dont lordre de grandeur varie entre (2middotL)2 et 2middotLmiddotlog2(2middotL) [Pres92] Avec laugmentation du nombre L de chemins les exigences de ces fonctions deviennent trop importantes et compromettent la reacuteduction de la charge de calcul envisageacutee par lanalyse partielle de lespace de codage Il devient ainsi essentiel dutiliser une solution alternative agrave ces fonctions de tri classiques

142

Proceacutedure de seacutelection deacuteveloppeacutee Une proceacutedure de seacutelection qui utilise la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee et ensuite implanteacutee La fonction de tri peut ainsi ecirctre remplaceacutee par la deacutetermination du seuil deacutelimitant les deux sous-ensembles de meacutetriques (Figure 6-23) Lordre de grandeur de la complexiteacute de calcul de cette proceacutedure est de 2middotL Les deacutetails sont preacutesenteacutes dans lAnnexe B (Section B2)

valeur de lameacutetrique cumuleacutee

best

Met

r np

nom

bre

dech

emin

s

best

Met

r np+1

best

Met

r np+2

L meilleurschemins

seuil

Figure 6-23 recherche du seuil qui permettra ensuite la seacutelection des L meilleurs chemins par simple comparaison Cette repreacutesentation considegravere des meacutetriques se basant sur la pure distance de Hamming

Cette proceacutedure sinspire de lobservation dune stabiliteacute de la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (Figure 6-24) Bien que les valeurs aient tendance agrave augmenter en preacutesence derreurs de transmission la diffeacuterence maximale entre les meacutetriques dmm reste pratiquement constante

143

( )2 log 2dmm MaxContribBranche L

= sdot sdot (66)

ougrave MaxContribBranche est la contribution maximale de la meacutetrique de branche35 (voir Annexe B Section B2) On peut ainsi constater que les 2middotL valeurs de meacutetriques cumuleacutees sont concentreacutees dans un eacutecart reacuteduit agrave dmm valeurs

Figure 6-24 exemple de la dynamique relative aux valeurs des meacutetriques cumuleacutees La distance de Hamming est utiliseacutee comme meacutetrique de branche Configuration List Decoding avec L=64 codeur convolutif avec Rc=13 du standard UMTS [Ts25212] intensiteacute du bruit de EbN0=6dB la partie initiale de la proceacutedure de deacutecodage nest pas afficheacutee

La forte accumulation des valeurs permet de deacutevelopper une proceacutedure de seacutelection exploitant la distribution statistique des meacutetriques cumuleacutees Le principe est leacutetablissement (agrave chaque niveau de profondeur) de la statistique de distribution des meacutetriques cumuleacutees afin de deacuteterminer le seuil qui permet la seacutelection des L meilleurs chemins (Figure 6-23)

35 On rappelle que luniteacute des meacutetriques de branche est la distance de Hamming Les

valeurs de meacutetriques cumuleacutees indiquent ainsi le nombre derreurs rencontreacutees par les divers chemins

144

Du point de vue de la complexiteacute de calcul cette meacutethode peut ecirctre reacutesumeacutee de la maniegravere suivante

bull Les (dmm + MaxContribBranche+1) compteurs doccurrence neacutecessaires pour eacutetablir la statistique des meacutetriques cumuleacutees36 sont remis agrave zeacutero

bull Pendant les opeacuterations de prolongement des chemins ces compteurs sont increacutementeacutes selon les valeurs des nouvelles meacutetriques cumuleacutees

bull Le seuil est ensuite eacutetabli par laddition des valeurs de ces compteurs doccurrence jusquagrave parvenir agrave lisolement des Ls chemins les plus prometteurs (ougrave LsgeL)

0

arg minseuil

statseuil statseuil compteur L

=

= gesum (67)

bull Gracircce agrave ce seuil et agrave un compteur suppleacutementaire (au cas ougrave Ls gt L) les

L meacutetriques cumuleacutees les plus favorables sont identifieacutees Complexiteacute de calcul observeacutee pour la meacutethode List Decoding inteacutegrant la validation du CRC La Table 6-14 et la Table 6-15 montrent les charges de calcul observeacutees pour la meacutethode iteacuterative List Decoding inteacutegrant la validation du CRC La premiegravere table illustre la complexiteacute neacutecessaire agrave lexeacutecution de cette meacutethode avec L=64 messages Deux situations sont traiteacutees en deacutetail la premiegravere preacutesente une situation de transmission de donneacutees sans erreurs alors que la seconde considegravere lexeacutecution exhaustive de la meacutethode en raison dune transmission tregraves mauvaise Dans cette derniegravere situation lalgorithme est forceacute (artificiellement) agrave fournir et agrave examiner tous les L messages La Table 6-15 donne une vue densemble de la complexiteacute de cette meacutethode iteacuterative Elle reacutesume les reacutesultats obtenus en utilisant L=16 32 64 128 et 256 messages Ces reacutesultats mettent en eacutevidence la relation entre la charge de calcul et les conditions de transmission des donneacutees En raison dun nombre important de messages potentiellement livrables la position du message valide dans la liste influence la charge de calcul demandeacutee par la meacutethode

36 Les limites infeacuterieure et supeacuterieure des meacutetriques cumuleacutees sont estimeacutees agrave partir des

valeurs de meacutetriques cumuleacutees obtenues au niveau de profondeur preacuteceacutedent On doit ainsi consideacuterer une diffeacuterence maximale des meacutetriques plus large (pour les deacutetails voir Annexe B) Chaque compteur doccurrence surveille une valeur preacutecise de meacutetrique

145

Par rapport aux simulations relatives au service de parole AMR-NB agrave 122 kbps lemploi de meacutethode iteacuterative avec L=64 messages implique une complexiteacute relative34 qui varie entre 039 (absence derreurs) et 049 (analyse de tous les L messages)

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 0 12703 0 12703 0 12974 0 12974Increacutementations 0 37610 0 37610 0 44497 0 44497Soustractions 0 98 0 98 0 728 0 728Multiplications 1 0 0 1 1 0 0 1Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 12465 33786 0 46251 12528 42081 0 54609Logique 11910 14387 13 26310 14143 26231 832 41206Deacutecalages 6 12040 1 12101 3714 24129 64 27907Controcircles 85075 85075 93731 93731Pointeur assignations 615 615 678 678Pointeur arithmeacutetique 584 584 6821 6821Boucle initialisations 0 387 0 387 0 513 0 513Boucle controcircles 26636 26636 33251 33251Boucle increacutementations 0 26249 0 26249 0 32738 0 32738Grand total 274621 349654

Table 6-14 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC avec L=64 Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs deacutefinis par lorganisations ITU et ETSI

Ces reacutesultats montrent que lobjectif eacutetabli a eacuteteacute atteint Lanalyse incomplegravete de lespace de codage de la meacutethode List Decoding et la nouvelle fonction de seacutelection des L chemins diminuent la complexiteacute de calcul de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC Le point crucial est lopeacuteration de seacutelection des L chemins dans la meacutethode List Decoding qui conditionne la reacuteduction de sa charge de calcul Lutilisation de fonctions classiques de tri exige en effet une charge de calcul trop importante ce qui va agrave lencontre de lobtention dune meacutethode efficace du point de vue de la complexiteacute Il a eacuteteacute ainsi neacutecessaire de deacutevelopper une fonction de seacutelection adapteacutee aux caracteacuteristiques de lalgorithme List Decoding

146

Nombre moyen drsquoopeacuterations observeacutees

Viterbi et val CRC ()

List Decoding inteacutegrant la validation CRC Exeacutecution exhaustive (imposeacute)

Contexte EbNo=00dB L=16 L=32 L=64 L=128 L=256 Additions 44551 3771 6879 12974 25010 48992Increacutementations 1320 11908 22695 44497 87853 167660Soustractions 225 250 409 728 1367 2646Multiplications 0 1 1 1 1 1Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 16943 29743 54609 103668 201485Logique 132694 12322 21993 41206 79386 155227Deacutecalages 71003 7014 13989 27907 55656 111091Controcircles 102615 31314 52105 93731 176160 327185Pointeur assignations 612 630 646 678 742 870Pointeur arithmeacutetique 513 2071 3654 6821 13156 25827Boucle initialisations 24269 419 450 513 640 895Boucle controcircles 97734 10571 18258 33251 62734 120947Boucle 73464 10152 17808 32738 62094 120052Grand total 710317 107365 188631 349654 668467 1282877Complexiteacute relative34 100 015 027 049 094 181 List Decoding inteacutegrant la validation CRC

Sans erreurs de transmission Grand total

89711 151934 274621 516245 974710Complexiteacute relative34 013 021 039 073 137

Table 6-15 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur List Decoding Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

68 Comparaisons des meacutethodes iteacuteratives proposeacutees

Le principe agrave la base de ces deacutecodages iteacuteratifs est la livraison dune seacuterie de messages au deacutecodeur exteacuterieur dans le but didentifier le message correct La probabiliteacute de la livraison du message correct correspond ainsi agrave la somme des probabiliteacutes des L messages livrables Le cas ideacuteal est repreacutesenteacute par la livraison des L messages globalement les plus prometteurs ce qui maximise la probabiliteacute de lobtention du message correct Cette strateacutegie est adopteacutee par la meacutethode iteacuterative List Viterbi

147

Algorithm (LVA) meacutethode qui offre ainsi une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Figure 6-25)

Figure 6-25 vue densemble des potentialiteacutes offertes par les deux meacutethodes iteacuteratives Le graphe vert en trait gras repreacutesente la qualiteacute de protection des meacutethodes iteacuteratives List Decoding inteacutegrant la validation CRC le graphe bleu celle des algorithmes List Viterbi Les valeurs de reacutefeacuterence de lalgorithme de Viterbi sont indiqueacutees au moyen du graphe rouge en trait gras Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps La figure indique aussi le domaine dutilisation dans lequel chacune des meacutethodes fournit une protection de qualiteacute et efficace

En raison de linteacutegration de lalgorithme de Viterbi dans la meacutethode iteacuterative de deacutecodage sa complexiteacute de calcul est eacutevidemment supeacuterieure agrave lapproche classique Une implantation soigneuse de lopeacuteration de geacuteneacuteration des messages (Sous-section 663) limite laugmentation de complexiteacute rendant cette meacutethode tregraves inteacuteressante du point de vue du rapport entre lameacutelioration de la qualiteacute de protection et la complexiteacute de calcul (Figure 6-25 et Table 6-16) Le principe de livraison dune seacuterie de messages peut ecirctre aussi exploiteacute pour deacutevelopper une meacutethode de deacutecodage efficace mais moins exigeante en termes de charge de calcul la meacutethode List Decoding inteacutegrant la validation CRC (Figure 6-25 et Table 6-16) La livraison de plusieurs messages permet

148

de compenser ainsi la deacutegradation de la qualiteacute de protection deacutegradation qui est causeacutee par un algorithme de deacutecodage convolutif moins exigeant et moins preacutecis que lalgorithme de Viterbi Lanalyse partielle de lespace de codage et la nouvelle fonction de seacutelection limitent la charge de calcul demandeacutee par le deacutecodage convolutif List Decoding La perte de qualiteacute de protection est ensuite compenseacutee par la recherche iteacuterative du message valide

WCwOPS() Algorithmes Nombre moyen dopeacuterations observeacutees (exeacutecution exhaustive )

Pour le traitement dune trame

Pour le traitement dun bit du message (valeur indicative)

Viterbi EbN0=00dB sans troncation de la meacutemoire

710125 616144 6100

Deacutetection du CRC 192 291 4Meacutethode iteacuterative baseacutee sur lalgorithme List Decoding

L= 32 188631 199919 1979L= 64 349654 369384 3657L= 128 668467 705261 6983

Meacutethode iteacuterative baseacutee sur lalgorithme List Viterbi (LVA) Max 2 messages (L=2) 735996 641881 6355Max 4 messages (L=4) 740003 646035 6396Max 8 messages (L=8) 748147 654465 6480Max 16 messages (L=16) 764862 671704 6651() Worst-Case weighted Operations nombre maximal dopeacuterations impliqueacutees dans lexeacutecution de la proceacutedure analyseacutee pondeacutereacute selon le modegravele proposeacute par lITUETSI Il comprend aussi les opeacuterations neacutecessaires agrave ladressage (Array Index) qui ne sont normalement pas consideacutereacutees lors de ce type deacutevaluation

Table 6-16 vue densemble de la complexiteacute de calcul des meacutethodes les plus repreacutesentatives Les trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps

La Figure 6-25 marque les champs demploi compleacutementaires des deux meacutethodes iteacuteratives La meacutethode LVA est envisageable afin dameacuteliorer la qualiteacute de protection de lalgorithme de Viterbi En variant le nombre L des messages livrables la meacutethode atteint ainsi diffeacuterents gains de codage Toutefois un nombre important de messages (Lgt64) reacuteduit lefficaciteacute de limplantation de la meacutethode (Table 6-16) en raison de la strateacutegie adopteacutee pour la gestion des chemins les plus probables Lemploi envisageable par la meacutethode List Decoding inteacutegrant la validation CRC est la reacuteduction de la charge de calcul de lopeacuteration de deacutecodage tout en

149

gardant le mecircme niveau de qualiteacute de protection que celui de lalgorithme de Viterbi Dans ce cas il sagit ainsi de deacuteterminer le nombre L de chemins qui offre le rapport deacutesireacute entre la qualiteacute de protection et la charge de calcul Lutilisation de ces meacutethodes neacutecessite (impeacuterativement) une capaciteacute de deacutetection derreurs suffisante pour accomplir correctement lopeacuteration didentification [Kuumlhn97] Par rapport au cas pratique du service de parole AMR-NB agrave 122 kbps les nombreuses simulations ont deacutemontreacute la faisabiliteacute et lefficaciteacute de ces meacutethodes iteacuteratives dans le contexte de codage UMTS

69 Conclusions

Ce chapitre a traiteacute le sujet de limplantation software de meacutethodes de deacutecodage de donneacutees proteacutegeacutees par les codes convolutifs du standard UMTS [Ts25212] Lanalyse de la structure de codage de lUMTS a deacutemontreacute encore une fois limportance du codage convolutif dans les standards de communication numeacuterique mobile Les reacutecents standards exploitent massivement ce codage individuellement concateacuteneacute en seacuterie et en parallegravele Cette eacutetude sest concentreacutee sur la seconde configuration Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute actuel de la communication mobile lalgorithme de Viterbi est la meacutethode qui eacuteteacute tout dabord implanteacutee Limportante charge de calcul qui en deacutecoule (Table 6-17) ainsi que limportante variabiliteacute du deacutebit de transmission ont pousseacute leacutetude vers lexploration des potentialiteacutes dexeacutecution offertes par la structure de protection du standard UMTS En jugeant les meacutethodes en termes de rapport entre la qualiteacute de protection et la complexiteacute de calcul deux meacutethodes ont ainsi eacuteteacute proposeacutees le List Viterbi Algorithm (nouvelle reacutealisation) et le List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Ces meacutethodes iteacuteratives se basent sur une exploitation plus exhaustive des informations suppleacutementaires provenant du codage CRC La premiegravere meacutethode preacutesenteacutee a eacuteteacute la meacutethode List Viterbi Algorithm Cette meacutethode offre une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Table 6-17) Une nouvelle implantation de cette meacutethode conforme aux critegraveres dune exeacutecution en temps reacuteel a confirmeacute non seulement la faisabiliteacute de la meacutethode iteacuterative dans le contexte de codage UMTS mais aussi les bons rapports entre qualiteacute de protection et complexiteacute de calcul

150

Service de parole AMR-NB agrave 122kbps (class A)

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Qualiteacute gain de codage agrave FER=10-3

Exeacutecution exhaustive (imposeacute)

Sans erreurs de transmission

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=513 dB)

100 (710k opeacuterations)

L=2 + 05 dB 104 103 L=8 + 10 dB 105 103 L=32 + 15 dB 113 104

LVA

L=128 + 17 dB 148 112 L=32 - 04 dB 027 021 L=64 00 dB 049 039

List Decoding avec CRC

L=128 + 04 dB 094 073

Table 6-17 reacutesumeacute des reacutesultats obtenus par les simulations du service de parole AMR-NB agrave 122kbps (class A) [TrR104] service proposeacute dans le cadre du standard UMTS Pour les deacutetails voir les tables Table 6-8 Table 6-10 Table 6-11 Table 6-13 et Table 6-15

Une ameacutelioration du rapport qualiteacutecomplexiteacute a eacuteteacute ensuite poursuivie en envisageant une reacuteduction de la complexiteacute de calcul de la meacutethode de deacutecodage La nouvelle meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute ainsi deacuteveloppeacutee et proposeacutee Sa strateacutegie est la liaison iteacuterative dune meacutethode de deacutecodage efficace dans lanalyse partielle de lespace de deacutecodage (la meacutethode List Decoding) avec la validation du message CRC Cette nouvelle meacutethode iteacuterative a eacuteteacute possible gracircce agrave une nouvelle reacutealisation de lalgorithme List Decoding qui a permis une reacuteduction importante de sa charge de calcul Cette reacutealisation revalorise lalgorithme List Decoding aussi dans le contexte dun codage convolutif direct du message Les simulations utilisant le codage du service de parole AMR-NB agrave 122kbps (classe B) confirment la bonne combinaison entre lanalyse partielle de lespace de codage et la charge de calcul (Table 6-18) Cette eacutetude a deacutemontreacute la possibiliteacute pratique dexploiter de maniegravere iteacuterative les informations suppleacutementaires provenant de lenchaicircnement avec un code en bloc afin dameacuteliorer le rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage (Table 6-17) Les simulations exploitant le contexte de codage

151

du service de parole AMR-NB agrave 122kbps (classe A) ont confirmeacute la faisabiliteacute des deux meacutethodes iteacuteratives Elles ont donneacute en plus des indications numeacuteriques sur les ameacuteliorations envisageables (Table 6-17) Par exemple la meacutethode List Viterbi Algorithm (LVA) avec L=8 offre un gain de codage de 10 dB en chargeant le DSP dun nombre dopeacuterations supeacuterieur de 5 par rapport agrave lalgorithme de Viterbi Le reacuteseau UMTS peut reacuteduire la puissance deacutemission des signaux (de EbN0=51 agrave EbN0=41) en garantissant la mecircme qualiteacute de protection des donneacutees (FER=10-3) Dans ce mecircme contexte le remplacement de lalgorithme de Viterbi par la meacutethode List Decoding inteacutegrant la validation CRC permet de reacuteduire la charge de calcul de lopeacuteration de deacutecodage en gardant inchangeacutee la qualiteacute de la protection Lutilisation de L=64 messages offre une protection similaire agrave celle de lalgorithme de Viterbi mais en reacuteduisant de moitieacute le nombre dopeacuterations neacutecessaires au deacutecodage

Service de parole AMR-NB agrave 122kbps (classe B) Qualiteacute gain

de codage agrave BER=10-3

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=41 dB)

100 (788k opeacuterations)

128 chemins - 02 dB 073 64 chemins - 05 dB 039

List Decoding

32 chemins - 10 dB 021

Table 6-18 reacutesumeacute des reacutesultats obtenus par simulations du service de parole AMR-NB agrave 122kbps (class B) [TrR104]

Enfin lun des plus importants reacutesultats de cette eacutetude est la prise de connaissance de la varieacuteteacute des meacutethodes efficaces de deacutecodage Ces meacutethodes offrent une vaste gamme de qualiteacutes Gracircce agrave la souplesse et de la rapiditeacute de deacuteveloppement des implantations software il est ainsi envisageable de creacuteer une librairie de meacutethodes de deacutecodage afin de mieux sadapter aux diffeacuterents contextes de codage

Reacutefeacuterences

[Ande89] J B Anderson Limited Search Trellis Decoding of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 5 septembre 1989 pp 944-955

152

[BDTi5] Berkeley Design Technology Inc (BDTi) Separating Reality from Hype in Processors DSP Performance preacutesentation preacutesenteacutee agrave Embedded Systems Conference (ESC) mars 2002 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[Cede89] M Cedervall R Johannesson Fast Algorithm for Computing Distance Spectrum of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 6 novembre 1989 pp 1146-1159

[ETSI726] ETSI Enhanced Full Rate (EFR) Speech Transcoding document ETSI ETS 300 726 GSM 0660 version 520

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[ITU729] ITU basic_oph C-code du standard G729a wwwituint [Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional

Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[Nill95] C Nill C-E W Sundberg List and Soft Symbol Output Viterbi Algorithms Extensions and Comparisons IEEE Transactions on Communications vol 43 No 234 feacutevriermarsavril 1995 pp 277-287

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

153

[Sesh94] N Seshadri C-W Sundberg List Viterbi Decoding Algorithms with Applications IEEE Transactions on Communications Vol 42 No 234 feacutevriermarsavril 1994 pp 313-323

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

[Ts22101] 3GPP Service principles document 3GPP TS 22101 version 540

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

154

155

7 Architectures hardware baseacutees sur circuits ASIC

La plupart des architectures utiliseacutees dans le cadre de la communication mobile tirent profit aussi bien du support dun DSP que de lutilisation des circuits ASIC Le sujet de ce chapitre est lanalyse des difficulteacutes pratiques et leacutevaluation des potentialiteacutes offertes par une implantation ASIC dune meacutethode de deacutecodage de codes convolutifs

Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base est ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants Les paramegravetres la conception les variantes possibles et la reacutealisation mateacuterielle de chaque eacuteleacutement sont traiteacutes Parmi les variantes on eacutetudie une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision37 du bit dinformation le plus vieux pas encore livreacute Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie

37 Opeacuteration de reconstruction iteacuterative des eacutetats de meacutemoire du codeur convolutif lors du

codage opeacuteration qui permet de deacuteterminer la valeur des symboles (bits) formant le message Cette opeacuteration sera aussi nommeacutee simplement deacutecodage

156

UMC25-025microm) Le chapitre se termine avec un reacutesumeacute des informations de synthegravese sur la vitesse dexeacutecution et la surface de silicium de chaque eacuteleacutement ainsi que sur les taux dactiviteacute38 des signaux liant les eacuteleacutements constituant le systegraveme de deacutecodage

71 Introduction

La situation des technologies de la troisiegraveme geacuteneacuteration (3G) est actuellement caracteacuteriseacutee par la phase de deacuteveloppement des reacuteseaux et des premiers eacutequipements Les degreacutes dimplantation de ces technologies 3G dans les divers pays europeacuteens ameacutericains et asiatiques sont variable et deacutependent des strateacutegies nationales ainsi que des eacuteconomies locales Aujourdhui le choix dune architecture optimale pour lexploitation de ces nouvelles technologies ne peut beacuteneacuteficier ni dune expeacuterience acquise ni de la maturiteacute des standards 3G Par conseacutequent ce choix ne peut se baser que sur des eacutevaluations et des suppositions que seule la maturation de ces technologies 3G pourra successivement soit valider soit reacutefuter

711 Marcheacute actuel des technologies 3G

Quoi que les reacutecentes anneacutees aient montreacute laugmentation du nombre de tacircches assigneacutees au DSP avec le perfectionnement des standards 2G les autres approches ne doivent pas ecirctre exclues du spectre des solutions possibles dans le domaine de la 3G On ne dispose pas actuellement dune approche globale et optimale pour le traitement numeacuterique du signal dans la bande de base Le marcheacute et les premiers deacutebats pour le choix dune architecture optimale montrent une revalorisation de la contribution de circuits ASIC au fonctionnement des eacutequipements 3G Les informations disponibles sur le deacuteveloppement des premiers reacuteseaux et eacutequipements confirment quun nombre eacuteleveacute de fonctionnaliteacutes de la 3G exploite des circuits speacutecifiques ASIC39 38 Par taux dactiviteacute on entend la freacutequence des changements deacutetat logique dun signal

binaire 39 laquolors du passage de la 2G agrave la 3G le pourcentage de lexeacutecution des tacircches relatives au

Physical Layer par le DSP passe de 100 pour le cas du GSM agrave 10 dans le cas du WCDMAraquo (traduction) [Gath00]

157

Par rapport au cas du deacutecodage de codes convolutifs le marcheacute actuel de la communication mobile propose des solutions sappuyant sur les deux approches software et hardware Dun cocircteacute on perccediloit un effort des principaux fabricants de DSP pour lameacutelioration des performances de leurs reacutecentes familles de processeurs en tenant compte des caracteacuteristiques algorithmiques de la meacutethode de Viterbi (Figure 7-1 et Table 7-1) Lexeacutecution de cet algorithme peut ecirctre faciliteacutee soit par la modification de larchitecture du DSP soit par laddition de nouveaux blocs fonctionnels Un exemple est la famille de DSP C55x de Texas Instruments qui propose une uniteacute speacuteciale Compare Select and Store [Spru312] [Spru393]

0 2 4 6 8 10 12

Texas Instruments C54xx 160 MHz

Texas Instruments C55xx 160 MHz

MotorolaLucent Technologies SC140 300MHz

MotorolaLucent Technologies SC110 300MHz

Infineon Carmel 250 MHz

Motorola DSP5685x 120 MHz

Texas Instruments C64xx 600 MHz

Texas Instruments C64xx-C 600 MHz

vitesse relative selon [BDTi6]

Figure 7-1 exemple deacutevaluation de performances des DSP (disponibiliteacute 2001) par rapport agrave limplantation de lalgorithme de Viterbi Cette eacutevaluation met en eacutevidence la particulariteacute de cet algorithme qui sadapte difficilement au caracteacuteristiques classiques des DSP Evaluation effectueacutee par la socieacuteteacute Berkeley Design Technology [BDTi3] Les deacutetails de la meacutethode deacutevaluation utiliseacutes sont disponible dans larticle [BDTi6]

De lautre coteacute le marcheacute offre aussi bien des ASIC speacutecialiseacutes que des DSP agrave haute performance posseacutedant un coprocesseur voueacute agrave lexeacutecution de lalgorithme de Viterbi A titre dexemple on peut nommer larchitecture parameacutetrable et syntheacutetisable du CorePool FHG_VITERBI de Fraunhofer Institut [FhG01] et le DSP TMS320C6416 de Texas Instruments [Spra750] [Spru533] Cette offre du marcheacute deacutenote laugmentation geacuteneacuteraliseacutee de la charge de calcul demandeacutee par les technologies 3G ainsi que par les particulariteacutes algorithmiques de la meacutethode de Viterbi (Figure 7-1 et la Table 7-1)

158

Fonction Description Exemples dapplications Real Block FIR Filtre agrave reacuteponse impulsionnelle

finie traitant des blocs de donneacutees

Traitement de signaux de parole

Single-Sample FIR

Filtre agrave reacuteponse impulsionnelle finie traitant un eacutechantillon agrave la fois

Traitement de signaux de parole filtrage en geacuteneacuteral

Complex Block FIR

Filtre agrave reacuteponse impulsionnelle finie traitant des blocs de donneacutees complexes

Egalisation dun canal Modem

LMS Adaptive FIR

Filtre adaptatif Least-mean-square traitant un eacutechantillon

Egalisation de canal codage preacutedictif lineacuteaire

Two-Biquad IIR Filtre agrave reacuteponse impulsionnelle infinie traitant un eacutechantillon

Traitement de signaux audio filtrage en geacuteneacuteral

Vector Dot Product

Produit scalaire Convolution correacutelation multiplication matricielle

Vector Add Addition de deux vecteurs Graphique combinaison de signaux

Vector maximation

Recherche de la valeur et de la position de leacuteleacutement le plus grand du vecteur

Protection de donneacutees

Viterbi Decoder Deacutecodage dun signal encodeacute par un code convolutif

Dans le domaine de la communication

Control Seacuterie dopeacuterations (artificielles) concernant le controcircle et la manipulation des bits

Toutes les applications DSP impliquent ces types dopeacuteration

256-Point FFT Transformation de Fourier (Fast Fourier Transformation)

Radar sonar compression audio de type MPEG analyse spectrale

Bit Unpack Extraction de mots (de tailles diffeacuterentes) agrave partir dune seacutequence continue de donneacutees

Deacutecompression de signaux audio et de parole

Table 7-1 ensemble de fonctions utiliseacutees pour leacutevaluation des performances de DSP utiliseacute par la socieacuteteacute Berkeley Design Technology (BDTI) [BDTi1]

712 Exigences des technologies UMTS

Les standards de communication mobile 3G sont le reacutesultat de leffort dun grand nombre de socieacuteteacutes mondiales effort qui a commenceacute au milieu des anneacutees 90 [Gath02] Selon la strateacutegie adopteacutee lors de leur deacuteveloppement les systegravemes appartenant agrave cette technologie 3G sont preacutevus pour supporter une large varieacuteteacute de services en offrant un deacutebit de transmission (Data Rate) fortement

159

variable Ce deacutebit peut atteindre 144 kbps consideacuterant le contexte dune utilisation dans des veacutehicules (Vehicular Outdoor Environment) 384 kbps pour une utilisation peacutedestre (Pedestrian Outdoor Environment) et jusquagrave 2 Mbps agrave linteacuterieur des bacirctiments (Indoor Environment) Comme introduit dans la Section 31 linterface radio a eacuteteacute preacutevue selon un protocole agrave trois couches

bull Le Physical Layer (ou Layer 1) Il est responsable de la transmission sans fil des donneacutees

bull Le Data link layer (ou Layer 2) Sa tacircche est la deacutetermination des caracteacuteristiques des donneacutees en transmission la gestion du flux de ces donneacutees et la qualiteacute du service Le passage dinformations entre ce niveau et le premier est geacutereacute par le Medium Access Layer (MAC)

bull Le Network layer (ou Layer 3) Cette derniegravere couche gegravere les eacutechanges entre leacutequipement portable et le reacuteseau UTRAN (UMTS Terrestrial Radio Access Network) Le Radio Ressource Controller (RRC) est leacuteleacutement de contact avec la premiegravere couche du protocole

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-2 vue densemble des composants de la couche physique (Physical Layer) reacutealisant le traitement digital du signal dans la bande de base [Gath02]

La couche qui nous inteacuteresse est la premiegravere En ne consideacuterant que cette couche la Figure 7-2 donne la vue densemble de ses composants qui accomplissent le traitement numeacuterique du signal dans la bande de base Du point de vue de la complexiteacute de calcul cette premiegravere couche est la plus exigeante en termes de ressources hardware et software Parmi ses

160

composants les plus exigeants on trouve [Gath02] le traitement des donneacutees appartenant aux diffeacuterents canaux de transport (CCTrCH Processing) le deacutecodage de canal la proceacutedure de recherche de la cellule lopeacuteration de Despreading le Maximal Ratio Combination (MRC)40 et le Multipath Search (ou Delay Profile Estimation DPE)41 (Figure 7-3)

4000

2000

3000

1000500

Sceacutenario A Sceacutenario B Sceacutenario C

Millions dopeacuterationspar seconde

Multipath Search

Despreading

MRC

Deacutecodage de canal

Figure 7-3 estimation des ressources de calcul demandeacutees par les tacircches les plus exigeantes selon trois sceacutenarios repreacutesentatifs [Gath02] Sceacutenario A service de parole agrave 8 kbps Sceacutenario B service de parole agrave 122 kbps et service videacuteo agrave 384 kbps Sceacutenario C service geacuteneacuterique agrave 2 Mbps

Lexemple de la Figure 7-3 montre que la puissance de calcul neacutecessaire agrave lexeacutecution de certaines tacircches peut changer de maniegravere importante non seulement en fonction du deacutebit de transmission mais aussi selon le nombre de services offerts les caracteacuteristiques de la transmission sans fil ou encore le nombre de cellules dans le voisinage [Gath02] Parmi ces tacircches on trouve le deacutecodage de canal

40 Proceacutedure de combinaison de signaux reccedilus de maniegravere agrave augmenter la protection contre

les distorsions de type fading 41 La recherche du signal qui sapproche le plus du signal le plus fort afin dexeacutecuter le

maximal ratio combination

161

Reacutepartition des modules des terminaux 3G entre implantation software et reacutealisation hardware Le deacuteveloppement des terminaux mobiles 3G est actuellement caracteacuteriseacute par un besoin eacutevident de souplesse par une augmentation importante de la puissance de calcul demandeacutee et par la varieacuteteacute des services envisageacutes par la 3G

FPGA

Hardware

Flex Heterogeneous Multiprocessing

DSP

Processeurs embarqueacutes

Flexibiliteacute algorithmique agrave dispositionde lapplication

MO

PS

mW

Figure 7-4 compromis entre la consommation deacutenergie et la flexibiliteacute de la reacutealisation [BDTi4]

En raison de la forte demande en puissance de calcul une reacutepartition des modules des terminaux entre implantations software et reacutealisations mateacuterielles est geacuteneacuteralement neacutecessaire En geacuteneacuteral le choix de lapproche suit les regravegles suivantes (Figure 7-4)

bull Si le module exige un nombre dopeacuterations tregraves eacuteleveacute ou si les caracteacuteristiques du traitement sadaptent difficilement aux ressources mises agrave disposition par le DSP une approche hardware est en geacuteneacuteral une solution optimale

bull Si la neacutecessiteacute de souplesse est preacutedominante la meilleure approche est limplantation software

bull Dans certain cas le choix du type dapproche est deacutetermineacute par des critegraveres de basse consommation deacutenergie etou par la particulariteacute du service concerneacute [Gath02]

La Figure 7-5 montre une reacutepartition possible des divers modules du Physical Layer [Gath02] en suivant les critegraveres ci-dessus

162

Par rapport au deacutecodage de codes convolutifs cette opeacuteration demande une charge importante de calcul par bit dinformation limplantation parameacutetrable de lalgorithme de Viterbi preacutesente une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation (Chapitre 6)42 Cette charge doit ecirctre ensuite pondeacutereacutee par le deacutebit de transmission de lapplication concerneacutee deacutebit qui peut varier de quelques dizaines jusquagrave plusieurs milliers de kbps Limportante variabiliteacute en termes de puissance de calcul qui en deacutecoule ne permet pas deacutetablir agrave priori une strateacutegie geacuteneacuterale et optimale dans ce contexte UMTS (Figure 7-3) Par conseacutequent le spectre des solutions possibles doit consideacuterer les deux approches software et hardware

Software Hardware Software Hardware

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-5 reacutepartition possible des composants de la couche physique pour le traitement digital du signal dans la bande de base [Gath02]

72 Consideacuterations sur limplantation mateacuterielle

721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille

La configuration de base reste identique agrave celle consideacutereacutee lors de limplantation software de meacutethodes de deacutecodage Les symboles reccedilus sont soumis agrave une deacutecision ferme et leacutetude considegravere la simple livraison du

42 La perte defficaciteacute due agrave cette description souple et parameacutetrable sera ensuite traiteacutee

dans le Chapitre 8

163

message sans informations suppleacutementaires (Bit True) Cette configuration envisage un systegraveme de deacutecodage le plus geacuteneacuteral possible en facilitant la reproduction et la comparaison des reacutesultats Ainsi en contradiction partielle avec le contexte de codage eacutetabli dans le standard UMTS [Ts25212] ce chapitre abordera la situation suivante

bull le deacutecodage de seacutequences infinies de symboles et bull labsence de proceacutedures dadaptation du deacutebit de transmission (par

reacutepeacutetitions et poinccedilonnages de symboles) Ladaptation de ce systegraveme aux standards de teacuteleacutecommunications UMTS sera discuteacutee dans lAnnexe C (Section C1)

722 Description HDL du deacutecodeur

La contrainte principale de la description HDL (Hardware Description Language) est une description compreacutehensible et facile agrave modifier afin de permettre une adaptation rapide aux divers standards de communications La conception de cette proceacutedure est reacutealiseacute selon les notions de modulariteacute et de parameacutetrage permettant ainsi une rapide modification et substitution de tous les blocs de traitement Par rapport au type darchitecture on envisage la conception dun systegraveme autonome de base tout en permettant la conversion rapide dans une solution coprocesseur (Annexe C Section C2) Par conseacutequent la conception de ce systegraveme de base soriente vers une architecture distribueacutee (Distributed Architectures [Gath02]) Cette architecture preacutevoit une autonomie et une indeacutependance de chaque module en diminuant les ressources partageacutees Du point de vue de la consommation deacutenergie cette strateacutegie permet une gestion optimale du mode deacuteconomie deacutenergie et une freacutequence dhorloge adapteacutee agrave chaque module La description du systegraveme de base est valideacutee au moyen de quatre codes convolutifs et par limplantation du code sur FPGA (Field Programmable Gate Array [Gras01]) Les caracteacuteristiques de ces codes convolutifs sont illustreacutees dans la Table 7-2

164

Polynocircmes geacuteneacuterateurs [octal]

Codeur Longueur de contrainte

Nombre deacutetats diffeacuterents

G0 G1 G2

Distance libre dfree

Exemple dutilisation dans le contexte des teacuteleacutecommunications

Codeur4eacutetats 3 4 5 7 7 8 -

Codeur16eacutetats 5 16 25 33 37 12 GSM 60 kbps Data TC [Etsi909]

Codeur64eacutetats 7 64 133 145 175 15 GSM Half Rate Speech TC [Etsi909]

Codeur256eacutetats 9 256 557 663 711 18 UMTS Channel Coding [Ts25212]

Table 7-2 caracteacuteristiques des codes convolutifs avec rendement Rc=13 utiliseacutes pour leacutevaluation et la validation de la conception du deacutecodeur Les acronymes indiqueacutes dans la premiegravere colonne du tableau seront utiliseacutes dans la suite de ce document pour identifier le codeur convolutif utiliseacute

723 Meacutethode de deacutecodage lalgorithme de Viterbi

Contrairement au cas preacuteceacutedent dune implantation software une seule meacutethode de deacutecodage est consideacutereacutee pour leacutevaluation des potentialiteacutes de lapproche hardware lalgorithme de Viterbi Les raisons de ce choix sont lieacutees aux caracteacuteristiques de cette meacutethode de deacutecodage qui facilitent lapproche hardware notamment par sa structure algorithmique parallegravele et tregraves reacuteguliegravere ainsi que par son indeacutependance algorithmique du flux des donneacutees Ce dernier aspect est important afin de reacuteduire les risques de modifications dues agrave la maturation des standards et agrave lexpeacuterience acquise avec les technologies 3G Afin de permettre le deacutecodage dune seacutequence continue de symboles lalgorithme de Viterbi doit sappuyer sur une proceacutedure de troncation de la meacutemoire Bien que cette proceacutedure emploie un paramegravetre reacuteglant le fonctionnement de la meacutethode (la distance δ) la longue expeacuterience acquise permet de reacuteduire au minimum les coucircts de reacuteglage de ce paramegravetre Enfin sur le plan de qualiteacute de protection cet algorithme est retenu communeacutement comme la meacutethode de reacutefeacuterence en raison de sa bonne protection contre les erreurs

165

73 Systegraveme de base

731 Vue densemble

Conformeacutement aux directives dune deacutecomposition de lalgorithme de Viterbi en ses eacuteleacutements constituants le systegraveme est tout dabord partageacute en deux grandes uniteacutes fonctionnelles (Figure 7-6) La premiegravere uniteacute est responsable de la seacutelection des chemins par mise agrave jour des valeurs des meacutetriques cumuleacutees Cette uniteacute est diviseacutee en deux modules Le premier module (indiqueacute par lacronyme BMu) est chargeacute du calcul des meacutetriques de branches en consideacuterant les symboles reccedilus rnp Ces meacutetriques sont utiliseacutees par le second module (ACSu) qui effectue la mise agrave jour des valeurs des meacutetriques cumuleacutees Par comparaison de ces valeurs les chemins survivants sont ensuite seacutelectionneacutes Les informations sur les chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des autres modules

calcul des meacutetriquesde branches

(Branch Metric unitBMu)

mise agrave jour des meacutetriques cumuleacuteeset seacutelection des survivants

(Add-Compare-Select unit ACSu)

deacutecodage du chemin choisi(Trace Back unit TBu)

seacutelection du chemin(Best Path Search

BPS)

np-egraveme blocde symbolesrecus rnp

deacutecision surle bit np-δ

meacutetriquescumuleacuteessurvivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

Figure 7-6 architecture du systegraveme de base deacutecrit en HDL La tacircche de la seconde uniteacute est la prise de deacutecision du plus vieux bit qui na pas encore eacuteteacute deacutelivreacute Cette proceacutedure implique le choix dun chemin dont le deacutecodage permet une prise de deacutecision correcte Le module nommeacute BPS soccupe du choix du chemin alors que la prise de deacutecision par deacutecodage du chemin est exeacutecuteacutee par le module TBu Les paramegravetres utiliseacutes dans la description HDL du systegraveme de base peuvent ecirctre reacutepartis en deux classes ceux qui deacutecrivent les caracteacuteristiques du codeur

166

convolutif et ceux qui regraveglent la conception du systegraveme Dans la premiegravere classe on trouve les paramegravetres deacutecrivant les fonctions geacuteneacuteratrices Gi la longueur de contrainte du code K et le nombre deacutetats diffeacuterents que la meacutemoire du codeur peut atteindre La distance δ de troncation de la meacutemoire le nombre de bits utiliseacutes pour les repreacutesentations des meacutetriques sont les paramegravetres de la seconde classe

732 Synchronisation et reacutepartition entre blocs combinatoires et non-combinatoires

Apregraves la preacutesentation de larchitecture du systegraveme de base cette section traite les aspects de synchronisation et de reacutepartition entre blocs combinatoires et non-combinatoires (Figure 7-7) Selon le flux des donneacutees le module BMu est abordeacute en premier Ce module qui est responsable du calcul des meacutetriques de branches nest implanteacute que par de la logique purement combinatoire sans lutilisation daucune meacutemoire tampon (Buffer) agrave lentreacutee

BMuseacutelection

dessurvivants

ACSu

BPS

Gestion du TB

TBureacuteconstructiondes eacutetats (TB)

horloge

horloge

decisionsymbolesreccedilus

survivants

meacutetriqueseacutetat dedeacutepart

sauvergarde desvaleurs des

meacutetriques cumuleacutees

signal indiquant lepoint de deacutepartarriveacutee

de la proceacutedure dedeacutecodage

signaux indiquantla mise agrave jour desinformationssauvergardeacutees

Figure 7-7 gestion de la synchronisation relative agrave la reacutealisation physique du systegraveme

La reacutealisation physique du module suivant (le ACSu) est caracteacuteriseacutee par deux parties fonctionnelles lune est responsable de la sauvegarde des derniegraveres valeurs des meacutetriques cumuleacutees et lautre de la seacutelection des chemins survivants par la mise agrave jour de leurs meacutetriques cumuleacutees Lopeacuteration de seacutelection utilise les valeurs de meacutetriques fournies par le module preacuteceacutedent et celles sauvegardeacutees dans le module mecircme A partir de ces valeurs les chemins survivants sont seacutelectionneacutes par de la logique combinatoire En raison du stockage des valeurs de meacutetrique cette opeacuteration de seacutelection est synchroniseacutee par le signal dhorloge du systegraveme

167

Parallegravelement les informations des chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des modules BPS et TBu En suivant le flux principal de donneacutees le prochain module est le BPS Sa tacircche est la deacutetermination du chemin le plus conforme agrave une prise de deacutecision correcte cette opeacuteration implique uniquement de la logique combinatoire Le dernier module est le module TBu qui est chargeacute de lopeacuteration de prise de deacutecision du bit dinformation Cette opeacuteration implique tout dabord le stockage et la gestion des informations permettant la reconstruction des chemins survivants Ce module reccediloit reacuteguliegraverement les nouvelles informations au sujet des chemins survivants qui selon une strateacutegie de meacutemoire circulaire remplacent les anciennes informations devenues deacutesormais inutiles A partir du chemin indiqueacute par le module BPS ces informations sont ensuite utiliseacutees pour reconstruire de maniegravere iteacuterative les eacutetats anteacuteceacutedents de meacutemoire du codeur jusquagrave extraire la valeur du (np-δ)-egraveme bit dinformation Les interfeacuterences entre les deux tacircches du module sont eacuteviteacutees en synchronisant lopeacuteration de sauvegarde des informations et le deacutebut de la proceacutedure de reconstruction du chemin La reacutealisation physique de ce module TBu utilise aussi bien des blocs combinatoires que non-combinatoires Ces derniers sont utiliseacutes pour la sauvegarde des informations et pour la gestion des signaux qui indiquent le point de deacutepart det arriveacutee de la proceacutedure de reconstruction des chemins Par rapport aux contraintes sur le signal dentreacutee (Figure 7-7) le signal des symboles reccedilus doit rester stable durant une peacuteriode suffisante pour assurer

bull le stockage correct des nouvelles meacutetriques cumuleacutees dans le module ACSu

bull la seacutelection du chemin le plus favorable pour la prise de deacutecision chemin qui est meacutemoriseacute dans le module TBu

733 Calcul des meacutetriques des branches

La tacircche de ce module est le calcul de toutes les meacutetriques de branches qui seront ensuite utiliseacutees pour la mise agrave jour des meacutetriques cumuleacutees lors de la proceacutedure de seacutelection des chemins survivants (Figure 7-8) Selon le contexte de codage binaire (b=1) la proceacutedure de seacutelection de lalgorithme de Viterbi neacutecessite les valeurs de meacutetriques de branches des

168

couples de chemins convergeant en chaque eacutetat du treillis (Figure 7-9) ce module est chargeacute de la livraison de ces couples de meacutetriques

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

symbolesreccedilus

en rapport agrave la fonctiongeacuteneacuteratrice G0

geacuteneacuteratrice G1geacuteneacuteratrice G2

Figure 7-8 calcul des meacutetriques de branches

Les valeurs des meacutetriques de branches coiumlncident avec la distance de Hamming existant entre les symboles reccedilus et ceux geacuteneacutereacutees par les transitions deacutetats En preacutesence de codeurs convolutifs avec rendement Rc=13 la repreacutesentation numeacuterique de ces meacutetriques demande 2 bits

nouveau bit agravelentreacutee du codeur

valeur de leacutetatnp

meacutemoire du codeurK-1 bits0

1valeur de leacutetatnp

valeur de leacutetatnp

niveau deprofondeur np

meacutemoire du codeur

Figure 7-9 repreacutesentation graphique des deux transitions qui megravenent au mecircme eacutetat de meacutemoire du codeur convolutif

En raison dune approche parameacutetrable les 2M=22K-1 meacutetriques de branches sont deacutecrites agrave laide des 3 fonctions geacuteneacuteratrices Gi et de leacutetat de meacutemoire du codeur Lopeacuteration doptimisation des calculs est deacuteleacutegueacutee aux compilateurs de synthegravese La conception de ce module deacutepend des paramegravetres deacutecrivant le codeur convolutif notamment le rendement Rc et les matrices geacuteneacuteratrices Gi En raison de cette forte deacutependance aux changements de contexte de codage les approches coprocesseurs (Annexe C Section C2) deacutelegraveguent la tacircche de ce module aux processeurs

169

734 Seacutelection des chemins survivants

Le module ACSu est chargeacute de la seacutelection des nouveaux chemins survivants agrave laide des reacutecentes valeurs de meacutetriques cumuleacutees (Figure 7-10) Les informations de parcours des chemins survivants et les valeurs de leurs meacutetriques cumuleacutees doivent ecirctre ensuite mises agrave disposition des autres modules de maniegravere agrave permettre la reconstruction des chemins les plus inteacuteressants Reacutepartition du module en deux parties En raison de sa tacircche ce module est composeacute de deux parties fonctionnelles la premiegravere responsable du stockage des meacutetriques cumuleacutees et la seconde de la seacutelection des 2K-1 chemins survivants (Figure 7-11)

ACSu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

information sur leschemins survivants

meacutetriques cumuleacutees

horloge Figure 7-10 seacutelection des chemins survivants

Les deux paramegravetres qui agissent sur ce module sont

bull Le nombre de bits utiliseacute pour la repreacutesentation des valeurs des meacutetriques de branches Ce paramegravetre influence la repreacutesentation numeacuterique des meacutetriques cumuleacutees

bull Le nombre deacutetats diffeacuterents M que la meacutemoire du codeur peut montrer Ce paramegravetre concerne la description du codeur convolutif et sa valeur deacutepend de la longueur de contrainte du code (M= 2K-1)

La conception du module est ainsi moins sensible aux modifications du contexte de codage Par exemple en consideacuterant la structure de codage de lUMTS [Ts25212] la conception reste inchangeacute indeacutependamment de lutilisation dun des deux codes convolutifs agrave disposition

170

Repreacutesentation numeacuterique des meacutetriques cumuleacutees La strateacutegie du traitement des meacutetriques cumuleacutees doit consideacuterer les aspects suivants

bull Lopeacuteration de seacutelection des chemins survivants neacutecessite la repreacutesentation correcte des diffeacuterences entre les valeurs des meacutetriques cumuleacutees

bull La seacutelection du chemin le plus prometteur (pour la prise de deacutecision) est communeacutement baseacutee sur lidentification de la meacutetrique cumuleacutee la plus favorable

bull En raison dune meacutetrique accumulant le nombre derreurs rencontreacutees par les chemins la transmission erroneacutee des donneacutees implique la croissance des valeurs des meacutetriques cumuleacutees

bull Le deacutecodage de seacutequences infinies de symboles ne permet pas de fixer une valeur limite aux meacutetriques cumuleacutees

bull La repreacutesentation numeacuterique des meacutetriques cumuleacutees influence la conception les performances et les caracteacuteristiques de tous les blocs qui sont responsables des opeacuterations de mise agrave jour de comparaison et de stockage des meacutetriques cumuleacutees

En consideacuterant ces aspects la strateacutegie choisie envisage une repreacutesentation minimaliste des meacutetriques cumuleacutees avec la contribution dune fonction de normalisation des valeurs de meacutetriques Lobjectif est de garantir la relation correcte entre les valeurs des meacutetriques cumuleacutees tout en minimisant les ressources neacutecessaires aux opeacuterations daddition de comparaison et de stockage de ces meacutetriques Premiegravere eacutetape la deacutetermination du nombre minimal de bits Leacutetablissement de la repreacutesentation numeacuterique des meacutetriques cumuleacutees doit tout dabord prendre en consideacuteration le nombre minimal de bits neacutecessaires agrave la description correcte des eacutecarts entre les meacutetriques Comme deacutejagrave montreacute dans le chapitre preacuteceacutedent la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (au mecircme niveau de profondeur) est ( )max -1diffeacuterence MaxContribBranche K= sdot (71) En consideacuterant que lopeacuteration de normalisation suit les opeacuterations de mise agrave jour des meacutetriques cumuleacutees et de seacutelection du chemin survivant (Figure 7-11) leacutecart (71) est ainsi eacutelargi

171

max max +

= dyn diffeacuterence MaxContribBranche

MaxContribBranche K=

sdot (72)

afin dassurer lexeacutecution correcte des opeacuterations de seacutelection Par conseacutequent le nombre minimal de bits neacutecessaire agrave la repreacutesentation correcte de leacutecart est ( )min 2 maxlog 1bitsDynamique dyn = + (73) Seconde eacutetape la proceacutedure de normalisation La strateacutegie adopteacutee vise agrave garantir une repreacutesentation correcte des diffeacuterences entre les meacutetriques agrave laide dune fonction de normalisation (Figure 7-11)

stockage desmeacutetriques cumuleacutees

ACS

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations sur leschemins survivants

horloge

Normalisation

initialisation Figure 7-11 structure du module ACSu montrant la strateacutegie choisie pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Le principe classique de normalisation preacutevoit la soustraction dune valeur deacutetermineacutee agrave priori lorsque toutes les meacutetriques cumuleacutees atteignent ou deacutepassent un seuil fixeacute [Min91] La valeur soustraite peut ecirctre soit eacutegale (cas ideacuteal) soit infeacuterieure agrave la meacutetrique cumuleacutee la plus basse afin deacuteviter le deacutepassement de la valeur minimale repreacutesentable (Underflow)

172

Bien que la deacutetermination du seuil de normalisation ne soit soumise agrave aucune contrainte elle influence ineacutevitablement le nombre de bits neacutecessaires agrave la repreacutesentation des meacutetriques cumuleacutees ainsi que la conception de lopeacuteration de normalisation Eacutevidemment la repreacutesentation des variables doit permettre le deacutepassement correct du seuil par toutes les meacutetriques cumuleacutees sans geacuteneacuterer de situations de deacutepassement de la valeur maximale repreacutesentable (Overflow) la reacutepreacutesentation numeacuterique doit ainsi couvrir lespace

max0 seuil -1 dyn

+ (74) La valeur du seuil influence aussi la reacutealisation physique de la tacircche de surveillance de son deacutepassement La solution ideacuteale est lutilisation dun seuil de meacutetrique dont la repreacutesentation numeacuterique coiumlncide avec une puissance de 2 Dans ce cas le controcircle de leacutegalisationdeacutepassement du seuil se concentre sur un seul bit de la repreacutesentation numeacuterique des meacutetriques cumuleacutees Un autre avantage qui en deacutecoule est la simplification de lopeacuteration de soustraction en fixant la valeur de normalisation eacutegale au seuil lopeacuteration se reacuteduit agrave la simple remise agrave zeacutero du bit surveilleacute (Figure 7-12)

Bit suppleacutementaire utiliseacute pour lecontrocircle du deacutepassement du seuilLa normalisation est effectueacutee parla remise agrave zeacutero de ce bit

bits neacutecessaires pour larepreacutesentation correcte detout eacutecart des meacutetriquescumuleacutees

Figure 7-12 strateacutegie adopteacutee pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Solution adopteacutee La strateacutegie choisie emploie une repreacutesentation numeacuterique utilisant (bitsDynamiquemin +1) bits (Table 7-3) Ce bit suppleacutementaire repreacutesente pratiquement la valeur du seuil de normalisation ainsi que la valeur de soustraction (Figure 7-12) notamment la valeur de

173

min2 bitsDynamique (75) Ce choix permet de limiter le nombre de bits de la repreacutesentation numeacuterique des meacutetriques cumuleacutees et de simplifier la reacutealisation physique de lopeacuteration de normalisation (controcircle et soustraction) Initialisation des meacutetriques cumuleacutees Apregraves avoir deacutefini la repreacutesentation numeacuterique des valeurs des meacutetriques cumuleacutees on aborde le sujet de leur initialisation Lexploitation de leacutetat de deacutepart de la meacutemoire du codeur peut se reacutealiser par linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Lobjectif poursuivi est de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats de deacutepart De maniegravere analogue agrave limplantation software (Sous-section 641) on peut ainsi utiliser une valeur dinitialisation entre ( 1)MaxContribBranche Ksdot minus

et ( 1)ValMaxMetrique MaxContribBranche K

minus sdot minus Comme deacutejagrave expliqueacute dans le chapitre preacuteceacutedent cette initialisation permet dexploiter les informations de deacutepart du codage convolutif sans exiger aucune proceacutedure suppleacutementaire de controcircle

Meacutetriques de branches (Rc=13)Codeur Longueur de contrainte K Taille de la

repreacutesentation [bits]

Valeur maximale [distance de Hamming]

Taille de la repreacutesentation des meacutetriques cumuleacutees [bits]

Codeur4eacutetats 3 2 3 5 Codeur16eacutetats 5 2 3 5 Codeur64eacutetats 7 2 3 6 Codeur256eacutetats 9 2 3 6

Table 7-3 vue densemble du nombre de bits utiliseacutes pour la repreacutesentation des meacutetriques cumuleacutees dans les divers contextes de codage

174

Seacutelection des 2K-1 chemins survivants La tacircche de ce module est la seacutelection des M=2K-1 chemins survivants par comparaison des meacutetriques cumuleacutees des couples de chemins qui convergent en un mecircme eacutetat du treillis (Figure 7-13) La structure algorithmique de la proceacutedure de seacutelection des M chemins survivants savegravere ainsi tregraves parallegravele et reacuteguliegravere ce qui favorise une reacutealisation mateacuterielle

meacutetriquescumuleacutees np-1

meacutetriques debranches np

meacutetrique cumuleacutee np

seacutelection dusurvivant

indication dum-egraveme cheminsurvivant(1 bit)

ACSm

Figure 7-13 description graphique de lopeacuteration de seacutelection du m-egraveme chemin survivant

Contrairement aux implantations software une reacutealisation mateacuterielle permet dexploiter exhaustivement le paralleacutelisme algorithmique de la tacircche de seacutelection Geacuteneacuteralement si lexeacutecution seacutequentielle offre tous les avantages dune surface reacuteduite [Kapp92] la strateacutegie parallegravele permet lexploitation optimale de la structure algorithmique de lopeacuteration de seacutelection ameacuteliorant le deacutebit du traitement Si on considegravere une reacutealisation mateacuterielle de lalgorithme original de Viterbi (la prise de deacutecision nest effectueacutee quagrave la fin du traitement de tous les symboles reccedilus) le temps dexeacutecution de cette opeacuteration de seacutelection des M survivants deacutetermine le deacutebit du systegraveme de deacutecodage Pour cette raison la reacutealisation de cette uniteacute a fait lobjet de nombreuses eacutetudes [Fett90] [Min91] [Kapp92] Afin de prendre connaissance des potentialiteacutes dune reacutealisation mateacuterielle cette eacutetude prend en compte la strateacutegie dune exploitation exhaustive du paralleacutelisme disponible (Figure 7-14)

175

Par rapport agrave la conception de lopeacuteration de seacutelection dun chemin survivant (Figure 7-13) lopeacuteration de mise agrave jour des meacutetriques cumuleacutees la comparaison et la seacutelection du meilleur chemin sont exeacutecuteacutees de maniegravere seacutequentielle

FF

ACS0

ACS1

ACSM-1

meacutetriques cumuleacuteesnpmeacutetriques cumuleacuteesnp-1

meacutetriques debranchesnp

indications descheminssurvivants

horloge

Normalisation

Figure 7-14 structure parallegravele du module responsable de la seacutelection des chemins survivants

735 Prise de deacutecision

La seconde grande uniteacute du systegraveme de deacutecodage (Figure 7-6) se charge de la prise de deacutecision et de la livraison du bit le plus ancien pas encore remis au destinataire La strateacutegie communeacutement exploiteacutee est la troncation de la meacutemoire (Sous-section 642) qui preacutevoit la seacutelection du chemin agrave la profondeur actuelle np dont le deacutecodage permet une prise de deacutecision correcte du (np-δ)-egraveme bit dinformation (Figure 7-15) Cette strateacutegie est indispensable pour effectuer une prise de deacutecision dans un contexte de codage qui envisage la protection dune seacutequence infinie de bits dinformation

176

Deacutecodage du chemin la reconstruction des eacutetats de la meacutemoire du codeur A laide du deacutecodage du chemin indiqueacute par le module preacuteceacutedent BPS le module TBu se charge de la prise de deacutecision du bit le plus vieux pas encore livreacute (Figure 7-15)

TBu

horloge

BPS

meacutetriques cumuleacuteesagrave la profondeur np eacutetat de deacutepart

information concernantles chemins survivants agravela profondeur np deacutecision sur

le bitnp -δ

Figure 7-15 opeacuteration de prise de deacutecision sur la valeur du bitnp-δ

Dans le contexte dun codage convolutif non-reacutecursif la prise de deacutecision du bitnp-δ sexeacutecute en estimant leacutetat de la meacutemoire du codeur agrave un niveau de profondeur compris entre (np-δ) et (np-δ+(K-2)) Gracircce agrave la caracteacuteristique du codeur de garder en meacutemoire les valeurs des derniers (k-1) bits du message la valeur du bit concerneacute peut ecirctre ainsi extraite (Figure 7-16) La reconstruction des δp eacutetats preacuteceacutedents neacutecessite le stockage des derniegraveres δp informations sur les chemins survivants Ce module est ainsi chargeacute du stockage et de la gestion des informations qui sont neacutecessaires agrave la reconstruction des eacutetats des meacutemoires des chemins survivants En raison de la strateacutegie de troncation de la meacutemoire ces informations sont sauvegardeacutees dans une meacutemoire circulaire (Figure 7-17) Gestion des proceacutedures de reconstruction des eacutetats et de stockage des informations La reacutealisation physique de lopeacuteration de prise de deacutecision doit assurer le deacuteroulement correct de deux opeacuterations fondamentales

bull la sauvegarde des informations des nouveaux chemins survivants bull le deacutepart de la proceacutedure de reconstruction des eacutetats du chemin

Afin dassurer la succession correcte de ces deux opeacuterations un bloc fonctionnel a eacuteteacute expresseacutement deacuteveloppeacute et chargeacute de la synchronisation entre les deux opeacuterations (Figure 7-17)

177

indicationssur les chemins survivantsdu niveau de profondeur np

niveau de profondeurnp - +1

niveau de profondeurnp

eacutetat de deacutepart

eacutetat agrave laprofondeur np- pδ

deacutecision surle bitnp-δ

anciennesindicationssur les cheminssurvivants

Figure 7-16 reconstruction des eacutetats et extraction de la valeur estimeacutee du (np-δ)-egraveme bit dinformation En vert sont repreacutesenteacutees les nouvelles informations sur les chemins survivants En jaune les informations qui apregraves lexeacutecution de la prise de deacutecision vont devenir inutiles La distance δp est comprise entre les valeurs δ et (δ-K+2)

Ce bloc est constitueacute par deux chaicircnes circulaires de δp bascules Chaque chaicircne est sensible agrave un flanc diffeacuterent du signal dhorloge et seule la sortie dune bascule par chaicircne preacutesente un signal actif Les signaux actifs des deux chaicircnes sont utiliseacutes pour lactivation des bascules de stockage des informations et pour la seacutelection de luniteacute de deacutepart de la proceacutedure de reconstruction (Figure 7-17) Cette strateacutegie permet la synchronisation des deux opeacuterations garantissant une reacutealisation physique exempte de pheacutenomegravenes de glitches [Gras01] Paramegravetres du module TBu Les deux paramegravetres qui agissent sur ce module sont le nombre deacutetats M de la meacutemoire du codeur (M= 2K-1) et la distance δp La valeur de ce dernier paramegravetre deacutepend de la strateacutegie de seacutelection du chemin qui sera utiliseacute pour la prise de deacutecision soit le chemin le plus probable soit un chemin quelconque

178

reconstructionde leacutetat

preacuteceacutedent

Gestion de la proceacutedure concernant la prise de deacutecisionhorloge

cheminde deacutepart

deacutecisionprise

information dereconstruction duchemin survivant

eacutetat

informations sur lesderniers cheminssurvivants

signal indiquant le pointde deacutepart et darriveacutee de

la proceacutedure

signal pour la mise agrave jour desinformations sauvergardeacutees

reconstructionde leacutetat

preacuteceacutedent

Figure 7-17 illustration de la structure pour la proceacutedure de prise de deacutecision Le signal chemin de deacutepart indique le chemin dont le deacutecodage permet la prise de deacutecision qui sera ensuite communiqueacutee par le signal deacutecision prise

736 Deacutesignation du chemin permettant une prise de deacutecision correcte

Lopeacuteration de prise de deacutecision emploie la strateacutegie de la troncation de la meacutemoire strateacutegie qui preacutevoit le deacutecodage dun chemin agrave la profondeur actuelle np jusquagrave extraire la valeur du (np-δ)ndashegraveme bit dinformation (Figure 7-16) Strateacutegie classique de seacutelection du chemin Le critegravere classique preacutevoit la seacutelection du chemin qui possegravede la meacutetrique cumuleacutee la plus favorable Comme illustreacute dans la Sous-section 642 cette approximation de lalgorithme de Viterbi permet danticiper la prise de deacutecision sans provoquer une deacutegradation sensible de la qualiteacute de protection agrave condition dutiliser une distance δ approprieacutee au contexte de codage ( )4 6 Kδ = sdotsim (76)

179

Le deacutesavantage de cette strateacutegie est la composante seacutequentielle de lopeacuteration de seacutelection qui saccroicirct avec le nombre de chemins agrave veacuterifier (Figure 7-18) On utilise en effet K-1 stades de comparaisons Bien que cette strateacutegie ait eacuteteacute adopteacutee pour la conception du systegraveme de deacutecodage de base lexploration des potentialiteacutes de cette approche mateacuterielle stimule lanalyse dune solution alternative

seacutelection dela meilleure

meacutetrique

seacutelection dela meilleure

meacutetrique

meacutetriquecumuleacutee

eacutetat

seacutelection dela meilleure

meacutetrique Figure 7-18 exemple de reacutealisation de luniteacute BPS pour la deacutetermination du chemin le plus favorable en analysant les meacutetriques cumuleacutees des quatre eacutetats (code convolutif avec longueur de contrainte de 3)

Solution alternative la deacutesignation dun chemin quelconque Les deacutesavantages dune exeacutecution seacutequentielle peuvent ecirctre eacuteviteacutes en changeant la strateacutegie de lopeacuteration seacutelection la deacutesignation dun chemin quelconque pour la prise de deacutecision Cette strateacutegie exploite le pheacutenomegravene de laggravation des valeurs de meacutetriques cumuleacutees de tous les chemins dont le deacutecodage comporte une prise de deacutecision erroneacutee43 La strateacutegie preacutevoit le choix dun chemin agrave un niveau de profondeur np+δzp

44 suffisamment grand qui ne peut ecirctre attendu que par les 43 Ces chemins seront nommeacutes par la suite chemins incorrects 44 Dans ce cas la distance δ est nommeacutee δzp de maniegravere agrave mieux seacuteparer les deux

strateacutegies dune part celle utilisant le chemin le plus probable (distance δ) et de lautre celle choisissant un chemin quelconque de deacutepart (distance δzp)

180

chemins comportant une deacutecision correcte du np-egraveme bit dinformation45 (Figure 7-19) Deacutetermination de la distance δzp Afin de rendre neacutegligeable la deacutegradation introduite par cette meacutethode la deacutetermination de la distance δzp doit consideacuterer la relation entre

bull laugmentation minimale des meacutetriques des chemins incorrects et bull la meacutetrique cumuleacutee la plus deacutefavorable des chemins corrects au

niveau de profondeur np+δzp (Figure 7-19)

Info Bitnp

Niveau deprofondeur np-1 np

np+1

chemin qui comporte une deacutecisioncorrecte du np-egraveme bit dinformation

chemin qui comporte une deacutecisionincorrecte du np-egraveme bit dinformation

chemin le plusprobable

np+ -1δ np+δ np+ zpδ

np+ -1zpδ

Figure 7-19 illustration graphique des deux strateacutegies de seacutelection du chemin utiliseacute pour lopeacuteration de prise de deacutecision du np-egraveme bit dinformation bitnp Cas simplifieacute

Pour la deacutetermination de la distance δzp on suppose ainsi que

bull A chaque transition laugmentation minimale des meacutetriques cumuleacutees des chemins incorrects est de

n MinMetrCroissancesdot (77)

bull La meacutetrique la moins favorable des chemins corrects est estimeacutee agrave laide de la diffeacuterence maximale existant entre les valeurs extrecircmes des meacutetriques cumuleacutees (diffeacuterencemax (71)) En supposant que la meacutetrique la plus favorable coiumlncide avec le nombre exact derreurs de transmission la valeur de meacutetrique la plus deacutefavorable est

45 Dans la suite du paragraphe ces chemins seront appeleacutes chemins corrects

181

max0nombre derreurszpnp diffeacuterenceδrarr + + (78)

A partir de ces assertions leacutetablissement de la distance δzp est ainsi soumis agrave lineacutequation

min maxnp np+min

nombre derreurszp

zp zp

diffeacuterencen MinMetrCroissance

δδ δ rarr=

+gt

sdot (79)

afin deacuteviter une deacutegradation de la qualiteacute de protection offerte par lalgorithme de Viterbi Par rapport agrave la strateacutegie classique cette strateacutegie doit atteindre eacutevidemment une profondeur δzp plus grande (δzp gt δ) dont laugmentation peut ecirctre estimeacutee en groupant les ineacutequations (64) et (79)

( )min min -1zpMaxContribBranche Kn MinMetrCroissanceδ δasymp + sdotsdot

(710)

Distance δzp agrave laide de simulations Lutilisation de lineacutequation (79) neacutecessite la connaissance preacutecise de plusieurs caracteacuteristiques techniques qui sont propres au code convolutif utiliseacute Par conseacutequent on souhaite disposer dune regravegle empirique qui facilite la deacutetermination dune distance δzp adapteacutee au contexte de codage Les reacutesultats de nos simulations montrent quune distance δzp supeacuterieure agrave 6-8 fois la longueur de contrainte K suffit agrave rendre neacutegligeable la deacutegradation de la qualiteacute de protection due agrave cette strateacutegie (exemple Figure 7-20) Les simulations effectueacutees montrent ensuite une relation entre les deacutegradations de la qualiteacute des deux strateacutegies relation qui suit empiriquement leacutequation46 ( ) ( )

meilleur chemin chemin quelconque2 deacutegradation deacutegradation zp Kδ δδ = + sdotasymp (711)

Strateacutegie du deacutecodage dun chemin quelconque conclusions Lavantage de disposer dune solution simple et rapide est contrebalanceacute par laugmentation de la distance δzp de troncation de la meacutemoire Cette solution

46 En comparant cette relation (711) avec leacutequation (710) on peut eacutetablir une meilleure

correspondance entre les deux en remplaccedilant la valeur de croissance maximale par la valeur moyenne (Table 6-5)

182

implique laugmentation du retard algorithmique ainsi que des ressources de stockage des informations des chemins survivants Par conseacutequent lutilisation de cette strateacutegie est strictement soumise agrave lanalyse des coucircts suppleacutementaires provoqueacutes par laugmentation de la distance de troncation

Figure 7-20 deacutegradations causeacutees par la troncation de la meacutemoire (distances δ et δzp) Le graphe rouge repreacutesente la qualiteacute de protection offerte par lalgorithme original de Viterbi Le graphe vert en trait gras indique la qualiteacute de protection obtenue selon la strateacutegie classique du choix du chemin le plus prometteur Le graphe bleu en trait fin indique la qualiteacute de protection obtenue en deacutecodant un chemin quelconque (dans ce cas les chemins lieacutes agrave leacutetat zeacutero) Paramegravetres de simulation codeur256eacutetats messages de 1000 bits 8 bits de terminaisons 1 million de messages distances multiples de la longueur de contrainte du code

74 Synthegravese du systegraveme de base

Cette section illustre les reacutesultats de synthegravese de chaque module du systegraveme de base agrave laide du compilateur Design Compiler (Synopsys) La proceacutedure de synthegravese a suivie une strateacutegie Bottom-up et utiliseacutee la librairie Virtual Silicon Technology VST25 (UMC25 025microm) La liste et la description deacutetailleacutee des paramegravetres utiliseacutes sont illustreacutes par la Table 7-4

183

741 Strateacutegie adopteacutee

Le but de la strateacutegie de synthegravese adopteacutee (Table 7-4 Figure 7-21) est la prise de connaissance des caracteacuteristiques et des potentialiteacutes de chaque module du systegraveme de base sans orienter la proceacutedure de synthegravese vers un but particulier Cette strateacutegie de synthegravese nimplique ainsi aucune proceacutedure doptimisation (sur le plan de larchitecture du systegraveme dimplantation logique ou du choix des cellules) ce qui permet une vue densemble des caracteacuteristiques propres agrave chaque module La marge de manœuvre qui en deacutecoule peut ecirctre ensuite exploiteacutee pour ameacuteliorer ulteacuterieurement les potentialiteacutes du systegraveme de base

Compilateur Synopsys Design Compiler (Synopsys DC) version 200005-1 Langage VHDL (Very High-Speed Integrated Circuit Hardware Description

Language) Librairie Virtual Silicon Technology VST25 UMC25 (025microm)

(et ALTERA APEX20k pour la validation pratique) Strateacutegie de synthegravese Bottom-Up Paramegravetre Argument Commande pour Synopsys DC Effort dans la synthegravese moyen

(valeur par deacutefaut) -map_effort medium

Modegravele capacitif des fils 10k -set_wire_load suggested_10K Conditions dexploitation Pire des cas -set_operating_conditions WORST Couverture de test 95

(valeur par deacutefaut) -set_min_fault_coverage 95 ndashtiming_critical

Critegravere de lapproche structured -set_flatten_false -design -set_structure_true -design

Horloge 50ns (valeur par deacutefaut)

-create_clock ndashperiod 50 ndashwaveform 0 25

Table 7-4 Contexte de synthegravese du systegraveme de base

742 Synthegravese des modules

Module BMu le calcul des meacutetriques de branches La reacutealisation physique de ce module est purement combinatoire (Table 7-5) Comme deacutejagrave expliqueacute la strateacutegie adopteacutee pour la conception de ce module est la description parameacutetrable de lopeacuteration de calcul des 2M=22K-1 meacutetriques de branches Lopeacuteration doptimisation des calculs est ainsi deacuteleacutegueacutee au compilateur de synthegravese (approche structured Table 7-4)

184

Figure 7-21 exemple de synthegravese du systegraveme de base agrave laide du compilateur Design Compiler de Synopsys Le contexte de codage est le codeur4eacutetats

185

Cette strateacutegie permet une adaptation rapide aux autres contextes de codage sans nuire sensiblement agrave la qualiteacute de la reacutealisation physique

Virtual Silicon Technology VST25 UMC25 Contexte de codage Nombre de

cellules Surface Nombre

indicatif de portes logiques(NAN2D1)

Temps dexeacutecution

Codeur4eacutetats 11 3564 microm2 15 039 nsCodeur16eacutetats 23 6178 microm2 26 092 nsCodeur64eacutetats 49 10375 microm2 44 158 nsCodeur256eacutetats 135 26136 microm2 110 181 ns

Table 7-5 caracteacuteristiques relatives agrave la reacutealisation physique du module BMu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module ACSu la seacutelection des chemins survivants Les Table 7-6 et Table 7-7 reacutesument les caracteacuteristiques principales de la synthegravese du module ACSu qui est chargeacute de la seacutelection des M=2K-1 chemins survivants Les principes suivis pour la conception du module sont la seacutelection parallegravele des 2K-1 chemins survivants une repreacutesentation des meacutetriques cumuleacutees minimisant le nombre de bits neacutecessaires lemploi dune fonction de normalisation de ces meacutetriques ainsi quune initialisation des meacutetriques permettant lexploitation des conditions de deacutepart de lopeacuteration de codage (remise agrave zeacutero de la meacutemoire du codeur)

Virtual Silicon Technology VST25 UMC25 Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules Partie combin

Partie non-combin

Total Portes logiques ()

Bascules

Codeur4eacutetats 174 64627 34848 99475 272 20Codeur16eacutetats 679 252806 139392 392198 1064 80Codeur64eacutetats 3324 1217542 669082 1886623 5124 384Codeur256eacutetats 13504 4907153 2676327 7583479 20653 1536() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-6 caracteacuteristiques relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

186

Virtual Silicon Technology VST25 UMC25 Contexte de codage

Temps dexeacutecution Freacutequence (indicative) apregraves synthegravese

Codeur4eacutetats 237 ns 400 MHz Codeur16eacutetats 257 ns 370 MHz Codeur64eacutetats 340 ns 280 MHz Codeur256eacutetats 432 ns 220 MHz

Table 7-7 ordre de grandeur des performances relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module BPS la seacutelection du chemin pour la prise de deacutecision La strateacutegie classique de prise de deacutecision utilise le chemin partiel qui au moment de lexeacutecution de cette opeacuteration est estimeacute le plus probable Le principal deacutesavantage de cette strateacutegie est la forte composante seacutequentielle de lopeacuteration de seacutelection du chemin montrant la meacutetrique cumuleacutee la plus favorable (Figure 7-18) La reacutealisation physique de cette uniteacute (Table 7-8) met en eacutevidence cette probleacutematique le nombre de stades de comparaison saccroicirct parallegravelement agrave laugmentation du nombre de chemins impliqueacutes dans la seacutelection

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Nombre de

cellules (blocs de comparaison)

Surface [microm2] Nombre indicatif de portes logiques (NAN2D1)

Stades de comparaison

Temps [ns]

Codeur4eacutetats 5 (3) 22651 95 2 224Codeur16eacutetats 21 (15) 126878 534 4 542Codeur64eacutetats 89 (63) 682705 2873 6 1060Codeur256eacutetats 393 (255) 3010867 12672 8 1535

Table 7-8 reacutealisation physique du module BPS par blocs de comparaisons (Table 7-9) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

187

Virtual Silicon Technology VST25 UMC25 025microm

Surface Contexte de codage Nombre de

cellules Combinatoire Nombre indicatif de portes logiques (NAN2D1)

Temps

Codeur4eacutetats 16 7445 microm2 31 107 nsCodeur16eacutetats 18 8395 microm2 35 132 nsCodeur64eacutetats 23 10771 microm2 45 164 nsCodeur256eacutetats 25 11722 microm2 49 176 ns

Table 7-9 reacutealisation physique du bloc responsable de la comparaison de deux meacutetriques cumuleacutees de maniegravere agrave deacuteterminer la meilleure Ce bloc repreacutesente luniteacute de base pour la construction du module BPS Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module TBu la prise de deacutecision La reacutealisation mateacuterielle des modules BPS et TBu a suivi lapproche la plus classique la deacutetermination du chemin partiel le plus probable afin dextraire la valeur du bit le plus vieux pas encore livreacute

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules (nombre de blocs de meacutemoire δp)

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 52 (15) 46253 171310 217563 195 95Codeur16eacutetats 107 (25) 263736 809978 1073714 1110 455Codeur64eacutetats 337 (35) 1161547 4062247 5223794 4889 2316Codeur256eacutetats 1210 (45) 4888066 20277973 25166040 20573 11616() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-10 reacutealisation physique de la proceacutedure complegravete de prise de deacutecision agrave partir de blocs chargeacutes du stockage des informations et de reconstruction de leacutetat preacuteceacutedent de la meacutemoire (Table 7-11) La distance δp est eacutegale agrave (5middotK) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Les reacutesultats de la synthegravese du module TBu sont illustreacutes agrave laide de la Table 7-10 La reacutealisation du module se base sur la concateacutenation de δp blocs opeacuterationnels (Table 7-11) chacun chargeacute

188

1 du stockage des informations des M chemins survivants appartenant au mecircme niveau de profondeur et

2 de la reconstruction de leacutetat preacuteceacutedent du chemin survivant seacutelectionneacute

Par rapport au paramegravetre de distance δp limplantation considegravere la reconstruction iteacuterative et successive de δp=(5middotK) eacutetats de meacutemoire

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre

de cellules

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 11 3010 7366 10375 13 4Codeur16eacutetats 43 10296 28274 38570 43 16Codeur64eacutetats 147 32155 111910 144064 135 64Codeur256eacutetats 514 104861 446450 551311 441 128() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-11 reacutealisation physique du bloc responsable du stockage des informations concernant les chemins survivants agrave une certaine profondeur Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

743 Surface de silicium

La Figure 7-22 montre une vue densemble de la surface demandeacutee par chaque module Les deux modules les plus exigeants sont le module ACSu et le TBu Indeacutependamment du nombre deacutetats consideacutereacutes ces deux modules repreacutesentent en effet plus de 90 de la surface du systegraveme de base entier (Figure 7-23) Etant chargeacute de la seacutelection parallegravele des M=2K-1 chemins survivants la surface du module ACSu deacutepend lineacuteairement du nombre deacutetats repreacutesentables par la meacutemoire du codeur Les opeacuterations de seacutelection sont accomplies par M uniteacutes parallegraveles et les M meacutetriques cumuleacutees sont sauvegardeacutees dans le module mecircme La surface du module TBu deacutepend non seulement du nombre M deacutetats mais aussi de la valeur de la distance δp Le module est constitueacute de lenchaicircnement de δp uniteacutes fonctionnelles chacune responsable de la reconstruction dun eacutetat de meacutemoire en plus du stockage des informations lieacutees agrave M chemins survivants Si on considegravere que les paramegravetres M et δp deacutependent tous les deux de la longueur de contrainte K on obtient un module dont la demande de surface

189

saccroicirct rapidement avec laugmentation de la taille de meacutemoire du codeur convolutif (Figure 7-23)

00001

00010

00100

01000

10000

100000

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

contexte de codage

Surf

ace

[mm

2 ]

BMu

ACSu

BPS

TBu

Figure 7-22 vue densemble des valeurs de surface de chaque module

0

20

40

60

80

100

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

Surf

ace

TBu non-combTBu combBPS combACSu non-combACSu combBMu comb

Figure 7-23 vue densemble de la reacutepartition de la surface entre les modules Leacutegende comb partie combinatoire du module non-comb partie non-combinatoire du module

190

744 Vitesse dexeacutecution

La Table 7-12 donne une vue densemble des temps dexeacutecution des diverses tacircches valeurs obtenues par la synthegravese du systegraveme de base Les estimations de la vitesse dexeacutecution apregraves routage sont obtenues en reacuteduisant dun facteur deux les valeurs de vitesse reacutesultant apregraves synthegravese

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Design Compiler de

Synopsys (apregraves synthegravese) Estimation

apregraves routage

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Uniteacute TBu structure seacutequentielle (δp=5middotK)

Deacutebit de traitement du systegraveme ()

Codeur4eacutetats 039 ns 237 ns 224 ns 1308 ns 38 MbitssCodeur16eacutetats 092 ns 257 ns 542 ns 5995 ns 8 MbitssCodeur64eacutetats 158 ns 340 ns 1060 ns 8817 ns 6 MbitssCodeur256eacutetats 181 ns 432 ns 1535 ns 11357 ns 4 Mbitss() Lestimation apregraves routage est obtenue par la pondeacuteration dun facteur deux des valeurs de synthegravese

Table 7-12 vue densemble des valeurs concernant la vitesse dexeacutecution des divers modules

Ces reacutesultats montrent que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage Si les performances des modules ACSu et BMu sont relativement stables le deacutebit de traitement des deux autres modules se deacutegrade parallegravelement agrave laugmentation de la longueur de contrainte K En raison de la tacircche assigneacutee ces deux modules montrent en effet des composants seacutequentiels dont limportance deacutepend directement du paramegravetre K K-1 stades de comparaisons (module BPS) et la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles (module TBu) Ces composants seacutequentiels agrandissent la profondeur logique de la reacutealisation mateacuterielle de ces opeacuterations ralentissant le temps dexeacutecution des tacircches assigneacutees Ces composants seacutequentiels influencent eacutevidemment les performances du systegraveme entier les performances de lopeacuteration de prise de deacutecision deacuteterminent le deacutebit de traitement maximal du systegraveme de deacutecodage Bien que les performances de lopeacuteration de prise de deacutecision deacutegradent parallegravelement agrave laugmentation de la longueur de contrainte K du code ce systegraveme de deacutecodage assure un deacutebit de traitement suffisant aux exigences des

191

standards UMTS lestimation du deacutebit de traitement indique une valeur de 4 millions de bits dinformation traiteacutes par seconde (Table 7-12)

745 Taux dactiviteacute des signaux liant les modules

On termine la discussion sur les aspects de la synthegravese du systegraveme en analysant les taux dactiviteacute des signaux38 qui lient les diffeacuterents modules du systegraveme (Figure 7-24 et Table 7-13)

calcul desmeacutetriques

de branches(BMu)

mise agrave jourdes

meacutetriquescumuleacutees et

seacutelectiondes

survivants(ACSu)

deacutecodagedu chemin

choisi(TBu)

seacutelection duchemin(BPS)

in_data

arr_branch_up

arr_branch_down

in_up_down_vec

in_up_down_vec

arr_mtr

start_st

out_data

horloge

reset

Figure 7-24 signaux liant les modules du systegraveme (Table 7-13)

Outil et simulations Les taux dactiviteacute sont deacutetermineacutes agrave laide de loutil ModelSim (Model Technology) qui agrave partir dune seacutequence donneacutee de symboles dentreacutee simule le comportement du systegraveme entier (deacutecrit en VHDL) Ce faisant cet outil permet la caracteacuterisation des signaux liant les divers modules caracteacuterisation qui peut ecirctre ensuite utiliseacutee par Design Compiler (Synopsys) pour une eacutevaluation plus preacutecise de la consommation deacutenergie de chaque module (Chapitre 8)

192

Signal Description horloge Signal dhorloge reset Remise agrave zeacutero in_data Symboles reccedilus arr_branch_updown Meacutetriques de branches in_up_down_vec Informations sur les chemins survivants arr_mtr Meacutetriques cumuleacutees start_st Eacutetat de deacutepart de la proceacutedure de deacutecodage out_data Deacutecision sur lancien bitt-δ

Table 7-13 liste des signaux utiliseacutes pour la description VHDL du systegraveme

Deux sont les cas consideacutereacutes pour la prise de connaissance des taux dactiviteacute des signaux La premiegravere classe de simulations considegravere une transmission numeacuterique de donneacutees absente derreurs (exemple Table 7-14) Dans ce cas les symboles sont creacutees en codant un flux de bits dinformation aleacuteatoire Lautre classe de simulations prend en compte eacutevidemment des situations de transmission extrecircmement deacutesastreuses en termes derreurs Dans ces simulations les symboles dentreacutee du deacutecodeur sont entiegraverement geacuteneacutereacutes de maniegravere aleacuteatoire (exemple Table 7-15) Reacutesultats des simulations A partir des reacutesultats de ces simulations dont la Table 7-14 et Table 7-15 montrent deux exemples repreacutesentatifs on peut analyser et commenter le comportement des modules constituant le systegraveme de deacutecodage Le module BMu calcule les diverses meacutetriques de branches agrave partir des symboles reccedilus Lactiviteacute de ce module est strictement deacutependante de lactiviteacute des symboles reccedilus (in_data) A titre dexemple le codage dune seacutequence infinie de zeacuteros en labsence derreurs de transmission geacutenegravere une situation stationnaire dans le module BMu Dans cette situation extrecircme on assiste agrave une non-transition des eacuteleacutements logiques du module Le module ACSu se partage en deux parties La premiegravere partie eacutetant responsable des opeacuterations permettant la seacutelection des chemins survivants est entiegraverement reacutealiseacutee par logique combinatoire Par contre la seconde partie est chargeacutee du stockage des valeurs des meacutetriques cumuleacutees des chemins survivants Lactiviteacute de ce module est ainsi influenceacutee dune part par les taux dactiviteacute des meacutetriques de branches et de lautre par ceux des meacutetriques cumuleacutees

193

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 5 MSB 000 000 4 000 000 3 093 011 2 054 049 1 047 049 0 LSB 050 049

bit P[1] Activiteacute 6 MSB 049 045 5 049 045 4 050 045 3 049 045 2 049 045 1 049 045 0 LSB 049 045

in_up_down_vec

bit P[1] Activiteacute 2 MSB 051 047 1 MSB 049 055 0 LSB 050 047

bit P[1] Activiteacute

1 MSB 050 050 0 LSB 051 050

P[1]= 040 Activiteacute=047

P[1]=048 Activiteacute =047

Table 7-14 taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur256eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim47 La simulation considegravere la reacuteception dune seacutequence de symboles creacuteeacute par le codage de 1000 bits dinformation Ces bits ont eacuteteacute geacuteneacutereacutes de maniegravere aleacuteatoire Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation Leacutegende P[1] indique la probabiliteacute que le bit soit eacutegal agrave leacutetat 1 activiteacute repreacutesente le nombre de transition par cycle dhorloge

Les taux dactiviteacute des meacutetriques de branche sont stable et ne changent que dans une situation (artificielle) de codage stationnaire en absence derreurs Par contre lactiviteacute des meacutetriques cumuleacutees (arr_mtr) est fonction de la strateacutegie adopteacutee pour sa repreacutesentation (nombre de bits et fonction de normalisation) et des conditions de transmission Etant donneacute que la meacutetrique cumuleacutee indique le nombre derreurs rencontreacute par le chemin son taux dactiviteacute est eacutevidemment influenceacute par le deacutebit derreurs de transmission (Table 7-14 et Table 7-15) Lanalyse du taux dactiviteacute du signal dinformation in_up_down_vec prouve lutilisation dune fonction de seacutelection qui favorise (en cas de meacutetriques eacutequivalentes) le chemin dont leacutetat preacuteceacutedent possegravede le LSB eacutegal agrave zeacutero Ce signal qui indique le LSB de leacutetat de provenance du chemin survivant montre en effet la preacutedominance de leacutetat logique zeacutero (Table 7-14 et Table 7-15) 47 ModelSim SEEE PLUS 55e de Model Technology Incorporated Mentor Graphics

(Rev 200110)

194

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 4 MSB 006 008 3 049 013 2 051 027 1 051 046 0 LSB 050 054

bit P[1] Activiteacute 1 MSB 032 042 0 LSB 049 049

in_up_down_vec

bit P[1] Activiteacute 2 MSB 049 043 1 MSB 051 044 0 LSB 049 045

bit P[1] Activiteacute

1 MSB 050 0440 LSB 050 051

P[1]=032 Activiteacute=041

P[1]=045 Activiteacute=048

Table 7-15 le taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur4eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim Cette analyse se base sur la geacuteneacuteration aleacuteatoire de 1000 symboles dentreacutee (signal in_data) Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quau deacutebut de la simulation Leacutegende voir Table 7-14

Le module BPS est chargeacute du choix du chemin partiel le plus probable Par conseacutequent la fonction de seacutelection est influenceacutee par le contenu du message et par les erreurs de transmission Dans la situation dune eacutequiprobabiliteacute des messages et dabsence derreurs de transmission le chemin le plus favorable peut montrer de maniegravere eacutequitable tous les eacutetats de meacutemoire (signal start_st Table 7-14) Par contre en preacutesence dun fort deacutebit derreurs lopeacuteration de seacutelection du chemin est confronteacutee agrave des situations deacutequivalence des meacutetriques cumuleacutees Dans cette situation le taux dactiviteacute de ce signal de sortie montre les traces de lutilisation de fonctions de seacutelection ineacutequitable en cas deacutequivalence des meacutetriques (Table 7-15) Ces fonctions sont les opeacuterations de seacutelection du chemin survivant (module ACSu) et les uniteacutes de comparaison des chemins survivants (module BPS) Le dernier module traiteacute est le TBu Lanalyse de son signal de sortie qui repreacutesente la prise de deacutecision sur le plus vieux bit pas encore livreacute ne permet pas la caracteacuterisation du taux dactiviteacute de ce module Les informations quon peut obtenir sur son taux dactiviteacute deacuterivent de la conception du module En effet la strateacutegie de reacutealisation implique quagrave chaque peacuteriode dhorloge

bull un des δp eacuteleacutements de sauvegarde stocke les nouvelles informations des M chemins survivants

195

bull quatre bascules des deux chaicircnes circulaires de synchronisation (Figure 7-17) changent deacutetat

bull lexeacutecution de la prise de deacutecision cest agrave dire la reconstruction successive de δp eacutetats de meacutemoire du chemin seacutelectionneacute

75 Strateacutegie pipeline pour la prise de deacutecision

751 Motivation

Lanalyse des reacutesultats de synthegravese montre que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage (Table 7-12) Si les deacutebits de traitement des modules ACSu et BMu sont relativement stables les performances des deux autres modules se deacutegradent avec laugmentation de la longueur de contrainte K En raison des tacircches assigneacutees les deux modules chargeacutes de la prise de deacutecision montrent de fortes composantes seacutequentielles dont limportance deacutepend du paramegravetre K

bull K-1 stades de comparaisons pour la seacutelection du chemin le plus probable et

bull la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles pour la prise de deacutecision

Ces composants seacutequentiels deacutegradent non seulement les deacutebits de traitement des modules mais aussi les performances du systegraveme entier (Table 7-12) Si la strateacutegie dune prise de deacutecision exploitant un chemin quelconque permet de minimiser le temps dexeacutecution du module BPS la reacutealisation du module TBu reste leacuteleacutement crucial de notre systegraveme Dans le contexte dune exploitation exhaustive du paralleacutelisme algorithmique disponible il devient inteacuteressant dexplorer une strateacutegie pipeline pour lexeacutecution de lopeacuteration de prise de deacutecision Son principe est lexeacutecution simultaneacutee de plusieurs opeacuterations de prise de deacutecision ce qui permet lameacutelioration du deacutebit de traitement de luniteacute TBu

196

t-3 t-2 t-1 t t-5 t-4

eacutetat de deacutepart (t)

eacutetatt(t-1)t

Peacuteriode

bloc responsable du stockage des informations(niveau de profondeur t-2) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-3)

eacutetatt(t-2)

t-3 t-2 t-1 t t+1 t-4

eacutetat de deacutepart (t+1)

t+1

eacutetatt(t-6)

deacutecision info bitt+1-δ

eacutetatt+1(t-5)

deacutecision info bitt-δ

eacutetatt(t-3) eacutetatt(t-5)eacutetatt(t-4)

eacutetatt+1(t)eacutetatt+1(t-3) eacutetatt+1(t-2) eacutetatt+1(t-1)eacutetatt+1(t-4)

Figure 7-25 opeacuterations de prise de deacutecision Lapproche suivie est la reconstruction seacutequentielle des δp eacutetats preacuteceacutedents de la meacutemoire du codeur agrave partir du chemin seacutelectionneacute Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

752 Approche pipeline

La proceacutedure de prise de deacutecision peut ecirctre exeacutecuteacutee en δp eacutetages agrave chaque eacutetage leacutetat preacuteceacutedent de la meacutemoire du codeur est reconstruit agrave laide des informations sauvegardeacutees (Figure 7-26) La vitesse dexeacutecution dun de ces blocs fondamentaux de reconstruction devient leacuteleacutement indiquant les potentialiteacutes du module TBu (Table 7-16) En raison dune exeacutecution reacutepartie en δp eacutetages cette approche demande le double du nombre de blocs fondamentaux qui sont neacutecessaires au stockage des informations ainsi quagrave la reconstruction deacutetats preacuteceacutedents (Figure 7-26) Evidemment elle entraicircne laugmentation du retard algorithmique de lopeacuteration de prise de deacutecision retard qui passe ainsi de δp agrave 2middotδp peacuteriodes

197

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

bloc responsable du stockage des informations(niveau de profondeur t) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-1)bascule

deacutecision info bitt-δ

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-3)t+2

eacutetat de deacutepart (t+1)

eacutetat de deacutepart (t+2)

eacutetat de deacutepart (t+3)

Figure 7-26 repreacutesentation graphique du deacuteroulement de lopeacuteration de prise de deacutecision exploitant une structure pipeline (δp=3) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

753 Ameacutelioration de la strateacutegie pipeline

Lanalyse defficaciteacute de cette strateacutegie montre une gestion insatisfaisante des opeacuterations de reconstruction les 2middotδp blocs fondamentaux sont en effet chargeacutes de la reconstruction parallegravele de seulement δp chemins Cette structure pipeline (Figure 7-26) souffre de la reconstruction parasitaire de δp chemins qui napporte aucune contribution agrave lopeacuteration de prise de deacutecision Sur le plan de la consommation deacutenergie cette situation est intoleacuterable

198

Virtual Silicon Technology VST25 UMC25 025microm (valeurs apregraves synthegravese)

proceacutedure complegravete de prise de deacutecision bloc responsable du stockage des informations et reconstruction deacutetat

Contexte de codage

δp =5middotK Temps Freacutequence indicative

Temps Freacutequence indicative

Codeur4eacutetats 15 1308 ns 75 MHz 061 ns 1600 MHzCodeur16eacutetats 25 5995 ns 15 MHz 116 ns 860 MHzCodeur64eacutetats 35 8817 ns 11 MHz 187 ns 530 MHzCodeur256eacutetats 45 11357 ns 8 MHz 209 ns 470 MHz

Table 7-16 ordre de grandeur des performances de la reacutealisation du module TBu Les indications concernant le bloc fondamental impliquent lopeacuteration de seacutelection la lecture des informations sauvegardeacutees et la reconstruction des eacutetats preacuteceacutedents du chemin seacutelectionneacute Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Une solution possible est une intervention sur le signal dhorloge (Gated Clock) des bascules interposeacutees entre les blocs de maniegravere agrave activer seulement les δp blocs opeacuterationnels qui sont impliqueacutes dans les opeacuterations demandeacutees Par conseacutequent le signal dhorloge liant toutes les bascules (Figure 7-26) peut ecirctre remplaceacute par deux signaux dhorloge liant les bascules de maniegravere alterneacutee (Figure 7-27) Laspect de la faible consommation deacutenergie peut aussi tirer profit de cette solution Cette structure pipeline permet de limiter la consommation deacutenergie en eacutevitant la reacutepeacutetition dopeacuterations identiques de reconstruction La reconstruction deacutetats du chemin actuellement seacutelectionneacute peut en effet beacuteneacuteficier des opeacuterations preacuteceacutedemment effectueacutees Le beacuteneacutefice quon peut obtenir est proportionnel au nombre de transitions deacutetats que les deux chemins ont en commun

754 Redondance des opeacuterations de reconstruction deacutetats

Indeacutependamment de la strateacutegie dexeacutecution de lopeacuteration de prise de deacutecision cette sous-section preacutesente les beacuteneacutefices dune eacutelimination des reacutepeacutetitions (successives) dopeacuterations identiques de reconstruction

199

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

eacutetat de deacutepart (t+1)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetat de deacutepart (t+3)

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt+1(t)

eacutetatt+1(t-2)

bascule

bloc responsable du stockage desinformations et de la reconstruction de la

valeur de leacutetat preacuteceacutedent

t t+1 t+2 t+3 t+4 t-1horloge

eacutetat de deacutepart (t+4)

t+4 eacutetatt+1(t-2)

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-2)t+2 eacutetatt(t-3) eacutetatt+1(t-1)

eacutetat de deacutepart (t+2)

deacutecision info bitt-δ

deacutecision info bitt+1-δ Figure 7-27 optimisation de la structure pipeline de la tacircche de prise de deacutecision (δp=3) La structure est geacutereacutee par deux signaux dhorloge qui sont activeacutes de maniegravere alterneacutee (lactiviteacute est illustreacutee par la taille de la ligne repreacutesentant le signal) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

Limportance de la reacuteduction de consommation est eacutevidemment deacutetermineacutee par le nombre de transitions que les chemins choisis ont en commun Par

200

conseacutequent la reacuteduction la plus importante est atteinte lorsque le nouveau chemin seacutelectionneacute est la prolongation du chemin preacuteceacutedemment utiliseacute Dans ce cas apregraves une seule opeacuteration de reconstruction on peut utiliser entiegraverement tous les reacutesultats de la reconstruction preacuteceacutedente A partir de ces eacutevidences on sattend agrave ce que limportance de la reacuteduction deacutepende du critegravere de seacutelection du chemin de la distance δp ainsi que des erreurs de transmission Prise de deacutecision par le deacutecodage du chemin le plus probable Dans le cas de lutilisation du chemin le plus probable la redondance des opeacuterations est influenceacutee par le nombre derreurs et par leur distribution temporelle

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-28 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision qui utilise les chemins les plus probables Paramegravetres de la simulation contexte de codage codeur16eacutetats et 118k opeacuterations de choix du chemin le plus probable

Le cas ideacuteal est repreacutesenteacute par la seacutelection dun chemin qui est la prolongation du preacuteceacutedent ce qui demande la reconstruction dun seul eacutetat de meacutemoire La seacutelection dun autre chemin provoque laugmentation du nombre deacutetats qui doivent ecirctre recalculeacutes nombre qui est compris entre 2 et δp (Figure 7-28 et Table 7-17) Loccurrence de ce dernier cas augmente (eacutevidemment) avec la deacutegradation des conditions de transmission Dans les deux cas lexploitation des preacuteceacutedentes opeacuterations de reconstruction (Table 7-17) permet une reacuteduction sensible de la consommation deacutenergie

201

Moyenne du nombre deacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dB

Codeur4eacutetats 15 227 206 178 150 127 112 105Codeur16eacutetats 25 426 338 246 173 131 112 105Codeur64eacutetats 35 776 580 366 216 144 116 106Codeur256eacutetats 45 1181 867 486 241 146 115 105

Table 7-17 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats choix du chemin le plus probable 1000 opeacuterations de prise de deacutecision (TB) par trame 10000 trames

Figure 7-29 influence de la distance δp sur le nombre deacutetats recalculeacutes Simulation software contexte de codage codeur256eacutetats 1000 opeacuterations de choix du chemin le plus prometteur par trame 10000 trames

Linfluence de la distance δp sur le nombre deacutetats agrave recalculer est par contre plus marginale (Figure 7-29) Sa contribution se restreint agrave la limitation du nombre deacutetats recalculeacutes dans le cas ougrave le chemin seacutelectionneacute divergerait du preacuteceacutedent par un nombre deacutetats supeacuterieurs agrave δp Cet eacuteveacutenement se produit

202

dans de mauvaises conditions de transmission dans le contexte de codage traiteacute par la Figure 7-29 linfluence de la distance δp est observable au-dessous dun rapport EbN0 de 2dB Reconstruction des eacutetats de meacutemoire dun chemin quelconque Lutilisation dun chemin quelconque offre un niveau de souplesse supeacuterieur agrave lopeacuteration de seacutelection souplesse qui pourrait ecirctre ainsi exploiteacutee afin de reacuteduire la consommation deacutenergie On pourrait envisager de choisir (autant que possible) un chemin qui est la prolongation du preacuteceacutedent Ce faisant bien que la possibiliteacute de survie des prolongations du dernier chemin soit fonction des conditions de transmission et du contenu du message la consommation deacutenergie peut ecirctre minimiseacutee Toutefois cette solution neacutecessite lexeacutecution dune tacircche de seacutelection complexe ce qui contredit les avantages (preacuteceacutedemment) envisageacutes par lutilisation de cette meacutethode alternative Conformeacutement aux motivations qui sont agrave la base de la proposition on analyse la situation de seacutelection la plus simple le choix systeacutematique du mecircme eacutetat de deacutepart Par rapport agrave laspect de la consommation deacutenergie deux eacutetats de meacutemoire montrent des caracteacuteristiques inteacuteressantes lorsquils sont utiliseacutes comme eacutetats de deacutepart de lopeacuteration de prise de deacutecision

bull Leacutetat zeacutero qui repreacutesente la situation dune meacutemoire du codeur convolutif contenant uniquement des bits dinformations zeacuteros et

bull Leacutetat qui repreacutesente la situation dune meacutemoire contenant uniquement des bits dinformation un

En effet seuls ces deux eacutetats rendent possible le choix dun chemin qui soit la prolongation du chemin choisi agrave la profondeur preacuteceacutedente (Figure 2-15) La probabiliteacute de cet eacuteveacutenement peut ecirctre ensuite renforceacutee par la reacutealisation de lopeacuteration de seacutelection du chemin survivant (module ACS) La reacutealisation peut en effet assurer que dans une situation deacutequiprobabiliteacute des meacutetriques cumuleacutees la prolongation du chemin (preacuteceacutedemment choisi) sera seacutelectionneacutee La contribution apporteacutee par cette simple modification48 qui ne modifie pas le deacuteroulement correct de lalgorithme (voir le theacuteoregraveme de la non-optimaliteacute) est facilement observable dans un contexte de deacutecodage utilisant une deacutecision ferme (Table 7-18)

48 Dans le cas de lutilisation de leacutetat de deacutepart zeacutero leacutequivalence des meacutetriques

cumuleacutees avantage le chemin provenant dun eacutetat de meacutemoire dont le MSB est eacutegal agrave zeacutero

203

Occurrence observeacutee du choix de la prolongation du chemin preacuteceacutedent

Contexte de codage

Longueur de contrainte du code

Message [bit]

Bits de terminaisons

Nombre de messages

Troncation [δp]

Min Max Codeur4eacutetats K=3 1000 2 200000 K2K9K 650 655 Codeur256eacutetats K=9 1000 8 10000 K2K9K 621 656

Table 7-18 analyse du cas ougrave le chemin actuellement choisi est la prolongation du chemin choisi agrave la profondeur preacuteceacutedente Simulations choix systeacutematique du chemin de deacutepart zeacutero opeacuteration de seacutelection (module ACSu) favorisant le choix de la prolongation du chemin preacuteceacutedent conditions de transmission EbN0 de 0 agrave 6 dB

Sur le plan du nombre neacutecessaire dopeacuterations de reconstruction on doit sattendre agrave ce que cette strateacutegie alternative de seacutelection soit plus gourmande que lapproche classique de seacutelection du chemin le plus probable Les reacutesultats des simulations (Table 7-19) prouvent en effet quun nombre supeacuterieur deacutetats est recalculeacute pendant chaque opeacuteration de prise de deacutecision

Moyenne du nombre drsquoeacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dBCodeur4eacutetats 21 338 323 300 271 243 221 207Codeur16eacutetats 35 586 521 446 381 337 311 296Codeur64eacutetats 49 1198 1019 808 642 546 498 472Codeur256eacutetats 63 1475 1253 947 721 606 551 521

Table 7-19 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats 1000 opeacuterations de prise de deacutecision par trame 10000 trames eacutetat de deacutepart zeacutero

La meacutethodologie de seacutelection du chemin est une facteur peacutenalisant surtout dans des situations de transmission favorables en seacutelectionnant soit la prolongation du chemin preacuteceacutedent soit un chemin qui peut se reacuteunir avec le preacuteceacutedent quapregraves K transitions (Figure 7-30) le nombre moyen deacutetats agrave recalculer est superier par rapport agrave lapproche classique (Table 7-17 et Table 7-19)

204

Linfluence du paramegravetre de la distance δp sur le nombre deacutetats agrave recalculer est similaire agrave lapproche classique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-30 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) avec lutilisation de leacutetat de deacutepart zeacutero Simulations contexte de codage codeur16eacutetats 118k opeacuterations de TB analyseacutees

755 Consideacuterations finales

En raison des exigences eacutetablies la reacutealisation du systegraveme de base est fortement influenceacutee par la strateacutegie de lopeacuteration de prise de deacutecision Une eacutetude approfondie de cette opeacuteration a permis deacutevaluer ses potentialiteacutes en exploitant une approche pipeline Cette strateacutegie permet dameacuteliorer le deacutebit de traitement supporteacute par cette opeacuteration en eacuteliminant les limitations dues agrave sa forte composante seacutequentielle Les performances du systegraveme entier deviennent ainsi fonction de lopeacuteration fondamentale de seacutelection des chemins survivants Le prix agrave payer est le doublement des uniteacutes de reconstruction deacutetat ainsi que laugmentation de la consommation deacutenergie due agrave la gestion des multiples opeacuterations parallegraveles Sur le plan de la consommation deacutenergie cette eacutetude a montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection une telle strateacutegie permet denvisager une reacuteduction du nombre dopeacuterations de reconstruction nombre qui passe ainsi de δp agrave des valeurs sapprochant de luniteacute (Table 7-17 et Table 7-19) Limportance de la reacuteduction est eacutevidemment influenceacutee par les conditions de transmission

205

76 Conclusions

Ce septiegraveme chapitre a exploreacute les potentialiteacutes dune reacutealisation ASIC dune meacutethode de deacutecodage se basant exclusivement sur lalgorithme de Viterbi Apregraves lanalyse de la situation actuelle des technologies 3G le systegraveme de deacutecodage a eacuteteacute deacutecrit en deacutecomposant lalgorithme de Viterbi dans ses eacuteleacutements constituants Ces blocs opeacuterationnels sont le bloc responsable du calcul des meacutetriques de branche (BMu) celui de la mise agrave jour des meacutetriques cumuleacutees (ACSu) le bloc responsable de la seacutelection du chemin (BPS) et le bloc de prise de deacutecision par le deacutecodage (TBu) du chemin indiqueacute par le bloc preacuteceacutedent

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Codeur256eacutetats Condition des analyses condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

estimation apregraves synthegravese (Design Compiler de Synopsys)

Temps dexeacutecution

Dissipation inteacuterieure par bit traiteacute

Surface

BMu 181 ns 50 pJ 26middot10-3 mm2 ACSu 432 ns 10 nJ 76middot10-1 mm2 BPS 1535 ns 02 nJ 30middot10-1 mm2 TBu (δp=45) 11357 ns 29 nJ 25 mm2

Table 7-20 estimation des caracteacuteristiques techniques de la synthegravese des blocs constituant le deacutecodeur de Viterbi Le contexte de codage concerne le code convolutif proposeacute par le standard UMTS avec rendement Rc=13

Cette deacutecomposition a permis de traiter seacutepareacutement chaque eacuteleacutement illustrant ainsi ses paramegravetres leurs implications dans lexeacutecution de lalgorithme les options et les variantes de conception Une reacutealisation geacuteneacuterale et parameacutetrable a eacuteteacute choisie pour leacutevaluation des potentialiteacutes dadaptation et des coucircts demploi du systegraveme (Table 7-20) Lutilisation de la technologie VST25-UMC25 (025microm) ainsi que des outils Synopsys Design Compiler (synthegravese logique) et Modelsim de Model

206

Technology Incorporated (outil de simulation) a permis lanalyse critique de chaque bloc constituant ce qui a favoriseacute la proposition et leacutetude de meacutethodes alternatives aux approches communeacutement utiliseacutees Une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision (module BPS) a eacuteteacute ainsi eacutetudieacutee La forte composante seacutequentielle de lopeacuteration de seacutelection du chemin le plus probable a induit lexploration dun autre principe de seacutelection plus simple la deacutesignation dun chemin quelconque de deacutepart Leacutetude a ensuite montreacute la faisabiliteacute de cette solution agrave condition dune adaptation de la distance δp de lopeacuteration de prise de deacutecision La reacutealisation du module TBu neacutecessite ainsi un nombre supeacuterieur duniteacutes de reconstruction deacutetats qui provoque laugmentation de la surface de silicium et du retard algorithmique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

nombre deacutetats reacutecalculeacutes par lopeacuteration de prise de deacutecision

occu

renc

e

chemin le plus prometteur

chemin zeacutero

Figure 7-31 nombre deacutetats qui sont effectivement recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) Condition de la simulation code convolutif proposeacute par le standard UMTS avec rendement Rc=13 condition de transmission EbN0=4dB et 118k opeacuterations de prise de deacutecision analyseacutees

Ce chapitre propose ensuite une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie pipeline preacutevoit une exeacutecution parallegravele de plusieurs opeacuterations de reconstruction Le partage de lopeacuteration de prise de deacutecision en δp eacutetages de reconstruction augmente le deacutebit de traitement du module TBu ainsi que du systegraveme entier Les coucircts de cette strateacutegie sont le doublement des uniteacutes de reconstruction deacutetat laugmentation du retard algorithmique et la consommation deacutenergie demandeacutee par la gestion des multiples opeacuterations parallegraveles Lanalyse de lopeacuteration de prise de deacutecision a successivement montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des

207

opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection on peut envisager une reacuteduction du nombre dopeacuterations de reconstruction exeacutecuteacutees nombre qui passe ainsi de δp (reconstruction complegravete) agrave des valeurs sapprochant de luniteacute (Figure 7-31) Ce chapitre a prouveacute la faisabiliteacute et les potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi Cet algorithme possegravede des caracteacuteristiques importantes la description de lalgorithme utilise un nombre reacuteduit de paramegravetres et elle ne neacutecessite daucuns systegravemes de controcircle ou de reacuteglage de la qualiteacute de lopeacuteration de deacutecodage (situation dindeacutependance algorithmique des conditions de transmission des donneacutees) Gracircce agrave ces caracteacuteristiques de lalgorithmique de Viterbi les principaux inconveacutenients et limites de souplesse des reacutealisation ASIC ninterfegraverent que marginalement avec la conception du systegraveme CE chapitre a montreacute aussi quune approche coprocesseur augmente la souplesse demploi de la reacutealisation mateacuterielle de lalgorithme de Viterbi

Reacutefeacuterences

[BDTi1] Berkeley Design Technology Inc (BDTi) The BDTImark2000TM A Measure of DSP Execution Speed livre blanc 1997-2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi3] Berkeley Design Technology Inc (BDTi) Evaluating the Latest DSPs for Portable Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi6] Berkeley Design Technology Inc (BDTi) The BDTiMark2000 A Summary Measure of Signal Processing Speed septembre 2004 page Internet acceacutedeacutee en automne 2004 wwwbdticom

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

208

[FhG01] Fraunhofer Institut Integrierte Schaltungen CorePool FHG_VITERBI Databook version 15 juillet 2001

[Gath00] A Gatherer T Stetzler M McMahan E Auslander DSP-based Architectures for Mobile Communications Past Present and Future IEEE Communications Magazine janvier 2000 pp84-90

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gras01] L Grasso Implementation of a parameterized family of Viterbi Decoders rapport final de projet IMT Universiteacute de Neuchacirctel Neuchacirctel deacutecembre 2001

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese de Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Min91] BndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru312] Texas Instruments TMS320C55x DSP Functional Overview document SPRU312 juin 2000

[Spru393] Texas Instruments TMS320C55x Technical Overview document SPRU393 feacutevrier 2000

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

209

8 Comparaison des caracteacuteristiques des deux architectures software et

hardware

Les chapitres preacuteceacutedents ont preacutesenteacute laspect du deacuteveloppement dun systegraveme de deacutecodage en consideacuterant les caracteacuteristiques et les points forts des deux approches lune software et lautre par un circuit suppleacutementaire ASIC Ce chapitre se concentre sur les coucircts demploi de tels systegravemes indeacutependamment de leurs difficulteacutes de reacutealisation et du temps neacutecessaire agrave leur deacuteveloppement Les aspects cleacutes sont la vitesse de traitement la consommation deacutenergie et la surface de silicium

Ce chapitre traite seacutepareacutement chacun de ces aspects de maniegravere de mettre en eacutevidence les caracteacuteristiques et les potentialiteacutes de chaque approche Lanalyse critique de chaque aspect examine les deux types dapproches software et hardware de maniegravere indeacutependante et se conclue avec une comparaison de leurs potentialiteacutes La meacutethode de deacutecodage utiliseacutee pour lanalyse critique est lalgorithme de Viterbi

Les potentialiteacutes des deux approches sont estimeacutees agrave partir des reacutesultats preacutesenteacutes dans ce document ainsi que par les informations disponibles du marcheacute des DSP et de la technologie de synthegravese UMC25-025microm [UMC25]

81 Introduction

Dans le domaine du traitement numeacuterique du signal et de la teacuteleacutecommunication mobile la comparaison des coucircts demploi dun systegraveme prend principalement en compte trois aspects Ces aspects sont le deacutebit de traitement leacutenergie neacutecessaire pour le traitement dun bit dinformation et la surface de silicium utiliseacutee par le circuit Par conseacutequent le coucirct total

210

dutilisation dun systegraveme peut ecirctre deacutefini par une contribution eacutegale de ces trois aspects principaux [Feld02] Dans ce chapitre chacun de ces aspects sera traiteacute seacutepareacutement de maniegravere agrave mieux comprendre les caracteacuteristiques et les potentialiteacutes propres agrave chaque approche

82 Deacutebit du traitement

Le premier aspect traiteacute est le deacutebit du traitement Cet aspect est fondamental pour situer les champs dapplication des deux approches (hardware et software) dans le contexte de la communication mobile Les standards UMTS preacutevoient un deacutebit de transmission extrecircmement variable qui peut atteindre en effet 144 kbps lors dune utilisation dans des veacutehicules en mouvement 384 kbps pour une utilisation peacutedestre et 2 Mbps agrave linteacuterieur des bacirctiments Afin de permettre une analyse correcte les comparaisons des deux approches concernent limplantation et la reacutealisation mateacuterielle de lalgorithme de Viterbi Toutefois les performances de limplantation software de lalgorithme List Decoding seront eacutegalement estimeacutees

821 Approche software

Le deacutebit de traitement des DSP est estimeacute agrave partir des charges de calcul des implantations et des directives de complexiteacutes des opeacuterations de lETSI (Sous-section 632) A laide destimations successives le nombre de cycles dinstructions ainsi que le temps dexeacutecution neacutecessaire peuvent ecirctre eacutevalueacutes en consideacuterant les caracteacuteristiques et les potentialiteacutes propres aux familles DSP Algorithme de Viterbi La premiegravere eacutetape est la caracteacuterisation et la modeacutelisation de la complexiteacute de calcul de lalgorithme de Viterbi Lalgorithme de Viterbi peut ecirctre modeacuteliseacute par la complexiteacute de calcul de lopeacuteration de seacutelection dun chemin survivant (Table 8-1) La normalisation de la complexiteacute observeacutee par le nombre de reacutepeacutetitions de cette opeacuteration permet deacutetablir limportance de cette opeacuteration dans lexeacutecution de lalgorithme de Viterbi (Table 8-1)

211

En comparant cette valeur normaliseacutee avec la complexiteacute de calcul effectivement neacutecessaire agrave cette opeacuteration de seacutelection sa preacutedominance est eacutevidente les complexiteacutes de calcul des autres tacircches (notamment la deacutetermination des meacutetriques de branches la seacutelection du chemin le plus prometteur et lopeacuteration de prise de deacutecision) ne contribuent que de maniegravere minoritaire (moins de 20) agrave la complexiteacute totale du calcul Contrairement agrave lapproche hardware la contribution de la tacircche de prise de deacutecision se limite agrave 10 Ceci est ducirc agrave la simpliciteacute de lexeacutecution de cette tacircche qui consiste dans la lecture successive des δp eacutetats preacuteceacutedents du chemin seacutelectionneacute (Sous-section 642)

Table 8-1 vue densemble de la complexiteacute de calcul de lalgorithme de Viterbi Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122 kbps troncation de la meacutemoire δ=54 () Cette proceacutedure implique la mise agrave jour des deux meacutetriques cumuleacutees leur comparaison et la seacutelection du chemin survivant

Cette meacutethodologie de modeacutelisation permet une comparaison correcte des performances entre lapproche software et ASIC en limitant la forte influence

Observation de lexeacutecution de la tacircche de deacutecodage

Facteur de poids des opeacuterations (ITUETSI)

Nombre moyen drsquoopeacuterations observeacutees

Complexiteacute moyenne normaliseacutee par le nombre dopeacuterations de seacutelection (24830 opeacuterations)

Complexiteacute de calcul de la seule proceacutedure de seacutelection dun chemin survivant (code C) ()

[WCwOP opeacuteration]

[opeacuterations] [WCwOP] [WCwOP]

Additions 1 49670 20 20Increacutementations 1 1435 01 00Soustractions 1 293 00 00Transf de donneacutees 1 182888 74 60Logique 1 147769 60 55Deacutecalages 1 78584 32 30Controcircles 2 142734 115 80Point assignations 729Point arithmeacutetique 3637B initialisations 26906B controcircles 124270B increacutementations

0

97305

00 00

Grand total 856230 302 245

212

du type dexeacutecution (seacutequentielleparallegravele) de la tacircche de seacutelection Cette meacutethodologie offre en plus un moyen destimation du deacutebit de traitement dans dautres contextes de codage ougrave non seulement le nombre de bits du message change mais aussi les longueurs de contrainte K 49 Effets de la description souple des meacutethodes de deacutecodage Afin de permettre une comparaison eacutequitable avec lapproche hardware les implications dues agrave une description souple de lalgorithme doivent ecirctre quantifieacutees La strateacutegie souple de description de lalgorithme permet ladaptation aux autres contextes de codage par la modification du paramegravetre de longueur de contrainte K et des fonctions geacuteneacuteratrices Gi Cette souplesse entraicircne une augmentation de la charge de calcul due agrave la difficulteacute doptimisation du code qui en deacutecoule Une eacutevaluation du facteur daugmentation est possible en comparant cette complexiteacute avec celle potentiellement reacutealisable par une implantation ideacuteale de la tacircche de seacutelection Pour cette derniegravere qui repreacutesente la limite infeacuterieure de complexiteacute de cette tacircche on considegravere lexeacutecution de la seacutequence dopeacuterations suivante

bull chargement des anciennes meacutetriques cumuleacutees appartenant aux deux eacutetats preacuteceacutedents (deux opeacuterations de Transferts de donneacutees)

bull chargement des actuelles meacutetriques de branches qui sont coupleacutees aux deux transitions traiteacutees (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull seacutelection du chemin survivant par lidentification de la meilleure

meacutetrique cumuleacutee (une opeacuteration de controcircle) bull stockage des valeurs de meacutetrique cumuleacutee et de linformation neacutecessaire

agrave la reconstruction du chemin survivant (deux opeacuterations de Transferts de donneacutees)

Selon les indications des organisations ITU et ETSI (Basic Operations Table 8-1) la complexiteacute de cette seacutequence dopeacuterations est de 10 weighted operations (wOP) En consideacuterant une contribution minimale des autres tacircches50 estimeacutee agrave 10 de la complexiteacute totale la limite infeacuterieure de complexiteacute de lalgorithme de Viterbi peut se situer autour de 11 wOPeacutetat En

49 Il faut se rappeler que la longueur de contrainte K du code deacutetermine le nombre

dopeacuterations de seacutelection du chemin survivant qui sont impliqueacutees dans le traitement de chaque bit dinformation

50 On considegravere seulement la contribution de lopeacuteration de prise de deacutecision

213

comparant cette limite infeacuterieure avec la complexiteacute de calcul observeacutee la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme de Viterbi (Sections 64 et 66) peut ecirctre estimeacutee agrave un facteur 25 (Table 8-1) Algorithme List Decoding Dans ce paragraphe on caracteacuterise lalgorithme List Decoding ce qui permet une meilleure compreacutehension de ses potentialiteacutes De maniegravere analogue agrave lalgorithme de Viterbi le premier aspect traiteacute est limportance de lopeacuteration caracteacuterisant lalgorithme List Decoding la propagation de deux chemins agrave partir dun chemin appartenant agrave la liste des chemins les plus prometteurs Cette opeacuteration implique la deacutetermination des eacutetats de meacutemoire des deux chemins ainsi que le calcul de leurs meacutetriques cumuleacutees

Complexiteacute moyenne observeacutee normaliseacutee par le nombre total de chemins prolongeacutes

List Decoding L=128 (12671 propagations)

List Decoding L=64 (6527 propagations)

List Decoding L=32 (3423 propagations)

Complexiteacute de calcul de la proceacutedure de propagation (code C) ()

[WCwOP] [WCwOP] [WCwOP] [WCwOP]Additions 21 21 22 20Increacutementations 65 64 62 60Soustractions 00 00 00 00Multiplications 00 00 00 00Transferts de donneacutees 75 78 83 50Logique 43 45 47 40Deacutecalages 21 20 20 20Controcircles 277 288 310 140Grand total 502 516 544 330

Table 8-2 vue densemble de la complexiteacute de calcul de lalgorithme List Decoding Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122kbps sans proceacutedure de troncation de la meacutemoire () cette proceacutedure implique la deacutetermination de deux nouveaux eacutetats et le calcul des meacutetriques cumuleacutees relatives

Lanalyse de la charge de calcul (Table 8-2) montre que la preacutedominance de lopeacuteration fondamentale de propagation est affaiblie par les opeacuterations de

214

gestion de la liste des L chemins les plus prometteurs Les reacutesultats illustreacutes par la Table 8-2 montrent un rapport entre la complexiteacute totale normaliseacutee et celle de lopeacuteration de propagation de 32 Contrairement agrave lalgorithme de Viterbi la structure algorithmique de la meacutethode List Decoding deacutecompose la proceacutedure de recherche en deux parties distinctes et non-neacutegligeables La premiegravere partie comprend les opeacuterations fondamentales de propagations des chemins Cette partie est la plus complexe (autour de 23 de la complexiteacute totale de calcul Table 8-2) et peut ecirctre implanteacutee de maniegravere parallegravele La seconde partie est responsable de la gestion de la liste de chemins ainsi prolongeacutes Lexeacutecution de cette tacircche est caracteacuteriseacutee par une utilisation seacutequentielle et massive dopeacuterations de controcircles et de transferts de donneacutees La complexiteacute de calcul de cette partie demande un tiers de la complexiteacute totale de calcul Limite infeacuterieure de complexiteacute de calcul de lopeacuteration de propagation La deacutetermination de la limite infeacuterieure de complexiteacute de lopeacuteration de propagation est un eacuteleacutement utile pour la caracteacuterisation algorithmique de la meacutethode Dans ce cas lopeacuteration minimaliste de propagation peut ecirctre repreacutesenteacutee par la seacutequence dopeacuterations suivante

bull chargement de leacutetat de meacutemoire dun chemin contenu dans la liste des chemins agrave prolonger ainsi que sa meacutetrique cumuleacutee (une opeacuteration de controcircle et deux opeacuterations de Transferts de donneacutees)

bull deacutetermination des valeurs des deux nouveaux eacutetats qui sont atteints par la propagation du chemin concerneacute (deux opeacuterations de Transferts de donneacutees)

bull chargement des meacutetriques de branches qui sont coupleacutees aux deux transitions impliqueacutees dans la propagation (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull stockage des valeurs des meacutetriques cumuleacutees et des informations

neacutecessaires agrave la reconstruction des chemins (quatre opeacuterations de Transferts de donneacutees)

La complexiteacute de cette seacutequence dopeacuterations est de 14 wOP En consideacuterant la contribution des autres opeacuterations constituant lalgorithme (estimeacutee agrave 13 de la complexiteacute totale) la limite infeacuterieure de complexiteacute de la meacutethode List Decoding peut ecirctre ainsi estimeacutee agrave 21 wOPchemin propageacute Cette limite permet destimer la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme List Decoding (Section 67) agrave un facteur 2 (Table 8-2)

215

Nombre de cycles dinstructions demandeacutes par limplantation software En tenant compte de la modeacutelisation des algorithmes on procegravede agrave la seconde eacutetape de lestimation du deacutebit de traitement Cette eacutetape implique lestimation du nombre minimal de cycles dinstructions qui sont neacutecessaires au DSP pour laccomplissement de lopeacuteration de deacutecodage Leacuteleacutement crucial de cette estimation est la modeacutelisation du rapport existant entre les opeacuterations deacutefinies par la description des algorithmes et le nombre effectif dinstructions Vu que les complexiteacutes (typiques) de chaque opeacuteration ont deacutejagrave eacuteteacute prises en consideacuteration par les facteurs de pondeacuterations de lITUETSI il reste agrave deacutefinir le degreacute defficaciteacute de la geacuteneacuteration du code Le degreacute defficaciteacute exprime le rapport entre la complexiteacute de calcul et le nombre de cycles dinstructions effectivement neacutecessaires au DSP (wMOPSMIPS) Par conseacutequent le degreacute defficaciteacute nest pas uniquement influenceacute par les caracteacuteristiques techniques du DSP mais aussi par le type de langage utiliseacute par le mode de description (langage agrave haut ou bas niveau) par le style de programmation et par les performances des compilateurs Pour ces raisons les eacutevaluations algorithmiques du Chapitre 6 se sont limiteacutees au comptage des divers types dopeacuterations afin de ne pas se concentrer sur une situation de deacuteveloppement particuliegravere etou une famille DSP speacutecifique

Estimation Contexte de codage Estimation de la

complexiteacute minimale de calcul par opeacuteration fondamentale

Limite infeacuterieure de complexiteacute de calcul par bit du message

Degreacute defficaciteacute de la geacuteneacuteration du code

Nombre de cycles dinstructions neacutecessaires au DSP par bit dinformation

[wOP opeacuteration]

[wOPbit] [wMOPSMIPS] [MIPSbit]

Codeur4eacutetats 11 44 1 1 0044 middot10-3 Codeur16eacutetats 11 176 1 1 018 middot10-3 Codeur64eacutetats 11 704 1 1 070 middot10-3 Codeur256eacutetats 11 2816 1 1 28 middot10-3

Table 8-3 exemple destimation du nombre dinstructions neacutecessaire pour lexeacutecution de lalgorithme de Viterbi Les valeurs sont obtenues agrave partir de lestimation de la complexiteacute minimale de calcul par opeacuteration fondamentale et du degreacute defficaciteacute empirique de 11 wMOPSMIPS

216

Malgreacute la difficulteacute agrave deacutefinir le degreacute defficaciteacute sans speacutecifier un environnement de deacuteveloppement un rapport de conversion wMOPSMIPS de 11 a eacuteteacute choisi pour les comparaisons avec lapproche ASIC En utilisant ce rapport qui repreacutesente une description et une conversion optimale du code software en code binaire la Table 8-3 montre les estimations du nombre de cycles dinstructions neacutecessaires agrave lexeacutecution de lalgorithme de Viterbi dans les quatre contextes de codage (Sous-section 722) Comparaison des deux algorithmes Viterbi vs List Decoding La modeacutelisation des deux algorithmes permet la comparaison des exigences de calcul indeacutependamment du contexte de codage et de la qualiteacute de la description de lalgorithme (Table 8-4)

Estimation Estimation de la complexiteacute de calcul par opeacuteration fondamentale ()

Limite infeacuterieure de complexiteacute de calcul par bit du message

Grade defficaciteacute de la geacuteneacuteration du code

Deacutebit de lapplication

Exemple dapplication dans le contexte UMTS

Contexte de deacutecodage algorithme utiliseacute

[wOPopeacuteration] [wOPbit] [wMOPSMIPS]

Nombre de cycles dinstructions pour lexeacutecution en temps reacuteel

Viterbi 11 2816 1 1 900 MIPS 320kbps

Deacutebit maximal par DPDCH 960kbps (codes Rc=13)

LDecoding L= 64 21 1344 1 1 430 MIPS

Viterbi 11 2816 1 1 34 MIPS 122 kbps

Service de parole agrave 122kbps LDecoding

L= 64 21 1344 1 1 16 MIPS () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-4 exemple destimation du nombre dinstructions demandeacutees par les deux algorithmes dans le contexte du standard UMTS [Ts25212] Les valeurs sont obtenues agrave partir de lestimation de la limite infeacuterieure de complexiteacute de calcul par opeacuteration fondamentale et dun degreacute defficaciteacute de la geacuteneacuteration du code de 11 wMOPSMIPS

A la diffeacuterence de lalgorithme de Viterbi le List Decoding contre-balance lavantage dun reacuteglage du nombre dopeacuterations de propagation par laugmentation de la complexiteacute de calcul de son opeacuteration fondamentale Le

217

changement du type de recherche (du critegravere de seacutelection du chemin survivant agrave la propagation controcircleacutee des chemins) implique le doublement de la complexiteacute de calcul neacutecessaire au traitement de chaque chemin Dans le contexte de codage UMTS (Chapitre 6) la diminution dun facteur 4 du nombre de chemins traiteacutes permet agrave lalgorithme List Decoding de reacuteduire ainsi de moitieacute les exigences de calcul Vitesse dexeacutecution les potentialiteacutes offertes par le DSP La derniegravere eacutetape de lestimation est la conversion du nombre de cycles dinstruction dans le nombre de peacuteriodes dhorloge du DSP Cette eacutetape de lestimation implique la prise en compte des caracteacuteristiques et des potentialiteacutes propres agrave chaque DSP

Familles DSP (hiver 2002-03) StarCore SC140

Texas Instruments TMS320C64x

Texas Instruments TMS320C62x

Texas Instruments TMS320C54x

Analog Devices 219x

Freacutequence dhorloge maximale

300 MHz 600 MHz 300 MHz 160 MHz 160 MHz

Nombre duniteacutes fonctionnelles

4 8 8 1 1

MIPS maximal (deacuteclareacute)

1200 MIPS 4800 MIPS 2400 MIPS 160 MIPS 160 MIPS

SIMD 2x16-bit 4x8-bit 4x8-bit - -Uniteacutes ou instructions facilitant lexeacutecution de la tacircche de deacutecodage

Instructions speacutecifiques facilitant limplantation de lalgorithme de Viterbi

TMS320C6416Coprocesseur deacutedieacute agrave lexeacutecution de lalgorithme de Viterbi (VCP)

- Uniteacute speacuteciale Compare Select and Store Unit (CCSU)

-

Table 8-5 vue densemble des caracteacuteristiques et des potentialiteacutes de certaines familles DSP Lexploitation optimale de la redondance des uniteacutes fonctionnelles et lexploitation des uniteacutes speacuteciales neacutecessite lemploi du langage agrave bas niveau propre au DSP Les donneacutees de cette table proviennent des sites Internet des fabricants (situation hiver 2002-03)

218

Lexeacutecution des opeacuterations de deacutecodage est influenceacutee par larchitecture interne du DSP ainsi que par la redondance des uniteacutes fonctionnelles et par la disponibiliteacute duniteacutes speacuteciales Les structures des deux algorithmes permettent en effet une exeacutecution parallegravele dopeacuterations ainsi que la concateacutenation dinstructions Au contraire des beacuteneacutefices apporteacutes par les architectures classiques des DSP (qui sont consideacutereacutes agrave laide des fonctions Basic Operations) les contributions apporteacutees par la redondance des uniteacutes et la disponibiliteacute duniteacutes speacuteciales ne sont pas facilement geacuteneacuteralisables Exemples caracteacuteristiques Afin de prendre connaissance des potentialiteacutes des familles DSP un groupe restreint de DSP sont utiliseacutes agrave titre dexemple (Table 8-5) Ce groupe de DSP est caracteacuteriseacute par diffeacuterentes freacutequences dhorloge ainsi que par une varieacuteteacute en termes de redondance et doffre duniteacutes speacuteciales Larticle de M Du [DuAz00] traite de limplantation optimale de lalgorithme de Viterbi exploitant les potentialiteacutes de ces DSP (Table 8-6) Bien que le contexte de codage consideacutereacute dans larticle (code convolutif avec longueur K=5 et rendement Rc=12) diffegravere de ceux traiteacutes dans cette eacutetude les reacutesultats de cet article permettent une prise de connaissance des contributions des moyens speacuteciaux mis agrave disposition par certains DSP (Table 8-7) Lefficaciteacute des moyens speacuteciaux des DSP est prouveacutee en observant les reacutesultats de lestimation de la Table 8-6 tout en consideacuterant une complexiteacute de calcul minimale de 10 wOP pour lopeacuteration de seacutelection dun chemin survivant La disponibiliteacute duniteacutes redondantes et de fonctions SIMD permet tout dabord une implantation parallegravele des opeacuterations en tirant profit de la structure reacuteguliegravere et parallegravele des algorithmes On trouve par exemple le DSP StarCore SC140 et les familles DSP de Texas Instruments TMS320C62x et C64x Une reacuteduction du nombre de cycles est eacutegalement reacutealisable en disposant duniteacutes speacuteciales de traitement (exemple le DSP StarCore SC140 et la famille DSP de Texas Instruments TMS320C54x) Toutefois ces uniteacutes sadressent speacutecifiquement agrave lexeacutecution de lalgorithme de Viterbi limplantation dautres meacutethodes de deacutecodage ne beacuteneacuteficie que partiellement de ces moyens speacuteciaux

219

DSP

Nom

bre

dun

iteacutes

fonc

tionn

elle

s

Nom

bre

indi

catif

de

peacuteri

odes

d

horl

oge

pour

la p

roceacute

dure

de

seacutele

ctio

n d

un se

ul c

hem

in

surv

ivan

t () [D

uAz0

0]

Tec

hnol

ogie

Ten

sion

da

limen

tatio

n du

co

re

Vite

sse

max

imal

e de

la

fam

ille

DSP

[B

DT

i2]

Est

imat

ion

du te

mps

neacute

cess

aire

agrave l

exeacutec

utio

n d

une

opeacuter

atio

n de

seacutele

ctio

n

(est

imat

ion

opeacuter

atio

nss

)

TMS320 C64x 8 () 088 012 microm 14 V 600 MHz 147 ns

(680 MHz)StarCore SC140 4 () 063 15 V 300 MHz 210 ns

(470 MHz)TMS320 C62x 8 () 239 015 microm 15 V 300 MHz 797 ns

(125 MHz)TMS320 C54x 1 () 384 16 V 160 MHz 240 ns

(40 MHz)

Table 8-6 vue densemble des potentialiteacutes offertes par lutilisation optimale des ressources structurelles et fonctionnelles de certaines familles DSP () Ces valeurs sont indicatives elles ont eacuteteacute extraites dun autre contexte de codage (code convolutif avec longueur de contrainte K=5 et rendement Rc=12) preacutesenteacute par larticle de M Du [DuAz00]

Estimation

Temps neacutecessaire au traitement dun bit dinformation (estimation bitss)

DSP

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

TMS320C64x 59 ns(170 Mbps)

23 ns(43 Mbps)

94 ns (11 Mbps)

375 ns(26 Mbps)

StarCore SC140 84 ns(120 Mbps)

34 ns(29 Mbps)

134 ns (75 Mbps)

538 ns(19 Mbps)

TMS320C62x 32 ns(31 Mbps)

127 ns(79 Mbps)

510 ns (20 Mbps)

2040 ns(05 Mbps)

TMS320C54x 96 ns(10 Mbps)

384 ns(26 Mbps)

1536 ns (07 Mbps)

6150 ns(02 Mbps)

Table 8-7 estimation des potentialiteacutes de traitement quon peut obtenir en exploitant les ressources structurelles et fonctionnelles des DSP Lestimation se base sur les informations extraites de larticle de M Du (Table 8-6) [DuAz00]

220

La freacutequence dhorloge des DSP influence ensuite le temps dexeacutecution des opeacuterations de deacutecodage Ceci est eacutevident en comparant le temps de traitement estimeacute du DSP StarCore SC140 et du TMS320C64x si le premier DSP optimise le nombre de peacuteriodes en exploitant au mieux tous les moyens structurels et hardwares disponibles le second atteint de meilleures performances en beacuteneacuteficiant dune freacutequence dhorloge nettement supeacuterieure

822 Approche ASIC

Les potentialiteacutes de deacutebit de traitement dune reacutealisation ASIC sont deacutetermineacutees par les performances de luniteacute ACSu qui est chargeacutee de la seacutelection des chemins survivants

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Synopsys Design Compiler (apregraves synthegravese)

(estimation du nombre de bits traiteacute par seconde apregraves routage)() Uniteacute TBu

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Structure seacutequentielle δp =45

Structure pipeline

estimation Codeur4eacutetats 039 ns

(1300 Mbitss) 237 ns

(210 Mbitss)224 ns

(220 Mbitss)1308 ns

(38 Mbitss) 061 ns

(820 Mbitss)Codeur16eacutetats 092 ns

(540 Mbitss) 257 ns

(190 Mbitss)542 ns

(92 Mbitss)5995 ns

(8 Mbitss) 116 ns

(430 Mbitss)Codeur64eacutetats 158 ns

(320 Mbitss) 340 ns

(150 Mbitss)1060 ns

(47 Mbitss)8817 ns

(6 Mbitss) 187 ns

(270 Mbitss)Codeur256eacutetats 181 ns

(280 Mbitss) 432 ns

(120 Mbitss)1535 ns

(33 Mbitss)11357 ns

(4 Mbitss) 209 ns

(240 Mbitss)() Perte de compeacutetitiviteacute estimeacutee agrave un facteur 2

Table 8-8 vue densemble des valeurs concernant le temps dexeacutecution des divers modules

Les performances du circuit de base sont tout dabord deacutetermineacutees par la reacutealisation des uniteacutes responsables de la prise de deacutecision (Table 8-8) Bien que leacutetude de la Section 73 se concentre sur lexeacutecution seacutequentielle et continue de cette opeacuteration de deacutecision des solutions envisageant une augmentation du deacutebit de traitement sont reacutealisables Une prise de deacutecision multiple lutilisation des structures pipeline et les techniques utilisant le deacutecodage dun chemin survivant quelconque permettent en effet de reacuteduire sensiblement le temps dexeacutecution des tacircches de ces uniteacutes TBu et BPS Ce faisant la reacutealisation de luniteacute ACSu devient leacuteleacutement crucial caracteacuterisant le potentiel de deacutebit de traitement du systegraveme

221

La reacutealisation de luniteacute ACSu du systegraveme emploie une strateacutegie classique

bull Lopeacuteration de mise agrave jour des deux meacutetriques cumuleacutees et la comparaison suivante sont exeacutecuteacutees de maniegravere individuelle lune apregraves lautre et

bull La reacutealisation physique utilise seulement des blocs de logiques standards

Une ameacutelioration ulteacuterieure du deacutebit de traitement peut ecirctre atteinte par dautres strateacutegies de reacutealisation plus performantes et par la concateacutenation des opeacuterations de seacutelection du chemin survivant ([Fett90] [Kapp92] et [Saou02])

823 Comparaison des potentialiteacutes de deacutebit de traitement des deux approches

Le premier facteur causant une perte importante de compeacutetitiviteacute est la divergence entre la modaliteacute dexeacutecution (parallegravele ou seacutequentielle) et les caracteacuteristiques algorithmiques de la meacutethode de deacutecodage Lutilisation dune technologie plus performante favorise ensuite la rapiditeacute de traitement Les deux meacutethodes de deacutecodage montrent de fortes composantes parallegraveles ainsi que seacutequentielles En ce qui concerne lalgorithme de Viterbi lopeacuteration de seacutelection des 2(K-1) chemins survivants montre une structure reacuteguliegravere et parallegravele alors que lopeacuteration de prise de deacutecision demande une exeacutecution seacutequentielle Lanalyse du temps neacutecessaire agrave lexeacutecution de lopeacuteration de seacutelection dun chemin survivant illustre la perte de compeacutetitiviteacute due agrave une exeacutecution entiegraverement seacutequentielle de cette opeacuteration fondamentale (Figure 8-1) La disponibiliteacute dun traitement parallegravele indeacutependamment du type dapproche hardware et software permet lexploitation du paralleacutelisme implicite dans lopeacuteration Aux extrecircmes on trouve ainsi lapproche ASIC (qui exploite exhaustivement le paralleacutelisme disponible) et la famille de DSP AD219x (qui ne dispose ni de traitements redondants ni duniteacutes speacuteciales facilitant limplantation de lalgorithme) La Figure 8-1 montre aussi la contribution de la technologie sur le temps dexeacutecution de lopeacuteration (TMSC64x technologie 012 TMSC62x technologie 015 Table 8-6) Le deacutebit de traitement du systegraveme est deacutetermineacute par lexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant ainsi que de lopeacuteration de prise de deacutecision (Figure 8-2)

222

Gracircce agrave sa nature lapproche ASIC peut exploiter exhaustivement le paralleacutelisme de lalgorithme reacuteduisant ainsi le temps dexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant Les approches software peuvent reacuteduire la perte de compeacutetitiviteacute dune exeacutecution seacutequentielle des opeacuterations en utilisant des DSP qui disposent duniteacutes fonctionnelles redondantes dinstructions SIMD duniteacutes de traitement speacuteciales ainsi que de performances supeacuterieures dues agrave une technologie plus compeacutetitive Le prix agrave payer est le renoncement progressif agrave une description souple de lalgorithme et agrave lutilisation dun langage agrave haut niveau

0

10

20

30

40

50

60

70

Tem

ps d

exeacute

cutio

n po

ur l

opeacuter

atio

n A

CS

[ns]

AS

IC 4

eacuteta

ts

AS

IC 1

6 eacutet

ats

AS

IC 6

4 eacutet

ats

AS

IC 2

56 eacute

tats

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es21

9x

Figure 8-1 comparaison du temps neacutecessaire agrave lexeacutecution dune tacircche de seacutelection (ACS) en fonction de lapproche suivie En vert sont repreacutesenteacutees les reacutealisations ASIC (systegraveme de base) en bleu les eacutevaluations dimplantations software sur DSP (baseacutees sur les implantations assembleur de larticle [DuAz00] Table 8-6) Le temps dexeacutecution relatif agrave la famille de DSP 219x de Analog Devices se base sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS (10 wOP 11 wMOPSMIPS) implantation qui ne dispose ni duniteacutes speacuteciales ni de fonctions deacutedieacutees facilitant limplantation de lalgorithme de Viterbi

223

La Figure 8-2 met en eacutevidence les limites du systegraveme de deacutecodage hardware deacutecrit dans le Chapitre 7 Lexeacutecution seacutequentielle de lopeacuteration de prise de deacutecision limite le deacutebit de traitement du systegraveme entier (Table 8-8) diminuant leacutecart de performances avec les implantations software les plus compeacutetitives Une reacutealisation diffeacuterente de cette opeacuteration (par exemple une prise de deacutecision multiple ou une strateacutegie dexeacutecution pipeline) permet agrave nouveau de beacuteneacuteficier des importantes potentialiteacutes de lapproche mateacuterielle (Figure 8-2)

AS

IC m

ax

AS

IC s

ystb

ase

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es 2

19x

codeur256eacutetatscodeur64eacutetatscodeur16eacutetatscodeur4eacutetats

0

50

100

150

200

250

Deacuteb

it de

trai

tem

ent [

Mbp

s]

Figure 8-2 vue densemble des potentialiteacutes de deacutebit de traitement Les solutions eacutevalueacutees sont une reacutealisation ASIC caracteacuteriseacutee seulement par lopeacuteration ACS 51 (max) le systegraveme de base et les implantations software sur DSP de larticle de M Du [DuAz00] (Table 8-8) Les potentialiteacutes de la famille de DSP 219x de Analog Devices se basent sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS de 10 wOP avec une efficaciteacute de 11 wMOPSMIPS

51 Solution impliquant soit une prise de deacutecision multiple de plusieurs bits dinformations

(Annexe C Figure C-8) soit lexeacutecution pipeline de lopeacuteration de prise de deacutecision

224

83 Dissipation deacutenergie par symbole traiteacute

Cette section traite de la dissipation deacutenergie Lestimation des valeurs de dissipation de lapproche software se base toujours sur leacutevaluation du nombre de cycles dinstructions qui sont neacutecessaires au DSP pour accomplir la tacircche attribueacutee Par contre les estimations relatives agrave lapproche hardware utilisent les reacutesultats de synthegravese du systegraveme de base

831 Approche software

Une estimation de la dissipation deacutenergie neacutecessite la connaissance du nombre dinstructions exeacutecuteacutes ainsi que les valeurs de dissipation typique de chaque classe dinstruction du DSP Par conseacutequent deux eacuteleacutements entrent en jeu dans ce type destimation les instructions du code binaire et les caracteacuteristiques de consommation des opeacuterations du DSP Si le premier eacuteleacutement peut ecirctre estimeacute par le comptage des Basic Operations la caracteacuterisation de la consommation des diffeacuterentes opeacuterations est difficile Non seulement il sagit dinformations sensibles (et donc difficiles agrave obtenir des fabriquants et aussi difficiles agrave veacuterifier) mais elles varient sensiblement de DSP en DSP Eacutevaluation simplifieacutee Ne disposant pas de ces informations la meacutethode deacutevaluation choisie estime le nombre total de cycles dinstructions neacutecessaires agrave lexeacutecution de la tacircche nombre qui est ensuite pondeacutereacute par une valeur typique de dissipation deacutenergie Le point critique de cette eacutevaluation est uniquement la deacutetermination de la valeur de dissipation typique par cycle dinstruction Par contre la simplification de la meacutethode deacutevaluation rend impossible lappreacuteciation dune implantation utilisant des instructions agrave faible consommation Afin dexplorer de maniegravere correcte les potentialiteacutes des DSP on analyse la consommation typique des familles de DSP agrave basse consommation Plus preacuteciseacutement la consommation deacutenergie par instructions Multiply-Accumulate

225

(MuAcc)52 [Gath02] de la classe de DSP agrave basse consommation du fabricant Texas Instruments (Figure 8-3)

1982 1994 1997 2000199119881985

100

001

01

1

10

100032010 5V

C15 5VC25 5V

C15 33V C52 5V

C52 33V C548 33VC5410 25V

C5409 18VC5402 12V

C5510 15V

anneacutee

mW

MM

uAcc

s

Figure 8-3 tendance agrave la reacuteduction de la dissipation deacutenergie par million dinstructions MuAccs de DSP agrave basse consommation de Texas Instruments [Gath02]

Lobservation de ces valeurs de dissipation met en eacutevidence la tendance agrave la reacuteduction de moitieacute de la consommation deacutenergie (par instructions Multiply-Accumulate) chaque 18 mois En supposant ainsi une valeur de dissipation typique par instruction eacutegale agrave la consommation de linstruction Multiply-Accumulate une valeur de 01mWMIPS peut ecirctre utiliseacutee agrave titre de reacutefeacuterence indeacutependamment de la puissance de calcul offerte par cette classe de DSP agrave basse consommation Lanalyse des Table 8-1 et Table 8-2 montre que les descriptions algorithmiques des algorithmes de Viterbi et de List Decoding nutilisent pas dopeacuterations coucircteuse comme la multiplication On pourrait ainsi supposer que lutilisation geacuteneacuteraliseacutee de cette valeur de reacutefeacuterence puisse mener agrave une estimation surdimensionneacutee de la consommation deacutenergie Par conseacutequent on preacutevoit une seconde eacutevaluation utilisant une valeur de reacutefeacuterence moins oneacutereuse

52 Une opeacuteration Multiply-Accumulate consiste en le chargement de deux opeacuterandes

depuis la meacutemoire lexeacutecution de la multiplication (Multiply and Accumulate MuAcc) et la sauvegarde successive du reacutesultat dans la meacutemoire [Gath02]

226

Modegraveles destimation de la consommation agrave borne maximale et agrave borne minimale La Table 8-9 montre les reacutesultats de deux modegraveles destimation de la dissipation deacutenergie par opeacuteration de seacutelection du chemin survivant (algorithme de Viterbi) et de propagation dun chemin (List Decoding) Ces modegraveles se basent sur leacutevaluation du nombre dinstructions exeacutecuteacutees par le DSP nombre qui est ensuite pondeacutereacute par lestimation de la consommation deacutenergie typique par instruction

Estim

atio

n de

la c

ompl

exiteacute

de

cal

cul d

e lo

peacutera

tion

fond

amen

tale

()

Deg

reacute d

effic

aciteacute

de

lim

plan

tatio

n

Dis

sipa

tion

typi

que

par

cycl

e d

inst

ruct

ion

exeacutec

uteacute

Dis

sipa

tion

deacuten

ergi

e de

lo

peacutera

tion

fond

amen

tale

() Classe de DSP

Alg

orith

me

[wOP opeacuteration]

[wMOPS MIPS]

[mW MIPS]

[nJ opeacuteration] Mod

egravele

des

timat

ion

de la

co

nsom

mat

ion

Viterbi 10 100 DSP agrave basse consommation conccedilu pour un large usage List Dec 14

11 01 140

A borne maximale

(max)

Viterbi 10 013 DSP agrave basse consommation offrant des instructions SIMD et des uniteacutes speacuteciales List Dec 14

41 005 018

A borne minimale

(min) () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-9 Estimations des valeurs de dissipation deacutenergie pour une implantation software des opeacuterations fondamentales des deux algorithmes lopeacuteration de seacutelection du chemin survivant et de propagation

Le premier modegravele destimation (deacutenommeacute agrave borne maximale) repreacutesente le contexte dune implantation optimale des opeacuterations fondamentales sur un DSP classique agrave basse consommation Dans ce contexte le DSP ne dispose ni de fonctions SIMD ni duniteacutes speacuteciales pour le traitement de lalgorithme de Viterbi La redondance des uniteacutes arithmeacutetiques ninfluence pas la consommation totale deacutenergie

227

Le second modegravele deacutevaluation prend en compte le contexte dun DSP qui dispose de moyens facilitant lexeacutecution des opeacuterations fondamentales (fonctions SIMD et uniteacutes speacuteciales) Par conseacutequent lestimation du nombre dinstructions a eacuteteacute reacuteduite dun facteur 4 en supposant que le degreacute defficaciteacute dimplantation seacutelegraveve agrave 41 wMOPSMIPS Ce facteur indique lordre de grandeur de la reacuteduction reacutealisable par lutilisation dinstructions SIMD et duniteacutes speacuteciales (observation des cas illustreacutes par la Table 8-6) En effet les algorithmes consideacutereacutes ne comprenant pas dopeacuterations coucircteuses en consommation il est possible de reacuteduire la valeur de dissipation de reacutefeacuterence La valeur de dissipation est ainsi reacuteduite (arbitrairement) de moitieacute en reconnaissant la difficulteacute destimation de la reacuteduction apporteacutee par lutilisation duniteacutes speacuteciales

Opeacuteration fondamentale (1) (partie parallegravele)

Partie seacutequentielle des algorithmes ()

Systegraveme entier

Dissipation deacutenergie

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Algorithme

Complexiteacute

Max Min (2)

Complexiteacute normaliseacutee par nombre dopeacuterations fondamentales (1)

Max Min (3) Max Min

Viterbi 10wOP 10 nJ 013 nJ 1 wOPACS 010 nJ 005 nJ 11 nJ 018 nJList Dec 14wOP 14 nJ 018 nJ 7 wOPprop 070 nJ 035 nJ 21 nJ 053 nJ(1) Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding (2) 41 wMOPSMIPS 005 mWMIPS (3) 11 wMOPSMIPS 005 mWMIPS

Table 8-10 Estimation des valeurs de dissipation deacutenergie demandeacutee par les implantations des algorithmes de Viterbi et List Decoding Les paramegravetres de ces estimations sont illustreacutes dans la Table 8-9 () Lexeacutecution de ces opeacuterations ne peut pas beacuteneacuteficier de moyens permettant une reacuteduction du nombre dinstructions tels que des uniteacutes speacuteciales et des fonctions SIMD

A partir de ces modegraveles destimation la Table 8-10 preacutesente lestimation de la dissipation totale deacutenergie par bit dinformation Ces estimations mettent en eacutevidence les avantages de lexploitation des composantes parallegraveles des algorithmes Le paralleacutelisme algorithmique permet lutilisation de fonctions SIMD ce qui reacuteduit le nombre dinstructions neacutecessaires au traitement dun bit dinformation Les performances de lalgorithme List Decoding sont en effet peacutenaliseacutees par son importante composante seacutequentielle Ensuite sa diffeacuterence algorithmique empecircche

228

lexploitation des uniteacutes speacuteciales deacutedieacutees au traitement de lalgorithme de Viterbi Il faut toujours se rappeler que ces estimations (Table 8-10) se basent sur le nombre minimal dinstructions neacutecessaires agrave lexeacutecution des opeacuterations fondamentales et sur le rapport (observeacute) entre la complexiteacute de calcul de ces opeacuterations et la complexiteacute totale du systegraveme (Table 8-1 et Table 8-2)

832 Approche ASIC

Contrairement agrave lapproche software lestimation de la dissipation deacutenergie de lapproche ASIC dispose dinformations sur la structure le nombre les types et les valeurs de dissipation de tous les eacuteleacutements logiques et de stockage utiliseacutes

Contexte de codage Codeur256eacutetats

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Estimation de Design Compiler utilisant les reacutesultats des simulations effectueacutees avecModelSim

Estimation de Synopsys Design Compiler Sans erreurs Erreurs Seulement 0

BMu 01 mW 01 mW 01 mW 00 mWACSu 190 mW 217 mW 224 mW 105 mWBPS 49 mW 59 mW 52 mW 01 mWTBu 578 mW 399 mW 365 mW 21 mW

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 68 mW 64 mW 13 mWCourant de fuite statique (Leakage)

21 mW

Table 8-11 estimations de la dissipation deacutenergie dans le contexte de codage codeur256 Les conditions et les hypothegraveses de travail des diverses estimations sont deacutecrites dans la Table 8-12

Incertitudes les taux dactiviteacutes des blocs et la contribution des interconnexions Une incertitude affecte (potentiellement) lestimation de la dissipation deacutenergie la variation des taux dactiviteacute des divers modules Comme citeacute

229

dans le chapitre preacuteceacutedent les taux dactiviteacute varient en fonction de plusieurs facteurs tels que le taux dactiviteacute du symbole reccedilu les fonctions geacuteneacuteratrices la repreacutesentation numeacuterique des meacutetriques de branche et cumuleacutees la preacutesence derreurs de transmission et certains choix techniques (fonctions de seacutelection proceacutedure de prise de deacutecision) Etant donneacute que certains facteurs sont fixeacutes lors de la conception du circuit on veut analyser linfluence des facteurs externes sur la dissipation deacutenergie Ainsi quatre eacutevaluations ont eacuteteacute effectueacutees afin de situer limportance des variations de dissipation deacutenergie (Table 8-11 et Table 8-12) Estimation Conditions et hypothegraveses des estimations Synopsys Estimation effectueacutee par Synopsys Design Compiler en labsence

dinformation sur les taux dactiviteacute des blocssignaux La situation suivante a eacuteteacute consideacutereacutee Signal de remise agrave zeacutero (reset) changeant de valeur chaque 2egraveme cycles dhorloge (P[1]=05 Activiteacute=05) Bits du symbole reccedilu (in_data) changeant de valeur chaque 2 egraveme cycles dhorloge (P[1]=05 Activiteacute=05)

Estimation effectueacutee par Synopsys Design Compiler en se basant sur les reacutesultats dune simulation effectueacutee agrave laide de loutil Modelsim (Model Technology Incorporated) Sans erreurs Codage dun flux de 1000 bits dinformation qui ont eacuteteacute geacuteneacutereacutes de maniegravere

aleacuteatoire (P[1]=048 Activiteacute=047) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Erreurs Geacuteneacuteration de symboles dentreacutee (in_data) de maniegravere aleacuteatoire et indeacutependante premier bit (LSB) P[1]=049 Activiteacute=045 second bit P[1]=051 Activiteacute=044 troisiegraveme bit (MSB) P[1]=049 Activiteacute=043 Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Seulement 0 Codage dun flux de 1000 bits dinformation bits constitueacutes seulement par des zeacuteros (P[1]=00 Activiteacute=00) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Table 8-12 conditions et hypothegraveses prises en compte par les estimations de dissipation deacutenergie effectueacutees Leacutegende P[1] symbolise la probabiliteacute que le bit soit eacutegal agrave 1 activiteacute indique le nombre de transitions par cycle dhorloge

Quatre situations particuliegraveres sont consideacutereacutees (Table 8-12)

bull une situation dabsence dinformations sur les signaux dentreacutee (eacutevaluation nommeacutee Synopsys)

bull une transmission de donneacutees en labsence derreurs (Sans erreurs)

230

bull une transmission extrecircmement perturbeacutee et domineacutee par les erreurs de transmission (Erreurs)

bull le codage dune seacutequence de bits dinformation impliquant une invariabiliteacute du symbole de sortie (Seulement 0)

Il en deacutecoule que labsence dinformation sur lactiviteacute des symboles reccedilus et du signal de remise agrave zeacutero a geacuteneacutereacute une eacutevaluation (Synopsys) plus seacutevegravere par rapport aux autres cas simuleacutes (Table 8-11) Par contre linfluence des erreurs de transmission sur la dissipation deacutenergie est faible laugmentation de la consommation deacutenergie du module ACSu eacutetant limiteacutee par rapport agrave la consommation totale Dans la derniegravere situation consideacutereacutee (estimation Seulement 0) lactiviteacute des modules se reacuteduit au minimum avec des valeurs de dissipation deacutenergie extrecircmement basses Cette situation dinvariabiliteacute des symboles geacuteneacutereacutes est bien entendu reacuteelle toutefois rare si lon suppose leacutequiprobabiliteacute des messages transmis Pour prendre en consideacuteration un plus large spectre dapplications les valeurs de dissipation de leacutevaluation plus seacutevegravere (eacutevaluation Synopsys Table 8-12) sont utiliseacutees dans la suite du document (Table 8-13) Virtual Silicon Technology VST25 UMC25 025microm

Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats BMu 81 microW 203 microW 55 microW 01 mWACSu 2435 microW 11 mW 49 mW 190 mWBPS 239 microW 02 mW 09 mW 49 mWTBu 5706 microW 22 mW 102 mW 578 mW

Dis

sipa

tion

inteacute

rieur

e

Total 846 microW 3 mW 16 mW 82 mWConsommation due au courant de fuite statique (Leakage)

21 microW 97 microW 466 microW 21 mW

Table 8-13 dissipations deacutenergie des modules selon les divers contextes de codage Evaluation Synopsys (Table 8-12)

Actuellement on dispose de toutes les informations des eacuteleacutements de conception du systegraveme de deacutecodage Afin deffectuer une comparaison objective on doit consideacuterer aussi les effets dus au placement des eacuteleacutements et

231

du routage En ne disposant pas de reacutesultats de routage les effets des interconnexions sont pris en compte avec une pondeacuteration arbitraire par un facteur deux (Table 8-14)

Contexte de codage Codeur256eacutetats Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Module Estimation de

Synopsys Design Compiler Cycle dhorloge de 50ns

Dissipation deacutenergie par cycle dhorloge

Estimation de la dissipation deacutenergie de la reacutealisation mateacuterielle (x2)

BMu 01 mW 50 pJ 10 pJACSu 190 mW 10 nJ 19 nJBPS 49 mW 02 nJ 05 nJTBu 578 mW 29 nJ 58 nJ

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 41 nJ 82 nJ

Table 8-14 estimation de la consommation deacutenergie par cycle dhorloge agrave partir des valeurs de dissipation inteacuterieure Evaluation Synopsys (conditions Table 8-12)

Aspect de la faible consommation Les moyens pour atteindre une faible consommation sont dabaisser autant que possible la freacutequence de travail la capaciteacute eacutequivalente et surtout la tension dalimentation [Heub97] Ainsi en beacuteneacuteficiant de la relation existante entre la freacutequence de travail et la tension dalimentation le renoncement (partiel) agrave une vitesse dexeacutecution eacuteleveacutee en reacuteduisant la tension dalimentation est une solution extrecircmement rentable en termes deacuteconomie deacutenergie Cette strateacutegie permet de reacuteduire efficacement la dissipation deacutenergie dynamique par bit la Table 8-15 montre leacutevaluation de leacuteconomie deacutenergie obtenue par une reacuteduction de moitieacute de la tension dalimentation En ce qui concerne sa faisabiliteacute les deacutebits de traitement montreacutes par le systegraveme de base (Table 8-8) permettent denvisager concregravetement cette solution surtout en consideacuterant les importantes potentialiteacutes apporteacutees par lapproche pipeline dans la reacutealisation du module TBu

232

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

Dissipation deacutenergie par peacuteriode

Evaluation de Synopsys Design Compiler pondeacutereacutee par un facteur 2 (estimation des effets dus au routage)

Estimation dune reacuteduction de moitieacute de la tension dalimentation (112 V)

Codeur4eacutetats 008 nJ 002 nJ Codeur16eacutetats 03 nJ 008 nJ Codeur64eacutetats 16 nJ 04 nJ Codeur256eacutetats 82 nJ 2 nJ

Table 8-15 Estimation de la variation de la dissipation deacutenergie lors dune reacuteduction de la tension dalimentation Ces eacutevaluations se basent sur lhypothegravese quune reacuteduction de moitieacute de la tension dalimentation permet de baisser de la consommation dun facteur quatre

833 Comparaison des dissipations deacutenergie des deux approches software et hardware

La comparaison des deux approches montre que le seul moyen que lapproche software possegravede pour se rendre plus concurrentiel est la geacuteneacuteration dun code binaire optimal Ceci est possible agrave laide de fonctions SIMD et duniteacutes deacutedieacutees au traitement de lalgorithme de Viterbi (Figure 8-4 et Figure 8-5) Opeacuteration fondamentale de seacutelection du chemin survivant (ACS) La structure algorithmique de lalgorithme de Viterbi se concentre autour de cette opeacuteration particuliegravere La reacutealisation mateacuterielle ainsi que limplantation software de cette opeacuteration caracteacuterisent les systegravemes correspondants Lopeacuteration de seacutelection du chemin survivant est simple autant que particuliegravere il sagit en fait dune double addition suivie par une comparaison des valeurs obtenues Limplantation software se trouve ainsi dans une situation deacutefavorable en raison dune discordance entre la particulariteacute de cette opeacuteration et le mode dexeacutecution classique des DSP Cette situation implique un nombre supeacuterieur dinstructions qui dans le contexte dune opeacuteration simple entraicircne une perte de compeacutetitiviteacute et une dissipation supeacuterieure deacutenergie

233

0001020304050607080910

Dis

sipa

tion

deacuten

ergi

e pa

r op

eacuterat

ion

AC

S [n

JA

CS]

AS

IC 2

56eacutet

ats

6 b

its

113

V

AS

IC 2

56eacutet

ats

6 b

its

225

V

DS

P agrave

bas

seco

nsom

mat

ion

speacutec

ialis

eacute 2

x8bi

ts lt

15

V

min

DS

P agrave

bas

seco

nsom

mat

ion

16 b

its lt

15

V

max

Figure 8-4 comparaison des valeurs estimeacutees de dissipation deacutenergie des approches software (Table 8-10) et ASIC (Table 8-14) Lopeacuteration analyseacutee est lopeacuteration ACS de lalgorithme de Viterbi Les informations de ces opeacuterations indiquent lapproche la situation consideacutereacutee le nombre de bits assigneacutes agrave la repreacutesentation des meacutetriques cumuleacutees la tension dalimentation et le type destimation

Consommation deacutenergie du deacutecodeur de Viterbi Lalgorithme de Viterbi est caracteacuteriseacute par une seacuteries dopeacuterations indeacutependantes de seacutelection des chemins survivants suivies par une opeacuteration iteacuterative de prise de deacutecision En termes de deacutebit de traitement et de dissipation deacutenergie un circuit programmable agrave large usage est eacutevidemment moins performant agrave un circuit adapteacute aux particulariteacutes de ce type dalgorithme Sur le plan de la reacuteduction de la consommation deacutenergie cette perte initiale de compeacutetitiviteacute des approches softwares peut ecirctre partiellement combleacutee tout dabord par la disponibiliteacute (et le constant renouvellement) de DSP agrave basse consommation reacutealiseacutes avec des technologies toujours plus avanceacutees Ensuite les uniteacutes speacuteciales de traitement et les instructions SIMD permettent une exeacutecution plus efficace des opeacuterations particuliegraveres et reacutepeacutetitives constituant lalgorithme de Viterbi (Figure 8-4)

234

Figure 8-5 tendance de la dissipation deacutenergie de lalgorithme de Viterbi

Il est ainsi eacutevident que gracircce agrave une adaptabiliteacute optimale aux caracteacuteristiques particuliegraveres de lalgorithme de Viterbi lapproche ASIC offre toujours les meilleures potentialiteacutes en termes de reacuteduction de consommation (Figure 8-5) Cette caracteacuteristique est surtout appreacutecieacutee (et dans certains cas indispensable) dans le contexte de la communication mobile (Table 8-16)

Estimation du nombre de bits potentiellement traitables en disposant de maniegravere exclusive de toute leacutenergie [bits]

Tension

Capaciteacute typique

Approche DSP

consommation

Approche ASIC

Accumulateur

[V] [Ah] Max Min Ni-MH type AA 12 15 002middot1012 01middot1012 3middot1012 Ni-MH type AAA 12 07 001middot1012 07middot1012 1middot1012

Table 8-16 potentialiteacutes et performances indicatives des deux approches en consideacuterant le contexte de codage de la communication mobile UMTS Les valeurs de consommation ont eacuteteacute extraites de la Table 8-10 et la Table 8-15)

235

84 Surface de silicium

Le dernier aspect traiteacute est la surface de silicium des circuits qui a une incidence sur les coucircts de fabrication et sur la faciliteacute dincorporer la fonction dans des systegravemes inteacutegreacutes (System On Chip SoC) Lobjectif principal de cette analyse est la comparaison de la surface de silicium neacutecessaire agrave la reacutealisation dun circuit deacutedieacute qui exploite exhaustivement le paralleacutelisme de lalgorithme de Viterbi avec la surface dun processeur versatile et geacuteneacuterique qui montre un degreacute de paralleacutelisme reacuteduit et limiteacute au strict neacutecessaire Fabriquant DSP Normalement

disponible comme (chipcore)

Agere Systems DSP16xxx chip Analog Devices ADSP-21xx ADSP-219x ADSP-2153x ADSP-

TS101S chip

ARM ARM7 ARM9 ARM9E core 3DSP SP-5 core DSP Group OakDSPCore TeakLite Teak PalmDSPCore core Hitachi SH-DSP SH3-DSP chip Hitachi STMicroelectronics

SH4ST40 SH5ST50 chip et core

TriCore 1 chip et core Infineon Carmel 10xx core

LSI Logic LSI140xX chip et core Motorola DSP563xx DSP568xxDSP5685x chip StarCore MSC8101 StarPro2000 chip Texas Instruments TMS320C2xx TMS320C28xx TMS320C54xx

TMS320C55xx TMS320C62xx TMS320C64xx chip

Table 8-17 processeurs agrave virgule fixe livrables en 2002 [BDTi2]

841 Processeurs DSP

La caracteacuterisation de la surface typique des DSP est dabord rendue difficile par la non-homogeacuteneacuteiteacute des nombreux DSP preacutesents dans le marcheacute (Table 8-17) Cette non-homogeacuteneacuteiteacute est causeacutee principalement par la diversiteacute des approches architecturales la taille de la meacutemoire inteacutegreacutee les technologies de reacutealisation physique les outils mis agrave disposition et le nombre duniteacutes fonctionnelles redondantes du DSP Lopeacuteration de caracteacuterisation est ensuite entraveacutee par la disponibiliteacute reacuteduite dinformations facilement accessibles sur les valeurs de surface de silicium

236

Cœur syntheacutetisable

Technologie Surface

Freacutequence dhorloge

Performances Notes

018 microm 095 mm2 80-110 MHzARM7EJ-S

013 microm 042 mm2 100-133 MHz

10 MIPSMHz

Basse consommation surface reacuteduite et extension instructions DSP

025 microm 27 mm2 160 MHzARM9E-S

018 microm - 200+ MHz

11 MIPSMHz

Extensions traitement du signal uniteacute MAC de16x32 (cycle unique) et pipeline avec 5 eacutetages

Table 8-18 caracteacuteristiques de deux cœurs syntheacutetisables de ARM [ARM7] [ARM9] Ces cœurs sont des processeurs-DSP de type RISC posseacutedant une structure agrave 32 bits

Par conseacutequent en raison de leur simpliciteacute architecturale et de la richesse en informations les processeurs DSP de ARM (Table 8-18) sont utiliseacutes agrave titre de reacutefeacuterence pour cette analyse La famille de processeurs ARM7 comprend les cœurs RISC agrave 32 bits destineacutes agrave des applications basse consommation et agrave faible coucirct Le cœur syntheacutetisable ARM7EJ-S met agrave disposition toutes les potentialiteacutes dun microcontrocircleur et dun DSP [ARM7] Le cœur ARM9E-S offre les capaciteacutes dun DSP exploitant un cœur de processeur RISC agrave 32 bits Ses arguments de vente sont la surface reacuteduite de silicium la simpliciteacute architecturale la basse consommation et la rapiditeacute de reacutealisation des solutions (time-to-market) [ARM9]

842 Systegraveme de base ASIC

Dans le contexte dune exploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi la surface de silicium du systegraveme deacutepend eacutevidemment de la longueur de contrainte K du code convolutif (Table 8-19) La surface de silicium croicirct parallegravelement agrave la redondance des uniteacutes fonctionnelles qui est fonction de la longueur de contrainte K du code convolutif envisageacute (Table 8-19) Les deux modules les plus exigeants sont celui responsable de la seacutelection parallegravele des chemins survivants (ACSu) et celui chargeacute de la prise de deacutecision du bit dinformation (TBu)

237

Virtual Silicon Technology VST25 UMC25 025microm

Surface en mm2 (apregraves synthegravese) Contexte de codage

Blocs

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

BMu combinatoire 36middot10-4 62middot10-4 10middot10-3 26middot10-3

ACSu combinatoire 65middot10-3 25middot10-2 12middot10-1 49middot10-1

ACSu non- combinatoire 35middot10-3 14middot10-2 67middot10-2 27middot10-1

BPS combinatoire 23middot10-3 13middot10-2 68middot10-2 30middot10-1

TBu combinatoire 46middot10-3 26middot10-2 12middot10-1 49middot10-1

TBu non- combinatoire 17middot10-2 81middot10-2 41middot10-1 20Total 34middot10-2 17middot10-1 79middot10-1 36

Table 8-19 vue densemble des valeurs de surface de chaque bloc appartenant au systegraveme de base deacuteveloppeacute

843 Comparaison des demandes en surface de silicium des deux approches software et hardware

En comparant les valeurs de surface de silicium il est eacutevident le coucirct suppleacutementaire en silicium ducirc agrave lexploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi (Table 8-19) La strateacutegie dune exeacutecution seacutequentielle des opeacuterations ainsi que la souplesse demploi des deux cœurs ARM permettent dobtenir un rapport optimal entre la surface de silicium et la gamme de fonctions disponibles Dans le contexte de codage UMTS lexploitation exhaustive du paralleacutelisme algorithmique entraicircne des forts coucircts en termes de surface de silicium en raison de limportante longueur de contrainte des codes convolutifs (K=9) La reacutealisation mateacuterielle neacutecessite ainsi plusieurs mm2 de silicium pour inteacutegrer limportant nombre duniteacutes fonctionnelles 256 uniteacutes mise agrave jour-comparaison-seacutelection et 45 blocs de sauvegardes-reconstruction deacutetats du chemin Il faut souligner que la reacutealisation physique du systegraveme de base neacutetait pas soumise agrave des contraintes relatives agrave la surface de silicium A titre dexemple la conception du module TBu a utiliseacute systeacutematiquement des bascules pour la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins En raison de la typologie de cette tacircche une reacuteduction de la surface de silicium peut ecirctre obtenue en remplaccedilant les bascules par des verrous (Latches)

238

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats Technologie

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Processeur-DSP ARM7EJ-S

018microm 95middot10-1 25 95middot10-1 61middot10-1 95middot10-1 16middot10-1 95middot10-1 39middot10-2

Processeur-DSP ARM9E-S

025 microm 27 40 27 97middot10-1 27 25middot10-1 27 63middot10-2

UMC25 025microm

(synthegravese) 34middot10-2 76 17middot10-1 17 79middot10-1 11 36 88

Systegraveme de base (δp=5middotK)

Estimation apregraves routage

7middot10-2 38 3middot10-1 8 2 6 7 4

Table 8-20 comparaison des valeurs de surface entre deux processeurs-DSP de type RISC et les quatre deacutecodeurs utiliseacutes pour leacutetude (Table 8-18 Table 8-3 et Table 8-19) La comparaison tient aussi compte des potentialiteacutes de deacutebit de traitement Le systegraveme de base est caracteacuteriseacute par les valeurs apregraves synthegravese les potentialiteacutes apregraves routage sont estimeacutees par une pondeacuteration par un facteur deux

85 Conclusions DSP ou ASIC

Ce chapitre a permis de situer les coucircts demploi dun circuit ASIC et dune implantation software sur DSP pour lexeacutecution de lalgorithme de Viterbi Les aspects traiteacutes ont eacuteteacute le deacutebit du traitement leacutenergie neacutecessaire pour le traitement de chaque bit dinformation et la surface de silicium des circuits Les potentialiteacutes des deux approches ont eacuteteacute jugeacutees agrave partir des reacutesultats et de lexpeacuterience mucircrie avec les implantations et la reacutealisation mateacuterielle deacutecrite dans les chapitres preacuteceacutedents Si limplantation software offre une solution rapide souple et bon marcheacute la reacutealisation mateacuterielle offre des potentialiteacutes de vitesse dexeacutecution et deacuteconomie de consommation incomparables (Table 8-21) Les coucircts en termes de surface de silicium deacutependent de la redondance des uniteacutes de traitement incluse dans les circuits DSP et ASIC

239

Deacutebit de traitement Consommation Surface DSP ASIC () DSP ASIC () DSP ASIC ()

TI320C64x() pipeline() min 225V () ARM7EJ-S Systbase Codeur4eacutetats 170 Mbps 210 Mbps 072 nJbit 008 nJbit 095 mm2 34middot10-2 mm2

Codeur16eacutetats 43 Mbps 190 Mbps 288 nJbit 03 nJbit 095 mm2 17middot10-1 mm2

Codeur64eacutetats 11 Mbps 150 Mbps 1152 nJbit 16 nJbit 095 mm2 79middot10-1 mm2

Codeur256eacutetats 26 Mbps 120 Mbps 4608 nJbit 82 nJbit 095 mm2 36 mm2

() estimation agrave partir des reacutesultats de [DuAz00] () valeur apregraves synthegravese pondeacutereacutee par un facteur 2 () estimation de la strateacutegie pipeline avec deacutecodage dun chemin quelconque () estimation de Synopsys Design Compiler (VDD 225V 70ordmC analyse simple)

Table 8-21 vue densemble des potentialiteacutes des approches software et hardware Les potentialiteacutes sont estimeacutees seacutepareacutement lune des autres (Table 8-7 Table 8-8 Table 8-10 Table 8-13 Table 8-15 Table 8-18 et Table 8-19)

Algorithme de Viterbi Cet algorithme est caracteacuteriseacute par la reacutepeacutetition massive dune opeacuteration simple autant que particuliegravere (la seacutelection du chemin survivant) suivie par une opeacuteration demandant une exeacutecution seacutequentielle (prise de deacutecision) En raison dune configuration de travail impliquant lexeacutecution reacutepeacutetitive53 de cette derniegravere opeacuteration lalgorithme montre de fortes composantes parallegraveles ainsi que seacutequentielles Implantation software sur DSP Les principales limites de limplantation software sont la neacutecessiteacute de disposer dinstructions suppleacutementaires pour lexeacutecution des tacircches (lieacutees aux transferts des donneacutees) le manque dadaptabiliteacute des tailles des variables et la redondance limiteacutee des uniteacutes fonctionnelles Limplantation de lopeacuteration de seacutelection du chemin survivant est tout de suite greveacutee par la neacutecessiteacute dinstructions suppleacutementaires Ce handicap initial est ensuite amplifieacute par la reacutepeacutetition massive de cette opeacuteration fondamentale de lalgorithme de Viterbi Cette perte de compeacutetitiviteacute ne peut ecirctre combleacutee que par lutilisation de solutions et de technologies plus reacutecentes la disponibiliteacute duniteacutes fonctionnelles redondantes de fonctions SIMD et de 53 Dans le contexte de deacutecodage eacutetabli lopeacuteration de prise de deacutecision implique agrave chaque

niveau de profondeur la prise de deacutecision sur un bit dinformation

240

blocs speacuteciaux de traitement permet lameacutelioration des potentialiteacutes de deacutebit de traitement et de consommation deacutenergie Le prix agrave payer est toutefois lutilisation dun DSP posseacutedant une plus grande surface de silicium ainsi que le renoncement graduel agrave une description souple agrave haut niveau et portable de lalgorithme de Viterbi La forte composante seacutequentielle de lopeacuteration de prise de deacutecision convient de maniegravere optimale au mode dexeacutecution classique des DSP Lexeacutecution reacutepeacutetitive de cette opeacuteration ne deacutegrade pas les potentialiteacutes de lapproche software Approche ASIC La reacutealisation physique convient agrave lexeacutecution de lalgorithme de Viterbi gracircce agrave la possibiliteacute dexploiter exhaustivement les caracteacuteristiques particuliegraveres de lalgorithme La reacutealisation de lopeacuteration de seacutelection du chemin survivant se reacutevegravele ecirctre encore une fois leacuteleacutement crucial en raison de sa structure simple mais particuliegravere Lapproche ASIC permet une reacutealisation adapteacutee agrave la singulariteacute algorithmique de lopeacuteration en exploitant exhaustivement le paralleacutelisme disponible Lavantage dun traitement parallegravele de lalgorithme est eacutevident en analysant lopeacuteration de seacutelection des 2k-1 chemins survivants Les potentialiteacutes en termes deacutepargne deacutenergie et de vitesse dexeacutecution de cette approche sont ainsi excellentes Par contre laugmentation de la redondance des uniteacutes de traitement et la sauvegarde des informations de reconstruction augmentent les coucircts en termes de surface de silicium Limportante composante seacutequentielle de lopeacuteration de prise de deacutecision cause ensuite une perte de compeacutetitiviteacute du systegraveme de base ASIC Lexeacutecution seacutequentielle de cette opeacuteration agrave chaque cycle dhorloge deacutegrade les performances de deacutebit de traitement du systegraveme de base Les contre-mesures envisageables sont ladoption de la strateacutegie pipeline ainsi quune prise de deacutecision multiple par intervalles (Annexe C Figure C-8) Domaines dutilisation compleacutementaires des deux approches software et hardware Du point de vue du codage de canal le changement du contexte de codage et laugmentation du deacutebit maximal de transmission des standards UMTS geacutenegraverent une forte variabiliteacute de la charge de calcul des opeacuterations de deacutecodage

241

Lutilisation dun code convolutif avec une longueur de contrainte de 9 [Ts25212] exige tout dabord une importante charge de calcul pour le deacutecodage de chaque bit dinformation Par rapport aux technologies 2G il faut ainsi consideacuterer un facteur daugmentation entre quatre (si on prend en compte le GSM Half Rate Speech [ETSI909]54) et seize (par rapport au GSM Enhanced Full Rate Speech et Full Rate Speech [ETSI909]55)

Peacuteriode Entreprise Modegravele (Fabricant) Nombre duniteacutes rappeleacutees

Juillet 2000 KDDIau C309H (Hitachi) 138000Octobre 2000 KDDIau C309T (Toshiba) 59800Novembre 2000 J-Phone J-D03 (Mitsubishi) 180000Janvier 2001 NTT DoCoMo

DDI Pocket S0502iWM (Sony) PHS-J80 (Sanyo)

31000600000

Feacutevrier 2001 NTT DoCoMo Astel

P503i (Matsushita Comm)AJ-51 (Japan Radio)

2300002000

Mai 2001 NTT DoCoMo KDDIau J-Phone

S0503i (Sony) C101S (Sony) DP-221 (Mitsubishi)

420000126000

2730Juin 2001 Tu-Ka TH461 (Mitsubishi) 1814Juillet 2001 NTT DoCoMo

KDDIau KDDIau

P503i (Matsushita Comm)C406S (Sony) Casio

10000056000052100

Table 8-22 rappels principaux de teacuteleacutephones mobiles dus agrave des deacutefaillances software hardware ou agrave lutilisation de protocoles non entiegraverement conformes aux reacuteseaux La peacuteriode consideacutereacutee se situe entre juillet 2000 et 2001 peacuteriode qui est caracteacuteriseacutee par leacutelargissement de la gamme dapplications offertes (Japon [Yasu01])

La grande variabiliteacute du deacutebit de transmission des standards UMTS peut ensuite creacuteer des exigences de deacutecodage contradictoires A cause du caractegravere agrave large usage des standards UMTS on peut ainsi se retrouver facilement dans des situations ougrave soit le DSP est incapable de fournir toute la puissance de calcul neacutecessaire agrave lexeacutecution de lapplication en temps reacuteels soit les beacuteneacutefices apporteacutes par un circuit suppleacutementaire ASIC ne sont pas suffisants pour justifier ses coucircts suppleacutementaires 54 Ce systegraveme de transmission exploite un code convolutif avec longueur de 7 55 Ces contextes de codage utilisent un code convolutif avec longueur de contrainte de 5

242

En consideacuterant des contextes de codage peu exigeants en termes de ressources lapproche software permet une implantation rapide dalgorithmes offrant toutes ses qualiteacutes qui ont eacuteteacute tregraves appreacutecieacutees dans le contexte des technologies 2G Ces qualiteacutes sont tregraves utiles pour minimiser les coucircts suppleacutementaires dus agrave la modification et agrave la correction des deacutefaillances des applications et des protocoles ([Yasu01] Table 8-22) Le choix de la meacutethode de deacutecodage deacutepend principalement des exigences de lapplication ainsi que de la disponibiliteacute doutils et uniteacutes speacuteciales de traitement Si les exigences en termes de deacutebit de traitement et deacuteconomie deacutenergie augmentent la solution ASIC simpose graduellement Lapproche hardware sadapte de maniegravere optimale aux caracteacuteristiques de cet algorithme comportant une meilleure efficaciteacute dexeacutecution et une reacuteduction de la consommation deacutenergie Le vaste marcheacute estimeacute pour la 3G ainsi que la potentialiteacute dinteacutegration (System On Chip SoC) permettent datteacutenuer les probleacutematiques lieacutees aux coucircts supeacuterieurs de cette solution [BDTi4]

Reacutefeacuterences

[ARM7] ARM Ltd ARM7TM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[ARM9] ARM Ltd ARM9E-STM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[BDTi2] Berkeley Design Technology Inc (BDTi) Pocket Guide to DSP Processors and Cores Currently Available Processors mai 2002 page Internet acceacutedeacutee en eacuteteacute 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[DuAz00] J Du J Falkowski A Aziz J Lane Implementation of Viterbi Decoding on StarCore SC140 DSP International Conference on Signal Processing Applications amp Technology (ICSPAT 2000) 16-19 octobre 2000 Dallas Etats-Unis dAmeacuterique

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Feld02] H T Feldkaumlmper T Gemmeke H Blume T G Noll Analysis of reconfigurable and heterogeneous architectures in the

243

communication domain 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gold95] I Gold The OakDSPCores Viterbi Accelerator Speeds Up Digital Communications DSP amp Multimedia Technology deacutecembre 1995 - janvier 1996 page Internet de DSP Group acceacutedeacutee en eacuteteacute 2002 wwwdspgcomwebsitetechnologyarticle2htm

[Heub97] A Heubi De lalgorithme de traitement numeacuterique du signal agrave sa reacutealisation agrave faible consommation par un circuit inteacutegreacute speacutecifique Thegravese de Doctorat egraves sciences techniques Ecole Polytechnique Feacutedeacuterale de Lausanne Lausanne 1997

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Saou02] Y Saouter C Berrou Fast SUBMAP decoders for duo-binary turbo-codes 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

[Yasu01] H Yasui Recall of Mobile Phones Continue article du 17 septembre 2001 page Internet de NeAsia Online wwwnikkeibpasiabiztechcom

244

245

9 Conclusions

Suite aux modifications apporteacutees dans le nouveau standard de communication mobile UMTS le sujet de la thegravese est lanalyse des reacutealisations software et hardware de lopeacuteration de deacutecodage des codes convolutifs preacutevus par ce standard Cette thegravese eacutevalue tout dabord lefficaciteacute des meacutethodes classiques de deacutecodage convolutif de la 2egraveme Geacuteneacuteration dans le nouveau contexte du codage UMTS et elle propose ensuite dautres meacutethodes ameacutelioreacutees de deacutecodage Point de deacutepart En consideacuterant larchitecture et la meacutethode de deacutecodage preacutedominantes dans les technologies de la 2G une nouvelle implantation software de lalgorithme de Viterbi a mis en eacutevidence un alourdissement de la charge de calcul assigneacute au DSP Comme on pouvait sy attendre lagrandissement de la longueur de contrainte des codes augmente la charge de calcul neacutecessaire au deacutecodage de chaque symbole proteacutegeacute Lutilisation de lalgorithme de Viterbi neacutecessite ainsi lexeacutecution dau moins 28k wOP par bit proteacutegeacute contre les 176 wOP demandeacutes par les services de la 2G GSM Enhanced Full Rate Speech et Full Rate Speech Reacutesultats obtenus Consideacuterant limportante complexiteacute de calcul demandeacutee par lalgorithme de Viterbi cette thegravese propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes se reacutevegravelent inteacuteressantes agrave la fois du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage que des potentialiteacutes dune reacutealisation mateacuterielle Approche software Dans le cadre de cette thegravese lanalyse de la structure du codage de canal des standards UMTS ainsi que des principes du deacutecodage convolutif a permis de proposer deux meacutethodes alternatives agrave la solution classique Viterbi les meacutethodes iteacuteratives List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Le principe des deux meacutethodes iteacuteratives est une exploitation exhaustive des informations

246

suppleacutementaires fournies par les bits de pariteacute CRC qui ont eacuteteacute ajouteacutes au message La meacutethode List Viterbi Algorithm permet dameacuteliorer le niveau de protection pour lequel lalgorithme de Viterbi fait reacutefeacuterence Une nouvelle implantation conforme aux critegraveres dune exeacutecution en temps reacuteel a prouveacute la faisabiliteacute de la meacutethode dans le contexte du codage UMTS ainsi que le bon rapport entre la qualiteacute de protection et la charge de calcul de la meacutethode La meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute deacuteveloppeacutee dans loptique dexploiter les informations suppleacutementaires du codage CRC afin de reacuteduire la charge de calcul Cette meacutethode beacuteneacuteficie dune nouvelle reacutealisation plus efficace de lrsquoalgorithme List Decoding ce qui permet de reacuteduire efficacement la complexiteacute de calcul de la meacutethode iteacuterative Le principe des deux meacutethodes eacutetant une exploitation exhaustive du codage en bloc concateacuteneacute lutilisation de ces meacutethodes seacutetend agrave tous les domaines de la transmission numeacuterique des donneacutees fixe mobile et satellitaire Ces deux nouvelles meacutethodes eacutelargissent ainsi la liste de solutions efficaces agrave disposition ce qui permet aux designers de mieux reacutepondre aux exigences dune plus large gamme dapplications La limite des implantations software reste limportante charge de calcul due agrave la reacutepeacutetition massive soit de lopeacuteration de seacutelection du chemin survivant (meacutethodes baseacutees sur lalgorithme de Viterbi) soit de lopeacuteration de propagation (meacutethodes baseacutees sur le List Decoding) Approche hardware Ce travail de thegravese a traiteacute ensuite la reacutealisation mateacuterielle dun deacutecodeur geacuteneacuterique pour des codes convolutifs utilisant lalgorithme de Viterbi La reacutealisation du systegraveme de base a exploiteacute exhaustivement le paralleacutelisme et la simpliciteacute algorithmique qui caracteacuterisent la meacutethode de Viterbi La deacutecomposition du principe de deacutecodage en ses eacuteleacutements constituants ainsi quune reacutealisation parameacutetrable ont permis danalyser en deacutetail la reacutealisation mateacuterielle de chaque eacuteleacutement Lutilisation de la technologie Virtual Silicon Technology VST25-UMC25 (025microm) et des outils Design Compiler (Synopsys) et Modelsim (Model Technology Incorporated) ont permis une eacutevaluation des potentialiteacutes de chaque eacuteleacutement constituant en plus de favoriser la proposition de meacutethodes alternatives de reacutealisation Parmi les alternatives proposeacutees on a analyseacute le principe de lutilisation dun chemin quelconque pour la prise de deacutecision du bit dinformation (eacutetude pionniegravere) la nouvelle approche pipeline pour la reacutealisation de lopeacuteration de prise de deacutecision (nouveau principe) ainsi que lexploitation de la redondance des opeacuterations de reconstruction deacutetats (nouveau principe) Les premiers

247

deux principes ameacuteliorent le deacutebit de traitement du systegraveme de deacutecodage alors que le troisiegraveme reacuteduit la dissipation deacutenergie de lopeacuteration de prise de deacutecision Lanalyse du systegraveme de base a permis de mettre en eacutevidence les bonnes potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi telles que les aspects de la rapiditeacute de traitement et de la reacuteduction de la consommation deacutenergie Lapproche coprocesseur ameacuteliore de la souplesse demploi qui est la limite caracteacuteristique des reacutealisations mateacuterielles Ceci permet leacutelargissement de lutilisation du systegraveme de deacutecodage deacuteveloppeacute agrave dautres applications de traitement du signal utilisant lalgorithme de Viterbi (par exemple applications impliquant des fonctions dites de maximum de vraisemblance) Observations finales Leacutetude met en eacutevidence labsence actuelle dune solution globalement efficace pour les standards UMTS contrairement au cas des implantations software de lalgorithme de Viterbi massivement utiliseacutes dans les technologies de la 2G La solution optimale deacutepend des exigences et des caracteacuteristiques propres agrave lapplication utilisant le reacuteseau mobile UMTS Lutilisation de dispositifs programmables offre des solutions rapides souples et bon marcheacute mais les implantations software se reacutevegravelent ecirctre non-concurrentielle en termes de deacutebit de traitement et de dissipation deacutenergie La reacutealisation mateacuterielle convient en effet agrave lexeacutecution de meacutethodes de deacutecodage baseacutees sur lalgorithme de Viterbi gracircce agrave lexploitation exhaustive des caracteacuteristiques particuliegraveres de lalgorithme Le vaste marcheacute des applications concerneacutees ainsi que la potentialiteacute dinteacutegration de ces reacutealisations mateacuterielles permettent datteacutenuer les probleacutematiques lieacutees agrave ses coucircts supeacuterieurs Possibles travaux futurs Leacutetude des meacutethodes de deacutecodage iteacuteratives peut ecirctre eacutelargie aux autres services UMTS ainsi quagrave dautres systegravemes de communication numeacuterique fixe mobile et satellitaire Cette eacutetude permettra de mieux formuler les avantages apporteacutees par ces deux meacutethodes iteacuteratives La reacutealisation mateacuterielle dun deacutecodeur de Viterbi exploitant la strateacutegie pipeline permettra de mesurer la consommation deacutenergie ainsi que la validation du deacutebit de traitement offertes par cette solution

248

249

Remerciements

Je tiens tout dabord agrave remercier le Professeur Fausto Pellandini pour mavoir accueilli dans son laboratoire de recherche pour mavoir donneacute les moyens de reacutealiser ce travail de thegravese de doctorat ainsi que pour ses preacutecieux conseils Je le remercie eacutegalement pour les excellentes conditions de travail et lambiance stimulante reacutegnant au sein de son laboratoire

Je remercie le Professeur Pierre-Andreacute Farine pour mavoir accordeacute sa confiance et pour sa participation dans le jury de ma thegravese

Je suis tregraves reconnaissant agrave PD Dr Michael Ansorge co-directeur de thegravese pour mavoir suivi conseilleacute et encourageacute pendant toutes ces anneacutees agrave lIMT Je le remercie eacutegalement pour toutes les discussions constructives et pour ses remarques critiques qui mont permis de progresser professionnellement

Merci aux membres du jury de thegravese Je remercie Dr Francesca Vatta pour sa disponibiliteacute pour sa sympathie et pour son encouragement Merci au Dr Alexandre Heubi ancien collegravegue pour ses remarques et corrections tregraves constructives

Je tiens agrave remercier tous les collegravegues et anciens collegravegues de lIMT ainsi que leacutequipe du service administratif pour lagreacuteable ambiance et les conditions de travail optimales creacuteeacutees

Merci eacutegalement aux eacutetudiants et stagiaires qui ont contribueacute au domaine dans le cadre de leurs projets

Finalement je remercie mes grands-parents mes parents mon fregravere et son eacutepouse pour leurs encouragements et leurs indispensables soutiens Je remercie eacutegalement tous mes amis qui contribuent agrave eacutegayer les moments de libre

Un merci particulier au Dr Alain Dufaux au Dr Giuseppina Biundo-Lotito agrave Anne-Lise Kissling-Bah et agrave Seacuteveacuterine Capt pour la relecture de cette thegravese

Ce travail de thegravese a pu ecirctre accompli gracircce aux connaissances eacutelaboreacutees dans le cadre du projet CTI 4238 Joint Wideband Speech and Channel Coding in Wireless Applications reacutealiseacute en collaboration avec la compagnie STMicroelectronics NV et du projet Implementation of a parameterized family of Viterbi Decoders reacutealiseacute avec DSPfactory SA Je suis tregraves reconnaissant agrave M Luigi Grasso pour limportant savoir-faire quil a eu lamabiliteacute de partager lors de la reacutealisation de ce dernier projet

250

251

Annexes

ANNEXE A MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 253

A1 DEacuteCODAGE SEacuteQUENTIEL 253 A11 Fonction de meacutetrique 253 A12 Strateacutegie de recherche Depth-First 254

A2 SYMBOL-BY-SYMBOL MAXIMUM A POSTERIORI ALGORITHM 255 A21 Etablissement du problegraveme 255 A22 Proceacutedeacute 256 A23 Algorithme MAP 257 A24 Deacutecodage de codes convolutifs 258

A3 SOFT OUTPUT VITERBI ALGORITHM (SOVA) 260 A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm 260 A32 Algorithme 261 A33 Complexiteacute de calcul 263

A4 REacuteFEacuteRENCES 263

ANNEXE B ARCHITECTURES UTILISANT UN PROCESSEUR POUR LE TRAITEMENT DU SIGNAL 265

B1 CODES EN BLOC CRC DES STANDARDS UMTS 265 B11 Codage en bloc CRC eacutetabli par les standards UMTS 265 B12 Strateacutegie de deacutetection derreurs 266 B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS 267

B2 PROCEacuteDURE DEacuteVELOPPEacute DE SEacuteLECTION DES CHEMINS LES PLUS FAVORABLES DANS MEacuteTHODE LIST DECODING 268

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees 269 B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et

infeacuterieures 270 B23 Proceacutedure de seacutelection par eacutetablissement

dun seuil de meacutetrique 271 B3 AFFINITEacute ENTRE LIMPLANTATION SOFTWARE ET LARCHITECTURE DU

PROCESSEUR 272 B4 REacuteFEacuteRENCES 273

252

ANNEXE C ARCHITECTURES BASEacuteES SUR CIRCUITS ASIC 275

C1 REacuteALISATION PHYSIQUE DUN DEacuteCODEUR COMPATIBLE AVEC LE STANDARD UMTS 275

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute 275

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits) 276

C2 APPROCHE COPROCESSEUR 278 C21 Solution inteacuteressante 278 C22 Modifications agrave apporter au systegraveme de base 280

C3 REacuteFEacuteRENCES 286

253

Annexe A Meacutethodes pour le deacutecodage des codes convolutifs

A1 Deacutecodage seacutequentiel

La premiegravere meacutethode pour le deacutecodage des seacutequences proteacutegeacutees par les codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft qui a ensuite eacuteteacute reprise et modifieacutee par Fano Dans cette section on preacutesente la fonction de meacutetrique adopteacutee par cette meacutethode ainsi que sa strateacutegie de recherche (compleacutement agrave la description de la Sous-section 521)

A11 Fonction de meacutetrique

La recherche du chemin le plus probable se base sur une fonction de meacutetrique qui est chargeacutee de quantifier la ressemblance entre les symboles reccedilus et ceux geacuteneacutereacutes par le chemin sous analyse En consideacuterant la strateacutegie de recherche la meacutetrique relative agrave un chemin constitueacute de B branches est

( )( ) ( )

1

Bi i

npnp

PM Cmicro=

= minussum (A1)

La contribution de chaque transition (branche) du chemin i agrave la meacutetrique cumuleacutee PM(Si) est en effet constitueacutee de deux parties

bull La premiegravere est repreacutesenteacutee par la meacutetrique de branche micronp La valeur indique le niveau de ressemblance entre les symboles geacuteneacutereacutes par la transition et ceux reccedilus par le deacutecodeur

bull La seconde sidentifie avec la soustraction drsquoune constante positive C [Proa95] La soustraction dune constante C est neacutecessaire afin de permettre une comparaison eacutequitable entre des chemins atteignant des niveaux de profondeurs diffeacuterents

La constante C est choisie de maniegravere agrave mieux diffeacuterencier le comportement de la meacutetrique cumuleacutee du chemin correct par rapport agrave celles des autres chemins Lrsquoeffet deacutesireacute est drsquoobtenir une meacutetrique cumuleacutee qui aura tendance agrave augmenter en suivant seulement le chemin correct

254

A12 Strateacutegie de recherche Depth-First

En comparant transition apregraves transition la meacutetrique cumuleacutee drsquoun chemin candidat avec un seuil de reacutefeacuterence dynamique lrsquoalgorithme de Fano incorpore une proceacutedure de deacutetection des chemins qui pourraient ecirctre incorrects [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin candidat serait suspecteacute decirctre incorrect lrsquoalgorithme changera la direction de la recherche en cherchant un chemin plus prometteur La Figure A-1 montre un exemple graphique de ce principe de recherche Dans cet exemple lalgorithme suit initialement le chemin correct jusqursquoau nœud A A cet endroit lrsquoalgorithme est incapable de continuer vers le nœud D en raison du seuil de reacutefeacuterence repreacutesenteacute par la valeur thA La proceacutedure de recherche drsquoun autre chemin est appeleacutee pour la premiegravere fois Apregraves avoir diminueacute le seuil de reacutefeacuterence agrave la valeur th1 puis agrave la valeur th2 un chemin reacuteputeacute conforme a ainsi eacuteteacute trouveacute par la proceacutedure Le chemin choisi amegravene lrsquoalgorithme dans lrsquoarbre jusqursquoau nœud C ougrave le chemin est estimeacute incorrect La diminution du seuil de reacutefeacuterence jusqursquoagrave valeur th4 permet de reprendre le chemin correct en passant par les nœuds A D et E [Schl97]

thA

D

th1

th2 E

BC

F

thC

th3

th4

A

Niveau deprofondeur np np+1 np+2 np+3 np+4 np+5 np+6 np+7

mes

ure

der

reur

s(M

eacutetriq

ue)

seuil dereacutefeacuterence

chemin correct

Figure A-1 exemple de deacuteroulement de lrsquoalgorithme de Fano [Schl97]

255

A2 Symbol-by-symbol Maximum A Posteriori Algorithm

La meacutethode appeleacutee Symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacutee formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole formant le message (518) [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00]

A21 Etablissement du problegraveme

En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode permet lestimation des probabiliteacutes des transitions et des eacutetats du processus le deacutecodage de codes convolutifs est une des applications possibles Cette sous-section preacutesente tout dabord le principe geacuteneacuteral et ensuite les consideacuterations concernant le cas du deacutecodage convolutif Comme deacutejagrave introduit cette meacutethode modeacutelise le problegraveme agrave reacutesoudre par un processus de Markov Les transitions entre les eacutetats dun processus de Markov sont reacutegleacutees par les probabiliteacutes de transitions

( ) 1 Pr

eacutetat consideacutereacute au niveau de profondeur

np np np

np

p m m s m s m

s npminus

= = = (A2)

et les valeurs de la sortie x des transitions (observables) deacutependent de la probabiliteacute

( ) 1

1

Pr

sortie causeacutee par la transition entre les eacutetats et

np np npnp

np

npnp

q x m m x x s m s m

xs s

minus

minus

= = = =

(A3)

ougrave x appartient agrave un alphabet fini et discret

256

Par rapport agrave la transmission numeacuterique des donneacutees les effets des distorsions sur le signal transmis causeacutes par un bruit sans effet de meacutemoire sont eacutevalueacutes agrave laide de la probabiliteacute de transition Tr[|] (Transition probabilities [Bahl74])

11

1 1

1 1

Pr Tr

symboles reccedilus

symboles transmis

BB

np npnp

BB

BB

R X r x

R R r r

X x x

=

=

=

=

prod (A4)

Selon cette repreacutesentation du problegraveme la meacutethode MAP a pour but lestimation de la probabiliteacute a posteriori (APP) des eacutetats du processus de Markov consideacutereacute

Pr

PrPrnp

nps m R

s m RR

== = (A5)

et de la probabiliteacute APP des transitions parvenues entre ces eacutetats

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (A6)

A22 Proceacutedeacute

Soit une seacutequence de symboles R la probabiliteacute Pr[R] devient ainsi un terme commun aux probabiliteacutes (A5) et (A6) Lobjectif de lalgorithme est ainsi la deacutetermination des deux probabiliteacutes suivantes ( ) Pr np npm s m Rλ

= = (A7)

( ) 1 Pr np npnpm m s m s m Rσ minus

= = = (A8)

Ces probabiliteacutes peuvent ecirctre calculeacutees par lintroduction des trois nouvelles probabiliteacutes α() β() γ() [Bahl74] et [Vuce00] ( ) ( ) ( )np np npm m mλ α β= sdot (A9)

( ) ( ) ( ) ( )1 np np npnpm m m m m mσ α γ βminus= sdot sdot (A10)

257

ougrave ( ) 1Pr np

np npm s m Rα = = (A11)

( ) 1Pr Bnp npnpm R s mβ +

= = (A12)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (A13)

Lalgorithme MAP permet la deacutetermination des probabiliteacutes (A7) et (A8) agrave laide de deux probabiliteacutes α() β() qui preacutesentent les proprieacuteteacutes reacutecursives suivantes (Figure A-2 et Figure A-3) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (A14)

( ) ( ) ( )1 1

np np npm

m m m mβ β γ+ += sdotsum (A15)

la probabiliteacute γ() eacutetant deacutefinie par ( ) ( ) ( ) Trnp np np np

xm m p m m q x m m r xγ

= sdot sdotsum (A16)

A23 Algorithme MAP

Le profil de lalgorithme MAP ayant pour objectif lestimation de la fiabiliteacute Λ (519) des bits formant le message est le suivant [Bahl74][Vuce00]

1 Initialisation Les probabiliteacutes α0(m) et βB(m) ougrave m=0 1 2 hellip 2(k-1)-1 sont initialiseacutees selon les conditions de deacutepart et darrecirct de la proceacutedure de codage

2 Forward Recursion Apregraves larriveacutee des symboles rnp qui ont eacuteteacute

geacuteneacutereacutes par le codage du np-egraveme bit dinformation a) La probabiliteacute γnp(mm) (A16) est calculeacutee en se basant sur la

mesure daffiniteacute entre les symboles reccedilus et ceux geacuteneacutereacutes par la transition entre les eacutetats m et m

b) La probabiliteacute αnp(m) (A14) est ensuite deacutetermineacutee de maniegravere reacutecursive (Figure A-2)

c) Les valeurs αnp(m) et γnp(mm) sont sauvegardeacutees d) Cette eacutetape 2 est reacutepeacuteteacutee jusquagrave la reacuteception de toute la seacutequence

de symboles R

258

m

m

m

( )1 np mα minus

( )1 np mα minus

( )np mα( )np m mγ

( )np m mγ

Figure A-2 repreacutesentation graphique de la mise agrave jour de la probabiliteacute α() [Vuce00]

3 Backward Recursion Apregraves avoir reccedilu linteacutegraliteacute de la seacutequence de

symboles R on entame cette troisiegraveme proceacutedure Pour np=B-1 B-2 hellip 0

a) La probabiliteacute βnp(m) est calculeacutee selon leacutequation (A15) (Figure A-3)

b) Les probabiliteacutes λnp(m) et σnp(mm) peuvent ecirctre ainsi deacutetermineacutees selon les formules (A7) et (A8)

m

m

m

( )1 np mβ +

( )1 np mβ +

( )np mβ( )1 np m mγ +

( )1 np m mγ +

Figure A-3 repreacutesentation graphique de la mise agrave jour de la probabiliteacute β() [Vuce00]

A24 Deacutecodage de codes convolutifs

Le contexte du deacutecodage de codes convolutifs implique en particulier que

bull La probabiliteacute de la transition Tr[brvbar] (A16) tient compte de la modeacutelisation de la distorsion affectant le canal de transmission Elle peut se baser soit sur la distance de Hamming soit sur une fonction euclidienne

259

bull La probabiliteacute de la valeur de sortie xnp associeacutee agrave la transition entre deux eacutetats qnp(xnp|mm) (A16) est normalement une fonction deacuteterministe invariable dans le temps (time-invariant) et deacutependante de la transition Dans ce contexte cette valeur xnp regroupe le n bits de sortie du codeur convolutif

bull Si la proceacutedure de codage eacutetablit une initialisation de la meacutemoire du codeur etou lutilisation de bits de terminaison linitialisation de la proceacutedure MAP doit prendre en consideacuteration ces informations

( ) ( )( ) ( )

0 0eacutetat de deacutepart 1 and 0for eacutetat de deacutepart

eacutetat finale 1 and 0for eacutetat finaleB B

m m

m m

α α

β β

= = ne

= = ne

bull La tacircche speacutecifique du deacutecodage de codes convolutifs est lestimation

des bits ou des symboles contenus dans le message envoyeacute La mesure de la fiabiliteacute Λ

( ) npnp

np

Regravegle de Bayes np

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Pr info bit =1 Slog

Pr info bit =0 S

Λ =

=

(A17)

peut ecirctre obtenue par moyen des probabiliteacutes

np

( )

Pr info bit ( )nptransition m mimpliquant i

i R m mσ=

= = sum

npinfo bit

(A18)

La fiabiliteacute Λ peut ecirctre ainsi formuleacutee [Vuce00]

( )( ) ( ) ( )

( ) ( ) ( )

11

( )np 0

1( )

info bit log

np npnpm m

np npnpm m

m m m m

m m m m

α γ β

α γ β

minus

minus

sdot sdotΛ =

sdot sdot

sumsum

(A19)

ougrave

( ) np 1 Pr info bit inp np np npm m i s m r s mγ minus

= = = = (A20)

260

A3 Soft Output Viterbi Algorithm (SOVA)

Comme deacutejagrave introduit certaines applications demandent une information suppleacutementaire sur la proceacutedure de deacutecodage (fiabiliteacute Λ) Cependant bien que lalgorithme de Viterbi preacutesente de bonnes qualiteacutes algorithmiques et de deacutecodage agrave lorigine il nest pas preacutevu pour cette tacircche Le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute et plusieurs meacutethodes ont eacuteteacute deacuteveloppeacutees [Forn73] [Hage95] [Vale98] [Vuce00] Ce concept envisage la modification de lalgorithme de Viterbi de maniegravere agrave le rendre capable de produire une estimation de la fiabiliteacute Λ

A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm

Lalgorithme qui est briegravevement preacutesenteacute est la meacutethode Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] qui offre lavantage dune simpliciteacute de compreacutehension et dimplantation Cette meacutethode estime la fiabiliteacute Λ du np-egraveme bit en consideacuterant le rapport existant entre la meacutetrique du chemin globalement le plus probable et celle du meilleur chemin qui sest eacutecarteacute de ce chemin agrave la profondeur np-1 (Figure 5-8) Ce second chemin repreacutesente le meilleur chemin impliquant linversion de la valeur du np-egraveme bit agrave partir du chemin globalement le plus probable Les deux meacutetriques consideacutereacutees sont ainsi les suivantes

npnp

np-1

npnp

np-1

(chemin info Bit 0)(info Bit 0)chemin bestChemins

(chemin info Bit 1)(info Bit 1)chemin bestChemins

max

max

best

best

PM PM

PM PM

==isin

==isin

=

= (A21)

ougrave la classe tbestChemins indique les chemins qui suivent le chemin le plus probable jusquagrave la profondeur np En supposant que les probabiliteacutes agrave posteriori du np-egraveme bit sont fonction de ces meacutetriques

np

np

(info Bit 1)np

(info Bit 0)np

log Pr info bit =1S

log Pr info bit =0 S

best

best

PM

PM

=

=

prop

prop (A22)

261

la fiabiliteacute Λ peut ecirctre estimeacutee selon la diffeacuterence qui existe entre les valeurs de ces deux meacutetriques

( )

np np

npnp

np

(info Bit 1) (info Bit 0)

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Best BestPM PM= =

Λ =

= minus (A23)

chemins non retenuschemins survivants

chemin le plus probable

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

np=7

reacutecursion en avant reacutecursion en arriegravere

Chemin B

Chemin A

Figure A-4 exemple graphique de lestimation de la fiabiliteacute Λ du quatriegraveme bit par lrsquoalgorithme Bidirectional SOVA Lestimation utilise ainsi les meacutetriques du chemin A (chemin globalement le plus probable) et du chemin B (le meilleur chemin qui sest seacutepareacute agrave partir de la profondeur np=3)

A32 Algorithme

La meacutethode bidirectionnelle peut ecirctre reacutesumeacutee par les tacircches suivantes [Vuce00] 1) Reacutecursion en avant (Forward Recursion) Lobjectif est lidentification du

chemin globalement le plus prometteur en exploitant la notion de survivant Cette reacutecursion coiumlncide avec lalgorithme de Viterbi

262

a) Les meacutetriques cumuleacutees des eacutetats sont initialiseacutees selon les connaissances (agrave priori) des conditions de deacutepart du processus analyseacute

b) La variable np1 est mise agrave zeacutero Cette variable concerne la progression de cette reacutecursion dans le treillis

c) Pour chaque nœud agrave la profondeur np1+1 i) les chemins convergeants dans le nœud sont identifieacutes ii) leurs meacutetriques cumuleacutees PMnp1 sont calculeacutees agrave lrsquoaide des

meacutetriques de branche et des anciennes meacutetriques cumuleacutees iii) le chemin survivant est ainsi seacutelectionneacute iv) la valeur de la meacutetrique cumuleacutee du chemin survivant est assigneacutee

au nœud v) les informations neacutecessaires agrave la reconstruction de ce chemin sont

sauvegardeacutees d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (t1=B) en

increacutementant de 1 le niveau de profondeur np1

2) Reacutecursion en arriegravere (Backward Recursion) Son but est le calcul des contributions minimales dues agrave la prolongation des chemins (agrave chaque niveau de profondeur et pour chaque nœud) a) Les meacutetriques cumuleacutees des eacutetats finaux sont initialiseacutees selon les

conditions de terminaison du processus analyseacute b) Le nombre de symboles B du message est assigneacute agrave la variable np2

Cette variable indique la progression de cette reacutecursion dans le treillis c) Pour chaque nœud agrave la profondeur np2-1

i) les prolongations du chemin lieacute au nœud analyseacute sont identifieacutees ii) la contribution agrave la meacutetrique cumuleacutee de chaque prolongation i

2 2

2

( ) ( ) ( ) ( )1( 1)

1

i i i iS S S Snpnp B npnp B

B

np npPM PM micromicrorarr +minus rarr

+= +

== sum (A24)

est calculeacutee agrave lrsquoaide de la meacutetrique de branche micro(Si)

iii) cette valeur est retenue et assigneacutee au nœud d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave ce que le deacutebut du treillis de recherche

soit atteint (t2=0) Le niveau de profondeur np2 est deacutecreacutementeacute de 1 3) Estimation de la fiabiliteacute Λ

a) La variable np3 responsable du positionnement dans le treillis est initialiseacute agrave 1

b) A la profondeur np3 i) le chemin le plus probable est identifieacute

263

ii) le meilleur chemin qui seacuteloigne au niveau de profondeur np3 du meilleur chemin est ensuite deacutetermineacute

iii) sa meacutetrique est calculeacutee en utilisant les valeurs de meacutetrique cumuleacutee PMnp3 de la contribution PM(np3+1)rarrB et de la meacutetrique de branche micronp3

iv) la fiabiliteacute Λ du np3-egraveme bit est ainsi estimeacutee en utilisant les valeurs des meacutetriques des deux chemins

c) Cette eacutetape b) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (np3=B) en increacutementant la variable np3= np3+1

Normalement les tacircches relatives agrave la reacutecursion en arriegravere et agrave lrsquoestimation de la fiabiliteacute sont exeacutecuteacutees simultaneacutement reacuteduisant la complexiteacute totale de la meacutethode [Vuce00]

A33 Complexiteacute de calcul

Du point de vue de la complexiteacute de calcul une analyse superficielle de cette meacutethode SOVA bidirectionnelle met en eacutevidence que

bull La reacutecursion en avant est eacutequivalente agrave lalgorithme de Viterbi bull La proceacutedure de reacutecursion en arriegravere utilise la mecircme structure que

lalgorithme de Viterbi agrave lexception de lopeacuteration de stockage des informations pour la reconstruction des chemins survivants La complexiteacute est donc reacuteduite par rapport agrave lalgorithme de Viterbi

bull La complexiteacute de lestimation de la fiabiliteacute peut ecirctre reacuteduite en inteacutegrant cette fonction agrave la reacutecursion en arriegravere [Vuce00]

Par conseacutequent dans le contexte dune deacutecision ferme on peut sattendre agrave une complexiteacute totale seacutelevant approximativement agrave 15 fois la complexiteacute de lalgorithme de Viterbi pour le deacutecodage du mecircme message [Vuce00] En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la charge de calcul de lalgorithme de Viterbi

A4 Reacutefeacuterences

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

264

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

265

Annexe B Architectures utilisant un processeur pour le traitement du signal

B1 Codes en bloc CRC des standards UMTS

En raison de lincapaciteacute des meacutethodes de deacutecodage convolutif agrave deacutefinir les conditions derreurs garantissant un deacutecodage correct (sans limiter le potentiel de correction) le standard UMTS [Ts25212] met agrave disposition une seacuterie de codeurs en bloc

B11 Codage en bloc CRC eacutetabli par les standards UMTS

Les codeurs mis agrave disposition sont quatre codes CRC systeacutematiques diffeacuterents (Table B-1) qui permettent un choix optimal et adeacutequat agrave chaque contexte de codage Codeur Longueur

[bits] Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

gCRC24(X) 24 X24 + X23 + X6 + X5 + X + 1 (223-1 223-25) 4 (1)

gCRC16(X) 16 X16 + X12 + X5 + 1 (32767 32752) 4 (1)

gCRC12(X) 12 X12 + X11 + X3 + X2 + X + 1 (2047 2035) 4 gCRC8(X) 8 X8 + X7 + X4 + X3 + X + 1 (127 119) 4 (1) Lutilisation dun message de 1000 bits a permis lobservation dune distance minimale de 4

Table B-1 vue densemble des codes cycliques (CRC) mis agrave disposition pour la structure de codage de canal UMTS

Le standard UMTS [Ts25212] modifie par contre la concateacutenation des bits du code CRC qui doit seffectuer dans lordre inverse Le but de cette inversion est de garantir le fonctionnement correct de la tacircche de blind rate detection56

56 La fonction de Blind rate detection peut ecirctre utiliseacutee pour la deacutetection du format utiliseacute

pour le transport (Transport Format) lorsque lindicateur de la combinaison de format (Transport Format Combination Indicator TFCI) nest pas transmis Le principe

266

[NttD99] en empecircchant des situations dincertitude par rapport agrave la taille du message (Figure B-1)

CRCMessage

XXX 0 YYY 0

CRCMessage

XXX 0 YYY 0

Cas A

Cas B

Figure B-1 exemple dune situation dincertitude causeacutee par un attachement de bits de pariteacute de maniegravere deacutecroissante (approche classique)

B12 Strateacutegie de deacutetection derreurs

La deacutetection derreurs peut saccomplir selon deux strateacutegies [Pres92] [Proa95] [Will99] La premiegravere suit lapproche classique du deacutecodage du message A partir de la valeur reacutesultante par ce deacutecodage valeur qui est nommeacutee syndrome (Syndrome) labsence derreur peut ecirctre soit valideacutee soit mise en doute La seconde strateacutegie exploite par contre la proprieacuteteacute systeacutematique de ces codages agrave partir du message sous analyse les bits de pariteacute sont re-calculeacutes et compareacutes avec ceux reccedilus Cette derniegravere strateacutegie a eacuteteacute adopteacutee pour les implantations software de cette eacutetude La complexiteacute lieacutee au calcul des bits de pariteacute (Table B-2) peut ecirctre simplifieacutee par lutilisation dune table contenant les valeurs des bits de pariteacute preacute-calculeacutees sur 8 bits (encodeur de type Table-Driven [Will99]) Cette implantation a eacuteteacute choisie en preacutevision dune utilisation successive dans des meacutethodes iteacuteratives de deacutecodage

implique le deacutecodage systeacutematique du message en consideacuterant une gamme de tailles diffeacuterentes les bits de pariteacute CRC sont ensuite utiliseacutes pour la validation du message

267

Nombre moyen drsquoopeacuterations observeacutees

Format des variables

32 bits 16 bits 8 bits Total Additions 0 1 1 Increacutementations 0 14 14 Soustractions 0 10 10 Multiplications 0 0 0 Divisions 0 0 0 Transferts de Donneacutees 1 4 5 Logique 36 2 13 51 Deacutecalages 58 2 1 61 Controcircles 27 27 Pointeur assignations 1 1 Pointeur arithmeacutetique 0 Boucle initialisations 0 1 1 Boucle controcircles 11 11 Boucle increacutementations 0 10 10 Grand total 192

Table B-2 charge de calcul de la tacircche de deacutetection derreurs (code CRC utilisant 12 bits de pariteacute) Paramegravetres les 500 messages utiliseacutes sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les valeurs montrent des eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les opeacuterations deacutefinies par les organisations ITU et ETSI

B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS

Concernant la faisabiliteacute des techniques de deacutecodage iteacuteratif une eacutevaluation des performances des codes CRC confirme que les capaciteacutes de deacutetection derreurs sont supeacuterieures agrave celles des codes preacuteceacutedemment utiliseacutes dans le standard GSM (Table B-3 et Table B-4) Cette constatation rend les techniques de deacutecodage iteacuteratif attrayantes Toutefois lefficaciteacute dun tel deacutecodage est soumise au rapport existant entre les caracteacuteristiques de la transmission de donneacutees (nombre et reacutepartition des erreurs de transmission) la taille des messages les potentialiteacutes de deacutetection du code CRC utiliseacute et le nombre diteacuterations de recherche du message correct Comme deacutejagrave citeacute le beacuteneacutefice dun tel deacutecodage dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute limiteacute par un nombre consideacuterable de cas de fausses validations causeacutes par une capaciteacute de deacutetection reacuteduite du code en bloc utiliseacute (dmin de 2 Table B-4) par rapport aux caracteacuteristiques de lapplication [Kuumlhn97]

268

Codeur [ETSI909]

Longueur [bits]

Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

TCHEFS 8 X8 + X4 + X3 + X2 + 1 (255 247) 3 TCHFS-HS-EFS 3 X3 + X + 1 (7 4) 2

Table B-3 vue densemble des codes cycliques utiliseacutes par les standards GSM

Nombre observeacute de messages codeacutes avec poids wi de Messages

100 bits 1 2 3 4 5 6 7 8 9

Codeurs CRC UMTS CRC 8-bit 0 0 0 22105 0 45106 0 55108 0CRC 12-bit 0 0 0 19103 0 37105 0 50107 0CRC 16-bit 0 0 0 27102 0 31104 0 44106 0CRC 24-bit 0 0 0 70102 0 25104 0 89105 0

Codeur CRC GSM CRC 3-bits 0 46102 12104 24105 39106 51107 57108 hellip hellipCRC 8-bits 0 0 82102 21104 44105 75106 11108 hellip hellip

Table B-4 vue densemble des performances des codes CRC relatifs aux standards UMTS [Ts25212] et GSM [ETSI909] Le fond gris met en eacutevidence la distance minimale observeacutee des codes Paramegravetres messages contenant 100 bits dinformation meacutethode de recherche par ordinateur

B2 Proceacutedure deacuteveloppeacute de seacutelection des chemins les plus favorables dans meacutethode List Decoding

Une proceacutedure de seacutelection exploitant la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee Lobjectif est la deacutetermination du seuil permettant la seacuteparation des valeurs de meacutetrique en deux sous-ensembles eacutegaux (voir Sous-Section 674 Figure 6-23) Ce principe est baseacute sur lobservation dune forte concentration des valeurs de meacutetriques cumuleacutees due agrave une diffeacuterence maximale entre les meacutetriques qui est reacuteduite et stable pendant le deacutecodage (Figure 6-24)

269

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees

A partir de la valeur de la meacutetrique cumuleacutee dun chemin (que dans ce contexte on nomme geacuteneacuterateur) on peut deacuteterminer la limite infeacuterieure et supeacuterieure des chemins qui se propageront ensuite depuis ce chemin (Figure B-2) La deacutetermination des limites prend en consideacuteration deux chemins

bull le chemin qui se propage dans les meilleures conditions de transmission (en labsence derreurs de transmission) et

bull celui qui se propage en cumulant le nombre maximal derreurs Par conseacutequent eacutetant donneacute une meacutetrique de branche baseacutee sur la pure distance de Hamming la limite infeacuterieure coiumlncide de maniegravere univoque avec la meacutetrique cumuleacutee du chemin geacuteneacuterateur (Figure B-2) De maniegravere analogue lestimation de la limite supeacuterieure doit assumer agrave chaque transition de niveau la contribution maximale de la meacutetrique de branche (MaxContribBranche) Par conseacutequent agrave la profondeur np1 les meacutetriques de ces chemins sont comprises dans les limites ( )( )1 np npMetrGen MetrGen MaxContribBranche np np +

sdot minus (B1)

ougrave MetrGennp est la meacutetrique cumuleacutee du chemin geacuteneacuterateur En consideacuterant la situation de la seacutelection des L chemins les plus prometteurs dans une liste de 2L chemins la preacutesence dautres chemins (qui deacutecoulent dautres chemins geacuteneacuterateurs agrave la mecircme profondeur np) ne modifie pas les limites (B1) si

1 Au niveau de profondeur np le chemin geacuteneacuterateur qui est utiliseacute pour la deacutetermination des limites montre la meacutetrique cumuleacutee la plus favorable et

2 Au niveau de profondeur np1 le nombre de chemins produits par chaque chemin geacuteneacuterateur deacutepasse ou eacutequivaut agrave 2L

Ducirc aux effets de lopeacuteration de seacutelection des chemins les plus favorables agrave partir de la profondeur ( )2 2 log 2np np L

= + sdot (B2)

270

(point 2) les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner sont comprises dans les limites (B1) qui contiennent les valeurs les plus favorables Ces limites sont eacutevidemment deacutetermineacutees par le chemin geacuteneacuterateur le plus favorable (point 1)

meilleur cheminagrave laprofondeur np S00

S10

S00

S11

S01

S10

S00

profondeur np np+1 np+(longueur decontrainte -1)

S11

S01

S10

S00

S11

S01

S10

S00

estimationde leacutecarts

estimationde leacutecarts

estimationde leacutecarts

valeur de lameacutetriquecumuleacutee

Figure B-2 exemple de propagation des chemins qui se produit depuis le meilleur chemin agrave la profondeur np Code avec longueur de contrainte de 3

B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et infeacuterieures

Par rapport agrave une situation dynamique les limites agrave la profondeur np2+1 peuvent ecirctre ainsi estimeacutees par la formule (B1) en utilisant la meacutetrique cumuleacutee soit du meilleur chemin agrave la profondeur np soit de celui agrave la profondeur np+1 (Figure B-3)

271

chemin le plusprometteur

chemin le plusprometteur

niveau deprofondeur np

np+1 np2=np+3np+2

L=4

estimation deslimites desmeacutetriquescumuleacutees

estimation deslimites desmeacutetriquescumuleacutees

np2+1=np+4

L=4

Figure B-3 repreacutesentation graphique de la preacutediction des limites supeacuterieures et infeacuterieures des meacutetriques cumuleacutees

Lutilisation des informations de meacutetriques plus reacutecentes permet eacutevidemment dobtenir une estimation plus preacutecise des limites Par conseacutequent bien que les meacutetriques cumuleacutees aient tendance agrave augmenter en preacutesence derreurs de transmission (Figure 6-24) cette strateacutegie destimation met en eacutevidence la stabiliteacute de la diffeacuterence maximale entre les meacutetriques On peut ainsi fixer que la diffeacuterence maximale entre les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner est de ( )2log 2 dmm MaxContribBranche L

= sdot sdot (B3)

B23 Proceacutedure de seacutelection par eacutetablissement dun seuil de meacutetrique

Les conseacutequences de cette estimation des limites sont importantes on sait que les 2L meacutetriques cumuleacutees montrent un eacutecart reacuteduit preacutevisible et indeacutependant du niveau de profondeur

272

A partir de la meacutetrique cumuleacutee momentaneacutement la plus favorable (BestMetrnp) on peut en effet estimer la limite infeacuterieure et supeacuterieure des meacutetriques des 2L chemins qui atteindront le niveau de profondeur suivant np tBestMetr BestMetr dnn MaxContribBranche

+ + (B4) La concentration des valeurs permet ainsi le deacuteveloppement dune proceacutedure de seacutelection utilisant la distribution des meacutetriques cumuleacutees Son principe est la deacutetermination dun seuil qui deacutelimite les L meacutetriques les plus favorables (Figure 6-23) en eacutetablissant la statistique des 2L nouvelles meacutetriques cumuleacutees

B3 Affiniteacute entre limplantation software et larchitecture du processeur

La Table B-5 met en eacutevidence limportance dune description par langage agrave haut niveau adapteacutee aux caracteacuteristiques architecturales du processeur utiliseacute Cette table montre les vitesses dexeacutecution des meacutethodes dont les implantations visent diffeacuterentes plates-formes Bien que ces reacutesultats valident les potentialiteacutes et les expectatives des diverses meacutethodes limportance du style de la description du code est facilement observable

273

Nombre minimal de cycles [cycles]

Type de processeur (32 Bits) Pentium Intel Family 5 Celeron Intel Family 6

Meacutethodes (sans troncation de la meacutemoire)

Plates-formes viseacutees [Bits] Nombre

de cycles Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Nombre de cycles

Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Algorithme de Viterbi

32 1744035 246 283 1260355 177 205

Validation CRC - 2770 - - 2800 - -L=2 2256022 307 351 1833843 249 286L=4 2320739 314 359 1909380 258 296L=8 2343000 313 358 1936016 259 296

List Viterbi Decoding

L=16

mixte 1632

2386972 312 355 2050829 268 305L=32 609350 323 305 519173 275 260L=64 1156162 330 313 1002946 287 272

L Decoding inteacutegr la val CRC

L=128

16

2313910 346 328 1919995 287 272

Proceacutedure dacquisition du nombre de cycles (rdTSC)

46 181

() Leacutevaluation de la complexiteacute de calcul WCwOPS (extension de la mesure wOPS de lITUETSI) vise des plates-formes agrave 16 bits

Table B-5 vue densemble des performances indicatives en termes de temps dexeacutecution Le contexte de codage concerne la structure de protection des bits appartenant agrave la classe A du service de parole AMR-NB agrave 122kbps (codes concateacuteneacutes en seacuterie) La proceacutedure deacutevaluation se base sur lutilisation du compteur read-time stamp counter (RDTSC) [Inte97]

B4 Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Inte97] Intel Corporation Using the RDTSC Instruction for Performance Monitoring notes dapplication page Internet acceacutedeacutee au printemps 2001

274

httpdevelopperintelcomdrgpentiumIIappnotesRDTSCPM1HTM [Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based

Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

275

Annexe C Architectures baseacutees sur circuits ASIC

C1 Reacutealisation physique dun deacutecodeur compatible avec le standard UMTS

Comme deacutecrit preacutealablement lutilisation du systegraveme de base dans le contexte de codage UMTS neacutecessite la modification de sa conception afin de supporter la proceacutedure dadaptation du deacutebit de transmission et dexploiter les bits de terminaison [Ts25212] Ces modifications sont briegravevement preacutesenteacutees et discuteacutees

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute

Les standards UMTS preacutevoient lemploi dune proceacutedure dadaptation du deacutebit de transmission La conception du systegraveme de base doit ainsi se conformer agrave ce contexte de deacutecodage en modifiant la reacutealisation mateacuterielle du module chargeacute du calcul des meacutetriques des branches (BMu)

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques de branchessymboles reccedilus

Informations sur la proceacutedure

dadaptation du deacutebit detransmission

Figure C-1 calcul des meacutetriques de branche dans un contexte de deacutecodage preacutevoyant ladaptation du deacutebit de transmission

Ce module doit fournir les valeurs des meacutetriques cumuleacutees en suivant les indications relatives agrave la reacutepeacutetition et agrave leacutelimination (poinccedilonnage) des bits de la proceacutedure dadaptation (Section 32) Ainsi il doit ecirctre capable de traiter correctement

276

bull Un symbole qui na subi aucun traitement par la fonction dadaptation du deacutebit de transmission

bull Un symbole qui a eacuteteacute eacutelimineacute Ce symbole doit ecirctre pratiquement ignoreacute vu quil napporte aucune information valable sur la proceacutedure de codage

bull Un symbole reacutepeacuteteacute En fonction de la strateacutegie adopteacutee (au niveau du systegraveme entier de deacutecodage de canal UMTS) ces indications peuvent ecirctre soit inteacutegreacutees au moyen dune nouvelle repreacutesentation digitale des symboles soit transmises au module par un moyen de transmission physiquement seacutepareacute de celui des symboles (Figure C-1) Lutilisation dun bloc fonctionnel interposeacute (entre la chaicircne de deacutecodage de canal UMTS et le systegraveme de base non-modifieacute) ne permet pas lexploitation exhaustive des informations dadaptation du deacutebit de transmission

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits)

Afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message les standards UMTS [Ts25212] preacutevoient lemploi dune seacuterie de zeacuteros comme bits de terminaison (Figure C-2) Ces valeurs creacuteent des conditions darrecirct de la proceacutedure de codage et deacuteterminent lidentiteacute de leacutetat final de la meacutemoire du codeur (Figure C-3) Importance de leacutetat darrecirct de la proceacutedure de codage Lexploitation des informations des bits de terminaison ne modifie pas le deacuteroulement de lalgorithme de Viterbi jusquau moment du traitement des symboles geacuteneacutereacutes par leur codage A ce moment lalgorithme dispose dinformations preacutecises sur la valeur de ces derniers bits ce qui permet lameacutelioration de la qualiteacute de protection des derniers bits dinformations du message (Figure C-2) Ces informations peuvent bien entendu ecirctre neacutegligeacutees (afin deacuteviter laugmentation de la complexiteacute de la tacircche de seacutelection du chemin pour la prise de deacutecision) mais seulement au deacutetriment de la qualiteacute de protection Le choix dun chemin inexistant pour le deacutecodage (Figure C-3) augmente en effet les risques dune prise de deacutecision incorrecte Le choix crucial est surtout celui

277

du chemin final vu quil est responsable de la prise de deacutecision des derniers δ-(longueur de contrainte-2) bits du message

Figure C-2 exemple de la qualiteacute de protection des derniers bits du message La graphie bleue en trait fin indique la qualiteacute obtenue par le respect des conditions finales de codage Les autres graphies repreacutesentent la qualiteacute obtenue en enfreignant ces conditions linobservance des conditions finales mais lutilisation de leacutetat final correct (verte en trait gras) et linfraction totale des conditions finales de codage (rouge en trait fin) Simulation software utilisant 200000 messages de 500 bits 8 bits de terminaison EbN0=00 dB δ=54 code UMTS avec Rc=13

Solution pragmatique Dans le cas dune prise de deacutecision baseacutee sur les chemins les plus prometteurs la conception du systegraveme doit preacutevoir une augmentation de la complexiteacute de la proceacutedure de seacutelection du meilleur chemin ou une deacutegradation de la qualiteacute de protection des derniers bits du message Un bon compromis est linfraction partielle des conditions de terminaison de la proceacutedure de codage lexeacutecution normale de lalgorithme de Viterbi avec lutilisation de leacutetat final correct pour la prise de deacutecision des derniers bits du message Cette solution peut ecirctre reacutealiseacutee soit par la reacutepeacutetition de lopeacuteration de prise de deacutecision utilisant le mecircme eacutetat final soit par une prise de deacutecision multiple (Figure C-8) qui fournit toutes les valeurs des derniers δ-(longueur de contrainte-2) bits du message

278

Dans le cas dune prise de deacutecision par deacutecodage dun chemin quelconque lutilisation systeacutematique du chemin atteignant leacutetat zeacutero garantit une proceacutedure toujours conforme aux conditions darrecirct eacutetablies par le standard UMTS (Figure C-4)

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B+2

Bits de terminaison

S11

S10

S01

S00

S11

S10

S01

S00

δ

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-3 illustration graphique du deacuteroulement de la proceacutedure de deacutecodage lors de lutilisation des bits de terminaison Dans cet exemple les bits de terminaison sont formeacutes par une seacuterie de zeacuteros

C2 Approche coprocesseur

C21 Solution inteacuteressante

Lanalyse des architectures deacutedieacutees agrave la communication mobile montre quune approche coprocesseur est une solution inteacuteressante [Gath02] Cette solution est surtout inteacuteressante dans la situation actuelle ougrave lon demande un degreacute de flexibiliteacute eacuteleveacute (jeunesse des standards 3G) ainsi quune importante puissance de calcul Le circuit ASIC peut ainsi apporter la puissance de calcul neacutecessaire alors que le DSP fournit tous les avantages lieacutes agrave un dispositif programmable tels que la flexibiliteacute la gestion des diffeacuterentes fonctionnaliteacutes la rapiditeacute dimplantation dinteacutegration et de validation

279

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B-1+ longueurde contrainte -1

S11

S10

S01

S00

S11

S10

S01

S00

δ

eacutetat dont le chemin survivant estutiliseacute par la proceacutedure de prise dedeacutecision

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

Bits de terminaison

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-4 adaptation de la proceacutedure de deacutetermination dun chemin quelconque au contexte dune utilisation des bits de terminaison Dans cet exemple les bits de terminaison coiumlncident avec une seacuterie de zeacuteros

Les deux strateacutegies demploi du coprocesseur sont [Gath02]

bull Tightly Coupled Coprocessor (TCC) Les tacircches exeacutecuteacutees par ces coprocesseurs peuvent ecirctre consideacutereacutees comme des extensions du jeu dinstruction du DSP En effet le DSP initialise une tacircche sur le coprocesseur qui lexeacutecute en un intervalle de temps correspondant agrave quelques cycles dinstruction du DSP Pendant ce temps le DSP nexeacutecute (normalement) aucune autre tacircche

bull Loosely Coupled Coprocessor (LCC) Dans ce cas le genre de tacircche exeacutecuteacutee par le coprocesseur est plus une sous-routine quune simple instruction Lexeacutecution prendra ainsi plusieurs cycles dinstruction du DSP Pour cette raison lutilisation efficace dun tel coprocesseur preacutevoit le fonctionnement parallegravele de deux eacuteleacutements agrave savoir le DSP et le coprocesseur

280

Lapproche coprocesseur permet de franchir les limites de souplesse de la reacutealisation ASIC en beacuteneacuteficiant des services dun dispositif programmable Cette approche preacutevoit ainsi la reacutepartition des diverses tacircches du deacutecodage entre le DSP et le coprocesseur de maniegravere agrave charger le processeur des tacircches neacutecessitant un niveau de souplesse supeacuterieur et agrave attribuer au coprocesseur celles neacutecessitant un nombre eacutelegraveve dopeacuterations (Figure C-5)

calcul desmeacutetriques de

branches(BMu)

mise agrave jour des meacutetriquescumuleacutees et seacutelection des

survivants (ACSu)

deacutecodage du chemin choisi(TBu)

seacutelection duchemin(BPS)

np-egravemeobservation rnp

deacutecisionsurle bit np-δ

meacutetriquescumuleacutees

survivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

DSP

Coprocesseur

controcircles

Figure C-5 proposition dune reacutepartition des tacircches entre le DSP et le coprocesseur

C22 Modifications agrave apporter au systegraveme de base

Dans cette sous-section les implications dune approche souple sur la conception du systegraveme de base sont briegravevement traiteacutees Pour rester dans un discours geacuteneacuteral aucun type preacutecis dapproche coprocesseur (TCC ou LCC) ne sera discuteacute dans cette sous-section La Table C-1 rassemble les paramegravetres du systegraveme de base Ces paramegravetres augmentent le degreacute de souplesse de la reacutealisation mateacuterielle en ladaptant au contexte de codage viseacute Calcul des meacutetriques de branche (BMu) Cest le module le plus deacutependant des paramegravetres deacutecrivant le codeur convolutif et la configuration du systegraveme dans lequel le deacutecodeur travaille En effet tout petit changement de la situation de codage tel que la modification

281

du rendement du code ou lutilisation dune fonction dadaptation du deacutebit de transmission implique la modification de sa conception

Paramegravetre Module(s) impliqueacute(s) Fonctions geacuteneacuteratrices Uniteacute BM Longueur de contrainte Uniteacutes BM ACS BPS et TB Le rendement du code Rc Uniteacutes BM et ACS Adaptation du deacutebit de transmission Uniteacute BM Condition de deacutepart de la proceacutedure de deacutecodage Uniteacute ACS Condition darrecirct de la proceacutedure de deacutecodage Uniteacute BPS Type de deacutecision (ferme ou pondeacutereacutee) Uniteacutes BM et ACS

Table C-1 paramegravetres permettant ladaptation de la meacutethode de deacutecodage aux divers contextes de codage

En raison de cette forte demande de souplesse on peut envisager de charger le DSP du calcul de toutes les meacutetriques de branches et de leur livraison au coprocesseur en tenant compte de la configuration du systegraveme dans lequel le deacutecodeur travaille des caracteacuteristiques du codeur convolutif utiliseacute ainsi que de lexploitation de meacutethodes dadaptation du deacutebit de transmission Un exemple dune telle approche est le coprocesseur Viterbi du DSP TMS320C6416 de Texas Instruments [Spru533] Il faut remarquer que le degreacute de souplesse est deacutetermineacute par la repreacutesentation numeacuterique des meacutetriques de branches (nombre de bits agrave disposition et interpreacutetation des valeurs) Seacutelection des chemins survivants (ACSu) Les deux paramegravetres principaux sont le nombre duniteacutes ACS et la repreacutesentation numeacuterique des meacutetriques de branches (Figure C-6) Selon lapproche de seacutelection parallegravele des chemins survivants le nombre duniteacutes de seacutelection ACS deacutetermine la longueur de contrainte maximale des codes convolutifs supportables Ladaptation aux autres contextes de codage moins exigeants (longueur K infeacuterieure) peut seffectuer par lintroduction dun bloc fonctionnel suppleacutementaire qui se charge de la bonne gestion des ressources Sa tacircche est lactivation des uniteacutes ACS effectivement impliqueacutees dans le deacutecodage ainsi que lassignation correcte des vieilles meacutetriques cumuleacutees (Figure C-6)

282

basc

uleslogique

combinatoire

ACS0

ACS1

ACSM-1

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations surles cheminssurvivants

horloge

nombre deacutetats

Normalisation

logiquecombinatoire

initialisation Figure C-6 exemple de structure parallegravele utilisable pour une approche souple

La repreacutesentation numeacuterique des meacutetriques cumuleacutees doit ecirctre eacutetablie en consideacuterant la repreacutesentation des meacutetriques de branches et le nombre maximal deacutetats M que le systegraveme peut traiter (Sous-section 734) Lopeacuteration de normalisation des meacutetriques cumuleacutees garantit le deacuteroulement correct de lalgorithme tout en limitant le nombre de bits de la repreacutesentation numeacuterique La reacutealisation de ce module doit aussi permettre linitialisation des valeurs des meacutetriques cumuleacutees selon les exigences de chaque contexte de codage ce qui ameacuteliore la capaciteacute dadaptation (exemple [Spra750]) Deacutesignation du chemin le plus favorable (BPSu) La reacutealisation physique de ce module deacutepend principalement du type de critegravere utiliseacute pour la deacutesignation du chemin (chemin le plus probable ou un chemin quelconque) Sa conception doit maintenant consideacuterer une situation caracteacuteriseacutee aussi bien par un nombre variable de chemins survivants que par des conditions darrecirct diffeacuterentes de la proceacutedure de codage (exemple Figure C-7)

283

comparaison

nombre deacutetats

eacutetat dedeacutepartcomparaison

comparaison

comparaison

comparaison

Figure C-7 reacutealisation du module exeacutecutant la seacutelection du meilleur chemin en tenant compte dun nombre variable deacutetats Les modifications apporteacutees par rapport agrave la reacutealisation du module BPS de base (Figure 7-18) sont signaleacutees en rouge

Lexploitation exhaustive des conditions darrecirct complique seacuterieusement la reacutealisation physique de ce module surtout si lon admet que les valeurs des bits de terminaison peuvent varier selon le standard de communication Par conseacutequent on peut envisager la solution pragmatique dune exploitation partielle de ces informations lutilisation de leacutetat final correct pour le deacutecodage des derniers bits dinformation Cette solution tire profit de la preacutesence des bits de terminaison tout en limitant la complexiteacute de la reacutealisation physique des modules Prise de deacutecision (TBu) La conception de ce module TBu doit consideacuterer cinq paramegravetres principaux la longueur de contrainte du code viseacute la longueur maximale supporteacutee par le systegraveme la distance δp la livraison des reacutesultats au DSP ainsi que leacuteventualiteacute dun contexte de codage impliquant une seacutequence limiteacutee de symboles Longueurs de contrainte des codes convolutifs viseacutes La complexiteacute maximale (cest-agrave-dire la longueur maximale de contrainte) des codes convolutifs que le systegraveme est censeacute deacutecoder deacutetermine les ressources de stockage et de traitement neacutecessaires au module TBu La conception de ces module doit ensuite consideacuterer la gestion correcte des ressources de stockage

284

et de reconstruction deacutetats des chemins afin dexeacutecuter la tacircche de reconstruction conformeacutement au contexte de codage Lobjectif peut ecirctre atteint agrave laide dune opeacuteration de masquage qui permet lajustement de la taille de la meacutemoire reconstruite sans modifier la conception du systegraveme de base Distance δp La valeur de ce paramegravetre deacutepend strictement de la longueur de contrainte du code convolutif envisageacute Dans ce contexte dune approche souple coprocesseur la distance optimale est ainsi potentiellement variable Deux approches paraissent inteacuteressantes lutilisation soit dune distance optimale par rapport agrave la longueur K maximale soit dune distance de compromis La premiegravere approche assure la qualiteacute de protection offerte par tous les codes convolutifs exploitables Si la gamme des codes est tregraves large (en termes de longueur de contrainte) lutilisation dune distance δp adapteacutee au contexte de codage le plus exigeant neacutecessite des coucircts importants lusage de nombreuses ressources ainsi quun fort retard algorithmique Si les applications envisageacutees ne tolegraverent pas ces coucircts une distance δp de compromis doit ecirctre eacutetablie en analysant limportance des coucircts demploi parallegravelement agrave la deacutegradation de la qualiteacute de protection dans les divers contextes de codages Modaliteacute de livraison des deacutecisions prises Si le DSP demande la livraison de plusieurs bits deacutecodeacutes agrave la fois la meacutethode de la prise de deacutecision (Figure 7-16) peut ecirctre deacuteveloppeacutee et optimiseacutee de maniegravere agrave extraire simultaneacutement plusieurs valeurs (Table C-2 et Figure C-8) [Fett90] [Min91] Dans ce cas lexeacutecution de la tacircche entiegravere de deacutecodage peut ecirctre modifieacutee en exeacutecutant lopeacuteration de prise de deacutecision multiple par intervalle de temps (chaque N peacuteriodes Table C-2) Cette opeacuteration est ainsi chargeacutee de la prise de deacutecision simultaneacutee de N bits dinformations (Figure C-8)

285

Paramegravetre Valeur Intervalle de temps entre les opeacuterations de deacutecodage [nombre de peacuteriodes] N Nombre de bits deacutelivreacutes [bits] N Retard algorithmique minimal [nombre de peacuteriodes] δp+N-1 Ressources minimales de stockage [nombre dinformations] Mmiddot(δp+N-1) Efficaciteacute [nombre dopeacuterations de reconstruction deacutetat nombre de bits deacutelivreacutes]

(δp+N-1) N

Table C-2 vue densemble des caracteacuteristiques lieacutees agrave la conception de la tacircche de deacutecodage

Une eacutevaluation des points forts dune prise de deacutecision multiple est illustreacutee par la Table C-2 Cette table permet de deacuteterminer facilement les performances et les caracteacuteristiques de la prise de deacutecision

derniegraveres informationssur les chemins survivants

au niveau de profondeur np

eacutetat de deacutepart

eacutetat agrave laprofondeurnp- -N+1pδ

deacutecision surle bitnp- -N+1δ

anciennesindications

sur les cheminssurvivants

eacutetat agrave laprofondeur

np- pδ

deacutecision surle bitnp-δ

N transitions N transitions

niveau de profondeurnpnp - +1pδ

niveau de profondeurnp - -N+2pδ

Figure C-8 exemple de proceacutedure pour une prise de deacutecision multiple La couleur jaune repreacutesente les valeurs qui ne sont plus neacutecessaires pour la prochaine proceacutedure de prise de deacutecision En vert les nouvelles valeurs qui ont eacuteteacute sauvegardeacutees depuis la derniegravere proceacutedure La distance δp est comprise entre les valeurs δ et (δ-K+2)

Deacutecodage dun message formeacute par un nombre fini de symboles Le coprocesseur peut ecirctre confronteacute agrave des contextes de codage impliquant la protection de messages formeacutes par un nombre fini de symboles Dans cette

286

eacuteventualiteacute la signalisation de la fin du message et leacutetat darrecirct de la proceacutedure de codage doivent ecirctre transmis agrave ce module A laide du chemin survivant lieacute agrave cet eacutetat darrecirct ce module peut ainsi effectuer une prise de deacutecision optimale des (δ-nombre de bits de terminaison) bits restants du message

C3 Reacutefeacuterences

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Min91] B ndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

287

Curriculum Vitae

Davide Manetti Originaire de Camignolo Suisse

Neacute le 15 aoucirct 1972

Domaines de recherche

bull Systegravemes de navigation satellitaires GPS et Galileo bull Codage de canal conception dalgorithmes pour implantation sur DSP

et reacutealisation de circuits ASIC pour appareils mobiles UMTS bull Compression de signaux audio conception dalgorithmes et

implantation sur DSP bull Techniques de traitement numeacuterique destineacutees agrave des implantations en

temps reacuteel sur DSP Formation 1991-1997 Ecole Polytechnique Feacutedeacuterale de Zuumlrich (ETHZ)

Diplocircme dingeacutenieur en eacutelectronique Expeacuterience Depuis 1997 Assistant de recherche

aupregraves du Laboratoire dElectronique et de Traitement du Signal Institut de Microtechnique (IMT) Universiteacute de Neuchacirctel (Uni-NE)

Depuis 1998 Deacutefinition et gestion de projets deacutetudiants (stages travaux de semestre et de diplocircme) pour des eacutetudiants provenant de lUniversiteacute de Neuchacirctel de lEcole Polytechnique Feacutedeacuterale de Lausanne et dautres universiteacutes europeacuteennes

Depuis 2001 Doctorant Au sein du Laboratoire dElectronique et de Traitement du Signal IMT Uni-NE

Deacutecembre 2004 Soutenance de la thegravese de doctorat

288

Publications Articles de confeacuterences

D Manetti A Dufaux E Meurville M Ansorge F Pellandini P Ryser D Wieser Audio Coder for Telesurveillance Applications with Real Time Implementation on a Multimedia DSP Proceedings of COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999 pp 276-281

Autres publications D Manetti Audio Coder for Remote Surveillance Application internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland August 1999 D Manetti Channel Coding in Wireless Applications internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland May 2001 L Grasso D Manetti Implementation of a parameterized family of Viterbi Decoders internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland December 2001

Activiteacutes professionnelles Preacutesentation inviteacutee

laquo Evolution of audio coding techniquesrdquo presented at workshop ldquoSolutions numeacuteriques pour la videacuteo et les teacuteleacutecommunications rdquo ATEME ndash TI ndash EPFL Lausanne Switzerland 20 January 2004

Poster Atelier LEA laquo Le codage de canal utiliseacute dans les systegravemes de communication mobile UMTSrdquo Arc et Senans France 29-30 septembre 2003

Reacutevision darticles SCS 2003 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2003 EUSIPCO 2002 XI European Signal Processing Conference Toulouse France 3-6 September 2002 SCS 2001 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2001 COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999

289

Connaissances informatiques Langages de programmation

CC++ Assembleur Matlab Conception mateacuterielle

HDL Designer Modelsim Synopsys Quartus Langues

Italien Franccedilais Allemand Anglais

290

291

292

Page 4: Contributions au décodage des codes convolutifs utilisés ...

iv

v

vi

vii

Reacutesumeacute

La communication numeacuterique mobile est en forte expansion Ainsi le codage de canal est devenu un eacuteleacutement indispensable puisquil permet dassurer la protection de lrsquoinformation transmise en controcirclant les erreurs de transmission Le codage convolutif est lune des techniques principales de codage de canal Leacutetude preacutesenteacutee ici propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes sont avantageuses du point de vue de la reacuteduction de la complexiteacute de calcul de la qualiteacute du deacutecodage et des possibiliteacutes offertes au niveau de la reacutealisation mateacuterielle Lrsquointeacuterecirct drsquoune telle eacutetude est apparu suite aux innovations introduites par le nouveau standard UMTS Du point de vue du codage de canal ce standard emploie des codeurs convolutifs posseacutedant des longueurs de contrainte supeacuterieures aux codes des actuels standards de communication afin dameacuteliorer la protection contre les erreurs de transmission Par suite de cette modification les reacutealisations software et hardware actuellement utiliseacutees ne peuvent pas ecirctre employeacutees pour le deacutecodage des codes du nouveau standard UMTS En plus limportante longueur de contrainte de ces codes accroicirct la complexiteacute de calcul neacutecessaire au deacutecodage classique de chaque symbole proteacutegeacute Dautre part leacutelargissement de la gamme des deacutebits de transmission de lUMTS implique une forte variabiliteacute des ressources de calcul demandeacutees par lopeacuteration entiegravere de deacutecodage La premiegravere partie de ce rapport se concentre sur les meacutethodes destineacutees agrave une implantation software En analysant agrave la fois les potentialiteacutes du codage de canal eacutetabli par le standard UMTS et lrsquoeacutetat de lrsquoart relatif aux principaux algorithmes de deacutecodage convolutif des meacutethodes alternatives agrave la solution de deacutecodage classique (lalgorithme de Viterbi) sont proposeacutees Parmi les solutions eacutetudieacutees on trouve les meacutethodes iteacuteratives deacutenommeacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC Ces deux meacutethodes exploitent notamment les informations fournies par lrsquoenchaicircnement drsquoun code convolutif avec un code en bloc Cet enchaicircnement est lune des structures de protection deacutefinies par le standard UMTS Par rapport agrave lrsquoalgorithme de Viterbi ces meacutethodes iteacuteratives possegravedent des proprieacuteteacutes inteacuteressantes du point de vue de la qualiteacute de protection de linformation et de la complexiteacute de calcul Afin drsquoeacutevaluer et de comparer ces proprieacuteteacutes chaque meacutethode a eacuteteacute

viii

deacutecrite au moyen drsquoune extension du langage ANSI-C en virgule fixe prenant en consideacuteration les particulariteacutes opeacuterationnelles des processeurs de traitement numeacuterique du signal (DSP) La seconde partie de ce rapport deacutecrit la reacutealisation mateacuterielle dune meacutethode de deacutecodage en srsquoappuyant sur lrsquoalgorithme de Viterbi La conception et la synthegravese des divers modules constituant lrsquoalgorithme sont systeacutematiquement preacutesenteacutees Parmi les solutions proposeacutees et analyseacutees dans cette seconde partie une meacutethode alternative a eacuteteacute eacutetudieacutee qui facilite linitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de deacutecodage La technologie UMC25-025microm est utiliseacutee pour la synthegravese logique des diverses solutions Ce rapport de thegravese se conclut par la comparaison des avantages pratiques de lrsquoutilisation des solutions software et hardware preacutesenteacutees au cours de ce travail Les aspects consideacutereacutes sont la surface de silicium neacutecessaire aux circuits la rapiditeacute de traitement et la dissipation drsquoeacutenergie pour chaque symbole traiteacute

ix

Deacutefinitions

Cette section deacutefinit les symboles les traductions utiliseacutees (glossaire) les fonctions matheacutematiques et les abreacuteviations utiliseacutees dans ce rapport de thegravese Symboles Sauf indication contraire lors de lutilisation du symbole la signification des symboles suivants est

b nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de canal

B nombre de symboles dinformation contenus dans le message agrave proteacuteger

C paramegravetre de la fonction de meacutetrique utiliseacutee dans la meacutethode de deacutecodage seacutequentielle

dfree distance libre dun code convolutif dj distance de Hamming existant entre une seacutequence de

symboles j et la seacutequence contenant seulement des symboles 0

dij distance de Hamming qui seacutepare les seacutequences de symboles i et j

dmin distance minimale dun code en bloc dmm distance maximale entre les valeurs de meacutetriques cumuleacutees e nombre derreurs de transmission affectant la seacutequence de

symboles reccedilus Es eacutenergie de transmission pour chaque symbole du message

codeacute Eb eacutenergie de transmission pour chaque bit dinformation du

message Gi fonction geacuteneacuteratrice des codes convolutifs Gkxn matrice geacuteneacuteratrice des codes en bloc Hkxn matrice de pariteacute des codes en bloc Info Biti i-egraveme bit du message Info Bit1xi message formeacute par les bits dinformation Info Bit0 Info Bit1

hellip Info Biti k nombre de bits formant le bloc dentreacutee traiteacute par un code en

bloc

x

K longueur de contrainte dun code convolutif L nombre des chemins candidats retenus agrave chaque iteacuteration de la

meacutethode List Decoding m m-egraveme eacutetat dun processus de Markov M nombre deacutetats diffeacuterents du processus de Markov n nombre de bits de sorties de lopeacuteration de codage de canal np niveau de profondeur de la repreacutesentation graphique du

codage convolutif (diagramme en arbre et en treillis) N0 densiteacute spectrale du bruit blanc gaussien Pe probabiliteacute de croisement du model de canal Binary

symmetric channel rt t-egraveme observation particuliegravere formeacutee par les n symboles [y1t

hellip ynt] reccedilus et ayant eacuteteacute geacuteneacutereacutes par le codage du t-egraveme symbole du message

R seacutequence de symboles reccedilue par un canal discret Rc rendement du code (taux de codage ()) Rc =bn st eacutetat du processus de Markov au temps t (profondeur t dans

larbretreillis de recherche) S seacutequence complegravete des eacutetats st du processus de Markov Si seacutequence complegravete i t aspect temporel dans les repreacutesentations graphiques du

codage convolutif T(DNJ) fonction de transfert dun code convolutif xt sortie geacuteneacutereacutee par le changement deacutetats du processus de

Markov du temps t-1 au temps t x1x i vecteur-ligne repreacutesentant le message codeacute formeacute par les bits

x0 x1 hellip xi-1 X seacutequence de sortie complegravete geacuteneacutereacutee par le codeur yit i-egraveme symbole reccedilu ayant eacuteteacute geacuteneacutereacute par le t-egraveme symbole du

message wi poids du message

Glossaire

arbre de recherche Search Tree bits de terminaison Tail Bits canal de type sans meacutemoire Memoryless Channel

() Dans certaines publications le rapport Rc=bn est eacutegalement appeleacute taux de codage

mecircme simplement taux Ce document utilise la nomenclature plus reacutepandue rendement du code

xi

capaciteacute du canal Channel Capacity chemin survivant Survivor Path code concateacuteneacute de maniegravere seacutequentielle Serially Concatenated Code code en bloc Bloc Code codeur exteacuterieur Outer Encoder codeur inteacuterieur Inner Encoder croissance minimale de la meacutetrique Minimum Distance Growth deacutecision ferme Hard Decision deacutecision souple ou pondeacutereacutee Soft Decision deacutecodeur exteacuterieur Outer Decoder deacutecodeur inteacuterieur Inner Decoder distance de Hamming Hamming Distance erreurs non deacutetecteacutees Undetected Errors eacutetalement Spreading gain de codage Coding Gain longueur de contrainte Constraint Length maximum de vraisemblance Maximum Likelihood poids dun message codeacute Weight of a code word processus de Markov Markov Process protection diffeacuterencieacutee contre les erreurs Unequal Error Protection quantiteacute dinformation Information quantity recouvrement derreurs Error Concealment reacutecursion arriegravere Backward Recursion reacutecursion avant Forward Recursion rendement du code Code Rate structure en treillis Trellis theacuteoregraveme de la non-optimaliteacute Theorem of non-optimality path tri Sorting

Fonctions matheacutematiques

A Bprop la valeur de A est proportionnelle agrave celle de B ln fonction logarithme naturel log fonction logarithmique sans deacutefinition de la base max fonction de maximisation min fonction de minimisation Pr[A] probabiliteacute de leacuteveacutenement A Pr[A | B] probabiliteacute conditionnelle de leacuteveacutenement A eacutetant

donneacute leacuteveacutenement B

xii

Pr[A B] probabiliteacute jointe des eacuteveacutenements A et B A arrondissement vers -infin A arrondissement vers +infin

( ) arg maxA

F A eacuteleacutement de lensemble A qui maximise la fonction F

Abreacuteviations Abreacuteviations matheacutematiques

BestMetrt meacutetrique cumuleacutee du chemin le plus probable au

niveau de profondeur t MaxContribBranche contribution maximale de la meacutetrique de branche MinMetrCroissance augmentation minimale de la meacutetrique cumuleacutee dun

chemin incorrect normaliseacutee par le nombre de symboles reccedilus

ValMaxMetrique valeur maximale de la repreacutesentation numeacuterique de la meacutetrique cumuleacutee

Institutions de standardisation

3GPP 3rd Generation Partnership Project (projet de partenariat pour la 3G)

ANSI American National Standards Institute (organisme priveacute de normalisation ameacutericain)

ETSI Institut europeacuteen des normes de teacuteleacutecommunication ISO Organisation internationale de normalisation ITU Union internationale des teacuteleacutecommunications ITU-R Secteur des radiocommunications de lunion internationale

des teacuteleacutecommunications Abreacuteviations techniques

2G Second Generation of Mobile Communication 3G Third Generation of Mobile Communication ACS Add-compare-select operation in the Viterbi Algorithm ADC Analog to Digital Converter AFC Automatic Frequency Control AGC Automatic Gain Control

xiii

AMR Adaptive Multi-Rate (Speech Coder) AMR-NB Narrow-Band (300-3400 Hz) Adaptive Multi-Rate

(Speech Coder) AMR-WB Wide-Band (50-7000 Hz) Adaptive Multi-Rate (Speech

Coder) ARQ Automatic Repeat Request ASIC Application Specific Integrated Circuit AWGN Additive White Gaussian Noise BER Bit Error Rate CCTrCH Coded Composite Transport Channel CMOS Complementary Metal Oxide Semiconductor CRC Cyclic Redundancy Code DAC Digital to Analog Converter DCH Dedicated Channel DLL Delay Locked Loop DPE Multipath Search ou Delay Profile Estimation DSP Digital Signal Processor DTX Discontinuous Transmission FDD Frequency Division Duplex FEC Forward Error Correction FER Frame Error Rate FPGA Field Programmable Gate Array GF Galois Field GSM Global System for Mobile Communications HDL Hardware Description Language IF Intermediate Frequency kbps Kilo Bit Per Second LCC Loosely Coupled Coprocessor LSB Least Significant Bit MAC Medium Access Control MIPS Millions of Instructions per Second MMuACCs Millions of Multiply-Accumulation Operations per

Second MOPS Millions of Operations per Second MRC Maximal Ratio Combination MSB Most Significant Bit MuACC Multiply-Accumulation Operation OCT Octal (base) PAM Pulse Amplitude Modulation PhCH Physical Channel RRC Radio Resource Control

xiv

RX Receiver SF Spreading Factor SIMD Single-Instruction Multiple-Data SNR Signal to Noise Ratio SoC System on Chip RF Radio Frequency TB Trace back operation in the Viterbi Algorithm TCC Tightly Coupled Coprocessor TFCI Transport Format Combination Indicator TrCH Transport Channel TTI Transmission Time Interval TX Transmitter UE User Equipment UEP Unequal Error Protection UMTS Universal Mobile Telecommunications System UTRA Universal Terrestrial Radio Access UTRAN Universal Terrestrial Radio Access Network VHDL Very High-Speed Integrated Circuit Hardware Description

Language WCDMA Wideband Code Division Multiple Access WCwMOPS Extended version of the wMOPS measure WcwOP Extended version of the wOP measure wMOPS Millions of weighted Operations per Second (ITUETSI) wOP Weighted Operations (ITUETSI)

xv

Table des matiegraveres

REacuteSUMEacute VII

DEacuteFINITIONS IX

TABLE DES MATIEgraveRES XV

1 INTRODUCTION 1

11 CONTEXTE 1 12 OBJECTIFS DE LA THEgraveSE 3 13 ORGANISATION DU DOCUMENT 4 14 CONTRIBUTIONS 6 REacuteFEacuteRENCES 8

2 NOTIONS DE BASE SUR LA PROTECTION DE CANAL 9

21 ARTICLE DE C E SHANNON 9 22 CONTROcircLE DES ERREURS PAR CODAGE 10 23 TYPES DE CODAGE DE CANAL 12

231 Codes en bloc lineacuteaires 12 232 Codes convolutifs 23 233 Utilisation des deux types de codage 33

24 CODES ENCHAIcircNEacuteS 33 25 CONCLUSIONS 34 REacuteFEacuteRENCES 35

3 STRUCTURE DE PROTECTION EacuteTABLIE PAR LES STANDARDS UMTS 37

31 MODEgraveLE HIEacuteRARCHIQUE DU SYSTEgraveME UMTS Agrave 3 NIVEAUX DABSTRACTION 37

32 STRUCTURE DE CODAGE DE CANAL ET MULTIPLEXAGE 38 33 EXEMPLE DrsquoAPPLICATION LE SERVICE DE PAROLE ADAPTIVE-

MULTI-RATE Agrave BANDE EacuteTROITE (AMR-NB) 42 34 CONCLUSIONS 46 REacuteFEacuteRENCES 46

xvi

4 TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX CELLULAIRES SANS FIL 49

41 INTRODUCTION 49 42 FACTEURS INFLUENCcedilANT LA TRANSMISSION DE DONNEacuteES PAR REacuteSEAUX

CELLULAIRES SANS FIL 50 43 MODEacuteLISATION DU MOYEN DE TRANSMISSION 54

431 Systegraveme de perturbation artificielle des signaux 55 432 Modegravele de canal utiliseacute dans la suite des eacutetudes 59

44 CONCLUSIONS 60 REacuteFEacuteRENCES 61

5 MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 63

51 NOTIONS DE BASE 64 511 Repreacutesentations numeacuteriques des symboles reccedilus 64 512 Critegraveres de deacutecodage 64 513 Informations de deacutecodage disponibles 65

52 MEacuteTHODES DE DEacuteCODAGE RECHERCHANT LE MESSAGE LE PLUS PROBABLE 66

521 Deacutecodage Seacutequentiel 68 522 List Decoding 71 523 Algorithme de Viterbi 74

53 MEacuteTHODES DE DEacuteCODAGE ESTIMANT LES SYMBOLES LES PLUS PROBABLES 81

531 Symbol-by-symbol Maximum A Posteriori Algorithm 82 532 Algorithme Max-Log-MAP 85 533 Algorithme Log-MAP 87 534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA) 88

54 ANALYSE CRITIQUE DES MEacuteTHODES PREacuteSENTEacuteES 89 55 CONCLUSIONS 92 REacuteFEacuteRENCES 93

xvii

6 ARCHITECTURES SOFTWARE UTILISANT UN PROCESSEUR POUR LE TRAITEMENT NUMEacuteRIQUE DU SIGNAL 95

61 INTRODUCTION 96 611 Points forts des DSP 96 612 Exemple du standard GSM 97 613 Situation actuelle 98

62 CONTEXTE DE CODAGE UMTS 99 621 Protection de canal des standards UMTS 99 622 Configuration de travail du deacutecodeur 100

63 CRITEgraveRES DE SEacuteLECTION DES SOLUTIONS FONCTIONNELLES 101 631 Evaluation de la qualiteacute de protection 101 632 Evaluation de la complexiteacute de calcul 102 633 Consideacuterations sur limplantation software 107

64 APPROCHE CLASSIQUE LALGORITHME DE VITERBI 109 641 Fonction de meacutetrique 109 642 Meacutecanisme de deacutecodage du meilleur chemin 114 643 Performances de lalgorithme de Viterbi 119 644 Consideacuterations sur cette approche classique 122

65 DEacuteCODAGE DES CODES CONVOLUTIFS INCLUANT LA VALIDATION CRC 122

651 Ideacutee exploitation des informations du codage concateacuteneacute 123 652 Principe de deacutecodage livraison dune liste de messages 124

66 LIST VITERBI ALGORITHM 125 661 Introduction 125 662 Meacutethode Serial List Viterbi Algorithm 127 663 Performances de cette meacutethode iteacuterative 128

67 LIST DECODING INTEacuteGRANT LA VALIDATION DU CRC 135 671 Nouvelle strateacutegie de deacutecodage 135 672 Consideacuterations sur limplantation 137 673 Effet de compensation par lexploitation exhaustive

du codage CRC 138 674 Complexiteacute de calcul 141

68 COMPARAISONS DES MEacuteTHODES ITEacuteRATIVES PROPOSEacuteES 146 69 CONCLUSIONS 149 REacuteFEacuteRENCES 151

xviii

7 ARCHITECTURES HARDWARE BASEacuteES SUR CIRCUITS ASIC 155

71 INTRODUCTION 156 711 Marcheacute actuel des technologies 3G 156 712 Exigences des technologies UMTS 158

72 CONSIDEacuteRATIONS SUR LIMPLANTATION MATEacuteRIELLE 162 721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille 162 722 Description HDL du deacutecodeur 163 723 Meacutethode de deacutecodage lalgorithme de Viterbi 164

73 SYSTEgraveME DE BASE 165 731 Vue densemble 165 732 Synchronisation et reacutepartition entre blocs combinatoires

et non-combinatoires 166 733 Calcul des meacutetriques des branches 167 734 Seacutelection des chemins survivants 169 735 Prise de deacutecision 175 736 Deacutesignation du chemin permettant une prise de deacutecision

correcte 178 74 SYNTHEgraveSE DU SYSTEgraveME DE BASE 182

741 Strateacutegie adopteacutee 183 742 Synthegravese des modules 183 743 Surface de silicium 188 744 Vitesse dexeacutecution 190 745 Taux dactiviteacute des signaux liant les modules 191

75 STRATEacuteGIE PIPELINE POUR LA PRISE DE DEacuteCISION 195 751 Motivation 195 752 Approche pipeline 196 753 Ameacutelioration de la strateacutegie pipeline 197 754 Redondance des opeacuterations de reconstruction deacutetats 198 755 Consideacuterations finales 204

76 CONCLUSIONS 205 REacuteFEacuteRENCES 207

xix

8 COMPARAISON DES CARACTEacuteRISTIQUES DES DEUX ARCHITECTURES SOFTWARE ET HARDWARE 209

81 INTRODUCTION 209 82 DEacuteBIT DU TRAITEMENT 210

821 Approche software 210 822 Approche ASIC 220 823 Comparaison des potentialiteacutes de deacutebit de traitement

des deux approches 221 83 DISSIPATION DEacuteNERGIE PAR SYMBOLE TRAITEacute 224

831 Approche software 224 832 Approche ASIC 228 833 Comparaison des dissipations deacutenergie des deux approches

software et hardware 232 84 SURFACE DE SILICIUM 235

841 Processeurs DSP 235 842 Systegraveme de base ASIC 236 843 Comparaison des demandes en surface de silicium des deux

approches software et hardware 237 85 CONCLUSIONS DSP OU ASIC 238 REacuteFEacuteRENCES 242

9 CONCLUSIONS 245

REMERCIEMENTS 249

ANNEXES 251

CURRICULUM VITAE 287

xx

1

1 Introduction

Cette thegravese eacutetudie la reacutealisation software et hardware de meacutethodes pour le deacutecodage de donneacutees proteacutegeacutees par un codage convolutif Les codes convolutifs ainsi que la structure de protection traiteacutes sont ceux des standards de transmission numeacuterique sans fil UMTS

Ce chapitre preacutesente les motivations qui ont meneacute agrave ce travail de thegravese ses objectifs ainsi que lorganisation de ce rapport Finalement ce chapitre preacutesentera les principales contributions apporteacutees au domaine du deacutecodage convolutif

11 Contexte

Au cours des dix derniegraveres anneacutees nous avons assisteacute agrave une augmentation continue de la demande pour des systegravemes de transmission numeacuteriques fiables [Lust00] Lexplosion de leacutechange dinformations ainsi que les nouvelles possibiliteacutes offertes par le traitement numeacuterique du signal ont accentueacute cette tendance Parmi les critegraveres de deacuteveloppement des reacutecents standards de communication mobile la qualiteacute de la transmission est devenue un facteur deacuteterminant En effet comme les progregraves techniques et leacutevolution des besoins du marcheacute ont eacutelargi la gamme des applications potentielles (Table 1-1) la qualiteacute est devenue un eacuteleacutement indispensable des actuels systegravemes de communication numeacuterique La qualiteacute dune transmission numeacuterique deacutepend principalement de la probabiliteacute derreur des symboles transmis [Thit93] Cette probabiliteacute eacutetant fonction du rapport signal sur bruit une ameacutelioration de la qualiteacute de transmission peut ecirctre envisageacutee en augmentant la puissance deacutemission et en diminuant le facteur de bruit du reacutecepteur Malheureusement cette solution implique des coucircts eacutenergeacutetiques et technologiques ce qui en limite sensiblement lemploi Le controcircle des erreurs par codage est ainsi indispensable

2

Communication Personnels Bureautiques Voix Images Messages Accegraves aux reacuteseaux

drsquoinformations (Internet) Modem hellip

InformationsNouvelles Gestion de budget Cleacute eacutelectronique PasseportID hellip

Courrier eacutelectronique Agenda synchroniseacute Dictionnaire eacutevolutif Fax Divers outilsprogrammes hellip

Neacutegociation Monitorage meacutedical Seacutecuriteacute Tele-banking Reacuteservation de

restauranthocirctelspectacles AchatVente Transfert dargent Paiements hellip

Surveillance meacutedicale Diagnostic agrave distance Consultation agrave distance

Surveillance agrave distance Alarme GPS Appel durgence demande

drsquoaide hellip

Voyages Distraction hellip Roaming GuideCarte des villes Informations locales GPS Meacuteteacuteo Traductions hellip

Jeux eacutelectroniques PhotoVideacuteoMusiques RadioTV Chat hellip

hellip

Table 1-1 cateacutegories de services sans fil et exemples correspondants qui sont envisageables dans un proche futur [Gath02]

Lrsquoutilisation de techniques de traitement numeacuterique du signal et notamment le codage des informations agrave transmettre permet la deacutetection etou la correction drsquoeacuteventuelles erreurs de transmission Comme ces techniques permettent de controcircler les erreurs induites par le bruit du canal de transmission elles sont nommeacutees codages de canal Parmi les principales techniques existantes le codage en bloc et le codage convolutif sont preacutedominantes Le codage convolutif est fortement diffuseacute dans les systegravemes de communication numeacuterique sans fil La strateacutegie de base du codage consiste en lrsquoinsertion drsquoune quantiteacute controcircleacutee de redondance dans la seacuterie dinformations agrave envoyer au moyen dun nouveau codage des informations (Figure 1-1) La proceacutedure de geacuteneacuteration de

3

redondance traite les informations soit en blocs (codage en bloc) soit de maniegravere continue (codage convolutif) Laddition dune redondance confegravere au deacutecodeur la capaciteacute de deacutetection etou de correction dun nombre fini derreurs de transmission

codage decanal transmetteur reacutecepteur deacutecodage

de canal

donneacuteesreconstruitessignal

sourcede bruit

canal detransmission

donneacutees

validation delinteacutegriteacute des

donneacuteesreconstruites

Figure 1-1 positionnement du codage de canal dans les systegravemes de communication [Shan49]

Le nombre drsquoerreurs affectant la transmission des informations deacutepend du moyen de transmission Le deacutebit des erreurs et sa distribution temporelle diffegraverent si le moyen de transport est une ligne teacuteleacutephonique une ligne numeacuterique un lien satellite ou un canal de communication sans fil La qualiteacute de la transmission numeacuterique par reacuteseaux cellulaires sans fil est influenceacutee par des facteurs techniques tels que les types de modulation et dantenne des systegravemes de communication ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee son environnement la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier Pour reacuteduire les effets des erreurs de transmission les standards UMTS preacutevoient un codage de canal dont le niveau de protection peut ecirctre adapteacute aux exigences des applications Il est degraves lors eacutevident que lintroduction de techniques de codage de canal provoque une augmentation de la complexiteacute de calcul du traitement numeacuterique du systegraveme de communication Limportance de cette augmentation est fonction du niveau de protection envisageacute par lopeacuteration de codage lexigence dune protection plus efficace contre les erreurs de transmission implique lutilisation de meacutethodes de codage plus complexes rendant ainsi les proceacutedures de deacutecodage oneacutereuses

12 Objectifs de la thegravese

Lune des motivations agrave lorigine de leacutetablissement des nouveaux standards de communication mobile de la troisiegraveme geacuteneacuteration (3G) UMTS est

4

lameacutelioration de lefficaciteacute de protection contre les erreurs de transmission Ces standards reacutepondent agrave cette exigence par la mise agrave disposition de techniques de codage turbo ainsi que de codes convolutifs plus performants que ceux deacutefinis par les standards de la seconde geacuteneacuteration (2G) [ETSI909] [Ts25212] Laugmentation du deacutebit de transmission maximal et lemploi de codes convolutifs plus complexes augmentent sensiblement la complexiteacute de calcul des meacutethodes de deacutecodage dites classiques utiliseacutees dans les systegravemes de la 2G Ces meacutethodes classiques sont baseacutees sur lalgorithme de Viterbi Leacutetude preacutesenteacutee dans le cadre de ce rapport de thegravese eacutevalue lefficaciteacute des implantations software et des reacutealisations mateacuterielles des meacutethodes classiques de deacutecodage dans le nouveau contexte de codage des standards UMTS Des meacutethodes ameacutelioreacutees ainsi que des solutions inteacuteressantes sont proposeacutees La structure de protection des standards UMTS permet limplantation software de meacutethodes ameacutelioreacutees de deacutecodage meacutethodes qui exploitent iteacuterativement et exhaustivement les informations suppleacutementaires du codage en bloc cyclique Ces meacutethodes possegravedent des caracteacuteristiques inteacuteressantes du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage Le deacuteveloppement dune reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif est eacutegalement analyseacute Lutilisation de lalgorithme de Viterbi permet leacutetude de solutions alternatives de reacutealisation Les aspects consideacutereacutes sont le deacutebit de traitement et la dissipation deacutenergie Ce rapport se conclut par une comparaison des potentialiteacutes des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Lanalyse critique examine le deacutebit de traitement la dissipation deacutenergie et la surface de silicium des circuits Cette comparaison permet didentifier les points forts des implantations software et des reacutealisations mateacuterielles de lalgorithme de Viterbi Les implantations software sont valideacutees en utilisant la structure de codage du service de parole AMR-NB agrave 122kbps [Ts26071] [Ts26101] Lrsquoanalyse de la reacutealisation mateacuterielle drsquoun deacutecodeur convolutif est faite sur la base de quatre codages convolutifs posseacutedant diffeacuterentes caracteacuteristiques de protection (standards GSM [ETSI909] et UMTS [Ts25212])

13 Organisation du document

Ce rapport de thegravese est organiseacute comme suit Le Chapitre 2 introduit briegravevement le lecteur dans le domaine du codage de canal en passant de la contribution pionniegravere donneacutee par Shannon aux principes du controcircle des erreurs par codage enchaicircneacute

5

La structure et les objectifs de la protection de canal eacutetabli par le standard UMTS [Ts25212] sont traiteacutes dans le troisiegraveme chapitre Le cas de la protection des donneacutees du service de parole AMR-NB agrave 122 kbps y est illustreacute agrave titre dexemple Cette structure sera ulteacuterieurement utiliseacutee au Chapitre 6 pour la validation et lanalyse des performances des implantations software des meacutethodes de deacutecodage les plus inteacuteressantes Le quatriegraveme chapitre traite la transmission de donneacutees par reacuteseaux cellulaires sans fils Les facteurs influanccedilant la transmission sont preacutesenteacutes ainsi que la modeacutelisation du canal de transmission En sappuyant sur les connaissances preacutesenteacutees du Chapitre 2 au Chapitre 4 le Chapitre 5 passe en revue les principes de deacutecodage des codes convolutifs ainsi que les meacutethodes les plus repreacutesentatives de ce codage Les meacutethodes preacutesenteacutees sont le Deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Bidirectional Soft Output Viterbi Algorithm Le Chapitre 5 se termine par une comparaison et une discussion des caracteacuteristiques algorithmiques et de la reacutealisation de ces algorithmes Limplantation software de meacutethodes de deacutecodage de codes convolutifs fait lobjet du sixiegraveme chapitre Ce chapitre analyse agrave la fois les potentialiteacutes de la structure de protection eacutetablie par le standard UMTS ainsi que les caracteacuteristiques des principes de deacutecodage afin de deacuteterminer les performances envisageables pour une implantation software Parmi les meacutethodes eacutetudieacutees on trouve non seulement lalgorithme de Viterbi mais eacutegalement des meacutethodes iteacuteratives de deacutecodage Ces meacutethodes iteacuteratives sont une nouvelle reacutealisation de la meacutethode List Viterbi Algorithm ainsi que la nouvelle meacutethode List Decoding inteacutegrant la validation CRC Le sujet du Chapitre 7 est la reacutealisation mateacuterielle dune meacutethode de deacutecodage convolutif La meacutethode choisie est lalgorithme de Viterbi Les analyses et les solutions proposeacutees se basent sur les reacutesultats de la synthegravese logique (outil Synopsys technologie UMC25-025microm [UMC25]) en deacutecomposant lalgorithme en eacuteleacutements constituants Parmi les solutions analyseacutees on trouve une strateacutegie novatrice pour lexeacutecution parallegravele de plusieurs opeacuterations de prise de deacutecision une meacutethode alternative dinitialisation de cette opeacuteration ainsi quune strateacutegie exploitant la redondance des opeacuterations de reconstruction

6

Le Chapitre 8 discute les coucircts des solutions software et hardware proposeacutees Les aspects consideacutereacutes sont la surface de silicium la rapiditeacute de traitement et la dissipation deacutenergie par symbole traiteacute Ce rapport se termine par les conclusions finales de leacutetude effectueacutee eacutetablies dans le Chapitre 9

14 Contributions

Cette section eacutenumegravere les contributions principales apporteacutees par cette eacutetude des meacutethodes de deacutecodage Apregraves une premiegravere partie introductive ce rapport preacutesente agrave la fois une analyse critique des meacutethodes de deacutecodage convolutif existantes la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software leacutetude dalternatives pour la reacutealisation mateacuterielle de lalgorithme de Viterbi ainsi quune analyse critique des reacutesultats de leacutetude Une premiegravere contribution est fournie en Chapitre 5 Elle consiste en la preacutesentation globale des principes de fonctionnement et des proprieacuteteacutes des algorithmes de deacutecodage convolutif y inclus de leacutetat de lart correspondant et de lanalyse critique des algorithmes les plus repreacutesentatifs Les contributions principales du Chapitre 6 sont la proposition de deux meacutethodes ameacutelioreacutees de deacutecodage software exploitant iteacuterativement les informations suppleacutementaires du codage en bloc CRC la meacutethode List Viterbi Algorithm (LVA) et la meacutethode List Decoding inteacutegrant la validation CRC Les contributions du Chapitre 6 sont

bull Proposition dune nouvelle reacutealisation de la meacutethode List Viterbi Algorithm Cette meacutethode qui envisage lrsquoameacutelioration de la qualiteacute de protection de lrsquoalgorithme de Viterbi a eacuteteacute originalement proposeacutee dans le contexte de codage des standards GSM Dans ce chapitre cette meacutethode est revaloriseacutee en proposant une nouvelle reacutealisation conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel montrant ainsi sa faisabiliteacute et son efficaciteacute de protection dans ce nouveau contexte de codage

bull Proposition dune nouvelle meacutethode de deacutecodage iteacuterative la meacutethode List Decoding inteacutegrant la validation CRC Une nouvelle reacutealisation plus efficace de lalgorithme List Decoding a permis la proposition de cette meacutethode de deacutecodage iteacuterative A la diffeacuterence de la meacutethode preacuteceacutedente cette meacutethode envisage la reacuteduction de la charge de calcul

7

tout en gardant la mecircme qualiteacute de protection que lrsquoalgorithme de Viterbi

bull Reacutealisation et analyse critique de limplantation software de lalgorithme de Viterbi conforme agrave la structure de codage UMTS ainsi quagrave une exeacutecution en temps reacuteel Les aspects de limplantation ses potentialiteacutes et sa complexiteacute de calcul sont preacutesenteacutes

Lanalyse critique des reacutealisations software preacutesenteacutees dans le Chapitre 6 utilise la structure de codage eacutetablie pour le service de parole AMR-NB agrave 122kbps ainsi quune strateacutegie deacutevaluation de la complexiteacute de calcul qui a eacuteteacute deacuteveloppeacutee speacutecifiquement pour ce domaine dapplication Les contributions du Chapitre 7 sont la proposition et lanalyse critique de solutions alternatives de reacutealisation mateacuterielle de lalgorithme de Viterbi

bull Meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision du bit dinformation Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation

bull Strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme

bull Strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations impliqueacutees dans le deacutecodage du chemin Lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages deacutepargne deacutenergie dune telle strateacutegie de prise de deacutecision

bull Explication des aspects lieacutes agrave la reacutealisation mateacuterielle dune meacutethode geacuteneacuterale de deacutecodage baseacutee sur lalgorithme de Viterbi

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie UMC25-025microm) La derniegravere contribution au domaine du deacutecodage convolutif est lanalyse critique des reacutealisations logicielles et mateacuterielles preacutesenteacutee au Chapitre 8 Ce chapitre compare les coucircts et les potentialiteacutes des deux approches software et hardware tels que le deacutebit de traitement la consommation drsquoeacutenergie et la surface de silicium du circuit Les potentialiteacutes sont estimeacutees sur la base des informations disponibles sur le marcheacute (printemps 2003) des DSP et sur la base de la technologie de synthegravese UMC25-025microm

8

Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

9

2 Notions de base sur la protection de canal

Ce chapitre introduit les notions fondamentales relatives agrave la protection des donneacutees contre les erreurs de transmission

La Section 21 reacutesume larticle pionnier de Shannon qui fixe les bases de la theacuteorie de linformation en stipulant quune transmission avec un taux derreurs controcirclable est possible agrave travers un canal bruiteacute

La Section 22 deacutecrit deux modes de controcircle des erreurs par codage soit le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) A partir de ces notions la section suivante introduit les principes du codage en bloc lineacuteaire et du codage convolutif Les caracteacuteristiques de ces codages ainsi que les capaciteacutes potentielles de correction derreurs sont ensuite discuteacutees

La Section 24 preacutesente un rappel des principes du controcircle des erreurs par codage enchaicircneacute Linteacuterecirct de lenchaicircnement de plusieurs opeacuterations de codage de canal ndashsoit en seacuterie soit en parallegravele- y est briegravevement preacutesenteacute

21 Article de C E Shannon

La theacuteorie de linformation est neacutee en 1948 avec larticle de C E Shannon A Mathematical Theory of Communication [Draj02] Cette theacuteorie deacuteterminait les limites de performance des systegravemes de communication numeacuterique et anticipait notablement les besoins pratiques de ce type de communication En geacuteneacuteralisant le scheacutema dun systegraveme de communication (Figure 2-1) Shannon preacutesente des notions qui savegravereront ecirctre agrave la base de la theacuteorie de

10

linformation Dans ce scheacutema Shannon identifie cinq eacuteleacutements principaux [Shan49]

bull La source dinformations cet eacuteleacutement geacutenegravere le message agrave transmettre message qui appartient agrave un groupe preacutedeacutefini de messages possibles

bull Le transmetteur cet eacuteleacutement est responsable de la preacuteparation du message de maniegravere agrave permettre sa transmission

bull Le canal le canal de transmission entraicircne des modifications du signal selon les caracteacuteristiques physiques du media de communication La modeacutelisation du canal se base sur plusieurs paramegravetres et eacuteleacutements dont certains possegravedent des proprieacuteteacutes non-preacutedictives

bull Le reacutecepteur la tacircche de cet eacuteleacutement est la reconstruction etou lestimation du message original agrave partir du signal reccedilu

bull Le destinataire cet eacuteleacutement constitue lentiteacute agrave qui le message est adresseacute

sourcedinformations transmetteur reacutecepteur destinataire

messagemessage

reconstruitou estimeacute

signalreccedilusignal

sourcede bruit

canal detransmission

Figure 2-1 modegravele geacuteneacuterique des systegravemes de communication [Shan49]

Parmi les nombreuses informations preacutesenteacutees dans larticle de Shannon il convient de citer limportance du seconde Theacuteoregraveme Ce theacuteoreme montre quune communication numeacuterique fiable est possible via un canal de transmission bruiteacute en recourrant agrave un systegraveme dencodage suffisamment complexe [Shan49] Toutefois Shannon nindique pas la meacutethode pour atteindre ce type de communication

22 Controcircle des erreurs par codage

Suite agrave la publication des articles de Shannon une strateacutegie de codage baseacutee sur la geacuteneacuteration du signal numeacuterique agrave transmettre en deux eacutetapes sest imposeacutee (Figure 2-2) La premiegravere eacutetape consiste principalement en leacutelimination de la redondance de linformation dans le message ou du moins

11

en sa reacuteduction Cette eacutetape est nommeacutee codage de source Dans une deuxiegraveme eacutetape le codage de canal insegravere une redondance controcircleacutee dans le message afin de permettre la gestion des erreurs de transmission par codage (Error Control Coding)

codage desource

codagede canal

messagemessagecodeacutesignal agravetransmettre

transmetteursourcedinformations

traitement numeacuterique du signal

Figure 2-2 principe du controcircle des erreurs par codage Encore aujourdhui plus de 50 apregraves la publication des articles de Shannon le principe de dissociation des deux eacutetapes de codage (codage de source et de canal) est toujours appliqueacute Toutefois on favorise actuellement leacutechange dinformations entre les divers eacuteleacutements de la chaicircne de transmission et de reacuteception Lobjectif du codage de canal est deacutetablir un systegraveme de controcircle des erreurs par un nouveau codage du message Ceci se reacutealise en creacuteant et en inseacuterant une certaine redondance au message Cette redondance permet au reacutecepteur de deacutetecter voire de corriger les erreurs de transmission (Figure 2-3) [Karn95] Naturellement la proceacutedure de geacuteneacuteration de la redondance doit ecirctre adapteacutee aux caracteacuteristiques du support de transmission et doit ecirctre connue par le systegraveme de deacutecodage Les meacutethodes de controcircle des erreurs se regroupent principalement en deux modes dutilisation le Automatic Repeat Request (ARQ) et le Forward Error Correction (FEC) Lobjectif du mode ARQ est lajout dune petite quantiteacute de redondance au message de maniegravere agrave permettre la deacutetection deacuteventuelles erreurs de transmission Dans le cas dune deacutetection derreurs le deacutecodeur demande la retransmission du message erroneacute Par contre dans le cas du mode FEC la redondance introduite permet de deacutetecter et corriger au niveau du deacutecodeur un nombre fini derreurs La quantiteacute de redondance neacutecessaire est naturellement plus grande pour le mode FEC que pour le mode ARQ

12

deacutecodagede source

deacutecodagede canal

messagecorrigeacute etoucommunicationde la preacutesencederreurs

message codeacuteobtenu par ladeacutemodulationdu signal reccedilu

reacutecepteur

destinataire

traitement numeacuterique du signal

Figure 2-3 principe du deacutecodage dun message proteacutegeacute par codage de canal

Le principal deacutesavantage du mode FEC est lutilisation constante dune plus large bande passante mecircme en labsence derreurs Cette meacutethode sapplique surtout pour des systegravemes de communication ougrave le retard de retransmission nest pas acceptable Geacuteneacuteralement pour des systegravemes ayant des taux derreurs raisonnables les coucircts lieacutes aux demandes et aux retransmissions des blocs de signal erroneacutes (mode ARQ) sont normalement moins importants que ceux causeacutes par lusage dune bande passante plus large (mode FEC) On observe que pour des applications supportant un retard de transmission un mode mixte (hybrid ARQ-FEC) permettant de beacuteneacuteficier des avantages des deux approches est couramment utiliseacutee Gracircce agrave la redondance fournie par le mode FEC le systegraveme cherche deacuteventuelles erreurs qui sont ensuite corrigeacutees Si le taux derreurs est supeacuterieur agrave celui supportable par la meacutethode FEC la meacutethode ARQ intervient en exigeant la retransmission du message [Noki00] [Pana01]

23 Types de codage de canal

231 Codes en bloc lineacuteaires

Alors que Shannon a deacutefini les limites drsquoune communication fiable Hamming et Golay se sont inteacuteresseacutes au deacuteveloppement du premier systegraveme permettant un controcircle des erreurs ce qui a donneacute naissance agrave la branche matheacutematique de la theacuteorie du codage (coding theory) [Vale98] Le meacuterite de la deacutecouverte du premier code permettant la correction des erreurs est attribueacute agrave Hamming En 1946 alors qursquoil travaillait dans les laboratoires Bell il eacutetait frustreacute par la non-fiabiliteacute des ordinateurs de ce temps-lagrave les ordinateurs eacutequipeacutes de systegravemes de deacutetection derreurs arrecirctaient preacutematureacutement lexeacutecution des programmes en preacutesence derreurs Ainsi

13

Hamming chercha un moyen pour coder les donneacutees drsquoentreacutees de maniegravere agrave ce que les ordinateurs puissent non seulement deacutetecter les erreurs mais eacutegalement les corriger Il proposa de regrouper les donneacutees en paquets de 4 bits afin de deacuteterminer 3 bits suppleacutementaires par combinaison lineacuteaire (formule (21) Table 2-1) Les ordinateurs disposaient ainsi dinformations suffisantes pour pouvoir identifier et corriger lrsquoeacuteventuelle erreur preacutesente dans un tel bloc eacutelargi agrave 7 bits (Figure 2-8) [Vale98] En 1950 Hamming publia dans le The Bell System Technical Journal les reacutesultats de son eacutetude sur les codes corrigeant une erreur unique [Hamm50]

Message Bits de pariteacute

Message codeacute Message Bits de pariteacute

Message codeacute

0000 000 0000000 1000 101 1000101 0001 011 0001011 1001 110 1001110 0010 110 0010110 1010 011 1010011 0011 101 0011101 1011 000 1011000 0100 111 0100111 1100 010 1100010 0101 100 0101100 1101 001 1101001 0110 001 0110001 1110 100 1110100 0111 010 0111010 1111 111 1111111

Table 2-1 exemple de code de Hamming (74) Pour chaque groupe de 4 bits (message) ce code geacutenegravere 3 bits suppleacutementaires (bits de pariteacute) formant ainsi un message codeacute de 7 bits Leacutequation (21) deacutefinit la combinaison lineacuteaire permettant la geacuteneacuteration des messages codeacutes

Les premiers codes en bloc montraient des limites importantes la correction drsquoune erreur unique demandait un nombre conseacutequent de bits suppleacutementaires Cet aspect indeacutesirable poussa Golay dans le perfectionnement de la geacuteneacuteration de codes en bloc Ce travail permit la deacutefinition de codes dont les capaciteacutes de correction eacutetaient supeacuterieures agrave celles des codes initiaux de Hamming [Vale98] A partir de ce reacutesultat prometteur dautres codes ont eacuteteacute ensuite deacuteveloppeacutes et raffineacutes eacutelargissant la gamme des codes en bloc et le nombre de contributions au domaine de la theacuteorie du codage En particulier [Proa95] [Vale98] [Liew02]

bull Les codes Reed-Muller (RM) qui par rapport aux codes de Hamming et Golay permettent dobtenir une vitesse de deacutecodage supeacuterieure un

14

choix plus vaste de tailles des blocs sortants (code words) et une ameacutelioration des proprieacuteteacutes de correction

bull Les codes cycliques (Cyclic Redundancy Codes CRC) qui possegravedent des proprieacuteteacutes matheacutematiques particuliegraveres favorisant la reacutealisation mateacuterielle de lrsquoencodeur et du deacutetecteur drsquoerreurs (Figure 2-9) Ainsi ils sont principalement utiliseacutes pour la deacutetection drsquoerreurs

bull Le codes Bose-Chaudhuri-Hocquenghem (BCH) repreacutesentant une large classe des codes cycliques qui ont eacuteteacute deacutecouverts simultaneacutement par Hocquenghem et par le groupe Bose et Ray-Chaudhuri La taille des messages codeacutes vaut n=qm-1 ougrave m est une valeur entiegravere et q la taille de lalphabet du code Les codes BCH permettent lutilisation dun alphabet non-binaire (qgt2)1 Lutilisation des codes dans un champ de Galois (Galois fields) GF(q) plus eacutetendu (qgt2) permet dameacuteliorer la qualiteacute de protection contre les concentrations temporelles derreurs (Burst errors) Lexemple le plus repreacutesentatif est la famille de codes Reed Solomon

Principe des codes en bloc Chaque famille de codes possegravede des caracteacuteristiques et potentialiteacutes propres bien quelles aient eacuteteacute deacuteveloppeacutees en suivant le mecircme principe le regroupement des symboles dentreacutee en blocs afin de leur ajouter une quantiteacute controcircleacutee de redondance (Figure 2-4)

codeur enbloc (nk)

deacutecodeurcode en

bloc (nk)

message k symboles

communication de lapreacutesence derreurs

message codeacute(Code Word) n symboles

message codeacute(Code Word) reccedilu n symboles

message deacutecodeacute k symboles

Figure 2-4 signaux dentreacutee et de sortie du codage et du deacutecodage des codes en blocs

En consideacuterant le cas dun code binaire lineacuteaire (nk) la strateacutegie commune des codes en blocs est la modification de la repreacutesentation numeacuterique des 2k messages possibles dentreacutees Lutilisation dun espace de codage plus grand de celui utiliseacute pour repreacutesenter le message introduit la redondance neacutecessaire au codage de canal (Figure 2-5) Si la transformation dun espace de codage agrave lautre se passe de maniegravere lineacuteaire le code est appeleacute code lineacuteaire (linear code) [Lust00] 1 Un codage qui utilise un alphabet contenant un nombre qgt2 de symboles est dit non-

binaire (nonbinary coding)

15

2k messages

2k messages utiliseacutes sur 2n messagesdisponibles (Code Words)

Figure 2-5 principe de linsertion de redondance par une nouvelle repreacutesentation du message utilisant un plus grand espace de codage

Un exemple est le code de Hamming (74) [Proa95] qui utilise 16 messages codeacutes dans un espace de 128 messages possibles Le message codeacute x1x7 est formeacute par la multiplication (modulo 2) des bits dinformation du message Info Bits1x4 par une matrice dite geacuteneacuteratrice qui deacutecrit les combinaisons lineacuteaires utiliseacutees On a donc

0 1 6 0 1 3

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

x x x Info Bits Info Bits Info Bits

= sdot (21)

ougrave le vecteur-ligne Info Bits1x4 repreacutesente les 4 bits formant le message agrave proteacuteger En geacuteneacuteral un message codeacute xn obtenu en utilisant un code lineacuteaire (nk) est deacutecrit par la relation = sdot1timesn 1timesk ktimesn Info Bits Gx (22) ougrave le vecteur-ligne Info Bits1xk repreacutesentent les k bits du message et Gkxn est la matrice geacuteneacuteratrice Chaque code est normalement speacutecifieacute par le nombre de bits du message codeacute n et par le nombre k de bits du message original agrave proteacuteger (appeleacutes bits dinformations Information bits) Si la nouvelle repreacutesentation est formeacutee par la simple concateacutenation drsquoun nombre de bits suppleacutementaires le code est appeleacute systeacutematique et les bits suppleacutementaires sont deacutenommes bits de pariteacutes

16

(Parity bits) Le rapport entre les tailles de ces deux messages Rc=kn est appeleacute rendement du code (Code Rate) Distance de Hamming et poids dun message Un important paramegravetre caracteacuterisant le code en bloc est la distance minimale existant entre les divers messages codeacutes (Minimal distance of the code) [Proa95] qui se mesure par la distance de Hamming (Hamming Distance) La distance de Hamming dij entre deux messages i et j indique le nombre de cas ougrave les symboles correspondants des deux messages sont diffeacuterents En utilisant cette notion la distance minimale dmin du code est deacutefinie comme la distance dij la plus petite existant entre les messages geacuteneacutereacutes par le code en bloc min =min i j ijd dne (23)

Dans le cas de codes en bloc lineacuteaires la recherche de la distance minimale dmin peut ecirctre simplifieacutee Si les messages sont geacuteneacutereacutes par des fonctions lineacuteaires la diffeacuterence entre deux messages est eacutegalement un message [Proa95] Soit wi le poids (weigth) dun message codeacute i identifiant le nombre de ses eacuteleacutements non-nuls la distance minimale dmin (23) peut ecirctre deacutefinie ainsi

min =min

est le message codeacute zeacutero (message formeacute uniquement de zeacuteros)

iwd ne 0i i i

0i (24)

En utilisant la relation (24) la recherche de la distance minimale se reacuteduit au calcul du poids de 2kndash1 messages au lieu de deacuteterminer 2k-1middot(2kndash1) distance de Hamming [Proa95]

17

Qualiteacute de protection En labsence dun codage de canal ouet dune redondance suffisante des informations contenues dans le message agrave coder (dmin=1) il nest pas possible de deacutetecter si le message reccedilu est corrompu (Figure 2-6)

1110

1011

deacutecodeur

1110

1011

encodeur

Figure 2-6 envoi dun message sans protection Le deacutecodeur na aucun moyen de deacutetecter la transmission erroneacutee des donneacutees

En preacutesence dun message codeacute (dmingt1) le deacutecodeur est confronteacute agrave deux situations possibles (Figure 2-7)

bull le message reccedilu appartient au sous-ensemble des messages utiliseacutes lors de lencodage

bull le message reccedilu appartient au sous-ensemble des messages qui ne sont pas utiliseacutes par le codeur en bloc Cette situation indique quon est en preacutesence dune transmission erroneacutee du message

Un message est deacutefini comme valide sil appartient au groupe de messages utiliseacutes par le codage en bloc La meacutethode de base pour veacuterifier la validiteacute dun message utilise une matrice Hkxn appeleacutee matrice de pariteacute (parity-check matrix) Cette matrice est deacuteriveacutee de la matrice de geacuteneacuteration Gkxn (22) de maniegravere agrave ce que la relation

est le vecteur ligne repreacutesant les bits du message reccediluest le vecteur ligne formeacute que par des zeacuteros

= sdot Tktimesn 1timesn 1timesk

1timesn

1timesk

rH r 0

0 (25)

soit satisfaite seulement en preacutesence dun message valide Par rapport agrave lexemple (21) preacuteceacutedemment illustreacute sa matrice de pariteacute est

18

1 1 1 0 1 0 00 1 1 1 0 1 01 1 0 1 0 0 1

=3times7H (26)

[Proa95] Lrsquoinvaliditeacute drsquoun message correspond ainsi neacutecessairement agrave une transmission erroneacutee des donneacutees

deacutecodeur

1010 011

000 1011

1010 011

000

1010 010

0101011

encodeur

1011

sous-ensemble demessages codeacutes utiliseacutespar le codeur en bloc

sous-ensemble de messagescodeacutes non-utiliseacutes par lecodeur en bloc

Figure 2-7 envoi dun message proteacutegeacute par un code de Hamming (74)

Si lon considegravere agrave titre dexemple un code en bloc avec distance minimale de 3 (Figure 2-8) un tel code garantit la deacutetection de 2 erreurs de transmission qui pourraient affecter le message codeacute Les potentialiteacutes de deacutetection sont supeacuterieures agrave ce seuil Toutefois un nombre derreurs supeacuterieur agrave (dmin-1) peut transformer le message codeacute par lencodeur en un message valide qui fausse la meacutethode de deacutetection (25) Cette situation potentielle est nommeacutee situation de fausse validation Les performances de correction derreurs dun code en bloc sont eacutegalement deacutetermineacutees par les distances de Hamming existant entre les messages utiliseacutes pour le codage Selon le principe de correction derreurs par deacutetermination du message valide le plus proche (en termes de distance de Hamming) lutilisation dun code en bloc garantit la correction de ( )min 1 2d minus erreurs Le

19

code en bloc utiliseacute agrave titre dexemple (Figure 2-8) garantit ainsi la deacutetection de 2 erreurs et la correction dune seule erreur de transmission

distance deHamming de 1 bit

message i1010 011

message j1011 000

deacutetection derreurs

correction derreurs

deacutetection derreurs

correction derreurs

1010 010 1011 010

Figure 2-8 exemple graphique de la potentialiteacute de deacutetection et de correction derreurs par la deacutetermination du message valide le plus proche

Codes en bloc CRC utiliseacutes par les standards UMTS Les standards UMTS disposent de quatre codes CRC [Ts25212] pour le controcircle de labsence derreurs dans les messages livreacutes au destinataire Les notions de base permettant de comprendre les principes des codes en bloc CRC sont deacutecrites ci-apregraves Notions de base des codes en bloc CRC Un code lineacuteaire (nk) est nommeacute code cyclique si tous les deacutecalages cycliques (cyclic shift) dun message codeacute sont eacutegalement des messages codeacutes [Lin82] [Proa95] Dans le domaine du codage cyclique on associe au message codeacute V=[vn-1hellip v2 v1 v0] le polynocircme v(X) de degreacute infeacuterieur ou eacutegal agrave n-1 tel que

1 2

1 2 1 0( ) pour les codes binaires (2) pour 0 1 1

nn

i

v X v X v X v X vv GF i n

minusminus= + + + +

isin = minus (27)

La meacutethode de codage CRC se base sur la geacuteneacuteration du message codeacute v(X) par la multiplication polynomiale (modulo 2 pour les codes binaires) du message u(X) avec le geacuteneacuterateur polynomial g(X) donneacute par

20

11 0 1 01

1 21 2 1 0

) )

( ) ( ) ( ) ( (

( )

k n kk n k

nn

v X u X g Xu X u X u g X g X gv X v X v X v

minus minusminus minus

minusminus

sdot =

= sdot == + + + + + +

= + + + +

(28)

Si le polynocircme geacuteneacuterateur g(X) de degreacute n-k est un facteur du polynocircme Xn+1 ce polynocircme geacutenegravere un code en bloc cyclique (nk) [Lin82] [Pres92] [Proa95] [Will99] Etant donneacute le geacuteneacuterateur polynomial g(X) on peut demander que le message codeacute v(X) contienne directement le message u(X) tout en respectant les caracteacuteristiques des codes en bloc cycliques Une solution est la formation du message codeacute v(X) par la multiplication du message u(X) avec le polynocircme Xn-k en additionnant successivement le polynocircme b(X) qui garanti la divisibiliteacute du polynocircme v(X) par g(X) (28) ( ) ( )( ) ( ) ( )n kv X X u X b X a X g Xminus sdot= + = sdot (29) La tacircche de lencodeur systeacutematique est ainsi de deacuteterminer le polynocircme b(X) qui correspond au reste de la division du terme Xn-kmiddotu(X) par le geacuteneacuterateur polynomial g(X) tel que

( )

( )( ) resten kX u Xb Xg X

minus sdot

= (210)

Cette tacircche est reacutealisable mateacuteriellement en utilisant un registre agrave deacutecalage avec une boucle de contre-reacuteaction utilisant des additions modulo 2 (Figure 2-9) [Proa95]

bit dentreacutee (message)

b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11++ + + +bit de sortie(message codeacute)

(1)

(2)

+ addition modulo 2

Figure 2-9 scheacutema agrave bloc de lencodeur systeacutematique CRC agrave 12 bits avec geacuteneacuterateur polynomial g(X)=X12+ X11+ X3+ X2+ X+1 Apregraves le traitement du dernier bit du message le contenu des 12 bascules repreacutesente le polynocircme b(X)

21

Le standard UMTS met agrave disposition quatre codes cycliques systeacutematiques (Table 2-2) mais il modifie lordre des bits de pariteacute lors de leur concateacutenation [Ts25212] Lajout des bits de pariteacute seffectue dans lordre inverse en commenccedilant par le bit b0 jusquau bit bn-k-1

Codeur Longueur [bits]

Taille des messages (n k)

Geacuteneacuterateur polynomial g(X)

gCRC24(X) 24 (223-1 223-25) X24 + X23 + X6 + X5 + X + 1gCRC16(X) 16 (32767 32752) X16 + X12 + X5 + 1gCRC12(X) 12 (2047 2035) X12 + X11 + X3 + X2 + X + 1gCRC8(X) 8 (127 119) X8 + X7 + X4 + X3 + X + 1

Table 2-2 les geacuteneacuterateurs polynomiaux utiliseacutes dans le standard de codage de canal UMTS [Ts25212]

Deacutecodage des codes CRC Etant donneacute que les codes CRC sont des codes en blocs ils sont capables de deacutetecter et de corriger des erreurs Toutefois ils ne sont souvent utiliseacutes que comme moyen de deacutetection derreurs Dans le contexte des codes CRC systeacutematiques deux meacutethodes principales sont utiliseacutees pour la deacutetection derreurs La premiegravere meacutethode consiste agrave diviser le message reccedilu par son geacuteneacuterateur polynomial g(X) La valeur du reste de cette division permet la deacutetection et leacuteventuelle correction derreurs La reacutealisation mateacuterielle de cette meacutethode utilise un registre agrave deacutecalage avec une boucle de contre-reacuteaction et des opeacuterations dadditions modulo 2 [Proa95] La seconde meacutethode calcule les bits de pariteacute en utilisant la partie du message reccedilu qui repreacutesente les bits dinformation Elle compare ensuite ces bits de pariteacute avec ceux reccedilus dans le message codeacute Situation particuliegravere de codage Si la taille km des messages agrave proteacuteger ne sadapte agrave aucun code cyclique on peut envisager dutiliser un code cyclique (nk) traitant des messages plus larges (k gt km) [Lin82] En exploitant ce code cyclique (nk) on traite seulement les messages dont les L=(k- km) bits de poids fort (MSB) sont des zeacuteros Leacutelimination de ces L bits geacutenegravere un code lineacuteaire (n-Lkm) qui nest deacutesormais plus un code cyclique ce code est nommeacute Shortened cyclic code

22

Toutefois cette modification ne compromet pas lutilisation des meacutethodes de codage et de deacutetection des erreurs preacuteceacutedemment preacutesenteacutees Par rapport agrave la qualiteacute de protection du code (n-Lkm) ce code garde les mecircme qualiteacutes que celles du code cyclique original (nk) Codes en bloc conclusions Malgreacute le succegraves du codage en bloc ce type de codage comporte des inconveacutenients importants [Liew02] [Vale98] Le regroupement du message en bloc implique normalement une latence due agrave la neacutecessiteacute de disposer de tous les symboles du message avant de proceacuteder au codage ou au deacutecodage2 Les codes travaillant sur des grands blocs peuvent ainsi entraicircner une forte latence ce qui rend le retard algorithmique du systegraveme important De plus la proceacutedure de deacutecodage est affecteacutee par un inconveacutenient suppleacutementaire le deacutecodeur a impeacuterativement besoin de connaicirctre la position du deacutebut et de la fin du message codeacute La connaissance de la position correcte du premier symbole du message dans le flux de bits est ainsi indispensable au bon deacuteroulement des proceacutedures de controcircle et de correction derreurs Le dernier inconveacutenient des codes en bloc provient du fait que le deacutecodage de canal a eacuteteacute initialement consideacutereacute uniquement comme un eacuteleacutement qui sinsegravere entre le reacutecepteur et le destinataire (Figure 2-3) A lorigine les proceacutedures de deacutecodage des codes en bloc ont ainsi eacuteteacute deacuteveloppeacutees en envisageant le traitement de messages codeacutes avec la mecircme repreacutesentation numeacuterique que le message provenant de la source drsquoinformation (situation du deacutecodage ferme Hard Decoding) Pourtant dans le but drsquoatteindre les limites preacutedites par Shannon lrsquoutilisation drsquoune quantification moins rigide (situation du deacutecodage souple ou pondeacutereacute Soft Decoding) est devenue impeacuterative une meilleure qualiteacute de correction ne peut ecirctre atteinte quen augmentant le flux de lrsquoinformation mise agrave disposition du deacutecodeur Linconveacutenient des codes en bloc est que les meacutethodes de correction deacuteveloppeacutees sadaptent mal agrave ces situations de deacutecodage souple en raison de leur incapaciteacute de traiter le flux suppleacutementaire dinformations disponible

2 Certaines familles de codes en bloc systeacutematiques possegravedent des caracteacuteristiques

particuliegraveres du codage qui offrent la possibiliteacute de reacuteduire efficacement la latence du deacutecodage Un exemple est donneacute par la famille de codes CRC

23

232 Codes convolutifs

Les principaux inconveacutenients du codage en bloc peuvent ecirctre eacuteviteacutes par une approche diffeacuterente de la probleacutematique du codage cest le cas du codage convolutif (Convolutional Coding) [Vale98] Preacutesenteacute par Elias en 1955 ce type de codage ajoute systeacutematiquement de la redondance au message codeacute au fur et agrave mesure que les symboles du message (chacun formeacutes de b bits) sont livreacutes au codeur Le message codeacute se forme ainsi iteacuterativement en utilisant un registre agrave deacutecalage Ce registre est dimensionneacute pour accueillir les K symboles les plus reacutecents du message et la geacuteneacuteration du message codeacute utilise n fonctions lineacuteaires algeacutebriques Ces fonctions sont appeleacutees fonctions geacuteneacuteratrices (linear algebraic function generators) Un exemple de codeur convolutif est illustreacute agrave la Figure 2-10

+

+

premier bit de sortiesecond bit de sortie

troisiegraveme bit de sortie

bit dentreacuteez-1 z-1

+ addition modulo 2

Figure 2-10 exemple de codeur convolutif avec une longueur de contrainte K=3 Ce codeur geacutenegravere 3 bits de sortie (n=3) pour chaque bit dentreacute (b=1)

A chaque instant t le codeur de la Figure 2-10 produit trois bits de sortie en fonction des trois bits dentreacutee les plus reacutecents selon les fonctions algeacutebriques suivantes

premier bit ( ) bit dentreacutee( )second bit ( ) bit dentreacutee( ) bit dentreacutee( 2)troisiegraveme bit ( ) bit dentreacutee( ) bit dentreacutee( 1) bit dentreacutee( 2)

t tt t t

t t tt

== oplus minus= oplus minusoplus minus

(211)

Le signal de sortie se forme iteacuterativement en enchaicircnant les n bits de sortie du codeur convolutif (Figure 2-11)

24

bit de sortie0(t) bit de sortie1(t)bit de sortie2(t-1) bit de sortie2(t)

Figure 2-11 repreacutesentation graphique du signal de sortie du codeur convolutif de la Figure 2-10

Le nombre de symboles K qui contribuent agrave la geacuteneacuteration des n bits de sortie est nommeacute longueur de contrainte du code (Constraint Length) Similairement au cas des codes en bloc le rendement du code Rc indique toujours le rapport entre les nombres de bits dentreacutee et de sortie (Rc=bn) Les fonctions geacuteneacuteratrices Gi deacutecrivent les fonctions lineacuteaires algeacutebriques du code En utilisant lexemple de la Figure 2-10 chaque fonction algeacutebrique (211) est reformuleacutee ainsi

i

bit de sortie ( ) (2) bit dentreacutee( ) (1) bit dentreacutee( 1) (0) bit dentreacutee( 2)

() [01] [ (2) (1) (0)] 0 1 et 2i

i

i

i

i i i

t g tg tg t

g g g ig

= sdotoplus sdot minusoplus sdot minus

isin =iG

(212)

Selon cette repreacutesentation (212) les fonctions geacuteneacuteratrices G0=[100] G1=[101] et G2=[111] deacutecrivent exhaustivement les fonctions algeacutebriques (211) utiliseacutees par le codeur analyseacute Dans le domaine du codage convolutif il est usuel dindiquer les valeurs de ces fonctions Gi en repreacutesentation octale (base 8) Si un des bits de sortie transmet systeacutematiquement le bit dentreacutee sans aucune modification le code est dit systeacutematique Bien que les codes systeacutematiques soient moins performants par rapport aux potentialiteacutes de protection des codes non-systeacutematiques ils offrent lavantage consideacuterable decirctre intrinsegravequement non catastrophiques3 [Thit93] Les codes convolutifs ne se distinguent pas seulement sur la base de la longueur de contrainte du rendement du code et des fonctions Gi mais aussi selon la structure propre au registre agrave deacutecalage Dans le cas de lrsquoexploitation drsquoune boucle de contre-reacuteaction interne (feedback) le code est dit reacutecursif [Thit93] Un tel code est illustreacute agrave la Figure 2-12

3 Les codes sont appeleacutes catastrophiques sils creacuteent les conditions pour lesquelles un

nombre fini derreurs de transmission peut engendrer un nombre infini derreurs dans le message deacutecodeacute [Thit93]

25

+

premier bit de sortie

second bit de sortie

bit dentreacuteez-1 z-1+

Figure 2-12 exemple de code convolutif reacutecursif avec une longueur de contrainte K=3 (rendement Rc=12) [Thit93] Le registre agrave deacutecalage preacutesente une boucle de contre-reacuteaction permettant dadditionner (modulo 2) le signal de sortie du reacutegistre agrave deacutecalage au signal dentreacutee

Le standard UMTS [Ts25212] met agrave disposition deux codeurs convolutifs posseacutedant chacun une longueur de contrainte de 9 Leurs fonctions geacuteneacuteratrices sont G0=561oct et G1=753oct pour le code ayant un rendement Rc=12 et G0=557oct G1=663oct et G2=711oct pour le code ayant un rendement de Rc=13 (Figure 2-13)

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +

G0=557oct

+ + +G2=711oct

+

+

bit dentreacuteez-1 z-1 z-1 z-1 z-1 z-1 z-1 z-1

+ + +G0=561oct

+G1=753oct

+ +

+G1=663oct

+ + + + + +

+ +

+ addition modulo 2 Figure 2-13 repreacutesentation graphique des deux codes convolutifs mis agrave disposition pour la protection des donneacutees par le standard UMTS [Ts25212]

Principe de protection formation de la redondance Analytiquement le codeur convolutif protegravege le symbole dentreacutee en tenant compte des K-1 derniers symboles dentreacutee Pratiquement il sagit dune machine deacutetats qui produit une sortie en fonction de lentreacutee (nouveau

26

symbole) et de leacutetat de la meacutemoire (formeacutee par les K-1 anciens symboles dentreacutee) Du point de vue de la protection de canal la redondance est geacuteneacutereacutee principalement par laugmentation de la taille du message et renforceacutee ensuite par la participation des derniers K-1 symboles agrave la proceacutedure de codage Dans le cas ideacuteal du codage dune suite infinie de symboles chaque symbole dentreacutee prend part K fois agrave la geacuteneacuteration des n bits de sortie Linfluence de chaque symbole seacutetale ainsi sur un nombre important de bits de sortie (Kmiddotn bits) Il en reacutesulte quen augmentant ces deux paramegravetres (la longueur de contrainte du code K et le nombre de bits de sortie n) on renforce la redondance du codage convolutif ce qui permet de disposer dun systegraveme de protection plus efficace contre les erreurs de transmission Il faut aussi souligner que le changement du nombre de bits de sortie n entraicircne la modification du rendement du code Rc Repreacutesentation du deacuteroulement du codage Trois meacutethodes sont communeacutement utiliseacutees pour la repreacutesentation graphique du deacuteroulement du codage convolutif le diagramme en arbre (Tree Diagram Figure 2-14) le diagramme deacutetats (State Diagram Figure 2-15) et le diagramme en treillis (Trellis Diagram Figure 2-16) [Proa95] En utilisant agrave titre dexemple le code de la Figure 2-10 la Figure 2-14 illustre le deacutebut de la proceacutedure de codage par un diagramme en arbre Le critegravere agrave la base de cette repreacutesentation est lrsquoillustration du comportement de la proceacutedure de codage agrave chaque instant t en fonction des symboles potentiellement deacutejagrave codeacutes Toutefois la reacutepeacutetition (persistante) de la mecircme structure rend cette repreacutesentation rapidement trop compliqueacutee en pratique Lapproche du diagramme deacutetats illustreacute agrave la Figure 2-15 est due au codeur convolutif qui se conduit comme une machine deacutetats La valeur des bits de sortie est fonction du symbole drsquoentreacutee et de la meacutemoire du codeur formeacutee par K-1 symboles Ainsi pour la suite de ce document le mot eacutetat indiquera les symboles formant la meacutemoire temporaire du codeur

27

temps t

000

111

000

111

001

110

001

111

000

110

011

100

010

101

sortie ducodeur

bit dentreacutee 0

bit dentreacutee 1

00

00

00

10

10

11

01

00

10

01

11

00

10

01

11

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

Figure 2-14 diagramme en arbre du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

00 11

10

01

1111

0000

1100

0001

1110

1101

0010

0011

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

ZHJK

Figure 2-15 diagramme deacutetats du codeur de la Figure 2-10

Lavantage de cette approche est la repreacutesentation compacte du deacuteroulement du codage Si lrsquoaspect temporel du codage est aussi demandeacute le diagramme en treillis est la meacutethode de repreacutesentation optimale (Figure 2-16) Cette repreacutesentation modifie la meacutethode de diagramme deacutetats en lui ajoutant la dimension du deacuteroulement dans le temps

28

00 00

10

00

01

10

11

00

01

10

11

0000

1000

0000

1000

0001

1100

temps t

XYmeacutemoire du registre agravedeacutecalage contenant les bit X(MSB z-1) et Y (LSB z-2)

le bit Z est le bit dentreacuteedu codeur et les bits HJKsont le bits de sortie geacuteneacutereacutespar la transition

ZHJK

Figure 2-16 diagramme en treillis du codeur de la Figure 2-10 eacutetant donneacute la remise agrave zeacutero de la meacutemoire du registre agrave deacutecalage avant le deacutebut du codage

Etat de la meacutemoire du codeur convolutif au deacutebut et agrave la fin de la proceacutedure de codage En raison de leffet meacutemoire du codage convolutif le caractegravere univoque du codage ne peut ecirctre obtenu au deacutebut de la proceacutedure de codage que par lattribution dune valeur arbitraire agrave cette meacutemoire (K-1 symboles) Dans la suite de ce document le terme condition de deacutepart se reacutefegravere agrave linitialisation de la meacutemoire du codeur convolutif Lors du codage de messages contenant un nombre fini de symboles leffet meacutemoire du codage est agrave lorigine dun inconveacutenient si la proceacutedure de geacuteneacuteration des bits de sortie sarrecircte immeacutediatement degraves le codage du dernier symbole du message on est confronteacute agrave une situation de protection ineacutegale des symboles agrave transmettre Contrairement aux symboles preacuteceacutedents les derniers K-1 symboles ne participent pas K fois agrave la proceacutedure de codage Par conseacutequent linformation de ces symboles seacutetale sur un nombre reacuteduit de bits de sortie (ltKmiddotn bits) diminuant la qualiteacute de protection de ces bits Diverses solutions ont eacuteteacute deacuteveloppeacutees afin de remeacutedier agrave une telle situation de protection ineacutegale Le systegraveme le plus populaire parmi les standards de communication propose lenchaicircnement dune seacuterie de K-1 symboles (Tail Bits) agrave la fin du message agrave coder La seule fonction de ces symboles (deacutenommeacutes dans ce document bits de terminaison) est de sassurer que tous les symboles du message contribuent K fois agrave la proceacutedure de codage eacutetant donneacute que ces bits ne transmettent pas dinformation la valeur de ces bits de terminaison est insignifiante

29

Du point de vue du deacutecodage la connaissance des valeurs de ces bits de terminaison permet une ulteacuterieure ameacutelioration des capaciteacutes de correction derreurs Ces valeurs deacuteterminent leacutetat final de la meacutemoire du codeur ce qui repreacutesente une information importante pour lopeacuteration de deacutecodage Dans la suite de ce document on entendra par conditions drsquoarrecirct de la proceacutedure de codage les informations tireacutees du codage de ces bits de terminaison la valeur de ces bits eacutetant fixeacutee agrave priori Le prix agrave payer pour une telle solution est la geacuteneacuteration dun message codeacute qui est allongeacute de (K-1)middotn bits de sortie en raison du codage suppleacutementaire de K-1 bits (bits de terminaison) Une solution alternative agrave la situation de protection ineacutegale est deacutefinie par le principe du Tail-Biting Trellis Code [Lust00] Ce principe pose une contrainte suppleacutementaire agrave la proceacutedure de codage les eacutetats de la meacutemoire du codeur au deacutebut et agrave la fin de la proceacutedure de codage dun bloc de symboles doivent ecirctre eacutegaux Cette information suppleacutementaire est utiliseacutee efficacement lors du deacutecodage des derniers symboles du message ce qui augmente la qualiteacute de la protection Lavantage de cette meacutethode est quelle ne neacutecessite ni linsertion de bits suppleacutementaires au message ni la deacutefinition des eacutetats de deacutepart et darriveacutee de la meacutemoire du codeur convolutif Capaciteacute de correction des codes convolutifs La capaciteacute de correction du codage convolutif peut ecirctre estimeacutee de maniegravere analogue agrave celle du codage en bloc La capaciteacute de correction des codes convolutifs est ainsi eacutevalueacutee agrave partir de la distance minimale existant entre deux messages codeacutes Dans le contexte du codage convolutif cette distance est appeleacutee distance libre (dfree) La recherche de la distance libre beacuteneacuteficie de la proprieacuteteacute de lineacuteariteacute des fonctions geacuteneacuteratrices qui permet de se concentrer uniquement sur les distances entre les messages potentiels et le message zeacutero4 Malheureusement la meacutethode de recherche (24) utiliseacutee par les codes en blocs ne sadapte pas de maniegravere optimale agrave ce contexte de codage principalement agrave cause de la variabiliteacute de la taille des messages

4 Le message zeacutero est le message codeacute contenant une seacutequence infinie de zeacuteros geacuteneacutereacute

par le codage dune seacuterie infinie de bits dinformations zeacutero

30

Fonction de transfert dun code convolutif Les valeurs des distances entre les messages codeacutes peuvent ecirctre extraites du diagramme deacutetats du code analyseacute [Proa95] Le code convolutif illustreacute agrave la Figure 2-10 est utiliseacute ici pour deacutecrire la meacutethode permettant deacutetablir la qualiteacute de protection du code convolutif et les proprieacuteteacutes de ses distances Son diagramme deacutetats est illustreacute en Figure 2-15 Etant donneacute quon envisage lobtention des distances de Hamming entre les divers messages et le message zeacutero on modifie le diagramme deacutetats original de la Figure 2-15 de la maniegravere suivante (Figure 2-17) [Proa95]

bull On eacutelimine la boucle de leacutetat 00 Etant donneacute que le message zeacutero est le message de reacutefeacuterence cette boucle napporte aucune contribution agrave la deacutetermination des distances de Hamming

bull Leacutetat 00 est scindeacute en deux Ces deux eacutetats repreacutesentent leacutetat de deacutepart et darriveacutee du nouveau diagramme deacutetats Lobjectif est de prendre en compte uniquement les messages divergeant du et ensuite convergeant vers le message zeacutero

bull On attribue aux eacutetats du diagramme les symboles XA XB XC XD XE bull Les transitions entre les eacutetats sont annoteacutees de la maniegravere suivante

o Le poids5 des bits de sortie est indiqueacute par lexposant de la lettre D

o Le poids du symbole dentreacutee du codeur est deacutesigneacute par lexposant de la lettre N

o Chaque transition est indiqueacutee par la lettre J Cette notation permet de connaicirctre le nombre total de transitions pendant lesquelles le message analyseacute diverge du message zeacutero

En utilisant un tel diagramme deacutetats (Figure 2-17) qui contient donc cinq eacutetats les eacutequations des eacutetats peuvent ecirctre formuleacutees ainsi

3B A C

B DC2 2

D B D2

E C

X X XX X XX X XX X

JND JNDJD JDJND JNDJD

+

+

+

====

(213)

5 Le nombre de bits non-zeacutero

31

La fonction de transfert T(DNJ) du code est deacutefinie comme le rapport existant entre leacutetat final (XE) et celui de deacutepart (XA) En utilisant les quatre eacutequations donneacutees par (213) on obtient la fonction de transfert suivante6

( ) ( )

3 6

2

3 6 4 2 8 5 2 8 5 3 10 6 3 10

1 1

2

E

A

X J NDT D N J X JND J

J ND J N D J N D J N D J N D

= =minus +

= + + + + sdot

(214)

Le premier terme (J3ND6) de la fonction de transfert de (214) indique quil existe un message codeacute avec une distance de Hamming de 6 par rapport au message zeacutero Ce message codeacute diverge sur trois peacuteriodes avant de converger vers le message zeacutero (J3) et lexposant de la lettre N indique que le message ne possegravede quun seul bit dinformation 1 Les indications fournies par les six premiers termes7 de cette fonction de transfert sont deacutecrites agrave la Table 2-3

00

11

10 01 00JND3 JD

JND

JND2 JD

JND2

JD2

Etat XA Etat XB Etat XC

Etat XD

Etat XE Figure 2-17 diagramme deacutetat preacutedisposeacute pour la deacutetermination de la qualiteacute de protection du code convolutif de la Figure 2-10 La lettre J indique la transition lexposant de la lettre N deacutesigne le poids du symbole dentreacutee et celui de la lettre D le poids des bits de sortie

La distance minimale existant entre deux messages codeacutes est indiqueacutee par le plus petit exposant de la lettre D des termes de la fonction de transfert Dans notre cas (214) la distance libre dfree correspond agrave 6 (Table 2-3)

6 La fonction de transfert peut ecirctre directement obtenue en appliquant la regravegle de Mason

(Masons rule) au diagramme de la Figure 2-17 7 Les six termes comprenant les exposants de la lettre D les plus petits Cest-agrave-dire les

six messages codeacutes posseacutedant les distances de Hamming les plus petites

32

En consideacuterant la distance minimale dfree et une correction derreurs par seacutelection du message codeacute le plus proche le codage convolutif assure la correction de ( )1 2freed minus erreurs de transmission affectant le message codeacute reccedilu Lameacutelioration de la protection contre les erreurs peut ecirctre ainsi reacutealiseacutee en augmentant la longueur de contrainte K du code convolutif8 et le nombre n de bits de sortie9 Le paramegravetre modifieacute est typiquement le premier cette modification ameacuteliore la qualiteacute de protection contre les erreurs sans alteacuterer le rendement du code Rc [Lust00]

Distance de Hamming du message (D) le5 6 7 8 9 10 hellip Nombre des messages 0 1 0 2 0 4 hellip Peacuteriode de divergence (J) - 3 - 4 5 - 5 6

6 7 hellip

Distance de Hamming du message concerneacute (N) - 1 - 2 - 3 hellip

Table 2-3 caracteacuteristiques des messages posseacutedant les distances de Hamming les plus petites selon la fonction de transfert (214)

La Table 2-4 montre les valeurs de distance libre des deux codeurs convolutifs des standards UMTS Ces codes appartiennent agrave la liste de codes convolutifs eacutetablie par Odenwalder (1970) Larsen (1973) Paaske (1974) et Daut (1982) [Proa95] Etant donneacute une longueur de contrainte K et un rendement du code Rc ces codes possegravedent la distance libre dfree la plus eacuteleveacutee Ces codes ont eacuteteacute identifieacutes agrave laide de meacutethodes de recherche par ordinateur

Rendement du codeur

Longueur de contrainte

Polynocircmes geacuteneacuterateurs Distance libre

Rc=12 K=9 G0=561oct G1=753oct dfree=12 Rc=13 K=9 G0=557oct G1=663oct G2=711oct dfree=18

Table 2-4 caracteacuteristiques des codeurs convolutifs proposeacutes par le standard UMTS [Ts25212] pour la protection des donneacutees

Les potentialiteacutes pratiques de correction de ces codes sont consideacuterablement supeacuterieures au seuil minimal de ( )1 2freed minus erreurs la qualiteacute de la correction deacutepend de la meacutethode de deacutecodage utiliseacutee du deacutebit des erreurs de

8 La longueur K augmente la peacuteriode minimale de divergence des messages codeacutes 9 Le nombre n de bits de sortie augmente la distance de Hamming entre les symboles

codeacutes

33

transmission et de leur emplacement agrave linteacuterieur du message codeacute Il faut noter que les concentrations temporelles des erreurs de transmission (burst errors) baisse la qualiteacute effective de la correction vers le seuil minimal Le terme qualiteacute de protection se reacutefeacuterera dans la suite du document agrave la capaciteacute de correction de la meacutethode de deacutecodage traiteacutee

233 Utilisation des deux types de codage

Le codage convolutif diffegravere principalement du codage en bloc par le traitement continu et immeacutediat des symboles dinformation Le codage convolutif offre de plus une meilleure protection pour la mecircme complexiteacute drsquoimplantation [Karn95] Du point de vue du deacutecodage le codage convolutif offre une plus vaste gamme de solutions capables de beacuteneacuteficier des avantages apporteacutes par une situation de deacutecodage souple Parmi ces solutions on trouve des meacutethodes qui se concentrent sur la livraison du message le plus probable des meacutethodes estimant les symboles dinformations les plus probables ainsi que des meacutethodes livrant des informations suppleacutementaires relatives agrave la proceacutedure de deacutecodage (cf Chapitre 5) De par leur capaciteacute agrave traiter linformation en continu les meacutethodes de deacutecodage convolutif sont principalement utiliseacutes pour la correction derreurs de transmission alors que la deacutetection derreurs est essentiellement traiteacutee par le codage en bloc Le codage convolutif preacutesente une forte asymeacutetrie entre la complexiteacute de calcul de la proceacutedure de codage et celle de deacutecodage Malheureusement la qualiteacute de correction du codage convolutif est tregraves sensible aux concentrations des erreurs de transmission (burst errors)

24 Codes enchaicircneacutes

Si lon deacutesire creacuteer un code encore plus performant alors la concateacutenation de deux types de codes permet de beacuteneacuteficier des avantages de chaque type de code [Proa95] La compleacutementariteacute des codes en bloc et convolutifs suggegravere leur mise en cascade de maniegravere agrave mieux profiter des qualiteacutes des deux familles de codes (Figure 2-18) Le codeur exteacuterieur (Outer Encoder) chargeacute du premier codage du message est communeacutement un code en bloc Un code convolutif exeacutecute le second codage et fournit le message codeacute final (code inteacuterieur Inner Encoder)

34

[Proa95] Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle soit deacutecodant le message reccedilu puis en veacuterifiant etou corrigeant le message obtenu

codeur en bloc codeurconvolutif

deacutecodeurcode en bloc

deacutecodeurcode convolutif

message

messagedeacutecodeacute

messagecodeacute

messagereccedilu

Figure 2-18 structure classique de la concateacutenation entre un code en bloc et un code convolutif

Une approche plus reacutecente consiste en lrsquoexeacutecution parallegravele de plusieurs opeacuterations de codage des mecircme symboles du message (Figure 2-19) Apregraves la transmission les messages codeacutes proteacutegeant les mecircme symboles dinformation montrent des distorsions non correacuteleacutees entre eux ce codage multiple et indeacutependant permet au deacutecodeur dutiliser (iterativement) les informations de deacutecodage de ces messages pour ameacuteliorer la qualiteacute de protection contre les erreurs Le codage Turbo utilise cette approche de codage parallegravele

codeur de canal

deacutecodeur

message

messagecodeacute

messagereccedilu

codeur de canalentrelaceur

message

messagecodeacute

deacutecodeur

messagedeacutecodeacute

Figure 2-19 principe agrave la base du codage Turbo qui est baseacute sur lutilisation parallegravele de plusieurs codeurs convolutifs

25 Conclusions

Ce chapitre a briegravevement introduit les notions fondamentales de la protection des donneacutees contre les erreurs de transmission A partir des contributions pionniegraveres de Shannon les deux modes principaux de controcircle des erreurs FEC et ARQ ont eacuteteacute preacutesenteacutes Puis ce chapitre a deacutecrit les principes ainsi que

35

les proprieacuteteacutes du codage en bloc et du codage convolutif Ces notions de base seront utiliseacutees dans la suite du document En dernier lieu le chapitre introduit briegravevement le codage enchaicircneacute Le principe et les proprieacuteteacutes de structure particuliegravere de codage ont fait lobjet dune eacutetude dans le cadre de cette thegravese et seront discuteacutes dans le Chapitre 6

Reacutefeacuterences

[Draj02] D Drajic D Bajic Communication System Performance Achieving the Ultimate Information-Theoretic Limits IEEE Communications Magazine Vol 40 juin 2002 pp 124-129

[Hamm50] R W Hamming Error Detecting and Error Correcting Codes The Bell System Technical Journal Vol 29 No 2 1950 pp 147-160

[Karn95] P Karn TAPR Error Control Coding Seminar preacutesentation agrave the 1995 Tucson Amateur Packet Radio symposium St Louis mars 1995 page Internet de P Karn acceacutedeacutee en eacuteteacute 2002 httpwwwka9qnetpapers

[Liew02] T H Liew L Hanzo Space-Time Codes and Concatenated Channel Codes for Wireless Communications Proceedings of the IEEE Vol 90 No 2 feacutevrier 2002 pp 187-219

[Lin82] S Lin D J Costello Jr Error Control Coding Fundamentals and Applications Prentice-Hall Series in Computer Applications in Electrical Engineering New Jersey Etats-Unis dAmeacuterique 1982 Chapitre 4

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Noki00] Nokia Hybrid ARQ methods for FDD in Release 2000 TSGR114(00)0869 TSG-RAN Working Group1 meeting 14 Oulu Finlande 4-7 juillet 2000

[Pana01] Panasonic Proposal of bit mapping for type-III HARQ TSGR118(01)0031 TSG-RAN Working Group1 meeting 18 Boston Etats-Unis dAmeacuterique 15-18 janvier 2001

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

36

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Shan49] C E Shannon Communication in the presence of noise Proceeding of the Institute of Radio Engineers (IRE) Vol 37 janvier 1949 pp 10-21 Reacute-edition (Reprinted in) Proceeding of the IEEE Vol 86 No2 feacutevrier 1998 pp 447-457

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

37

3 Structure de protection eacutetablie par les standards UMTS

Le chapitre deacutecrit les standards de communication numeacuterique UMTS Leur structure de codage et leurs caracteacuteristiques sont rappeleacutees

Les opeacuterations de codage de canal et de multiplexage des standards UMTS sont passeacutees en revue en les situant dabord dans le contexte dun modegravele dabstraction du systegraveme UMTS Les opeacuterations concerneacutees sont le codage en bloc CRC la concateacutenation et la segmentation du message la protection des donneacutees par codage les entrelacements ladaptation du deacutebit de transmission linsertion des indications de transmission le regroupement et le multiplexage des donneacutees proteacutegeacutees pour la transmission

La strateacutegie basique pour ladaptation de la qualiteacute de protection en fonction des exigences des diverses applications est mise en eacutevidence par lillustration de la structure de codage du service de parole AMR-NB agrave 122 kbps Cette structure a le meacuterite de preacutesenter les trois plus inteacuteressants contextes de codage convolutif

31 Modegravele hieacuterarchique du systegraveme UMTS agrave 3 niveaux dabstraction

Selon un concept geacuteneacuteral lrsquointerface radio (Radio Interface) des standards UMTS est baseacutee sur un modegravele de protocole agrave trois niveaux dabstraction aussi appeleacutees couches (Layers) dabstraction [Gath02] [Ts25201] Les tacircches de chaque couche sont bien deacutelimiteacutees et les interactions inter-couches se produisent uniquement agrave laide duniteacutes speacutecifiques La premiegravere couche deacutenommeacutee Physical Layer (Layer 1) contient le codage de canal Cette couche est responsable de la transmission des donneacutees qui lui

38

parviennent de la seconde couche la Data Link Layer (Layer 2) sous le controcircle de la troisiegraveme couche la Network Layer (Layer 3 Figure 3-1)

Radio RessourceControl (RRC)

Network layer(Layer 3)

Medium Access Control(MAC)

Data linklayer (Layer 2)

Physical layer (Layer 1)

Canaux de transport(Transport channels)

Controcircles etmesures

Figure 3-1 illustration graphique des iteacuterations entre le Physical Layer et les autres eacuteleacutements de linterface radio preacutevue par lUMTS [Ts25201]

Les donneacutees du message parviennent agrave la premiegravere couche par canaux seacutepareacutes de transport (Transport Channels TrCHs) Cette meacutethodologie permet lapplication de niveaux de protection adapteacutes aux exigences de chaque canal de transport (Unequal-Error-Protection UEP) La possibiliteacute dappliquer des niveaux de protection diffeacuterencieacutes est conforme agrave loptique de lUMTS qui vise agrave offrir un degreacute de souplesse agrave la proceacutedure de codage Cette souplesse permet ainsi aux applications utilisant une telle proceacutedure de beacuteneacuteficier dune qualiteacute de protection conforme agrave leurs exigences

32 Structure de codage de canal et multiplexage

Les donneacutees parviennent agrave leacuteleacutement responsable du codage de canal par blocs (canaux de transport) agrave intervalles de temps reacuteguliers Lrsquointervalle de temps de transmission (Transmission time interval lsquoTTIrsquo) est eacutetabli selon les caracteacuteristiques et les exigences de lrsquoapplication consideacutereacutee La gamme de choix dintervalle vaut 10 ms 20 ms 40 ms ou 80 ms Le deacuteroulement des opeacuterations relatives au codage de canal et de multiplexage des standards UMTS (selon le mode Frequency Division Duplex FDD10 de lUniversal Terrestrial Radio Access UTRA) [Ts25212] peut ecirctre diviseacutee en deux eacutetapes principales 10 Le mode Frequency Division Duplex (FDD) est une meacutethode de transmission en

duplex ougrave les deux transmissions radio unidirectionnelles (uplink et downlink) utilisent deux freacutequences radio diffeacuterentes

39

bull La premiegravere eacutetape traite de maniegravere individuelle les canaux de transport selon les consignes particuliegraveres de lapplication Cette eacutetape englobe le codage en bloc CRC la concateacutenation et la segmentation du message le codage de canal par code convolutif ou Turbo le premier entrelacement lrsquoadaptation du deacutebit de transmission et lrsquoinsertion des indications fixes de transmission DTX

bull La seconde partie dopeacuterations regroupe les donneacutees traiteacutees par les divers canaux de transport afin de les preacuteparer agrave la transmission Les opeacuterations concerneacutees sont celles du multiplexage de lrsquoinsertion des indications flexibles de transmission DTX de la segmentation par le nombre de canaux physiques et du second entrelacement

Il faut noter quen fonction de la direction de la transmission de type uplink11 ou downlink12 il existe deux seacutequences drsquoexeacutecution des opeacuterations Les diffeacuterences entre ces deux seacutequences sont toutefois minimes la seacutequence de la transmission uplink retarde lrsquoexeacutecution de la tacircche drsquoadaptation du deacutebit de transmission et elle ne neacutecessite pas linsertion des indications de transmission DTX [Ts25212] Les simulations utiliseacutees pour lanalyse et la veacuterification des performances des meacutethodes preacutesenteacutees dans ce document se basent sur la structure de codage de la communication uplink (Figure 3-2) Les opeacuterations impliqueacutees dans cette structure sont les suivantes [Ts25212] bull Codage en bloc CRC Si lapplication requiert une deacutetection drsquoerreurs apregraves

le deacutecodage les couches supeacuterieures (Figure 3-1) peuvent eacutetablir les conditions dutilisation dun des quatre codes CRC Cette eacuteventualiteacute permet aussi lexploitation du mode de controcircle derreurs ARQ Le nombre de bits de pariteacutes de ce code en bloc vaut 8 12 16 ou 24 [Ts25212]

11 Le lien radio uplink est la transmission unidirectionnelle des signaux depuis

lrsquoeacutequipement de lrsquoutilisateur (User equipement) vers une station de base (Base station) depuis une station mobile (Mobile station) vers une station mobile de base (Mobile base station) ou depuis une station mobile de base agrave une station de base [Tr21905]

12 Le lien radio downlink indique geacuteneacuteralement une transmission unidirectionnelle du reacuteseau vers lrsquoeacutequipement de lrsquoutilisateur [Tr21905]

40

premier canal de transport(TrCH1)

Multiplexage

Segmentation selon lenombre de canaux agrave

disposition

Second entrelacement

Passage au canal

dernier canal de transport(TrCHi)

Codage en bloc CRC(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Codage en bloc CRC

(systeacutematique)

Concateacutenation segmentation du

message

Codage de canal(convolutif Turbo)

Egalisation selon lenombre des trames

radio (Radio Frames)

Premier entrelacement

Segmentation selon lenombre des trames

radio

Adaptation du deacutebit detransmission

Figure 3-2 diagramme par blocs de la seacutequence dopeacuterations selon une transmission uplink en mode FDD [Ts25212]

41

bull Concateacutenation et segmentation du message Tous les blocs de donneacutees qui

appartiennent au mecircme intervalle de transmission (TTI) et au mecircme canal de transport sont enchaicircneacutes de maniegravere seacutequentielle Si le nombre total de bits deacutepasse le nombre maximal eacutetabli par le standard UMTS [Ts25212] le bloc de donneacutees est segmenteacute Ce nombre maximal varie en fonction du type de codage de canal utiliseacute (codage convolutif ou Turbo)

bull Protection des donneacutes par codage Les donneacutees de chaque canal de transport peuvent ecirctre proteacutegeacutees seacutepareacutement soit par un code convolutif (avec rendement du code Rc de 12 ou 13) soit par un code Turbo Dans le cas de donneacutees segmenteacutees en plusieurs blocs les divers messages codeacutes sont multiplexeacutes de maniegravere seacutequentielle apregraves le codage

bull Adaptation du deacutebit de transmission Etant donneacute la variation possible du nombre de donneacutees dentreacutee des divers canaux il se peut que la taille totale des messages codeacutes ne coiumlncide pas avec le nombre exact de bits transmissibles par peacuteriode Dans ce cas selon les consignes des deux couches supeacuterieures certains bits des messages codeacutes sont seacutelectionneacutes afin decirctre soit reacutepeacuteteacutes soit eacutelimineacutes (poinccedilonneacutes)

bull Segmentation du message codeacute Cette seacuteparation se fait selon le nombre des trames radio (Radio Frames) disponibles pour la transmission des donneacutees de tous les canaux Dans le systegraveme UMTS une trame radio couvre la transmission des donneacutees pour un intervalle de 10 ms Si lrsquointervalle de transmission TTI de lapplication deacutepasse les 10 ms les donneacutees de chaque canal sont groupeacutees de maniegravere agrave permettre une reacutepartition successive en plusieurs trames radio

bull Egalisation Leacutegalisation se fait en fonction du nombre des trames radio Si le systegraveme de codage utilise plusieurs trames radio cette opeacuteration assure une segmentation uniforme des donneacutees en ajoutant si neacutecessaire des bits suppleacutementaires

bull Premier et second entrelacement Ces deux opeacuterations exeacutecutent un entrelacement en bloc avec une permutation des colonnes Les paramegravetres reacuteglant la permutation deacutependent de lrsquointervalle de transmission TTI utiliseacute

bull Multiplexage Chaque 10 ms les blocs des divers canaux de transport appartenant agrave la mecircme trame radio sont deacutelivreacutes agrave lrsquouniteacute de multiplexage Cette uniteacute preacutepare ainsi le message final contenant des informations appartenant agrave tous les canaux de transport Ce message nommeacute Coded composite transport channel (CCTrCH ) sera ensuite transmis physiquement

bull Segmentation La segmentation se fait en fonction du nombre de canaux physiques Si lrsquoapplication envisage lrsquoutilisation simultaneacutee de plusieurs

42

canaux physiques (PhCH) les bits appartenant agrave ce dernier message (CCTrCH) sont reacutepartis uniformeacutement entre ces canaux

bull Passage au canal physique Les bits drsquoentreacutee sont transfeacutereacutes au canal physique de maniegravere agrave pouvoir ecirctre envoyeacute les uns apregraves les autres par transmission sans fil

33 Exemple drsquoapplication le service de parole Adaptive-Multi-Rate agrave bande eacutetroite (AMR-NB)

La description du systegraveme de codage UMTS [Ts25212] met en eacutevidence la strateacutegie adopteacutee lors de la deacutefinition de ce type de standard cest agrave dire la creacuteation de systegravemes disposant dun haut niveau de souplesse Cette souplesse permet ladaptation du systegraveme de transmission aux diverses exigences des applications preacutesentes et futures La deacutefinition des paramegravetres de transmission et le choix des opeacuterations de codage sont deacutetermineacutes parallegravelement au deacuteveloppement et agrave la reacutealisation de lrsquoapplication Le document 3GPP [Tr21904] regroupe ainsi de maniegravere deacutetailleacutee les informations des diverses fonctionnaliteacutes et les gammes de paramegravetres correspondant Les paramegravetres se reacutepartissent en deux classes les paramegravetres obligatoires et les paramegravetres speacutecifiques aux services envisageacutes Leacutequipement afin drsquoecirctre reconnu agrave lrsquointeacuterieur du reacuteseau UMTS doit obligatoirement supporter une gamme de fonctionnaliteacutes et de paramegravetres de fonctionnement de base Laccegraves agrave certains services etou applications peut requeacuterir des fonctionnaliteacutes et des paramegravetres de fonctionnement suppleacutementaires En ce qui concerne le cas speacutecifique du service de parole AMR agrave bande eacutetroite (AMR-NB) [Ts26073] [Ts26101] la Table 3-1 deacutecrit les fonctionnaliteacutes et les gammes de paramegravetres les plus importantes qui concernent les opeacuterations de codage et de multiplexage Ce service utilise trois canaux de transport (Figure 3-3) de maniegravere agrave pouvoir adapter la protection aux diverses sensibiliteacutes aux erreurs des bits dinformations Un quatriegraveme canal est utiliseacute pour la transmission des signaux de controcircle La strateacutegie dune protection diffeacuterencieacutee naicirct de lexpeacuterimentation apparaissant dans la litteacuterature (exemples [Hage88] [Cox91]) et de lrsquoexpeacuterience acquise avec les technologies GSM [ETSI909] Lestimation des sensibiliteacutes des bits dinformation de la trame AMR-NB agrave 122kbps (Figure 3-4) montre des valeurs non-uniformes lalteacuteration des valeurs des bits dinformation formant la trame provoque une deacutegradation du signal de parole

43

reconstruit deacutegradation qui varie fortement selon la fonction du bit dinformations

Opeacuterations Commentaires Deacutetection drsquoerreurs Tous les eacutequipements doivent supporter la possibiliteacute

drsquoun codage en bloc CRC avec 8 12 et 16 bits de pariteacute Par contre le codage en bloc avec 24 bits de pariteacute est optionnel

Codage de canal Tous les eacutequipements doivent supporter le codage convolutif (avec un rendement du code 13 et 12) Les autres variantes (codage Turbo et absence de codage) sont optionnelles

Multiplexage Dans le cas drsquoun service de parole AMR utilisant un canal deacutedieacute (Dedicated channel DCH ) tous les eacutequipements doivent supporter au minimum 4 canaux de transmission (3 pour les donneacutees avec TTI de 20 ms et 1 pour la transmission des signaux de controcircle)

Etalement (Spreading)

Dans le cas drsquoun seul service de parole AMR tous les eacutequipements doivent supporter les facteurs deacutetalement SF=64 (qui signifie 600 bitstrame radio [Ts25211]) SF=128 (300 bitstrame radio) et SF=256 (150 bitstrame radio)

Table 3-1 extrait des fonctionnaliteacutes relatives agrave laccegraves au service de parole AMR [Tr21904]

Selon la structure de protection adopteacutee (Figure 3-3) les bits de la trame AMR-NB agrave 122 kbps sont groupeacutes en trois classes indiqueacutees par les lettres A B et C en fonction de leur sensibiliteacute aux erreurs [Ts26101] Dans la classe A on trouve les bits dinformation les plus importants dont lutilisation neacutecessite labsence totale derreurs Par conseacutequent le codage des bits dinformation utilise le code convolutif le plus performant (Rc=13) et la qualiteacute du deacutecodage est controcircleacutee par lutilisation dun code en bloc CRC systeacutematique La classe B renferme les bits de valeur dont leacuteventuelle alteacuteration ne requiert pas la prise de mesures speacuteciales de recouvrement derreurs (Error Concealment) La classe C contient tous les bits preacutesentant une sensibiliteacute mineure aux erreurs leur niveau de protection est reacuteduit par lutilisation dun code convolutif avec rendement de 12

44

Codage CRC81 bits

81 bits 12 bits

93 bits 8 bits

Ajout desbits determinaison

303 bits

CodageConvolutif

303 bits

Egalisation

1 bit

304 bits

Premierentrelacement

152 bitsSegmentation

Adaptation dudeacutebit

152 bits

bits bits

103 bits

103 bits

103 bits 8 bits

333 bits

333 bits 1 bit

334 bits

167 bits 167 bits

bits bits

60 bits

8 bits

136 bits

60 bits

60 bits

136 bits

136 bits

68 bits68 bits

bits bits

Premier canal detransportTrCH1

Second canal detransportTrCH2

Troisiegraveme canal detransportTrCH3

Rc=13 Rc=13 Rc=12

Multiplexage

1a 1b2a 2b 3b3a Secondentrelacement

Passage aucanal

message message message

Premier Radio Frame Second Radio Frame

canal physique

Figure 3-3 repreacutesentation deacutetailleacutee de la seacutequence dopeacuterations neacutecessaires au codage de canal proposeacutee par [TrR104] pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD)

Bien que les paramegravetres du service de parole AMR-NB (Table 3-2) puissent encore subir des modifications13 cette structure (Figure 3-3) sera utiliseacutee pour lrsquoeacutevaluation pratique des implantations software des algorithmes En effet cette structure a le meacuterite de supporter les contextes de codage les plus inteacuteressants une protection par lrsquoutilisation conjointe drsquoun code en bloc CRC et drsquoun code convolutif et le simple codage convolutif avec rendement Rc=13 ou Rc=12

13 Au moment de leacutetablissement de la structure de protection utiliseacutee pour les simulations

softwares

45

Nombre de canaux de transport (TrChs) 3 Tailles des canaux de transport 81 103 et 60 bits Codage CRC Uniquement utiliseacute pour le premier canal

de transport CRC avec 12 bits de pariteacute Codage de canal Codage convolutif avec rendement du

code de 13 pour les deux premiers canaux de transport et 12 pour le dernier

TTI 20 ms

Table 3-2 caracteacuterisation de la structure de protection pour le service de parole AMR-NB agrave 122kbps (uplink mode FDD) structure proposeacutee par [TrR104]

Figure 3-4 mesure objective de la sensibiliteacute aux erreurs des bits dinformation constituant la trame du service AMR-NB agrave 122kbps La sensibiliteacute est estimeacutee en alteacuterant systeacutematiquement le bit analyseacute avant la reconstruction des signaux de parole (base de donneacutees TIMIT et Bdsons) La deacutegradation des signaux est eacutevalueacutee agrave laide de la mesure spectrale (spectral measure) Les fonctions de chaque bit de la trame AMR-NB agrave 122 kbps sont deacutefinies dans le standard [Ts26101]

46

34 Conclusions

Ce chapitre porte sur les objectifs des standards de communication numeacuterique UMTS Parmi les aspects preacutesenteacutes ce chapitre a illustreacute la structure particuliegravere du codage de canal preacutevue par ces technologies de la 3G Son environnement de travail ainsi que les opeacuterations de codage et de multiplexage ont eacuteteacute passeacutes en revue La strateacutegie de base adopteacutee par ces standards UMTS est ladaptation de la qualiteacute de protection en fonction des exigences des applications La structure de codage du service de parole AMR-NB agrave 122 kbps a eacuteteacute utiliseacutee agrave titre dexemple Gracircce agrave ses caracteacuteristiques de protection cette structure sera utiliseacutee pour leacutetude des implantations software de meacutethodes de deacutecodage convolutif (Chapitre 6)

Reacutefeacuterences

[Cox91] R V Cox J Hagenauer N Seshadri et C-E W Sundberg ldquoSubband Speech Coding and Matched Convolutional Channel Coding for Mobile Radio Channelsrdquo IEEE Transactions on Signal processing Vol 39 No 8 aoucirct 1991 pp 1717-1731

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[Hage88] J Hagenauer rdquoRate-Compatible Punctured Convolutional Codes (RCPC Codes) and their Applicationsrdquo IEEE Transaction on Communications Vol 36 No 4 avril 1988 pp 389-400

[Tr21904] 3GPP UE capability requirements document 3GPP TR 21904 version 330

[Tr21905] 3GPP Vocabulary for 3GPP Specifications document 3GPP TR 21905 version 010

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

47

[Ts25201] 3GPP Physical layer ndash General Description document 3GPP TS 25201 version 210

[Ts25211] 3GPP Physical channels and mapping of transport channels onto physical channels (FDD) document 3GPP TS 25211 version 410

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26073] 3GPP AMR speech Codec C-source code document 3GPP TS 26073 version 300

[Ts26101] 3GPP AMR speech Codec Frame structure document 3GPP TS 26101 version 160

48

49

4 Transmission de donneacutees par reacuteseaux cellulaires sans fil

Ce chapitre traite de la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les facteurs dont deacutepend la qualiteacute de la transmission sans fil sont tout dabord preacutesenteacutes La qualiteacute de la transmission est influenceacutee par des facteurs techniques tels que le type de modulation la strateacutegie de reacutepartition du territoire en plusieurs zones (cellules) le type dantenne des systegravemes de communication et les moyens actifs de reacuteduction des distorsions du signal ainsi que par des facteurs environnementaux tels que la dimension et la geacuteomeacutetrie de la cellule concerneacutee ainsi que la distance entre la station de base et lutilisateur et la mobiliteacute de ce dernier

Ce chapitre traite eacutegalement de la modeacutelisation des systegravemes de transmission A partir des exigences deacutevaluation de simulation et des types derreurs reproductibles deux modeacutelisations simples du moyen de transmission sont preacutesenteacutees Il sagit des modegraveles Binary symmetric channel (BSC) et Additive white gaussian noise (AWGN)

41 Introduction

Les uniteacutes de codage et de deacutecodage de canal font partie dun systegraveme complexe dont le but est dassurer la transmission des donneacutees par reacuteseaux cellulaires sans fil Lobjectif speacutecifique du codage de canal est le controcircle des erreurs de transmission des symboles erreurs causeacutees principalement par la variation des nombreux facteurs influenccedilant la transmission La structure simplifieacutee dun teacuteleacutephone mobile (Figure 4-1) contient deux grosses uniteacutes de base La premiegravere traite les signaux dans leur bande de base Elle est responsable de ladaptation du message agrave la transmission sans fil ainsi

50

que de la reconstruction et de la livraison du message reccedilu au destinataire Cette uniteacute est deacutenommeacutee bande de base La seconde uniteacute (RF) se charge de la transmission des signaux vers et provenant duvers le reacuteseau cellulaire sans fil

ModulationRF

Codagede parole

Codagede

canalChiffrage Amplification

Dup

lex

DAC

Deacute-modulation

Deacutecodagede parole

Deacutecodagede

canal

Deacute-chiffrage

ConvertisseurRFIFADCDeacute-

modulation

Modulation

Bande de base RF

Figure 4-1 scheacutema tregraves simplifieacute de la structure dun teacuteleacutephone mobile geacuteneacuterique

En consideacuterant cette structure de teacuteleacutephone mobile il faut consideacuterer le fait que les caracteacuteristiques des symboles reccedilus par luniteacute de deacutecodage de canal sont influenceacutees par toutes les eacutetapes de traitement et de transmission situeacutees entre le codage et le deacutecodage de canal

42 Facteurs influenccedilant la transmission de donneacutees par reacuteseaux cellulaires sans fil

Les caracteacuteristiques de la transmission de donneacutees par reacuteseaux cellulaires sans fil deacutependent de plusieurs facteurs aussi bien techniques quenvironnementaux En raison des grandes dimensions du territoire couvert par les transmissions aeacuteriennes ainsi que du nombre eacuteleveacute dutilisateurs il est impossible de consideacuterer lutilisation dune station unique de base pour couvrir toute la surface du territoire La strateacutegie adopteacutee se base sur la reacutepartition du territoire en plusieurs zones deacutenommeacutees cellules chacune geacutereacutee par une station de base (Figure 4-2) Cette strateacutegie cellulaire savegravere tregraves efficace aussi bien pour la reacuteduction de la puissance de transmission que pour une meilleure utilisation des canaux de transmission (reacuteutilisation des bandes des freacutequences)

51

antenne de la stationde base de la cellule

cellule

champ de couvertureradio de la cellule

Figure 4-2 strateacutegie de reacutepartition du territoire en cellules

Le premier facteur influenccedilant la qualiteacute de la transmission sans fil est la dimension et la geacuteomeacutetrie de la cellule agrave linteacuterieur de laquelle se produit la transmission (Figure 4-3) En effet la distance entre lantenne de la station de base de la cellule et celle de leacutequipement mobile deacutetermine une atteacutenuation de la puissance de reacuteception qui varie selon le facteur

21

distance (41)

cf [Moul92] Donc lorsque la dimension de la cellule diminue la puissance deacutemission neacutecessaire pour une transmission fiable dans la cellule entiegravere peut ecirctre ainsi reacuteduite Le dimensionnement des cellules doit tenir compte du fait que chaque cellule utilise une bande de freacutequences limiteacutee supportant un nombre fixe de communications simultaneacutees (Spectrum scarcity) Par conseacutequent lutilisation de cellules de taille infeacuterieure reacuteduit latteacutenuation des signaux transmis et offre un meilleur rapport entre le nombre de communications supporteacutees et la surface du territoire couvert (Figure 4-3) Les opeacuterateurs peuvent eacutegalement recourir agrave la creacuteation de micro-cellules afin daugmenter le nombre dutilisateurs potentiels dans une partie restreinte du territoire Les limites infeacuterieures de la dimension des cellules sont deacutetermineacutees principalement par des aspects eacuteconomiques En effet agrave partir dun certain facteur de reacuteduction les avantages que lon peut retirer ne justifient pas les coucircts suppleacutementaires de gestion et dinstallations

52

antenne de la stationde base de la cellule

cellule

Figure 4-3 reacutepartition du territoire en cellules Les cellules de taille plus reacuteduite augmentent le rapport entre le nombre de canaux agrave disposition et le territoire couvert

Une des raisons de lefficaciteacute de la strateacutegie de reacutepartir le territoire couvert en plusieurs cellule est la reacuteutilisation des bandes de freacutequences les cellules non-adjacentes reacuteutilisent les mecircme bandes de freacutequences augmentant le nombre de canaux radio agrave disposition Malheureusement la reacutepartition du territoire en cellules de petite taille implique le rapprochement des cellules utilisant la mecircme bande de freacutequences Ainsi les transmissions agrave linteacuterieur dune cellule peuvent directement interfeacuterer avec celles des autres utilisant la mecircme bande de freacutequences (Figure 4-4) Ces interfeacuterences ne peuvent pas ecirctre empecirccheacutees par des opeacuterations de filtrage et sont appeleacutees interfeacuterences co-canal Un moyens efficace pour reacuteduire limportance de ces interfeacuterences est lutilisation dantennes directionnelles selon la structure des cellules et la reacutepartition geacuteographique du territoire il est possible datteacutenuer les interfeacuterences co-canal en dirigeant intelligemment les eacutemissions des antennes des stations de base (Figure 4-5) Lutilisation de ces antennes directionnelles sadapte eacutegalement bien aux situations dans lesquelles des obstacles modifient la puissance de reacuteception des signaux jusquagrave creacuteer des situations dombrage

53

antenne de la stationde base de la cellule

Figure 4-4 situation dinterfeacuterence co-canal En utilisant la mecircme bande de freacutequences les transmissions agrave linteacuterieur dune cellule interfegraverent avec celle de lautre

antenne de la stationde base de la cellule

cellule utilisant la mecircme bandede freacutequences

Figure 4-5 exemple de strateacutegie deacutemission et reacuteception des stations de base Lutilisation des antennes directionnelles permet datteacutenuer les interfeacuterences co-canal

Dans le cas de complexes urbains denseacutement peupleacutes les transmissions sans fil deviennent encore plus critiques Etant donneacute la forte densiteacute dobstacles la qualiteacute des transmissions varie sans cesse et avec des diffeacuterences locales pouvant devenir tregraves importantes Par conseacutequent latteacutenuation de la puissance de reacuteception (41) peut ainsi atteindre pratiquement un facteur valant

54

41

distance (42)

cf [Moul92] Si loin des agglomeacuterations la transmission implique normalement la reacuteception dun seul signal dans ces espaces denseacutement construits lantenne reccediloit plusieurs signaux temporellement deacutecaleacutes (Signal Multipath) De plus les multiples reacuteflexions du signal contre les obstacles creacuteent des signaux mutuellement deacutephaseacutes qui sadditionnant de maniegravere destructive deacutegradent la qualiteacute de la communication (Signal Fading) Un facteur influenccedilant les caracteacuteristiques de transmission est la mobiliteacute de leacutequipement La transmission est eacutegalement affecteacutee par des distorsions dont limportance est fonction de la vitesse de leacutequipement mobile (effet Doppler) de la dimension des cellules impliqueacutees et de lenvironnement (installations urbaines ou campagne) Enfin des facteurs techniques (principalement le type de modulation et les moyens de reacuteduction des distorsions) ont un effet direct sur la qualiteacute de la transmission sans fil Parmi ces moyens on trouve les techniques deacutetalement de spectre (qui permet de reacuteduire les interfeacuterences co-canal [Ts25213]) lutilisation de plusieurs antennes reacuteceptrices (Multiple Antennas [R1-1218]) et lutilisation dune recombinaison de plusieurs signaux reccedilus (exemple Maximal Ratio Combination [Gath02])

43 Modeacutelisation du moyen de transmission

Le standard UMTS [Ts25212] deacutefinit la structure et la seacutequence des moyens mis agrave disposition pour la protection des donneacutees contre les erreurs de transmission dans le cadre des technologies de la 3G Toutefois le standard nimpose aucune proceacutedure de deacutecodage Afin de permettre leacutevaluation des performances de diverses strateacutegies de deacutecodage il faut analyser le comportement du deacutecodeur face agrave des signaux perturbeacutes Ces signaux peuvent ecirctre obtenus soit par acquisition soit en les geacuteneacuterant par simulation Une meacutethode de geacuteneacuteration consiste agrave manipuler des bits contenus dans les trames radio (Radio Frames) de maniegravere agrave obtenir des seacutequences de symboles preacutesentant certains types de distorsions (Figure 4-6) Ideacutealement cette manipulation doit reproduire fidegravelement les effets causeacutes par une situation de

55

transmission donneacutee et tenant compte de linfluence des autres eacuteleacutements du systegraveme situeacutes entre le codage et le deacutecodage de canal La reproduction dune situation reacuteelle implique sa modeacutelisation preacutecise et la deacutefinition exacte de tous les paramegravetres et de tous les eacuteleacutements qui la deacutecrivent Etant donneacute le nombre eacuteleveacute des facteurs intervenant dans la transmission aeacuterienne et leur variabiliteacute la reacutealisation et la mise au point dun tel systegraveme sont tregraves complexes et coucircteuses Une alternative efficace agrave la modeacutelisation est lutilisation de seacutequences reacuteelles derreurs obtenues par mesure La transmission de messages connus et lacquisition successive des seacutequences correspondantes de symboles agrave lentreacutee du deacutecodage de canal permettent lobtention de divers modegraveles derreurs Cette approche neacutecessite un systegraveme de communication UMTS opeacuterationnel ainsi que dun eacutequipement dacquisition

Systegravemedanalyse et

deacutetude

Canal detransmission(simulateur)

trames radio

symboles

Codeur de canal UMTSmessages

Deacutecodeur de canalcompatible avec les

standards UMTS

messagesdeacutecodeacutes

paramegravetres

Figure 4-6 systegraveme danalyse manipulant le contenu des trames radio (Radio Frames)

431 Systegraveme de perturbation artificielle des signaux

Lors du deacuteveloppement dune nouvelle technologie leacutetude de base de la qualiteacute de protection utilise geacuteneacuteralement une modeacutelisation simple du moyen de transmission Types derreurs La deacutefinition dun systegraveme simple de modeacutelisation doit tenir compte de la reacuteaction du systegraveme de codage UMTS [Ts25212] en preacutesence des divers types derreurs de transmission Il existe deux principaux types derreurs le Random-error et le Burst-error [Lust00]

56

Le Random-error caracteacuterise les moyens de transmission qui ne preacutesentent pas deffets de meacutemoire (Memoryless channels) Le bruit affecte chaque symbole de maniegravere indeacutependante geacuteneacuterant des erreurs non-correacuteleacutees dans la seacutequence de symboles reccedilus Les transmissions spatiales en sont des exemples typiques

Etat du canalnormal

Etat du canalaffecteacute pardes erreurs

probabiliteacute P

probabiliteacute Qprobabiliteacute 1-Q

probabiliteacute 1-P

0 0

1 1

probabiliteacute Pnormale

Etat du canal normal

probabiliteacute 1- Pnormale

probabiliteacute 1- Pnormale

0 0

1 1

probabiliteacute Pburst

Etat du canal affecteacute par des erreurs

probabiliteacute 1- Pburst

probabiliteacute 1- Pburst

modeacutelisation de leacutetat du canal

modeacutelisation du canal de transmission selon leacutetat du canal

Figure 4-7 modeacutelisation des erreurs de type Burst au moyen du model de canal Gilbert Elliot Channel (GEC) [ITU191] Selon leacutetat du canal (normal ou affecteacute par des erreurs) ce modegravele repreacutesente la transmission des donneacutees par moyen du modegravele Binary symmetric channel (BSC Figure 4-8) Les probabiliteacutes P et Q deacuteterminent loccurrence de deux eacutetats du canal Les probabiliteacutes derreurs Pnormale et Pburst permettent ladaptation du modegravele BSC aux deux eacutetats du canal A titre dexemple lapplication Error Insertion Device de [ITU191] utilise Pnormale=0 et Pburst=05

Les transmissions radio terrestres preacutesentent parfois de fortes correacutelations entre les apparitions derreurs Ces transmissions souffrent temporairement des effets de la reacuteception simultaneacutee de plusieurs copies du mecircme signal

57

deacutecaleacutees dans le temps (Fading) Par conseacutequent les erreurs ne sont pas distribueacutees uniformeacutement dans la seacutequence de symboles reccedilus mais elles affectent des groupes de symboles conseacutecutifs (Figure 4-7) Ainsi ils sont appeleacutes burst-errors La preacutesence des deux eacutetages dentrelacement dans le systegraveme de codage de canal UMTS [Ts25212] reacuteduit la concentration des erreurs en les reacutepartissant dans tout le message14 Par conseacutequent le signal affecteacute par ce type derreur est perccedilu par le deacutecodeur de canal UMTS comme un message preacutesentant des erreurs non-correacuteleacutees mais posseacutedant un deacutebit derreurs (temporairement) plus eacuteleveacute Modeacutelisations simples du moyen de transmission le Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) channel Les deux modegraveles les plus simples mais toutefois efficaces pour leacutevaluation de la qualiteacute de protection de canal sont le Binary symmetric channel et le Additive white gaussian noise channel Le Binary symmetric channel modeacutelise un canal de transmission qui ne preacutesente pas deffets de meacutemoire agrave laide dune situation de deacutecision ferme (Figure 4-8)

0 0

1 1

probabiliteacute 1-Pe

probabiliteacute 1-Pe

probabiliteacute Pe

Figure 4-8 diagramme de transition du Binary symmetric channel (BSC) avec probabiliteacute derreur Pe

Cette modeacutelisation est deacutecrite par la probabiliteacute de croisement Pe deacutecrite par

14 La qualiteacute de protection du codage convolutif est affaiblie en preacutesence de concentrations

des erreurs de transmission (burst errors cf Chapitre 2) les techniques dentrelacement permettent de faire face agrave ces situations eacutevitant une baisse temporaire de la qualiteacute de la protection

58

Pr et 01e i i i i i iP r x r x r x

= ne isin (43)

A partir de la probabiliteacute Pe le BER de la seacutequence de bits reccedilus est directement obtenu Le modegravele Additive white gaussian noise channel est utile pour leacutevaluation de systegravemes exploitant une deacutecision souple A chaque instant i ce modegravele15 modifie le symbole ix par laddition dun bruit blanc gaussien vi i i ir x v= + (44) ougrave le symbole ix est une repreacutesentation antipodale16 du bit dentreacutee xi Le bruit constitutif vi suit la densiteacute de probabiliteacute gaussienne

2

2

2 12

i iv x

i ip v x e σσπ

minusminus

sdot=sdot sdot

(45)

caracteacuteriseacutee par la variance σ2 (Figure 4-9) [Proa95] Dans le contexte du deacutecodage des codes convolutifs il est dusage dexprimer le niveau de perturbation affectant la transmission par le rapport signal sur bruit par bit donneacute par EbN0 (Signal-to-noise ratio per bit Figure 4-9) Cette uniteacute de mesure considegravere leacutenergie neacutecessaire agrave la transmission dun bit dinformation Eb par rapport agrave lefficaciteacute de la perturbation Cette efficaciteacute est repreacutesenteacutee par la densiteacute spectrale lateacuterale de la puissance N0 (One-sided power spectral density)

15 Version agrave temps discret du modegravele Additive white gaussian noise channel 16 Ce modegravele considegravere que le symbole ix est le i-egraveme symbole livreacute par lopeacuteration de

deacutemodulation eacutetant donneacute une transmission binaire du i-egraveme bit xi

59

Figure 4-9 densiteacute de probabiliteacute des symboles affecteacutes par laddition dun bruit blanc gaussien (rapport signal sur bruit par bit Eb N0 de 0 dB agrave 10 dB) Les symboles sont moduleacutes en amplitude de maniegravere antipodale (+1-1 PAM)

432 Modegravele de canal utiliseacute dans la suite des eacutetudes

Le systegraveme de perturbation choisi pour les simulations de perturbations dues agrave la transmission sans fil se base sur laddition dun bruit blanc gaussien (Figure 4-10) Ce systegraveme permet danalyser le comportement du deacutecodeur selon les deacutecisions de type ferme et pondeacutereacute ainsi que de beacuteneacuteficier des reacutesultats mentionneacutes dans la litteacuterature Par rapport aux paramegravetres du modegravele AWGN il faut remarquer que la relation existant entre la densiteacute spectrale N0 et la variance σ2 est

2 0 2Nσ = (46)

La relation entre leacutenergie de transmission de chaque symbole Es et celle de chaque bit dinformation Eb est nombre de symboles nombre de bits dinformation s bE n E ksdot = sdot (47) Ces deux relations (46) et (47) permettent dexprimer le rapport entre la variance σ2 et le rapport EbN0 de la maniegravere suivante

60

20

2

b sE E nN k σ

sdot=sdot sdot

(48)

Par rapport agrave la geacuteneacuteration de valeurs de bruit blanc gaussien vi les implantations logicielles utilisent les techniques mentionneacutees dans [Pres92]

ModulationPAM

antipodaleAWGN Quantificateur

nombre deniveaux

pas dequantification

canalbits de latrame radio

symboles

Deacuteterminationde par

EbNo k n

σ

2 02

Nσ =

σ

Es

Figure 4-10 scheacutema du canal utiliseacute se basant sur laddition dun bruit blanc gaussien (AWGN) agrave temps discret La modulation antipodale PAM adopteacutee transforme le bit dentreacutee prenant les valeurs 0 et +1 en un bit prenant respectivement les valeurs 1 et ndash1

44 Conclusions

Ce chapitre a traiteacute la probleacutematique de la transmission de donneacutees par reacuteseaux cellulaires sans fil Les facteurs techniques et environnementaux influenccedilant la transmission ont eacuteteacute briegravevement illustreacutes Suite agrave la description de ces facteurs ce chapitre a discuteacute laspect de la modeacutelisation du moyen de communication En consideacuterant les exigences deacutevaluation et de simulation ainsi que les types derreurs reproductibles deux modeacutelisations simples ont eacuteteacute preacutesenteacutees le modegravele Binary symmetric channel (BSC) et le Additive white gaussian noise (AWGN) Ce dernier a eacuteteacute retenu pour modeacuteliser le moyen de transmission servant agrave lanalyse des meacutethodes de deacutecodage des Chapitres 6 et 7

61

Reacutefeacuterences

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grand Bretagne 2002

[ITU191] International Telecommunication Union ITU-T Software Tools Library Seacuterie G Transmission systems and Media document ITU-T G191-STL-96 1996

[Lust00] F Lustenberger On the Design of Analog VLSI Iterative Decoders Dissertation ETH No 13879 Serie in Signal and Information Processing Volume 2 Hartung Gorre Konstanz Allemagne novembre 2000

[Moul92] M Mouly MndashB Pautet The GSM System for Mobile Communications Cell amp Sys Telecom Publishing 1992

[Pres92] W H Press S A Teukolsky W T Vetterling et B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[R1-1218] 3GPP Preliminary link level results for HSDPA using multiple antennas Lucent Technologies 3GPP TSG RAN WG1 document TSGR116(00)1218

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts25213] 3GPP Spreading and modulation (FDD) document 3GPP TS 25213 version 311

62

63

5 Meacutethodes pour le deacutecodage des codes convolutifs

Ce chapitre preacutesente les principes de deacutecodage de codes convolutifs et en deacutecrit les algorithmes les plus repreacutesentatifs

Les notions de base neacutecessaires agrave la compreacutehension des principes et des algorithmes sus-mentionneacutes sont introduites Puis la repreacutesentation numeacuterique des symboles reccedilus par le deacutecodeur le critegravere doptimisation utiliseacute pour le deacutecodage et le type dinformation de sortie souhaiteacute sont traiteacutes

Un aperccedilu historique des principales eacutetapes ayant conduit aux meacutethodes de deacutecodage actuelles est donneacute Ces meacutethodes sont preacutesenteacutees selon leur critegravere doptimisation soit les meacutethodes recherchant le message le plus probable et celles estimant les symboles dinformations les plus probables Dans la premiegravere classe de meacutethodes on trouve le Deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Parmi la seconde classe de meacutethodes on trouve le Symbol-by-symbol Maximum A Posteriori Algorithm le Max-Log-MAP le Log-MAP et le Soft Output Viterbi Algorithm

Les algorithmes de Viterbi et de List Decoding constituent la base des meacutethodes ameacutelioreacutees List Viterbi Algorithm et List Decoding inteacutegrant la validation CRC preacutesenteacutees au Chapitre 6 et sont agrave la base de la reacutealisation mateacuterielle deacutecrite au Chapitre 7 Les descriptions algorithmiques des autres meacutethodes existantes sont donneacutees en Annexe A

Ce chapitre se termine par une comparaison et une discussion des caracteacuteristiques des meacutethodes traiteacutees

64

51 Notions de base

Les points deacuteterminant le choix et la mise au point dune meacutethode de deacutecodage sont la configuration et les exigences propres au systegraveme dans lequel le deacutecodeur est appeleacute agrave travailler Il sagit plus preacuteciseacutement

bull du type de repreacutesentation numeacuterique des symboles reccedilus bull du critegravere doptimisation de la meacutethode de deacutecodage bull de la demande dinformation suppleacutementaire requise pour eacutevaluer la

fiabiliteacute de lopeacuteration de deacutecodage Ces trois aspects sont briegravevement passeacutes en revue ci-dessous

511 Repreacutesentations numeacuteriques des symboles reccedilus

Les symboles reccedilus sont repreacutesenteacutes numeacuteriquement en utilisant lune des deux techniques suivantes

bull Hard Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision ferme les symboles sont quantifieacutes en utilisant la mecircme repreacutesentation numeacuterique que celle des symboles du message codeacute

bull Soft Decision La repreacutesentation de chaque symbole reccedilu est soumise agrave une deacutecision souple ou pondeacutereacutee la repreacutesentation numeacuterique dispose dun nombre de niveaux de quantification supeacuterieur par rapport agrave la repreacutesentation des symboles du message codeacute Lrsquoutilisation drsquoune quantification moins rigide augmente le flux drsquoinformations mis agrave disposition du deacutecodeur

Chaque type de deacutecision preacutesente ses avantages La quantiteacute dinformations plus importante fournie au deacutecodeur gracircce agrave une deacutecision souple permet un deacutecodage de qualiteacute supeacuterieure Lapplication dune deacutecision ferme reacuteduit les ressources de stockage et de calcul neacutecessaires aux opeacuterations de traitement du signal

512 Critegraveres de deacutecodage

Lobjectif du codage de canal est lutilisation de techniques de traitement du signal permettant de proteacuteger les seacutequences de symboles drsquoinformations (les messages) contre les perturbations quelles subissent pendant leur transmission Dans le cas particulier des codes convolutifs la protection est obtenue en passant le message agrave travers un systegraveme (le geacuteneacuterateur du code ou codeur) constitueacute dun registre agrave deacutecalage et dun nombre fini de fonctions

65

lineacuteaires algeacutebriques (Linear Finite-State Shift Register [Proa95] voir la Sous-Section 232) Le deacuteroulement de la proceacutedure de codage convolutif peut ecirctre repreacutesenteacute soit par un diagramme en arbre (Figure 2-14) soit par un diagramme en treillis (Figure 2-16) Bien quil existe plusieurs principes et meacutethodes de deacutecodage tous les algorithmes exploitent un de ces deux diagrammes afin de modeacuteliser lopeacuteration de codage La succession des changements deacutetats de la meacutemoire du codeur convolutif est usuellement deacutesigeacutee par le terme chemin et chaque transition entre deux eacutetats par le terme branche Faisant reacutefeacuterence agrave la seacutequence dopeacuteration du deacutecodeur on peut classifier les meacutethodes de deacutecodage en deux classes

1 les meacutethodes qui cherchent agrave deacuteterminer le message produisant les symboles de sortie ressemblant le plus aux symboles reccedilus

2 les meacutethodes qui se concentrent sur lidentification de chaque symbole dinformation le plus probable

En raison de la diversiteacute des proceacutedeacutes de deacutecodage laspect temporel des diagrammes en arbre et en treillis ne coiumlncide pas neacutecessairement avec le deacuteroulement seacutequentiel de lopeacuteration de deacutecodage Par conseacutequent la notion de temps des repreacutesentations graphiques est remplaceacutee par celle de niveau de profondeur

513 Informations de deacutecodage disponibles

Laccegraves aux informations de lopeacuteration de deacutecodage caracteacuterise la configuration de travail du deacutecodeur A lorigine le deacutecodage convolutif se chargeait de reconstruire le message par correction des eacuteventuelles erreurs de transmission Aujourdhui certaines applications et certains systegravemes de deacutecodage neacutecessitent des informations relatives agrave la fiabiliteacute de la proceacutedure de deacutecodage de chaque symbole dinformation En preacutesence de messages affecteacutes par des erreurs de transmission ces applications peuvent utiliser ces informations dans le but datteacutenuer les deacutegacircts dus aux erreurs Des exemples sont le deacutecodage joint entre le deacutecodage de canal et de source (Source-channel Decoding) et les techniques de mitigation derreurs affectant les messages (Error concealement) La mise agrave disposition de ce type dinformation nest intrinsegraveque quaux meacutethodes se concentrant sur le deacutecodage individuel de chaque symbole du message (Section 53)

66

52 Meacutethodes de deacutecodage recherchant le message le plus probable

Apregraves avoir introduit les notions de base les meacutethodes les plus repreacutesentatives de chaque principe de deacutecodage sont illustreacutees dans la suite du chapitre Selon les principales eacutetapes historiques ayant meneacute aux meacutethodes exploiteacutees actuellement les meacutethodes prise en consideacuteration sont le deacutecodage seacutequentiel le List Decoding lAlgorithme de Viterbi le Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) le Bidirectional Soft Output Viterbi Algorithm le Max-Log-MAP et le Log-MAP Du point de vue historique cette section preacutesente tout dabord les meacutethodes se basant sur le critegravere doptimisation le plus ancien agrave savoir la recherche du message le plus probable eacutetant donneacute les symboles reccedilus Pratiquement ces meacutethodes consistent en une recherche du chemin dont les symboles de redondance ressemblent le plus agrave ceux reccedilus par le deacutecodeur Le message peut ecirctre ainsi construit en deacutecodant ce chemin Les principes des trois meacutethodes les plus repreacutesentatives de cette classe sont preacutesenteacutees ici le deacutecodage seacutequentiel le List Decoding et lAlgorithme de Viterbi Comme la meacutethode List Decoding et lalgorithme de Viterbi sont traiteacutes dans la suite de ce rapport ces meacutethodes sont deacutecrites ici en deacutetail Les particulariteacutes algorithmiques de la meacutethode deacutecodage seacutequentiel sont par contre deacutecrites en Annexe A La preacutesentation des algorithmes susmentionneacutes est preacuteceacutedeacutee par celle de la fonction de meacutetrique utiliseacutee par ces algorithmes pour la recherche du message le plus probable Recherche du chemin agrave laide de la fonction de meacutetrique Les algorithmes recherchant le message le plus probable analysent la seacutequence des changements deacutetats S que la meacutemoire du codeur convolutif subit pendant lopeacuteration de codage Lobjectif de ces algorithmes est lidentification de la seacutequence Ŝ statistiquement la plus probable par rapport agrave la seacutequence de symboles reccedilus R Ŝ est donneacutee par [Vale98]

Regravegle de Bayes

Pr R|S Pr Sarg max Pr S|R arg max Pr[R]

arg max Pr R|S Pr S

S S

S

S

sdot= =

= sdot

^

(51)

67

La succession des symboles dinformation qui produisent une telle seacutequence est ensuite identifieacutee gracircce agrave Ŝ Dans le but dobtenir une solution agrave leacutequation (51) ces algorithmes neacutecessitent une fonction mesurant la ressemblance entre la redondance geacuteneacutereacutee par le chemin consideacutereacute i et la seacutequence de symboles reccedilue Cette fonction est appeleacutee fonction de meacutetrique La fonction de meacutetrique du i-egraveme chemin Si est repreacutesenteacutee dans ce document par le symbole PM(Si) Elle permet de reformuler le critegravere doptimisation (51) selon

( )

arg max i

i

SS S i

S PMisin forall

=^

(52)

ougrave ( )

iPr S |R iSPM prop (53)

Afin de reacuteduire la dynamique des valeurs de meacutetrique le critegravere doptimisation est souvent formuleacute dans le domaine logarithmique comme suit

i

arg max log(Pr S |R )iS S i

Sisin forall

=

^ (54)

et la fonction de meacutetrique est reformuleacutee de la maniegravere suivante ( )

i|log(Pr S R )iSPM prop (55)

Une proprieacuteteacute fondamentale de la fonction de meacutetrique telle que deacutefinie ci-dessus est la proprieacuteteacute reacutecursive suivante

( ) ( ) ( ) ( )1

1( )

( )

valeur de meacutetrique ne consideacuterant que les premiegraveres transitions du chemin

contribution agrave la mesure de fi

i i i i

i

i

BS S S S

npBBnp

Snp

Snp

PM PM

PMnp i

micro micro

micro

minus=

= + = sum

deacuteliteacute de la transition entre les niveaux de profondeur -1 et np np

(56)

68

Cette proprieacuteteacute facilite (et permet) la reacutealisation de plusieurs meacutethodes de deacutecodage introduisant la notion de meacutetrique cumuleacutee PMnp

(Si) et de meacutetrique de branche micronp

(Si) Le calcul de la meacutetrique de branche doit tenir compte de la repreacutesentation numeacuterique des symboles reccedilus ainsi que de la modeacutelisation du moyen de communication Ladoption dune deacutecision ferme permet leacutetablissement dune fonction de meacutetrique baseacutee sur la distance de Hamming (Hamming Distance) alors quune deacutecision souple implique ladoption dune distance euclidienne La fonction de meacutetrique selon leacutequation (56) permet denvisager plusieurs principes de recherche du chemin le plus prometteur On peut identifier trois genres de recherches diffeacuterentes [Ande84] qui sont

bull Le genre Depth-First ougrave le chemin le plus prometteur est chercheacute en suivant le chemin montrant la valeur de meacutetrique cumuleacutee la plus favorable En cas daccumulation temporelle derreurs (Burst errors) le chemin preacutesentant la meacutetrique cumuleacutee la plus favorable peut seacuteloigner du chemin globalement le plus prometteur Par conseacutequent ce genre de recherche preacutevoit la possibiliteacute de revenir en arriegravere sur le chemin parcouru afin de reprendre un meilleur chemin la proceacutedure de recherche parcourt le diagramme en arbre de maniegravere bidirectionnelle

bull Le genre Breadth-First ougrave la recherche est unidirectionnelle et synchroniseacutee par rapport au niveau de profondeur du diagramme en arbre ou en treillis Cette strateacutegie se base sur la comparaison des meacutetriques cumuleacutees de plusieurs chemins au mecircme niveau de profondeur

bull Le genre Metric-First ougrave la recherche est unidirectionnelle dans le diagramme en arbre Cette recherche est reacutegleacutee par les valeurs des meacutetriques cumuleacutees des chemins deacutejagrave analyseacutes Au cours de la recherche lalgorithme considegravere un nombre fini de chemins atteignant des niveaux de profondeur diffeacuterents Ce genre de recherche est le moins performant des trois [Ande84]

A laide des notions introduites ici les algorithmes les plus repreacutesentatifs sont preacutesenteacutes

521 Deacutecodage Seacutequentiel

La premiegravere meacutethode utiliseacutee pour le deacutecodage des seacutequences proteacutegeacutees par des codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft en 1957

69

Cette meacutethode a eacuteteacute reprise et modifieacutee par Fano [Proa95] La strateacutegie adopteacutee par Fano consiste en la recherche du chemin le plus probable agrave linteacuterieur du diagramme en arbre (Figure 2-14) en examinant une transition de meacutemoire agrave la fois Ce type de recherche appartient au genre de recherche depth-first [Ande84] [Schl97] La recherche du chemin le plus prometteur est conduite agrave laide dune fonction de meacutetrique PM (55) adapteacutee agrave ce genre de recherche (voir Annexe A Section A1) Proceacutedure pour la deacutetection des faux chemins Le genre de recherche depth-first est extrecircmement sensible agrave laccumulation temporelle derreurs de transmission En effet une accumulation rapide derreurs peut temporairement entraicircner le rejet du chemin globalement le plus probable par rapport aux symboles reccedilus Le moyen choisi pour faire face agrave cet inconveacutenient est ladoption dun seuil dynamique de meacutetrique qui eacutevalue lexactitude de la recherche du chemin le plus probable (Figure 5-1) [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin choisi deacutepasserait ce seuil le chemin sera suspecteacute decirctre incorrect en raison dune forte accumulation derreurs la proceacutedure de recherche de lrsquoalgorithme reviendra en arriegravere sur les nœuds preacuteceacutedents en cherchant un nouveau chemin qui satisfasse la comparaison avec le seuil Si aucun chemin conforme nrsquoest trouveacute la valeur du seuil sera reacuteduite et la proceacutedure de recherche recommencera en utilisant le chemin qui a eacuteteacute suspecteacute decirctre incorrect Ce moyen permet de se preacutemunir drsquoune boucle de recherche infinie Le nombre drsquoiteacuterations la preacutecision de la proceacutedure de recherche dans les nœuds anteacuteceacutedents et par conseacutequent la qualiteacute de correction drsquoerreurs fournie par lrsquoalgorithme deacutependent strictement des modifications apporteacutees agrave la valeur du seuil de reacutefeacuterence Pour cette raison la proceacutedure et les paramegravetres dadaptation du seuil sont identifieacutees agrave lrsquoaide de lrsquoexpeacuterience accumuleacutee ainsi que de nombreuses simulations Observations La meacutethode de deacutecodage seacutequentielle est caracteacuteriseacutee par lexeacutecution seacutequentielle et bidirectionnelle de la recherche du chemin le plus prometteur La conseacutequence de cette strateacutegie de recherche est tout dabord un temps de deacutecodage variable et fortement influenceacute par le nombre et le type derreurs de transmission Ensuite la qualiteacute de protection est aussi fonction du reacuteglage des paramegravetres du seuil dynamique de reacutefeacuterence Dautre part la fonction de meacutetrique doit ecirctre eacutetablie de maniegravere agrave permettre une comparaison eacutequitable

70

entre chemins se situant agrave diffeacuterents niveaux de profondeurs (Annexe A Sous-section A11)

recherche du meilleurnoeud et calcul de la

nouvelle meacutetriquePMnp+1

STARTmeacutetrique PM0=0

PM-1=-infiniposition dans larbre np=0

deacutetectionfaux

chemins

avancementnp=np+1

fin de larecherche

np=B FIN

premierpassage

affinementparamegravetres dedeacutetection faux

chemins

controcircle du noeudpreacuteceacutedent

modificationparamegravetres de

deacutetection faux chemins

reculnp=np-1

recherche du prochainmeilleur noeud et

calcul de la nouvellemeacutetrique PMnp+1

Trouveacute

deacutetectionfaux

chemins

Oui

Non

fauxchemin

chemincorrect

Oui

Non

Oui

Non

fauxchemin

chemincorrect

faux chemin

chemin correct

Figure 5-1 diagramme de flux simplifieacute de lrsquoalgorithme de Fano (adapteacute selon [Proa95])

La variabiliteacute et la non-preacutevisibiliteacute du nombre dopeacuterations rendent ce genre de recherche inadapteacutee agrave un contexte de codage en temps reacuteel Cet

71

inconveacutenient peut ecirctre eacutelimineacute en changeant la nature de la recherche en la remplaccedilant par le genre breadth-first En effet les algorithmes utilisant ce genre de recherche ont une complexiteacute de calcul indeacutependante des conditions de transmission du signal et un temps de deacutecodage preacutevisible

522 List Decoding

A la diffeacuterence des meacutethodes de recherche preacuteceacutedentes le genre de recherche breadth-first analyse et traite les chemins par groupes Les algorithmes List Decoding [Joha99] M-Algorithm [Ande84] [Schl97] et T-Algorithm [Schl97] sont des meacutethodes qui exploitent ce genre de recherche Le principe de recherche de ces meacutethodes peut ecirctre ainsi partageacute en deux parties Dabord un nombre de chemins les plus prometteurs est seacutelectionneacute parmi les chemins atteignant le niveau de profondeur traiteacute Puis les chemins seacutelectionneacutes sont propageacutes au niveau de profondeur suivant Description de lalgorithme List Decoding Etant donneacute une recherche de type breadth-first lrsquoanalyse et le controcircle des chemins sont synchroniseacutes par rapport au niveau de profondeur dans lrsquoarbre de recherche La possibiliteacute de revenir sur les nœuds preacuteceacutedents nest pas donneacutee (Figure 5-2) Lalgorithme List Decoding peut ecirctre reacuteparti en quatre eacutetapes principales

1 Insertion du nœud de deacutepart dans la liste contenant les chemins les plus prometteurs (initialisation de la liste)

2 Deacutetermination des nouveaux chemins agrave partir des chemins contenus dans la liste des chemins les plus prometteurs Mise agrave jour des meacutetriques relatives cumuleacutees

3 Si la fin de lrsquoarbre de recherche est atteinte deacutecodage du chemin posseacutedant la meilleure meacutetrique finale

4 Si la fin de larbre nest pas atteinte effacement du contenu de la liste des chemins les plus prometteurs et seacutelection des L chemins preacutesentant les meacutetriques cumuleacutees les plus favorables Ces chemins sont ensuite inscrits dans la liste des chemins les plus prometteurs et la proceacutedure de recherche retourne agrave lrsquoeacutetape 2

Les chemins analyseacutes ayant la mecircme longueur la fonction de meacutetrique PM (55) peut ignorer tous les termes en commun agrave toutes les meacutetriques La fonction de meacutetrique nest ainsi formeacutee que par laccumulation des

72

contributions de chaque transition (branche) dans le diagramme en arbre cest-agrave-dire des meacutetriques de branche micronp (56) ( )( ) ( )

np npnp-1ii i SS SPM PM micro= + (57)

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

PM4(S13) PM5

(S19)PM3(S7)PM2

(S3)PM1(S1)PM0

(S0)

PM4(S14) PM5

(S20)PM3(S8)PM2

(S4)PM1(S2)

PM4(S15) PM5

(S21)PM3(S9)PM2

(S5)

PM4(S16) PM5

(S22)PM3(S10)PM2

(S6)

PM4(S17) PM5

(S23)PM3(S11)

PM4(S18) PM5

(S24)PM3(S12)

Figure 5-2 exemple illustrant le genre de recherche de la meacutethode List Decoding (L = 3)

Importance du nombre L de chemins propageacutes Le nombre L de chemins retenus agrave chaque transition est normalement deacutefini agrave priori agrave lexception de lalgorithme T-Algorithm qui seacutelectionne dynamiquement les chemins candidats Cet algorithme seacutelectionne les chemins en se basant sur les diffeacuterences existant entre les meacutetriques cumuleacutees [Schl97] Le problegraveme typique affectant ce type dalgorithme est la possibiliteacute de rejet du chemin correct de la liste (temporairefinale) des L chemins les plus favorables agrave cause dune concentration derreurs de transmission Le rejet du chemin correct comporte un deacutecodage livrant un message incorrect (Figure

73

5-3) Le nombre derreurs dans le message est fonction du nombre de transitions deacutetat diffeacuterents entre le chemin choisi et le chemin correct

le chemincorrect est dans la

liste finale

dfree gt= 2e+1

deacutecodage duchemin correct

deacutecodage dunchemin incorrect

le nombreet la disposition temporelle

des erreurssont favorables

oui non

non

oui

oui non

start

Figure 5-3 repreacutesentation graphique des relations entre les paramegravetres influenccedilant la performance du deacutecodage ougrave e indique le nombre derreurs affectant la transmission du message et ougrave dfree indique la distance libre du code convolutif

Laugmentation du nombre L permet de reacuteduire loccurrence du rejet due agrave une accumulation (temporaire et deacutefavorable) derreurs de transmission Toutefois cette solution augmente la charge de calcul de la meacutethode de deacutecodage charge qui est fonction du nombre des chemins propageacutes et de lutilisation dopeacuterations de seacutelection Observations La qualiteacute de deacutecodage de lalgorithme List Decoding est fortement influenceacutee par le possible rejet du chemin correct de la liste des chemins les plus prometteurs Loccurrence deacutepend dune part de la quantiteacute et de la disposition temporelle des erreurs de transmission et dautre part du nombre L des chemins retenus dans la liste

74

Ce paramegravetre L deacutetermine non seulement la qualiteacute de protection contre les erreurs de transmission mais aussi la charge de calcul de la proceacutedure de deacutecodage En effet la nature de recherche de cet algorithme rend la charge de calcul indeacutependante du nombre et de la disposition temporelle des erreurs de transmission A chaque niveau de profondeur lalgorithme exeacutecute la prolongation des L chemins contenus dans la liste met agrave jour les 2bmiddotL meacutetriques cumuleacutees et seacutelectionne ensuite les L meilleurs chemins17 De par sa charge de calcul indeacutependante de la longueur de contrainte du code et de par la nature des erreurs de transmission lalgorithme List Decoding a eacuteteacute retenu comme noyau pour la nouvelle meacutethode software de deacutecodage iteacuterative appeleacutee ici List Decoding inteacutegrant la validation du CRC et deacutecrite en Section 67 Cette meacutethode utilise de maniegravere iteacuterative les reacutesultats de lapplication de la meacutethode List Decoding et les informations suppleacutementaires fournies par la validation CRC

523 Algorithme de Viterbi

Lalgorithme de Viterbi a eacuteteacute preacutesenteacute en 1967 par A J Viterbi comme deacutecodeur des codes convolutifs [Vale98] Le principe de cet algorithme consiste agrave estimer les transitions qui se sont produites dans la meacutemoire du codeur convolutif pendant le codage Lestimation se base sur le maximum de vraisemblance (Maximum Likelihood) fonction qui permet didentifier le message globalement le plus probable [Hell71] [Forn73] [Thit93] [Proa95] [Schl97] [Vale98] [Joha99] [Vuce00] Limportante contribution apporteacutee par lalgorithme de Viterbi est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs mis agrave disposition par le code sans devoir controcircler individuellement chacun des chemins possibles En effet la recherche du chemin globalement le plus probable par analyse des 2bB chemins possibles devient rapidement impraticable avec laugmentation du nombre des symboles du message Les meacutethodes existant avant lalgorithme de Viterbi se limitaient au controcircle dun nombre important mais toutefois limiteacute de chemins la correspondance entre le chemin choisi et le chemin globalement le plus probable deacutependait de plusieurs paramegravetres dont le nombre et la disposition temporelle des erreurs de transmission la qualiteacute de protection offerte par le code convolutif et le nombre des chemins controcircleacutes par la meacutethode 17 b indique le nombre de bits formant le symbole dinformation agrave lentreacutee du codeur de

canal

75

Viterbi deacuteveloppe son algorithme en eacutetablissant cinq critegraveres permettant didentifier le chemin globalement le plus probable

bull la recherche du chemin globalement le plus probable par moyen dune fonction de meacutetrique

bull La modeacutelisation de la proceacutedure de codage convolutif par un processus de Markov (processus eacutechantillonneacute dans le temps avec un nombre deacutetats finis)

bull un genre de recherche de type breadth-first bull lhypothegravese dun bruit sans meacutemoire (memoryless) perturbant le canal bull une proceacutedure de recherche exploitant la structure du diagramme en

treillis Eacutetablissement de la fonction de meacutetrique La modeacutelisation de la proceacutedure de codage par un processus de Markov offre la possibiliteacute dexploiter ses proprieacuteteacutes dont en particulier les deux suivantes [Vale98]

bull laquoLa probabiliteacute quun processus de Markov soit dans un eacutetat particulier eacutetant donneacute tous les eacutetats preacuteceacutedents est eacutegale agrave la probabiliteacute que le processus soit dans cet eacutetat eacutetant donneacutee lrsquoeacutetat preacuteceacutedentraquo (traduction) [Vale98] 1 0 1 1Pr[ ] Pr[ ]np npnp nps s s s s s+ += (58)

bull laquoDans un environnement perturbeacute par un bruit blanc la probabiliteacute de la np-egraveme observation particuliegravere rnp eacutetant donneacute la succession complegravete des transitions entre les eacutetats S est eacutegale agrave la probabiliteacute de lrsquoobservation eacutetant donneacute uniquement la transition entre la profondeur np-1 et npraquo (traduction) [Vale98] On a donc

1Pr[ ] Pr[ ]np np npnpr S r s sminus= rarr (59)

Lapplication de ceux deux proprieacuteteacutes agrave la formule (51) deacutecrivant le critegravere doptimisation permet deacutetablir lexpression suivante [Vale98]

1 11 1

arg max Pr[ ] Pr[ ] B B

np np npnp npS np npS r s s s sminus minus

= =

= rarrprod prod^

(510)

76

Le transfert de leacutequation (510) dans le domaine logarithmique (54) permet de substituer le produit de probabiliteacutes par leur somme ce qui simplifie le calcul et reacuteduit la dynamique des nombres On a alors

1 11

arg max log Pr[ ] log Pr[ ] B

np np npnp npS npS r s s s sminus minus

=

= rarr +sum

^ (511)

A partir de leacutequation (511) la fonction de meacutetrique PM est introduite dans la description du critegravere doptimisation

( ) ( )

1

( ) ( )

1

( )1 1 1

arg max arg max

et

log Pr[ ] log Pr[ ] et

i i

i

BS S

npS S np

BS S

npnp

Snp np np np np inp np np

S PM

PM

r s s s s s s S

micro

micro

micro

=

=

minus minus minus

isin

= =

=

= rarr +

sum

sum

^

(512)

ougrave les meacutetriques finales PM(Si) et de branche micronp

(Si) se reacutefegraverent aux transitions du i-egraveme chemin Lexeacutecution de la tacircche de recherche (512) peut ecirctre alleacutegeacutee en ne consideacuterant que les transitions effectivement possibles transitions qui sont deacutefinies par la structure du codeur Si tous les messages sont eacutequiprobables le second terme de la meacutetrique de branche (512) napporte aucune contribution de discrimination la formulation de la meacutetrique de branche peut ecirctre ainsi simplifieacutee et donneacutee par

( )1 log Pr[ ]iS

np np npnpr s smicro minus

= rarr (513)

Le maximum de vraisemblance devient alors lunique paramegravetre servant agrave deacuteterminer le meilleur chemin Les hypothegraveses de travail de lalgorithme preacutesenteacute en 1967 par Viterbi consideacuteraient une telle situation deacutequiprobabiliteacute [Vale98] qui est veacuterifieacutee lorsque la redondance des messages est reacuteduite au minimum ou admise lorsque les probabiliteacutes a priori Pr[snp|snp-1] ne sont pas connues

77

Notion de survivant Lintroduction de la notion de survivant (survivor) deacutecrite ci-apregraves permet de reacuteduire le nombre drsquoopeacuterations neacutecessaires agrave lexploitation de tout le potentiel de correction drsquoerreurs agrave disposition Cette notion se base sur le concept de non-optimaliteacute (nonoptimality)

SB

SA

SG

SE

SF

SC

SD

Chemin A

Chemin B

Niveau deprofondeur np-2 np-1 np np+1 np+2

eacutetat de la meacutemoiredu codeur convolutif

Figure 5-4 repreacutesentation graphique de la convergence entre deux chemins

La notion de survivant peut ecirctre expliqueacutee sur la base dun exemple comprenant deux chemins A et B dans la situation suivante (Figure 5-4)

bull les meacutetriques cumuleacutees de deux chemins A et B sont compareacutees agrave la profondeur np+2

bull au niveau de profondeur np+2 le chemin A preacutesente une meacutetrique cumuleacutee meilleure que le chemin B

( ) ( )

2 2A B

np npPM PM+ +gt (514) bull agrave partir du niveau de profondeur np les deux chemins convergent en un

mecircme chemin cest-agrave-dire quagrave partir du niveau de convergence np les deux chemins indiquent des eacutetats identiques de la meacutemoire du codeur

A laide de la proprieacuteteacute reacutecursive de la fonction de meacutetrique PM (512) les meacutetriques cumuleacutees PMnp+2 des deux chemins (514) peuvent ecirctre ainsi reacuteeacutecrites

2

( ) ( ) ( )2

1 1

A A Anp np

S S Snp prof prof

prof prof npPM micro micro

+

+= = +

= +sum sum

78

2

( ) ( ) ( )2

1 1B B B

np npS S S

np prof profprof prof np

PM micro micro+

+= = +

= +sum sum (515)

Cette formulation distingue la contribution des meacutetriques de branches par rapport au nœud de convergence des deux chemins On peut ainsi constater que les branches qui suivent le nœud de convergence apportent la mecircme contribution aux deux meacutetriques cumuleacutees PMnp+2

(SA) et PMnp+2(SB)

2 2

( ) ( )

1 1A B

np npS S

prof profprof np prof np

micro micro+ +

= + = +=sum sum (516)

A partir de ce nœud de convergence la relation existant entre les deux meacutetriques cumuleacutees ne change pas parce que les deux chemins suivrent le mecircme parcours (proprieacuteteacutes des processus de Markov (58) et (59)) ( ) ( ) ( ) ( ) x =1 2B BA AS S S S

np np np x np xPM PM PM PM+ +gt hArr gt (517) Cette relation reste inalteacutereacutee en choisissant un autre future parcours18 apregraves le nœud de convergence les meacutetriques cumuleacutees du future parcours apportent la mecircme contribution aux deux chemins Par conseacutequent au niveau de profondeur np lopeacuteration de recherche sait que le chemin convergeant le moins performant SB ne pourra jamais coiumlncider avec le chemin globalement le plus probable Cette proprieacuteteacute permet danticiper la seacutelection entre deux chemins concurrents agrave la profondeur ougrave les deux chemins se reacuteunissent pour la premiegravere fois Le theacuteoregraveme de la non-optimaliteacute (theorem of nonoptimality path) [Joha99] [Schl97] deacutefinit ainsi que laquola proceacutedure de reacuteunion des nœuds qui correspondent agrave des eacutetats identiques de lrsquoencodeur et successivement la suppression des chemins avec les meacutetriques cumuleacutees les moins favorables neacuteliminent jamais le chemin avec la ressemblance maximaleraquo19 (traduction) [Schl97] De point de vue de la nomenclature le chemin retenu apregraves la comparaison est appeleacute chemin survivant

18 Parcours qui deacutemarre depuis le nœud de convergence des deux chemins 19 Selon ce theacuteoregraveme dans le cas ougrave les chemins convergeant en un mecircme nœud

preacutesenteraient une meacutetrique identique lun des deux chemins peut ecirctre eacutelimineacute de maniegravere aleacuteatoire

79

Lapplication systeacutematique de cette proceacutedure de seacutelection anticipeacutee reacuteduit consideacuterablement la complexiteacute de calcul de proceacutedure de recherche et rend ainsi faisable lidentification du chemin globalement le plus probable Description de lalgorithme La seacutelection du chemin survivant en consideacuterant les divers eacutetats de meacutemoire possibles permet le remplacement dune recherche baseacutee sur un diagramme en arbre par une recherche exploitant le diagramme en treillis En repreacutesentant les eacutetats de meacutemoires par les nœuds de la repreacutesentation le diagramme en treillis facilite lexeacutecution de lopeacuteration de seacutelection

chemin le plus probable

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins non retenuschemins survivants

chemin le plus probabledeacutecodage du chemin seacutelectionneacute

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

Figure 5-5 exemple de deacutecodage drsquoun message de 6 bits par lrsquoalgorithme de Viterbi message qui a eacuteteacute proteacutegeacute avec un code convolutif posseacutedant une longueur de contrainte de 3

Le deacuteroulement de lalgorithme de Viterbi implique ainsi les eacutetapes suivantes (Figure 5-5)

1 Les meacutetriques cumuleacutees de tous les eacutetats sont initialiseacutees selon les connaissances (a priori) des conditions de deacutepart du processus analyseacute

2 La valeur de la variable np qui indique le niveau de profondeur dans le treillis est initialiseacutee agrave zeacutero

3 Pour chaque nœud agrave la profondeur np+1 a les chemins convergeant en ce nœud sont identifieacutes b leurs meacutetriques sont mises agrave jour agrave lrsquoaide des meacutetriques de

branche c le chemin le plus probable (survivant) est deacutetermineacute d la meacutetrique cumuleacutee du chemin survivant est assigneacutee au nœud

80

e les informations neacutecessaires agrave la reconstruction du chemin survivant sont sauvegardeacutees

4 Lorsque la fin du treillis de recherche est atteinte lrsquoalgorithme deacutecode le chemin avec la meilleure meacutetrique selon les informations sauvegardeacutees

5 Sinon le niveau de profondeur np est increacutementeacute de 1 6 On revient agrave lrsquoeacutetape 3

Observations La proprieacuteteacute principale de cet algorithme est doffrir une analyse efficace et exhaustive de tout lespace de codage gracircce agrave la notion de survivant Les ressources neacutecessaires agrave cette analyse qui doit prendre en compte les 2bB chemins possibles sont reacuteduites agrave

bull Bmiddot2bmiddot2(K-1) mises agrave jour de meacutetriques cumuleacutees bull Bmiddot2(K-1) seacutelections du chemin survivant

Lindeacutependance de la complexiteacute de calcul par rapport au nombre et agrave la disposition temporelle des erreurs de transmission est assureacutee par le genre de recherche breadth-first Par contre la longueur de contrainte K du code deacutetermine la charge de calcul pour le traitement de chaque bit dinformation La notion de survivant peut ecirctre aussi servir agrave lameacutelioration de la qualiteacute de deacutecodage des meacutethodes List Decoding La performance de lalgorithme List Decoding est en effet perturbeacutee par la conservation possible de chemins preacutesentant un mecircme eacutetat de meacutemoire (voir lexemple de la Figure 5-2 au 5egraveme niveau de profondeur 5) Cette situation perturbatrice deacutegrade lefficaciteacute de la recherche du chemin le plus probable en reacuteduisant le nombre de chemins effectivement utiles agrave cette recherche Leacutelimination des chemins inutiles implique une augmentation de la complexiteacute de calcul de la meacutethode non seulement pour lexeacutecution de lopeacuteration de seacutelection mais aussi en raison dun type de recherche baseacutee sur le diagramme en arbre Lalgorithme de Viterbi gracircce agrave son analyse efficace et exhaustive de tout lespace de codage sera un eacuteleacutement crucial des travaux deacutecrits dans les Chapitres 6 et 7 Le sujet de limplantation software (Chapitre 6) sera introduit par lanalyse de cet algorithme qui est massivement utiliseacute dans les systegravemes de la 2G Lalgorithme de Viterbi est ensuite agrave la base dune des deux meacutethodes iteacuteratives de deacutecodage software qui seront proposeacutees dans la suite de leacutetude du sixiegraveme chapitre Cette meacutethode le List Viterbi Algorithm utilise de maniegravere iteacuterative les informations fournies par lalgorithme de Viterbi et par le

81

codage suppleacutementaire CRC ameacuteliorant la qualiteacute de protection contre les erreurs de transmission Le Chapitre 7 traitera le sujet de la reacutealisation ASIC dune meacutethode de deacutecodage de codes convolutifs baseacutee entiegraverement sur lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants

53 Meacutethodes de deacutecodage estimant les symboles les plus probables

Apregraves avoir introduit les meacutethodes se concentrant sur le message le plus probable cette section preacutesente les meacutethodes agissant au niveau des symboles dinformation du message La meacutethode pionniegravere de cette classe de deacutecodeurs est lalgorithme Symbol-by-symbol Maximum A Posteriori Algorithm (MAP) Les avantages fournis par cet algorithme sont la minimisation de la probabiliteacute derreur de chaque symbole du message et la mise agrave disposition dune estimation de la fiabiliteacute du deacutecodage Toutefois cette premiegravere meacutethode souffre de problegravemes de repreacutesentation numeacuterique des variables de ressources de stockage et dune charge de calcul importante Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute ulteacuterieurement proposeacutes Les algorithmes Max-Log-MAP Algorithm Log-MAP Algorithm et Soft Output Viterbi Algorithm (SOVA) sont des exemples repreacutesentatifs Dans cette section on illustre ainsi les principes de deacutecodage des meacutethodes MAP Max-Log-MAP Algorithm Log-MAP Algorithm et Bidirectional SOVA Les deacutetails algorithmiques de ces meacutethodes sont disponibles dans lAnnexe A Critegravere doptimisation Le critegravere doptimisation de cette classe de meacutethodes se base sur lestimation de chaque bit (b=1) ou symbole (bgt1) dinformation du message eacutetant donneacute la seacutequence de symboles reccedilus R

npnp npinfo Bit

np

info Bit arg max Pr info Bit |R

info Bit -egraveme symbole dinformationnp

=

^

(518)

82

Ce critegravere deacutetermine les symboles les plus probables indeacutependamment de la correacutelation existant entre les symboles reccedilus et ceux geacuteneacutereacutes par le message entier La reacutesolution de leacutequation (518) implique la deacutetermination des probabiliteacutes de deacutecodage de chaque symbole du message informations qui peuvent ecirctre utiles agrave lopeacuteration suivant le deacutecodage convolutif Cette classe dalgorithmes ne fournit ainsi pas le message mais une estimation de la fiabiliteacute du deacutecodage de chaque symbole Dans le contexte dun codage binaire (b=1) cette estimation est livreacutee au moyen de la fiabiliteacute Λ

( ) npnp

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Λ = (519)

qui se base sur la probabiliteacute a-posteriori (APP) des symboles transmis npPr info bit =i S 01i

= (520)

Le message peut ainsi ecirctre extrait en regardant le signe de la fiabiliteacute Λ

( )npnp

1 si info bit 0info bit = 0 autrement

Λ ge (521)

531 Symbol-by-symbol Maximum A Posteriori Algorithm

Lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacute formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole du message (518) Lalgorithme est ainsi capable de fournir en plus une estimation de la fiabiliteacute du deacutecodage qui se base sur la probabiliteacute a posteriori du bit concerneacute [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00] Bien que le nom de la meacutethode rappelle la fonction de maximisation cette fonction matheacutematique nest pas agrave la base de la meacutethode Par conseacutequent dans

83

certaines publications la meacutethode est citeacutee sous dautres noms souvent sous le terme A Posteriori Probability Algorithm [Vale98] Afin de maintenir une coheacuterence avec la plupart des publications dans la suite de ce rapport cette meacutethode continuera agrave ecirctre mentionneacutee avec son nom original Objectif de la meacutethode pionniegravere MAP En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode geacuteneacuterale permet lestimation des probabiliteacutes a posteriori (APP) des transitions

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (522)

et des probabiliteacutes des eacutetats du processus

Pr

PrPrnp

nps m R

s m RR

== = (523)

Dans le cas particulier du deacutecodage convolutif lobjectif poursuivi par la meacutethode MAP est lestimation de la probabiliteacute

npnp

Pr info bit Pr info bit

Pri R

i RR

== = (524)

probabiliteacute qui est ensuite deacutelivreacutee au moyen de la valeur de fiabiliteacute Λ Ainsi au moyen de la probabiliteacute σ()

( )

( ) ( ) ( )1

1

Pr

np npnp

np npnp

m m s m s m R

m m m m

σ

α γ βminus

minus

= = =

= sdot sdot (525)

ougrave ( ) 1Pr np

np npm s m Rα = = (526)

( ) 1Pr Bnp npnpm R s mβ +

= = (527)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (528)

lalgorithme MAP accomplit sa tacircche en estimant la fiabiliteacute

84

( ) ( )

np 1np

np ( ) 0

( )Pr info bit 1

info bit( )Pr info bit 0

ttransition m mimpliquant

ttransition m mimpliquant

m mR

m mR

σ

σ=

=

=

=Λ =

=

sum

sumnp

np

info bit

info bit

(529)

Le calcul de la probabiliteacute σ() (525) beacuteneacuteficie des proprieacuteteacutes iteacuteratives des probabiliteacutes α() (526) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (530)

et β() (527) ( ) ( ) ( )1 1

np np np

mm m m mβ β γ+ += sdotsum (531)

Les deacutetails de la deacuterivation matheacutematique ainsi que le deacuteroulement algorithmique de la meacutethode MAP sont disponibles dans lAnnexe A (Section A2) Par rapport agrave la repreacutesentation graphique de la proceacutedure de deacutecodage cette meacutethode utilise un diagramme en treillis (Figure 5-6) similairement agrave lalgorithme de Viterbi A chaque nœud du diagramme en treillis est assigneacutee la probabiliteacute APP dun eacutetat Pr nps m R

= (532)

et agrave chaque branche la probabiliteacute APP dune transition de meacutemoire 1Pr npnps m s m Rminus

= = (533)

Observations Lanalyse du deacuteroulement de lalgorithme MAP met tout de suite en eacutevidence limportante charge de calcul et la forte demande de ressources de stockage ainsi quun deacutecodage qui ne supporte pas des messages infinis (block-oriented) Par conseacutequent des meacutethodes ont eacuteteacute ensuite proposeacutees afin de pallier agrave ces inconveacutenients tout en gardant le mecircme critegravere doptimisation Parmi ces meacutethodes on trouve les algorithmes Max-Log-MAP et Log-MAP qui

85

proposent des solutions reacuteduisant la complexiteacute de calcul [Robe95] [Vale98] [Vuce00]

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

Niveau deProfondeur np-2 np-1 np np+1

info Bitnp

Figure 5-6 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les algorithmes MAP et Log-MAP

532 Algorithme Max-Log-MAP

Lalgorithme MAP est indiscutablement la solution optimale pour lestimation des probabiliteacutes des eacutetats et des transitions de meacutemoire du codeur convolutif [Robe95] Cependant il souffre de seacutevegraveres inconveacutenients [Vale98]

bull Une repreacutesentation numeacuterique des probabiliteacutes qui doit couvrir une vaste dynamique de valeurs

bull Une utilisation intensive des ressources de stockage et de calcul Lalgorithme Max-Log-MAP propose de reacuteduire ces inconveacutenients Le problegraveme de la dynamique des nombres est reacutesolu en exeacutecutant les estimations des probabiliteacutes dans le domaine logarithmique [Robe95] [Vale98] [Vuce00] Les probabiliteacutes ( )t mα ( )t mβ ( )t m mγ et ( )i

t m mγ sont ainsi remplaceacutees par les probabiliteacutes eacutequivalentes ( )t mα ( )t mβ

( )t m mγ et ( )it m mγ dans le domaine logarithmique

86

( ) ( )( ) log i i

t tm m m mγ γ= (534)

( ) ( )( ) ( ) ( )1

log log tt m m m

t tm

m m eα γα α minus +

= = sum (535)

( ) ( )( ) ( ) ( )1 1

log log t tm m m

t tm

m m eβ γβ β + ++

= = sum (536)

La fiabiliteacute Λ peut ecirctre ainsi reformuleacutee

( )( ) ( ) ( )

( ) ( ) ( )

11

01

( )t

( )

info bit log

t tt

t tt

m m m m

m mm m m m

m m

e

e

α γ β

α γ β

minus

minus

+ +

+ +Λ =

sum

sum (537)

Ensuite si on considegravere lapproximation

1 1

12log maxn

ii ne e eδ δ δ δ

isin

+ + + asymp (538)

les expressions (535) et (536) peuvent ecirctre simplifieacutees dune maniegravere analogue ( ) ( ) ( ) 1

max t ttmm m m mα α γminusasymp + (539)

( ) ( ) ( ) 1 1max t t tm

m m m mβ β γ+ +asymp + (540) ce qui permet une reacuteduction de la charge de calcul [Robe95] [Vale98] [Vuce00] Leacutevaluation de la fiabiliteacute Λ (537) peut aussi ecirctre simplifieacutee

( ) ( ) ( ) ( )

( ) ( ) ( ) 1

t 1( )

01( )

info bit max

max

t ttm m

t ttm m

m m m m

m m m m

α γ β

α γ β

minus

minus

Λ asymp + +

minus + + (541)

Observation En analysant lexpression (541) on en constate que le nombre des chemins participant agrave la mesure de la fiabiliteacute est reacuteduit et que lalgorithme ressemble agrave celui de Viterbi

87

Pour lestimation de la fiabiliteacute de chaque bit lalgorithme Max-Log MAP utilise seulement deux chemins dont la seacutelection est analogue au principe du chemin survivant de lalgorithme de Viterbi Lun des deux chemins coiumlncide toujours avec le chemin globalement le plus prometteur ce qui deacutetermine le signe de lestimation Λ [Vuce00] (Figure 5-7) Par conseacutequent le message extrait par les signes des fiabiliteacutes Λ coiumlncide avec celui livreacute par lalgorithme de Viterbi

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition impliquantle info bit 0

transition impliquantle info bit 1

chemin consideacutereacutepar la meacutethode

noeud concerneacute par lemeilleur chemin global

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

Figure 5-7 vue densemble de la proceacutedure pour lestimation de la fiabiliteacute du deacutecodage du np-egraveme bit par lalgorithme Max-Log-MAP

533 Algorithme Log-MAP

La reacuteduction de la complexiteacute de calcul de lalgorithme Max-Log-MAP obtenue agrave laide de lutilisation des approximations est contre-balanceacutee par la deacutegradation de la qualiteacute de lestimation Λ Pour parer agrave ce problegraveme lalgorithme Log-MAP utilise la notion du Jacobian Algorithm de maniegravere agrave ameacuteliorer la qualiteacute des approximations Le Jacobian Algorithm comporte les relations suivantes

88

( )

( ) ( )

2 11 21 2

1 2 1 2

ln max ln 1

max fc

e e e δ δδ δ δ δ

δ δ δ δ

minus minus + = + +

= + minus (542)

et

( ) ( ) ( )1 2ln ln max f n nn c n

ee e e e e

δ

δ δ δ δδ δ δ δ δ = =

+ + + + + minus (543)

ougrave ( )f c est une fonction de correction [Robe95] [Vuce00] Observations Lutilisation de la fonction de correction fc() permet de conserver la qualiteacute de lestimation Λ de lalgorithme MAP au deacutetriment de la complexiteacute de calcul par rapport agrave lalgorithme Max-Log-MAP En choisissant une implantation partielle de cette fonction de correction agrave laide dune table de valeurs preacute-calculeacutees (8 values Pre-computed One-Directional Table [Robe95]) un compromis peut ecirctre atteint entre laugmentation de complexiteacute de calcul et la deacutegradation de la qualiteacute destimation par rapport agrave celle de lalgorithme original [Robe95]

534 Une curiositeacute le Soft Output Viterbi Algorithm (SOVA)

Le point fort des algorithmes deacuteriveacutes de lalgorithme MAP est la livraison de la fiabiliteacute Λ Toutefois ces meacutethodes souffrent dune charge de calcul tregraves importante par rapport agrave lalgorithme de Viterbi qui est reconnu comme meacutethode de deacutecodage convolutif de reacutefeacuterence En guise de solution le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute [Forn73] [Hage95] [Vale98][Vuce00] Le concept se base sur la modification de lalgorithme de Viterbi de maniegravere agrave produire une estimation de la fiabiliteacute Λ de chaque bit du message en utilisant le chemin le plus probable Bien quil existe plusieurs meacutethodes SOVA les estimations de la fiabiliteacute Λ suivent dans les grandes lignes le mecircme principe Toutes les meacutethodes destimation du np-egraveme bit se basent sur la relation existant entre les meacutetriques cumuleacutees

bull du chemin globalement le plus probable et bull du meilleur chemin qui sest eacutecarteacute au niveau de profondeur np

(Figure 5-8)

89

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

transition causeacutee par le info bit 0

transition causeacutee par le info bit 1

chemin consideacutereacutepar la meacutethode

Niveau deprofondeur np-2 np-1 np np+1

info Bitnp

noeud concerneacute par lemeilleur chemin global

Figure 5-8 chemins concerneacutes par la proceacutedure destimation de la fiabiliteacute du deacutecodage du np-egraveme bit par les meacutethodes Soft Output Viterbi Algorithm

En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la complexiteacute de calcul de lalgorithme de Viterbi En Annexe A (Section A3) on trouve la description de lalgorithme Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] Lavantage de cet algorithme est sa simpliciteacute de compreacutehension et dimplantation

54 Analyse critique des meacutethodes preacutesenteacutees

Du point de vue historique le premier critegravere de deacutecodage a ecirctre exploiteacute par les meacutethodes de deacutecodage convolutif est lestimation du message le plus probable (Table 5-1a) La premiegravere meacutethode (le deacutecodage seacutequentiel eacutelaboreacute principalement par Wozencraft Reiffen Fano et Jelinek [Joha99] [Proa95] [Schl97]) utilise ce critegravere en modeacutelisant les transitions deacutetats de la meacutemoire de lencodeur agrave

90

laide dun diagramme en arbre Populaire dans les systegravemes agrave basse vitesse de transmission [Schl97] cette meacutethode souffre de trois inconveacutenients majeurs lexeacutecution seacutequentielle de lalgorithme un temps variable de deacutecodage et la fonction de meacutetrique deacutependante de la longueur du chemin analyseacute (voir Sous-section 521 et Section A1)

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

Algorithme seacutequentiel (Wozencraft 1957)

sect 521 sect A1

X sous optimale

- - condition de transmission des signaux proceacutedure pour la deacutetection des chemins incorrects

premiegravere meacutethode proposeacutee

List Decoding sect 522 sect B2

X sous optimale

- - nombre L des eacutetats consideacutereacutes pour le deacutecodage

Algorithme de Viterbi (Viterbi 1967) sect 523

X optimale - - longueur de contrainte K du code

meacutethode utiliseacutee communeacutement pour le deacutecodage des codes convolutifs (ougrave Klt11)

Table 5-1a vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatives preacutesenteacutees dans ce chapitre

Ces inconveacutenients ont eacuteteacute eacutelimineacutes en changeant la nature de la recherche La recherche unidirectionnelle et synchroniseacutee du chemin le plus probable (Breadth-first) rend la complexiteacute de calcul indeacutependante des conditions de transmission du signal et fixe le temps de deacutecodage La structure algorithmique de ce type de recherche est fortement parallegravele Cette derniegravere caracteacuteristique est indispensable pour une implantation VLSI Dans la classe de meacutethodes utilisant ce type de recherche on trouve le List Decoding (Sous-section 522 et Section B2) et lalgorithme de Viterbi (Sous-section 523)

91

Critegravere de deacutecodage

Qualiteacute de Meacutethode

mes

sage

sym

bole

s Estimation du message

Estimation des symboles

Estimation de la fiabiliteacute

Principaux paramegravetres influenccedilant la complexiteacute de calcul

Notes

symbol-by-symbol MAP (Bahl 1974) sect 531 sect A2

X - optimale optimale longueur de contrainte K du code

Soft-Output Viterbi Algorithm (Hagenauer 1989) sect 534 sect A3

X optimale - sous optimale longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme de Viterbi

Max-Log-MAP (Koch 1990) sect 532

X - sous optimale sous optimale

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Log-MAP (Robertson 1995) sect 533

X - Deacutependante de limplantation

Deacutependante de limplantation

longueur de contrainte K du code

meacutethode baseacutee sur lalgorithme MAP

Table 5-1b (cont) vue densemble des caracteacuteristiques des meacutethodes les plus repreacutesentatifs preacutesenteacutees dans ce chapitre (Section 53)

Du point de vue historique le dernier algorithme de cette classe de meacutethodes estimant le message le plus probable est lalgorithme de Viterbi La nouveauteacute apporteacutee par cet algorithme est la possibiliteacute dexploiter tout le potentiel de correction drsquoerreurs agrave disposition sans devoir recourir agrave une analyse exhaustive de tous les possibles messages Malgreacute cette optimisation des ressources la complexiteacute de calcul croicirct toutefois exponentiellement en fonction de la longueur de contrainte K du code Pour cette raison la meacutethode est communeacutement utiliseacutee pour le deacutecodage de codes convolutifs dont la longueur de contrainte est limiteacutee (Kle10) [Proa95] Lautre critegravere de deacutecodage (historiquement plus reacutecent) se concentre sur le deacutecodage seacutepareacute de chaque symbole du message (Table 5-1b) Lalgorithme pionnier est lalgorithme symbol-by-symbol Maximum A Posteriori (MAP) qui est preacutesenteacute comme une solution alternative agrave lalgorithme de Viterbi [Vale98] Les avantages fournis par ce critegravere sont la

92

minimisation de la probabiliteacute derreur de chaque symbole et la livraison dune estimation de la fiabiliteacute du deacutecodage Cet algorithme souffre dinconveacutenients importants tels que la repreacutesentation numeacuterique des variables la demande de ressources de stockage et limportante charge de calcul (Sous-section 531 et Section A2) [Robe95] [Vale98][Vuce00] Pour reacuteduire ces inconveacutenients diffeacuterents algorithmes ont eacuteteacute proposeacutes ulteacuterieurement Les exemples les plus caracteacuteristiques sont les algorithmes Max-Log-MAP Algorithm (Sous-section 532) Log-MAP Algorithm (Sous-section 533) et Soft Output Viterbi Algorithm (Sous-section 534 et Section A3) [Robe95] Au niveau de lestimation de la fiabiliteacute Λ (Table 5-1) ces meacutethodes diffegraverent principalement dans lutilisation des ressources agrave disposition [Vuce00] (Figure 5-6 Figure 5-7 et Figure 5-8) Par rapport agrave la complexiteacute de calcul de ces meacutethodes on peut tout de suite constater que

bull La performance et la complexiteacute de calcul des meacutethodes de deacutecodage seacutequentiel et List Decoding sont influenceacutees par le choix des paramegravetres impliqueacutes dans limplantation

bull La complexiteacute de calcul des meacutethodes baseacutees sur lalgorithme de Viterbi et MAP deacutepend de la longueur de contrainte K du code convolutif utiliseacute

bull Bien quil en existe plusieurs versions la meacutethode la plus simple deacutevaluation de la fiabiliteacuteΛ appartient agrave la classe de meacutethodes SOVA Puisque la structure de lalgorithme est baseacutee normalement sur lalgorithme de Viterbi et sur une proceacutedure parallegravele pour lestimation de la fiabiliteacute on peut raisonnablement sattendre agrave ce que la complexiteacute soit infeacuterieure au double de la complexiteacute de lalgorithme de Viterbi [Vale98] [Vuce00]

bull La complexiteacute de calcul de la meacutethode Max-Log-MAP est approximativement estimeacutee au double de celle des meacutethodes SOVA [Robe95] [Vuce00]

bull La meacutethode Log-MAP est caracteacuteriseacutee par une complexiteacute de calcul estimeacutee entre 2 et 3 fois celle des meacutethodes SOVA [Vale98] [Vuce00]

55 Conclusions

Dans ce chapitre les principes et les algorithmes les plus repreacutesentatifs utilisables pour le deacutecodage de codes convolutifs ont eacuteteacute preacutesenteacutes

93

Les notions ainsi que les principes de deacutecodage discuteacutes repreacutesentent la base des eacutetudes qui seront preacutesenteacutees par la suite Le chapitre suivant traitera en effet le deacutecodage software dun message proteacutegeacute contenant des bits de pariteacute du CRC Ce sujet sera introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi Deux meacutethodes iteacuteratives seront ensuite proposeacutees La premiegravere meacutethode List Viterbi Algorithm exploite les proprieacuteteacutes de lalgorithme de Viterbi alors que la seconde List Decoding inteacutegrant la validation CRC incorpore lalgorithme List Decoding Le sujet du Chapitre 7 est limplantation ASIC dune meacutethode de deacutecodage de codes convolutifs Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base sera ainsi deacutecrit en deacutecomposant lalgorithme en ses eacuteleacutements constituants

Reacutefeacuterences

[Ande84] J B Anderson S Mohan Sequential Coding Algorithms A Survey and Cost Analysis IEEE Transactions on Communications Vol COM-32 No 2 feacutevrier 1984 pp 169-176

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Hell71] J A Heller I M Jacobs Viterbi Decoding for Satellite and Space Communication IEEE Transactions on Communication Technology Vol COM-19 octobre 1971 pp 835-847

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

94

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

95

6 Architectures software utilisant un processeur pour le traitement

numeacuterique du signal

Ce sixiegraveme chapitre traite de limplantation software de meacutethodes de deacutecodage de codes convolutifs dans le contexte de la troisiegraveme geacuteneacuteration (3G) des systegravemes de communication numeacuteriques cellulaires et sans fil Les codes convolutifs consideacutereacutes dans la suite sont conformes aux standards UMTS

Ce chapitre deacutebute avec lanalyse des potentialiteacutes offertes par la structure de protection des standards UMTS tout en consideacuterant une architecture comprenant un processeur speacutecialiseacute pour le traitement numeacuterique du signal Deux situations de codage sont ainsi envisageables agrave savoir le codage convolutif direct du message ou le codage convolutif dun message preacuteceacutedemment traiteacute par un codage en bloc CRC

Du point de vue du deacutecodage le cas le plus inteacuteressant est le second le deacutecodage dun message proteacutegeacute contenant en plus des bits de pariteacute CRC Ce sujet est introduit par leacutevaluation des performances dune implantation classique des opeacuterations de deacutecodage en utilisant lalgorithme de Viterbi et la validation des bits de pariteacute Deux meacutethodes iteacuteratives sont ensuite proposeacutees les meacutethodes List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) En sappuyant sur lalgorithme de Viterbi et sur la meacutethode List Decoding ces deux meacutethodes utilisent de maniegravere iteacuterative les informations suppleacutementaires fournies par le codage en bloc ce qui permet dameacuteliorer le rapport entre la qualiteacute de correction et la complexiteacute dexeacutecution

Les eacutevaluations de la complexiteacute de calcul et de la qualiteacute de codage utilisent la structure de protection du service de parole AMR-NB agrave 122 kbps proposeacutee dans le cadre du standard UMTS

96

61 Introduction

Le marcheacute de la teacuteleacutephonie mobile de la seconde geacuteneacuteration est actuellement caracteacuteriseacute par une importante utilisation de processeurs speacutecialiseacutes pour le traitement numeacuterique du signal (DSP) Cette preacutedominance est due agrave lexpeacuterience et agrave la maturiteacute acquise aujourdhui par cette technologie 2G [Gath02] Les arguments qui au deacutebut empecircchaient lutilisation des DSP ont eacuteteacute reacutefuteacutes suite agrave la maturation de la technologie 2G Les derniegraveres anneacutees ont ainsi montreacute une intensification de lutilisation des architectures exploitant les DSP avec le perfectionnement des standards 2G Bien quil ne soit pas possible de preacutedire la tendance qui sera suivie dans le cadre 3G les points forts qui ont valoriseacute lutilisation dune telle architecture peuvent ecirctre analyseacutes

611 Points forts des DSP

Lors du deacutebat pour le choix dune architecture optimale dans lexploitation des technologies 2G laspect de la faible consommation a favoriseacute le deacuteveloppement de teacuteleacutephones mobiles agrave laide de circuits ASIC (Application Specific Integrated Circuits) Linversion de la tendance a commenceacute avec la reconnaissance et la revalorisation des qualiteacutes des DSP [Gath02] telles que bull La vitesse deacutevolution des geacuteneacuterations des DSP En raison de la dynamique

importante du marcheacute des DSP leur deacuteveloppement beacuteneacuteficie dune eacutequipe de travail normalement plus nombreuse par rapport agrave celle chargeacutee du design dun ASIC

bull Avec leacutevolution des geacuteneacuterations de DSP extension des fonctionaliteacutes et de la vitesse dhorloge Leacutevolution des DSP porte non seulement sur laugmentation de vitesse dhorloge mais aussi sur lameacutelioration des performances et de la fonctionnaliteacute

bull La souplesse demploi Le DSP offre tous les avantages et potentialiteacutes dun dispositif programmable agrave large usage et agrave traitement multitacircche (Figure 6-1)

bull Reacuteduction des coucircts de deacuteveloppement des applications Le DSP est une solution agrave faible risque gracircce agrave la rapiditeacute des modifications et des corrections des implantations software

bull Possibiliteacutes de maintenance et de mise agrave jour des applications Lutilisation dun dispositif programmable eacutetend les possibiliteacutes de maintenance et de mise agrave jour des applications

97

Interface utilisateur Couche 2 (Layer 2) Couche 3 (Layer 3) Applications

Couche 1 (Layer 1)-codage de parole-eacutegalisation-entrelacement-codage de canal-chiffrage

Interface Timing

Micro-Controcircleur

DSP

Logique

RAM

ROM

Fonctions concernantla bande de base Hardware

Figure 6-1 reacutepartition classique des fonctions concernant la bande de base (Baseband) dans un teacuteleacutephone mobile GSM [Gath02]

612 Exemple du standard GSM

Leacutevolution du standard GSM (Global System for Mobile Communication) pour la 2G a eacuteteacute caracteacuteriseacutee par une inversion importante de tendance Leacutevolution de ce standard a eacuteteacute caracteacuteriseacutee par lintroduction de deux nouveaux codeurs de parole (le Half Rate et le Enhanced Full Rate [ETSI726]) ainsi que par des modifications de la partie responsable de la transmission sans fil des donneacutees Par conseacutequent chaque seacuterie et geacuteneacuteration de teacuteleacutephone mobile preacutesentaient systeacutematiquement de petites modifications et ameacuteliorations par rapport agrave la preacuteceacutedente Lorsquon considegravere le deacuteveloppement darchitectures baseacutees entiegraverement sur les ASIC ces modifications et ameacuteliorations ont impliqueacute lemploi dimportantes ressources et des coucircts suppleacutementaires consideacuterables Le besoin de souplesse a rendu de plus en plus attractive lexploitation des DSP De plus en consideacuterant que [Gath02] bull le teacuteleacutephone GSM a graduellement eacutelargi lassortiment des services offerts

(tendance preacutevue dans la 3G Figure 6-2)

98

bull la flexibiliteacute est une neacutecessiteacute particuliegraverement lorsque la dureacutee de vie du produit devient de plus en plus courte (lespeacuterance de vie dun teacuteleacutephone GSM sest graduellement reacuteduite de 25 agrave 1 anneacutee)

bull la puissance de calcul non-exploiteacutee du DSP est mise agrave disposition pour limplantation dautres services

il apparaicirct que la diffeacuterence de consommation en puissance eacutelectrique entre les DSP et les ASIC nest plus le facteur deacuteterminant pour le choix du type darchitecture

50

100

150

1996 1997 1998 1999 2000

Performance(MIPS)

Anneacutee

Applications

Layer 1

DSP

Figure 6-2 eacutevolution de lassortiment des services offerts par la technologie GSM [Gath02]

613 Situation actuelle

La souplesse demploi des dispositifs programmables ainsi que la tendance agrave la reacuteduction de la diffeacuterence de consommation entre les DSP et les ASIC rendent les DSP tregraves attractifs Ces derniers peuvent ainsi ecirctre chargeacutes de lexeacutecution des fonctions de la bande de base et des applications de la nouvelle geacuteneacuteration 3G Toutefois dans le cadre dun produit mobile alimenteacute par batterie la consommation reste toujours un facteur central Cette reacutealiteacute est perceptible dans la tendance et dans les efforts pour le deacuteveloppement de DSP agrave haute performance mais agrave consommation reacuteduite (Low-Power DSP) Les fabricants de DSP poursuivent la reacuteduction de la consommation deacutenergie en ameacuteliorant les proceacutedures de conception et de fabrication des DSP Leacutelargissement de lensemble des instructions le deacuteveloppement des peacuteripheacuteriques efficaces et la

99

mise agrave disposition de moyens de gestion des ressources permettent la reacuteduction ulteacuterieure de la consommation deacutenergie

62 Contexte de codage UMTS

Lobjectif des standards UMTS est la reacutealisation dune nouvelle geacuteneacuteration de technologies pour la communication mobile Cette nouvelle geacuteneacuteration vise agrave une communication indeacutependante des facteurs concernant la localisation des personnes le type deacutequipement utiliseacute les moyens de transmission (par cacircble ou sans-fil) et le choix de la technologie [Ts22101] Lune des nouveauteacutes apporteacutees par ces standards est la deacutefinition dun protocole de codage de canal unique pour toutes les applications actuelles et futures Pour reacutealiser cet objectif une seacuterie de codeurs sont mis agrave disposition offrant une protection optimale agrave un spectre plus large dapplications

621 Protection de canal des standards UMTS

La structure de codage du standard UMTS [Ts25212] permet une protection adapteacutee aux exigences propres aux applications (Chapitre 3) Cet objectif est poursuivi en permettant tout dabord la reacutepartition du message en plusieurs groupe de symboles selon leur sensibiliteacute aux erreurs Ensuite les standards UMTS permettent dappliquer agrave chaque groupe de symboles

1 un codage CRC suivi par un codage convolutif 2 un codage convolutif 3 un codage turbo 4 aucun codage

Cette thegravese eacutetant deacutedieacutee agrave leacutetude du deacutecodage des codes convolutifs la suite de leacutetude se concentrera sur les deux premiegraveres configurations de codage Par rapport agrave ces configurations les standards UMTS mettent agrave disposition deux codes convolutifs avec une longueur de contrainte K de 9 et de rendement Rc=13 et 12 (Table 6-1) En comparant ces codes avec ceux exploiteacutes par la 2G on peut remarquer une importante augmentation de la longueur K A titre dexemple le standard GSM propose un code convolutif avec K=5 pour les services de parole Full Rate et Enhanced Full Rate Pour le service Half Rate il est preacutevu un code avec une longueur supeacuterieure K=7 [ETSI726] Lobjectif poursuivi par laugmentation de la longueur de contrainte des codes UMTS est

100

lameacutelioration de la protection contre les erreurs de transmission en gardant le rendement Rc inchangeacute

Rendement du code

Longueur de contrainte

Polynocircmes [octal]

Distance libre

Rc=12 K=9 G0=561 G1=753 dfree =12 Rc=13 K=9 G0=557 G1=663 G2=711 dfree =18

Table 6-1 caracteacuteristiques principales des deux codeurs convolutifs proposeacutes par le standard UMTS

622 Configuration de travail du deacutecodeur

Lopeacuteration de deacutecodage convolutif est analyseacutee en utilisant des simulations qui prennent en compte la structure de codage UMTS (Figure 6-3) Les potentialiteacutes ainsi que les diverses configurations de protection sont eacutevalueacutees en utilisant la structure de codage preacutevue pour le service de parole AMR-NB agrave 122kbps (Section 33) Cette structure de protection preacutesente trois contextes de codage inteacuteressants un codage convolutif enchaicircneacute avec un codage CRC un codage convolutif avec Rc=13 et un autre caracteacuteriseacute par un rendement Rc=12 (Figure 3-3)

sourcede bruit

canal detransmission

sourcedinformations

formationcanaux de

transmission

message TrCHs codage decanal UMTS

trames radio

destinataire formation dumessage

message TrCHs deacutecodage decanal UMTS

trames radio

Figure 6-3 systegraveme de simulation du codage et deacutecodage de canal UMTS

Dans le but danalyser et de reproduire facilement les reacutesultats des eacutetudes la seacutequence de symboles reccedilue (trames radio Figure 6-3) est soumise agrave une deacutecision ferme et le deacutecodage livre le message deacutecodeacute sans informations suppleacutementaires sur lopeacuteration de deacutecodage (Bit True) Bien que les discussions et les reacutesultats soient concentreacutes sur cette configuration de travail il faut souligner que les principes preacutesenteacutes dans ce chapitre sont eacutegalement efficacement applicables dans des systegravemes utilisant

101

une deacutecision pondeacutereacutee La principale conseacutequence du passage dun type de deacutecision agrave lautre est la variation du niveau de la qualiteacute de deacutecodage

63 Critegraveres de seacutelection des solutions fonctionnelles

Un algorithme peut ecirctre consideacutereacute comme inteacuteressant sil offre un rapport optimal entre la qualiteacute et le temps dexeacutecution (complexiteacute de calcul) de la tacircche eacutetablie Pour plusieurs applications de la 3G la puissance de calcul mise agrave disposition pour une application en temps reacuteel est limiteacutee Par conseacutequent agrave intervalles de temps fixes chaque opeacuteration dispose dune certaine puissance maximale de calcul Une utilisation rationnelle de cette ressource permet ainsi soit la mise agrave disposition de la puissance restante pour dautres applications soit la reacuteduction de la consommation deacutenergie

631 Evaluation de la qualiteacute de protection

En fonction du contexte de codage leacutevaluation de la qualiteacute de correction derreurs peut ecirctre effectueacutee soit agrave laide du deacutebit des symboles erroneacutes du message (Bit Error Rate BER) soit agrave laide du deacutebit des messages erroneacutes Frame Error Rate (FER) Les deux mesures permettent une eacutevaluation objective de la qualiteacute de protection par rapport aux erreurs de transmission Si pendant les simulations les deux mesures sont reacutealisables en comparant les messages agrave proteacuteger avec les messages fournis par lopeacuteration de deacutecodage (Figure 6-3) dans une application en temps reacuteel seul le FER peut ecirctre deacutetermineacute par la validation du code CRC20 attacheacute au message Toutefois il est envisageable dutiliser la relation non-lineacuteaire existant entre ces deux mesures (Figure 6-4) afin dobtenir une estimation du BER agrave partir de la valeur du FER fournie par le codage en bloc Le rapport existant entre ces deux mesures est principalement fonction des distances de Hamming entre les messages codeacutes de la meacutethode de deacutecodage et des caracteacuteristiques du bruit affectant la transmission Le nombre important de paramegravetres rend ainsi difficile leacutetablissement dun modegravele simple et efficace de distribution des erreurs dans le message deacutecodeacute (Figure 6-5)

20 Etant donneacute une capaciteacute de deacutetection derreurs suffisante soit pour empecirccher les

fausses validations soit pour les reacuteduire agrave un nombre insignifiant

102

Figure 6-4 le rapport entre le FER et le BER obtenu par simulations en appliquant une deacutecision ferme (graphe rouge en trait gras) et une deacutecision souple ideacuteale (sans quantification graphe bleu en trait fin) Simulations baseacutees sur 500000 trames du codeur de parole AMR-NB agrave 122kbps algorithme de Viterbi

632 Evaluation de la complexiteacute de calcul

Si leacutevaluation objective de la qualiteacute de protection ne pose pas de gros problegravemes celle du temps neacutecessaire au DSP pour terminer lopeacuteration de deacutecodage est plus compliqueacutee De maniegravere geacuteneacuterale le temps dexeacutecution deacutepend du nombre (et des types) dopeacuterations de la tacircche de lefficaciteacute du code binaire geacuteneacutereacute21 ainsi que de la vitesse dexeacutecution du jeu dopeacuterations impliqueacute De ces trois facteurs seul le premier caracteacuterise la tacircche agrave accomplir alors que les deux autres sont des attributs du processeur choisi Une eacutevaluation objective de la complexiteacute de calcul doit toutefois consideacuterer les potentialiteacutes dexeacutecution speacuteciales qui caracteacuterisent les processeurs optimiseacutes pour le traitement numeacuterique du signal Par conseacutequent les meacutethodes de deacutecodage seront jugeacutees selon leur charge de calcul (nombre et type dopeacuterations) en

21 Lefficaciteacute est fonction du degreacute dexploitation des ressources de calcul (classiques et

speacuteciales) du DSP

103

consideacuterant les potentialiteacutes dexeacutecution qui sont les caracteacuteristiques geacuteneacuterales de cette grande famille de processeurs

Figure 6-5 statistique des erreurs de transmission dans les trames reccedilues Simulations baseacutees sur 2 millions de trames du codeur de parole AMR-NB agrave 122kbps classe A avec CRC de 12 bits SNR de 40 dB algorithme de Viterbi Remarque le nombre de trames qui ne sont pas affecteacutees par erreurs seacutelegraveve agrave 1962952

Influence du niveau de langage utiliseacute pour la description des opeacuterations Il existe deux principaux niveaux de langage pour la description des tacircches agrave exeacutecuter le langage agrave haut niveau et le langage assembleur propre au DSP (Figure 6-6) Lutilisation dun langage agrave haut niveau reacuteduit le temps de deacuteveloppement Ce langage offre en plus une bonne portabiliteacute de la description des tacircches description qui peut ecirctre rapidement adapteacutee aux autres plates-formes dexeacutecution Loptimisation du code binaire est ainsi agrave la charge de la chaicircne de compilation les ressources et les speacutecialiteacutes architecturales des DSP sont rarement exploiteacutees de maniegravere exhaustive Lutilisation des fonctions

104

intrinsegraveques (intrinsics)22 permet de parer agrave cet inconveacutenient reacuteduisant par contre la portabiliteacute de la description Le langage assembleur permet lexploitation optimale de toutes les caracteacuteristiques structures et outils mis agrave disposition par le DSP Lexeacutecution de la tacircche peut ainsi beacuteneacuteficier dune charge de calcul optimiseacutee Malheureusement la portabiliteacute dun tel code se limite normalement agrave une seule familletype de DSP en plus dun temps de deacuteveloppement supeacuterieur requis par rapport agrave celui dune description par langage agrave haut niveau

Compilateur de haut niveau

CompilateurC-ANSI

C++

Evaluation desconstantesintrinsegraveques

CompilateurAssembleur

Code binaire

vite

sse

de d

evel

oppe

men

t

degr

eacutee d

e fin

esse

de

lopt

imis

atio

n

Description parlangage agrave haut niveau

Code assembleur

impo

rtan

ce d

u ni

veau

de

port

abili

teacute

+

-

+

- +

-

Figure 6-6 chaicircne de compilation pour la geacuteneacuteration dun code binaire exeacutecutable sur un DSP soit agrave partir dune description utilisant un langage de niveau supeacuterieur soit de lassembleur

Etant donneacute que cette eacutetude ne se concentre pas sur une seule famille de DSP les meacutethodes de deacutecodage sont deacutecrites en utilisant le langage ANSI-C en

22 Les fonctions intrinsegraveques sont des fonctions deacutecrites en code assembleur mais qui sont

appeleacutees comme les fonctions deacutecrites en langage CC++

105

virgule fixe afin de beacuteneacuteficier de la rapiditeacute dexeacutecution et de la portabiliteacute du langage agrave haut niveau Strateacutegie deacutevaluation adopteacutee Les caracteacuteristiques structurelles des DSP sont pris en compte en eacutetendant le langage de programmation avec un ensemble de nouvelles fonctions deacutedieacutees Lideacutee est de repreacutesenter (et de compter) toutes les opeacuterations caracteacuteristiques agrave la plupart des DSP indeacutependamment de leur mode daccegraves soit par code assembleur soit par fonctions intrinsegraveques

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur de poids (ITUETSI)

add Addition 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

sub Soustraction 16 bits avec controcircle de deacutepassement et saturation

1616 16 1

abs_s Valeur absolue (16 bits) 16 16 1shl Deacutecalage arithmeacutetique avec saturation

(gauche) 1616 16 1

shr Deacutecalage arithmeacutetique avec saturation (droite)

1616 16 1

mult Multiplication 16 bits x 16 bits avec mise agrave leacutechelle

1616 16 1

L_mult Multiplication 16 bits x 16 bits avec un deacutecalage agrave gauche

1616 32 1

negate Neacutegation 16 bits 16 16 1extract_h Extraction de 16 MSB 32 16 1extract_l Extraction de 16 LSB 32 16 1round Arrondi des 16 LSB avec saturation

extraction des 16 MSB 32 16 1

L_mac Mac L_mult avec L_add 321616 32 1L_msu Msu L_mult avec L_add 321616 32 1L_macNs Mac sans saturation 321616 32 1L_msuNs Msu sans saturation 321616 32 1

Table 6-2a les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Le point de deacutepart est lextension du code C par les Basic Operations deacutefinis par les organisations ITU et ETSI (Table 6-2a et Table 6-2b) dans le contexte du deacuteveloppement des codeurs de parole Son objectif est loptimisation des

106

implantations toujours en gardant la rapiditeacute lefficaciteacute et la portabiliteacute de la description

Taille des variables [bits] signeacutees

Nom de lopeacuteration

Opeacuteration

Entreacute Sortie

Facteur depoids (ITUETSI)

L_add Addition 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_sub Soustraction 32 bits avec controcircle de deacutepassement et saturation

3232 32 2

L_add_c Addition 32 bits avec carry et sans saturation

3232 32 2

L_sub_c Soustraction 32 bits avec carry et sans saturation

3232 32 2

L_negate Neacutegation 32 bits 32 32 2mult_r Multiplication avec arrondi 1616 16 2L_shl Deacutecalage arithmeacutetique avec saturation

(gauche) 3216 32 2

L_shr Deacutecalage arithmeacutetique avec saturation (droite)

3216 32 2

shr_r Deacutecalage arithmeacutetique avec arrondi (droite)

1616 16 2

mac_r Mac avec arrondi 321616 16 2msu_r Msu avec arrondi 321616 16 2L_deposit_h La valeur agrave lentreacutee forme les 16 MSB

de la valeur agrave la sortie 16 32 2

L_deposit_l La valeur agrave lentreacutee forme les 16 LSB de la valeur agrave la sortie

16 32 2

L_shr_r Deacutecalage arithmeacutetique avec arrondi (agrave droite)

3216 32 3

L_abs Valeur absolue (32 bits) 32 32 3L_sat Saturation (32 bits) 32 32 4norm_s Calcul du nombre de deacutecalage (agrave

gauche) neacutecessaire agrave la normalisation 16 16 15

div_s Division 16 bits 1616 16 18norm_l Calcul du nombre de deacutecalage (gauche)

neacutecessaire agrave la normalisation 32 16 30

Table 6-2b (cont) les Basic Operations deacutefinis par les organisations ITU et ETSI [ITU729]

Cette extension permet leacutevaluation de la complexiteacute de calcul dune implantation sur DSP en surveillant le nombre dexeacutecutions des fonctions classiques et eacutetendues (Table 6-2 et Table 6-3) Etant donneacute une gamme de fonctions couvrant de maniegravere efficace les exigences dune implantation

107

sur DSP loccurrence de ces fonctions est en effet un bon indicateur de la charge de calcul de lapplication La complexiteacute de calcul peut ecirctre ainsi estimeacutee en liant agrave chaque type dopeacuteration une valeur (facteur de poids) indiquant la difficulteacute de son exeacutecution par le DSP consideacutereacute Plus ces valeurs se rapprochent des caracteacuteristiques dexeacutecution du jeu dinstructions du DSP plus leacutevaluation de la complexiteacute devient preacutecise Dans le cas des Basic Operations les facteurs de poids eacutetablis par lITUETSI repreacutesentent les performances ideacuteales dun DSP geacuteneacuterique agrave virgule fixe posseacutedant une structure agrave 16 bits (Table 6-2 et Table 6-3) Nom de lopeacuteration

Opeacuteration Bits Facteur de poids (ITUETSI)

move16 Deacuteplacement de donneacutees 16 1move32 Deacuteplacement de donneacutees 32 2logic16 Opeacuteration logique (non-signeacutee) 16 1logic32 Opeacuteration logique (non-signeacutee) 32 2test Controcircle 2

Table 6-3 liste eacutetablie par lITUETSI des compteurs doccurrence des opeacuterations classiques

Dans cette eacutetude la gamme des fonctions surveilleacutees doit ecirctre adapteacutee au contexte du codage de canal contexte qui privileacutegie les opeacuterateurs logiques et les opeacuterations geacuteneacuteriques agissant sur variables non-signeacutees La gamme de fonctions de lITUETSI (Table 6-2 et Table 6-3) a eacuteteacute ainsi eacutelargie en ajoutant des compteurs doccurrence suppleacutementaires la Table 6-4 montre la liste complegravete des compteurs doccurrence utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage Dans la suite de ce chapitre les estimations de la complexiteacute de calcul indiqueront seulement loccurrence des fonctions surveilleacutees Ces choix permettent une eacutevaluation algorithmique des meacutethodes indeacutependante des caracteacuteristiques des familles DSP A laide des valeurs de poids cette strateacutegie offre toujours la possibiliteacute dune analyse agrave posteriori adapteacutee agrave chaque type de processeur

633 Consideacuterations sur limplantation software

Les diverses meacutethodes analyseacutees sont deacutecrites en utilisant le langage ANSI-C en virgule fixe La description des meacutethodes a obeacutei agrave deux des points forts des implantations software la rapiditeacute de deacuteveloppement et la description parameacutetrable Cette approche ne compromet pas lexactitude des

108

comparaisons entre les meacutethodes ni du point de vue de la qualiteacute de protection ni de celui de la complexiteacute de calcul Bien que la charge de calcul augmente en raison dune description de la meacutethode souple et parameacutetrable lapplication de la mecircme approche agrave toutes les descriptions permet une comparaison correcte entre les meacutethodes Limportance de la perte defficaciteacute causeacutee par lapproche souple et par la qualiteacute de la description [BDTi5] sera ensuite eacutevalueacutee (Chapitre 8)

Nom de lopeacuteration

Opeacuteration Bits

move8 Deacuteplacement de donneacutees 8move16 Deacuteplacement de donneacutees 16move32 Deacuteplacement de donneacutees 32logic8 Opeacuteration logique (non-signeacutee) 8logic16 Opeacuteration logique (non-signeacutee) 16logic32 Opeacuteration logique (non-signeacutee) 32test Controcircle shiftl8 Deacutecalage agrave gauche (non-signeacutee) 8shiftr8 Deacutecalage agrave droite (non-signeacutee) 8shiftl16 Deacutecalage agrave gauche (non-signeacutee) 16shiftr16 Deacutecalage agrave droite (non-signeacutee) 16shiftl32 Deacutecalage agrave gauche (non-signeacutee) 32shiftr32 Deacutecalage agrave droite (non-signeacutee) 32incr8 Increacutementation 8incr16 Increacutementation 16incr32 Increacutementation 32division8 Division 8division16 Division 16division32 Division 32pointerAssign Assignation dun pointeur pointerOp Arithmeacutetique concernant un pointeur testLOOP Controcircle concernant la gestion dune boucle incr8LOOP Increacutementation concernant la gestion dune boucle 8incr16LOOP Increacutementation concernant la gestion dune boucle 16incr32LOOP Increacutementation concernant la gestion dune boucle 32move8LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 8move16LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 16move32LOOP Deacuteplacement de donneacutees concernant la gestion dune boucle 32

Table 6-4 liste complegravete des compteurs doccurrence des opeacuterations qui sont utiliseacutes pour leacutevaluation de la complexiteacute de calcul des meacutethodes de deacutecodage convolutif Le fond gris met en eacutevidence les compteurs deacutefinis par les organisations ITU et ETSI

109

Bien quune description par langage agrave haut niveau permette de se distancer des caracteacuteristiques fines des DSP le choix de la taille des variables (16 bits ou 32 bits) a une influence sur le temps de traitement La vitesse dexeacutecution peut varier en fonction de larchitecture interne du DSP (voir Annexe B Section B3) Par rapport aux implantations de meacutethodes de deacutecodage convolutif la repreacutesentation numeacuterique (Range) des variables agrave 16 bits est suffisante pour tout lensemble des opeacuterations Le choix des tailles peut seffectuer en consideacuterant larchitecture interne du DSP

64 Approche classique lalgorithme de Viterbi

Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute de la communication mobile la meacutethode de deacutecodage la plus reacutepandue dans la 2G est tout dabord implanteacutee lalgorithme de Viterbi Lemploi de cet algorithme est preacutedominant pour le deacutecodage des codes convolutifs dont la longueur de contrainte est reacuteduite (kle10) [Proa95]

641 Fonction de meacutetrique

Limplantation de lalgorithme de Viterbi implique la deacutefinition de la fonction de meacutetrique ainsi que de la strateacutegie de deacutecodage du message (Traceback) La tacircche de cette fonction de meacutetrique est la mesure de laffiniteacute entre le message sous analyse et les symboles reccedilus Son implantation doit consideacuterer les trois aspects suivants bull la repreacutesentation numeacuterique des symboles reccedilus bull le risque de deacutepassement de la valeur maximale repreacutesentable par les

variables utiliseacutees (Overflow) bull linitialisation des valeurs de meacutetriques cumuleacutees selon les conditions de

deacutepart de lopeacuteration de codage La repreacutesentation numeacuterique des symboles reccedilus influence limplantation de la fonction de meacutetrique et deacutetermine la qualiteacute de protection de la meacutethode de deacutecodage Une deacutecision souple livre au deacutecodeur une quantiteacute supeacuterieure dinformations ce qui permet une ameacutelioration remarquable de la qualiteacute de protection (Figure 6-7 et Figure 6-8) Le gain de codage (Coding Gain) offerte par lapplication dune deacutecision souple ideacuteale23 peut atteindre 2dB

23 Cest-agrave-dire une deacutecision souple beacuteneacuteficiant dun nombre infini de niveaux de

quantification

110

[Proa95] Comme deacutejagrave indiqueacute cette eacutetude considegravere la situation de deacutecodage dans le contexte dune deacutecision ferme Repreacutesentation numeacuterique des meacutetriques Cette fonction se base sur le concept de meacutetrique cumuleacutee et de meacutetrique de branche (56) Dans le contexte dune deacutecision ferme les repreacutesentations numeacuteriques de ces meacutetriques utilisent la mecircme uniteacute de base qui est la distance de Hamming

Figure 6-7 BER obtenus en fonction dune deacutecision ferme pondeacutereacutee avec 4 8 16 et 32 niveaux et dune deacutecision pondeacutereacutee ideacuteale (sans quantification repreacutesentation en virgule flottante) Les symboles sont moduleacutes par amplitude de maniegravere antipodale (+1-1 PAM) les niveaux de quantification sont reacutepartis de maniegravere uniforme entre leacutechelle [-15middotσ2-1hellip15middotσ2+1] en fonction de la valeur de la variance σ2 du bruit gaussien (Figure 4-9) Simulations service AMR-NB agrave 122 kbps 2 millions de trames classe A avec 12 bits de pariteacute CRC

La repreacutesentation numeacuterique en virgule fixe (Fixed Point Arithmetic) peut causer des effets de deacutepassement des capaciteacutes des variables (Overflow) Lexeacutecution de lalgorithme de Viterbi exige que la repreacutesentation des meacutetriques cumuleacutees reproduise correctement les deacutecalages entre toutes les meacutetriques cumuleacutees (appartenant au mecircme niveau de profondeur) le deacutepassement des capaciteacutes repreacutesentables ne garantit eacutevidemment plus le deacuteroulement correct de lalgorithme Par conseacutequent limplantation de la

111

fonction de meacutetrique doit empecirccher le deacutepassement soit par lutilisation de variables suffisamment grandes soit par lintroduction de proceacutedures de normalisation des valeurs de meacutetriques cumuleacutees Le standard de codage UMTS [Ts25212] limite le nombre de bits contenus dans le message agrave coder agrave 505 bits lutilisation de variables agrave 16 bits assure ainsi la repreacutesentation correcte de toutes les meacutetriques cumuleacutees sans effets de deacutepassement des capaciteacutes des variables24

Figure 6-8 FER obtenus selon le type de deacutecision appliqueacute Les paramegravetres de simulation sont les mecircmes que ceux de la simulation preacuteceacutedente (Figure 6-7)

Initialisations des valeurs de meacutetrique Un dernier aspect de limplantation de la fonction de meacutetrique est linitialisation des variables repreacutesentant les meacutetriques cumuleacutees selon les conditions de deacutepart de lopeacuteration de codage convolutif Le standard UMTS [Ts25212] eacutetablit une remise agrave zeacutero de la meacutemoire du codeur convolutif avant la proceacutedure de codage Pratiquement cette opeacuteration deacutetermine leacutetat de deacutepart de la meacutemoire du codeur La proceacutedure de deacutecodage peut ainsi utiliser cette information ameacuteliorant ainsi la qualiteacute de protection des premiers bits du message (Figure 6-9) 24 Luniteacute de la repreacutesentation des meacutetriques cumuleacutees est la distance de Hamming

(deacutecision ferme)

112

Il existe deux principes dinitialisation de la proceacutedure de deacutecodage

1 Lexeacutecution de lalgorithme de Viterbi agrave partir de leacutetat de deacutepart deacutefini par le contexte de codage Une proceacutedure de controcircle des chemins est ainsi neacutecessaire dans les phases initiales de lalgorithme La valeur de meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero

2 Une initialisation diversifieacutee des valeurs de meacutetrique dans le but de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats La strateacutegie envisageacutee est de provoquer leacutelimination naturelle de ces chemins incorrects pendant les phases initiales de lalgorithme de Viterbi

Figure 6-9 exemple de distribution des erreurs de deacutecodage dans un message Le graphe rouge en trait gras indique la protection offerte par une initialisation par remise agrave zeacutero de toutes les meacutetriques cumuleacutees La qualiteacute procureacutee par une initialisation exploitant une proceacutedure de controcircle est repreacutesenteacutee en graphe bleu en trait fin Laugmentation de la qualiteacute de protection des derniers bits du message est due agrave lutilisation de bits de terminaison (Tail Bits) Contexte codage convolutif avec remise agrave zeacutero de la meacutemoire du codeur convolutif 200000 messages messages de 500 bits 8 bits de terminaison code convolutif avec Rc=13 du standard UMTS EbN0 de 0 agrave 4 dB

Le premier principe initialise agrave zeacutero la meacutetrique cumuleacutee de leacutetat de deacutepart Ensuite lalgorithme deacutemarre en ne consideacuterant que les chemins deacutemarrant depuis cet eacutetat Lexploitation optimale des informations des conditions de

113

deacutepart est toutefois contre-balanceacutee par lintroduction dune proceacutedure de controcircle du deacuteroulement de lalgorithme Bien que dans la phase initiale cette proceacutedure permette une gestion optimale des ressources ces opeacuterations de controcircle suppleacutementaires causent laugmentation de la complexiteacute totale du deacutecodage Limportance de laugmentation deacutepend de la souplesse de la description et du style de programmation Les implantations software de lalgorithme de Viterbi qui apparaissent dans la suite de leacutetude adoptent ce concept Le second principe preacutevoit linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees de maniegravere agrave garantir le deacuteroulement correct de lalgorithme sans lintroduction de proceacutedures suppleacutementaires de controcircle Ce principe se base sur une initialisation deacutefavorisant les chemins qui ne deacutemarrent pas de leacutetat de deacutepart eacutetabli (Figure 6-10) En raison de linitialisation de la meacutemoire du codeur avant le codage ces chemins sont en effet inexistants

eacutetat de deacutepartdeacutetermineacute parlinitialisation de lameacutemoire du codeur

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins possibles chemins inexistants agrave causede linitialisation de lameacutemoire du codeur convolutif

niveau deprofondeur np=0 np=1 np=2 np=3

Figure 6-10 eacutetats des chemins dans la phase initiale selon linitialisation de la meacutemoire de lencodeur convolutif (longueur de contrainte de 3)

Selon ce principe linitialisation diffeacuterencieacutee doit prendre en compte

bull la contribution maximale apporteacutee par la meacutetrique de branche (MaxContribBranche)

bull la valeur maximale repreacutesentable par les variables des meacutetriques cumuleacutees (ValMaxMetrique)

114

bull la taille de la meacutemoire du codeur (K ndash1) cette valeur identifie le niveau de profondeur agrave partir duquel tous les eacutetats de meacutemoire sont atteints par des chemins possibles (Figure 6-10)

Ainsi une valeur comprise entre

( 1)K MaxContribBrancheminus sdot

et ( 1)ValMaxMetrique K MaxContribBranche minus minus sdot

peut ecirctre utiliseacutee pour linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Cette initialisation permet le deacuteroulement correct de lalgorithme assurant la qualiteacute de protection offerte par linitialisation de la meacutemoire du codeur (Figure 6-9)

642 Meacutecanisme de deacutecodage du meilleur chemin

Selon lrsquoalgorithme proposeacute par Viterbi la reconstruction du message commence apregraves lidentification du chemin (complet) le plus probable Cette strateacutegie devient peu fonctionnelle si on considegravere bull son incompatibiliteacute dans des contextes de codage continu bull limportant retard algorithmique de la proceacutedure de deacutecodage en raison de

lattente de la reacuteception de tous les symboles avant son exeacutecution bull les nombreuses ressources impliqueacutees pour le stockage des informations

qui sont neacutecessaires agrave la reconstruction des chemins Une solution agrave ces inconveacutenients est une prise de deacutecision anticipeacutee de la valeur du np-egraveme bit du message en utilisant le meilleur chemin partiel agrave la profondeur np+δ (Figure 6-11) Cette approximation de lalgorithme25 anticipe ainsi le deacutebut de la reconstruction du message en exeacutecutant de maniegravere iteacuterative la prise de deacutecision sur unplusieurs bits dinformations pas encore deacutecodeacutes

25 La deacutecision de la valeur du np-egraveme bit est prise en nanalysant que la seacutequence

incomplegravete des observations 0npR δ+

115

Info Bitnp

Niveau deprofondeur np-1 np np+

np+1 δnp+ -1δ

chemin qui a suivi le chemin correctentre la profondeur np-1 et npson deacutecodage assigne une valeurcorrecte au bitnp

chemin qui sest eacuteloigneacute du chemincorrect entre la profondeur np-1 et npson deacutecodage assigne une valeurincorrecte au bitnp

actuel meilleurchemin

Figure 6-11 principe agrave la base du deacutecodage avec troncation des chemins

Cette approche reacutealise en pratique une troncation de la meacutemoire du deacutecodeur ce qui permet deacutetablir a priori les exigences de stockage dinformation indeacutependamment du nombre effectif de bits constituants le message On est ainsi confronteacute agrave une reacutepeacutetition systeacutematique de la proceacutedure de deacutecodage reacutepeacutetition qui augmente la charge de calcul de lalgorithme (Table 6-6) Puisquil sagit dune approximation de lalgorithme on doit en plus sattendre agrave une deacutegradation de la qualiteacute de protection dont limportance est fonction du paramegravetre δ Lassignation dune valeur agrave la distance δ est ainsi un compromis entre la deacutegradation de la qualiteacute de deacutecodage et lutilisation minimale des ressources de stockage Distance minimale δmin La relation entre la distance δ et la deacutegradation de la qualiteacute de protection deacutepend des caracteacuteristiques du codeur convolutif ainsi que du nombre derreurs de transmission Pour deacutecrire leacutevolution de la meacutetrique cumuleacutee dun chemin incorrect le concept de croissance minimale de la meacutetrique (Minimum Distance Growth) a eacuteteacute introduit par Anderson [Ande89] Ce terme (qui sera repreacutesenteacute par labreacuteviation MinMetrCroissance dans les formules) indique laugmentation minimale de la meacutetrique cumuleacutee dun chemin incorrect normaliseacutee par le nombre de symboles analyseacutes Gracircce agrave ce concept la contribution minimale de meacutetrique de branche agrave la meacutetrique cumuleacutee dun chemin incorrect est de

116

n MinMetrCroissancesdot (61) (eacutetant donneacute labsence dopeacuterations dadaptation du deacutebit de transmission26) Ainsi afin de garantir la correction (minimale) de

min

12

freede

minus= (62)

erreurs la distance minimale δmin ne doit pas ecirctre infeacuterieure agrave27

min e

n MinMetrCroissance sdot

(63)

Cette distance assure quapregraves δmin branches tous les chemins qui provoquent une prise de deacutecision incorrecte montrent des meacutetriques cumuleacutees deacutefavorables28 (Figure 6-11) Le chemin le plus probable au niveau de profondeur np+δ coiumlncidera ainsi avec la premiegravere partie soit du chemin correct soit dun chemin qui ne sest eacuteloigneacute quapregraves le niveau de profondeur np (Figure 6-11) De faccedilon geacuteneacuterale on peut deacuteterminer la distance δ minimale en fonction du nombre derreurs qui perturbent les derniegraveres δ observations (δ middotn symboles) de sorte que la deacutegradation de la qualiteacute de protection soit rendue neacutegligeable

+ nombre derreursnp npn MinMetrCroissance

δδ rarrgtsdot

(64)

Similairement agrave la distance libre dfree (Table 6-1) la valeur de la croissance minimale de la meacutetrique peut fournir des indications sur la qualiteacute de protection du code convolutif exploiteacute (Table 6-5) Cette valeur fixe en effet la limite supeacuterieure du nombre derreurs de transmission qui peuvent ecirctre (potentiellement) supporteacutees par le codage convolutif

26 Le standard UMTS [Ts25212] preacutevoit la possibiliteacute dune adaptation du deacutebit de

transmission (voir chapitres preacuteceacutedents) Dans le cas dune utilisation le paramegravetre n doit ecirctre adapteacute au deacutebit de poinccedilonnage

27 Par rapport agrave une repreacutesentation des meacutetriques baseacutee sur la seule distance de Hamming 28 En consideacuterant un nombre derreurs infeacuterieur agrave emin

117

Rendement du code

Croissance minimale (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Croissance moyenne (normaliseacutee) de la meacutetrique dun chemin incorrect [distance de Hammingsymboles]

Random Tree Codes [Ande89] Rc=12 0110 - Rc=13 0174 -

Simulations des codes UMTS Rc=12 29 0154 0341 Rc=13 30 0207 0408

Table 6-5 valeurs de reacutefeacuterence concernant la croissance minimale et moyenne de la meacutetrique dun chemin incorrect Par rapport aux codes UMTS lapproche pratique utiliseacutee se base sur lalgorithme pour la deacutetermination de la distance libre dfree publieacute dans [Cede89]

Deacutetermination de la distance δ par simulations La deacutetermination de la distance δ par lineacutequation (64) nest pas aiseacutee en raison des paramegravetres impliqueacutes Une regravegle a ainsi eacuteteacute deacutetermineacutee empiriquement en se basant sur lexpeacuterience et les reacutesultats de nombreuses simulations effectueacutees (exemple Figure 6-12) Cette regravegle fixe la gamme de valeurs de distance δ entre 4 et 6 fois la longueur de contrainte K du code [Joha99] [Proa95] [Thit93] Sauvegarde des informations pour la reconstruction des chemins Le dernier aspect du meacutecanisme de deacutecodage est la deacutefinition du systegraveme de sauvegarde des informations qui sont indispensables pour la reconstruction des chemins Lalgorithme de Viterbi se base sur la reconstruction iteacuterative des eacutetats preacuteceacutedents de la meacutemoire du codeur (deacutecodage du chemin le plus probable) jusquagrave pouvoir extraire la valeur dun (ou de plusieurs) bit du message 29 Par rapport au calcul de la croissance moyenne la simulation a consideacutereacute tous les

chemins incorrects qui possegravedent une distance de Hamming infeacuterieureeacutegale agrave wi=32 (361849305 chemins analyseacutes) Un controcircle systeacutematique de tous les chemins partiels rencontreacutes a permis la deacutetermination empirique de la valeur minimale de croissance

30 Le calcul de la croissance moyenne a analyseacute 338890207 chemins posseacutedant une distance de Hamming infeacuterieureeacutegale agrave wi=53 Comme pour le cas preacuteceacutedent la deacutetermination de la valeur minimale a beacuteneacuteficieacute dun controcircle systeacutematique de tous les chemins partiels rencontreacutes lors du calcul de la valeur moyenne

118

Figure 6-12 reacutesultats des simulations ayant pour objectif la deacutetermination de la valeur optimale de la distance δ Paramegravetres des simulations message de 1000 bits 8 bits de terminaison 1 million de messages code convolutif avec Rc=13 du standard UMTS distances δ multiples de la longueur de contrainte K du code

Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement le bit qui est perdu lors de la transition de la meacutemoire du codeur convolutif (Figure 6-13) Par contre le systegraveme le plus rapide et donc le moins complexe sauvegarde directement la valeur de leacutetat preacuteceacutedent du chemin survivant Afin de reacuteduire la complexiteacute de calcul cette derniegravere strateacutegie a eacuteteacute adopteacutee pour limplantation software de lalgorithme de Viterbi

nouveau bit agrave lentreacuteedu codeur bitt

dernier bit agrave lentreacuteedu codeur bitt-1

avant-dernier bit agravelentreacutee du codeur bitt-2

bitt-(k-1)

bitt-(k-2)bitt-1

Profondeur t-1 Profondeur t

Figure 6-13 comportement de la meacutemoire du code convolutif lors dune transition

119

Bits de terminaison Le standard UMTS [Ts25212] preacutevoit lutilisation de bits de terminaison (Sous-section 232) afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message agrave transmettre Similairement aux strateacutegies dinitialisation de la proceacutedure de deacutecodage la phase finale de lopeacuteration de deacutecodage peut beacuteneacuteficier de ces informations

1 Soit en ne traitant pas les chemins qui sont exclus par le codage de ces bits de terminaison Dans les phases finales les valeurs (figeacutees) de ces bits limitent les eacutetats possibles de la meacutemoire du codeur

2 Soit en traitant tous les chemins mais en modifiant la proceacutedure de seacutelection du chemin (partialfinal) le plus probable Dans ce cas une proceacutedure de controcircle suppleacutementaire est introduite dans lopeacuteration de seacutelection

Les implantations de lalgorithme de Viterbi de cette eacutetude adoptent la premiegravere strateacutegie cest-agrave-dire le controcircle du deacuteroulement de lalgorithme lors de la reacuteception des symboles geacuteneacutereacutes par le codage des bits de terminaison

643 Performances de lalgorithme de Viterbi

La qualiteacute de protection de lalgorithme de Viterbi a deacutejagrave eacuteteacute preacutesenteacutee dans les Figures 6-7 6-8 6-9 et 6-12 Dans la suite de leacutetude ces valeurs seront utiliseacutees comme reacutefeacuterence pour le jugement de la qualiteacute de protection des autres meacutethodes de deacutecodage Les Tables 6-6 et 6-7 montrent les eacutevaluations de la charge de calcul de lalgorithme Les effets de laugmentation de la longueur de contrainte du code agrave K=9 sont immeacutediatement perceptibles la charge de calcul du deacutecodage est tregraves importante Le traitement dun bit dinformation demande en effet une charge de calcul supeacuterieure agrave 7k opeacuterations (256 opeacuterations de seacutelection du chemin survivant) et neacutecessite presque 800k opeacuterations pour le deacutecodage de 93 bits dinformation et de 8 bits de terminaison La Table 6-6 montre laugmentation de la charge de calcul due agrave la strateacutegie de troncation de la meacutemoire augmentation qui est quantifiable autour du 8 pour cent Ensuite la Table 6-7 prouve lindeacutependance de la complexiteacute de calcul des caracteacuteristiques des erreurs de transmission

120

Nombre moyen drsquoopeacuterations observeacutees

Algorithme sans Troncation Algorithme avec troncation agrave 6 sdot longueur de contrainte

Format des variables

Format des variables

32 bits 16 bits Total 32 bits 16 bits TotalAdditions 44541 9 44550 44451 9 44550Increacutementations 94 1212 1306 93 1212 1305Soustractions 111 104 215 11 152 263Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 115659 45653 161312 118520 45653 164173Logique 130219 2424 132643 130271 2424 132695Deacutecalages 70942 0 70942 70894 0 70894Controcircles 102588 102588 126074 126074Pointeur assignations 611 611 659 659Pointeur arithmeacutetique 513 513 3056 3056Boucle initialisations 24167 101 24268 24215 101 24316Boucle controcircles 97723 110810 110810Boucle increacutementations 72646 808 73454 85637 808 86445Grand total 710125 765240

Table 6-6 eacutevaluation deacutetailleacutee de la complexiteacute de calcul de limplantation software de lalgorithme de Viterbi Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs doccurrence de lITUETSI

Limplantation et les simulations software de lalgorithme de Viterbi ont utiliseacute la configuration suivante bull Leacutetude utilise le systegraveme de canal UMTS uplink bull La structure de protection prise en consideacuteration est relative au codage des

bits appartenant agrave la classe A [Ts26101] (aussi nommeacute premier canal de transport [TrR104]) dans le cadre du service de parole AMR agrave 122 kbps [TrR104] Les opeacuterations de validation des bits de pariteacute CRC sont illustreacutees dans lAnnexe B (Section B1)

bull Les signaux sont moduleacutes de maniegravere antipodale (+1-1) et sont perturbeacutes au niveau des trames radio (Radio Frames) par laddition dun bruit blanc gaussien (de 00 dB agrave 60 dB) En conseacutequence lindication EbN0 sadresse au codage des trois classes (canaux de transport)

121

Nombre moyen drsquoopeacuterations

observeacutees Algorithme sans Troncation

EbNo=00dB EbNo=60dB Additions 44550 44550 Increacutementations 1306 1306 Soustractions 215 215 Multiplications 0 0 Divisions 0 0 Transferts de Donneacutees 161312 161312 Logique 132643 133292 Deacutecalages 70942 70942 Controcircles 102588 102588 Pointeur assignations 611 611 Pointeur arithmeacutetique 513 513 Boucle initialisations 24268 24268 Boucle controcircles 97723 97723 Boucle increacutementations 73454 73454 Grand total 710125 710774

Table 6-7 eacutevaluation de la complexiteacute de calcul de lalgorithme de Viterbi dans deux conditions derreurs de transmission opposeacutees Paramegravetres structure de codage pour la classe A du codeur AMR-NB agrave 122kbps (codeur avec K=9 et Rc=13) moyennes sur 500 trames valeurs avec eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs de lITUETSI

bull Les signaux reccedilus sont repreacutesenteacutes numeacuteriquement par une deacutecision ferme bull Bien que leacutetude nutilise pas loutil de poinccedilonnage (Puncturing)31

limplantation de lalgorithme supporte de maniegravere optimale ce service Les symboles reccedilus sont ainsi repreacutesenteacutes agrave laide de trois valeurs (+1-10)

bull La meacutetrique cumuleacutee de leacutetat de deacutepart est initialiseacutee agrave zeacutero et la structure de lalgorithme ne prend en consideacuteration que les chemins deacutemarrant depuis cet eacutetat

bull Par rapport au traitement des bits de terminaison la structure de lalgorithme considegravere seulement les eacutetats possibles

bull Les informations relatives agrave la reconstruction des chemins sont sauvegardeacutees sous la forme des valeurs des eacutetats preacuteceacutedents

bull Limplantation software de lalgorithme de Viterbi soriente vers des plates-formes agrave 32 bits

31 Elimination dun nombre de bits des messages codeacutes afin de sadapter au deacutebit de

transmission disponible (adaptation du deacutebit de transmission Sous-section 32)

122

644 Consideacuterations sur cette approche classique

Conformeacutement aux exigences du marcheacute de la communication mobile la meacutethode de deacutecodage implanteacutee est lalgorithme qui est preacutedominant dans les technologies 2G lalgorithme de Viterbi La nouvelle implantation de lalgorithme a reacuteveacuteleacute immeacutediatement un alourdissement de la charge de calcul assigneacute au DSP Comme il eacutetait preacutevisible le changement du contexte de codage de la 3G demande des charges de calcul de deacutecodage plus importantes par rapport agrave lancienne technologie 2G Lagrandissement de la longueur de contrainte des codes UMTS exige tout dabord une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation deacutecodeacute32 Ensuite lutilisation de deacutebits de transmission supeacuterieurs augmente la charge de calcul neacutecessaire agrave lexeacutecution en temps reacuteel de lopeacuteration de deacutecodage La complexiteacute de calcul de limplantation software de lalgorithme de Viterbi deacutepend premiegraverement de la longueur de contrainte des codes convolutifs utiliseacutes ainsi que du deacutebit de transmission requis par lapplication concerneacutee Par conseacutequent laugmentation de la longueur de contrainte et leacutelargissement de la gamme des deacutebits de transmission des standards UMTS provoquent une importante variabiliteacute au niveau des ressources de calcul neacutecessaires agrave lopeacuteration de deacutecodage La charge de calcul peut varier entre une trentaine de wMOPS (demandeacute par un service de parole agrave 122 kbps) jusquagrave des valeurs approchant le millier de wMOPS (exigeacute par les applications les plus gourmandes soutenues par les technologies UMTS) Par conseacutequent on envisage lanalyse de la structure de codage de lUMTS afin de deacutevelopper des meacutethodes de deacutecodage ameacuteliorant le rapport entre la qualiteacute de protection et la charge de calcul demandeacutee Lobjectif envisageacute est leacutelargissement du spectre de solutions software efficaces afin de mieux reacutepondre aux exigences particuliegraveres des applications

65 Deacutecodage des codes convolutifs incluant la validation CRC

Le systegraveme de codage de canal du standard UMTS [Ts25212] dispose de plusieurs moyens de codage afin de permettre une protection efficace et

32 Valeur observeacutee La perte defficaciteacute due agrave une description souple et parameacutetrable de

lalgorithme sera traiteacutee dans le Chapitre 8

123

optimale contre les erreurs de transmission pour une vaste gamme dapplications Il existe ainsi deux configurations principales de codage convolutif le codage direct du message et le codage dun message traiteacute preacuteceacutedemment par un codage en bloc CRC (Sous-section 621) Le cas le plus inteacuteressant est lenchaicircnement dun code convolutif avec un code en bloc (Figure 6-14) structure qui revient reacuteguliegraverement dans les reacutecents standards de communication numeacuterique mobile (GSM [ETSI909] DCS1800 [Kuumlhn97] UMTS [Ts25212]) A la diffeacuterence du simple codage convolutif cette configuration dispose dinformations suppleacutementaires fournies par le codage CRC qui peuvent ecirctre exploiteacutees de maniegravere exhaustive

651 Ideacutee exploitation des informations du codage concateacuteneacute

Lobjectif dune concateacutenation de deux codes est la creacuteation dun code plus performant en beacuteneacuteficiant des avantages de chaque code [Proa95] Dans le cas des reacutecents standards de communication le code en bloc est chargeacute du controcircle de linteacutegriteacute du message qui a eacuteteacute proteacutegeacute par un codage convolutif

Sourcedinformation

Destination

Codeurexteacuterieur

CRC

Codeur inteacuterieurCode Convolutif

ou TurboEmetteur

ReacutecepteurDeacutecodeurexteacuterieur

Deacutecodeurinteacuterieur

Codage de canal UMTS

Approche classique

Figure 6-14 diagramme des codes concateacuteneacutes en seacuterie dans le contexte du standard UMTS

Lors du deacutecodage convolutif linteacutegriteacute du message reconstruit est difficile agrave confirmer sans reacuteduire sensiblement la potentialiteacute de protection du code utiliseacute Le codage en bloc eacutelimine ainsi cet inconveacutenient en veacuterifiant leacuteventuelle preacutesence derreurs dans le message (Section 24) Cet enchaicircnement est demandeacute par les applications sensibles pour lesquelles lutilisation dun message corrompu provoque des effets deacutesastreux Dans le cas de la deacutetection dun message corrompu il est ainsi preacutevu que le message soit retransmis (mode de controcircle derreurs ARQ) ou quil y ait une prise de

124

mesures speacuteciales de recouvrement derreurs (Error Concealment mode de controcircle derreurs FEC)

Approche iteacuterative

Destination Reacutecepteur

Deacutecodeurinteacuterieur

Deacutecodeurexteacuterieur

Figure 6-15 principe geacuteneacuteral agrave la base des deacutecodages iteacuteratifs

Le deacutecodage de cette double protection est normalement exeacutecuteacute de maniegravere seacutequentielle ce qui consiste pratiquement en la reconstruction du message suivie par sa veacuterification (Figure 6-14) Lavantage de pouvoir deacutevelopper individuellement les deux proceacutedures de deacutecodage est contre-balanceacute par une utilisation sous-optimale des ressources disponibles Une interaction entre les deux deacutecodeurs permettrait de mieux exploiter les informations mises agrave disposition par le code concateacuteneacute (Figure 6-15)

652 Principe de deacutecodage livraison dune liste de messages

La livraison dune seacuterie de messages au deacutecodeur exteacuterieur qui les examine dans lintention didentifier leacuteventuel message correct [Kuumlhn97] est un principe de deacutecodage inteacuteressant Dans la suite de leacutetude ce principe sera utiliseacute pour lexploration des potentialiteacutes offertes dune part agrave cause de la souplesse dune architecture baseacutee sur les DSP et dautre part en raison de la structure de codage de canal eacutetabli par le standard UMTS En envisageant lameacutelioration du rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage ce principe iteacuteratif peut ecirctre exploiteacute pour

bull Ameacuteliorer la qualiteacute de protection Les informations suppleacutementaires de la validation CRC sont utiliseacutees afin dameacuteliorer la protection contre les erreurs en limitant laugmentation de la charge de calcul totale

bull Reacuteduire la complexiteacute de calcul de lopeacuteration de deacutecodage Dans ce cas lexploitation des informations envisage la reacuteduction de la charge de calcul du deacutecodage convolutif tout en gardant inchangeacutee la qualiteacute de protection contre les erreurs

125

Le facteur indispensable est la preacutesence dun code en bloc posseacutedant des capaciteacutes de deacutetection derreurs suffisantes agrave lexeacutecution correcte dun tel deacutecodage iteacuteratif Puisque le cas dune erreur non deacutetecteacutee (undetected error) doit ecirctre consideacutereacute comme deacutesastreux lapplication de ce principe doit ecirctre absente de fausses validations de messages Lemploi de ce principe iteacuteratif dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute en effet limiteacute par le nombre consideacuterable de fausses validations causeacutees par une capaciteacute de deacutetection insuffisante [Kuumlhn97] Leacutevaluation des potentialiteacutes des quatre codes CRC des standards UMTS (Annexe B Section B1) a tout dabord confirmeacute des capaciteacutes de deacutetection supeacuterieures agrave celles des standards GSM ce qui rend ce principe de deacutecodage attrayant Les nombreuses simulations dans le contexte de codage AMR-NB agrave 122kbps ont ensuite prouveacute la faisabiliteacute de ce principe de deacutecodage en ne reacuteveacutelant aucun cas de fausse validation Dans la suite du chapitre deux meacutethodes de base sont proposeacutees pour prouver les potentialiteacutes et la faisabiliteacute de ce principe de deacutecodage dans le contexte de lUMTS Les deux meacutethodes ameacuteliorent le rapport entre la qualiteacute de protection et la charge de calcul lune en augmentant la qualiteacute de protection lautre en reacuteduisant la complexiteacute du deacutecodage convolutif Les potentialiteacutes de ces deux meacutethodes seront compareacutees avec celles de lalgorithme de Viterbi Lobjectif de ce deacutecodage iteacuteratif eacutetant la livraison dun message integravegre la qualiteacute de protection sera eacutevalueacutee par le deacutebit de messages erroneacutes (FER)

66 List Viterbi Algorithm

661 Introduction

Le principe de ce deacutecodage est la livraison iteacuterative des L messages les plus probables au deacutecodeur CRC afin didentifier le message correct Le principe de deacutecodage par livraison dune liste de messages permet lidentification du message correct dans une liste de messages prometteurs Du point de vue de la qualiteacute de deacutecodage lobtention dune seacuterie de L messages globalement les plus probables repreacutesente le cas ideacuteal la limite infeacuterieure de qualiteacute de ce deacutecodage iteacuteratif (L=1 livraison du message globalement le plus probable) coiumlncide ainsi avec celle de lalgorithme de Viterbi Le point de deacutepart des strateacutegies pour lobtention des L messages globalement les plus probables est lalgorithme de Viterbi qui garantit une analyse efficace

126

et complegravete de lespace de codage Par contre lalgorithme de Viterbi ne permet pas la coexistence de chemins globalement les plus probables et de plus il est incapable de fournir une seacuterie de messages33 Linadeacutequation de lalgorithme agrave fournir une seacuterie de messages les plus probables peut ecirctre compenseacutee par

bull La prise en consideacuteration agrave chaque nœud des L meilleurs chemins Les algorithmes appartenant agrave cette classe sont nommeacutes Parallel List Viterbi Algorithm (parallegravele LVA) ou Parallel Generalized Viterbi Algorithm [Sesh94] Selon ce principe chaque nœud reccediloit 2bL chemins de maniegravere agrave pouvoir ensuite en seacutelectionner les L meilleurs [Sesh94] Ces chemins seront ensuite transmis aux nœuds suivants (Figure 6-16)

bull Lexploitation (agrave posteriori) des diffeacuterences entre la meacutetrique cumuleacutee des chemins survivants et celle des perdants agrave chaque nœud de chaque niveau de profondeur du treillis (Serial List Viterbi Algorithm ou Serial Generalized Viterbi Algorithm [Nill95] [Sesh94] [Kuumlhn97]) En utilisant correctement ces diffeacuterences les L meilleurs chemins globaux peuvent ecirctre ainsi identifieacutes et ensuite reconstruits

bull Lutilisation des estimations de la fiabiliteacute Λ offerte par les meacutethodes SOVA Lexploitation de ces informations permet la geacuteneacuteration (agrave posteriori) des L messages retenus les plus probables (List SOVA [Nill95] [Kuumlhn97]) En raison dune geacuteneacuteration de la liste de chemins deacutependante de la qualiteacute de lestimation de la fiabiliteacute cette strateacutegie ne garantit pas neacutecessairement lidentification de L chemins globalement les plus probables

En raison dun contexte dexeacutecution en temps reacuteel le facteur deacuteterminant pour le choix de la strateacutegie est sa charge de calcul Malgreacute labsence dans la litteacuterature deacutevaluations preacutecises de la complexiteacute de calcul de ces strateacutegies il est eacutevident que les techniques baseacutees sur les algorithmes parallegraveles LVA et SOVA comportent une augmentation consideacuterable de la charge de calcul neacutecessaire agrave leur exeacutecution On peut estimer que lutilisation dalgorithmes parallegraveles LVA comporte une augmentation de complexiteacute dun facteur de L [Sesh94] Les strateacutegies exploitant les algorithmes SOVA impliquent aussi une importante augmentation de la complexiteacute Le chapitre preacuteceacutedent montre que leur charge

33 Lalgorithme de Viterbi adopte le thegraveoreme de la non-optimaliteacute (theorem of

nonoptimality path) afin de livrer le message globalement le plus probable (Sous-section 523)

127

de calcul est de 15 agrave 2 fois celle requise par lalgorithme de Viterbi (Section 54)

mM

m

m0

L chemins

Figure 6-16 principe agrave la base du parallegravele List Viterbi Algorithm (LVA)

La strateacutegie dune exploitation des diffeacuterences des meacutetriques cumuleacutees est par contre tregraves inteacuteressante Laugmentation de la complexiteacute nest deacutetermineacutee que par la creacuteation de la liste de messages apregraves lexeacutecution de lalgorithme de Viterbi

662 Meacutethode Serial List Viterbi Algorithm

Un avantage consideacuterable de cette strateacutegie de deacutecodage qui sera utiliseacutee dans cette eacutetude et sera nommeacutee simplement List Viterbi Algorithm (LVA) est la possibiliteacute de seacuteparer le deacuteveloppement du deacutecodeur inteacuterieur en deux parties La premiegravere partie soccupe principalement de lexeacutecution de lalgorithme de Viterbi La seconde partie se concentre sur la geacuteneacuteration de la seacuterie de L messages en utilisant les tables contenant les diffeacuterences des meacutetriques cumuleacutees et les informations pour la reconstruction des chemins Le nombre de chemins qui peuvent ecirctre reconstruits nest limiteacute que par les exigences de lapplication cette strateacutegie permet en effet la reconstruction de tous les messages souhaiteacutes ainsi que la deacutetermination de leurs meacutetriques finale Ces valeurs de meacutetrique sont deacutetermineacutees agrave partir de la meacutetrique du meilleur chemin par la formule

1

meilleur chemin

0 si le chemin agrave cette profondeur

meacutetrique finale est le survivant autrement

np B

np

np

meacutetrique=

+

sum (65)

128

ougrave ∆meacutetrique repreacutesente la diffeacuterence des meacutetriques entre le chemin survivant et celui perdant mais choisi pour la reconstruction Lexeacutecution de cette meacutethode de deacutecodage iteacuteratif peut ecirctre ainsi caracteacuteriseacutee par les eacutetapes suivantes

1 Lalgorithme de Viterbi est tout dabord exeacutecuteacute Pendant son exeacutecution les diffeacuterences entre les meacutetriques cumuleacutees des deux chemins (qui se reacuteunissent dans chaque nœud agrave chaque profondeur) sont systeacutematiquement sauvegardeacutees dans une table

2 Apregraves laccomplissement de lalgorithme de Viterbi la variable responsable du controcircle du nombre des messages geacuteneacutereacutes est initialiseacutee (l=1)

3 Le l-egraveme chemin est tout dabord identifieacute et ensuite deacutecodeacute Ces deux opeacuterations utilisent les informations relatives aux diffeacuterences de meacutetrique et agrave la reconstruction des chemins

4 Le message obtenu est analyseacute par le deacutecodeur exteacuterieur si le message est valideacute le deacutecodage iteacuteratif est termineacute

5 Si les L meilleurs messages globaux nont pas encore eacuteteacute tous controcircleacutes le deacutecodage iteacuteratif continue la variable l est increacutementeacutee et on passe au point 3 Sinon la proceacutedure de deacutecodage est interrompue sans pouvoir deacutelivrer un message valide

663 Performances de cette meacutethode iteacuterative

Limplantation de cette meacutethode est conforme agrave la configuration de base preacutesenteacutee pour limplantation de lalgorithme de Viterbi La reacutealisation de cette meacutethode se base sur la mecircme implantation de lalgorithme de Viterbi qui est utiliseacute agrave titre de reacutefeacuterence Toutefois en raison de la reconstruction de plusieurs chemins le principe de la troncation de la meacutemoire (responsable de la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins) ne peut pas ecirctre exploiteacute Par rapport agrave lobtention de la liste de L messages limplantation de la proceacutedure de creacuteation des messages suit les critegraveres suivants

bull Les messages deacutelivreacutes sont les L meilleurs messages globaux bull Le nombre maximal de messages deacutelivreacutes (pour leacutetude) est L=2 4 8

16 32 64 128 256 et 512 messages

129

bull Les messages sont deacutelivreacutes selon le critegravere dune probabiliteacute deacutecroissante et la proceacutedure iteacuterative sarrecircte si le message est valideacute par le deacutecodeur CRC Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

bull Une surveillance de loccurrence de fausses validations est effectueacutee par un controcircle systeacutematique de lexactitude de la coiumlncidence entre le message correct et celui identifieacute par le deacutecodeur CRC

Figure 6-17 qualiteacute de protection contre les erreurs de transmission offerte par la meacutethode iteacuterative List Viterbi Algorithm Le graphe rouge en trait gras se rapporte agrave la qualiteacute de reacutefeacuterence obtenue par lalgorithme de Viterbi Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Qualiteacute de protection contre les erreurs de transmission Les reacutesultats de la qualiteacute de protection (utilisant le service de parole AMR-NB agrave 122 kbps) sont illustreacutes en Figure 6-17 Les potentialiteacutes de protection de la meacutethode List Viterbi Decoding sont prouveacutees laugmentation du nombre de messages deacutelivreacutes au deacutecodeur CRC ameacuteliore sensiblement la qualiteacute de protection Par contre la relation entre le gain de codage (Coding Gain) et le nombre maximal de messages deacutelivreacutes nest pas lineacuteaire (Table 6-8) en raison de la probabiliteacute deacutecroissante des messages livreacutes La Figure 6-17 met aussi

130

en eacutevidence linfluence des conditions de transmission sur le gain de codage Les reacutesultats de cette simulation montrent que le gain de codage augmente avec lameacutelioration des conditions de transmission Aucune fausse validation na pu ecirctre identifieacutee lors des simulations effectueacutees Bien que la probabiliteacute de rencontrer des situations de fausses validations nest jamais nulle ces reacutesultats quantitatifs prouvent que la capaciteacute de deacutetection derreurs du code en bloc utiliseacute est suffisante agrave garantir lexeacutecution correcte de cette meacutethode iteacuterative

Nombre maximal de messages L

Gain de codageagrave FER=10-3 [dB]

Nombre maximal de messages L

Gain de codage agrave FER=10-3 [dB]

2 05 64 16 4 08 128 17 8 10 256 19

16 13 512 20 32 15

Table 6-8 vue densemble du gain de codage par rapport agrave la qualiteacute de protection de lalgorithme de Viterbi

Complexiteacute de calcul de cette meacutethode iteacuterative Afin de permettre lanalyse correcte de la complexiteacute de calcul de cette meacutethode la nouvelle reacutealisation de la tacircche concernant la geacuteneacuteration des messages doit ecirctre tout dabord discuteacutee La geacuteneacuteration des L meilleurs messages globaux utilise deux tables la premiegravere contenant les informations neacutecessaires agrave la reconstruction des chemins survivants la seconde comprenant les diffeacuterences de meacutetriques cumuleacutees A partir de ces deux tables la strateacutegie implanteacutee pour la geacuteneacuteration des messages les plus probables suit les eacutetapes suivantes

1 Le message globalement le plus probable (l=1) est obtenu par deacutecodage du chemin indiqueacute par lalgorithme de Viterbi En analysant les chemins perdants rencontreacutes lors de la geacuteneacuteration de ce message (Figure 6-19) une table contenant toutes les informations neacutecessaires agrave la reconstruction des L-1 chemins (temporairement) les plus probables est construite (Figure 6-18) Les informations sont la valeur de la meacutetrique et les indications des niveaux de profondeur ougrave le chemin suit des chemins perdants Cette table est geacuteneacutereacutee et

131

geacutereacutee selon la meacutethode dinsertion des nouvelles informations Straight Insertion [Pres92]

2 Le message globalement le plus probable (l=1) est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute la proceacutedure sarrecircte

3 La variable l est increacutementeacutee (l=l+1) 4 Le chemin le plus probable de la table est utiliseacute pour la construction

du l-egraveme message globalement le plus probable Ce message est obtenu en suivant les informations de reconstruction des chemins et les indications des niveaux de profondeur des chemins perdants (Figure 6-19) Apregraves la derniegravere deacuteviation depuis un chemin survivant la table des L-l meilleurs chemins est mise agrave jour (Straight Insertion) en analysant les meacutetriques des chemins perdants rencontreacutes (Figure 6-19) Cette strateacutegie eacutevite de consideacuterer des chemins perdants preacuteceacutedemment deacutejagrave analyseacutes

5 Ce l-egraveme message est ensuite controcircleacute par le deacutecodeur CRC Si le message est valideacute cette proceacutedure sarrecircte

6 Si les L messages ne sont pas encore reconstruits on passe agrave leacutetape 3 Sinon la proceacutedure sarrecircte sans pouvoir livrer un message valide

djbest pointeurj informations des deacuteviations (chemin b)dibest pointeuri informations des deacuteviations (chemin j)dhbest pointeurh informations des deacuteviations (chemin h)

dwbest pointeurw informations des deacuteviations (chemin i)

chem

ins

plus

pro

met

teur

s meacutetrique indications des niveaux de profondeurdes chemins perdants

Figure 6-18 table contenant toutes les informations neacutecessaires agrave la

reconstruction des chemins temporairement les plus probables Lutilisation des pointeurs permet de reacuteduire les coucircts de mise agrave jour de la table par insertion et deacuteplacement des eacuteleacutements (Straight Insertion [Pres92])

132

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

S11

S10

S01

S00

chemins nonretenus

cheminssurvivants

chemin le plus probable

chemins analyseacutes lors dudeacutecodage du chemin leplus probable

np=1 np=2 np=3 np=4 np=5 np=6

S00

S01

S00

np=7 np=8

Bits de terminaison

second chemin le plusprobalechemins analyseacutes lors dudeacutecodage du second cheminle plus probable

Niveau deprofondeur 0

Figure 6-19 exemple de proceacutedure de reconstruction des deux meilleurs messages globaux avec lanalyse des chemins perdants

Les estimations de la charge de calcul de la meacutethode iteacuterative sont reacutesumeacutees dans la Table 6-9 Table 6-10 et Table 6-11 La premiegravere examine dans le deacutetail la meacutethode List Viterbi livrant au maximum 8 messages au deacutecodeur exteacuterieur (L=8) La Table 6-10 et la Table 6-11 reacutesument les reacutesultats concernant la livraison de 2 4 8 16 32 64 128 256 et 512 messages Les reacutesultats qui en deacutecoulent sont conformes aux attentes La structure algorithmique de cette meacutethode iteacuterative permet en effet de limiter laugmentation de la complexiteacute la rendant inteacuteressante du point de vue du rapport qualiteacutecomplexiteacute de calcul La seacuteparation de la meacutethode en deux parties principales a rendu limplantation de la tacircche de geacuteneacuteration des L messages responsable de laugmentation de complexiteacute Limportance de laugmentation deacutepend ainsi du positionnement du message correct dans la seacuterie de messages (Table 6-9) et du nombre maximal L de messages livrables (Table 6-10 et Table 6-11)

133

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 44540 146 0 44686 44540 760 0 45300Increacutementations 0 1322 0 1322 2092 0 2092Soustractions 22525 121 0 22646 22525 842 0 23367Multiplications 0 0 0 0 0 0 0 0Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 11 45847 0 164979 119146 46752 0 165898Logique 12750 2613 13 130131 127733 3929 104 131766Deacutecalages 70721 282 1 71004 71127 2249 8 73384Controcircles 102761 102761 106329 106329Pointeur assignations 654 654 690 690Pointeur arithmeacutetique 716 716 2182 2182Boucle initialisations 24166 112 0 24278 24166 133 0 24299Boucle controcircles 97782 97782 98573 98573Boucle 72545 952 0 73497 72545 1722 0 74267Grand total 734456 748147

Table 6-9 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=8 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 Le fond gris met en eacutevidence les compteurs doccurrence deacutefinis par les organisations ITU et ETSI

Avec laugmentation du nombre de chemins L limportance du positionnement du message correct saccroicirct remarquablement Le principal responsable de la hausse importante de la complexiteacute est la gestion de la table des informations des chemins les plus prometteurs agrave partir de L=64 messages la strateacutegie de gestion de la table par Straight Insertion perd son efficaciteacute en exigeant un nombre eacuteleveacute dopeacuterations Lemploi de cette meacutethode de deacutecodage iteacuterative avec un nombre eacuteleveacute de messages implique la modification de cette strateacutegie de gestion

134

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme(imposeacute)

Contexte EbN0=00dB L=2 L=4 L=8 L=16 L=32 Additions 44551 44655 44866 45300 46216 48240Increacutementations 1320 1432 1652 2092 2972 4732Soustractions 225 22742 22951 23367 24199 25863Multiplications 0 0 0 0 0 0Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 165052 165326 165898 167138 170002Logique 132694 130382 130830 131766 133681 137441Deacutecalages 71003 71344 72024 73384 76104 81544Controcircles 102615 103137 104193 106329 110697 119817Pointeur assignations 612 626 644 690 830 1302Pointeur arithmeacutetique 513 928 1346 2182 3854 7198Boucle initialisations 24269 24275 24283 24299 24331 24395Boucle controcircles 97734 97849 98087 98573 99593 101825Boucle increacutementations 73464 73574 73801 74267 75247 77399Grand total 710317 735996 740003 748147 764862 799758Complexiteacute relative34 100 104 104 105 108 113 List Viterbi Algorithm

Sans erreurs de transmission Grand total

734179 734217 734456 735263 738406Complexiteacute relative34 103 103 103 104 104

Table 6-10 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=2 4 8 16 et 32 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 14 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

34 On rappelle que la meacutethode de reacutefeacuterence est lalgorithme de Viterbi La complexiteacute

relative est obtenue en divisant la complexiteacute de calcul (nombre moyen dopeacuterations observeacutees grand total) de la meacutethode analyseacutee par celle de lalgorithme de Viterbi (donneacutee en Table 6-6)

135

Nombre moyen drsquoopeacuterations observeacutees

Viterbi avec val CRC ()

List Viterbi Algorithm Exeacutecution exhaustive de lalgorithme (imposeacute)

Contexte EbN0=00dB L=32 L=64 L=128 L=256 L=512 Grand total 710317 799758 875765 1053806 1514077 2850308Complexiteacute relative34 100 113 123 148 213 401 List Viterbi Algorithm

Sans erreurs de transmission Grand total

738406 750806 797065 899840 1105428Complexiteacute relative34 104 106 112 127 156

Table 6-11 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur le List Viterbi Algorithm exploitant au maximum L=32 64 128 256 et 512 messages Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

67 List Decoding inteacutegrant la validation du CRC

Les reacutesultats de la meacutethode preacuteceacutedente prouvent la faisabiliteacute dune exploitation intensive des informations geacuteneacutereacutees par le codage en bloc La meacutethode List Viterbi Algorithm ameacuteliore la qualiteacute de protection de lalgorithme de Viterbi au moyen dune utilisation plus exhaustive de ces informations La meacutethode montre un bon rapport entre la qualiteacute de protection et la complexiteacute de calcul Toutefois la complexiteacute de calcul est fortement influenceacutee par lincorporation de lalgorithme de Viterbi dans la meacutethode iteacuterative la complexiteacute croicirct de maniegravere exponentielle avec laugmentation de la longueur de contrainte K du code convolutif

671 Nouvelle strateacutegie de deacutecodage

Lefficaciteacute du principe de deacutecodage iteacuteratif permet denvisager une exploitation exhaustive des informations reccedilues dans le but de reacuteduire la charge de calcul de lopeacuteration entiegravere de deacutecodage tout en conservant la mecircme qualiteacute de protection que lalgorithme de Viterbi Ce nouvel objectif peut ecirctre atteint tout dabord en choisissant une meacutethode de deacutecodage convolutif moins exigeante en termes de charge de calcul En raison

136

de lefficaciteacute de lalgorithme de Viterbi une reacuteduction de la complexiteacute de calcul ne peut ecirctre obtenue quau deacutetriment dune analyse complegravete de lespace de codage La perte ineacutevitable de qualiteacute de protection (Table 6-12) peut ecirctre ensuite compenseacutee par lapport dinformations suppleacutementaires du codage CRC

Nombre de chemins survivants pris en compte

Facteur de reacuteduction de lespace de codage

Rapport signal sur bruit EbN0 produisant un BER de 10-3

Gain de codage

Tous (Algorithme de Viterbi) - 41 dB - 128 chemins (eacutetats) 2 42 dB -01 dB 64 chemins (eacutetats) 4 46 dB -05 dB 32 chemins (eacutetats) 8 51 dB -10 dB 16 chemins (eacutetats) 16 56 dB -15 dB

Table 6-12 vue densemble de la deacutegradation introduite en raison dune analyse incomplegravete de lespace de codage Contexte de codage codeur UMTS avec rendement Rc=13

Le mecircme principe de deacutecodage livrant une seacuterie de messages au deacutecodeur CRC est agrave nouveau adopteacute Lalgorithme utiliseacute pour la geacuteneacuteration des messages nest plus lalgorithme de Viterbi mais un algorithme qui favorise laspect de la faible complexiteacute de calcul lalgorithme List Decoding (Figure 6-20) La charge de calcul de la meacutethode List Decoding est en effet fonction du nombre L de chemins consideacutereacutes agrave chaque niveau de profondeur De plus une liste des chemins les plus prometteurs est intrinsegravequement disponible agrave tous les niveaux de profondeur (Sous-section 522) La seacuterie de messages est geacuteneacutereacutee en deacutecodant les chemins contenus dans la liste finale des L chemins les plus prometteurs La geacuteneacuteration des messages beacuteneacuteficie de la non-application du principe du survivant ce qui permet la libre coexistence des meilleurs chemins (Figure 6-21) Cette caracteacuteristique est indispensable pour obtenir une liste dont les messages possegravedent de bonnes probabiliteacutes

137

Deacutecodeur exteacuterieur

Niveau de profondeur1 2 3 B

B+1 B+(longueur decontrainte -1)

PM(1)

PM(2)

PM(L)

PM(L+1)

PM(L+2)

PM(2L)

messagecorrect

seacutele

ctio

n du

i-egravem

e m

eille

urch

emin

de

la li

ste

deacutecodage dui-egraveme chemin

deacutepart i=1

i=i+1 derniermessage

messagecorrect

messageincorrect

Deacutecodeur inteacuterieur

Oui

Oui

Non

Non

0

List Decoding

bits de terminaisonbits dinformation

Figure 6-20 repreacutesentation graphique du principe de cette meacutethode iteacuterative List Decoding inteacutegrant la validation CRC

672 Consideacuterations sur limplantation

Limplantation de cette meacutethode utilise la mecircme repreacutesentation numeacuterique des meacutetriques et le mecircme systegraveme de sauvegarde des informations de reconstruction des chemins que ceux qui ont eacuteteacute adopteacutes pour limplantation de lalgorithme de Viterbi Par rapport agrave la sauvegarde des informations de reconstruction lalgorithme List Decoding permet deux strateacutegies opposeacutees de sauvegarde des informations Le systegraveme le plus eacuteconome en meacutemoire sauvegarde seulement un bit ayant fonction dindicateur (flag) Il signale si le chemin a eacuteteacute inseacutereacute dans la liste des L chemins qui seront ensuite prolongeacutes Gracircce agrave cette indication et au positionnement du chemin dans la liste des prolongations les eacutetats preacuteceacutedents des chemins peuvent ecirctre reconstruits de maniegravere iteacuterative Les deacutetails et les explications sont disponibles dans le livre de Johannesson [Joha99] De maniegravere coheacuterente avec limplantation de lalgorithme de Viterbi le systegraveme le moins complexe (qui sauvegarde directement la valeur de leacutetat preacuteceacutedent) a eacuteteacute choisi pour limplantation de cette meacutethode En raison dune reconstruction dune large quantiteacute de messages la meacutethode de troncation de la meacutemoire nest pas applicable

138

673 Effet de compensation par lexploitation exhaustive du codage CRC

La qualiteacute de protection de cette meacutethode iteacuterative est deacutetermineacutee par la probabiliteacute de trouver le message correct dans la liste de messages livreacutes au deacutecodeur CRC Cette probabiliteacute est eacutevidemment fonction du nombre L de messages livreacutes ainsi que des affiniteacutes entre les symboles reccedilus et ceux geacuteneacutereacutes par les messages

S1110

S1010

S0010

S1011

S0011

S0101

S1110

S0010

S1000

S0000

Niveau deprofondeur 0 1 2 3 4 5

chemins concurrentsavec une eacutevolution

commune de lameacutetrique cumuleacutee

S0000 S0000

S1000

S0000

S1000

S0100

S0100

S1100 S1010

S0110

S1100

S1101

S0110

S0110

S1110

Figure 6-21 lalgorithme List Decoding permet la libre coexistence de chemins parallegraveles qui ont une eacutevolution commune de la meacutetrique cumuleacutee Ceci est ducirc agrave linapplication du critegravere du survivant

A la diffeacuterence de la meacutethode List Viterbi Decoding qui livre les L messages globalement les plus probables lalgorithme List Decoding traite les L chemins les plus prometteurs de chaque niveau de profondeur Cet algorithme peut ecirctre ainsi affecteacute par le pheacutenomegravene gecircnant du rejet cest-agrave-dire la disparition du(des) chemin(s) globalement le(s) plus probable(s) de la liste des L chemins (Section 522) Par conseacutequent les L messages livreacutes ne correspondent pas neacutecessairement aux L messages globalement les plus probables

139

Caracteacuteristiques de limplantation de cette meacutethode iteacuterative Limplantation de cette solution suit les critegraveres suivants bull Le nombre maximal de messages deacutelivreacutes coiumlncide avec le nombre L des

messages les plus prometteurs de la meacutethode List Decoding A titre deacutetude ce nombre sera aussi eacutetendu agrave 2middotL en nexeacutecutant pas la derniegravere seacutelection avant le traitement des bits de terminaison (Figure 6-20)

bull Les messages sont deacutelivreacutes selon une affiniteacute deacutecroissante (cest-agrave-dire selon une valeur de meacutetrique croissante) et la proceacutedure iteacuterative sarrecircte si le message a eacuteteacute valideacute Les deacutetails de lopeacuteration de validation CRC sont illustreacutes dans lAnnexe B (Section B1)

bull Une surveillance de loccurrence de fausses validations est effectueacutee pendant les simulations Le message identifieacute par le deacutecodeur CRC est systeacutematiquement compareacute avec le message envoyeacute

bull Limplantation software de cette meacutethode soriente vers des plates-formes agrave 16 bits

Effet de compensation Les qualiteacutes de protection de cette meacutethode List Decoding inteacutegrant la validation CRC deacutemontrent la validiteacute du principe de la compensation de la deacutegradation de la protection due agrave lutilisation de lalgorithme List Decoding (Figure 6-22) Cette eacutetude montre que la perte de qualiteacute due agrave lanalyse incomplegravete de lespace de codage peut ecirctre compenseacutee en deacutelivrant plusieurs messages au deacutecodeur CRC La qualiteacute de protection nest maintenant influenceacutee que par la perte possible du chemin correct par lalgorithme List Decoding si ce chemin apparaicirct dans la liste finale des L chemins la proceacutedure iteacuterative permet lidentification et la livraison du message correct Limportance de lameacutelioration apporteacutee par la livraison des messages deacutepend strictement du nombre L de chemins par lalgorithme List Decoding Un nombre L eacuteleveacute diminue les risques dun rejet du chemin correct causeacute par une accumulation (soit constante soit temporairement deacutefavorable) derreurs de transmission (Table 6-13) Lextension du nombre de messages de L agrave 2L par la non-exeacutecution de la derniegravere seacutelection des chemins napporte en effet pas dameacutelioration sensible (Figure 6-22) Cette proceacutedure geacutenegravere L messages suppleacutementaires qui possegravedent des probabiliteacutes tregraves reacuteduites decirctre le message correct

140

Figure 6-22 qualiteacute de protection de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC et de lalgorithme de Viterbi Le graphe rouge en trait gras repreacutesente la qualiteacute de protection de lalgorithme de Viterbi le graphe bleu en trait fin celle de la meacutethode iteacuterative livrant L messages Le graphe vert en trait gras indique la qualiteacute de protection obtenue par la livraison de 2middotL messages (eacutelimination de la derniegravere seacutelection des L messages) Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps

Importance du bruit causant un FER de 10-3 [EbN0] Nombre de chemins L Algorithme List

Decoding Meacutethode iteacuterative List Decoding inteacutegr CRC

Algorithme de Viterbi

32 557 dB 553 dB64 527 dB 514 dB

128 516 dB 478 dB

513 dB

Table 6-13 exemple dameacutelioration des performances observeacute dans le cadre du service de parole AMR-NB agrave 122 kbps gracircce agrave la meacutethode iteacuterative

141

En ce qui concerne les simulations (service de parole AMR-NB agrave 122 kbps) le controcircle systeacutematique de la qualiteacute de deacutetection derreurs na reacuteveacuteleacute aucune irreacutegulariteacute dans le jugement effectueacute par le deacutecodeur CRC (cas de fausses validations) Dans le cas dune perturbation par laddition dun bruit blanc gaussien (de 00 agrave 60 dB) ce deacutecodage iteacuteratif avec L=64 messages offre une qualiteacute de protection comparable agrave celle de lalgorithme de Viterbi (Figure 6-22) Dans des conditions de transmission tregraves mauvaises (EbN0lt1dB) on peut mecircme envisager de reacuteduire ulteacuterieurement le nombre de messages L livrables

674 Complexiteacute de calcul

Apregraves avoir deacutemontreacute la faisabiliteacute dune compensation de la qualiteacute de protection par la livraison dune seacuterie de messages cette sous-section considegravere la reacuteduction de la charge de calcul de la meacutethode de deacutecodage La complexiteacute de calcul des meacutethodes iteacuteratives de deacutecodage consideacutereacutees (Figure 6-15) deacutepend tout dabord de la meacutethode de deacutecodage convolutif et ensuite de la proceacutedure iteacuterative de geacuteneacuteration et de controcircle de la validiteacute des messages Lutilisation de lalgorithme List Decoding reacuteduit la complexiteacute de cette proceacutedure iteacuterative mettant intrinsegravequement agrave disposition une liste de chemins dont le deacutecodage permet de geacuteneacuterer une seacuterie de messages Du point de vue de la complexiteacute de calcul le point crucial devient ainsi limplantation de la meacutethode List Decoding Charge de calcul de lalgorithme List Decoding la fonction de seacutelection A chaque niveau de profondeur cet algorithme procegravede agrave la prolongation de L chemins agrave la mise agrave jour de 2middotL meacutetriques cumuleacutees et agrave la seacutelection des L meilleurs chemins (Sous-section 522) Contrairement agrave lalgorithme de Viterbi le deacuteroulement de cet algorithme neacutecessite lintervention dune fonction de tri pour la seacutelection des chemins dont la complexiteacute de calcul deacutepend eacutevidemment du nombre de chemins impliqueacutes dans lopeacuteration Les fonctions de tri classiques telles que les meacutethodes Straight Insertion et Heap Sort neacutecessitent un nombre dopeacuterations dont lordre de grandeur varie entre (2middotL)2 et 2middotLmiddotlog2(2middotL) [Pres92] Avec laugmentation du nombre L de chemins les exigences de ces fonctions deviennent trop importantes et compromettent la reacuteduction de la charge de calcul envisageacutee par lanalyse partielle de lespace de codage Il devient ainsi essentiel dutiliser une solution alternative agrave ces fonctions de tri classiques

142

Proceacutedure de seacutelection deacuteveloppeacutee Une proceacutedure de seacutelection qui utilise la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee et ensuite implanteacutee La fonction de tri peut ainsi ecirctre remplaceacutee par la deacutetermination du seuil deacutelimitant les deux sous-ensembles de meacutetriques (Figure 6-23) Lordre de grandeur de la complexiteacute de calcul de cette proceacutedure est de 2middotL Les deacutetails sont preacutesenteacutes dans lAnnexe B (Section B2)

valeur de lameacutetrique cumuleacutee

best

Met

r np

nom

bre

dech

emin

s

best

Met

r np+1

best

Met

r np+2

L meilleurschemins

seuil

Figure 6-23 recherche du seuil qui permettra ensuite la seacutelection des L meilleurs chemins par simple comparaison Cette repreacutesentation considegravere des meacutetriques se basant sur la pure distance de Hamming

Cette proceacutedure sinspire de lobservation dune stabiliteacute de la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (Figure 6-24) Bien que les valeurs aient tendance agrave augmenter en preacutesence derreurs de transmission la diffeacuterence maximale entre les meacutetriques dmm reste pratiquement constante

143

( )2 log 2dmm MaxContribBranche L

= sdot sdot (66)

ougrave MaxContribBranche est la contribution maximale de la meacutetrique de branche35 (voir Annexe B Section B2) On peut ainsi constater que les 2middotL valeurs de meacutetriques cumuleacutees sont concentreacutees dans un eacutecart reacuteduit agrave dmm valeurs

Figure 6-24 exemple de la dynamique relative aux valeurs des meacutetriques cumuleacutees La distance de Hamming est utiliseacutee comme meacutetrique de branche Configuration List Decoding avec L=64 codeur convolutif avec Rc=13 du standard UMTS [Ts25212] intensiteacute du bruit de EbN0=6dB la partie initiale de la proceacutedure de deacutecodage nest pas afficheacutee

La forte accumulation des valeurs permet de deacutevelopper une proceacutedure de seacutelection exploitant la distribution statistique des meacutetriques cumuleacutees Le principe est leacutetablissement (agrave chaque niveau de profondeur) de la statistique de distribution des meacutetriques cumuleacutees afin de deacuteterminer le seuil qui permet la seacutelection des L meilleurs chemins (Figure 6-23)

35 On rappelle que luniteacute des meacutetriques de branche est la distance de Hamming Les

valeurs de meacutetriques cumuleacutees indiquent ainsi le nombre derreurs rencontreacutees par les divers chemins

144

Du point de vue de la complexiteacute de calcul cette meacutethode peut ecirctre reacutesumeacutee de la maniegravere suivante

bull Les (dmm + MaxContribBranche+1) compteurs doccurrence neacutecessaires pour eacutetablir la statistique des meacutetriques cumuleacutees36 sont remis agrave zeacutero

bull Pendant les opeacuterations de prolongement des chemins ces compteurs sont increacutementeacutes selon les valeurs des nouvelles meacutetriques cumuleacutees

bull Le seuil est ensuite eacutetabli par laddition des valeurs de ces compteurs doccurrence jusquagrave parvenir agrave lisolement des Ls chemins les plus prometteurs (ougrave LsgeL)

0

arg minseuil

statseuil statseuil compteur L

=

= gesum (67)

bull Gracircce agrave ce seuil et agrave un compteur suppleacutementaire (au cas ougrave Ls gt L) les

L meacutetriques cumuleacutees les plus favorables sont identifieacutees Complexiteacute de calcul observeacutee pour la meacutethode List Decoding inteacutegrant la validation du CRC La Table 6-14 et la Table 6-15 montrent les charges de calcul observeacutees pour la meacutethode iteacuterative List Decoding inteacutegrant la validation du CRC La premiegravere table illustre la complexiteacute neacutecessaire agrave lexeacutecution de cette meacutethode avec L=64 messages Deux situations sont traiteacutees en deacutetail la premiegravere preacutesente une situation de transmission de donneacutees sans erreurs alors que la seconde considegravere lexeacutecution exhaustive de la meacutethode en raison dune transmission tregraves mauvaise Dans cette derniegravere situation lalgorithme est forceacute (artificiellement) agrave fournir et agrave examiner tous les L messages La Table 6-15 donne une vue densemble de la complexiteacute de cette meacutethode iteacuterative Elle reacutesume les reacutesultats obtenus en utilisant L=16 32 64 128 et 256 messages Ces reacutesultats mettent en eacutevidence la relation entre la charge de calcul et les conditions de transmission des donneacutees En raison dun nombre important de messages potentiellement livrables la position du message valide dans la liste influence la charge de calcul demandeacutee par la meacutethode

36 Les limites infeacuterieure et supeacuterieure des meacutetriques cumuleacutees sont estimeacutees agrave partir des

valeurs de meacutetriques cumuleacutees obtenues au niveau de profondeur preacuteceacutedent On doit ainsi consideacuterer une diffeacuterence maximale des meacutetriques plus large (pour les deacutetails voir Annexe B) Chaque compteur doccurrence surveille une valeur preacutecise de meacutetrique

145

Par rapport aux simulations relatives au service de parole AMR-NB agrave 122 kbps lemploi de meacutethode iteacuterative avec L=64 messages implique une complexiteacute relative34 qui varie entre 039 (absence derreurs) et 049 (analyse de tous les L messages)

Nombre moyen drsquoopeacuterations observeacutees

Sans erreurs de transmission Exeacutecution exhaustive de lalgorithme (imposeacute)

Format des variables [bits]

Format des variables [bits]

32 16 8 Total 32 16 8 TotalAdditions 0 12703 0 12703 0 12974 0 12974Increacutementations 0 37610 0 37610 0 44497 0 44497Soustractions 0 98 0 98 0 728 0 728Multiplications 1 0 0 1 1 0 0 1Divisions 0 0 0 0 0 0 0 0Transferts de donneacutees 12465 33786 0 46251 12528 42081 0 54609Logique 11910 14387 13 26310 14143 26231 832 41206Deacutecalages 6 12040 1 12101 3714 24129 64 27907Controcircles 85075 85075 93731 93731Pointeur assignations 615 615 678 678Pointeur arithmeacutetique 584 584 6821 6821Boucle initialisations 0 387 0 387 0 513 0 513Boucle controcircles 26636 26636 33251 33251Boucle increacutementations 0 26249 0 26249 0 32738 0 32738Grand total 274621 349654

Table 6-14 complexiteacute de calcul deacutetailleacutee de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC avec L=64 Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 Le fond gris met en eacutevidence les compteurs deacutefinis par lorganisations ITU et ETSI

Ces reacutesultats montrent que lobjectif eacutetabli a eacuteteacute atteint Lanalyse incomplegravete de lespace de codage de la meacutethode List Decoding et la nouvelle fonction de seacutelection des L chemins diminuent la complexiteacute de calcul de la meacutethode iteacuterative List Decoding inteacutegrant la validation CRC Le point crucial est lopeacuteration de seacutelection des L chemins dans la meacutethode List Decoding qui conditionne la reacuteduction de sa charge de calcul Lutilisation de fonctions classiques de tri exige en effet une charge de calcul trop importante ce qui va agrave lencontre de lobtention dune meacutethode efficace du point de vue de la complexiteacute Il a eacuteteacute ainsi neacutecessaire de deacutevelopper une fonction de seacutelection adapteacutee aux caracteacuteristiques de lalgorithme List Decoding

146

Nombre moyen drsquoopeacuterations observeacutees

Viterbi et val CRC ()

List Decoding inteacutegrant la validation CRC Exeacutecution exhaustive (imposeacute)

Contexte EbNo=00dB L=16 L=32 L=64 L=128 L=256 Additions 44551 3771 6879 12974 25010 48992Increacutementations 1320 11908 22695 44497 87853 167660Soustractions 225 250 409 728 1367 2646Multiplications 0 1 1 1 1 1Divisions 0 0 0 0 0 0Transferts de donneacutees 161317 16943 29743 54609 103668 201485Logique 132694 12322 21993 41206 79386 155227Deacutecalages 71003 7014 13989 27907 55656 111091Controcircles 102615 31314 52105 93731 176160 327185Pointeur assignations 612 630 646 678 742 870Pointeur arithmeacutetique 513 2071 3654 6821 13156 25827Boucle initialisations 24269 419 450 513 640 895Boucle controcircles 97734 10571 18258 33251 62734 120947Boucle 73464 10152 17808 32738 62094 120052Grand total 710317 107365 188631 349654 668467 1282877Complexiteacute relative34 100 015 027 049 094 181 List Decoding inteacutegrant la validation CRC

Sans erreurs de transmission Grand total

89711 151934 274621 516245 974710Complexiteacute relative34 013 021 039 073 137

Table 6-15 vue densemble de la complexiteacute de calcul de la meacutethode iteacuterative baseacutee sur List Decoding Les 500 trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les eacutecarts observeacutes sont infeacuterieurs agrave 1 ()Lopeacuteration de validation CRC est illustreacutee dans lAnnexe B (Section B1)

68 Comparaisons des meacutethodes iteacuteratives proposeacutees

Le principe agrave la base de ces deacutecodages iteacuteratifs est la livraison dune seacuterie de messages au deacutecodeur exteacuterieur dans le but didentifier le message correct La probabiliteacute de la livraison du message correct correspond ainsi agrave la somme des probabiliteacutes des L messages livrables Le cas ideacuteal est repreacutesenteacute par la livraison des L messages globalement les plus prometteurs ce qui maximise la probabiliteacute de lobtention du message correct Cette strateacutegie est adopteacutee par la meacutethode iteacuterative List Viterbi

147

Algorithm (LVA) meacutethode qui offre ainsi une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Figure 6-25)

Figure 6-25 vue densemble des potentialiteacutes offertes par les deux meacutethodes iteacuteratives Le graphe vert en trait gras repreacutesente la qualiteacute de protection des meacutethodes iteacuteratives List Decoding inteacutegrant la validation CRC le graphe bleu celle des algorithmes List Viterbi Les valeurs de reacutefeacuterence de lalgorithme de Viterbi sont indiqueacutees au moyen du graphe rouge en trait gras Simulation baseacutee sur 2 millions de trames du codeur de parole AMR-NB agrave 122 kbps La figure indique aussi le domaine dutilisation dans lequel chacune des meacutethodes fournit une protection de qualiteacute et efficace

En raison de linteacutegration de lalgorithme de Viterbi dans la meacutethode iteacuterative de deacutecodage sa complexiteacute de calcul est eacutevidemment supeacuterieure agrave lapproche classique Une implantation soigneuse de lopeacuteration de geacuteneacuteration des messages (Sous-section 663) limite laugmentation de complexiteacute rendant cette meacutethode tregraves inteacuteressante du point de vue du rapport entre lameacutelioration de la qualiteacute de protection et la complexiteacute de calcul (Figure 6-25 et Table 6-16) Le principe de livraison dune seacuterie de messages peut ecirctre aussi exploiteacute pour deacutevelopper une meacutethode de deacutecodage efficace mais moins exigeante en termes de charge de calcul la meacutethode List Decoding inteacutegrant la validation CRC (Figure 6-25 et Table 6-16) La livraison de plusieurs messages permet

148

de compenser ainsi la deacutegradation de la qualiteacute de protection deacutegradation qui est causeacutee par un algorithme de deacutecodage convolutif moins exigeant et moins preacutecis que lalgorithme de Viterbi Lanalyse partielle de lespace de codage et la nouvelle fonction de seacutelection limitent la charge de calcul demandeacutee par le deacutecodage convolutif List Decoding La perte de qualiteacute de protection est ensuite compenseacutee par la recherche iteacuterative du message valide

WCwOPS() Algorithmes Nombre moyen dopeacuterations observeacutees (exeacutecution exhaustive )

Pour le traitement dune trame

Pour le traitement dun bit du message (valeur indicative)

Viterbi EbN0=00dB sans troncation de la meacutemoire

710125 616144 6100

Deacutetection du CRC 192 291 4Meacutethode iteacuterative baseacutee sur lalgorithme List Decoding

L= 32 188631 199919 1979L= 64 349654 369384 3657L= 128 668467 705261 6983

Meacutethode iteacuterative baseacutee sur lalgorithme List Viterbi (LVA) Max 2 messages (L=2) 735996 641881 6355Max 4 messages (L=4) 740003 646035 6396Max 8 messages (L=8) 748147 654465 6480Max 16 messages (L=16) 764862 671704 6651() Worst-Case weighted Operations nombre maximal dopeacuterations impliqueacutees dans lexeacutecution de la proceacutedure analyseacutee pondeacutereacute selon le modegravele proposeacute par lITUETSI Il comprend aussi les opeacuterations neacutecessaires agrave ladressage (Array Index) qui ne sont normalement pas consideacutereacutees lors de ce type deacutevaluation

Table 6-16 vue densemble de la complexiteacute de calcul des meacutethodes les plus repreacutesentatives Les trames utiliseacutees sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps

La Figure 6-25 marque les champs demploi compleacutementaires des deux meacutethodes iteacuteratives La meacutethode LVA est envisageable afin dameacuteliorer la qualiteacute de protection de lalgorithme de Viterbi En variant le nombre L des messages livrables la meacutethode atteint ainsi diffeacuterents gains de codage Toutefois un nombre important de messages (Lgt64) reacuteduit lefficaciteacute de limplantation de la meacutethode (Table 6-16) en raison de la strateacutegie adopteacutee pour la gestion des chemins les plus probables Lemploi envisageable par la meacutethode List Decoding inteacutegrant la validation CRC est la reacuteduction de la charge de calcul de lopeacuteration de deacutecodage tout en

149

gardant le mecircme niveau de qualiteacute de protection que celui de lalgorithme de Viterbi Dans ce cas il sagit ainsi de deacuteterminer le nombre L de chemins qui offre le rapport deacutesireacute entre la qualiteacute de protection et la charge de calcul Lutilisation de ces meacutethodes neacutecessite (impeacuterativement) une capaciteacute de deacutetection derreurs suffisante pour accomplir correctement lopeacuteration didentification [Kuumlhn97] Par rapport au cas pratique du service de parole AMR-NB agrave 122 kbps les nombreuses simulations ont deacutemontreacute la faisabiliteacute et lefficaciteacute de ces meacutethodes iteacuteratives dans le contexte de codage UMTS

69 Conclusions

Ce chapitre a traiteacute le sujet de limplantation software de meacutethodes de deacutecodage de donneacutees proteacutegeacutees par les codes convolutifs du standard UMTS [Ts25212] Lanalyse de la structure de codage de lUMTS a deacutemontreacute encore une fois limportance du codage convolutif dans les standards de communication numeacuterique mobile Les reacutecents standards exploitent massivement ce codage individuellement concateacuteneacute en seacuterie et en parallegravele Cette eacutetude sest concentreacutee sur la seconde configuration Conformeacutement agrave la rapiditeacute deacutevolution du marcheacute actuel de la communication mobile lalgorithme de Viterbi est la meacutethode qui eacuteteacute tout dabord implanteacutee Limportante charge de calcul qui en deacutecoule (Table 6-17) ainsi que limportante variabiliteacute du deacutebit de transmission ont pousseacute leacutetude vers lexploration des potentialiteacutes dexeacutecution offertes par la structure de protection du standard UMTS En jugeant les meacutethodes en termes de rapport entre la qualiteacute de protection et la complexiteacute de calcul deux meacutethodes ont ainsi eacuteteacute proposeacutees le List Viterbi Algorithm (nouvelle reacutealisation) et le List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Ces meacutethodes iteacuteratives se basent sur une exploitation plus exhaustive des informations suppleacutementaires provenant du codage CRC La premiegravere meacutethode preacutesenteacutee a eacuteteacute la meacutethode List Viterbi Algorithm Cette meacutethode offre une qualiteacute de protection supeacuterieure agrave celle de lalgorithme de Viterbi (Table 6-17) Une nouvelle implantation de cette meacutethode conforme aux critegraveres dune exeacutecution en temps reacuteel a confirmeacute non seulement la faisabiliteacute de la meacutethode iteacuterative dans le contexte de codage UMTS mais aussi les bons rapports entre qualiteacute de protection et complexiteacute de calcul

150

Service de parole AMR-NB agrave 122kbps (class A)

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Qualiteacute gain de codage agrave FER=10-3

Exeacutecution exhaustive (imposeacute)

Sans erreurs de transmission

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=513 dB)

100 (710k opeacuterations)

L=2 + 05 dB 104 103 L=8 + 10 dB 105 103 L=32 + 15 dB 113 104

LVA

L=128 + 17 dB 148 112 L=32 - 04 dB 027 021 L=64 00 dB 049 039

List Decoding avec CRC

L=128 + 04 dB 094 073

Table 6-17 reacutesumeacute des reacutesultats obtenus par les simulations du service de parole AMR-NB agrave 122kbps (class A) [TrR104] service proposeacute dans le cadre du standard UMTS Pour les deacutetails voir les tables Table 6-8 Table 6-10 Table 6-11 Table 6-13 et Table 6-15

Une ameacutelioration du rapport qualiteacutecomplexiteacute a eacuteteacute ensuite poursuivie en envisageant une reacuteduction de la complexiteacute de calcul de la meacutethode de deacutecodage La nouvelle meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute ainsi deacuteveloppeacutee et proposeacutee Sa strateacutegie est la liaison iteacuterative dune meacutethode de deacutecodage efficace dans lanalyse partielle de lespace de deacutecodage (la meacutethode List Decoding) avec la validation du message CRC Cette nouvelle meacutethode iteacuterative a eacuteteacute possible gracircce agrave une nouvelle reacutealisation de lalgorithme List Decoding qui a permis une reacuteduction importante de sa charge de calcul Cette reacutealisation revalorise lalgorithme List Decoding aussi dans le contexte dun codage convolutif direct du message Les simulations utilisant le codage du service de parole AMR-NB agrave 122kbps (classe B) confirment la bonne combinaison entre lanalyse partielle de lespace de codage et la charge de calcul (Table 6-18) Cette eacutetude a deacutemontreacute la possibiliteacute pratique dexploiter de maniegravere iteacuterative les informations suppleacutementaires provenant de lenchaicircnement avec un code en bloc afin dameacuteliorer le rapport entre qualiteacute et complexiteacute de lopeacuteration de deacutecodage (Table 6-17) Les simulations exploitant le contexte de codage

151

du service de parole AMR-NB agrave 122kbps (classe A) ont confirmeacute la faisabiliteacute des deux meacutethodes iteacuteratives Elles ont donneacute en plus des indications numeacuteriques sur les ameacuteliorations envisageables (Table 6-17) Par exemple la meacutethode List Viterbi Algorithm (LVA) avec L=8 offre un gain de codage de 10 dB en chargeant le DSP dun nombre dopeacuterations supeacuterieur de 5 par rapport agrave lalgorithme de Viterbi Le reacuteseau UMTS peut reacuteduire la puissance deacutemission des signaux (de EbN0=51 agrave EbN0=41) en garantissant la mecircme qualiteacute de protection des donneacutees (FER=10-3) Dans ce mecircme contexte le remplacement de lalgorithme de Viterbi par la meacutethode List Decoding inteacutegrant la validation CRC permet de reacuteduire la charge de calcul de lopeacuteration de deacutecodage en gardant inchangeacutee la qualiteacute de la protection Lutilisation de L=64 messages offre une protection similaire agrave celle de lalgorithme de Viterbi mais en reacuteduisant de moitieacute le nombre dopeacuterations neacutecessaires au deacutecodage

Service de parole AMR-NB agrave 122kbps (classe B) Qualiteacute gain

de codage agrave BER=10-3

Nombre moyen dopeacuterations observeacutee complexiteacute relative34

Algorithme de Viterbi (reacutefeacuterence)

- (EbN0=41 dB)

100 (788k opeacuterations)

128 chemins - 02 dB 073 64 chemins - 05 dB 039

List Decoding

32 chemins - 10 dB 021

Table 6-18 reacutesumeacute des reacutesultats obtenus par simulations du service de parole AMR-NB agrave 122kbps (class B) [TrR104]

Enfin lun des plus importants reacutesultats de cette eacutetude est la prise de connaissance de la varieacuteteacute des meacutethodes efficaces de deacutecodage Ces meacutethodes offrent une vaste gamme de qualiteacutes Gracircce agrave la souplesse et de la rapiditeacute de deacuteveloppement des implantations software il est ainsi envisageable de creacuteer une librairie de meacutethodes de deacutecodage afin de mieux sadapter aux diffeacuterents contextes de codage

Reacutefeacuterences

[Ande89] J B Anderson Limited Search Trellis Decoding of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 5 septembre 1989 pp 944-955

152

[BDTi5] Berkeley Design Technology Inc (BDTi) Separating Reality from Hype in Processors DSP Performance preacutesentation preacutesenteacutee agrave Embedded Systems Conference (ESC) mars 2002 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[Cede89] M Cedervall R Johannesson Fast Algorithm for Computing Distance Spectrum of Convolutional Codes IEEE Transactions on Information Theory Vol 35 No 6 novembre 1989 pp 1146-1159

[ETSI726] ETSI Enhanced Full Rate (EFR) Speech Transcoding document ETSI ETS 300 726 GSM 0660 version 520

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[ITU729] ITU basic_oph C-code du standard G729a wwwituint [Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional

Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[Nill95] C Nill C-E W Sundberg List and Soft Symbol Output Viterbi Algorithms Extensions and Comparisons IEEE Transactions on Communications vol 43 No 234 feacutevriermarsavril 1995 pp 277-287

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

153

[Sesh94] N Seshadri C-W Sundberg List Viterbi Decoding Algorithms with Applications IEEE Transactions on Communications Vol 42 No 234 feacutevriermarsavril 1994 pp 313-323

[Thit93] P Thitimajshima Les codes Convolutifs Reacutecursifs Systeacutematiques et leur application agrave la concateacutenation parallegravele Thegravese de Doctorat en Electronique Universiteacute de Bretagne Occidentale France 1993

[TrR104] 3GPP Channel Coding and multiplexing examples document 3GPP TR R104 version 001

[Ts22101] 3GPP Service principles document 3GPP TS 22101 version 540

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Ts26071] 3GPP AMR Speech Codec General Description document 3GPP TS 26071 version 400

[Ts26101] 3GPP AMR Speech Codec Frame Structure document 3GPP TS 26101 version 160

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

154

155

7 Architectures hardware baseacutees sur circuits ASIC

La plupart des architectures utiliseacutees dans le cadre de la communication mobile tirent profit aussi bien du support dun DSP que de lutilisation des circuits ASIC Le sujet de ce chapitre est lanalyse des difficulteacutes pratiques et leacutevaluation des potentialiteacutes offertes par une implantation ASIC dune meacutethode de deacutecodage de codes convolutifs

Afin de mieux reacutepondre aux exigences actuelles de la communication mobile la meacutethode de deacutecodage choisie pour leacutetude est lalgorithme de Viterbi Le systegraveme de deacutecodage de base est ainsi deacutecrit en deacutecomposant cet algorithme en ses eacuteleacutements constituants Les paramegravetres la conception les variantes possibles et la reacutealisation mateacuterielle de chaque eacuteleacutement sont traiteacutes Parmi les variantes on eacutetudie une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision37 du bit dinformation le plus vieux pas encore livreacute Cette variante preacutevoit le deacutecodage dun chemin quelconque pour autant quil y ait une distance suffisante entre le niveau de profondeur atteint par le chemin et celui du bit dinformation Une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision est ensuite proposeacutee Cette strateacutegie preacutevoit une reacutealisation sous forme pipeline ce qui augmente le deacutebit de traitement du systegraveme Enfin lanalyse de lopeacuteration de prise de deacutecision preacutesente les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction

Les analyses et les solutions proposeacutees se basent sur les reacutesultats obtenus par la synthegravese du systegraveme de base en utilisant loutil de synthegravese logique Design Compiler de Synopsys (technologie

37 Opeacuteration de reconstruction iteacuterative des eacutetats de meacutemoire du codeur convolutif lors du

codage opeacuteration qui permet de deacuteterminer la valeur des symboles (bits) formant le message Cette opeacuteration sera aussi nommeacutee simplement deacutecodage

156

UMC25-025microm) Le chapitre se termine avec un reacutesumeacute des informations de synthegravese sur la vitesse dexeacutecution et la surface de silicium de chaque eacuteleacutement ainsi que sur les taux dactiviteacute38 des signaux liant les eacuteleacutements constituant le systegraveme de deacutecodage

71 Introduction

La situation des technologies de la troisiegraveme geacuteneacuteration (3G) est actuellement caracteacuteriseacutee par la phase de deacuteveloppement des reacuteseaux et des premiers eacutequipements Les degreacutes dimplantation de ces technologies 3G dans les divers pays europeacuteens ameacutericains et asiatiques sont variable et deacutependent des strateacutegies nationales ainsi que des eacuteconomies locales Aujourdhui le choix dune architecture optimale pour lexploitation de ces nouvelles technologies ne peut beacuteneacuteficier ni dune expeacuterience acquise ni de la maturiteacute des standards 3G Par conseacutequent ce choix ne peut se baser que sur des eacutevaluations et des suppositions que seule la maturation de ces technologies 3G pourra successivement soit valider soit reacutefuter

711 Marcheacute actuel des technologies 3G

Quoi que les reacutecentes anneacutees aient montreacute laugmentation du nombre de tacircches assigneacutees au DSP avec le perfectionnement des standards 2G les autres approches ne doivent pas ecirctre exclues du spectre des solutions possibles dans le domaine de la 3G On ne dispose pas actuellement dune approche globale et optimale pour le traitement numeacuterique du signal dans la bande de base Le marcheacute et les premiers deacutebats pour le choix dune architecture optimale montrent une revalorisation de la contribution de circuits ASIC au fonctionnement des eacutequipements 3G Les informations disponibles sur le deacuteveloppement des premiers reacuteseaux et eacutequipements confirment quun nombre eacuteleveacute de fonctionnaliteacutes de la 3G exploite des circuits speacutecifiques ASIC39 38 Par taux dactiviteacute on entend la freacutequence des changements deacutetat logique dun signal

binaire 39 laquolors du passage de la 2G agrave la 3G le pourcentage de lexeacutecution des tacircches relatives au

Physical Layer par le DSP passe de 100 pour le cas du GSM agrave 10 dans le cas du WCDMAraquo (traduction) [Gath00]

157

Par rapport au cas du deacutecodage de codes convolutifs le marcheacute actuel de la communication mobile propose des solutions sappuyant sur les deux approches software et hardware Dun cocircteacute on perccediloit un effort des principaux fabricants de DSP pour lameacutelioration des performances de leurs reacutecentes familles de processeurs en tenant compte des caracteacuteristiques algorithmiques de la meacutethode de Viterbi (Figure 7-1 et Table 7-1) Lexeacutecution de cet algorithme peut ecirctre faciliteacutee soit par la modification de larchitecture du DSP soit par laddition de nouveaux blocs fonctionnels Un exemple est la famille de DSP C55x de Texas Instruments qui propose une uniteacute speacuteciale Compare Select and Store [Spru312] [Spru393]

0 2 4 6 8 10 12

Texas Instruments C54xx 160 MHz

Texas Instruments C55xx 160 MHz

MotorolaLucent Technologies SC140 300MHz

MotorolaLucent Technologies SC110 300MHz

Infineon Carmel 250 MHz

Motorola DSP5685x 120 MHz

Texas Instruments C64xx 600 MHz

Texas Instruments C64xx-C 600 MHz

vitesse relative selon [BDTi6]

Figure 7-1 exemple deacutevaluation de performances des DSP (disponibiliteacute 2001) par rapport agrave limplantation de lalgorithme de Viterbi Cette eacutevaluation met en eacutevidence la particulariteacute de cet algorithme qui sadapte difficilement au caracteacuteristiques classiques des DSP Evaluation effectueacutee par la socieacuteteacute Berkeley Design Technology [BDTi3] Les deacutetails de la meacutethode deacutevaluation utiliseacutes sont disponible dans larticle [BDTi6]

De lautre coteacute le marcheacute offre aussi bien des ASIC speacutecialiseacutes que des DSP agrave haute performance posseacutedant un coprocesseur voueacute agrave lexeacutecution de lalgorithme de Viterbi A titre dexemple on peut nommer larchitecture parameacutetrable et syntheacutetisable du CorePool FHG_VITERBI de Fraunhofer Institut [FhG01] et le DSP TMS320C6416 de Texas Instruments [Spra750] [Spru533] Cette offre du marcheacute deacutenote laugmentation geacuteneacuteraliseacutee de la charge de calcul demandeacutee par les technologies 3G ainsi que par les particulariteacutes algorithmiques de la meacutethode de Viterbi (Figure 7-1 et la Table 7-1)

158

Fonction Description Exemples dapplications Real Block FIR Filtre agrave reacuteponse impulsionnelle

finie traitant des blocs de donneacutees

Traitement de signaux de parole

Single-Sample FIR

Filtre agrave reacuteponse impulsionnelle finie traitant un eacutechantillon agrave la fois

Traitement de signaux de parole filtrage en geacuteneacuteral

Complex Block FIR

Filtre agrave reacuteponse impulsionnelle finie traitant des blocs de donneacutees complexes

Egalisation dun canal Modem

LMS Adaptive FIR

Filtre adaptatif Least-mean-square traitant un eacutechantillon

Egalisation de canal codage preacutedictif lineacuteaire

Two-Biquad IIR Filtre agrave reacuteponse impulsionnelle infinie traitant un eacutechantillon

Traitement de signaux audio filtrage en geacuteneacuteral

Vector Dot Product

Produit scalaire Convolution correacutelation multiplication matricielle

Vector Add Addition de deux vecteurs Graphique combinaison de signaux

Vector maximation

Recherche de la valeur et de la position de leacuteleacutement le plus grand du vecteur

Protection de donneacutees

Viterbi Decoder Deacutecodage dun signal encodeacute par un code convolutif

Dans le domaine de la communication

Control Seacuterie dopeacuterations (artificielles) concernant le controcircle et la manipulation des bits

Toutes les applications DSP impliquent ces types dopeacuteration

256-Point FFT Transformation de Fourier (Fast Fourier Transformation)

Radar sonar compression audio de type MPEG analyse spectrale

Bit Unpack Extraction de mots (de tailles diffeacuterentes) agrave partir dune seacutequence continue de donneacutees

Deacutecompression de signaux audio et de parole

Table 7-1 ensemble de fonctions utiliseacutees pour leacutevaluation des performances de DSP utiliseacute par la socieacuteteacute Berkeley Design Technology (BDTI) [BDTi1]

712 Exigences des technologies UMTS

Les standards de communication mobile 3G sont le reacutesultat de leffort dun grand nombre de socieacuteteacutes mondiales effort qui a commenceacute au milieu des anneacutees 90 [Gath02] Selon la strateacutegie adopteacutee lors de leur deacuteveloppement les systegravemes appartenant agrave cette technologie 3G sont preacutevus pour supporter une large varieacuteteacute de services en offrant un deacutebit de transmission (Data Rate) fortement

159

variable Ce deacutebit peut atteindre 144 kbps consideacuterant le contexte dune utilisation dans des veacutehicules (Vehicular Outdoor Environment) 384 kbps pour une utilisation peacutedestre (Pedestrian Outdoor Environment) et jusquagrave 2 Mbps agrave linteacuterieur des bacirctiments (Indoor Environment) Comme introduit dans la Section 31 linterface radio a eacuteteacute preacutevue selon un protocole agrave trois couches

bull Le Physical Layer (ou Layer 1) Il est responsable de la transmission sans fil des donneacutees

bull Le Data link layer (ou Layer 2) Sa tacircche est la deacutetermination des caracteacuteristiques des donneacutees en transmission la gestion du flux de ces donneacutees et la qualiteacute du service Le passage dinformations entre ce niveau et le premier est geacutereacute par le Medium Access Layer (MAC)

bull Le Network layer (ou Layer 3) Cette derniegravere couche gegravere les eacutechanges entre leacutequipement portable et le reacuteseau UTRAN (UMTS Terrestrial Radio Access Network) Le Radio Ressource Controller (RRC) est leacuteleacutement de contact avec la premiegravere couche du protocole

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-2 vue densemble des composants de la couche physique (Physical Layer) reacutealisant le traitement digital du signal dans la bande de base [Gath02]

La couche qui nous inteacuteresse est la premiegravere En ne consideacuterant que cette couche la Figure 7-2 donne la vue densemble de ses composants qui accomplissent le traitement numeacuterique du signal dans la bande de base Du point de vue de la complexiteacute de calcul cette premiegravere couche est la plus exigeante en termes de ressources hardware et software Parmi ses

160

composants les plus exigeants on trouve [Gath02] le traitement des donneacutees appartenant aux diffeacuterents canaux de transport (CCTrCH Processing) le deacutecodage de canal la proceacutedure de recherche de la cellule lopeacuteration de Despreading le Maximal Ratio Combination (MRC)40 et le Multipath Search (ou Delay Profile Estimation DPE)41 (Figure 7-3)

4000

2000

3000

1000500

Sceacutenario A Sceacutenario B Sceacutenario C

Millions dopeacuterationspar seconde

Multipath Search

Despreading

MRC

Deacutecodage de canal

Figure 7-3 estimation des ressources de calcul demandeacutees par les tacircches les plus exigeantes selon trois sceacutenarios repreacutesentatifs [Gath02] Sceacutenario A service de parole agrave 8 kbps Sceacutenario B service de parole agrave 122 kbps et service videacuteo agrave 384 kbps Sceacutenario C service geacuteneacuterique agrave 2 Mbps

Lexemple de la Figure 7-3 montre que la puissance de calcul neacutecessaire agrave lexeacutecution de certaines tacircches peut changer de maniegravere importante non seulement en fonction du deacutebit de transmission mais aussi selon le nombre de services offerts les caracteacuteristiques de la transmission sans fil ou encore le nombre de cellules dans le voisinage [Gath02] Parmi ces tacircches on trouve le deacutecodage de canal

40 Proceacutedure de combinaison de signaux reccedilus de maniegravere agrave augmenter la protection contre

les distorsions de type fading 41 La recherche du signal qui sapproche le plus du signal le plus fort afin dexeacutecuter le

maximal ratio combination

161

Reacutepartition des modules des terminaux 3G entre implantation software et reacutealisation hardware Le deacuteveloppement des terminaux mobiles 3G est actuellement caracteacuteriseacute par un besoin eacutevident de souplesse par une augmentation importante de la puissance de calcul demandeacutee et par la varieacuteteacute des services envisageacutes par la 3G

FPGA

Hardware

Flex Heterogeneous Multiprocessing

DSP

Processeurs embarqueacutes

Flexibiliteacute algorithmique agrave dispositionde lapplication

MO

PS

mW

Figure 7-4 compromis entre la consommation deacutenergie et la flexibiliteacute de la reacutealisation [BDTi4]

En raison de la forte demande en puissance de calcul une reacutepartition des modules des terminaux entre implantations software et reacutealisations mateacuterielles est geacuteneacuteralement neacutecessaire En geacuteneacuteral le choix de lapproche suit les regravegles suivantes (Figure 7-4)

bull Si le module exige un nombre dopeacuterations tregraves eacuteleveacute ou si les caracteacuteristiques du traitement sadaptent difficilement aux ressources mises agrave disposition par le DSP une approche hardware est en geacuteneacuteral une solution optimale

bull Si la neacutecessiteacute de souplesse est preacutedominante la meilleure approche est limplantation software

bull Dans certain cas le choix du type dapproche est deacutetermineacute par des critegraveres de basse consommation deacutenergie etou par la particulariteacute du service concerneacute [Gath02]

La Figure 7-5 montre une reacutepartition possible des divers modules du Physical Layer [Gath02] en suivant les critegraveres ci-dessus

162

Par rapport au deacutecodage de codes convolutifs cette opeacuteration demande une charge importante de calcul par bit dinformation limplantation parameacutetrable de lalgorithme de Viterbi preacutesente une complexiteacute de calcul de 30middot2K-1 wOP par bit dinformation (Chapitre 6)42 Cette charge doit ecirctre ensuite pondeacutereacutee par le deacutebit de transmission de lapplication concerneacutee deacutebit qui peut varier de quelques dizaines jusquagrave plusieurs milliers de kbps Limportante variabiliteacute en termes de puissance de calcul qui en deacutecoule ne permet pas deacutetablir agrave priori une strateacutegie geacuteneacuterale et optimale dans ce contexte UMTS (Figure 7-3) Par conseacutequent le spectre des solutions possibles doit consideacuterer les deux approches software et hardware

Software Hardware Software Hardware

Layer 3 (RRC)et

Protocol Stack(controcircle)

Chiffrage Vocodeur

MAC (L2)Traitement de CCTrCHSpreading (Chip-Level)

DPEFinger

allocationDLL

Despread MRC

Estimation decanal

AFC

AGCControcircle de la

puissanceRecherche 1

Recherche initiale

Recherche directe Set Maintenance

Mesures (neighbor et Active Set)

CCTrCH

Algorithmede Viterbi

DeacutecodageTurbo

MAC (L2) Deacutechiffrage

Vocodeur

ApplicationsProtocol stack(donneacutees)

Applications

RX

TX

Figure 7-5 reacutepartition possible des composants de la couche physique pour le traitement digital du signal dans la bande de base [Gath02]

72 Consideacuterations sur limplantation mateacuterielle

721 Deacutefinition du systegraveme dans lequel le deacutecodeur travaille

La configuration de base reste identique agrave celle consideacutereacutee lors de limplantation software de meacutethodes de deacutecodage Les symboles reccedilus sont soumis agrave une deacutecision ferme et leacutetude considegravere la simple livraison du

42 La perte defficaciteacute due agrave cette description souple et parameacutetrable sera ensuite traiteacutee

dans le Chapitre 8

163

message sans informations suppleacutementaires (Bit True) Cette configuration envisage un systegraveme de deacutecodage le plus geacuteneacuteral possible en facilitant la reproduction et la comparaison des reacutesultats Ainsi en contradiction partielle avec le contexte de codage eacutetabli dans le standard UMTS [Ts25212] ce chapitre abordera la situation suivante

bull le deacutecodage de seacutequences infinies de symboles et bull labsence de proceacutedures dadaptation du deacutebit de transmission (par

reacutepeacutetitions et poinccedilonnages de symboles) Ladaptation de ce systegraveme aux standards de teacuteleacutecommunications UMTS sera discuteacutee dans lAnnexe C (Section C1)

722 Description HDL du deacutecodeur

La contrainte principale de la description HDL (Hardware Description Language) est une description compreacutehensible et facile agrave modifier afin de permettre une adaptation rapide aux divers standards de communications La conception de cette proceacutedure est reacutealiseacute selon les notions de modulariteacute et de parameacutetrage permettant ainsi une rapide modification et substitution de tous les blocs de traitement Par rapport au type darchitecture on envisage la conception dun systegraveme autonome de base tout en permettant la conversion rapide dans une solution coprocesseur (Annexe C Section C2) Par conseacutequent la conception de ce systegraveme de base soriente vers une architecture distribueacutee (Distributed Architectures [Gath02]) Cette architecture preacutevoit une autonomie et une indeacutependance de chaque module en diminuant les ressources partageacutees Du point de vue de la consommation deacutenergie cette strateacutegie permet une gestion optimale du mode deacuteconomie deacutenergie et une freacutequence dhorloge adapteacutee agrave chaque module La description du systegraveme de base est valideacutee au moyen de quatre codes convolutifs et par limplantation du code sur FPGA (Field Programmable Gate Array [Gras01]) Les caracteacuteristiques de ces codes convolutifs sont illustreacutees dans la Table 7-2

164

Polynocircmes geacuteneacuterateurs [octal]

Codeur Longueur de contrainte

Nombre deacutetats diffeacuterents

G0 G1 G2

Distance libre dfree

Exemple dutilisation dans le contexte des teacuteleacutecommunications

Codeur4eacutetats 3 4 5 7 7 8 -

Codeur16eacutetats 5 16 25 33 37 12 GSM 60 kbps Data TC [Etsi909]

Codeur64eacutetats 7 64 133 145 175 15 GSM Half Rate Speech TC [Etsi909]

Codeur256eacutetats 9 256 557 663 711 18 UMTS Channel Coding [Ts25212]

Table 7-2 caracteacuteristiques des codes convolutifs avec rendement Rc=13 utiliseacutes pour leacutevaluation et la validation de la conception du deacutecodeur Les acronymes indiqueacutes dans la premiegravere colonne du tableau seront utiliseacutes dans la suite de ce document pour identifier le codeur convolutif utiliseacute

723 Meacutethode de deacutecodage lalgorithme de Viterbi

Contrairement au cas preacuteceacutedent dune implantation software une seule meacutethode de deacutecodage est consideacutereacutee pour leacutevaluation des potentialiteacutes de lapproche hardware lalgorithme de Viterbi Les raisons de ce choix sont lieacutees aux caracteacuteristiques de cette meacutethode de deacutecodage qui facilitent lapproche hardware notamment par sa structure algorithmique parallegravele et tregraves reacuteguliegravere ainsi que par son indeacutependance algorithmique du flux des donneacutees Ce dernier aspect est important afin de reacuteduire les risques de modifications dues agrave la maturation des standards et agrave lexpeacuterience acquise avec les technologies 3G Afin de permettre le deacutecodage dune seacutequence continue de symboles lalgorithme de Viterbi doit sappuyer sur une proceacutedure de troncation de la meacutemoire Bien que cette proceacutedure emploie un paramegravetre reacuteglant le fonctionnement de la meacutethode (la distance δ) la longue expeacuterience acquise permet de reacuteduire au minimum les coucircts de reacuteglage de ce paramegravetre Enfin sur le plan de qualiteacute de protection cet algorithme est retenu communeacutement comme la meacutethode de reacutefeacuterence en raison de sa bonne protection contre les erreurs

165

73 Systegraveme de base

731 Vue densemble

Conformeacutement aux directives dune deacutecomposition de lalgorithme de Viterbi en ses eacuteleacutements constituants le systegraveme est tout dabord partageacute en deux grandes uniteacutes fonctionnelles (Figure 7-6) La premiegravere uniteacute est responsable de la seacutelection des chemins par mise agrave jour des valeurs des meacutetriques cumuleacutees Cette uniteacute est diviseacutee en deux modules Le premier module (indiqueacute par lacronyme BMu) est chargeacute du calcul des meacutetriques de branches en consideacuterant les symboles reccedilus rnp Ces meacutetriques sont utiliseacutees par le second module (ACSu) qui effectue la mise agrave jour des valeurs des meacutetriques cumuleacutees Par comparaison de ces valeurs les chemins survivants sont ensuite seacutelectionneacutes Les informations sur les chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des autres modules

calcul des meacutetriquesde branches

(Branch Metric unitBMu)

mise agrave jour des meacutetriques cumuleacuteeset seacutelection des survivants

(Add-Compare-Select unit ACSu)

deacutecodage du chemin choisi(Trace Back unit TBu)

seacutelection du chemin(Best Path Search

BPS)

np-egraveme blocde symbolesrecus rnp

deacutecision surle bit np-δ

meacutetriquescumuleacuteessurvivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

Figure 7-6 architecture du systegraveme de base deacutecrit en HDL La tacircche de la seconde uniteacute est la prise de deacutecision du plus vieux bit qui na pas encore eacuteteacute deacutelivreacute Cette proceacutedure implique le choix dun chemin dont le deacutecodage permet une prise de deacutecision correcte Le module nommeacute BPS soccupe du choix du chemin alors que la prise de deacutecision par deacutecodage du chemin est exeacutecuteacutee par le module TBu Les paramegravetres utiliseacutes dans la description HDL du systegraveme de base peuvent ecirctre reacutepartis en deux classes ceux qui deacutecrivent les caracteacuteristiques du codeur

166

convolutif et ceux qui regraveglent la conception du systegraveme Dans la premiegravere classe on trouve les paramegravetres deacutecrivant les fonctions geacuteneacuteratrices Gi la longueur de contrainte du code K et le nombre deacutetats diffeacuterents que la meacutemoire du codeur peut atteindre La distance δ de troncation de la meacutemoire le nombre de bits utiliseacutes pour les repreacutesentations des meacutetriques sont les paramegravetres de la seconde classe

732 Synchronisation et reacutepartition entre blocs combinatoires et non-combinatoires

Apregraves la preacutesentation de larchitecture du systegraveme de base cette section traite les aspects de synchronisation et de reacutepartition entre blocs combinatoires et non-combinatoires (Figure 7-7) Selon le flux des donneacutees le module BMu est abordeacute en premier Ce module qui est responsable du calcul des meacutetriques de branches nest implanteacute que par de la logique purement combinatoire sans lutilisation daucune meacutemoire tampon (Buffer) agrave lentreacutee

BMuseacutelection

dessurvivants

ACSu

BPS

Gestion du TB

TBureacuteconstructiondes eacutetats (TB)

horloge

horloge

decisionsymbolesreccedilus

survivants

meacutetriqueseacutetat dedeacutepart

sauvergarde desvaleurs des

meacutetriques cumuleacutees

signal indiquant lepoint de deacutepartarriveacutee

de la proceacutedure dedeacutecodage

signaux indiquantla mise agrave jour desinformationssauvergardeacutees

Figure 7-7 gestion de la synchronisation relative agrave la reacutealisation physique du systegraveme

La reacutealisation physique du module suivant (le ACSu) est caracteacuteriseacutee par deux parties fonctionnelles lune est responsable de la sauvegarde des derniegraveres valeurs des meacutetriques cumuleacutees et lautre de la seacutelection des chemins survivants par la mise agrave jour de leurs meacutetriques cumuleacutees Lopeacuteration de seacutelection utilise les valeurs de meacutetriques fournies par le module preacuteceacutedent et celles sauvegardeacutees dans le module mecircme A partir de ces valeurs les chemins survivants sont seacutelectionneacutes par de la logique combinatoire En raison du stockage des valeurs de meacutetrique cette opeacuteration de seacutelection est synchroniseacutee par le signal dhorloge du systegraveme

167

Parallegravelement les informations des chemins survivants ainsi que leurs meacutetriques cumuleacutees sont mises agrave disposition des modules BPS et TBu En suivant le flux principal de donneacutees le prochain module est le BPS Sa tacircche est la deacutetermination du chemin le plus conforme agrave une prise de deacutecision correcte cette opeacuteration implique uniquement de la logique combinatoire Le dernier module est le module TBu qui est chargeacute de lopeacuteration de prise de deacutecision du bit dinformation Cette opeacuteration implique tout dabord le stockage et la gestion des informations permettant la reconstruction des chemins survivants Ce module reccediloit reacuteguliegraverement les nouvelles informations au sujet des chemins survivants qui selon une strateacutegie de meacutemoire circulaire remplacent les anciennes informations devenues deacutesormais inutiles A partir du chemin indiqueacute par le module BPS ces informations sont ensuite utiliseacutees pour reconstruire de maniegravere iteacuterative les eacutetats anteacuteceacutedents de meacutemoire du codeur jusquagrave extraire la valeur du (np-δ)-egraveme bit dinformation Les interfeacuterences entre les deux tacircches du module sont eacuteviteacutees en synchronisant lopeacuteration de sauvegarde des informations et le deacutebut de la proceacutedure de reconstruction du chemin La reacutealisation physique de ce module TBu utilise aussi bien des blocs combinatoires que non-combinatoires Ces derniers sont utiliseacutes pour la sauvegarde des informations et pour la gestion des signaux qui indiquent le point de deacutepart det arriveacutee de la proceacutedure de reconstruction des chemins Par rapport aux contraintes sur le signal dentreacutee (Figure 7-7) le signal des symboles reccedilus doit rester stable durant une peacuteriode suffisante pour assurer

bull le stockage correct des nouvelles meacutetriques cumuleacutees dans le module ACSu

bull la seacutelection du chemin le plus favorable pour la prise de deacutecision chemin qui est meacutemoriseacute dans le module TBu

733 Calcul des meacutetriques des branches

La tacircche de ce module est le calcul de toutes les meacutetriques de branches qui seront ensuite utiliseacutees pour la mise agrave jour des meacutetriques cumuleacutees lors de la proceacutedure de seacutelection des chemins survivants (Figure 7-8) Selon le contexte de codage binaire (b=1) la proceacutedure de seacutelection de lalgorithme de Viterbi neacutecessite les valeurs de meacutetriques de branches des

168

couples de chemins convergeant en chaque eacutetat du treillis (Figure 7-9) ce module est chargeacute de la livraison de ces couples de meacutetriques

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

symbolesreccedilus

en rapport agrave la fonctiongeacuteneacuteratrice G0

geacuteneacuteratrice G1geacuteneacuteratrice G2

Figure 7-8 calcul des meacutetriques de branches

Les valeurs des meacutetriques de branches coiumlncident avec la distance de Hamming existant entre les symboles reccedilus et ceux geacuteneacutereacutees par les transitions deacutetats En preacutesence de codeurs convolutifs avec rendement Rc=13 la repreacutesentation numeacuterique de ces meacutetriques demande 2 bits

nouveau bit agravelentreacutee du codeur

valeur de leacutetatnp

meacutemoire du codeurK-1 bits0

1valeur de leacutetatnp

valeur de leacutetatnp

niveau deprofondeur np

meacutemoire du codeur

Figure 7-9 repreacutesentation graphique des deux transitions qui megravenent au mecircme eacutetat de meacutemoire du codeur convolutif

En raison dune approche parameacutetrable les 2M=22K-1 meacutetriques de branches sont deacutecrites agrave laide des 3 fonctions geacuteneacuteratrices Gi et de leacutetat de meacutemoire du codeur Lopeacuteration doptimisation des calculs est deacuteleacutegueacutee aux compilateurs de synthegravese La conception de ce module deacutepend des paramegravetres deacutecrivant le codeur convolutif notamment le rendement Rc et les matrices geacuteneacuteratrices Gi En raison de cette forte deacutependance aux changements de contexte de codage les approches coprocesseurs (Annexe C Section C2) deacutelegraveguent la tacircche de ce module aux processeurs

169

734 Seacutelection des chemins survivants

Le module ACSu est chargeacute de la seacutelection des nouveaux chemins survivants agrave laide des reacutecentes valeurs de meacutetriques cumuleacutees (Figure 7-10) Les informations de parcours des chemins survivants et les valeurs de leurs meacutetriques cumuleacutees doivent ecirctre ensuite mises agrave disposition des autres modules de maniegravere agrave permettre la reconstruction des chemins les plus inteacuteressants Reacutepartition du module en deux parties En raison de sa tacircche ce module est composeacute de deux parties fonctionnelles la premiegravere responsable du stockage des meacutetriques cumuleacutees et la seconde de la seacutelection des 2K-1 chemins survivants (Figure 7-11)

ACSu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques debranches

information sur leschemins survivants

meacutetriques cumuleacutees

horloge Figure 7-10 seacutelection des chemins survivants

Les deux paramegravetres qui agissent sur ce module sont

bull Le nombre de bits utiliseacute pour la repreacutesentation des valeurs des meacutetriques de branches Ce paramegravetre influence la repreacutesentation numeacuterique des meacutetriques cumuleacutees

bull Le nombre deacutetats diffeacuterents M que la meacutemoire du codeur peut montrer Ce paramegravetre concerne la description du codeur convolutif et sa valeur deacutepend de la longueur de contrainte du code (M= 2K-1)

La conception du module est ainsi moins sensible aux modifications du contexte de codage Par exemple en consideacuterant la structure de codage de lUMTS [Ts25212] la conception reste inchangeacute indeacutependamment de lutilisation dun des deux codes convolutifs agrave disposition

170

Repreacutesentation numeacuterique des meacutetriques cumuleacutees La strateacutegie du traitement des meacutetriques cumuleacutees doit consideacuterer les aspects suivants

bull Lopeacuteration de seacutelection des chemins survivants neacutecessite la repreacutesentation correcte des diffeacuterences entre les valeurs des meacutetriques cumuleacutees

bull La seacutelection du chemin le plus prometteur (pour la prise de deacutecision) est communeacutement baseacutee sur lidentification de la meacutetrique cumuleacutee la plus favorable

bull En raison dune meacutetrique accumulant le nombre derreurs rencontreacutees par les chemins la transmission erroneacutee des donneacutees implique la croissance des valeurs des meacutetriques cumuleacutees

bull Le deacutecodage de seacutequences infinies de symboles ne permet pas de fixer une valeur limite aux meacutetriques cumuleacutees

bull La repreacutesentation numeacuterique des meacutetriques cumuleacutees influence la conception les performances et les caracteacuteristiques de tous les blocs qui sont responsables des opeacuterations de mise agrave jour de comparaison et de stockage des meacutetriques cumuleacutees

En consideacuterant ces aspects la strateacutegie choisie envisage une repreacutesentation minimaliste des meacutetriques cumuleacutees avec la contribution dune fonction de normalisation des valeurs de meacutetriques Lobjectif est de garantir la relation correcte entre les valeurs des meacutetriques cumuleacutees tout en minimisant les ressources neacutecessaires aux opeacuterations daddition de comparaison et de stockage de ces meacutetriques Premiegravere eacutetape la deacutetermination du nombre minimal de bits Leacutetablissement de la repreacutesentation numeacuterique des meacutetriques cumuleacutees doit tout dabord prendre en consideacuteration le nombre minimal de bits neacutecessaires agrave la description correcte des eacutecarts entre les meacutetriques Comme deacutejagrave montreacute dans le chapitre preacuteceacutedent la diffeacuterence maximale entre les valeurs des meacutetriques cumuleacutees (au mecircme niveau de profondeur) est ( )max -1diffeacuterence MaxContribBranche K= sdot (71) En consideacuterant que lopeacuteration de normalisation suit les opeacuterations de mise agrave jour des meacutetriques cumuleacutees et de seacutelection du chemin survivant (Figure 7-11) leacutecart (71) est ainsi eacutelargi

171

max max +

= dyn diffeacuterence MaxContribBranche

MaxContribBranche K=

sdot (72)

afin dassurer lexeacutecution correcte des opeacuterations de seacutelection Par conseacutequent le nombre minimal de bits neacutecessaire agrave la repreacutesentation correcte de leacutecart est ( )min 2 maxlog 1bitsDynamique dyn = + (73) Seconde eacutetape la proceacutedure de normalisation La strateacutegie adopteacutee vise agrave garantir une repreacutesentation correcte des diffeacuterences entre les meacutetriques agrave laide dune fonction de normalisation (Figure 7-11)

stockage desmeacutetriques cumuleacutees

ACS

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations sur leschemins survivants

horloge

Normalisation

initialisation Figure 7-11 structure du module ACSu montrant la strateacutegie choisie pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Le principe classique de normalisation preacutevoit la soustraction dune valeur deacutetermineacutee agrave priori lorsque toutes les meacutetriques cumuleacutees atteignent ou deacutepassent un seuil fixeacute [Min91] La valeur soustraite peut ecirctre soit eacutegale (cas ideacuteal) soit infeacuterieure agrave la meacutetrique cumuleacutee la plus basse afin deacuteviter le deacutepassement de la valeur minimale repreacutesentable (Underflow)

172

Bien que la deacutetermination du seuil de normalisation ne soit soumise agrave aucune contrainte elle influence ineacutevitablement le nombre de bits neacutecessaires agrave la repreacutesentation des meacutetriques cumuleacutees ainsi que la conception de lopeacuteration de normalisation Eacutevidemment la repreacutesentation des variables doit permettre le deacutepassement correct du seuil par toutes les meacutetriques cumuleacutees sans geacuteneacuterer de situations de deacutepassement de la valeur maximale repreacutesentable (Overflow) la reacutepreacutesentation numeacuterique doit ainsi couvrir lespace

max0 seuil -1 dyn

+ (74) La valeur du seuil influence aussi la reacutealisation physique de la tacircche de surveillance de son deacutepassement La solution ideacuteale est lutilisation dun seuil de meacutetrique dont la repreacutesentation numeacuterique coiumlncide avec une puissance de 2 Dans ce cas le controcircle de leacutegalisationdeacutepassement du seuil se concentre sur un seul bit de la repreacutesentation numeacuterique des meacutetriques cumuleacutees Un autre avantage qui en deacutecoule est la simplification de lopeacuteration de soustraction en fixant la valeur de normalisation eacutegale au seuil lopeacuteration se reacuteduit agrave la simple remise agrave zeacutero du bit surveilleacute (Figure 7-12)

Bit suppleacutementaire utiliseacute pour lecontrocircle du deacutepassement du seuilLa normalisation est effectueacutee parla remise agrave zeacutero de ce bit

bits neacutecessaires pour larepreacutesentation correcte detout eacutecart des meacutetriquescumuleacutees

Figure 7-12 strateacutegie adopteacutee pour la repreacutesentation numeacuterique des meacutetriques cumuleacutees

Solution adopteacutee La strateacutegie choisie emploie une repreacutesentation numeacuterique utilisant (bitsDynamiquemin +1) bits (Table 7-3) Ce bit suppleacutementaire repreacutesente pratiquement la valeur du seuil de normalisation ainsi que la valeur de soustraction (Figure 7-12) notamment la valeur de

173

min2 bitsDynamique (75) Ce choix permet de limiter le nombre de bits de la repreacutesentation numeacuterique des meacutetriques cumuleacutees et de simplifier la reacutealisation physique de lopeacuteration de normalisation (controcircle et soustraction) Initialisation des meacutetriques cumuleacutees Apregraves avoir deacutefini la repreacutesentation numeacuterique des valeurs des meacutetriques cumuleacutees on aborde le sujet de leur initialisation Lexploitation de leacutetat de deacutepart de la meacutemoire du codeur peut se reacutealiser par linitialisation diffeacuterencieacutee des meacutetriques cumuleacutees Lobjectif poursuivi est de rendre deacutefavorables les chemins deacutemarrant dautres eacutetats de deacutepart De maniegravere analogue agrave limplantation software (Sous-section 641) on peut ainsi utiliser une valeur dinitialisation entre ( 1)MaxContribBranche Ksdot minus

et ( 1)ValMaxMetrique MaxContribBranche K

minus sdot minus Comme deacutejagrave expliqueacute dans le chapitre preacuteceacutedent cette initialisation permet dexploiter les informations de deacutepart du codage convolutif sans exiger aucune proceacutedure suppleacutementaire de controcircle

Meacutetriques de branches (Rc=13)Codeur Longueur de contrainte K Taille de la

repreacutesentation [bits]

Valeur maximale [distance de Hamming]

Taille de la repreacutesentation des meacutetriques cumuleacutees [bits]

Codeur4eacutetats 3 2 3 5 Codeur16eacutetats 5 2 3 5 Codeur64eacutetats 7 2 3 6 Codeur256eacutetats 9 2 3 6

Table 7-3 vue densemble du nombre de bits utiliseacutes pour la repreacutesentation des meacutetriques cumuleacutees dans les divers contextes de codage

174

Seacutelection des 2K-1 chemins survivants La tacircche de ce module est la seacutelection des M=2K-1 chemins survivants par comparaison des meacutetriques cumuleacutees des couples de chemins qui convergent en un mecircme eacutetat du treillis (Figure 7-13) La structure algorithmique de la proceacutedure de seacutelection des M chemins survivants savegravere ainsi tregraves parallegravele et reacuteguliegravere ce qui favorise une reacutealisation mateacuterielle

meacutetriquescumuleacutees np-1

meacutetriques debranches np

meacutetrique cumuleacutee np

seacutelection dusurvivant

indication dum-egraveme cheminsurvivant(1 bit)

ACSm

Figure 7-13 description graphique de lopeacuteration de seacutelection du m-egraveme chemin survivant

Contrairement aux implantations software une reacutealisation mateacuterielle permet dexploiter exhaustivement le paralleacutelisme algorithmique de la tacircche de seacutelection Geacuteneacuteralement si lexeacutecution seacutequentielle offre tous les avantages dune surface reacuteduite [Kapp92] la strateacutegie parallegravele permet lexploitation optimale de la structure algorithmique de lopeacuteration de seacutelection ameacuteliorant le deacutebit du traitement Si on considegravere une reacutealisation mateacuterielle de lalgorithme original de Viterbi (la prise de deacutecision nest effectueacutee quagrave la fin du traitement de tous les symboles reccedilus) le temps dexeacutecution de cette opeacuteration de seacutelection des M survivants deacutetermine le deacutebit du systegraveme de deacutecodage Pour cette raison la reacutealisation de cette uniteacute a fait lobjet de nombreuses eacutetudes [Fett90] [Min91] [Kapp92] Afin de prendre connaissance des potentialiteacutes dune reacutealisation mateacuterielle cette eacutetude prend en compte la strateacutegie dune exploitation exhaustive du paralleacutelisme disponible (Figure 7-14)

175

Par rapport agrave la conception de lopeacuteration de seacutelection dun chemin survivant (Figure 7-13) lopeacuteration de mise agrave jour des meacutetriques cumuleacutees la comparaison et la seacutelection du meilleur chemin sont exeacutecuteacutees de maniegravere seacutequentielle

FF

ACS0

ACS1

ACSM-1

meacutetriques cumuleacuteesnpmeacutetriques cumuleacuteesnp-1

meacutetriques debranchesnp

indications descheminssurvivants

horloge

Normalisation

Figure 7-14 structure parallegravele du module responsable de la seacutelection des chemins survivants

735 Prise de deacutecision

La seconde grande uniteacute du systegraveme de deacutecodage (Figure 7-6) se charge de la prise de deacutecision et de la livraison du bit le plus ancien pas encore remis au destinataire La strateacutegie communeacutement exploiteacutee est la troncation de la meacutemoire (Sous-section 642) qui preacutevoit la seacutelection du chemin agrave la profondeur actuelle np dont le deacutecodage permet une prise de deacutecision correcte du (np-δ)-egraveme bit dinformation (Figure 7-15) Cette strateacutegie est indispensable pour effectuer une prise de deacutecision dans un contexte de codage qui envisage la protection dune seacutequence infinie de bits dinformation

176

Deacutecodage du chemin la reconstruction des eacutetats de la meacutemoire du codeur A laide du deacutecodage du chemin indiqueacute par le module preacuteceacutedent BPS le module TBu se charge de la prise de deacutecision du bit le plus vieux pas encore livreacute (Figure 7-15)

TBu

horloge

BPS

meacutetriques cumuleacuteesagrave la profondeur np eacutetat de deacutepart

information concernantles chemins survivants agravela profondeur np deacutecision sur

le bitnp -δ

Figure 7-15 opeacuteration de prise de deacutecision sur la valeur du bitnp-δ

Dans le contexte dun codage convolutif non-reacutecursif la prise de deacutecision du bitnp-δ sexeacutecute en estimant leacutetat de la meacutemoire du codeur agrave un niveau de profondeur compris entre (np-δ) et (np-δ+(K-2)) Gracircce agrave la caracteacuteristique du codeur de garder en meacutemoire les valeurs des derniers (k-1) bits du message la valeur du bit concerneacute peut ecirctre ainsi extraite (Figure 7-16) La reconstruction des δp eacutetats preacuteceacutedents neacutecessite le stockage des derniegraveres δp informations sur les chemins survivants Ce module est ainsi chargeacute du stockage et de la gestion des informations qui sont neacutecessaires agrave la reconstruction des eacutetats des meacutemoires des chemins survivants En raison de la strateacutegie de troncation de la meacutemoire ces informations sont sauvegardeacutees dans une meacutemoire circulaire (Figure 7-17) Gestion des proceacutedures de reconstruction des eacutetats et de stockage des informations La reacutealisation physique de lopeacuteration de prise de deacutecision doit assurer le deacuteroulement correct de deux opeacuterations fondamentales

bull la sauvegarde des informations des nouveaux chemins survivants bull le deacutepart de la proceacutedure de reconstruction des eacutetats du chemin

Afin dassurer la succession correcte de ces deux opeacuterations un bloc fonctionnel a eacuteteacute expresseacutement deacuteveloppeacute et chargeacute de la synchronisation entre les deux opeacuterations (Figure 7-17)

177

indicationssur les chemins survivantsdu niveau de profondeur np

niveau de profondeurnp - +1

niveau de profondeurnp

eacutetat de deacutepart

eacutetat agrave laprofondeur np- pδ

deacutecision surle bitnp-δ

anciennesindicationssur les cheminssurvivants

Figure 7-16 reconstruction des eacutetats et extraction de la valeur estimeacutee du (np-δ)-egraveme bit dinformation En vert sont repreacutesenteacutees les nouvelles informations sur les chemins survivants En jaune les informations qui apregraves lexeacutecution de la prise de deacutecision vont devenir inutiles La distance δp est comprise entre les valeurs δ et (δ-K+2)

Ce bloc est constitueacute par deux chaicircnes circulaires de δp bascules Chaque chaicircne est sensible agrave un flanc diffeacuterent du signal dhorloge et seule la sortie dune bascule par chaicircne preacutesente un signal actif Les signaux actifs des deux chaicircnes sont utiliseacutes pour lactivation des bascules de stockage des informations et pour la seacutelection de luniteacute de deacutepart de la proceacutedure de reconstruction (Figure 7-17) Cette strateacutegie permet la synchronisation des deux opeacuterations garantissant une reacutealisation physique exempte de pheacutenomegravenes de glitches [Gras01] Paramegravetres du module TBu Les deux paramegravetres qui agissent sur ce module sont le nombre deacutetats M de la meacutemoire du codeur (M= 2K-1) et la distance δp La valeur de ce dernier paramegravetre deacutepend de la strateacutegie de seacutelection du chemin qui sera utiliseacute pour la prise de deacutecision soit le chemin le plus probable soit un chemin quelconque

178

reconstructionde leacutetat

preacuteceacutedent

Gestion de la proceacutedure concernant la prise de deacutecisionhorloge

cheminde deacutepart

deacutecisionprise

information dereconstruction duchemin survivant

eacutetat

informations sur lesderniers cheminssurvivants

signal indiquant le pointde deacutepart et darriveacutee de

la proceacutedure

signal pour la mise agrave jour desinformations sauvergardeacutees

reconstructionde leacutetat

preacuteceacutedent

Figure 7-17 illustration de la structure pour la proceacutedure de prise de deacutecision Le signal chemin de deacutepart indique le chemin dont le deacutecodage permet la prise de deacutecision qui sera ensuite communiqueacutee par le signal deacutecision prise

736 Deacutesignation du chemin permettant une prise de deacutecision correcte

Lopeacuteration de prise de deacutecision emploie la strateacutegie de la troncation de la meacutemoire strateacutegie qui preacutevoit le deacutecodage dun chemin agrave la profondeur actuelle np jusquagrave extraire la valeur du (np-δ)ndashegraveme bit dinformation (Figure 7-16) Strateacutegie classique de seacutelection du chemin Le critegravere classique preacutevoit la seacutelection du chemin qui possegravede la meacutetrique cumuleacutee la plus favorable Comme illustreacute dans la Sous-section 642 cette approximation de lalgorithme de Viterbi permet danticiper la prise de deacutecision sans provoquer une deacutegradation sensible de la qualiteacute de protection agrave condition dutiliser une distance δ approprieacutee au contexte de codage ( )4 6 Kδ = sdotsim (76)

179

Le deacutesavantage de cette strateacutegie est la composante seacutequentielle de lopeacuteration de seacutelection qui saccroicirct avec le nombre de chemins agrave veacuterifier (Figure 7-18) On utilise en effet K-1 stades de comparaisons Bien que cette strateacutegie ait eacuteteacute adopteacutee pour la conception du systegraveme de deacutecodage de base lexploration des potentialiteacutes de cette approche mateacuterielle stimule lanalyse dune solution alternative

seacutelection dela meilleure

meacutetrique

seacutelection dela meilleure

meacutetrique

meacutetriquecumuleacutee

eacutetat

seacutelection dela meilleure

meacutetrique Figure 7-18 exemple de reacutealisation de luniteacute BPS pour la deacutetermination du chemin le plus favorable en analysant les meacutetriques cumuleacutees des quatre eacutetats (code convolutif avec longueur de contrainte de 3)

Solution alternative la deacutesignation dun chemin quelconque Les deacutesavantages dune exeacutecution seacutequentielle peuvent ecirctre eacuteviteacutes en changeant la strateacutegie de lopeacuteration seacutelection la deacutesignation dun chemin quelconque pour la prise de deacutecision Cette strateacutegie exploite le pheacutenomegravene de laggravation des valeurs de meacutetriques cumuleacutees de tous les chemins dont le deacutecodage comporte une prise de deacutecision erroneacutee43 La strateacutegie preacutevoit le choix dun chemin agrave un niveau de profondeur np+δzp

44 suffisamment grand qui ne peut ecirctre attendu que par les 43 Ces chemins seront nommeacutes par la suite chemins incorrects 44 Dans ce cas la distance δ est nommeacutee δzp de maniegravere agrave mieux seacuteparer les deux

strateacutegies dune part celle utilisant le chemin le plus probable (distance δ) et de lautre celle choisissant un chemin quelconque de deacutepart (distance δzp)

180

chemins comportant une deacutecision correcte du np-egraveme bit dinformation45 (Figure 7-19) Deacutetermination de la distance δzp Afin de rendre neacutegligeable la deacutegradation introduite par cette meacutethode la deacutetermination de la distance δzp doit consideacuterer la relation entre

bull laugmentation minimale des meacutetriques des chemins incorrects et bull la meacutetrique cumuleacutee la plus deacutefavorable des chemins corrects au

niveau de profondeur np+δzp (Figure 7-19)

Info Bitnp

Niveau deprofondeur np-1 np

np+1

chemin qui comporte une deacutecisioncorrecte du np-egraveme bit dinformation

chemin qui comporte une deacutecisionincorrecte du np-egraveme bit dinformation

chemin le plusprobable

np+ -1δ np+δ np+ zpδ

np+ -1zpδ

Figure 7-19 illustration graphique des deux strateacutegies de seacutelection du chemin utiliseacute pour lopeacuteration de prise de deacutecision du np-egraveme bit dinformation bitnp Cas simplifieacute

Pour la deacutetermination de la distance δzp on suppose ainsi que

bull A chaque transition laugmentation minimale des meacutetriques cumuleacutees des chemins incorrects est de

n MinMetrCroissancesdot (77)

bull La meacutetrique la moins favorable des chemins corrects est estimeacutee agrave laide de la diffeacuterence maximale existant entre les valeurs extrecircmes des meacutetriques cumuleacutees (diffeacuterencemax (71)) En supposant que la meacutetrique la plus favorable coiumlncide avec le nombre exact derreurs de transmission la valeur de meacutetrique la plus deacutefavorable est

45 Dans la suite du paragraphe ces chemins seront appeleacutes chemins corrects

181

max0nombre derreurszpnp diffeacuterenceδrarr + + (78)

A partir de ces assertions leacutetablissement de la distance δzp est ainsi soumis agrave lineacutequation

min maxnp np+min

nombre derreurszp

zp zp

diffeacuterencen MinMetrCroissance

δδ δ rarr=

+gt

sdot (79)

afin deacuteviter une deacutegradation de la qualiteacute de protection offerte par lalgorithme de Viterbi Par rapport agrave la strateacutegie classique cette strateacutegie doit atteindre eacutevidemment une profondeur δzp plus grande (δzp gt δ) dont laugmentation peut ecirctre estimeacutee en groupant les ineacutequations (64) et (79)

( )min min -1zpMaxContribBranche Kn MinMetrCroissanceδ δasymp + sdotsdot

(710)

Distance δzp agrave laide de simulations Lutilisation de lineacutequation (79) neacutecessite la connaissance preacutecise de plusieurs caracteacuteristiques techniques qui sont propres au code convolutif utiliseacute Par conseacutequent on souhaite disposer dune regravegle empirique qui facilite la deacutetermination dune distance δzp adapteacutee au contexte de codage Les reacutesultats de nos simulations montrent quune distance δzp supeacuterieure agrave 6-8 fois la longueur de contrainte K suffit agrave rendre neacutegligeable la deacutegradation de la qualiteacute de protection due agrave cette strateacutegie (exemple Figure 7-20) Les simulations effectueacutees montrent ensuite une relation entre les deacutegradations de la qualiteacute des deux strateacutegies relation qui suit empiriquement leacutequation46 ( ) ( )

meilleur chemin chemin quelconque2 deacutegradation deacutegradation zp Kδ δδ = + sdotasymp (711)

Strateacutegie du deacutecodage dun chemin quelconque conclusions Lavantage de disposer dune solution simple et rapide est contrebalanceacute par laugmentation de la distance δzp de troncation de la meacutemoire Cette solution

46 En comparant cette relation (711) avec leacutequation (710) on peut eacutetablir une meilleure

correspondance entre les deux en remplaccedilant la valeur de croissance maximale par la valeur moyenne (Table 6-5)

182

implique laugmentation du retard algorithmique ainsi que des ressources de stockage des informations des chemins survivants Par conseacutequent lutilisation de cette strateacutegie est strictement soumise agrave lanalyse des coucircts suppleacutementaires provoqueacutes par laugmentation de la distance de troncation

Figure 7-20 deacutegradations causeacutees par la troncation de la meacutemoire (distances δ et δzp) Le graphe rouge repreacutesente la qualiteacute de protection offerte par lalgorithme original de Viterbi Le graphe vert en trait gras indique la qualiteacute de protection obtenue selon la strateacutegie classique du choix du chemin le plus prometteur Le graphe bleu en trait fin indique la qualiteacute de protection obtenue en deacutecodant un chemin quelconque (dans ce cas les chemins lieacutes agrave leacutetat zeacutero) Paramegravetres de simulation codeur256eacutetats messages de 1000 bits 8 bits de terminaisons 1 million de messages distances multiples de la longueur de contrainte du code

74 Synthegravese du systegraveme de base

Cette section illustre les reacutesultats de synthegravese de chaque module du systegraveme de base agrave laide du compilateur Design Compiler (Synopsys) La proceacutedure de synthegravese a suivie une strateacutegie Bottom-up et utiliseacutee la librairie Virtual Silicon Technology VST25 (UMC25 025microm) La liste et la description deacutetailleacutee des paramegravetres utiliseacutes sont illustreacutes par la Table 7-4

183

741 Strateacutegie adopteacutee

Le but de la strateacutegie de synthegravese adopteacutee (Table 7-4 Figure 7-21) est la prise de connaissance des caracteacuteristiques et des potentialiteacutes de chaque module du systegraveme de base sans orienter la proceacutedure de synthegravese vers un but particulier Cette strateacutegie de synthegravese nimplique ainsi aucune proceacutedure doptimisation (sur le plan de larchitecture du systegraveme dimplantation logique ou du choix des cellules) ce qui permet une vue densemble des caracteacuteristiques propres agrave chaque module La marge de manœuvre qui en deacutecoule peut ecirctre ensuite exploiteacutee pour ameacuteliorer ulteacuterieurement les potentialiteacutes du systegraveme de base

Compilateur Synopsys Design Compiler (Synopsys DC) version 200005-1 Langage VHDL (Very High-Speed Integrated Circuit Hardware Description

Language) Librairie Virtual Silicon Technology VST25 UMC25 (025microm)

(et ALTERA APEX20k pour la validation pratique) Strateacutegie de synthegravese Bottom-Up Paramegravetre Argument Commande pour Synopsys DC Effort dans la synthegravese moyen

(valeur par deacutefaut) -map_effort medium

Modegravele capacitif des fils 10k -set_wire_load suggested_10K Conditions dexploitation Pire des cas -set_operating_conditions WORST Couverture de test 95

(valeur par deacutefaut) -set_min_fault_coverage 95 ndashtiming_critical

Critegravere de lapproche structured -set_flatten_false -design -set_structure_true -design

Horloge 50ns (valeur par deacutefaut)

-create_clock ndashperiod 50 ndashwaveform 0 25

Table 7-4 Contexte de synthegravese du systegraveme de base

742 Synthegravese des modules

Module BMu le calcul des meacutetriques de branches La reacutealisation physique de ce module est purement combinatoire (Table 7-5) Comme deacutejagrave expliqueacute la strateacutegie adopteacutee pour la conception de ce module est la description parameacutetrable de lopeacuteration de calcul des 2M=22K-1 meacutetriques de branches Lopeacuteration doptimisation des calculs est ainsi deacuteleacutegueacutee au compilateur de synthegravese (approche structured Table 7-4)

184

Figure 7-21 exemple de synthegravese du systegraveme de base agrave laide du compilateur Design Compiler de Synopsys Le contexte de codage est le codeur4eacutetats

185

Cette strateacutegie permet une adaptation rapide aux autres contextes de codage sans nuire sensiblement agrave la qualiteacute de la reacutealisation physique

Virtual Silicon Technology VST25 UMC25 Contexte de codage Nombre de

cellules Surface Nombre

indicatif de portes logiques(NAN2D1)

Temps dexeacutecution

Codeur4eacutetats 11 3564 microm2 15 039 nsCodeur16eacutetats 23 6178 microm2 26 092 nsCodeur64eacutetats 49 10375 microm2 44 158 nsCodeur256eacutetats 135 26136 microm2 110 181 ns

Table 7-5 caracteacuteristiques relatives agrave la reacutealisation physique du module BMu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module ACSu la seacutelection des chemins survivants Les Table 7-6 et Table 7-7 reacutesument les caracteacuteristiques principales de la synthegravese du module ACSu qui est chargeacute de la seacutelection des M=2K-1 chemins survivants Les principes suivis pour la conception du module sont la seacutelection parallegravele des 2K-1 chemins survivants une repreacutesentation des meacutetriques cumuleacutees minimisant le nombre de bits neacutecessaires lemploi dune fonction de normalisation de ces meacutetriques ainsi quune initialisation des meacutetriques permettant lexploitation des conditions de deacutepart de lopeacuteration de codage (remise agrave zeacutero de la meacutemoire du codeur)

Virtual Silicon Technology VST25 UMC25 Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules Partie combin

Partie non-combin

Total Portes logiques ()

Bascules

Codeur4eacutetats 174 64627 34848 99475 272 20Codeur16eacutetats 679 252806 139392 392198 1064 80Codeur64eacutetats 3324 1217542 669082 1886623 5124 384Codeur256eacutetats 13504 4907153 2676327 7583479 20653 1536() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-6 caracteacuteristiques relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

186

Virtual Silicon Technology VST25 UMC25 Contexte de codage

Temps dexeacutecution Freacutequence (indicative) apregraves synthegravese

Codeur4eacutetats 237 ns 400 MHz Codeur16eacutetats 257 ns 370 MHz Codeur64eacutetats 340 ns 280 MHz Codeur256eacutetats 432 ns 220 MHz

Table 7-7 ordre de grandeur des performances relatives agrave la reacutealisation physique de ce module ACSu Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module BPS la seacutelection du chemin pour la prise de deacutecision La strateacutegie classique de prise de deacutecision utilise le chemin partiel qui au moment de lexeacutecution de cette opeacuteration est estimeacute le plus probable Le principal deacutesavantage de cette strateacutegie est la forte composante seacutequentielle de lopeacuteration de seacutelection du chemin montrant la meacutetrique cumuleacutee la plus favorable (Figure 7-18) La reacutealisation physique de cette uniteacute (Table 7-8) met en eacutevidence cette probleacutematique le nombre de stades de comparaison saccroicirct parallegravelement agrave laugmentation du nombre de chemins impliqueacutes dans la seacutelection

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Nombre de

cellules (blocs de comparaison)

Surface [microm2] Nombre indicatif de portes logiques (NAN2D1)

Stades de comparaison

Temps [ns]

Codeur4eacutetats 5 (3) 22651 95 2 224Codeur16eacutetats 21 (15) 126878 534 4 542Codeur64eacutetats 89 (63) 682705 2873 6 1060Codeur256eacutetats 393 (255) 3010867 12672 8 1535

Table 7-8 reacutealisation physique du module BPS par blocs de comparaisons (Table 7-9) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

187

Virtual Silicon Technology VST25 UMC25 025microm

Surface Contexte de codage Nombre de

cellules Combinatoire Nombre indicatif de portes logiques (NAN2D1)

Temps

Codeur4eacutetats 16 7445 microm2 31 107 nsCodeur16eacutetats 18 8395 microm2 35 132 nsCodeur64eacutetats 23 10771 microm2 45 164 nsCodeur256eacutetats 25 11722 microm2 49 176 ns

Table 7-9 reacutealisation physique du bloc responsable de la comparaison de deux meacutetriques cumuleacutees de maniegravere agrave deacuteterminer la meilleure Ce bloc repreacutesente luniteacute de base pour la construction du module BPS Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Module TBu la prise de deacutecision La reacutealisation mateacuterielle des modules BPS et TBu a suivi lapproche la plus classique la deacutetermination du chemin partiel le plus probable afin dextraire la valeur du bit le plus vieux pas encore livreacute

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre de

cellules (nombre de blocs de meacutemoire δp)

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 52 (15) 46253 171310 217563 195 95Codeur16eacutetats 107 (25) 263736 809978 1073714 1110 455Codeur64eacutetats 337 (35) 1161547 4062247 5223794 4889 2316Codeur256eacutetats 1210 (45) 4888066 20277973 25166040 20573 11616() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-10 reacutealisation physique de la proceacutedure complegravete de prise de deacutecision agrave partir de blocs chargeacutes du stockage des informations et de reconstruction de leacutetat preacuteceacutedent de la meacutemoire (Table 7-11) La distance δp est eacutegale agrave (5middotK) Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Les reacutesultats de la synthegravese du module TBu sont illustreacutes agrave laide de la Table 7-10 La reacutealisation du module se base sur la concateacutenation de δp blocs opeacuterationnels (Table 7-11) chacun chargeacute

188

1 du stockage des informations des M chemins survivants appartenant au mecircme niveau de profondeur et

2 de la reconstruction de leacutetat preacuteceacutedent du chemin survivant seacutelectionneacute

Par rapport au paramegravetre de distance δp limplantation considegravere la reconstruction iteacuterative et successive de δp=(5middotK) eacutetats de meacutemoire

Virtual Silicon Technology VST25 UMC25 025microm Surface [microm2] Nombre deacuteleacutements

Contexte de codage Nombre

de cellules

Partie combinatoire

Partie non-combinatoire

Total Portes logiques ()

Bascules

Codeur4eacutetats 11 3010 7366 10375 13 4Codeur16eacutetats 43 10296 28274 38570 43 16Codeur64eacutetats 147 32155 111910 144064 135 64Codeur256eacutetats 514 104861 446450 551311 441 128() Nombre indicatif de portes logiques (NAN2D1) de la partie combinatoire

Table 7-11 reacutealisation physique du bloc responsable du stockage des informations concernant les chemins survivants agrave une certaine profondeur Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

743 Surface de silicium

La Figure 7-22 montre une vue densemble de la surface demandeacutee par chaque module Les deux modules les plus exigeants sont le module ACSu et le TBu Indeacutependamment du nombre deacutetats consideacutereacutes ces deux modules repreacutesentent en effet plus de 90 de la surface du systegraveme de base entier (Figure 7-23) Etant chargeacute de la seacutelection parallegravele des M=2K-1 chemins survivants la surface du module ACSu deacutepend lineacuteairement du nombre deacutetats repreacutesentables par la meacutemoire du codeur Les opeacuterations de seacutelection sont accomplies par M uniteacutes parallegraveles et les M meacutetriques cumuleacutees sont sauvegardeacutees dans le module mecircme La surface du module TBu deacutepend non seulement du nombre M deacutetats mais aussi de la valeur de la distance δp Le module est constitueacute de lenchaicircnement de δp uniteacutes fonctionnelles chacune responsable de la reconstruction dun eacutetat de meacutemoire en plus du stockage des informations lieacutees agrave M chemins survivants Si on considegravere que les paramegravetres M et δp deacutependent tous les deux de la longueur de contrainte K on obtient un module dont la demande de surface

189

saccroicirct rapidement avec laugmentation de la taille de meacutemoire du codeur convolutif (Figure 7-23)

00001

00010

00100

01000

10000

100000

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

contexte de codage

Surf

ace

[mm

2 ]

BMu

ACSu

BPS

TBu

Figure 7-22 vue densemble des valeurs de surface de chaque module

0

20

40

60

80

100

codeur4eacutetats codeur16eacutetats codeur64eacutetats codeur256eacutetats

Surf

ace

TBu non-combTBu combBPS combACSu non-combACSu combBMu comb

Figure 7-23 vue densemble de la reacutepartition de la surface entre les modules Leacutegende comb partie combinatoire du module non-comb partie non-combinatoire du module

190

744 Vitesse dexeacutecution

La Table 7-12 donne une vue densemble des temps dexeacutecution des diverses tacircches valeurs obtenues par la synthegravese du systegraveme de base Les estimations de la vitesse dexeacutecution apregraves routage sont obtenues en reacuteduisant dun facteur deux les valeurs de vitesse reacutesultant apregraves synthegravese

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Design Compiler de

Synopsys (apregraves synthegravese) Estimation

apregraves routage

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Uniteacute TBu structure seacutequentielle (δp=5middotK)

Deacutebit de traitement du systegraveme ()

Codeur4eacutetats 039 ns 237 ns 224 ns 1308 ns 38 MbitssCodeur16eacutetats 092 ns 257 ns 542 ns 5995 ns 8 MbitssCodeur64eacutetats 158 ns 340 ns 1060 ns 8817 ns 6 MbitssCodeur256eacutetats 181 ns 432 ns 1535 ns 11357 ns 4 Mbitss() Lestimation apregraves routage est obtenue par la pondeacuteration dun facteur deux des valeurs de synthegravese

Table 7-12 vue densemble des valeurs concernant la vitesse dexeacutecution des divers modules

Ces reacutesultats montrent que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage Si les performances des modules ACSu et BMu sont relativement stables le deacutebit de traitement des deux autres modules se deacutegrade parallegravelement agrave laugmentation de la longueur de contrainte K En raison de la tacircche assigneacutee ces deux modules montrent en effet des composants seacutequentiels dont limportance deacutepend directement du paramegravetre K K-1 stades de comparaisons (module BPS) et la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles (module TBu) Ces composants seacutequentiels agrandissent la profondeur logique de la reacutealisation mateacuterielle de ces opeacuterations ralentissant le temps dexeacutecution des tacircches assigneacutees Ces composants seacutequentiels influencent eacutevidemment les performances du systegraveme entier les performances de lopeacuteration de prise de deacutecision deacuteterminent le deacutebit de traitement maximal du systegraveme de deacutecodage Bien que les performances de lopeacuteration de prise de deacutecision deacutegradent parallegravelement agrave laugmentation de la longueur de contrainte K du code ce systegraveme de deacutecodage assure un deacutebit de traitement suffisant aux exigences des

191

standards UMTS lestimation du deacutebit de traitement indique une valeur de 4 millions de bits dinformation traiteacutes par seconde (Table 7-12)

745 Taux dactiviteacute des signaux liant les modules

On termine la discussion sur les aspects de la synthegravese du systegraveme en analysant les taux dactiviteacute des signaux38 qui lient les diffeacuterents modules du systegraveme (Figure 7-24 et Table 7-13)

calcul desmeacutetriques

de branches(BMu)

mise agrave jourdes

meacutetriquescumuleacutees et

seacutelectiondes

survivants(ACSu)

deacutecodagedu chemin

choisi(TBu)

seacutelection duchemin(BPS)

in_data

arr_branch_up

arr_branch_down

in_up_down_vec

in_up_down_vec

arr_mtr

start_st

out_data

horloge

reset

Figure 7-24 signaux liant les modules du systegraveme (Table 7-13)

Outil et simulations Les taux dactiviteacute sont deacutetermineacutes agrave laide de loutil ModelSim (Model Technology) qui agrave partir dune seacutequence donneacutee de symboles dentreacutee simule le comportement du systegraveme entier (deacutecrit en VHDL) Ce faisant cet outil permet la caracteacuterisation des signaux liant les divers modules caracteacuterisation qui peut ecirctre ensuite utiliseacutee par Design Compiler (Synopsys) pour une eacutevaluation plus preacutecise de la consommation deacutenergie de chaque module (Chapitre 8)

192

Signal Description horloge Signal dhorloge reset Remise agrave zeacutero in_data Symboles reccedilus arr_branch_updown Meacutetriques de branches in_up_down_vec Informations sur les chemins survivants arr_mtr Meacutetriques cumuleacutees start_st Eacutetat de deacutepart de la proceacutedure de deacutecodage out_data Deacutecision sur lancien bitt-δ

Table 7-13 liste des signaux utiliseacutes pour la description VHDL du systegraveme

Deux sont les cas consideacutereacutes pour la prise de connaissance des taux dactiviteacute des signaux La premiegravere classe de simulations considegravere une transmission numeacuterique de donneacutees absente derreurs (exemple Table 7-14) Dans ce cas les symboles sont creacutees en codant un flux de bits dinformation aleacuteatoire Lautre classe de simulations prend en compte eacutevidemment des situations de transmission extrecircmement deacutesastreuses en termes derreurs Dans ces simulations les symboles dentreacutee du deacutecodeur sont entiegraverement geacuteneacutereacutes de maniegravere aleacuteatoire (exemple Table 7-15) Reacutesultats des simulations A partir des reacutesultats de ces simulations dont la Table 7-14 et Table 7-15 montrent deux exemples repreacutesentatifs on peut analyser et commenter le comportement des modules constituant le systegraveme de deacutecodage Le module BMu calcule les diverses meacutetriques de branches agrave partir des symboles reccedilus Lactiviteacute de ce module est strictement deacutependante de lactiviteacute des symboles reccedilus (in_data) A titre dexemple le codage dune seacutequence infinie de zeacuteros en labsence derreurs de transmission geacutenegravere une situation stationnaire dans le module BMu Dans cette situation extrecircme on assiste agrave une non-transition des eacuteleacutements logiques du module Le module ACSu se partage en deux parties La premiegravere partie eacutetant responsable des opeacuterations permettant la seacutelection des chemins survivants est entiegraverement reacutealiseacutee par logique combinatoire Par contre la seconde partie est chargeacutee du stockage des valeurs des meacutetriques cumuleacutees des chemins survivants Lactiviteacute de ce module est ainsi influenceacutee dune part par les taux dactiviteacute des meacutetriques de branches et de lautre par ceux des meacutetriques cumuleacutees

193

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 5 MSB 000 000 4 000 000 3 093 011 2 054 049 1 047 049 0 LSB 050 049

bit P[1] Activiteacute 6 MSB 049 045 5 049 045 4 050 045 3 049 045 2 049 045 1 049 045 0 LSB 049 045

in_up_down_vec

bit P[1] Activiteacute 2 MSB 051 047 1 MSB 049 055 0 LSB 050 047

bit P[1] Activiteacute

1 MSB 050 050 0 LSB 051 050

P[1]= 040 Activiteacute=047

P[1]=048 Activiteacute =047

Table 7-14 taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur256eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim47 La simulation considegravere la reacuteception dune seacutequence de symboles creacuteeacute par le codage de 1000 bits dinformation Ces bits ont eacuteteacute geacuteneacutereacutes de maniegravere aleacuteatoire Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation Leacutegende P[1] indique la probabiliteacute que le bit soit eacutegal agrave leacutetat 1 activiteacute repreacutesente le nombre de transition par cycle dhorloge

Les taux dactiviteacute des meacutetriques de branche sont stable et ne changent que dans une situation (artificielle) de codage stationnaire en absence derreurs Par contre lactiviteacute des meacutetriques cumuleacutees (arr_mtr) est fonction de la strateacutegie adopteacutee pour sa repreacutesentation (nombre de bits et fonction de normalisation) et des conditions de transmission Etant donneacute que la meacutetrique cumuleacutee indique le nombre derreurs rencontreacute par le chemin son taux dactiviteacute est eacutevidemment influenceacute par le deacutebit derreurs de transmission (Table 7-14 et Table 7-15) Lanalyse du taux dactiviteacute du signal dinformation in_up_down_vec prouve lutilisation dune fonction de seacutelection qui favorise (en cas de meacutetriques eacutequivalentes) le chemin dont leacutetat preacuteceacutedent possegravede le LSB eacutegal agrave zeacutero Ce signal qui indique le LSB de leacutetat de provenance du chemin survivant montre en effet la preacutedominance de leacutetat logique zeacutero (Table 7-14 et Table 7-15) 47 ModelSim SEEE PLUS 55e de Model Technology Incorporated Mentor Graphics

(Rev 200110)

194

ModelSim SE PLUS 55e Revision200110 in_data arr_branch_up

arr_branch_downarr_mtr start_st out_data

bit P[1] Activiteacute 4 MSB 006 008 3 049 013 2 051 027 1 051 046 0 LSB 050 054

bit P[1] Activiteacute 1 MSB 032 042 0 LSB 049 049

in_up_down_vec

bit P[1] Activiteacute 2 MSB 049 043 1 MSB 051 044 0 LSB 049 045

bit P[1] Activiteacute

1 MSB 050 0440 LSB 050 051

P[1]=032 Activiteacute=041

P[1]=045 Activiteacute=048

Table 7-15 le taux dactiviteacute des signaux liant les modules (Figure 7-24 Table 7-13) du systegraveme Codeur4eacutetats Les taux dactiviteacute sont obtenus agrave laide du programme Modelsim Cette analyse se base sur la geacuteneacuteration aleacuteatoire de 1000 symboles dentreacutee (signal in_data) Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quau deacutebut de la simulation Leacutegende voir Table 7-14

Le module BPS est chargeacute du choix du chemin partiel le plus probable Par conseacutequent la fonction de seacutelection est influenceacutee par le contenu du message et par les erreurs de transmission Dans la situation dune eacutequiprobabiliteacute des messages et dabsence derreurs de transmission le chemin le plus favorable peut montrer de maniegravere eacutequitable tous les eacutetats de meacutemoire (signal start_st Table 7-14) Par contre en preacutesence dun fort deacutebit derreurs lopeacuteration de seacutelection du chemin est confronteacutee agrave des situations deacutequivalence des meacutetriques cumuleacutees Dans cette situation le taux dactiviteacute de ce signal de sortie montre les traces de lutilisation de fonctions de seacutelection ineacutequitable en cas deacutequivalence des meacutetriques (Table 7-15) Ces fonctions sont les opeacuterations de seacutelection du chemin survivant (module ACSu) et les uniteacutes de comparaison des chemins survivants (module BPS) Le dernier module traiteacute est le TBu Lanalyse de son signal de sortie qui repreacutesente la prise de deacutecision sur le plus vieux bit pas encore livreacute ne permet pas la caracteacuterisation du taux dactiviteacute de ce module Les informations quon peut obtenir sur son taux dactiviteacute deacuterivent de la conception du module En effet la strateacutegie de reacutealisation implique quagrave chaque peacuteriode dhorloge

bull un des δp eacuteleacutements de sauvegarde stocke les nouvelles informations des M chemins survivants

195

bull quatre bascules des deux chaicircnes circulaires de synchronisation (Figure 7-17) changent deacutetat

bull lexeacutecution de la prise de deacutecision cest agrave dire la reconstruction successive de δp eacutetats de meacutemoire du chemin seacutelectionneacute

75 Strateacutegie pipeline pour la prise de deacutecision

751 Motivation

Lanalyse des reacutesultats de synthegravese montre que les performances des divers modules reacuteagissent diffeacuteremment agrave la variation du contexte de codage (Table 7-12) Si les deacutebits de traitement des modules ACSu et BMu sont relativement stables les performances des deux autres modules se deacutegradent avec laugmentation de la longueur de contrainte K En raison des tacircches assigneacutees les deux modules chargeacutes de la prise de deacutecision montrent de fortes composantes seacutequentielles dont limportance deacutepend du paramegravetre K

bull K-1 stades de comparaisons pour la seacutelection du chemin le plus probable et

bull la concateacutenation seacutequentielle de δp=5middotK uniteacutes opeacuterationnelles pour la prise de deacutecision

Ces composants seacutequentiels deacutegradent non seulement les deacutebits de traitement des modules mais aussi les performances du systegraveme entier (Table 7-12) Si la strateacutegie dune prise de deacutecision exploitant un chemin quelconque permet de minimiser le temps dexeacutecution du module BPS la reacutealisation du module TBu reste leacuteleacutement crucial de notre systegraveme Dans le contexte dune exploitation exhaustive du paralleacutelisme algorithmique disponible il devient inteacuteressant dexplorer une strateacutegie pipeline pour lexeacutecution de lopeacuteration de prise de deacutecision Son principe est lexeacutecution simultaneacutee de plusieurs opeacuterations de prise de deacutecision ce qui permet lameacutelioration du deacutebit de traitement de luniteacute TBu

196

t-3 t-2 t-1 t t-5 t-4

eacutetat de deacutepart (t)

eacutetatt(t-1)t

Peacuteriode

bloc responsable du stockage des informations(niveau de profondeur t-2) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-3)

eacutetatt(t-2)

t-3 t-2 t-1 t t+1 t-4

eacutetat de deacutepart (t+1)

t+1

eacutetatt(t-6)

deacutecision info bitt+1-δ

eacutetatt+1(t-5)

deacutecision info bitt-δ

eacutetatt(t-3) eacutetatt(t-5)eacutetatt(t-4)

eacutetatt+1(t)eacutetatt+1(t-3) eacutetatt+1(t-2) eacutetatt+1(t-1)eacutetatt+1(t-4)

Figure 7-25 opeacuterations de prise de deacutecision Lapproche suivie est la reconstruction seacutequentielle des δp eacutetats preacuteceacutedents de la meacutemoire du codeur agrave partir du chemin seacutelectionneacute Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

752 Approche pipeline

La proceacutedure de prise de deacutecision peut ecirctre exeacutecuteacutee en δp eacutetages agrave chaque eacutetage leacutetat preacuteceacutedent de la meacutemoire du codeur est reconstruit agrave laide des informations sauvegardeacutees (Figure 7-26) La vitesse dexeacutecution dun de ces blocs fondamentaux de reconstruction devient leacuteleacutement indiquant les potentialiteacutes du module TBu (Table 7-16) En raison dune exeacutecution reacutepartie en δp eacutetages cette approche demande le double du nombre de blocs fondamentaux qui sont neacutecessaires au stockage des informations ainsi quagrave la reconstruction deacutetats preacuteceacutedents (Figure 7-26) Evidemment elle entraicircne laugmentation du retard algorithmique de lopeacuteration de prise de deacutecision retard qui passe ainsi de δp agrave 2middotδp peacuteriodes

197

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

bloc responsable du stockage des informations(niveau de profondeur t) et de la reconstruction

de la valeur de leacutetat preacuteceacutedent (t-1)bascule

deacutecision info bitt-δ

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-3)t+2

eacutetat de deacutepart (t+1)

eacutetat de deacutepart (t+2)

eacutetat de deacutepart (t+3)

Figure 7-26 repreacutesentation graphique du deacuteroulement de lopeacuteration de prise de deacutecision exploitant une structure pipeline (δp=3) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

753 Ameacutelioration de la strateacutegie pipeline

Lanalyse defficaciteacute de cette strateacutegie montre une gestion insatisfaisante des opeacuterations de reconstruction les 2middotδp blocs fondamentaux sont en effet chargeacutes de la reconstruction parallegravele de seulement δp chemins Cette structure pipeline (Figure 7-26) souffre de la reconstruction parasitaire de δp chemins qui napporte aucune contribution agrave lopeacuteration de prise de deacutecision Sur le plan de la consommation deacutenergie cette situation est intoleacuterable

198

Virtual Silicon Technology VST25 UMC25 025microm (valeurs apregraves synthegravese)

proceacutedure complegravete de prise de deacutecision bloc responsable du stockage des informations et reconstruction deacutetat

Contexte de codage

δp =5middotK Temps Freacutequence indicative

Temps Freacutequence indicative

Codeur4eacutetats 15 1308 ns 75 MHz 061 ns 1600 MHzCodeur16eacutetats 25 5995 ns 15 MHz 116 ns 860 MHzCodeur64eacutetats 35 8817 ns 11 MHz 187 ns 530 MHzCodeur256eacutetats 45 11357 ns 8 MHz 209 ns 470 MHz

Table 7-16 ordre de grandeur des performances de la reacutealisation du module TBu Les indications concernant le bloc fondamental impliquent lopeacuteration de seacutelection la lecture des informations sauvegardeacutees et la reconstruction des eacutetats preacuteceacutedents du chemin seacutelectionneacute Les paramegravetres et les options de synthegravese sont eacutenumeacutereacutes dans la Section 74

Une solution possible est une intervention sur le signal dhorloge (Gated Clock) des bascules interposeacutees entre les blocs de maniegravere agrave activer seulement les δp blocs opeacuterationnels qui sont impliqueacutes dans les opeacuterations demandeacutees Par conseacutequent le signal dhorloge liant toutes les bascules (Figure 7-26) peut ecirctre remplaceacute par deux signaux dhorloge liant les bascules de maniegravere alterneacutee (Figure 7-27) Laspect de la faible consommation deacutenergie peut aussi tirer profit de cette solution Cette structure pipeline permet de limiter la consommation deacutenergie en eacutevitant la reacutepeacutetition dopeacuterations identiques de reconstruction La reconstruction deacutetats du chemin actuellement seacutelectionneacute peut en effet beacuteneacuteficier des opeacuterations preacuteceacutedemment effectueacutees Le beacuteneacutefice quon peut obtenir est proportionnel au nombre de transitions deacutetats que les deux chemins ont en commun

754 Redondance des opeacuterations de reconstruction deacutetats

Indeacutependamment de la strateacutegie dexeacutecution de lopeacuteration de prise de deacutecision cette sous-section preacutesente les beacuteneacutefices dune eacutelimination des reacutepeacutetitions (successives) dopeacuterations identiques de reconstruction

199

t t-5 t-4 t-3 t-2 t-1horloge

t t+1 t-4 t-3 t-2 t-1horloge

eacutetat de deacutepart (t)

eacutetat de deacutepart (t+1)

t t+1 t+2 t+3 t-2 t-1horloge

eacutetat de deacutepart (t+3)

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt(t-3)

t

Peacuteriode

t+1

t+3

eacutetatt(t-1)

eacutetatt(t-2)

eacutetatt+1(t)

eacutetatt+1(t-2)

bascule

bloc responsable du stockage desinformations et de la reconstruction de la

valeur de leacutetat preacuteceacutedent

t t+1 t+2 t+3 t+4 t-1horloge

eacutetat de deacutepart (t+4)

t+4 eacutetatt+1(t-2)

t t+1 t+2 t-3 t-2 t-1horloge

eacutetatt(t-2)t+2 eacutetatt(t-3) eacutetatt+1(t-1)

eacutetat de deacutepart (t+2)

deacutecision info bitt-δ

deacutecision info bitt+1-δ Figure 7-27 optimisation de la structure pipeline de la tacircche de prise de deacutecision (δp=3) La structure est geacutereacutee par deux signaux dhorloge qui sont activeacutes de maniegravere alterneacutee (lactiviteacute est illustreacutee par la taille de la ligne repreacutesentant le signal) Labreacuteviation eacutetati(t) indique leacutetat de la meacutemoire du i-egraveme chemin de deacutepart par rapport agrave la peacuteriode t

Limportance de la reacuteduction de consommation est eacutevidemment deacutetermineacutee par le nombre de transitions que les chemins choisis ont en commun Par

200

conseacutequent la reacuteduction la plus importante est atteinte lorsque le nouveau chemin seacutelectionneacute est la prolongation du chemin preacuteceacutedemment utiliseacute Dans ce cas apregraves une seule opeacuteration de reconstruction on peut utiliser entiegraverement tous les reacutesultats de la reconstruction preacuteceacutedente A partir de ces eacutevidences on sattend agrave ce que limportance de la reacuteduction deacutepende du critegravere de seacutelection du chemin de la distance δp ainsi que des erreurs de transmission Prise de deacutecision par le deacutecodage du chemin le plus probable Dans le cas de lutilisation du chemin le plus probable la redondance des opeacuterations est influenceacutee par le nombre derreurs et par leur distribution temporelle

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-28 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision qui utilise les chemins les plus probables Paramegravetres de la simulation contexte de codage codeur16eacutetats et 118k opeacuterations de choix du chemin le plus probable

Le cas ideacuteal est repreacutesenteacute par la seacutelection dun chemin qui est la prolongation du preacuteceacutedent ce qui demande la reconstruction dun seul eacutetat de meacutemoire La seacutelection dun autre chemin provoque laugmentation du nombre deacutetats qui doivent ecirctre recalculeacutes nombre qui est compris entre 2 et δp (Figure 7-28 et Table 7-17) Loccurrence de ce dernier cas augmente (eacutevidemment) avec la deacutegradation des conditions de transmission Dans les deux cas lexploitation des preacuteceacutedentes opeacuterations de reconstruction (Table 7-17) permet une reacuteduction sensible de la consommation deacutenergie

201

Moyenne du nombre deacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dB

Codeur4eacutetats 15 227 206 178 150 127 112 105Codeur16eacutetats 25 426 338 246 173 131 112 105Codeur64eacutetats 35 776 580 366 216 144 116 106Codeur256eacutetats 45 1181 867 486 241 146 115 105

Table 7-17 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats choix du chemin le plus probable 1000 opeacuterations de prise de deacutecision (TB) par trame 10000 trames

Figure 7-29 influence de la distance δp sur le nombre deacutetats recalculeacutes Simulation software contexte de codage codeur256eacutetats 1000 opeacuterations de choix du chemin le plus prometteur par trame 10000 trames

Linfluence de la distance δp sur le nombre deacutetats agrave recalculer est par contre plus marginale (Figure 7-29) Sa contribution se restreint agrave la limitation du nombre deacutetats recalculeacutes dans le cas ougrave le chemin seacutelectionneacute divergerait du preacuteceacutedent par un nombre deacutetats supeacuterieurs agrave δp Cet eacuteveacutenement se produit

202

dans de mauvaises conditions de transmission dans le contexte de codage traiteacute par la Figure 7-29 linfluence de la distance δp est observable au-dessous dun rapport EbN0 de 2dB Reconstruction des eacutetats de meacutemoire dun chemin quelconque Lutilisation dun chemin quelconque offre un niveau de souplesse supeacuterieur agrave lopeacuteration de seacutelection souplesse qui pourrait ecirctre ainsi exploiteacutee afin de reacuteduire la consommation deacutenergie On pourrait envisager de choisir (autant que possible) un chemin qui est la prolongation du preacuteceacutedent Ce faisant bien que la possibiliteacute de survie des prolongations du dernier chemin soit fonction des conditions de transmission et du contenu du message la consommation deacutenergie peut ecirctre minimiseacutee Toutefois cette solution neacutecessite lexeacutecution dune tacircche de seacutelection complexe ce qui contredit les avantages (preacuteceacutedemment) envisageacutes par lutilisation de cette meacutethode alternative Conformeacutement aux motivations qui sont agrave la base de la proposition on analyse la situation de seacutelection la plus simple le choix systeacutematique du mecircme eacutetat de deacutepart Par rapport agrave laspect de la consommation deacutenergie deux eacutetats de meacutemoire montrent des caracteacuteristiques inteacuteressantes lorsquils sont utiliseacutes comme eacutetats de deacutepart de lopeacuteration de prise de deacutecision

bull Leacutetat zeacutero qui repreacutesente la situation dune meacutemoire du codeur convolutif contenant uniquement des bits dinformations zeacuteros et

bull Leacutetat qui repreacutesente la situation dune meacutemoire contenant uniquement des bits dinformation un

En effet seuls ces deux eacutetats rendent possible le choix dun chemin qui soit la prolongation du chemin choisi agrave la profondeur preacuteceacutedente (Figure 2-15) La probabiliteacute de cet eacuteveacutenement peut ecirctre ensuite renforceacutee par la reacutealisation de lopeacuteration de seacutelection du chemin survivant (module ACS) La reacutealisation peut en effet assurer que dans une situation deacutequiprobabiliteacute des meacutetriques cumuleacutees la prolongation du chemin (preacuteceacutedemment choisi) sera seacutelectionneacutee La contribution apporteacutee par cette simple modification48 qui ne modifie pas le deacuteroulement correct de lalgorithme (voir le theacuteoregraveme de la non-optimaliteacute) est facilement observable dans un contexte de deacutecodage utilisant une deacutecision ferme (Table 7-18)

48 Dans le cas de lutilisation de leacutetat de deacutepart zeacutero leacutequivalence des meacutetriques

cumuleacutees avantage le chemin provenant dun eacutetat de meacutemoire dont le MSB est eacutegal agrave zeacutero

203

Occurrence observeacutee du choix de la prolongation du chemin preacuteceacutedent

Contexte de codage

Longueur de contrainte du code

Message [bit]

Bits de terminaisons

Nombre de messages

Troncation [δp]

Min Max Codeur4eacutetats K=3 1000 2 200000 K2K9K 650 655 Codeur256eacutetats K=9 1000 8 10000 K2K9K 621 656

Table 7-18 analyse du cas ougrave le chemin actuellement choisi est la prolongation du chemin choisi agrave la profondeur preacuteceacutedente Simulations choix systeacutematique du chemin de deacutepart zeacutero opeacuteration de seacutelection (module ACSu) favorisant le choix de la prolongation du chemin preacuteceacutedent conditions de transmission EbN0 de 0 agrave 6 dB

Sur le plan du nombre neacutecessaire dopeacuterations de reconstruction on doit sattendre agrave ce que cette strateacutegie alternative de seacutelection soit plus gourmande que lapproche classique de seacutelection du chemin le plus probable Les reacutesultats des simulations (Table 7-19) prouvent en effet quun nombre supeacuterieur deacutetats est recalculeacute pendant chaque opeacuteration de prise de deacutecision

Moyenne du nombre drsquoeacutetats observeacutes qui sont effectivement recalculeacutes lors de chaque opeacuteration de prise de deacutecision EbN0

Contexte de codage

Distance δp

00 dB 10 dB 20 dB 30 dB 40 dB 50 dB 60 dBCodeur4eacutetats 21 338 323 300 271 243 221 207Codeur16eacutetats 35 586 521 446 381 337 311 296Codeur64eacutetats 49 1198 1019 808 642 546 498 472Codeur256eacutetats 63 1475 1253 947 721 606 551 521

Table 7-19 nombre moyen deacutetats effectivement recalculeacutes lors dune opeacuteration de prise de deacutecision (TB) Simulations contexte de codage codeur256eacutetats 1000 opeacuterations de prise de deacutecision par trame 10000 trames eacutetat de deacutepart zeacutero

La meacutethodologie de seacutelection du chemin est une facteur peacutenalisant surtout dans des situations de transmission favorables en seacutelectionnant soit la prolongation du chemin preacuteceacutedent soit un chemin qui peut se reacuteunir avec le preacuteceacutedent quapregraves K transitions (Figure 7-30) le nombre moyen deacutetats agrave recalculer est superier par rapport agrave lapproche classique (Table 7-17 et Table 7-19)

204

Linfluence du paramegravetre de la distance δp sur le nombre deacutetats agrave recalculer est similaire agrave lapproche classique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12

nombre deacutetats reacutecalculeacutes pendant lopeacuteration de TB

occu

renc

e

00dB20dB40dB60dB

Figure 7-30 statistique du nombre deacutetats recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) avec lutilisation de leacutetat de deacutepart zeacutero Simulations contexte de codage codeur16eacutetats 118k opeacuterations de TB analyseacutees

755 Consideacuterations finales

En raison des exigences eacutetablies la reacutealisation du systegraveme de base est fortement influenceacutee par la strateacutegie de lopeacuteration de prise de deacutecision Une eacutetude approfondie de cette opeacuteration a permis deacutevaluer ses potentialiteacutes en exploitant une approche pipeline Cette strateacutegie permet dameacuteliorer le deacutebit de traitement supporteacute par cette opeacuteration en eacuteliminant les limitations dues agrave sa forte composante seacutequentielle Les performances du systegraveme entier deviennent ainsi fonction de lopeacuteration fondamentale de seacutelection des chemins survivants Le prix agrave payer est le doublement des uniteacutes de reconstruction deacutetat ainsi que laugmentation de la consommation deacutenergie due agrave la gestion des multiples opeacuterations parallegraveles Sur le plan de la consommation deacutenergie cette eacutetude a montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection une telle strateacutegie permet denvisager une reacuteduction du nombre dopeacuterations de reconstruction nombre qui passe ainsi de δp agrave des valeurs sapprochant de luniteacute (Table 7-17 et Table 7-19) Limportance de la reacuteduction est eacutevidemment influenceacutee par les conditions de transmission

205

76 Conclusions

Ce septiegraveme chapitre a exploreacute les potentialiteacutes dune reacutealisation ASIC dune meacutethode de deacutecodage se basant exclusivement sur lalgorithme de Viterbi Apregraves lanalyse de la situation actuelle des technologies 3G le systegraveme de deacutecodage a eacuteteacute deacutecrit en deacutecomposant lalgorithme de Viterbi dans ses eacuteleacutements constituants Ces blocs opeacuterationnels sont le bloc responsable du calcul des meacutetriques de branche (BMu) celui de la mise agrave jour des meacutetriques cumuleacutees (ACSu) le bloc responsable de la seacutelection du chemin (BPS) et le bloc de prise de deacutecision par le deacutecodage (TBu) du chemin indiqueacute par le bloc preacuteceacutedent

Virtual Silicon Technology VST25 UMC25 025microm Contexte de codage Codeur256eacutetats Condition des analyses condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

estimation apregraves synthegravese (Design Compiler de Synopsys)

Temps dexeacutecution

Dissipation inteacuterieure par bit traiteacute

Surface

BMu 181 ns 50 pJ 26middot10-3 mm2 ACSu 432 ns 10 nJ 76middot10-1 mm2 BPS 1535 ns 02 nJ 30middot10-1 mm2 TBu (δp=45) 11357 ns 29 nJ 25 mm2

Table 7-20 estimation des caracteacuteristiques techniques de la synthegravese des blocs constituant le deacutecodeur de Viterbi Le contexte de codage concerne le code convolutif proposeacute par le standard UMTS avec rendement Rc=13

Cette deacutecomposition a permis de traiter seacutepareacutement chaque eacuteleacutement illustrant ainsi ses paramegravetres leurs implications dans lexeacutecution de lalgorithme les options et les variantes de conception Une reacutealisation geacuteneacuterale et parameacutetrable a eacuteteacute choisie pour leacutevaluation des potentialiteacutes dadaptation et des coucircts demploi du systegraveme (Table 7-20) Lutilisation de la technologie VST25-UMC25 (025microm) ainsi que des outils Synopsys Design Compiler (synthegravese logique) et Modelsim de Model

206

Technology Incorporated (outil de simulation) a permis lanalyse critique de chaque bloc constituant ce qui a favoriseacute la proposition et leacutetude de meacutethodes alternatives aux approches communeacutement utiliseacutees Une meacutethode alternative dinitialisation de lopeacuteration de prise de deacutecision (module BPS) a eacuteteacute ainsi eacutetudieacutee La forte composante seacutequentielle de lopeacuteration de seacutelection du chemin le plus probable a induit lexploration dun autre principe de seacutelection plus simple la deacutesignation dun chemin quelconque de deacutepart Leacutetude a ensuite montreacute la faisabiliteacute de cette solution agrave condition dune adaptation de la distance δp de lopeacuteration de prise de deacutecision La reacutealisation du module TBu neacutecessite ainsi un nombre supeacuterieur duniteacutes de reconstruction deacutetats qui provoque laugmentation de la surface de silicium et du retard algorithmique

1

10

100

1000

10000

100000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

nombre deacutetats reacutecalculeacutes par lopeacuteration de prise de deacutecision

occu

renc

e

chemin le plus prometteur

chemin zeacutero

Figure 7-31 nombre deacutetats qui sont effectivement recalculeacutes lors de lopeacuteration de prise de deacutecision (TB) Condition de la simulation code convolutif proposeacute par le standard UMTS avec rendement Rc=13 condition de transmission EbN0=4dB et 118k opeacuterations de prise de deacutecision analyseacutees

Ce chapitre propose ensuite une strateacutegie innovatrice pour lexeacutecution de lopeacuteration de prise de deacutecision Cette strateacutegie pipeline preacutevoit une exeacutecution parallegravele de plusieurs opeacuterations de reconstruction Le partage de lopeacuteration de prise de deacutecision en δp eacutetages de reconstruction augmente le deacutebit de traitement du module TBu ainsi que du systegraveme entier Les coucircts de cette strateacutegie sont le doublement des uniteacutes de reconstruction deacutetat laugmentation du retard algorithmique et la consommation deacutenergie demandeacutee par la gestion des multiples opeacuterations parallegraveles Lanalyse de lopeacuteration de prise de deacutecision a successivement montreacute les avantages dune strateacutegie de prise de deacutecision exploitant la redondance des

207

opeacuterations de reconstruction Indeacutependamment de la modaliteacute de seacutelection on peut envisager une reacuteduction du nombre dopeacuterations de reconstruction exeacutecuteacutees nombre qui passe ainsi de δp (reconstruction complegravete) agrave des valeurs sapprochant de luniteacute (Figure 7-31) Ce chapitre a prouveacute la faisabiliteacute et les potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi Cet algorithme possegravede des caracteacuteristiques importantes la description de lalgorithme utilise un nombre reacuteduit de paramegravetres et elle ne neacutecessite daucuns systegravemes de controcircle ou de reacuteglage de la qualiteacute de lopeacuteration de deacutecodage (situation dindeacutependance algorithmique des conditions de transmission des donneacutees) Gracircce agrave ces caracteacuteristiques de lalgorithmique de Viterbi les principaux inconveacutenients et limites de souplesse des reacutealisation ASIC ninterfegraverent que marginalement avec la conception du systegraveme CE chapitre a montreacute aussi quune approche coprocesseur augmente la souplesse demploi de la reacutealisation mateacuterielle de lalgorithme de Viterbi

Reacutefeacuterences

[BDTi1] Berkeley Design Technology Inc (BDTi) The BDTImark2000TM A Measure of DSP Execution Speed livre blanc 1997-2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi3] Berkeley Design Technology Inc (BDTi) Evaluating the Latest DSPs for Portable Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[BDTi6] Berkeley Design Technology Inc (BDTi) The BDTiMark2000 A Summary Measure of Signal Processing Speed septembre 2004 page Internet acceacutedeacutee en automne 2004 wwwbdticom

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

208

[FhG01] Fraunhofer Institut Integrierte Schaltungen CorePool FHG_VITERBI Databook version 15 juillet 2001

[Gath00] A Gatherer T Stetzler M McMahan E Auslander DSP-based Architectures for Mobile Communications Past Present and Future IEEE Communications Magazine janvier 2000 pp84-90

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gras01] L Grasso Implementation of a parameterized family of Viterbi Decoders rapport final de projet IMT Universiteacute de Neuchacirctel Neuchacirctel deacutecembre 2001

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese de Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Min91] BndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru312] Texas Instruments TMS320C55x DSP Functional Overview document SPRU312 juin 2000

[Spru393] Texas Instruments TMS320C55x Technical Overview document SPRU393 feacutevrier 2000

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

209

8 Comparaison des caracteacuteristiques des deux architectures software et

hardware

Les chapitres preacuteceacutedents ont preacutesenteacute laspect du deacuteveloppement dun systegraveme de deacutecodage en consideacuterant les caracteacuteristiques et les points forts des deux approches lune software et lautre par un circuit suppleacutementaire ASIC Ce chapitre se concentre sur les coucircts demploi de tels systegravemes indeacutependamment de leurs difficulteacutes de reacutealisation et du temps neacutecessaire agrave leur deacuteveloppement Les aspects cleacutes sont la vitesse de traitement la consommation deacutenergie et la surface de silicium

Ce chapitre traite seacutepareacutement chacun de ces aspects de maniegravere de mettre en eacutevidence les caracteacuteristiques et les potentialiteacutes de chaque approche Lanalyse critique de chaque aspect examine les deux types dapproches software et hardware de maniegravere indeacutependante et se conclue avec une comparaison de leurs potentialiteacutes La meacutethode de deacutecodage utiliseacutee pour lanalyse critique est lalgorithme de Viterbi

Les potentialiteacutes des deux approches sont estimeacutees agrave partir des reacutesultats preacutesenteacutes dans ce document ainsi que par les informations disponibles du marcheacute des DSP et de la technologie de synthegravese UMC25-025microm [UMC25]

81 Introduction

Dans le domaine du traitement numeacuterique du signal et de la teacuteleacutecommunication mobile la comparaison des coucircts demploi dun systegraveme prend principalement en compte trois aspects Ces aspects sont le deacutebit de traitement leacutenergie neacutecessaire pour le traitement dun bit dinformation et la surface de silicium utiliseacutee par le circuit Par conseacutequent le coucirct total

210

dutilisation dun systegraveme peut ecirctre deacutefini par une contribution eacutegale de ces trois aspects principaux [Feld02] Dans ce chapitre chacun de ces aspects sera traiteacute seacutepareacutement de maniegravere agrave mieux comprendre les caracteacuteristiques et les potentialiteacutes propres agrave chaque approche

82 Deacutebit du traitement

Le premier aspect traiteacute est le deacutebit du traitement Cet aspect est fondamental pour situer les champs dapplication des deux approches (hardware et software) dans le contexte de la communication mobile Les standards UMTS preacutevoient un deacutebit de transmission extrecircmement variable qui peut atteindre en effet 144 kbps lors dune utilisation dans des veacutehicules en mouvement 384 kbps pour une utilisation peacutedestre et 2 Mbps agrave linteacuterieur des bacirctiments Afin de permettre une analyse correcte les comparaisons des deux approches concernent limplantation et la reacutealisation mateacuterielle de lalgorithme de Viterbi Toutefois les performances de limplantation software de lalgorithme List Decoding seront eacutegalement estimeacutees

821 Approche software

Le deacutebit de traitement des DSP est estimeacute agrave partir des charges de calcul des implantations et des directives de complexiteacutes des opeacuterations de lETSI (Sous-section 632) A laide destimations successives le nombre de cycles dinstructions ainsi que le temps dexeacutecution neacutecessaire peuvent ecirctre eacutevalueacutes en consideacuterant les caracteacuteristiques et les potentialiteacutes propres aux familles DSP Algorithme de Viterbi La premiegravere eacutetape est la caracteacuterisation et la modeacutelisation de la complexiteacute de calcul de lalgorithme de Viterbi Lalgorithme de Viterbi peut ecirctre modeacuteliseacute par la complexiteacute de calcul de lopeacuteration de seacutelection dun chemin survivant (Table 8-1) La normalisation de la complexiteacute observeacutee par le nombre de reacutepeacutetitions de cette opeacuteration permet deacutetablir limportance de cette opeacuteration dans lexeacutecution de lalgorithme de Viterbi (Table 8-1)

211

En comparant cette valeur normaliseacutee avec la complexiteacute de calcul effectivement neacutecessaire agrave cette opeacuteration de seacutelection sa preacutedominance est eacutevidente les complexiteacutes de calcul des autres tacircches (notamment la deacutetermination des meacutetriques de branches la seacutelection du chemin le plus prometteur et lopeacuteration de prise de deacutecision) ne contribuent que de maniegravere minoritaire (moins de 20) agrave la complexiteacute totale du calcul Contrairement agrave lapproche hardware la contribution de la tacircche de prise de deacutecision se limite agrave 10 Ceci est ducirc agrave la simpliciteacute de lexeacutecution de cette tacircche qui consiste dans la lecture successive des δp eacutetats preacuteceacutedents du chemin seacutelectionneacute (Sous-section 642)

Table 8-1 vue densemble de la complexiteacute de calcul de lalgorithme de Viterbi Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122 kbps troncation de la meacutemoire δ=54 () Cette proceacutedure implique la mise agrave jour des deux meacutetriques cumuleacutees leur comparaison et la seacutelection du chemin survivant

Cette meacutethodologie de modeacutelisation permet une comparaison correcte des performances entre lapproche software et ASIC en limitant la forte influence

Observation de lexeacutecution de la tacircche de deacutecodage

Facteur de poids des opeacuterations (ITUETSI)

Nombre moyen drsquoopeacuterations observeacutees

Complexiteacute moyenne normaliseacutee par le nombre dopeacuterations de seacutelection (24830 opeacuterations)

Complexiteacute de calcul de la seule proceacutedure de seacutelection dun chemin survivant (code C) ()

[WCwOP opeacuteration]

[opeacuterations] [WCwOP] [WCwOP]

Additions 1 49670 20 20Increacutementations 1 1435 01 00Soustractions 1 293 00 00Transf de donneacutees 1 182888 74 60Logique 1 147769 60 55Deacutecalages 1 78584 32 30Controcircles 2 142734 115 80Point assignations 729Point arithmeacutetique 3637B initialisations 26906B controcircles 124270B increacutementations

0

97305

00 00

Grand total 856230 302 245

212

du type dexeacutecution (seacutequentielleparallegravele) de la tacircche de seacutelection Cette meacutethodologie offre en plus un moyen destimation du deacutebit de traitement dans dautres contextes de codage ougrave non seulement le nombre de bits du message change mais aussi les longueurs de contrainte K 49 Effets de la description souple des meacutethodes de deacutecodage Afin de permettre une comparaison eacutequitable avec lapproche hardware les implications dues agrave une description souple de lalgorithme doivent ecirctre quantifieacutees La strateacutegie souple de description de lalgorithme permet ladaptation aux autres contextes de codage par la modification du paramegravetre de longueur de contrainte K et des fonctions geacuteneacuteratrices Gi Cette souplesse entraicircne une augmentation de la charge de calcul due agrave la difficulteacute doptimisation du code qui en deacutecoule Une eacutevaluation du facteur daugmentation est possible en comparant cette complexiteacute avec celle potentiellement reacutealisable par une implantation ideacuteale de la tacircche de seacutelection Pour cette derniegravere qui repreacutesente la limite infeacuterieure de complexiteacute de cette tacircche on considegravere lexeacutecution de la seacutequence dopeacuterations suivante

bull chargement des anciennes meacutetriques cumuleacutees appartenant aux deux eacutetats preacuteceacutedents (deux opeacuterations de Transferts de donneacutees)

bull chargement des actuelles meacutetriques de branches qui sont coupleacutees aux deux transitions traiteacutees (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull seacutelection du chemin survivant par lidentification de la meilleure

meacutetrique cumuleacutee (une opeacuteration de controcircle) bull stockage des valeurs de meacutetrique cumuleacutee et de linformation neacutecessaire

agrave la reconstruction du chemin survivant (deux opeacuterations de Transferts de donneacutees)

Selon les indications des organisations ITU et ETSI (Basic Operations Table 8-1) la complexiteacute de cette seacutequence dopeacuterations est de 10 weighted operations (wOP) En consideacuterant une contribution minimale des autres tacircches50 estimeacutee agrave 10 de la complexiteacute totale la limite infeacuterieure de complexiteacute de lalgorithme de Viterbi peut se situer autour de 11 wOPeacutetat En

49 Il faut se rappeler que la longueur de contrainte K du code deacutetermine le nombre

dopeacuterations de seacutelection du chemin survivant qui sont impliqueacutees dans le traitement de chaque bit dinformation

50 On considegravere seulement la contribution de lopeacuteration de prise de deacutecision

213

comparant cette limite infeacuterieure avec la complexiteacute de calcul observeacutee la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme de Viterbi (Sections 64 et 66) peut ecirctre estimeacutee agrave un facteur 25 (Table 8-1) Algorithme List Decoding Dans ce paragraphe on caracteacuterise lalgorithme List Decoding ce qui permet une meilleure compreacutehension de ses potentialiteacutes De maniegravere analogue agrave lalgorithme de Viterbi le premier aspect traiteacute est limportance de lopeacuteration caracteacuterisant lalgorithme List Decoding la propagation de deux chemins agrave partir dun chemin appartenant agrave la liste des chemins les plus prometteurs Cette opeacuteration implique la deacutetermination des eacutetats de meacutemoire des deux chemins ainsi que le calcul de leurs meacutetriques cumuleacutees

Complexiteacute moyenne observeacutee normaliseacutee par le nombre total de chemins prolongeacutes

List Decoding L=128 (12671 propagations)

List Decoding L=64 (6527 propagations)

List Decoding L=32 (3423 propagations)

Complexiteacute de calcul de la proceacutedure de propagation (code C) ()

[WCwOP] [WCwOP] [WCwOP] [WCwOP]Additions 21 21 22 20Increacutementations 65 64 62 60Soustractions 00 00 00 00Multiplications 00 00 00 00Transferts de donneacutees 75 78 83 50Logique 43 45 47 40Deacutecalages 21 20 20 20Controcircles 277 288 310 140Grand total 502 516 544 330

Table 8-2 vue densemble de la complexiteacute de calcul de lalgorithme List Decoding Contexte 500 messages utiliseacutes codage de canal conforme agrave la classe B du service de parole AMR-NB agrave 122kbps sans proceacutedure de troncation de la meacutemoire () cette proceacutedure implique la deacutetermination de deux nouveaux eacutetats et le calcul des meacutetriques cumuleacutees relatives

Lanalyse de la charge de calcul (Table 8-2) montre que la preacutedominance de lopeacuteration fondamentale de propagation est affaiblie par les opeacuterations de

214

gestion de la liste des L chemins les plus prometteurs Les reacutesultats illustreacutes par la Table 8-2 montrent un rapport entre la complexiteacute totale normaliseacutee et celle de lopeacuteration de propagation de 32 Contrairement agrave lalgorithme de Viterbi la structure algorithmique de la meacutethode List Decoding deacutecompose la proceacutedure de recherche en deux parties distinctes et non-neacutegligeables La premiegravere partie comprend les opeacuterations fondamentales de propagations des chemins Cette partie est la plus complexe (autour de 23 de la complexiteacute totale de calcul Table 8-2) et peut ecirctre implanteacutee de maniegravere parallegravele La seconde partie est responsable de la gestion de la liste de chemins ainsi prolongeacutes Lexeacutecution de cette tacircche est caracteacuteriseacutee par une utilisation seacutequentielle et massive dopeacuterations de controcircles et de transferts de donneacutees La complexiteacute de calcul de cette partie demande un tiers de la complexiteacute totale de calcul Limite infeacuterieure de complexiteacute de calcul de lopeacuteration de propagation La deacutetermination de la limite infeacuterieure de complexiteacute de lopeacuteration de propagation est un eacuteleacutement utile pour la caracteacuterisation algorithmique de la meacutethode Dans ce cas lopeacuteration minimaliste de propagation peut ecirctre repreacutesenteacutee par la seacutequence dopeacuterations suivante

bull chargement de leacutetat de meacutemoire dun chemin contenu dans la liste des chemins agrave prolonger ainsi que sa meacutetrique cumuleacutee (une opeacuteration de controcircle et deux opeacuterations de Transferts de donneacutees)

bull deacutetermination des valeurs des deux nouveaux eacutetats qui sont atteints par la propagation du chemin concerneacute (deux opeacuterations de Transferts de donneacutees)

bull chargement des meacutetriques de branches qui sont coupleacutees aux deux transitions impliqueacutees dans la propagation (deux opeacuterations de Transferts de donneacutees)

bull mise agrave jour des deux meacutetriques cumuleacutees (deux opeacuterations daddition) bull stockage des valeurs des meacutetriques cumuleacutees et des informations

neacutecessaires agrave la reconstruction des chemins (quatre opeacuterations de Transferts de donneacutees)

La complexiteacute de cette seacutequence dopeacuterations est de 14 wOP En consideacuterant la contribution des autres opeacuterations constituant lalgorithme (estimeacutee agrave 13 de la complexiteacute totale) la limite infeacuterieure de complexiteacute de la meacutethode List Decoding peut ecirctre ainsi estimeacutee agrave 21 wOPchemin propageacute Cette limite permet destimer la perte de compeacutetitiviteacute de la description parameacutetrable de lalgorithme List Decoding (Section 67) agrave un facteur 2 (Table 8-2)

215

Nombre de cycles dinstructions demandeacutes par limplantation software En tenant compte de la modeacutelisation des algorithmes on procegravede agrave la seconde eacutetape de lestimation du deacutebit de traitement Cette eacutetape implique lestimation du nombre minimal de cycles dinstructions qui sont neacutecessaires au DSP pour laccomplissement de lopeacuteration de deacutecodage Leacuteleacutement crucial de cette estimation est la modeacutelisation du rapport existant entre les opeacuterations deacutefinies par la description des algorithmes et le nombre effectif dinstructions Vu que les complexiteacutes (typiques) de chaque opeacuteration ont deacutejagrave eacuteteacute prises en consideacuteration par les facteurs de pondeacuterations de lITUETSI il reste agrave deacutefinir le degreacute defficaciteacute de la geacuteneacuteration du code Le degreacute defficaciteacute exprime le rapport entre la complexiteacute de calcul et le nombre de cycles dinstructions effectivement neacutecessaires au DSP (wMOPSMIPS) Par conseacutequent le degreacute defficaciteacute nest pas uniquement influenceacute par les caracteacuteristiques techniques du DSP mais aussi par le type de langage utiliseacute par le mode de description (langage agrave haut ou bas niveau) par le style de programmation et par les performances des compilateurs Pour ces raisons les eacutevaluations algorithmiques du Chapitre 6 se sont limiteacutees au comptage des divers types dopeacuterations afin de ne pas se concentrer sur une situation de deacuteveloppement particuliegravere etou une famille DSP speacutecifique

Estimation Contexte de codage Estimation de la

complexiteacute minimale de calcul par opeacuteration fondamentale

Limite infeacuterieure de complexiteacute de calcul par bit du message

Degreacute defficaciteacute de la geacuteneacuteration du code

Nombre de cycles dinstructions neacutecessaires au DSP par bit dinformation

[wOP opeacuteration]

[wOPbit] [wMOPSMIPS] [MIPSbit]

Codeur4eacutetats 11 44 1 1 0044 middot10-3 Codeur16eacutetats 11 176 1 1 018 middot10-3 Codeur64eacutetats 11 704 1 1 070 middot10-3 Codeur256eacutetats 11 2816 1 1 28 middot10-3

Table 8-3 exemple destimation du nombre dinstructions neacutecessaire pour lexeacutecution de lalgorithme de Viterbi Les valeurs sont obtenues agrave partir de lestimation de la complexiteacute minimale de calcul par opeacuteration fondamentale et du degreacute defficaciteacute empirique de 11 wMOPSMIPS

216

Malgreacute la difficulteacute agrave deacutefinir le degreacute defficaciteacute sans speacutecifier un environnement de deacuteveloppement un rapport de conversion wMOPSMIPS de 11 a eacuteteacute choisi pour les comparaisons avec lapproche ASIC En utilisant ce rapport qui repreacutesente une description et une conversion optimale du code software en code binaire la Table 8-3 montre les estimations du nombre de cycles dinstructions neacutecessaires agrave lexeacutecution de lalgorithme de Viterbi dans les quatre contextes de codage (Sous-section 722) Comparaison des deux algorithmes Viterbi vs List Decoding La modeacutelisation des deux algorithmes permet la comparaison des exigences de calcul indeacutependamment du contexte de codage et de la qualiteacute de la description de lalgorithme (Table 8-4)

Estimation Estimation de la complexiteacute de calcul par opeacuteration fondamentale ()

Limite infeacuterieure de complexiteacute de calcul par bit du message

Grade defficaciteacute de la geacuteneacuteration du code

Deacutebit de lapplication

Exemple dapplication dans le contexte UMTS

Contexte de deacutecodage algorithme utiliseacute

[wOPopeacuteration] [wOPbit] [wMOPSMIPS]

Nombre de cycles dinstructions pour lexeacutecution en temps reacuteel

Viterbi 11 2816 1 1 900 MIPS 320kbps

Deacutebit maximal par DPDCH 960kbps (codes Rc=13)

LDecoding L= 64 21 1344 1 1 430 MIPS

Viterbi 11 2816 1 1 34 MIPS 122 kbps

Service de parole agrave 122kbps LDecoding

L= 64 21 1344 1 1 16 MIPS () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-4 exemple destimation du nombre dinstructions demandeacutees par les deux algorithmes dans le contexte du standard UMTS [Ts25212] Les valeurs sont obtenues agrave partir de lestimation de la limite infeacuterieure de complexiteacute de calcul par opeacuteration fondamentale et dun degreacute defficaciteacute de la geacuteneacuteration du code de 11 wMOPSMIPS

A la diffeacuterence de lalgorithme de Viterbi le List Decoding contre-balance lavantage dun reacuteglage du nombre dopeacuterations de propagation par laugmentation de la complexiteacute de calcul de son opeacuteration fondamentale Le

217

changement du type de recherche (du critegravere de seacutelection du chemin survivant agrave la propagation controcircleacutee des chemins) implique le doublement de la complexiteacute de calcul neacutecessaire au traitement de chaque chemin Dans le contexte de codage UMTS (Chapitre 6) la diminution dun facteur 4 du nombre de chemins traiteacutes permet agrave lalgorithme List Decoding de reacuteduire ainsi de moitieacute les exigences de calcul Vitesse dexeacutecution les potentialiteacutes offertes par le DSP La derniegravere eacutetape de lestimation est la conversion du nombre de cycles dinstruction dans le nombre de peacuteriodes dhorloge du DSP Cette eacutetape de lestimation implique la prise en compte des caracteacuteristiques et des potentialiteacutes propres agrave chaque DSP

Familles DSP (hiver 2002-03) StarCore SC140

Texas Instruments TMS320C64x

Texas Instruments TMS320C62x

Texas Instruments TMS320C54x

Analog Devices 219x

Freacutequence dhorloge maximale

300 MHz 600 MHz 300 MHz 160 MHz 160 MHz

Nombre duniteacutes fonctionnelles

4 8 8 1 1

MIPS maximal (deacuteclareacute)

1200 MIPS 4800 MIPS 2400 MIPS 160 MIPS 160 MIPS

SIMD 2x16-bit 4x8-bit 4x8-bit - -Uniteacutes ou instructions facilitant lexeacutecution de la tacircche de deacutecodage

Instructions speacutecifiques facilitant limplantation de lalgorithme de Viterbi

TMS320C6416Coprocesseur deacutedieacute agrave lexeacutecution de lalgorithme de Viterbi (VCP)

- Uniteacute speacuteciale Compare Select and Store Unit (CCSU)

-

Table 8-5 vue densemble des caracteacuteristiques et des potentialiteacutes de certaines familles DSP Lexploitation optimale de la redondance des uniteacutes fonctionnelles et lexploitation des uniteacutes speacuteciales neacutecessite lemploi du langage agrave bas niveau propre au DSP Les donneacutees de cette table proviennent des sites Internet des fabricants (situation hiver 2002-03)

218

Lexeacutecution des opeacuterations de deacutecodage est influenceacutee par larchitecture interne du DSP ainsi que par la redondance des uniteacutes fonctionnelles et par la disponibiliteacute duniteacutes speacuteciales Les structures des deux algorithmes permettent en effet une exeacutecution parallegravele dopeacuterations ainsi que la concateacutenation dinstructions Au contraire des beacuteneacutefices apporteacutes par les architectures classiques des DSP (qui sont consideacutereacutes agrave laide des fonctions Basic Operations) les contributions apporteacutees par la redondance des uniteacutes et la disponibiliteacute duniteacutes speacuteciales ne sont pas facilement geacuteneacuteralisables Exemples caracteacuteristiques Afin de prendre connaissance des potentialiteacutes des familles DSP un groupe restreint de DSP sont utiliseacutes agrave titre dexemple (Table 8-5) Ce groupe de DSP est caracteacuteriseacute par diffeacuterentes freacutequences dhorloge ainsi que par une varieacuteteacute en termes de redondance et doffre duniteacutes speacuteciales Larticle de M Du [DuAz00] traite de limplantation optimale de lalgorithme de Viterbi exploitant les potentialiteacutes de ces DSP (Table 8-6) Bien que le contexte de codage consideacutereacute dans larticle (code convolutif avec longueur K=5 et rendement Rc=12) diffegravere de ceux traiteacutes dans cette eacutetude les reacutesultats de cet article permettent une prise de connaissance des contributions des moyens speacuteciaux mis agrave disposition par certains DSP (Table 8-7) Lefficaciteacute des moyens speacuteciaux des DSP est prouveacutee en observant les reacutesultats de lestimation de la Table 8-6 tout en consideacuterant une complexiteacute de calcul minimale de 10 wOP pour lopeacuteration de seacutelection dun chemin survivant La disponibiliteacute duniteacutes redondantes et de fonctions SIMD permet tout dabord une implantation parallegravele des opeacuterations en tirant profit de la structure reacuteguliegravere et parallegravele des algorithmes On trouve par exemple le DSP StarCore SC140 et les familles DSP de Texas Instruments TMS320C62x et C64x Une reacuteduction du nombre de cycles est eacutegalement reacutealisable en disposant duniteacutes speacuteciales de traitement (exemple le DSP StarCore SC140 et la famille DSP de Texas Instruments TMS320C54x) Toutefois ces uniteacutes sadressent speacutecifiquement agrave lexeacutecution de lalgorithme de Viterbi limplantation dautres meacutethodes de deacutecodage ne beacuteneacuteficie que partiellement de ces moyens speacuteciaux

219

DSP

Nom

bre

dun

iteacutes

fonc

tionn

elle

s

Nom

bre

indi

catif

de

peacuteri

odes

d

horl

oge

pour

la p

roceacute

dure

de

seacutele

ctio

n d

un se

ul c

hem

in

surv

ivan

t () [D

uAz0

0]

Tec

hnol

ogie

Ten

sion

da

limen

tatio

n du

co

re

Vite

sse

max

imal

e de

la

fam

ille

DSP

[B

DT

i2]

Est

imat

ion

du te

mps

neacute

cess

aire

agrave l

exeacutec

utio

n d

une

opeacuter

atio

n de

seacutele

ctio

n

(est

imat

ion

opeacuter

atio

nss

)

TMS320 C64x 8 () 088 012 microm 14 V 600 MHz 147 ns

(680 MHz)StarCore SC140 4 () 063 15 V 300 MHz 210 ns

(470 MHz)TMS320 C62x 8 () 239 015 microm 15 V 300 MHz 797 ns

(125 MHz)TMS320 C54x 1 () 384 16 V 160 MHz 240 ns

(40 MHz)

Table 8-6 vue densemble des potentialiteacutes offertes par lutilisation optimale des ressources structurelles et fonctionnelles de certaines familles DSP () Ces valeurs sont indicatives elles ont eacuteteacute extraites dun autre contexte de codage (code convolutif avec longueur de contrainte K=5 et rendement Rc=12) preacutesenteacute par larticle de M Du [DuAz00]

Estimation

Temps neacutecessaire au traitement dun bit dinformation (estimation bitss)

DSP

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

TMS320C64x 59 ns(170 Mbps)

23 ns(43 Mbps)

94 ns (11 Mbps)

375 ns(26 Mbps)

StarCore SC140 84 ns(120 Mbps)

34 ns(29 Mbps)

134 ns (75 Mbps)

538 ns(19 Mbps)

TMS320C62x 32 ns(31 Mbps)

127 ns(79 Mbps)

510 ns (20 Mbps)

2040 ns(05 Mbps)

TMS320C54x 96 ns(10 Mbps)

384 ns(26 Mbps)

1536 ns (07 Mbps)

6150 ns(02 Mbps)

Table 8-7 estimation des potentialiteacutes de traitement quon peut obtenir en exploitant les ressources structurelles et fonctionnelles des DSP Lestimation se base sur les informations extraites de larticle de M Du (Table 8-6) [DuAz00]

220

La freacutequence dhorloge des DSP influence ensuite le temps dexeacutecution des opeacuterations de deacutecodage Ceci est eacutevident en comparant le temps de traitement estimeacute du DSP StarCore SC140 et du TMS320C64x si le premier DSP optimise le nombre de peacuteriodes en exploitant au mieux tous les moyens structurels et hardwares disponibles le second atteint de meilleures performances en beacuteneacuteficiant dune freacutequence dhorloge nettement supeacuterieure

822 Approche ASIC

Les potentialiteacutes de deacutebit de traitement dune reacutealisation ASIC sont deacutetermineacutees par les performances de luniteacute ACSu qui est chargeacutee de la seacutelection des chemins survivants

Virtual Silicon Technology VST25 UMC25 025microm Temps dexeacutecution des uniteacutes selon Synopsys Design Compiler (apregraves synthegravese)

(estimation du nombre de bits traiteacute par seconde apregraves routage)() Uniteacute TBu

Contexte de codage

Uniteacute BMu Uniteacute ACSu Uniteacute BPS deacutetermination du meilleur chemin

Structure seacutequentielle δp =45

Structure pipeline

estimation Codeur4eacutetats 039 ns

(1300 Mbitss) 237 ns

(210 Mbitss)224 ns

(220 Mbitss)1308 ns

(38 Mbitss) 061 ns

(820 Mbitss)Codeur16eacutetats 092 ns

(540 Mbitss) 257 ns

(190 Mbitss)542 ns

(92 Mbitss)5995 ns

(8 Mbitss) 116 ns

(430 Mbitss)Codeur64eacutetats 158 ns

(320 Mbitss) 340 ns

(150 Mbitss)1060 ns

(47 Mbitss)8817 ns

(6 Mbitss) 187 ns

(270 Mbitss)Codeur256eacutetats 181 ns

(280 Mbitss) 432 ns

(120 Mbitss)1535 ns

(33 Mbitss)11357 ns

(4 Mbitss) 209 ns

(240 Mbitss)() Perte de compeacutetitiviteacute estimeacutee agrave un facteur 2

Table 8-8 vue densemble des valeurs concernant le temps dexeacutecution des divers modules

Les performances du circuit de base sont tout dabord deacutetermineacutees par la reacutealisation des uniteacutes responsables de la prise de deacutecision (Table 8-8) Bien que leacutetude de la Section 73 se concentre sur lexeacutecution seacutequentielle et continue de cette opeacuteration de deacutecision des solutions envisageant une augmentation du deacutebit de traitement sont reacutealisables Une prise de deacutecision multiple lutilisation des structures pipeline et les techniques utilisant le deacutecodage dun chemin survivant quelconque permettent en effet de reacuteduire sensiblement le temps dexeacutecution des tacircches de ces uniteacutes TBu et BPS Ce faisant la reacutealisation de luniteacute ACSu devient leacuteleacutement crucial caracteacuterisant le potentiel de deacutebit de traitement du systegraveme

221

La reacutealisation de luniteacute ACSu du systegraveme emploie une strateacutegie classique

bull Lopeacuteration de mise agrave jour des deux meacutetriques cumuleacutees et la comparaison suivante sont exeacutecuteacutees de maniegravere individuelle lune apregraves lautre et

bull La reacutealisation physique utilise seulement des blocs de logiques standards

Une ameacutelioration ulteacuterieure du deacutebit de traitement peut ecirctre atteinte par dautres strateacutegies de reacutealisation plus performantes et par la concateacutenation des opeacuterations de seacutelection du chemin survivant ([Fett90] [Kapp92] et [Saou02])

823 Comparaison des potentialiteacutes de deacutebit de traitement des deux approches

Le premier facteur causant une perte importante de compeacutetitiviteacute est la divergence entre la modaliteacute dexeacutecution (parallegravele ou seacutequentielle) et les caracteacuteristiques algorithmiques de la meacutethode de deacutecodage Lutilisation dune technologie plus performante favorise ensuite la rapiditeacute de traitement Les deux meacutethodes de deacutecodage montrent de fortes composantes parallegraveles ainsi que seacutequentielles En ce qui concerne lalgorithme de Viterbi lopeacuteration de seacutelection des 2(K-1) chemins survivants montre une structure reacuteguliegravere et parallegravele alors que lopeacuteration de prise de deacutecision demande une exeacutecution seacutequentielle Lanalyse du temps neacutecessaire agrave lexeacutecution de lopeacuteration de seacutelection dun chemin survivant illustre la perte de compeacutetitiviteacute due agrave une exeacutecution entiegraverement seacutequentielle de cette opeacuteration fondamentale (Figure 8-1) La disponibiliteacute dun traitement parallegravele indeacutependamment du type dapproche hardware et software permet lexploitation du paralleacutelisme implicite dans lopeacuteration Aux extrecircmes on trouve ainsi lapproche ASIC (qui exploite exhaustivement le paralleacutelisme disponible) et la famille de DSP AD219x (qui ne dispose ni de traitements redondants ni duniteacutes speacuteciales facilitant limplantation de lalgorithme) La Figure 8-1 montre aussi la contribution de la technologie sur le temps dexeacutecution de lopeacuteration (TMSC64x technologie 012 TMSC62x technologie 015 Table 8-6) Le deacutebit de traitement du systegraveme est deacutetermineacute par lexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant ainsi que de lopeacuteration de prise de deacutecision (Figure 8-2)

222

Gracircce agrave sa nature lapproche ASIC peut exploiter exhaustivement le paralleacutelisme de lalgorithme reacuteduisant ainsi le temps dexeacutecution des 2(K-1) opeacuterations de seacutelection du chemin survivant Les approches software peuvent reacuteduire la perte de compeacutetitiviteacute dune exeacutecution seacutequentielle des opeacuterations en utilisant des DSP qui disposent duniteacutes fonctionnelles redondantes dinstructions SIMD duniteacutes de traitement speacuteciales ainsi que de performances supeacuterieures dues agrave une technologie plus compeacutetitive Le prix agrave payer est le renoncement progressif agrave une description souple de lalgorithme et agrave lutilisation dun langage agrave haut niveau

0

10

20

30

40

50

60

70

Tem

ps d

exeacute

cutio

n po

ur l

opeacuter

atio

n A

CS

[ns]

AS

IC 4

eacuteta

ts

AS

IC 1

6 eacutet

ats

AS

IC 6

4 eacutet

ats

AS

IC 2

56 eacute

tats

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es21

9x

Figure 8-1 comparaison du temps neacutecessaire agrave lexeacutecution dune tacircche de seacutelection (ACS) en fonction de lapproche suivie En vert sont repreacutesenteacutees les reacutealisations ASIC (systegraveme de base) en bleu les eacutevaluations dimplantations software sur DSP (baseacutees sur les implantations assembleur de larticle [DuAz00] Table 8-6) Le temps dexeacutecution relatif agrave la famille de DSP 219x de Analog Devices se base sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS (10 wOP 11 wMOPSMIPS) implantation qui ne dispose ni duniteacutes speacuteciales ni de fonctions deacutedieacutees facilitant limplantation de lalgorithme de Viterbi

223

La Figure 8-2 met en eacutevidence les limites du systegraveme de deacutecodage hardware deacutecrit dans le Chapitre 7 Lexeacutecution seacutequentielle de lopeacuteration de prise de deacutecision limite le deacutebit de traitement du systegraveme entier (Table 8-8) diminuant leacutecart de performances avec les implantations software les plus compeacutetitives Une reacutealisation diffeacuterente de cette opeacuteration (par exemple une prise de deacutecision multiple ou une strateacutegie dexeacutecution pipeline) permet agrave nouveau de beacuteneacuteficier des importantes potentialiteacutes de lapproche mateacuterielle (Figure 8-2)

AS

IC m

ax

AS

IC s

ystb

ase

Sta

rCor

e S

C14

0

TMS3

20C

64x

TMS3

20C

62x

TMS3

20C

54x

Anal

og D

evic

es 2

19x

codeur256eacutetatscodeur64eacutetatscodeur16eacutetatscodeur4eacutetats

0

50

100

150

200

250

Deacuteb

it de

trai

tem

ent [

Mbp

s]

Figure 8-2 vue densemble des potentialiteacutes de deacutebit de traitement Les solutions eacutevalueacutees sont une reacutealisation ASIC caracteacuteriseacutee seulement par lopeacuteration ACS 51 (max) le systegraveme de base et les implantations software sur DSP de larticle de M Du [DuAz00] (Table 8-8) Les potentialiteacutes de la famille de DSP 219x de Analog Devices se basent sur lestimation dune implantation hypotheacutetique de lopeacuteration ACS de 10 wOP avec une efficaciteacute de 11 wMOPSMIPS

51 Solution impliquant soit une prise de deacutecision multiple de plusieurs bits dinformations

(Annexe C Figure C-8) soit lexeacutecution pipeline de lopeacuteration de prise de deacutecision

224

83 Dissipation deacutenergie par symbole traiteacute

Cette section traite de la dissipation deacutenergie Lestimation des valeurs de dissipation de lapproche software se base toujours sur leacutevaluation du nombre de cycles dinstructions qui sont neacutecessaires au DSP pour accomplir la tacircche attribueacutee Par contre les estimations relatives agrave lapproche hardware utilisent les reacutesultats de synthegravese du systegraveme de base

831 Approche software

Une estimation de la dissipation deacutenergie neacutecessite la connaissance du nombre dinstructions exeacutecuteacutes ainsi que les valeurs de dissipation typique de chaque classe dinstruction du DSP Par conseacutequent deux eacuteleacutements entrent en jeu dans ce type destimation les instructions du code binaire et les caracteacuteristiques de consommation des opeacuterations du DSP Si le premier eacuteleacutement peut ecirctre estimeacute par le comptage des Basic Operations la caracteacuterisation de la consommation des diffeacuterentes opeacuterations est difficile Non seulement il sagit dinformations sensibles (et donc difficiles agrave obtenir des fabriquants et aussi difficiles agrave veacuterifier) mais elles varient sensiblement de DSP en DSP Eacutevaluation simplifieacutee Ne disposant pas de ces informations la meacutethode deacutevaluation choisie estime le nombre total de cycles dinstructions neacutecessaires agrave lexeacutecution de la tacircche nombre qui est ensuite pondeacutereacute par une valeur typique de dissipation deacutenergie Le point critique de cette eacutevaluation est uniquement la deacutetermination de la valeur de dissipation typique par cycle dinstruction Par contre la simplification de la meacutethode deacutevaluation rend impossible lappreacuteciation dune implantation utilisant des instructions agrave faible consommation Afin dexplorer de maniegravere correcte les potentialiteacutes des DSP on analyse la consommation typique des familles de DSP agrave basse consommation Plus preacuteciseacutement la consommation deacutenergie par instructions Multiply-Accumulate

225

(MuAcc)52 [Gath02] de la classe de DSP agrave basse consommation du fabricant Texas Instruments (Figure 8-3)

1982 1994 1997 2000199119881985

100

001

01

1

10

100032010 5V

C15 5VC25 5V

C15 33V C52 5V

C52 33V C548 33VC5410 25V

C5409 18VC5402 12V

C5510 15V

anneacutee

mW

MM

uAcc

s

Figure 8-3 tendance agrave la reacuteduction de la dissipation deacutenergie par million dinstructions MuAccs de DSP agrave basse consommation de Texas Instruments [Gath02]

Lobservation de ces valeurs de dissipation met en eacutevidence la tendance agrave la reacuteduction de moitieacute de la consommation deacutenergie (par instructions Multiply-Accumulate) chaque 18 mois En supposant ainsi une valeur de dissipation typique par instruction eacutegale agrave la consommation de linstruction Multiply-Accumulate une valeur de 01mWMIPS peut ecirctre utiliseacutee agrave titre de reacutefeacuterence indeacutependamment de la puissance de calcul offerte par cette classe de DSP agrave basse consommation Lanalyse des Table 8-1 et Table 8-2 montre que les descriptions algorithmiques des algorithmes de Viterbi et de List Decoding nutilisent pas dopeacuterations coucircteuse comme la multiplication On pourrait ainsi supposer que lutilisation geacuteneacuteraliseacutee de cette valeur de reacutefeacuterence puisse mener agrave une estimation surdimensionneacutee de la consommation deacutenergie Par conseacutequent on preacutevoit une seconde eacutevaluation utilisant une valeur de reacutefeacuterence moins oneacutereuse

52 Une opeacuteration Multiply-Accumulate consiste en le chargement de deux opeacuterandes

depuis la meacutemoire lexeacutecution de la multiplication (Multiply and Accumulate MuAcc) et la sauvegarde successive du reacutesultat dans la meacutemoire [Gath02]

226

Modegraveles destimation de la consommation agrave borne maximale et agrave borne minimale La Table 8-9 montre les reacutesultats de deux modegraveles destimation de la dissipation deacutenergie par opeacuteration de seacutelection du chemin survivant (algorithme de Viterbi) et de propagation dun chemin (List Decoding) Ces modegraveles se basent sur leacutevaluation du nombre dinstructions exeacutecuteacutees par le DSP nombre qui est ensuite pondeacutereacute par lestimation de la consommation deacutenergie typique par instruction

Estim

atio

n de

la c

ompl

exiteacute

de

cal

cul d

e lo

peacutera

tion

fond

amen

tale

()

Deg

reacute d

effic

aciteacute

de

lim

plan

tatio

n

Dis

sipa

tion

typi

que

par

cycl

e d

inst

ruct

ion

exeacutec

uteacute

Dis

sipa

tion

deacuten

ergi

e de

lo

peacutera

tion

fond

amen

tale

() Classe de DSP

Alg

orith

me

[wOP opeacuteration]

[wMOPS MIPS]

[mW MIPS]

[nJ opeacuteration] Mod

egravele

des

timat

ion

de la

co

nsom

mat

ion

Viterbi 10 100 DSP agrave basse consommation conccedilu pour un large usage List Dec 14

11 01 140

A borne maximale

(max)

Viterbi 10 013 DSP agrave basse consommation offrant des instructions SIMD et des uniteacutes speacuteciales List Dec 14

41 005 018

A borne minimale

(min) () Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding

Table 8-9 Estimations des valeurs de dissipation deacutenergie pour une implantation software des opeacuterations fondamentales des deux algorithmes lopeacuteration de seacutelection du chemin survivant et de propagation

Le premier modegravele destimation (deacutenommeacute agrave borne maximale) repreacutesente le contexte dune implantation optimale des opeacuterations fondamentales sur un DSP classique agrave basse consommation Dans ce contexte le DSP ne dispose ni de fonctions SIMD ni duniteacutes speacuteciales pour le traitement de lalgorithme de Viterbi La redondance des uniteacutes arithmeacutetiques ninfluence pas la consommation totale deacutenergie

227

Le second modegravele deacutevaluation prend en compte le contexte dun DSP qui dispose de moyens facilitant lexeacutecution des opeacuterations fondamentales (fonctions SIMD et uniteacutes speacuteciales) Par conseacutequent lestimation du nombre dinstructions a eacuteteacute reacuteduite dun facteur 4 en supposant que le degreacute defficaciteacute dimplantation seacutelegraveve agrave 41 wMOPSMIPS Ce facteur indique lordre de grandeur de la reacuteduction reacutealisable par lutilisation dinstructions SIMD et duniteacutes speacuteciales (observation des cas illustreacutes par la Table 8-6) En effet les algorithmes consideacutereacutes ne comprenant pas dopeacuterations coucircteuses en consommation il est possible de reacuteduire la valeur de dissipation de reacutefeacuterence La valeur de dissipation est ainsi reacuteduite (arbitrairement) de moitieacute en reconnaissant la difficulteacute destimation de la reacuteduction apporteacutee par lutilisation duniteacutes speacuteciales

Opeacuteration fondamentale (1) (partie parallegravele)

Partie seacutequentielle des algorithmes ()

Systegraveme entier

Dissipation deacutenergie

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Dissipation deacutenergie normaliseacutee par nombre dopeacuterations fondamentales (1)

Algorithme

Complexiteacute

Max Min (2)

Complexiteacute normaliseacutee par nombre dopeacuterations fondamentales (1)

Max Min (3) Max Min

Viterbi 10wOP 10 nJ 013 nJ 1 wOPACS 010 nJ 005 nJ 11 nJ 018 nJList Dec 14wOP 14 nJ 018 nJ 7 wOPprop 070 nJ 035 nJ 21 nJ 053 nJ(1) Lopeacuteration fondamentale de lalgorithme de Viterbi est lopeacuteration de seacutelection du chemin survivant lopeacuteration de propagation celui de la meacutethode List Decoding (2) 41 wMOPSMIPS 005 mWMIPS (3) 11 wMOPSMIPS 005 mWMIPS

Table 8-10 Estimation des valeurs de dissipation deacutenergie demandeacutee par les implantations des algorithmes de Viterbi et List Decoding Les paramegravetres de ces estimations sont illustreacutes dans la Table 8-9 () Lexeacutecution de ces opeacuterations ne peut pas beacuteneacuteficier de moyens permettant une reacuteduction du nombre dinstructions tels que des uniteacutes speacuteciales et des fonctions SIMD

A partir de ces modegraveles destimation la Table 8-10 preacutesente lestimation de la dissipation totale deacutenergie par bit dinformation Ces estimations mettent en eacutevidence les avantages de lexploitation des composantes parallegraveles des algorithmes Le paralleacutelisme algorithmique permet lutilisation de fonctions SIMD ce qui reacuteduit le nombre dinstructions neacutecessaires au traitement dun bit dinformation Les performances de lalgorithme List Decoding sont en effet peacutenaliseacutees par son importante composante seacutequentielle Ensuite sa diffeacuterence algorithmique empecircche

228

lexploitation des uniteacutes speacuteciales deacutedieacutees au traitement de lalgorithme de Viterbi Il faut toujours se rappeler que ces estimations (Table 8-10) se basent sur le nombre minimal dinstructions neacutecessaires agrave lexeacutecution des opeacuterations fondamentales et sur le rapport (observeacute) entre la complexiteacute de calcul de ces opeacuterations et la complexiteacute totale du systegraveme (Table 8-1 et Table 8-2)

832 Approche ASIC

Contrairement agrave lapproche software lestimation de la dissipation deacutenergie de lapproche ASIC dispose dinformations sur la structure le nombre les types et les valeurs de dissipation de tous les eacuteleacutements logiques et de stockage utiliseacutes

Contexte de codage Codeur256eacutetats

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Estimation de Design Compiler utilisant les reacutesultats des simulations effectueacutees avecModelSim

Estimation de Synopsys Design Compiler Sans erreurs Erreurs Seulement 0

BMu 01 mW 01 mW 01 mW 00 mWACSu 190 mW 217 mW 224 mW 105 mWBPS 49 mW 59 mW 52 mW 01 mWTBu 578 mW 399 mW 365 mW 21 mW

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 68 mW 64 mW 13 mWCourant de fuite statique (Leakage)

21 mW

Table 8-11 estimations de la dissipation deacutenergie dans le contexte de codage codeur256 Les conditions et les hypothegraveses de travail des diverses estimations sont deacutecrites dans la Table 8-12

Incertitudes les taux dactiviteacutes des blocs et la contribution des interconnexions Une incertitude affecte (potentiellement) lestimation de la dissipation deacutenergie la variation des taux dactiviteacute des divers modules Comme citeacute

229

dans le chapitre preacuteceacutedent les taux dactiviteacute varient en fonction de plusieurs facteurs tels que le taux dactiviteacute du symbole reccedilu les fonctions geacuteneacuteratrices la repreacutesentation numeacuterique des meacutetriques de branche et cumuleacutees la preacutesence derreurs de transmission et certains choix techniques (fonctions de seacutelection proceacutedure de prise de deacutecision) Etant donneacute que certains facteurs sont fixeacutes lors de la conception du circuit on veut analyser linfluence des facteurs externes sur la dissipation deacutenergie Ainsi quatre eacutevaluations ont eacuteteacute effectueacutees afin de situer limportance des variations de dissipation deacutenergie (Table 8-11 et Table 8-12) Estimation Conditions et hypothegraveses des estimations Synopsys Estimation effectueacutee par Synopsys Design Compiler en labsence

dinformation sur les taux dactiviteacute des blocssignaux La situation suivante a eacuteteacute consideacutereacutee Signal de remise agrave zeacutero (reset) changeant de valeur chaque 2egraveme cycles dhorloge (P[1]=05 Activiteacute=05) Bits du symbole reccedilu (in_data) changeant de valeur chaque 2 egraveme cycles dhorloge (P[1]=05 Activiteacute=05)

Estimation effectueacutee par Synopsys Design Compiler en se basant sur les reacutesultats dune simulation effectueacutee agrave laide de loutil Modelsim (Model Technology Incorporated) Sans erreurs Codage dun flux de 1000 bits dinformation qui ont eacuteteacute geacuteneacutereacutes de maniegravere

aleacuteatoire (P[1]=048 Activiteacute=047) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Erreurs Geacuteneacuteration de symboles dentreacutee (in_data) de maniegravere aleacuteatoire et indeacutependante premier bit (LSB) P[1]=049 Activiteacute=045 second bit P[1]=051 Activiteacute=044 troisiegraveme bit (MSB) P[1]=049 Activiteacute=043 Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Seulement 0 Codage dun flux de 1000 bits dinformation bits constitueacutes seulement par des zeacuteros (P[1]=00 Activiteacute=00) Absence derreurs de transmission Le signal de remise agrave zeacutero na eacuteteacute utiliseacute quune fois au deacutebut de la simulation

Table 8-12 conditions et hypothegraveses prises en compte par les estimations de dissipation deacutenergie effectueacutees Leacutegende P[1] symbolise la probabiliteacute que le bit soit eacutegal agrave 1 activiteacute indique le nombre de transitions par cycle dhorloge

Quatre situations particuliegraveres sont consideacutereacutees (Table 8-12)

bull une situation dabsence dinformations sur les signaux dentreacutee (eacutevaluation nommeacutee Synopsys)

bull une transmission de donneacutees en labsence derreurs (Sans erreurs)

230

bull une transmission extrecircmement perturbeacutee et domineacutee par les erreurs de transmission (Erreurs)

bull le codage dune seacutequence de bits dinformation impliquant une invariabiliteacute du symbole de sortie (Seulement 0)

Il en deacutecoule que labsence dinformation sur lactiviteacute des symboles reccedilus et du signal de remise agrave zeacutero a geacuteneacutereacute une eacutevaluation (Synopsys) plus seacutevegravere par rapport aux autres cas simuleacutes (Table 8-11) Par contre linfluence des erreurs de transmission sur la dissipation deacutenergie est faible laugmentation de la consommation deacutenergie du module ACSu eacutetant limiteacutee par rapport agrave la consommation totale Dans la derniegravere situation consideacutereacutee (estimation Seulement 0) lactiviteacute des modules se reacuteduit au minimum avec des valeurs de dissipation deacutenergie extrecircmement basses Cette situation dinvariabiliteacute des symboles geacuteneacutereacutes est bien entendu reacuteelle toutefois rare si lon suppose leacutequiprobabiliteacute des messages transmis Pour prendre en consideacuteration un plus large spectre dapplications les valeurs de dissipation de leacutevaluation plus seacutevegravere (eacutevaluation Synopsys Table 8-12) sont utiliseacutees dans la suite du document (Table 8-13) Virtual Silicon Technology VST25 UMC25 025microm

Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Cycle dhorloge de 50 ns (20 MHz)

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats BMu 81 microW 203 microW 55 microW 01 mWACSu 2435 microW 11 mW 49 mW 190 mWBPS 239 microW 02 mW 09 mW 49 mWTBu 5706 microW 22 mW 102 mW 578 mW

Dis

sipa

tion

inteacute

rieur

e

Total 846 microW 3 mW 16 mW 82 mWConsommation due au courant de fuite statique (Leakage)

21 microW 97 microW 466 microW 21 mW

Table 8-13 dissipations deacutenergie des modules selon les divers contextes de codage Evaluation Synopsys (Table 8-12)

Actuellement on dispose de toutes les informations des eacuteleacutements de conception du systegraveme de deacutecodage Afin deffectuer une comparaison objective on doit consideacuterer aussi les effets dus au placement des eacuteleacutements et

231

du routage En ne disposant pas de reacutesultats de routage les effets des interconnexions sont pris en compte avec une pondeacuteration arbitraire par un facteur deux (Table 8-14)

Contexte de codage Codeur256eacutetats Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low) Module Estimation de

Synopsys Design Compiler Cycle dhorloge de 50ns

Dissipation deacutenergie par cycle dhorloge

Estimation de la dissipation deacutenergie de la reacutealisation mateacuterielle (x2)

BMu 01 mW 50 pJ 10 pJACSu 190 mW 10 nJ 19 nJBPS 49 mW 02 nJ 05 nJTBu 578 mW 29 nJ 58 nJ

Dis

sipa

tion

inteacute

rieur

e

Total 82 mW 41 nJ 82 nJ

Table 8-14 estimation de la consommation deacutenergie par cycle dhorloge agrave partir des valeurs de dissipation inteacuterieure Evaluation Synopsys (conditions Table 8-12)

Aspect de la faible consommation Les moyens pour atteindre une faible consommation sont dabaisser autant que possible la freacutequence de travail la capaciteacute eacutequivalente et surtout la tension dalimentation [Heub97] Ainsi en beacuteneacuteficiant de la relation existante entre la freacutequence de travail et la tension dalimentation le renoncement (partiel) agrave une vitesse dexeacutecution eacuteleveacutee en reacuteduisant la tension dalimentation est une solution extrecircmement rentable en termes deacuteconomie deacutenergie Cette strateacutegie permet de reacuteduire efficacement la dissipation deacutenergie dynamique par bit la Table 8-15 montre leacutevaluation de leacuteconomie deacutenergie obtenue par une reacuteduction de moitieacute de la tension dalimentation En ce qui concerne sa faisabiliteacute les deacutebits de traitement montreacutes par le systegraveme de base (Table 8-8) permettent denvisager concregravetement cette solution surtout en consideacuterant les importantes potentialiteacutes apporteacutees par lapproche pipeline dans la reacutealisation du module TBu

232

Virtual Silicon Technology VST25 UMC25 025microm Condition de lanalyse condition de fonctionnement difficile (VDD 225V 70˚C ) analyse simple (analysis_effort low)

Dissipation deacutenergie par peacuteriode

Evaluation de Synopsys Design Compiler pondeacutereacutee par un facteur 2 (estimation des effets dus au routage)

Estimation dune reacuteduction de moitieacute de la tension dalimentation (112 V)

Codeur4eacutetats 008 nJ 002 nJ Codeur16eacutetats 03 nJ 008 nJ Codeur64eacutetats 16 nJ 04 nJ Codeur256eacutetats 82 nJ 2 nJ

Table 8-15 Estimation de la variation de la dissipation deacutenergie lors dune reacuteduction de la tension dalimentation Ces eacutevaluations se basent sur lhypothegravese quune reacuteduction de moitieacute de la tension dalimentation permet de baisser de la consommation dun facteur quatre

833 Comparaison des dissipations deacutenergie des deux approches software et hardware

La comparaison des deux approches montre que le seul moyen que lapproche software possegravede pour se rendre plus concurrentiel est la geacuteneacuteration dun code binaire optimal Ceci est possible agrave laide de fonctions SIMD et duniteacutes deacutedieacutees au traitement de lalgorithme de Viterbi (Figure 8-4 et Figure 8-5) Opeacuteration fondamentale de seacutelection du chemin survivant (ACS) La structure algorithmique de lalgorithme de Viterbi se concentre autour de cette opeacuteration particuliegravere La reacutealisation mateacuterielle ainsi que limplantation software de cette opeacuteration caracteacuterisent les systegravemes correspondants Lopeacuteration de seacutelection du chemin survivant est simple autant que particuliegravere il sagit en fait dune double addition suivie par une comparaison des valeurs obtenues Limplantation software se trouve ainsi dans une situation deacutefavorable en raison dune discordance entre la particulariteacute de cette opeacuteration et le mode dexeacutecution classique des DSP Cette situation implique un nombre supeacuterieur dinstructions qui dans le contexte dune opeacuteration simple entraicircne une perte de compeacutetitiviteacute et une dissipation supeacuterieure deacutenergie

233

0001020304050607080910

Dis

sipa

tion

deacuten

ergi

e pa

r op

eacuterat

ion

AC

S [n

JA

CS]

AS

IC 2

56eacutet

ats

6 b

its

113

V

AS

IC 2

56eacutet

ats

6 b

its

225

V

DS

P agrave

bas

seco

nsom

mat

ion

speacutec

ialis

eacute 2

x8bi

ts lt

15

V

min

DS

P agrave

bas

seco

nsom

mat

ion

16 b

its lt

15

V

max

Figure 8-4 comparaison des valeurs estimeacutees de dissipation deacutenergie des approches software (Table 8-10) et ASIC (Table 8-14) Lopeacuteration analyseacutee est lopeacuteration ACS de lalgorithme de Viterbi Les informations de ces opeacuterations indiquent lapproche la situation consideacutereacutee le nombre de bits assigneacutes agrave la repreacutesentation des meacutetriques cumuleacutees la tension dalimentation et le type destimation

Consommation deacutenergie du deacutecodeur de Viterbi Lalgorithme de Viterbi est caracteacuteriseacute par une seacuteries dopeacuterations indeacutependantes de seacutelection des chemins survivants suivies par une opeacuteration iteacuterative de prise de deacutecision En termes de deacutebit de traitement et de dissipation deacutenergie un circuit programmable agrave large usage est eacutevidemment moins performant agrave un circuit adapteacute aux particulariteacutes de ce type dalgorithme Sur le plan de la reacuteduction de la consommation deacutenergie cette perte initiale de compeacutetitiviteacute des approches softwares peut ecirctre partiellement combleacutee tout dabord par la disponibiliteacute (et le constant renouvellement) de DSP agrave basse consommation reacutealiseacutes avec des technologies toujours plus avanceacutees Ensuite les uniteacutes speacuteciales de traitement et les instructions SIMD permettent une exeacutecution plus efficace des opeacuterations particuliegraveres et reacutepeacutetitives constituant lalgorithme de Viterbi (Figure 8-4)

234

Figure 8-5 tendance de la dissipation deacutenergie de lalgorithme de Viterbi

Il est ainsi eacutevident que gracircce agrave une adaptabiliteacute optimale aux caracteacuteristiques particuliegraveres de lalgorithme de Viterbi lapproche ASIC offre toujours les meilleures potentialiteacutes en termes de reacuteduction de consommation (Figure 8-5) Cette caracteacuteristique est surtout appreacutecieacutee (et dans certains cas indispensable) dans le contexte de la communication mobile (Table 8-16)

Estimation du nombre de bits potentiellement traitables en disposant de maniegravere exclusive de toute leacutenergie [bits]

Tension

Capaciteacute typique

Approche DSP

consommation

Approche ASIC

Accumulateur

[V] [Ah] Max Min Ni-MH type AA 12 15 002middot1012 01middot1012 3middot1012 Ni-MH type AAA 12 07 001middot1012 07middot1012 1middot1012

Table 8-16 potentialiteacutes et performances indicatives des deux approches en consideacuterant le contexte de codage de la communication mobile UMTS Les valeurs de consommation ont eacuteteacute extraites de la Table 8-10 et la Table 8-15)

235

84 Surface de silicium

Le dernier aspect traiteacute est la surface de silicium des circuits qui a une incidence sur les coucircts de fabrication et sur la faciliteacute dincorporer la fonction dans des systegravemes inteacutegreacutes (System On Chip SoC) Lobjectif principal de cette analyse est la comparaison de la surface de silicium neacutecessaire agrave la reacutealisation dun circuit deacutedieacute qui exploite exhaustivement le paralleacutelisme de lalgorithme de Viterbi avec la surface dun processeur versatile et geacuteneacuterique qui montre un degreacute de paralleacutelisme reacuteduit et limiteacute au strict neacutecessaire Fabriquant DSP Normalement

disponible comme (chipcore)

Agere Systems DSP16xxx chip Analog Devices ADSP-21xx ADSP-219x ADSP-2153x ADSP-

TS101S chip

ARM ARM7 ARM9 ARM9E core 3DSP SP-5 core DSP Group OakDSPCore TeakLite Teak PalmDSPCore core Hitachi SH-DSP SH3-DSP chip Hitachi STMicroelectronics

SH4ST40 SH5ST50 chip et core

TriCore 1 chip et core Infineon Carmel 10xx core

LSI Logic LSI140xX chip et core Motorola DSP563xx DSP568xxDSP5685x chip StarCore MSC8101 StarPro2000 chip Texas Instruments TMS320C2xx TMS320C28xx TMS320C54xx

TMS320C55xx TMS320C62xx TMS320C64xx chip

Table 8-17 processeurs agrave virgule fixe livrables en 2002 [BDTi2]

841 Processeurs DSP

La caracteacuterisation de la surface typique des DSP est dabord rendue difficile par la non-homogeacuteneacuteiteacute des nombreux DSP preacutesents dans le marcheacute (Table 8-17) Cette non-homogeacuteneacuteiteacute est causeacutee principalement par la diversiteacute des approches architecturales la taille de la meacutemoire inteacutegreacutee les technologies de reacutealisation physique les outils mis agrave disposition et le nombre duniteacutes fonctionnelles redondantes du DSP Lopeacuteration de caracteacuterisation est ensuite entraveacutee par la disponibiliteacute reacuteduite dinformations facilement accessibles sur les valeurs de surface de silicium

236

Cœur syntheacutetisable

Technologie Surface

Freacutequence dhorloge

Performances Notes

018 microm 095 mm2 80-110 MHzARM7EJ-S

013 microm 042 mm2 100-133 MHz

10 MIPSMHz

Basse consommation surface reacuteduite et extension instructions DSP

025 microm 27 mm2 160 MHzARM9E-S

018 microm - 200+ MHz

11 MIPSMHz

Extensions traitement du signal uniteacute MAC de16x32 (cycle unique) et pipeline avec 5 eacutetages

Table 8-18 caracteacuteristiques de deux cœurs syntheacutetisables de ARM [ARM7] [ARM9] Ces cœurs sont des processeurs-DSP de type RISC posseacutedant une structure agrave 32 bits

Par conseacutequent en raison de leur simpliciteacute architecturale et de la richesse en informations les processeurs DSP de ARM (Table 8-18) sont utiliseacutes agrave titre de reacutefeacuterence pour cette analyse La famille de processeurs ARM7 comprend les cœurs RISC agrave 32 bits destineacutes agrave des applications basse consommation et agrave faible coucirct Le cœur syntheacutetisable ARM7EJ-S met agrave disposition toutes les potentialiteacutes dun microcontrocircleur et dun DSP [ARM7] Le cœur ARM9E-S offre les capaciteacutes dun DSP exploitant un cœur de processeur RISC agrave 32 bits Ses arguments de vente sont la surface reacuteduite de silicium la simpliciteacute architecturale la basse consommation et la rapiditeacute de reacutealisation des solutions (time-to-market) [ARM9]

842 Systegraveme de base ASIC

Dans le contexte dune exploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi la surface de silicium du systegraveme deacutepend eacutevidemment de la longueur de contrainte K du code convolutif (Table 8-19) La surface de silicium croicirct parallegravelement agrave la redondance des uniteacutes fonctionnelles qui est fonction de la longueur de contrainte K du code convolutif envisageacute (Table 8-19) Les deux modules les plus exigeants sont celui responsable de la seacutelection parallegravele des chemins survivants (ACSu) et celui chargeacute de la prise de deacutecision du bit dinformation (TBu)

237

Virtual Silicon Technology VST25 UMC25 025microm

Surface en mm2 (apregraves synthegravese) Contexte de codage

Blocs

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats

BMu combinatoire 36middot10-4 62middot10-4 10middot10-3 26middot10-3

ACSu combinatoire 65middot10-3 25middot10-2 12middot10-1 49middot10-1

ACSu non- combinatoire 35middot10-3 14middot10-2 67middot10-2 27middot10-1

BPS combinatoire 23middot10-3 13middot10-2 68middot10-2 30middot10-1

TBu combinatoire 46middot10-3 26middot10-2 12middot10-1 49middot10-1

TBu non- combinatoire 17middot10-2 81middot10-2 41middot10-1 20Total 34middot10-2 17middot10-1 79middot10-1 36

Table 8-19 vue densemble des valeurs de surface de chaque bloc appartenant au systegraveme de base deacuteveloppeacute

843 Comparaison des demandes en surface de silicium des deux approches software et hardware

En comparant les valeurs de surface de silicium il est eacutevident le coucirct suppleacutementaire en silicium ducirc agrave lexploitation exhaustive du paralleacutelisme de lalgorithme de Viterbi (Table 8-19) La strateacutegie dune exeacutecution seacutequentielle des opeacuterations ainsi que la souplesse demploi des deux cœurs ARM permettent dobtenir un rapport optimal entre la surface de silicium et la gamme de fonctions disponibles Dans le contexte de codage UMTS lexploitation exhaustive du paralleacutelisme algorithmique entraicircne des forts coucircts en termes de surface de silicium en raison de limportante longueur de contrainte des codes convolutifs (K=9) La reacutealisation mateacuterielle neacutecessite ainsi plusieurs mm2 de silicium pour inteacutegrer limportant nombre duniteacutes fonctionnelles 256 uniteacutes mise agrave jour-comparaison-seacutelection et 45 blocs de sauvegardes-reconstruction deacutetats du chemin Il faut souligner que la reacutealisation physique du systegraveme de base neacutetait pas soumise agrave des contraintes relatives agrave la surface de silicium A titre dexemple la conception du module TBu a utiliseacute systeacutematiquement des bascules pour la sauvegarde des informations neacutecessaires agrave la reconstruction des chemins En raison de la typologie de cette tacircche une reacuteduction de la surface de silicium peut ecirctre obtenue en remplaccedilant les bascules par des verrous (Latches)

238

Codeur4eacutetats Codeur16eacutetats Codeur64eacutetats Codeur256eacutetats Technologie

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Surface [mm2]

Deacutebit de traitem [Mbitss]

Processeur-DSP ARM7EJ-S

018microm 95middot10-1 25 95middot10-1 61middot10-1 95middot10-1 16middot10-1 95middot10-1 39middot10-2

Processeur-DSP ARM9E-S

025 microm 27 40 27 97middot10-1 27 25middot10-1 27 63middot10-2

UMC25 025microm

(synthegravese) 34middot10-2 76 17middot10-1 17 79middot10-1 11 36 88

Systegraveme de base (δp=5middotK)

Estimation apregraves routage

7middot10-2 38 3middot10-1 8 2 6 7 4

Table 8-20 comparaison des valeurs de surface entre deux processeurs-DSP de type RISC et les quatre deacutecodeurs utiliseacutes pour leacutetude (Table 8-18 Table 8-3 et Table 8-19) La comparaison tient aussi compte des potentialiteacutes de deacutebit de traitement Le systegraveme de base est caracteacuteriseacute par les valeurs apregraves synthegravese les potentialiteacutes apregraves routage sont estimeacutees par une pondeacuteration par un facteur deux

85 Conclusions DSP ou ASIC

Ce chapitre a permis de situer les coucircts demploi dun circuit ASIC et dune implantation software sur DSP pour lexeacutecution de lalgorithme de Viterbi Les aspects traiteacutes ont eacuteteacute le deacutebit du traitement leacutenergie neacutecessaire pour le traitement de chaque bit dinformation et la surface de silicium des circuits Les potentialiteacutes des deux approches ont eacuteteacute jugeacutees agrave partir des reacutesultats et de lexpeacuterience mucircrie avec les implantations et la reacutealisation mateacuterielle deacutecrite dans les chapitres preacuteceacutedents Si limplantation software offre une solution rapide souple et bon marcheacute la reacutealisation mateacuterielle offre des potentialiteacutes de vitesse dexeacutecution et deacuteconomie de consommation incomparables (Table 8-21) Les coucircts en termes de surface de silicium deacutependent de la redondance des uniteacutes de traitement incluse dans les circuits DSP et ASIC

239

Deacutebit de traitement Consommation Surface DSP ASIC () DSP ASIC () DSP ASIC ()

TI320C64x() pipeline() min 225V () ARM7EJ-S Systbase Codeur4eacutetats 170 Mbps 210 Mbps 072 nJbit 008 nJbit 095 mm2 34middot10-2 mm2

Codeur16eacutetats 43 Mbps 190 Mbps 288 nJbit 03 nJbit 095 mm2 17middot10-1 mm2

Codeur64eacutetats 11 Mbps 150 Mbps 1152 nJbit 16 nJbit 095 mm2 79middot10-1 mm2

Codeur256eacutetats 26 Mbps 120 Mbps 4608 nJbit 82 nJbit 095 mm2 36 mm2

() estimation agrave partir des reacutesultats de [DuAz00] () valeur apregraves synthegravese pondeacutereacutee par un facteur 2 () estimation de la strateacutegie pipeline avec deacutecodage dun chemin quelconque () estimation de Synopsys Design Compiler (VDD 225V 70ordmC analyse simple)

Table 8-21 vue densemble des potentialiteacutes des approches software et hardware Les potentialiteacutes sont estimeacutees seacutepareacutement lune des autres (Table 8-7 Table 8-8 Table 8-10 Table 8-13 Table 8-15 Table 8-18 et Table 8-19)

Algorithme de Viterbi Cet algorithme est caracteacuteriseacute par la reacutepeacutetition massive dune opeacuteration simple autant que particuliegravere (la seacutelection du chemin survivant) suivie par une opeacuteration demandant une exeacutecution seacutequentielle (prise de deacutecision) En raison dune configuration de travail impliquant lexeacutecution reacutepeacutetitive53 de cette derniegravere opeacuteration lalgorithme montre de fortes composantes parallegraveles ainsi que seacutequentielles Implantation software sur DSP Les principales limites de limplantation software sont la neacutecessiteacute de disposer dinstructions suppleacutementaires pour lexeacutecution des tacircches (lieacutees aux transferts des donneacutees) le manque dadaptabiliteacute des tailles des variables et la redondance limiteacutee des uniteacutes fonctionnelles Limplantation de lopeacuteration de seacutelection du chemin survivant est tout de suite greveacutee par la neacutecessiteacute dinstructions suppleacutementaires Ce handicap initial est ensuite amplifieacute par la reacutepeacutetition massive de cette opeacuteration fondamentale de lalgorithme de Viterbi Cette perte de compeacutetitiviteacute ne peut ecirctre combleacutee que par lutilisation de solutions et de technologies plus reacutecentes la disponibiliteacute duniteacutes fonctionnelles redondantes de fonctions SIMD et de 53 Dans le contexte de deacutecodage eacutetabli lopeacuteration de prise de deacutecision implique agrave chaque

niveau de profondeur la prise de deacutecision sur un bit dinformation

240

blocs speacuteciaux de traitement permet lameacutelioration des potentialiteacutes de deacutebit de traitement et de consommation deacutenergie Le prix agrave payer est toutefois lutilisation dun DSP posseacutedant une plus grande surface de silicium ainsi que le renoncement graduel agrave une description souple agrave haut niveau et portable de lalgorithme de Viterbi La forte composante seacutequentielle de lopeacuteration de prise de deacutecision convient de maniegravere optimale au mode dexeacutecution classique des DSP Lexeacutecution reacutepeacutetitive de cette opeacuteration ne deacutegrade pas les potentialiteacutes de lapproche software Approche ASIC La reacutealisation physique convient agrave lexeacutecution de lalgorithme de Viterbi gracircce agrave la possibiliteacute dexploiter exhaustivement les caracteacuteristiques particuliegraveres de lalgorithme La reacutealisation de lopeacuteration de seacutelection du chemin survivant se reacutevegravele ecirctre encore une fois leacuteleacutement crucial en raison de sa structure simple mais particuliegravere Lapproche ASIC permet une reacutealisation adapteacutee agrave la singulariteacute algorithmique de lopeacuteration en exploitant exhaustivement le paralleacutelisme disponible Lavantage dun traitement parallegravele de lalgorithme est eacutevident en analysant lopeacuteration de seacutelection des 2k-1 chemins survivants Les potentialiteacutes en termes deacutepargne deacutenergie et de vitesse dexeacutecution de cette approche sont ainsi excellentes Par contre laugmentation de la redondance des uniteacutes de traitement et la sauvegarde des informations de reconstruction augmentent les coucircts en termes de surface de silicium Limportante composante seacutequentielle de lopeacuteration de prise de deacutecision cause ensuite une perte de compeacutetitiviteacute du systegraveme de base ASIC Lexeacutecution seacutequentielle de cette opeacuteration agrave chaque cycle dhorloge deacutegrade les performances de deacutebit de traitement du systegraveme de base Les contre-mesures envisageables sont ladoption de la strateacutegie pipeline ainsi quune prise de deacutecision multiple par intervalles (Annexe C Figure C-8) Domaines dutilisation compleacutementaires des deux approches software et hardware Du point de vue du codage de canal le changement du contexte de codage et laugmentation du deacutebit maximal de transmission des standards UMTS geacutenegraverent une forte variabiliteacute de la charge de calcul des opeacuterations de deacutecodage

241

Lutilisation dun code convolutif avec une longueur de contrainte de 9 [Ts25212] exige tout dabord une importante charge de calcul pour le deacutecodage de chaque bit dinformation Par rapport aux technologies 2G il faut ainsi consideacuterer un facteur daugmentation entre quatre (si on prend en compte le GSM Half Rate Speech [ETSI909]54) et seize (par rapport au GSM Enhanced Full Rate Speech et Full Rate Speech [ETSI909]55)

Peacuteriode Entreprise Modegravele (Fabricant) Nombre duniteacutes rappeleacutees

Juillet 2000 KDDIau C309H (Hitachi) 138000Octobre 2000 KDDIau C309T (Toshiba) 59800Novembre 2000 J-Phone J-D03 (Mitsubishi) 180000Janvier 2001 NTT DoCoMo

DDI Pocket S0502iWM (Sony) PHS-J80 (Sanyo)

31000600000

Feacutevrier 2001 NTT DoCoMo Astel

P503i (Matsushita Comm)AJ-51 (Japan Radio)

2300002000

Mai 2001 NTT DoCoMo KDDIau J-Phone

S0503i (Sony) C101S (Sony) DP-221 (Mitsubishi)

420000126000

2730Juin 2001 Tu-Ka TH461 (Mitsubishi) 1814Juillet 2001 NTT DoCoMo

KDDIau KDDIau

P503i (Matsushita Comm)C406S (Sony) Casio

10000056000052100

Table 8-22 rappels principaux de teacuteleacutephones mobiles dus agrave des deacutefaillances software hardware ou agrave lutilisation de protocoles non entiegraverement conformes aux reacuteseaux La peacuteriode consideacutereacutee se situe entre juillet 2000 et 2001 peacuteriode qui est caracteacuteriseacutee par leacutelargissement de la gamme dapplications offertes (Japon [Yasu01])

La grande variabiliteacute du deacutebit de transmission des standards UMTS peut ensuite creacuteer des exigences de deacutecodage contradictoires A cause du caractegravere agrave large usage des standards UMTS on peut ainsi se retrouver facilement dans des situations ougrave soit le DSP est incapable de fournir toute la puissance de calcul neacutecessaire agrave lexeacutecution de lapplication en temps reacuteels soit les beacuteneacutefices apporteacutes par un circuit suppleacutementaire ASIC ne sont pas suffisants pour justifier ses coucircts suppleacutementaires 54 Ce systegraveme de transmission exploite un code convolutif avec longueur de 7 55 Ces contextes de codage utilisent un code convolutif avec longueur de contrainte de 5

242

En consideacuterant des contextes de codage peu exigeants en termes de ressources lapproche software permet une implantation rapide dalgorithmes offrant toutes ses qualiteacutes qui ont eacuteteacute tregraves appreacutecieacutees dans le contexte des technologies 2G Ces qualiteacutes sont tregraves utiles pour minimiser les coucircts suppleacutementaires dus agrave la modification et agrave la correction des deacutefaillances des applications et des protocoles ([Yasu01] Table 8-22) Le choix de la meacutethode de deacutecodage deacutepend principalement des exigences de lapplication ainsi que de la disponibiliteacute doutils et uniteacutes speacuteciales de traitement Si les exigences en termes de deacutebit de traitement et deacuteconomie deacutenergie augmentent la solution ASIC simpose graduellement Lapproche hardware sadapte de maniegravere optimale aux caracteacuteristiques de cet algorithme comportant une meilleure efficaciteacute dexeacutecution et une reacuteduction de la consommation deacutenergie Le vaste marcheacute estimeacute pour la 3G ainsi que la potentialiteacute dinteacutegration (System On Chip SoC) permettent datteacutenuer les probleacutematiques lieacutees aux coucircts supeacuterieurs de cette solution [BDTi4]

Reacutefeacuterences

[ARM7] ARM Ltd ARM7TM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[ARM9] ARM Ltd ARM9E-STM Thumbreg Family informations sur le produit page Internet acceacutedeacutee en eacuteteacute 2002 wwwarmcom

[BDTi2] Berkeley Design Technology Inc (BDTi) Pocket Guide to DSP Processors and Cores Currently Available Processors mai 2002 page Internet acceacutedeacutee en eacuteteacute 2002 wwwbdticom

[BDTi4] Berkeley Design Technology Inc (BDTi) Alternatives to DSP Processors for Communications Applications preacutesentation de J Bier agrave Aalborg University Danemark avril 2001 page Internet acceacutedeacutee au printemps 2002 wwwbdticom

[DuAz00] J Du J Falkowski A Aziz J Lane Implementation of Viterbi Decoding on StarCore SC140 DSP International Conference on Signal Processing Applications amp Technology (ICSPAT 2000) 16-19 octobre 2000 Dallas Etats-Unis dAmeacuterique

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Feld02] H T Feldkaumlmper T Gemmeke H Blume T G Noll Analysis of reconfigurable and heterogeneous architectures in the

243

communication domain 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Gold95] I Gold The OakDSPCores Viterbi Accelerator Speeds Up Digital Communications DSP amp Multimedia Technology deacutecembre 1995 - janvier 1996 page Internet de DSP Group acceacutedeacutee en eacuteteacute 2002 wwwdspgcomwebsitetechnologyarticle2htm

[Heub97] A Heubi De lalgorithme de traitement numeacuterique du signal agrave sa reacutealisation agrave faible consommation par un circuit inteacutegreacute speacutecifique Thegravese de Doctorat egraves sciences techniques Ecole Polytechnique Feacutedeacuterale de Lausanne Lausanne 1997

[Kapp92] H Kapp CMOS-Schaltungstechnik fuumlr integrierte Viterbi-Decoder Thegravese Doctorat egraves sciences techniques Technische Universitaumlt Berlin 1992

[Saou02] Y Saouter C Berrou Fast SUBMAP decoders for duo-binary turbo-codes 1st IEEE International Conference on Circuits and Systems for Communications (ICCSC02) 26-28 juin 2002 St-Petersburg Russie

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[UMC25] Virtual Silicon Technology Inc Diplomat-25 Standard Cell Library 025microm UMC Process rev 21 deacutecembre 1999

[Yasu01] H Yasui Recall of Mobile Phones Continue article du 17 septembre 2001 page Internet de NeAsia Online wwwnikkeibpasiabiztechcom

244

245

9 Conclusions

Suite aux modifications apporteacutees dans le nouveau standard de communication mobile UMTS le sujet de la thegravese est lanalyse des reacutealisations software et hardware de lopeacuteration de deacutecodage des codes convolutifs preacutevus par ce standard Cette thegravese eacutevalue tout dabord lefficaciteacute des meacutethodes classiques de deacutecodage convolutif de la 2egraveme Geacuteneacuteration dans le nouveau contexte du codage UMTS et elle propose ensuite dautres meacutethodes ameacutelioreacutees de deacutecodage Point de deacutepart En consideacuterant larchitecture et la meacutethode de deacutecodage preacutedominantes dans les technologies de la 2G une nouvelle implantation software de lalgorithme de Viterbi a mis en eacutevidence un alourdissement de la charge de calcul assigneacute au DSP Comme on pouvait sy attendre lagrandissement de la longueur de contrainte des codes augmente la charge de calcul neacutecessaire au deacutecodage de chaque symbole proteacutegeacute Lutilisation de lalgorithme de Viterbi neacutecessite ainsi lexeacutecution dau moins 28k wOP par bit proteacutegeacute contre les 176 wOP demandeacutes par les services de la 2G GSM Enhanced Full Rate Speech et Full Rate Speech Reacutesultats obtenus Consideacuterant limportante complexiteacute de calcul demandeacutee par lalgorithme de Viterbi cette thegravese propose des meacutethodes ameacutelioreacutees pour reacutealiser le deacutecodage des codes convolutifs Ces meacutethodes se reacutevegravelent inteacuteressantes agrave la fois du point de vue de la complexiteacute de calcul et de la qualiteacute du deacutecodage que des potentialiteacutes dune reacutealisation mateacuterielle Approche software Dans le cadre de cette thegravese lanalyse de la structure du codage de canal des standards UMTS ainsi que des principes du deacutecodage convolutif a permis de proposer deux meacutethodes alternatives agrave la solution classique Viterbi les meacutethodes iteacuteratives List Viterbi Algorithm (nouvelle reacutealisation) et List Decoding inteacutegrant la validation CRC (nouvelle meacutethode) Le principe des deux meacutethodes iteacuteratives est une exploitation exhaustive des informations

246

suppleacutementaires fournies par les bits de pariteacute CRC qui ont eacuteteacute ajouteacutes au message La meacutethode List Viterbi Algorithm permet dameacuteliorer le niveau de protection pour lequel lalgorithme de Viterbi fait reacutefeacuterence Une nouvelle implantation conforme aux critegraveres dune exeacutecution en temps reacuteel a prouveacute la faisabiliteacute de la meacutethode dans le contexte du codage UMTS ainsi que le bon rapport entre la qualiteacute de protection et la charge de calcul de la meacutethode La meacutethode List Decoding inteacutegrant la validation CRC a eacuteteacute deacuteveloppeacutee dans loptique dexploiter les informations suppleacutementaires du codage CRC afin de reacuteduire la charge de calcul Cette meacutethode beacuteneacuteficie dune nouvelle reacutealisation plus efficace de lrsquoalgorithme List Decoding ce qui permet de reacuteduire efficacement la complexiteacute de calcul de la meacutethode iteacuterative Le principe des deux meacutethodes eacutetant une exploitation exhaustive du codage en bloc concateacuteneacute lutilisation de ces meacutethodes seacutetend agrave tous les domaines de la transmission numeacuterique des donneacutees fixe mobile et satellitaire Ces deux nouvelles meacutethodes eacutelargissent ainsi la liste de solutions efficaces agrave disposition ce qui permet aux designers de mieux reacutepondre aux exigences dune plus large gamme dapplications La limite des implantations software reste limportante charge de calcul due agrave la reacutepeacutetition massive soit de lopeacuteration de seacutelection du chemin survivant (meacutethodes baseacutees sur lalgorithme de Viterbi) soit de lopeacuteration de propagation (meacutethodes baseacutees sur le List Decoding) Approche hardware Ce travail de thegravese a traiteacute ensuite la reacutealisation mateacuterielle dun deacutecodeur geacuteneacuterique pour des codes convolutifs utilisant lalgorithme de Viterbi La reacutealisation du systegraveme de base a exploiteacute exhaustivement le paralleacutelisme et la simpliciteacute algorithmique qui caracteacuterisent la meacutethode de Viterbi La deacutecomposition du principe de deacutecodage en ses eacuteleacutements constituants ainsi quune reacutealisation parameacutetrable ont permis danalyser en deacutetail la reacutealisation mateacuterielle de chaque eacuteleacutement Lutilisation de la technologie Virtual Silicon Technology VST25-UMC25 (025microm) et des outils Design Compiler (Synopsys) et Modelsim (Model Technology Incorporated) ont permis une eacutevaluation des potentialiteacutes de chaque eacuteleacutement constituant en plus de favoriser la proposition de meacutethodes alternatives de reacutealisation Parmi les alternatives proposeacutees on a analyseacute le principe de lutilisation dun chemin quelconque pour la prise de deacutecision du bit dinformation (eacutetude pionniegravere) la nouvelle approche pipeline pour la reacutealisation de lopeacuteration de prise de deacutecision (nouveau principe) ainsi que lexploitation de la redondance des opeacuterations de reconstruction deacutetats (nouveau principe) Les premiers

247

deux principes ameacuteliorent le deacutebit de traitement du systegraveme de deacutecodage alors que le troisiegraveme reacuteduit la dissipation deacutenergie de lopeacuteration de prise de deacutecision Lanalyse du systegraveme de base a permis de mettre en eacutevidence les bonnes potentialiteacutes dune reacutealisation mateacuterielle de lalgorithme de Viterbi telles que les aspects de la rapiditeacute de traitement et de la reacuteduction de la consommation deacutenergie Lapproche coprocesseur ameacuteliore de la souplesse demploi qui est la limite caracteacuteristique des reacutealisations mateacuterielles Ceci permet leacutelargissement de lutilisation du systegraveme de deacutecodage deacuteveloppeacute agrave dautres applications de traitement du signal utilisant lalgorithme de Viterbi (par exemple applications impliquant des fonctions dites de maximum de vraisemblance) Observations finales Leacutetude met en eacutevidence labsence actuelle dune solution globalement efficace pour les standards UMTS contrairement au cas des implantations software de lalgorithme de Viterbi massivement utiliseacutes dans les technologies de la 2G La solution optimale deacutepend des exigences et des caracteacuteristiques propres agrave lapplication utilisant le reacuteseau mobile UMTS Lutilisation de dispositifs programmables offre des solutions rapides souples et bon marcheacute mais les implantations software se reacutevegravelent ecirctre non-concurrentielle en termes de deacutebit de traitement et de dissipation deacutenergie La reacutealisation mateacuterielle convient en effet agrave lexeacutecution de meacutethodes de deacutecodage baseacutees sur lalgorithme de Viterbi gracircce agrave lexploitation exhaustive des caracteacuteristiques particuliegraveres de lalgorithme Le vaste marcheacute des applications concerneacutees ainsi que la potentialiteacute dinteacutegration de ces reacutealisations mateacuterielles permettent datteacutenuer les probleacutematiques lieacutees agrave ses coucircts supeacuterieurs Possibles travaux futurs Leacutetude des meacutethodes de deacutecodage iteacuteratives peut ecirctre eacutelargie aux autres services UMTS ainsi quagrave dautres systegravemes de communication numeacuterique fixe mobile et satellitaire Cette eacutetude permettra de mieux formuler les avantages apporteacutees par ces deux meacutethodes iteacuteratives La reacutealisation mateacuterielle dun deacutecodeur de Viterbi exploitant la strateacutegie pipeline permettra de mesurer la consommation deacutenergie ainsi que la validation du deacutebit de traitement offertes par cette solution

248

249

Remerciements

Je tiens tout dabord agrave remercier le Professeur Fausto Pellandini pour mavoir accueilli dans son laboratoire de recherche pour mavoir donneacute les moyens de reacutealiser ce travail de thegravese de doctorat ainsi que pour ses preacutecieux conseils Je le remercie eacutegalement pour les excellentes conditions de travail et lambiance stimulante reacutegnant au sein de son laboratoire

Je remercie le Professeur Pierre-Andreacute Farine pour mavoir accordeacute sa confiance et pour sa participation dans le jury de ma thegravese

Je suis tregraves reconnaissant agrave PD Dr Michael Ansorge co-directeur de thegravese pour mavoir suivi conseilleacute et encourageacute pendant toutes ces anneacutees agrave lIMT Je le remercie eacutegalement pour toutes les discussions constructives et pour ses remarques critiques qui mont permis de progresser professionnellement

Merci aux membres du jury de thegravese Je remercie Dr Francesca Vatta pour sa disponibiliteacute pour sa sympathie et pour son encouragement Merci au Dr Alexandre Heubi ancien collegravegue pour ses remarques et corrections tregraves constructives

Je tiens agrave remercier tous les collegravegues et anciens collegravegues de lIMT ainsi que leacutequipe du service administratif pour lagreacuteable ambiance et les conditions de travail optimales creacuteeacutees

Merci eacutegalement aux eacutetudiants et stagiaires qui ont contribueacute au domaine dans le cadre de leurs projets

Finalement je remercie mes grands-parents mes parents mon fregravere et son eacutepouse pour leurs encouragements et leurs indispensables soutiens Je remercie eacutegalement tous mes amis qui contribuent agrave eacutegayer les moments de libre

Un merci particulier au Dr Alain Dufaux au Dr Giuseppina Biundo-Lotito agrave Anne-Lise Kissling-Bah et agrave Seacuteveacuterine Capt pour la relecture de cette thegravese

Ce travail de thegravese a pu ecirctre accompli gracircce aux connaissances eacutelaboreacutees dans le cadre du projet CTI 4238 Joint Wideband Speech and Channel Coding in Wireless Applications reacutealiseacute en collaboration avec la compagnie STMicroelectronics NV et du projet Implementation of a parameterized family of Viterbi Decoders reacutealiseacute avec DSPfactory SA Je suis tregraves reconnaissant agrave M Luigi Grasso pour limportant savoir-faire quil a eu lamabiliteacute de partager lors de la reacutealisation de ce dernier projet

250

251

Annexes

ANNEXE A MEacuteTHODES POUR LE DEacuteCODAGE DES CODES CONVOLUTIFS 253

A1 DEacuteCODAGE SEacuteQUENTIEL 253 A11 Fonction de meacutetrique 253 A12 Strateacutegie de recherche Depth-First 254

A2 SYMBOL-BY-SYMBOL MAXIMUM A POSTERIORI ALGORITHM 255 A21 Etablissement du problegraveme 255 A22 Proceacutedeacute 256 A23 Algorithme MAP 257 A24 Deacutecodage de codes convolutifs 258

A3 SOFT OUTPUT VITERBI ALGORITHM (SOVA) 260 A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm 260 A32 Algorithme 261 A33 Complexiteacute de calcul 263

A4 REacuteFEacuteRENCES 263

ANNEXE B ARCHITECTURES UTILISANT UN PROCESSEUR POUR LE TRAITEMENT DU SIGNAL 265

B1 CODES EN BLOC CRC DES STANDARDS UMTS 265 B11 Codage en bloc CRC eacutetabli par les standards UMTS 265 B12 Strateacutegie de deacutetection derreurs 266 B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS 267

B2 PROCEacuteDURE DEacuteVELOPPEacute DE SEacuteLECTION DES CHEMINS LES PLUS FAVORABLES DANS MEacuteTHODE LIST DECODING 268

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees 269 B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et

infeacuterieures 270 B23 Proceacutedure de seacutelection par eacutetablissement

dun seuil de meacutetrique 271 B3 AFFINITEacute ENTRE LIMPLANTATION SOFTWARE ET LARCHITECTURE DU

PROCESSEUR 272 B4 REacuteFEacuteRENCES 273

252

ANNEXE C ARCHITECTURES BASEacuteES SUR CIRCUITS ASIC 275

C1 REacuteALISATION PHYSIQUE DUN DEacuteCODEUR COMPATIBLE AVEC LE STANDARD UMTS 275

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute 275

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits) 276

C2 APPROCHE COPROCESSEUR 278 C21 Solution inteacuteressante 278 C22 Modifications agrave apporter au systegraveme de base 280

C3 REacuteFEacuteRENCES 286

253

Annexe A Meacutethodes pour le deacutecodage des codes convolutifs

A1 Deacutecodage seacutequentiel

La premiegravere meacutethode pour le deacutecodage des seacutequences proteacutegeacutees par les codes convolutifs a eacuteteacute lrsquoalgorithme seacutequentiel proposeacute par Wozencraft qui a ensuite eacuteteacute reprise et modifieacutee par Fano Dans cette section on preacutesente la fonction de meacutetrique adopteacutee par cette meacutethode ainsi que sa strateacutegie de recherche (compleacutement agrave la description de la Sous-section 521)

A11 Fonction de meacutetrique

La recherche du chemin le plus probable se base sur une fonction de meacutetrique qui est chargeacutee de quantifier la ressemblance entre les symboles reccedilus et ceux geacuteneacutereacutes par le chemin sous analyse En consideacuterant la strateacutegie de recherche la meacutetrique relative agrave un chemin constitueacute de B branches est

( )( ) ( )

1

Bi i

npnp

PM Cmicro=

= minussum (A1)

La contribution de chaque transition (branche) du chemin i agrave la meacutetrique cumuleacutee PM(Si) est en effet constitueacutee de deux parties

bull La premiegravere est repreacutesenteacutee par la meacutetrique de branche micronp La valeur indique le niveau de ressemblance entre les symboles geacuteneacutereacutes par la transition et ceux reccedilus par le deacutecodeur

bull La seconde sidentifie avec la soustraction drsquoune constante positive C [Proa95] La soustraction dune constante C est neacutecessaire afin de permettre une comparaison eacutequitable entre des chemins atteignant des niveaux de profondeurs diffeacuterents

La constante C est choisie de maniegravere agrave mieux diffeacuterencier le comportement de la meacutetrique cumuleacutee du chemin correct par rapport agrave celles des autres chemins Lrsquoeffet deacutesireacute est drsquoobtenir une meacutetrique cumuleacutee qui aura tendance agrave augmenter en suivant seulement le chemin correct

254

A12 Strateacutegie de recherche Depth-First

En comparant transition apregraves transition la meacutetrique cumuleacutee drsquoun chemin candidat avec un seuil de reacutefeacuterence dynamique lrsquoalgorithme de Fano incorpore une proceacutedure de deacutetection des chemins qui pourraient ecirctre incorrects [Joha99] [Proa95] [Schl97] Dans le cas ougrave le chemin candidat serait suspecteacute decirctre incorrect lrsquoalgorithme changera la direction de la recherche en cherchant un chemin plus prometteur La Figure A-1 montre un exemple graphique de ce principe de recherche Dans cet exemple lalgorithme suit initialement le chemin correct jusqursquoau nœud A A cet endroit lrsquoalgorithme est incapable de continuer vers le nœud D en raison du seuil de reacutefeacuterence repreacutesenteacute par la valeur thA La proceacutedure de recherche drsquoun autre chemin est appeleacutee pour la premiegravere fois Apregraves avoir diminueacute le seuil de reacutefeacuterence agrave la valeur th1 puis agrave la valeur th2 un chemin reacuteputeacute conforme a ainsi eacuteteacute trouveacute par la proceacutedure Le chemin choisi amegravene lrsquoalgorithme dans lrsquoarbre jusqursquoau nœud C ougrave le chemin est estimeacute incorrect La diminution du seuil de reacutefeacuterence jusqursquoagrave valeur th4 permet de reprendre le chemin correct en passant par les nœuds A D et E [Schl97]

thA

D

th1

th2 E

BC

F

thC

th3

th4

A

Niveau deprofondeur np np+1 np+2 np+3 np+4 np+5 np+6 np+7

mes

ure

der

reur

s(M

eacutetriq

ue)

seuil dereacutefeacuterence

chemin correct

Figure A-1 exemple de deacuteroulement de lrsquoalgorithme de Fano [Schl97]

255

A2 Symbol-by-symbol Maximum A Posteriori Algorithm

La meacutethode appeleacutee Symbol-by-symbol Maximum A Posteriori (MAP) a eacuteteacute preacutesenteacutee formellement en 1974 dans la publication [Bahl74] comme une solution alternative pour le deacutecodage de codes convolutifs [Vale98] Contrairement aux meacutethodes preacuteceacutedentes le critegravere de deacutecodage de cet algorithme est la minimisation de la probabiliteacute derreur de chaque symbole formant le message (518) [Bahl74] [Proa95] [Robe95] [Schl97] [Vale98] [Vuce00]

A21 Etablissement du problegraveme

En modeacutelisant le problegraveme au moyen dun processus de Markov (eacutechantillonneacute dans le temps avec un nombre fini de niveaux) la meacutethode permet lestimation des probabiliteacutes des transitions et des eacutetats du processus le deacutecodage de codes convolutifs est une des applications possibles Cette sous-section preacutesente tout dabord le principe geacuteneacuteral et ensuite les consideacuterations concernant le cas du deacutecodage convolutif Comme deacutejagrave introduit cette meacutethode modeacutelise le problegraveme agrave reacutesoudre par un processus de Markov Les transitions entre les eacutetats dun processus de Markov sont reacutegleacutees par les probabiliteacutes de transitions

( ) 1 Pr

eacutetat consideacutereacute au niveau de profondeur

np np np

np

p m m s m s m

s npminus

= = = (A2)

et les valeurs de la sortie x des transitions (observables) deacutependent de la probabiliteacute

( ) 1

1

Pr

sortie causeacutee par la transition entre les eacutetats et

np np npnp

np

npnp

q x m m x x s m s m

xs s

minus

minus

= = = =

(A3)

ougrave x appartient agrave un alphabet fini et discret

256

Par rapport agrave la transmission numeacuterique des donneacutees les effets des distorsions sur le signal transmis causeacutes par un bruit sans effet de meacutemoire sont eacutevalueacutes agrave laide de la probabiliteacute de transition Tr[|] (Transition probabilities [Bahl74])

11

1 1

1 1

Pr Tr

symboles reccedilus

symboles transmis

BB

np npnp

BB

BB

R X r x

R R r r

X x x

=

=

=

=

prod (A4)

Selon cette repreacutesentation du problegraveme la meacutethode MAP a pour but lestimation de la probabiliteacute a posteriori (APP) des eacutetats du processus de Markov consideacutereacute

Pr

PrPrnp

nps m R

s m RR

== = (A5)

et de la probabiliteacute APP des transitions parvenues entre ces eacutetats

11

Pr Pr

Prnpnp

npnp

s m s m Rs m s m R

Rminus

minus

= == = = (A6)

A22 Proceacutedeacute

Soit une seacutequence de symboles R la probabiliteacute Pr[R] devient ainsi un terme commun aux probabiliteacutes (A5) et (A6) Lobjectif de lalgorithme est ainsi la deacutetermination des deux probabiliteacutes suivantes ( ) Pr np npm s m Rλ

= = (A7)

( ) 1 Pr np npnpm m s m s m Rσ minus

= = = (A8)

Ces probabiliteacutes peuvent ecirctre calculeacutees par lintroduction des trois nouvelles probabiliteacutes α() β() γ() [Bahl74] et [Vuce00] ( ) ( ) ( )np np npm m mλ α β= sdot (A9)

( ) ( ) ( ) ( )1 np np npnpm m m m m mσ α γ βminus= sdot sdot (A10)

257

ougrave ( ) 1Pr np

np npm s m Rα = = (A11)

( ) 1Pr Bnp npnpm R s mβ +

= = (A12)

( ) 1 Pr np np np npm m s m r s mγ minus

= = = (A13)

Lalgorithme MAP permet la deacutetermination des probabiliteacutes (A7) et (A8) agrave laide de deux probabiliteacutes α() β() qui preacutesentent les proprieacuteteacutes reacutecursives suivantes (Figure A-2 et Figure A-3) ( ) ( ) ( )1

np npnp

mm m m mα α γminus= sdotsum (A14)

( ) ( ) ( )1 1

np np npm

m m m mβ β γ+ += sdotsum (A15)

la probabiliteacute γ() eacutetant deacutefinie par ( ) ( ) ( ) Trnp np np np

xm m p m m q x m m r xγ

= sdot sdotsum (A16)

A23 Algorithme MAP

Le profil de lalgorithme MAP ayant pour objectif lestimation de la fiabiliteacute Λ (519) des bits formant le message est le suivant [Bahl74][Vuce00]

1 Initialisation Les probabiliteacutes α0(m) et βB(m) ougrave m=0 1 2 hellip 2(k-1)-1 sont initialiseacutees selon les conditions de deacutepart et darrecirct de la proceacutedure de codage

2 Forward Recursion Apregraves larriveacutee des symboles rnp qui ont eacuteteacute

geacuteneacutereacutes par le codage du np-egraveme bit dinformation a) La probabiliteacute γnp(mm) (A16) est calculeacutee en se basant sur la

mesure daffiniteacute entre les symboles reccedilus et ceux geacuteneacutereacutes par la transition entre les eacutetats m et m

b) La probabiliteacute αnp(m) (A14) est ensuite deacutetermineacutee de maniegravere reacutecursive (Figure A-2)

c) Les valeurs αnp(m) et γnp(mm) sont sauvegardeacutees d) Cette eacutetape 2 est reacutepeacuteteacutee jusquagrave la reacuteception de toute la seacutequence

de symboles R

258

m

m

m

( )1 np mα minus

( )1 np mα minus

( )np mα( )np m mγ

( )np m mγ

Figure A-2 repreacutesentation graphique de la mise agrave jour de la probabiliteacute α() [Vuce00]

3 Backward Recursion Apregraves avoir reccedilu linteacutegraliteacute de la seacutequence de

symboles R on entame cette troisiegraveme proceacutedure Pour np=B-1 B-2 hellip 0

a) La probabiliteacute βnp(m) est calculeacutee selon leacutequation (A15) (Figure A-3)

b) Les probabiliteacutes λnp(m) et σnp(mm) peuvent ecirctre ainsi deacutetermineacutees selon les formules (A7) et (A8)

m

m

m

( )1 np mβ +

( )1 np mβ +

( )np mβ( )1 np m mγ +

( )1 np m mγ +

Figure A-3 repreacutesentation graphique de la mise agrave jour de la probabiliteacute β() [Vuce00]

A24 Deacutecodage de codes convolutifs

Le contexte du deacutecodage de codes convolutifs implique en particulier que

bull La probabiliteacute de la transition Tr[brvbar] (A16) tient compte de la modeacutelisation de la distorsion affectant le canal de transmission Elle peut se baser soit sur la distance de Hamming soit sur une fonction euclidienne

259

bull La probabiliteacute de la valeur de sortie xnp associeacutee agrave la transition entre deux eacutetats qnp(xnp|mm) (A16) est normalement une fonction deacuteterministe invariable dans le temps (time-invariant) et deacutependante de la transition Dans ce contexte cette valeur xnp regroupe le n bits de sortie du codeur convolutif

bull Si la proceacutedure de codage eacutetablit une initialisation de la meacutemoire du codeur etou lutilisation de bits de terminaison linitialisation de la proceacutedure MAP doit prendre en consideacuteration ces informations

( ) ( )( ) ( )

0 0eacutetat de deacutepart 1 and 0for eacutetat de deacutepart

eacutetat finale 1 and 0for eacutetat finaleB B

m m

m m

α α

β β

= = ne

= = ne

bull La tacircche speacutecifique du deacutecodage de codes convolutifs est lestimation

des bits ou des symboles contenus dans le message envoyeacute La mesure de la fiabiliteacute Λ

( ) npnp

np

Regravegle de Bayes np

np

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Pr info bit =1 Slog

Pr info bit =0 S

Λ =

=

(A17)

peut ecirctre obtenue par moyen des probabiliteacutes

np

( )

Pr info bit ( )nptransition m mimpliquant i

i R m mσ=

= = sum

npinfo bit

(A18)

La fiabiliteacute Λ peut ecirctre ainsi formuleacutee [Vuce00]

( )( ) ( ) ( )

( ) ( ) ( )

11

( )np 0

1( )

info bit log

np npnpm m

np npnpm m

m m m m

m m m m

α γ β

α γ β

minus

minus

sdot sdotΛ =

sdot sdot

sumsum

(A19)

ougrave

( ) np 1 Pr info bit inp np np npm m i s m r s mγ minus

= = = = (A20)

260

A3 Soft Output Viterbi Algorithm (SOVA)

Comme deacutejagrave introduit certaines applications demandent une information suppleacutementaire sur la proceacutedure de deacutecodage (fiabiliteacute Λ) Cependant bien que lalgorithme de Viterbi preacutesente de bonnes qualiteacutes algorithmiques et de deacutecodage agrave lorigine il nest pas preacutevu pour cette tacircche Le concept de Soft Output Viterbi Algorithm (SOVA) a eacuteteacute ainsi proposeacute et plusieurs meacutethodes ont eacuteteacute deacuteveloppeacutees [Forn73] [Hage95] [Vale98] [Vuce00] Ce concept envisage la modification de lalgorithme de Viterbi de maniegravere agrave le rendre capable de produire une estimation de la fiabiliteacute Λ

A31 Meacutethode Bidirectional Soft Output Viterbi Algorithm

Lalgorithme qui est briegravevement preacutesenteacute est la meacutethode Bidirectional Soft Output Viterbi Algorithm (bidirectional SOVA) [Vuce00] qui offre lavantage dune simpliciteacute de compreacutehension et dimplantation Cette meacutethode estime la fiabiliteacute Λ du np-egraveme bit en consideacuterant le rapport existant entre la meacutetrique du chemin globalement le plus probable et celle du meilleur chemin qui sest eacutecarteacute de ce chemin agrave la profondeur np-1 (Figure 5-8) Ce second chemin repreacutesente le meilleur chemin impliquant linversion de la valeur du np-egraveme bit agrave partir du chemin globalement le plus probable Les deux meacutetriques consideacutereacutees sont ainsi les suivantes

npnp

np-1

npnp

np-1

(chemin info Bit 0)(info Bit 0)chemin bestChemins

(chemin info Bit 1)(info Bit 1)chemin bestChemins

max

max

best

best

PM PM

PM PM

==isin

==isin

=

= (A21)

ougrave la classe tbestChemins indique les chemins qui suivent le chemin le plus probable jusquagrave la profondeur np En supposant que les probabiliteacutes agrave posteriori du np-egraveme bit sont fonction de ces meacutetriques

np

np

(info Bit 1)np

(info Bit 0)np

log Pr info bit =1S

log Pr info bit =0 S

best

best

PM

PM

=

=

prop

prop (A22)

261

la fiabiliteacute Λ peut ecirctre estimeacutee selon la diffeacuterence qui existe entre les valeurs de ces deux meacutetriques

( )

np np

npnp

np

(info Bit 1) (info Bit 0)

Pr info bit =1Sinfo bit log

Pr info bit =0 S

Best BestPM PM= =

Λ =

= minus (A23)

chemins non retenuschemins survivants

chemin le plus probable

niveau deprofondeur np=0 np=1 np=2 np=3 np=4 np=5 np=6

S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00S00

S11

S10

S01

S00

S10

S00

S11

S10

S01

S00

np=7

reacutecursion en avant reacutecursion en arriegravere

Chemin B

Chemin A

Figure A-4 exemple graphique de lestimation de la fiabiliteacute Λ du quatriegraveme bit par lrsquoalgorithme Bidirectional SOVA Lestimation utilise ainsi les meacutetriques du chemin A (chemin globalement le plus probable) et du chemin B (le meilleur chemin qui sest seacutepareacute agrave partir de la profondeur np=3)

A32 Algorithme

La meacutethode bidirectionnelle peut ecirctre reacutesumeacutee par les tacircches suivantes [Vuce00] 1) Reacutecursion en avant (Forward Recursion) Lobjectif est lidentification du

chemin globalement le plus prometteur en exploitant la notion de survivant Cette reacutecursion coiumlncide avec lalgorithme de Viterbi

262

a) Les meacutetriques cumuleacutees des eacutetats sont initialiseacutees selon les connaissances (agrave priori) des conditions de deacutepart du processus analyseacute

b) La variable np1 est mise agrave zeacutero Cette variable concerne la progression de cette reacutecursion dans le treillis

c) Pour chaque nœud agrave la profondeur np1+1 i) les chemins convergeants dans le nœud sont identifieacutes ii) leurs meacutetriques cumuleacutees PMnp1 sont calculeacutees agrave lrsquoaide des

meacutetriques de branche et des anciennes meacutetriques cumuleacutees iii) le chemin survivant est ainsi seacutelectionneacute iv) la valeur de la meacutetrique cumuleacutee du chemin survivant est assigneacutee

au nœud v) les informations neacutecessaires agrave la reconstruction de ce chemin sont

sauvegardeacutees d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (t1=B) en

increacutementant de 1 le niveau de profondeur np1

2) Reacutecursion en arriegravere (Backward Recursion) Son but est le calcul des contributions minimales dues agrave la prolongation des chemins (agrave chaque niveau de profondeur et pour chaque nœud) a) Les meacutetriques cumuleacutees des eacutetats finaux sont initialiseacutees selon les

conditions de terminaison du processus analyseacute b) Le nombre de symboles B du message est assigneacute agrave la variable np2

Cette variable indique la progression de cette reacutecursion dans le treillis c) Pour chaque nœud agrave la profondeur np2-1

i) les prolongations du chemin lieacute au nœud analyseacute sont identifieacutees ii) la contribution agrave la meacutetrique cumuleacutee de chaque prolongation i

2 2

2

( ) ( ) ( ) ( )1( 1)

1

i i i iS S S Snpnp B npnp B

B

np npPM PM micromicrorarr +minus rarr

+= +

== sum (A24)

est calculeacutee agrave lrsquoaide de la meacutetrique de branche micro(Si)

iii) cette valeur est retenue et assigneacutee au nœud d) Lrsquoeacutetape c) est reacutepeacuteteacutee jusquagrave ce que le deacutebut du treillis de recherche

soit atteint (t2=0) Le niveau de profondeur np2 est deacutecreacutementeacute de 1 3) Estimation de la fiabiliteacute Λ

a) La variable np3 responsable du positionnement dans le treillis est initialiseacute agrave 1

b) A la profondeur np3 i) le chemin le plus probable est identifieacute

263

ii) le meilleur chemin qui seacuteloigne au niveau de profondeur np3 du meilleur chemin est ensuite deacutetermineacute

iii) sa meacutetrique est calculeacutee en utilisant les valeurs de meacutetrique cumuleacutee PMnp3 de la contribution PM(np3+1)rarrB et de la meacutetrique de branche micronp3

iv) la fiabiliteacute Λ du np3-egraveme bit est ainsi estimeacutee en utilisant les valeurs des meacutetriques des deux chemins

c) Cette eacutetape b) est reacutepeacuteteacutee jusquagrave atteindre la fin du treillis (np3=B) en increacutementant la variable np3= np3+1

Normalement les tacircches relatives agrave la reacutecursion en arriegravere et agrave lrsquoestimation de la fiabiliteacute sont exeacutecuteacutees simultaneacutement reacuteduisant la complexiteacute totale de la meacutethode [Vuce00]

A33 Complexiteacute de calcul

Du point de vue de la complexiteacute de calcul une analyse superficielle de cette meacutethode SOVA bidirectionnelle met en eacutevidence que

bull La reacutecursion en avant est eacutequivalente agrave lalgorithme de Viterbi bull La proceacutedure de reacutecursion en arriegravere utilise la mecircme structure que

lalgorithme de Viterbi agrave lexception de lopeacuteration de stockage des informations pour la reconstruction des chemins survivants La complexiteacute est donc reacuteduite par rapport agrave lalgorithme de Viterbi

bull La complexiteacute de lestimation de la fiabiliteacute peut ecirctre reacuteduite en inteacutegrant cette fonction agrave la reacutecursion en arriegravere [Vuce00]

Par conseacutequent dans le contexte dune deacutecision ferme on peut sattendre agrave une complexiteacute totale seacutelevant approximativement agrave 15 fois la complexiteacute de lalgorithme de Viterbi pour le deacutecodage du mecircme message [Vuce00] En geacuteneacuteralisant la complexiteacute des meacutethodes appartenant agrave la classe des algorithmes SOVA peut ecirctre estimeacutee entre 1 et 2 fois la charge de calcul de lalgorithme de Viterbi

A4 Reacutefeacuterences

[Bahl74] L R Bahl J Cocke F Jelinek et J Raviv Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate IEEE Transactions on Information Theory Vol 20 mars 1974 pp 284-287

264

[Forn73] G D Forney Jr The Viterbi Algorithm Proceedings of the IEEE Vol 61 No 3 mars 1973 pp268-278

[Hage95] J Hagenauer Source-Controlled Channel Decoding IEEE Transactions on Communications Vol 43 No 3 septembre 1995 pp 2449-2457

[Joha99] R Johannesson K S Zigangirov Fundamentals of Convolutional Coding IEEE Series on Digital and Mobile Communication Wiley-IEEE Press Etats-Unis dAmeacuterique 1999 chapitres 4-6 pp 163-315

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Robe95] P Robertson E Villebrun et P Hoeher A Comparison of Optimal and Sub-Optimal MAP Decoding Algorithms Operating in the Log Domain Proc ICC95 Seattle juin 1995 pp 1009-1013

[Schl97] C Schlegel Trellis Coding IEEE Press Etats-Unis dAmeacuterique 1997

[Vale98] M C Valenti Iterative Detection and Decoding for Wireless Communications A Preliminary Review of Initial Research and Proposal for Current and Future Work towards Doctor of Philosophy degree Virginia Polytechnique Institute and State University Blacksburg Virginia Etats-Unis dAmeacuterique 1998

[Vuce00] B Vucetic J Yuan Turbo Codes Principles and Applications Kluwert Academic Publishers Etats-Unis dAmeacuterique 2000

265

Annexe B Architectures utilisant un processeur pour le traitement du signal

B1 Codes en bloc CRC des standards UMTS

En raison de lincapaciteacute des meacutethodes de deacutecodage convolutif agrave deacutefinir les conditions derreurs garantissant un deacutecodage correct (sans limiter le potentiel de correction) le standard UMTS [Ts25212] met agrave disposition une seacuterie de codeurs en bloc

B11 Codage en bloc CRC eacutetabli par les standards UMTS

Les codeurs mis agrave disposition sont quatre codes CRC systeacutematiques diffeacuterents (Table B-1) qui permettent un choix optimal et adeacutequat agrave chaque contexte de codage Codeur Longueur

[bits] Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

gCRC24(X) 24 X24 + X23 + X6 + X5 + X + 1 (223-1 223-25) 4 (1)

gCRC16(X) 16 X16 + X12 + X5 + 1 (32767 32752) 4 (1)

gCRC12(X) 12 X12 + X11 + X3 + X2 + X + 1 (2047 2035) 4 gCRC8(X) 8 X8 + X7 + X4 + X3 + X + 1 (127 119) 4 (1) Lutilisation dun message de 1000 bits a permis lobservation dune distance minimale de 4

Table B-1 vue densemble des codes cycliques (CRC) mis agrave disposition pour la structure de codage de canal UMTS

Le standard UMTS [Ts25212] modifie par contre la concateacutenation des bits du code CRC qui doit seffectuer dans lordre inverse Le but de cette inversion est de garantir le fonctionnement correct de la tacircche de blind rate detection56

56 La fonction de Blind rate detection peut ecirctre utiliseacutee pour la deacutetection du format utiliseacute

pour le transport (Transport Format) lorsque lindicateur de la combinaison de format (Transport Format Combination Indicator TFCI) nest pas transmis Le principe

266

[NttD99] en empecircchant des situations dincertitude par rapport agrave la taille du message (Figure B-1)

CRCMessage

XXX 0 YYY 0

CRCMessage

XXX 0 YYY 0

Cas A

Cas B

Figure B-1 exemple dune situation dincertitude causeacutee par un attachement de bits de pariteacute de maniegravere deacutecroissante (approche classique)

B12 Strateacutegie de deacutetection derreurs

La deacutetection derreurs peut saccomplir selon deux strateacutegies [Pres92] [Proa95] [Will99] La premiegravere suit lapproche classique du deacutecodage du message A partir de la valeur reacutesultante par ce deacutecodage valeur qui est nommeacutee syndrome (Syndrome) labsence derreur peut ecirctre soit valideacutee soit mise en doute La seconde strateacutegie exploite par contre la proprieacuteteacute systeacutematique de ces codages agrave partir du message sous analyse les bits de pariteacute sont re-calculeacutes et compareacutes avec ceux reccedilus Cette derniegravere strateacutegie a eacuteteacute adopteacutee pour les implantations software de cette eacutetude La complexiteacute lieacutee au calcul des bits de pariteacute (Table B-2) peut ecirctre simplifieacutee par lutilisation dune table contenant les valeurs des bits de pariteacute preacute-calculeacutees sur 8 bits (encodeur de type Table-Driven [Will99]) Cette implantation a eacuteteacute choisie en preacutevision dune utilisation successive dans des meacutethodes iteacuteratives de deacutecodage

implique le deacutecodage systeacutematique du message en consideacuterant une gamme de tailles diffeacuterentes les bits de pariteacute CRC sont ensuite utiliseacutes pour la validation du message

267

Nombre moyen drsquoopeacuterations observeacutees

Format des variables

32 bits 16 bits 8 bits Total Additions 0 1 1 Increacutementations 0 14 14 Soustractions 0 10 10 Multiplications 0 0 0 Divisions 0 0 0 Transferts de Donneacutees 1 4 5 Logique 36 2 13 51 Deacutecalages 58 2 1 61 Controcircles 27 27 Pointeur assignations 1 1 Pointeur arithmeacutetique 0 Boucle initialisations 0 1 1 Boucle controcircles 11 11 Boucle increacutementations 0 10 10 Grand total 192

Table B-2 charge de calcul de la tacircche de deacutetection derreurs (code CRC utilisant 12 bits de pariteacute) Paramegravetres les 500 messages utiliseacutes sont conformes agrave la structure de la classe A du service de parole AMR-NB agrave 122 kbps les valeurs montrent des eacutecarts maximaux infeacuterieurs agrave 1 Le fond gris met en eacutevidence les opeacuterations deacutefinies par les organisations ITU et ETSI

B13 Capaciteacute de deacutetection derreurs des codes CRC du UMTS

Concernant la faisabiliteacute des techniques de deacutecodage iteacuteratif une eacutevaluation des performances des codes CRC confirme que les capaciteacutes de deacutetection derreurs sont supeacuterieures agrave celles des codes preacuteceacutedemment utiliseacutes dans le standard GSM (Table B-3 et Table B-4) Cette constatation rend les techniques de deacutecodage iteacuteratif attrayantes Toutefois lefficaciteacute dun tel deacutecodage est soumise au rapport existant entre les caracteacuteristiques de la transmission de donneacutees (nombre et reacutepartition des erreurs de transmission) la taille des messages les potentialiteacutes de deacutetection du code CRC utiliseacute et le nombre diteacuterations de recherche du message correct Comme deacutejagrave citeacute le beacuteneacutefice dun tel deacutecodage dans le cadre de la teacuteleacutephonie mobile GSM a eacuteteacute limiteacute par un nombre consideacuterable de cas de fausses validations causeacutes par une capaciteacute de deacutetection reacuteduite du code en bloc utiliseacute (dmin de 2 Table B-4) par rapport aux caracteacuteristiques de lapplication [Kuumlhn97]

268

Codeur [ETSI909]

Longueur [bits]

Polynocircme geacuteneacuterateur g(X)

Longueur du message codeacute longueur du message (n k) [bits]

Distance minimale de Hamming observeacutee dmin

TCHEFS 8 X8 + X4 + X3 + X2 + 1 (255 247) 3 TCHFS-HS-EFS 3 X3 + X + 1 (7 4) 2

Table B-3 vue densemble des codes cycliques utiliseacutes par les standards GSM

Nombre observeacute de messages codeacutes avec poids wi de Messages

100 bits 1 2 3 4 5 6 7 8 9

Codeurs CRC UMTS CRC 8-bit 0 0 0 22105 0 45106 0 55108 0CRC 12-bit 0 0 0 19103 0 37105 0 50107 0CRC 16-bit 0 0 0 27102 0 31104 0 44106 0CRC 24-bit 0 0 0 70102 0 25104 0 89105 0

Codeur CRC GSM CRC 3-bits 0 46102 12104 24105 39106 51107 57108 hellip hellipCRC 8-bits 0 0 82102 21104 44105 75106 11108 hellip hellip

Table B-4 vue densemble des performances des codes CRC relatifs aux standards UMTS [Ts25212] et GSM [ETSI909] Le fond gris met en eacutevidence la distance minimale observeacutee des codes Paramegravetres messages contenant 100 bits dinformation meacutethode de recherche par ordinateur

B2 Proceacutedure deacuteveloppeacute de seacutelection des chemins les plus favorables dans meacutethode List Decoding

Une proceacutedure de seacutelection exploitant la statistique des valeurs des meacutetriques cumuleacutees a eacuteteacute deacuteveloppeacutee Lobjectif est la deacutetermination du seuil permettant la seacuteparation des valeurs de meacutetrique en deux sous-ensembles eacutegaux (voir Sous-Section 674 Figure 6-23) Ce principe est baseacute sur lobservation dune forte concentration des valeurs de meacutetriques cumuleacutees due agrave une diffeacuterence maximale entre les meacutetriques qui est reacuteduite et stable pendant le deacutecodage (Figure 6-24)

269

B21 Preacutediction des limites des valeurs des meacutetriques cumuleacutees

A partir de la valeur de la meacutetrique cumuleacutee dun chemin (que dans ce contexte on nomme geacuteneacuterateur) on peut deacuteterminer la limite infeacuterieure et supeacuterieure des chemins qui se propageront ensuite depuis ce chemin (Figure B-2) La deacutetermination des limites prend en consideacuteration deux chemins

bull le chemin qui se propage dans les meilleures conditions de transmission (en labsence derreurs de transmission) et

bull celui qui se propage en cumulant le nombre maximal derreurs Par conseacutequent eacutetant donneacute une meacutetrique de branche baseacutee sur la pure distance de Hamming la limite infeacuterieure coiumlncide de maniegravere univoque avec la meacutetrique cumuleacutee du chemin geacuteneacuterateur (Figure B-2) De maniegravere analogue lestimation de la limite supeacuterieure doit assumer agrave chaque transition de niveau la contribution maximale de la meacutetrique de branche (MaxContribBranche) Par conseacutequent agrave la profondeur np1 les meacutetriques de ces chemins sont comprises dans les limites ( )( )1 np npMetrGen MetrGen MaxContribBranche np np +

sdot minus (B1)

ougrave MetrGennp est la meacutetrique cumuleacutee du chemin geacuteneacuterateur En consideacuterant la situation de la seacutelection des L chemins les plus prometteurs dans une liste de 2L chemins la preacutesence dautres chemins (qui deacutecoulent dautres chemins geacuteneacuterateurs agrave la mecircme profondeur np) ne modifie pas les limites (B1) si

1 Au niveau de profondeur np le chemin geacuteneacuterateur qui est utiliseacute pour la deacutetermination des limites montre la meacutetrique cumuleacutee la plus favorable et

2 Au niveau de profondeur np1 le nombre de chemins produits par chaque chemin geacuteneacuterateur deacutepasse ou eacutequivaut agrave 2L

Ducirc aux effets de lopeacuteration de seacutelection des chemins les plus favorables agrave partir de la profondeur ( )2 2 log 2np np L

= + sdot (B2)

270

(point 2) les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner sont comprises dans les limites (B1) qui contiennent les valeurs les plus favorables Ces limites sont eacutevidemment deacutetermineacutees par le chemin geacuteneacuterateur le plus favorable (point 1)

meilleur cheminagrave laprofondeur np S00

S10

S00

S11

S01

S10

S00

profondeur np np+1 np+(longueur decontrainte -1)

S11

S01

S10

S00

S11

S01

S10

S00

estimationde leacutecarts

estimationde leacutecarts

estimationde leacutecarts

valeur de lameacutetriquecumuleacutee

Figure B-2 exemple de propagation des chemins qui se produit depuis le meilleur chemin agrave la profondeur np Code avec longueur de contrainte de 3

B22 Stabiliteacute de la diffeacuterence entre les limites supeacuterieures et infeacuterieures

Par rapport agrave une situation dynamique les limites agrave la profondeur np2+1 peuvent ecirctre ainsi estimeacutees par la formule (B1) en utilisant la meacutetrique cumuleacutee soit du meilleur chemin agrave la profondeur np soit de celui agrave la profondeur np+1 (Figure B-3)

271

chemin le plusprometteur

chemin le plusprometteur

niveau deprofondeur np

np+1 np2=np+3np+2

L=4

estimation deslimites desmeacutetriquescumuleacutees

estimation deslimites desmeacutetriquescumuleacutees

np2+1=np+4

L=4

Figure B-3 repreacutesentation graphique de la preacutediction des limites supeacuterieures et infeacuterieures des meacutetriques cumuleacutees

Lutilisation des informations de meacutetriques plus reacutecentes permet eacutevidemment dobtenir une estimation plus preacutecise des limites Par conseacutequent bien que les meacutetriques cumuleacutees aient tendance agrave augmenter en preacutesence derreurs de transmission (Figure 6-24) cette strateacutegie destimation met en eacutevidence la stabiliteacute de la diffeacuterence maximale entre les meacutetriques On peut ainsi fixer que la diffeacuterence maximale entre les meacutetriques cumuleacutees des 2L chemins agrave seacutelectionner est de ( )2log 2 dmm MaxContribBranche L

= sdot sdot (B3)

B23 Proceacutedure de seacutelection par eacutetablissement dun seuil de meacutetrique

Les conseacutequences de cette estimation des limites sont importantes on sait que les 2L meacutetriques cumuleacutees montrent un eacutecart reacuteduit preacutevisible et indeacutependant du niveau de profondeur

272

A partir de la meacutetrique cumuleacutee momentaneacutement la plus favorable (BestMetrnp) on peut en effet estimer la limite infeacuterieure et supeacuterieure des meacutetriques des 2L chemins qui atteindront le niveau de profondeur suivant np tBestMetr BestMetr dnn MaxContribBranche

+ + (B4) La concentration des valeurs permet ainsi le deacuteveloppement dune proceacutedure de seacutelection utilisant la distribution des meacutetriques cumuleacutees Son principe est la deacutetermination dun seuil qui deacutelimite les L meacutetriques les plus favorables (Figure 6-23) en eacutetablissant la statistique des 2L nouvelles meacutetriques cumuleacutees

B3 Affiniteacute entre limplantation software et larchitecture du processeur

La Table B-5 met en eacutevidence limportance dune description par langage agrave haut niveau adapteacutee aux caracteacuteristiques architecturales du processeur utiliseacute Cette table montre les vitesses dexeacutecution des meacutethodes dont les implantations visent diffeacuterentes plates-formes Bien que ces reacutesultats valident les potentialiteacutes et les expectatives des diverses meacutethodes limportance du style de la description du code est facilement observable

273

Nombre minimal de cycles [cycles]

Type de processeur (32 Bits) Pentium Intel Family 5 Celeron Intel Family 6

Meacutethodes (sans troncation de la meacutemoire)

Plates-formes viseacutees [Bits] Nombre

de cycles Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Nombre de cycles

Normaliseacute par le nombre dopeacuterations

Normaliseacute par le nombre WCwOPS()

Algorithme de Viterbi

32 1744035 246 283 1260355 177 205

Validation CRC - 2770 - - 2800 - -L=2 2256022 307 351 1833843 249 286L=4 2320739 314 359 1909380 258 296L=8 2343000 313 358 1936016 259 296

List Viterbi Decoding

L=16

mixte 1632

2386972 312 355 2050829 268 305L=32 609350 323 305 519173 275 260L=64 1156162 330 313 1002946 287 272

L Decoding inteacutegr la val CRC

L=128

16

2313910 346 328 1919995 287 272

Proceacutedure dacquisition du nombre de cycles (rdTSC)

46 181

() Leacutevaluation de la complexiteacute de calcul WCwOPS (extension de la mesure wOPS de lITUETSI) vise des plates-formes agrave 16 bits

Table B-5 vue densemble des performances indicatives en termes de temps dexeacutecution Le contexte de codage concerne la structure de protection des bits appartenant agrave la classe A du service de parole AMR-NB agrave 122kbps (codes concateacuteneacutes en seacuterie) La proceacutedure deacutevaluation se base sur lutilisation du compteur read-time stamp counter (RDTSC) [Inte97]

B4 Reacutefeacuterences

[ETSI909] ETSI Channel Coding document ETSI EN 300 909 GSM 0503 version 710

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Inte97] Intel Corporation Using the RDTSC Instruction for Performance Monitoring notes dapplication page Internet acceacutedeacutee au printemps 2001

274

httpdevelopperintelcomdrgpentiumIIappnotesRDTSCPM1HTM [Kuumlhn97] V Kuumlhn Applying List output Viterbi Algorithms to a GSM-based

Mobile Cellular Radio System preacutesentation agrave International Conference on Universal Personal Communications ICUPC97 San Diego Etats-Unis dAmeacuterique 1997

[NttD99] NTT DoCoMo TSGR15(99)689 TSG-RAN Working Group1 meeting 5 Cheju Korea 1-4 Juni 1999

[Pres92] W H Press S A Teukolsky W T Vetterling B P Flannery Numerical Recipes in C the Art of Scientific Computing Cambridge University Press 1992

[Proa95] J G Proakis Digital Communications Third Edition McGraw-Hill International Editions Singapour 1995

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

[Will99] R N Williams A Painless Guide to CRC Error Detection Algorithm version 3 page Internet acceacutedeacutee au printemps 1999 ftpadelaideeduaupubrocksoftcrc_v3txt

275

Annexe C Architectures baseacutees sur circuits ASIC

C1 Reacutealisation physique dun deacutecodeur compatible avec le standard UMTS

Comme deacutecrit preacutealablement lutilisation du systegraveme de base dans le contexte de codage UMTS neacutecessite la modification de sa conception afin de supporter la proceacutedure dadaptation du deacutebit de transmission et dexploiter les bits de terminaison [Ts25212] Ces modifications sont briegravevement preacutesenteacutees et discuteacutees

C11 Adaptation du deacutebit de transmission la reacutepeacutetition et leacutelimination des bits du message codeacute

Les standards UMTS preacutevoient lemploi dune proceacutedure dadaptation du deacutebit de transmission La conception du systegraveme de base doit ainsi se conformer agrave ce contexte de deacutecodage en modifiant la reacutealisation mateacuterielle du module chargeacute du calcul des meacutetriques des branches (BMu)

BMu

eacutetat 0

eacutetat 1

eacutetat M-1

meacutetriques de branchessymboles reccedilus

Informations sur la proceacutedure

dadaptation du deacutebit detransmission

Figure C-1 calcul des meacutetriques de branche dans un contexte de deacutecodage preacutevoyant ladaptation du deacutebit de transmission

Ce module doit fournir les valeurs des meacutetriques cumuleacutees en suivant les indications relatives agrave la reacutepeacutetition et agrave leacutelimination (poinccedilonnage) des bits de la proceacutedure dadaptation (Section 32) Ainsi il doit ecirctre capable de traiter correctement

276

bull Un symbole qui na subi aucun traitement par la fonction dadaptation du deacutebit de transmission

bull Un symbole qui a eacuteteacute eacutelimineacute Ce symbole doit ecirctre pratiquement ignoreacute vu quil napporte aucune information valable sur la proceacutedure de codage

bull Un symbole reacutepeacuteteacute En fonction de la strateacutegie adopteacutee (au niveau du systegraveme entier de deacutecodage de canal UMTS) ces indications peuvent ecirctre soit inteacutegreacutees au moyen dune nouvelle repreacutesentation digitale des symboles soit transmises au module par un moyen de transmission physiquement seacutepareacute de celui des symboles (Figure C-1) Lutilisation dun bloc fonctionnel interposeacute (entre la chaicircne de deacutecodage de canal UMTS et le systegraveme de base non-modifieacute) ne permet pas lexploitation exhaustive des informations dadaptation du deacutebit de transmission

C12 Deacutecodage dun message formeacute par un nombre fini de symboles et contenant des bits de terminaison (Tail Bits)

Afin de garantir une protection adeacutequate aux derniers eacuteleacutements du message les standards UMTS [Ts25212] preacutevoient lemploi dune seacuterie de zeacuteros comme bits de terminaison (Figure C-2) Ces valeurs creacuteent des conditions darrecirct de la proceacutedure de codage et deacuteterminent lidentiteacute de leacutetat final de la meacutemoire du codeur (Figure C-3) Importance de leacutetat darrecirct de la proceacutedure de codage Lexploitation des informations des bits de terminaison ne modifie pas le deacuteroulement de lalgorithme de Viterbi jusquau moment du traitement des symboles geacuteneacutereacutes par leur codage A ce moment lalgorithme dispose dinformations preacutecises sur la valeur de ces derniers bits ce qui permet lameacutelioration de la qualiteacute de protection des derniers bits dinformations du message (Figure C-2) Ces informations peuvent bien entendu ecirctre neacutegligeacutees (afin deacuteviter laugmentation de la complexiteacute de la tacircche de seacutelection du chemin pour la prise de deacutecision) mais seulement au deacutetriment de la qualiteacute de protection Le choix dun chemin inexistant pour le deacutecodage (Figure C-3) augmente en effet les risques dune prise de deacutecision incorrecte Le choix crucial est surtout celui

277

du chemin final vu quil est responsable de la prise de deacutecision des derniers δ-(longueur de contrainte-2) bits du message

Figure C-2 exemple de la qualiteacute de protection des derniers bits du message La graphie bleue en trait fin indique la qualiteacute obtenue par le respect des conditions finales de codage Les autres graphies repreacutesentent la qualiteacute obtenue en enfreignant ces conditions linobservance des conditions finales mais lutilisation de leacutetat final correct (verte en trait gras) et linfraction totale des conditions finales de codage (rouge en trait fin) Simulation software utilisant 200000 messages de 500 bits 8 bits de terminaison EbN0=00 dB δ=54 code UMTS avec Rc=13

Solution pragmatique Dans le cas dune prise de deacutecision baseacutee sur les chemins les plus prometteurs la conception du systegraveme doit preacutevoir une augmentation de la complexiteacute de la proceacutedure de seacutelection du meilleur chemin ou une deacutegradation de la qualiteacute de protection des derniers bits du message Un bon compromis est linfraction partielle des conditions de terminaison de la proceacutedure de codage lexeacutecution normale de lalgorithme de Viterbi avec lutilisation de leacutetat final correct pour la prise de deacutecision des derniers bits du message Cette solution peut ecirctre reacutealiseacutee soit par la reacutepeacutetition de lopeacuteration de prise de deacutecision utilisant le mecircme eacutetat final soit par une prise de deacutecision multiple (Figure C-8) qui fournit toutes les valeurs des derniers δ-(longueur de contrainte-2) bits du message

278

Dans le cas dune prise de deacutecision par deacutecodage dun chemin quelconque lutilisation systeacutematique du chemin atteignant leacutetat zeacutero garantit une proceacutedure toujours conforme aux conditions darrecirct eacutetablies par le standard UMTS (Figure C-4)

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B+2

Bits de terminaison

S11

S10

S01

S00

S11

S10

S01

S00

δ

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-3 illustration graphique du deacuteroulement de la proceacutedure de deacutecodage lors de lutilisation des bits de terminaison Dans cet exemple les bits de terminaison sont formeacutes par une seacuterie de zeacuteros

C2 Approche coprocesseur

C21 Solution inteacuteressante

Lanalyse des architectures deacutedieacutees agrave la communication mobile montre quune approche coprocesseur est une solution inteacuteressante [Gath02] Cette solution est surtout inteacuteressante dans la situation actuelle ougrave lon demande un degreacute de flexibiliteacute eacuteleveacute (jeunesse des standards 3G) ainsi quune importante puissance de calcul Le circuit ASIC peut ainsi apporter la puissance de calcul neacutecessaire alors que le DSP fournit tous les avantages lieacutes agrave un dispositif programmable tels que la flexibiliteacute la gestion des diffeacuterentes fonctionnaliteacutes la rapiditeacute dimplantation dinteacutegration et de validation

279

Chemin qui doit ecirctre utiliseacute pour la prise de deacutecision

des derniers bits

S11

S10

S01

S00

S11

S10

S01

S00

np=B-1 np=B np=B+1 np=B-1+ longueurde contrainte -1

S11

S10

S01

S00

S11

S10

S01

S00

δ

eacutetat dont le chemin survivant estutiliseacute par la proceacutedure de prise dedeacutecision

chemin inexistant agrave cause delutilisation des bits de terminaison

chemin existant

Bits de terminaison

phase de lalgorithme ougrave son deacuteroulementest sujet aux conditions darrecirct

Figure C-4 adaptation de la proceacutedure de deacutetermination dun chemin quelconque au contexte dune utilisation des bits de terminaison Dans cet exemple les bits de terminaison coiumlncident avec une seacuterie de zeacuteros

Les deux strateacutegies demploi du coprocesseur sont [Gath02]

bull Tightly Coupled Coprocessor (TCC) Les tacircches exeacutecuteacutees par ces coprocesseurs peuvent ecirctre consideacutereacutees comme des extensions du jeu dinstruction du DSP En effet le DSP initialise une tacircche sur le coprocesseur qui lexeacutecute en un intervalle de temps correspondant agrave quelques cycles dinstruction du DSP Pendant ce temps le DSP nexeacutecute (normalement) aucune autre tacircche

bull Loosely Coupled Coprocessor (LCC) Dans ce cas le genre de tacircche exeacutecuteacutee par le coprocesseur est plus une sous-routine quune simple instruction Lexeacutecution prendra ainsi plusieurs cycles dinstruction du DSP Pour cette raison lutilisation efficace dun tel coprocesseur preacutevoit le fonctionnement parallegravele de deux eacuteleacutements agrave savoir le DSP et le coprocesseur

280

Lapproche coprocesseur permet de franchir les limites de souplesse de la reacutealisation ASIC en beacuteneacuteficiant des services dun dispositif programmable Cette approche preacutevoit ainsi la reacutepartition des diverses tacircches du deacutecodage entre le DSP et le coprocesseur de maniegravere agrave charger le processeur des tacircches neacutecessitant un niveau de souplesse supeacuterieur et agrave attribuer au coprocesseur celles neacutecessitant un nombre eacutelegraveve dopeacuterations (Figure C-5)

calcul desmeacutetriques de

branches(BMu)

mise agrave jour des meacutetriquescumuleacutees et seacutelection des

survivants (ACSu)

deacutecodage du chemin choisi(TBu)

seacutelection duchemin(BPS)

np-egravemeobservation rnp

deacutecisionsurle bit np-δ

meacutetriquescumuleacutees

survivants

chemin

meacutetriquesde branches

gestion des chemins

deacutecodage du chemin

DSP

Coprocesseur

controcircles

Figure C-5 proposition dune reacutepartition des tacircches entre le DSP et le coprocesseur

C22 Modifications agrave apporter au systegraveme de base

Dans cette sous-section les implications dune approche souple sur la conception du systegraveme de base sont briegravevement traiteacutees Pour rester dans un discours geacuteneacuteral aucun type preacutecis dapproche coprocesseur (TCC ou LCC) ne sera discuteacute dans cette sous-section La Table C-1 rassemble les paramegravetres du systegraveme de base Ces paramegravetres augmentent le degreacute de souplesse de la reacutealisation mateacuterielle en ladaptant au contexte de codage viseacute Calcul des meacutetriques de branche (BMu) Cest le module le plus deacutependant des paramegravetres deacutecrivant le codeur convolutif et la configuration du systegraveme dans lequel le deacutecodeur travaille En effet tout petit changement de la situation de codage tel que la modification

281

du rendement du code ou lutilisation dune fonction dadaptation du deacutebit de transmission implique la modification de sa conception

Paramegravetre Module(s) impliqueacute(s) Fonctions geacuteneacuteratrices Uniteacute BM Longueur de contrainte Uniteacutes BM ACS BPS et TB Le rendement du code Rc Uniteacutes BM et ACS Adaptation du deacutebit de transmission Uniteacute BM Condition de deacutepart de la proceacutedure de deacutecodage Uniteacute ACS Condition darrecirct de la proceacutedure de deacutecodage Uniteacute BPS Type de deacutecision (ferme ou pondeacutereacutee) Uniteacutes BM et ACS

Table C-1 paramegravetres permettant ladaptation de la meacutethode de deacutecodage aux divers contextes de codage

En raison de cette forte demande de souplesse on peut envisager de charger le DSP du calcul de toutes les meacutetriques de branches et de leur livraison au coprocesseur en tenant compte de la configuration du systegraveme dans lequel le deacutecodeur travaille des caracteacuteristiques du codeur convolutif utiliseacute ainsi que de lexploitation de meacutethodes dadaptation du deacutebit de transmission Un exemple dune telle approche est le coprocesseur Viterbi du DSP TMS320C6416 de Texas Instruments [Spru533] Il faut remarquer que le degreacute de souplesse est deacutetermineacute par la repreacutesentation numeacuterique des meacutetriques de branches (nombre de bits agrave disposition et interpreacutetation des valeurs) Seacutelection des chemins survivants (ACSu) Les deux paramegravetres principaux sont le nombre duniteacutes ACS et la repreacutesentation numeacuterique des meacutetriques de branches (Figure C-6) Selon lapproche de seacutelection parallegravele des chemins survivants le nombre duniteacutes de seacutelection ACS deacutetermine la longueur de contrainte maximale des codes convolutifs supportables Ladaptation aux autres contextes de codage moins exigeants (longueur K infeacuterieure) peut seffectuer par lintroduction dun bloc fonctionnel suppleacutementaire qui se charge de la bonne gestion des ressources Sa tacircche est lactivation des uniteacutes ACS effectivement impliqueacutees dans le deacutecodage ainsi que lassignation correcte des vieilles meacutetriques cumuleacutees (Figure C-6)

282

basc

uleslogique

combinatoire

ACS0

ACS1

ACSM-1

meacutetriquescumuleacuteesnp

meacutetriquescumuleacuteesnp-1

meacutetriques debranchesnp

informations surles cheminssurvivants

horloge

nombre deacutetats

Normalisation

logiquecombinatoire

initialisation Figure C-6 exemple de structure parallegravele utilisable pour une approche souple

La repreacutesentation numeacuterique des meacutetriques cumuleacutees doit ecirctre eacutetablie en consideacuterant la repreacutesentation des meacutetriques de branches et le nombre maximal deacutetats M que le systegraveme peut traiter (Sous-section 734) Lopeacuteration de normalisation des meacutetriques cumuleacutees garantit le deacuteroulement correct de lalgorithme tout en limitant le nombre de bits de la repreacutesentation numeacuterique La reacutealisation de ce module doit aussi permettre linitialisation des valeurs des meacutetriques cumuleacutees selon les exigences de chaque contexte de codage ce qui ameacuteliore la capaciteacute dadaptation (exemple [Spra750]) Deacutesignation du chemin le plus favorable (BPSu) La reacutealisation physique de ce module deacutepend principalement du type de critegravere utiliseacute pour la deacutesignation du chemin (chemin le plus probable ou un chemin quelconque) Sa conception doit maintenant consideacuterer une situation caracteacuteriseacutee aussi bien par un nombre variable de chemins survivants que par des conditions darrecirct diffeacuterentes de la proceacutedure de codage (exemple Figure C-7)

283

comparaison

nombre deacutetats

eacutetat dedeacutepartcomparaison

comparaison

comparaison

comparaison

Figure C-7 reacutealisation du module exeacutecutant la seacutelection du meilleur chemin en tenant compte dun nombre variable deacutetats Les modifications apporteacutees par rapport agrave la reacutealisation du module BPS de base (Figure 7-18) sont signaleacutees en rouge

Lexploitation exhaustive des conditions darrecirct complique seacuterieusement la reacutealisation physique de ce module surtout si lon admet que les valeurs des bits de terminaison peuvent varier selon le standard de communication Par conseacutequent on peut envisager la solution pragmatique dune exploitation partielle de ces informations lutilisation de leacutetat final correct pour le deacutecodage des derniers bits dinformation Cette solution tire profit de la preacutesence des bits de terminaison tout en limitant la complexiteacute de la reacutealisation physique des modules Prise de deacutecision (TBu) La conception de ce module TBu doit consideacuterer cinq paramegravetres principaux la longueur de contrainte du code viseacute la longueur maximale supporteacutee par le systegraveme la distance δp la livraison des reacutesultats au DSP ainsi que leacuteventualiteacute dun contexte de codage impliquant une seacutequence limiteacutee de symboles Longueurs de contrainte des codes convolutifs viseacutes La complexiteacute maximale (cest-agrave-dire la longueur maximale de contrainte) des codes convolutifs que le systegraveme est censeacute deacutecoder deacutetermine les ressources de stockage et de traitement neacutecessaires au module TBu La conception de ces module doit ensuite consideacuterer la gestion correcte des ressources de stockage

284

et de reconstruction deacutetats des chemins afin dexeacutecuter la tacircche de reconstruction conformeacutement au contexte de codage Lobjectif peut ecirctre atteint agrave laide dune opeacuteration de masquage qui permet lajustement de la taille de la meacutemoire reconstruite sans modifier la conception du systegraveme de base Distance δp La valeur de ce paramegravetre deacutepend strictement de la longueur de contrainte du code convolutif envisageacute Dans ce contexte dune approche souple coprocesseur la distance optimale est ainsi potentiellement variable Deux approches paraissent inteacuteressantes lutilisation soit dune distance optimale par rapport agrave la longueur K maximale soit dune distance de compromis La premiegravere approche assure la qualiteacute de protection offerte par tous les codes convolutifs exploitables Si la gamme des codes est tregraves large (en termes de longueur de contrainte) lutilisation dune distance δp adapteacutee au contexte de codage le plus exigeant neacutecessite des coucircts importants lusage de nombreuses ressources ainsi quun fort retard algorithmique Si les applications envisageacutees ne tolegraverent pas ces coucircts une distance δp de compromis doit ecirctre eacutetablie en analysant limportance des coucircts demploi parallegravelement agrave la deacutegradation de la qualiteacute de protection dans les divers contextes de codages Modaliteacute de livraison des deacutecisions prises Si le DSP demande la livraison de plusieurs bits deacutecodeacutes agrave la fois la meacutethode de la prise de deacutecision (Figure 7-16) peut ecirctre deacuteveloppeacutee et optimiseacutee de maniegravere agrave extraire simultaneacutement plusieurs valeurs (Table C-2 et Figure C-8) [Fett90] [Min91] Dans ce cas lexeacutecution de la tacircche entiegravere de deacutecodage peut ecirctre modifieacutee en exeacutecutant lopeacuteration de prise de deacutecision multiple par intervalle de temps (chaque N peacuteriodes Table C-2) Cette opeacuteration est ainsi chargeacutee de la prise de deacutecision simultaneacutee de N bits dinformations (Figure C-8)

285

Paramegravetre Valeur Intervalle de temps entre les opeacuterations de deacutecodage [nombre de peacuteriodes] N Nombre de bits deacutelivreacutes [bits] N Retard algorithmique minimal [nombre de peacuteriodes] δp+N-1 Ressources minimales de stockage [nombre dinformations] Mmiddot(δp+N-1) Efficaciteacute [nombre dopeacuterations de reconstruction deacutetat nombre de bits deacutelivreacutes]

(δp+N-1) N

Table C-2 vue densemble des caracteacuteristiques lieacutees agrave la conception de la tacircche de deacutecodage

Une eacutevaluation des points forts dune prise de deacutecision multiple est illustreacutee par la Table C-2 Cette table permet de deacuteterminer facilement les performances et les caracteacuteristiques de la prise de deacutecision

derniegraveres informationssur les chemins survivants

au niveau de profondeur np

eacutetat de deacutepart

eacutetat agrave laprofondeurnp- -N+1pδ

deacutecision surle bitnp- -N+1δ

anciennesindications

sur les cheminssurvivants

eacutetat agrave laprofondeur

np- pδ

deacutecision surle bitnp-δ

N transitions N transitions

niveau de profondeurnpnp - +1pδ

niveau de profondeurnp - -N+2pδ

Figure C-8 exemple de proceacutedure pour une prise de deacutecision multiple La couleur jaune repreacutesente les valeurs qui ne sont plus neacutecessaires pour la prochaine proceacutedure de prise de deacutecision En vert les nouvelles valeurs qui ont eacuteteacute sauvegardeacutees depuis la derniegravere proceacutedure La distance δp est comprise entre les valeurs δ et (δ-K+2)

Deacutecodage dun message formeacute par un nombre fini de symboles Le coprocesseur peut ecirctre confronteacute agrave des contextes de codage impliquant la protection de messages formeacutes par un nombre fini de symboles Dans cette

286

eacuteventualiteacute la signalisation de la fin du message et leacutetat darrecirct de la proceacutedure de codage doivent ecirctre transmis agrave ce module A laide du chemin survivant lieacute agrave cet eacutetat darrecirct ce module peut ainsi effectuer une prise de deacutecision optimale des (δ-nombre de bits de terminaison) bits restants du message

C3 Reacutefeacuterences

[Fett90] G Fettweis Parallelisierung des Viterbi-Decoders Algorithmus und VLSI-Architektur rapport de recherche (Fortschritt-Berichte) seacuterie 10 Informatik Kommunikationstechnik VDI-Verlag Duumlsseldorf 1990

[Gath02] The Application of Programmable DSPs in Mobile Communications eacutediteacute par A Gatherer et E Auslander John Wiley and Sons Grande-Bretagne 2002

[Min91] B ndashK Min Architecture VLSI pour le decodeur de Viterbi Thegravese de Doctorat Ecole Nationale Supeacuterieure des Teacuteleacutecommunications Paris 1991

[Spra750] Texas Instruments Using TMS320C6416 Coprocessors Viterbi Coprocessor (VCP) Application Report document SPRA750 juin 2001

[Spru533] Texas Instruments Viterbi Decoder Coprocessor Users Guide document SPRU533 mai 2001

[Ts25212] 3GPP Multiplexing and Channel Coding (FDD) document 3GPP TS 25212 version 320

287

Curriculum Vitae

Davide Manetti Originaire de Camignolo Suisse

Neacute le 15 aoucirct 1972

Domaines de recherche

bull Systegravemes de navigation satellitaires GPS et Galileo bull Codage de canal conception dalgorithmes pour implantation sur DSP

et reacutealisation de circuits ASIC pour appareils mobiles UMTS bull Compression de signaux audio conception dalgorithmes et

implantation sur DSP bull Techniques de traitement numeacuterique destineacutees agrave des implantations en

temps reacuteel sur DSP Formation 1991-1997 Ecole Polytechnique Feacutedeacuterale de Zuumlrich (ETHZ)

Diplocircme dingeacutenieur en eacutelectronique Expeacuterience Depuis 1997 Assistant de recherche

aupregraves du Laboratoire dElectronique et de Traitement du Signal Institut de Microtechnique (IMT) Universiteacute de Neuchacirctel (Uni-NE)

Depuis 1998 Deacutefinition et gestion de projets deacutetudiants (stages travaux de semestre et de diplocircme) pour des eacutetudiants provenant de lUniversiteacute de Neuchacirctel de lEcole Polytechnique Feacutedeacuterale de Lausanne et dautres universiteacutes europeacuteennes

Depuis 2001 Doctorant Au sein du Laboratoire dElectronique et de Traitement du Signal IMT Uni-NE

Deacutecembre 2004 Soutenance de la thegravese de doctorat

288

Publications Articles de confeacuterences

D Manetti A Dufaux E Meurville M Ansorge F Pellandini P Ryser D Wieser Audio Coder for Telesurveillance Applications with Real Time Implementation on a Multimedia DSP Proceedings of COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999 pp 276-281

Autres publications D Manetti Audio Coder for Remote Surveillance Application internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland August 1999 D Manetti Channel Coding in Wireless Applications internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland May 2001 L Grasso D Manetti Implementation of a parameterized family of Viterbi Decoders internal report (confidential) Institute of Microtechnology University of Neuchacirctel Neuchacirctel Switzerland December 2001

Activiteacutes professionnelles Preacutesentation inviteacutee

laquo Evolution of audio coding techniquesrdquo presented at workshop ldquoSolutions numeacuteriques pour la videacuteo et les teacuteleacutecommunications rdquo ATEME ndash TI ndash EPFL Lausanne Switzerland 20 January 2004

Poster Atelier LEA laquo Le codage de canal utiliseacute dans les systegravemes de communication mobile UMTSrdquo Arc et Senans France 29-30 septembre 2003

Reacutevision darticles SCS 2003 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2003 EUSIPCO 2002 XI European Signal Processing Conference Toulouse France 3-6 September 2002 SCS 2001 IEEE International Symposium on Signal Circuits amp Systems Iasi Romania 10-11 July 2001 COST 254 International Workshop on Intelligent Communication Technologies and Applications with Emphasis on Mobile Communication Neuchacirctel Switzerland 5-7 May 1999

289

Connaissances informatiques Langages de programmation

CC++ Assembleur Matlab Conception mateacuterielle

HDL Designer Modelsim Synopsys Quartus Langues

Italien Franccedilais Allemand Anglais

290

291

292

Page 5: Contributions au décodage des codes convolutifs utilisés ...
Page 6: Contributions au décodage des codes convolutifs utilisés ...
Page 7: Contributions au décodage des codes convolutifs utilisés ...
Page 8: Contributions au décodage des codes convolutifs utilisés ...
Page 9: Contributions au décodage des codes convolutifs utilisés ...
Page 10: Contributions au décodage des codes convolutifs utilisés ...
Page 11: Contributions au décodage des codes convolutifs utilisés ...
Page 12: Contributions au décodage des codes convolutifs utilisés ...
Page 13: Contributions au décodage des codes convolutifs utilisés ...
Page 14: Contributions au décodage des codes convolutifs utilisés ...
Page 15: Contributions au décodage des codes convolutifs utilisés ...
Page 16: Contributions au décodage des codes convolutifs utilisés ...
Page 17: Contributions au décodage des codes convolutifs utilisés ...
Page 18: Contributions au décodage des codes convolutifs utilisés ...
Page 19: Contributions au décodage des codes convolutifs utilisés ...
Page 20: Contributions au décodage des codes convolutifs utilisés ...
Page 21: Contributions au décodage des codes convolutifs utilisés ...
Page 22: Contributions au décodage des codes convolutifs utilisés ...
Page 23: Contributions au décodage des codes convolutifs utilisés ...
Page 24: Contributions au décodage des codes convolutifs utilisés ...
Page 25: Contributions au décodage des codes convolutifs utilisés ...
Page 26: Contributions au décodage des codes convolutifs utilisés ...
Page 27: Contributions au décodage des codes convolutifs utilisés ...
Page 28: Contributions au décodage des codes convolutifs utilisés ...
Page 29: Contributions au décodage des codes convolutifs utilisés ...
Page 30: Contributions au décodage des codes convolutifs utilisés ...
Page 31: Contributions au décodage des codes convolutifs utilisés ...
Page 32: Contributions au décodage des codes convolutifs utilisés ...
Page 33: Contributions au décodage des codes convolutifs utilisés ...
Page 34: Contributions au décodage des codes convolutifs utilisés ...
Page 35: Contributions au décodage des codes convolutifs utilisés ...
Page 36: Contributions au décodage des codes convolutifs utilisés ...
Page 37: Contributions au décodage des codes convolutifs utilisés ...
Page 38: Contributions au décodage des codes convolutifs utilisés ...
Page 39: Contributions au décodage des codes convolutifs utilisés ...
Page 40: Contributions au décodage des codes convolutifs utilisés ...
Page 41: Contributions au décodage des codes convolutifs utilisés ...
Page 42: Contributions au décodage des codes convolutifs utilisés ...
Page 43: Contributions au décodage des codes convolutifs utilisés ...
Page 44: Contributions au décodage des codes convolutifs utilisés ...
Page 45: Contributions au décodage des codes convolutifs utilisés ...
Page 46: Contributions au décodage des codes convolutifs utilisés ...
Page 47: Contributions au décodage des codes convolutifs utilisés ...
Page 48: Contributions au décodage des codes convolutifs utilisés ...
Page 49: Contributions au décodage des codes convolutifs utilisés ...
Page 50: Contributions au décodage des codes convolutifs utilisés ...
Page 51: Contributions au décodage des codes convolutifs utilisés ...
Page 52: Contributions au décodage des codes convolutifs utilisés ...
Page 53: Contributions au décodage des codes convolutifs utilisés ...
Page 54: Contributions au décodage des codes convolutifs utilisés ...
Page 55: Contributions au décodage des codes convolutifs utilisés ...
Page 56: Contributions au décodage des codes convolutifs utilisés ...
Page 57: Contributions au décodage des codes convolutifs utilisés ...
Page 58: Contributions au décodage des codes convolutifs utilisés ...
Page 59: Contributions au décodage des codes convolutifs utilisés ...
Page 60: Contributions au décodage des codes convolutifs utilisés ...
Page 61: Contributions au décodage des codes convolutifs utilisés ...
Page 62: Contributions au décodage des codes convolutifs utilisés ...
Page 63: Contributions au décodage des codes convolutifs utilisés ...
Page 64: Contributions au décodage des codes convolutifs utilisés ...
Page 65: Contributions au décodage des codes convolutifs utilisés ...
Page 66: Contributions au décodage des codes convolutifs utilisés ...
Page 67: Contributions au décodage des codes convolutifs utilisés ...
Page 68: Contributions au décodage des codes convolutifs utilisés ...
Page 69: Contributions au décodage des codes convolutifs utilisés ...
Page 70: Contributions au décodage des codes convolutifs utilisés ...
Page 71: Contributions au décodage des codes convolutifs utilisés ...
Page 72: Contributions au décodage des codes convolutifs utilisés ...
Page 73: Contributions au décodage des codes convolutifs utilisés ...
Page 74: Contributions au décodage des codes convolutifs utilisés ...
Page 75: Contributions au décodage des codes convolutifs utilisés ...
Page 76: Contributions au décodage des codes convolutifs utilisés ...
Page 77: Contributions au décodage des codes convolutifs utilisés ...
Page 78: Contributions au décodage des codes convolutifs utilisés ...
Page 79: Contributions au décodage des codes convolutifs utilisés ...
Page 80: Contributions au décodage des codes convolutifs utilisés ...
Page 81: Contributions au décodage des codes convolutifs utilisés ...
Page 82: Contributions au décodage des codes convolutifs utilisés ...
Page 83: Contributions au décodage des codes convolutifs utilisés ...
Page 84: Contributions au décodage des codes convolutifs utilisés ...
Page 85: Contributions au décodage des codes convolutifs utilisés ...
Page 86: Contributions au décodage des codes convolutifs utilisés ...
Page 87: Contributions au décodage des codes convolutifs utilisés ...
Page 88: Contributions au décodage des codes convolutifs utilisés ...
Page 89: Contributions au décodage des codes convolutifs utilisés ...
Page 90: Contributions au décodage des codes convolutifs utilisés ...
Page 91: Contributions au décodage des codes convolutifs utilisés ...
Page 92: Contributions au décodage des codes convolutifs utilisés ...
Page 93: Contributions au décodage des codes convolutifs utilisés ...
Page 94: Contributions au décodage des codes convolutifs utilisés ...
Page 95: Contributions au décodage des codes convolutifs utilisés ...
Page 96: Contributions au décodage des codes convolutifs utilisés ...
Page 97: Contributions au décodage des codes convolutifs utilisés ...
Page 98: Contributions au décodage des codes convolutifs utilisés ...
Page 99: Contributions au décodage des codes convolutifs utilisés ...
Page 100: Contributions au décodage des codes convolutifs utilisés ...
Page 101: Contributions au décodage des codes convolutifs utilisés ...
Page 102: Contributions au décodage des codes convolutifs utilisés ...
Page 103: Contributions au décodage des codes convolutifs utilisés ...
Page 104: Contributions au décodage des codes convolutifs utilisés ...
Page 105: Contributions au décodage des codes convolutifs utilisés ...
Page 106: Contributions au décodage des codes convolutifs utilisés ...
Page 107: Contributions au décodage des codes convolutifs utilisés ...
Page 108: Contributions au décodage des codes convolutifs utilisés ...
Page 109: Contributions au décodage des codes convolutifs utilisés ...
Page 110: Contributions au décodage des codes convolutifs utilisés ...
Page 111: Contributions au décodage des codes convolutifs utilisés ...
Page 112: Contributions au décodage des codes convolutifs utilisés ...
Page 113: Contributions au décodage des codes convolutifs utilisés ...
Page 114: Contributions au décodage des codes convolutifs utilisés ...
Page 115: Contributions au décodage des codes convolutifs utilisés ...
Page 116: Contributions au décodage des codes convolutifs utilisés ...
Page 117: Contributions au décodage des codes convolutifs utilisés ...
Page 118: Contributions au décodage des codes convolutifs utilisés ...
Page 119: Contributions au décodage des codes convolutifs utilisés ...
Page 120: Contributions au décodage des codes convolutifs utilisés ...
Page 121: Contributions au décodage des codes convolutifs utilisés ...
Page 122: Contributions au décodage des codes convolutifs utilisés ...
Page 123: Contributions au décodage des codes convolutifs utilisés ...
Page 124: Contributions au décodage des codes convolutifs utilisés ...
Page 125: Contributions au décodage des codes convolutifs utilisés ...
Page 126: Contributions au décodage des codes convolutifs utilisés ...
Page 127: Contributions au décodage des codes convolutifs utilisés ...
Page 128: Contributions au décodage des codes convolutifs utilisés ...
Page 129: Contributions au décodage des codes convolutifs utilisés ...
Page 130: Contributions au décodage des codes convolutifs utilisés ...
Page 131: Contributions au décodage des codes convolutifs utilisés ...
Page 132: Contributions au décodage des codes convolutifs utilisés ...
Page 133: Contributions au décodage des codes convolutifs utilisés ...
Page 134: Contributions au décodage des codes convolutifs utilisés ...
Page 135: Contributions au décodage des codes convolutifs utilisés ...
Page 136: Contributions au décodage des codes convolutifs utilisés ...
Page 137: Contributions au décodage des codes convolutifs utilisés ...
Page 138: Contributions au décodage des codes convolutifs utilisés ...
Page 139: Contributions au décodage des codes convolutifs utilisés ...
Page 140: Contributions au décodage des codes convolutifs utilisés ...
Page 141: Contributions au décodage des codes convolutifs utilisés ...
Page 142: Contributions au décodage des codes convolutifs utilisés ...
Page 143: Contributions au décodage des codes convolutifs utilisés ...
Page 144: Contributions au décodage des codes convolutifs utilisés ...
Page 145: Contributions au décodage des codes convolutifs utilisés ...
Page 146: Contributions au décodage des codes convolutifs utilisés ...
Page 147: Contributions au décodage des codes convolutifs utilisés ...
Page 148: Contributions au décodage des codes convolutifs utilisés ...
Page 149: Contributions au décodage des codes convolutifs utilisés ...
Page 150: Contributions au décodage des codes convolutifs utilisés ...
Page 151: Contributions au décodage des codes convolutifs utilisés ...
Page 152: Contributions au décodage des codes convolutifs utilisés ...
Page 153: Contributions au décodage des codes convolutifs utilisés ...
Page 154: Contributions au décodage des codes convolutifs utilisés ...
Page 155: Contributions au décodage des codes convolutifs utilisés ...
Page 156: Contributions au décodage des codes convolutifs utilisés ...
Page 157: Contributions au décodage des codes convolutifs utilisés ...
Page 158: Contributions au décodage des codes convolutifs utilisés ...
Page 159: Contributions au décodage des codes convolutifs utilisés ...
Page 160: Contributions au décodage des codes convolutifs utilisés ...
Page 161: Contributions au décodage des codes convolutifs utilisés ...
Page 162: Contributions au décodage des codes convolutifs utilisés ...
Page 163: Contributions au décodage des codes convolutifs utilisés ...
Page 164: Contributions au décodage des codes convolutifs utilisés ...
Page 165: Contributions au décodage des codes convolutifs utilisés ...
Page 166: Contributions au décodage des codes convolutifs utilisés ...
Page 167: Contributions au décodage des codes convolutifs utilisés ...
Page 168: Contributions au décodage des codes convolutifs utilisés ...
Page 169: Contributions au décodage des codes convolutifs utilisés ...
Page 170: Contributions au décodage des codes convolutifs utilisés ...
Page 171: Contributions au décodage des codes convolutifs utilisés ...
Page 172: Contributions au décodage des codes convolutifs utilisés ...
Page 173: Contributions au décodage des codes convolutifs utilisés ...
Page 174: Contributions au décodage des codes convolutifs utilisés ...
Page 175: Contributions au décodage des codes convolutifs utilisés ...
Page 176: Contributions au décodage des codes convolutifs utilisés ...
Page 177: Contributions au décodage des codes convolutifs utilisés ...
Page 178: Contributions au décodage des codes convolutifs utilisés ...
Page 179: Contributions au décodage des codes convolutifs utilisés ...
Page 180: Contributions au décodage des codes convolutifs utilisés ...
Page 181: Contributions au décodage des codes convolutifs utilisés ...
Page 182: Contributions au décodage des codes convolutifs utilisés ...
Page 183: Contributions au décodage des codes convolutifs utilisés ...
Page 184: Contributions au décodage des codes convolutifs utilisés ...
Page 185: Contributions au décodage des codes convolutifs utilisés ...
Page 186: Contributions au décodage des codes convolutifs utilisés ...
Page 187: Contributions au décodage des codes convolutifs utilisés ...
Page 188: Contributions au décodage des codes convolutifs utilisés ...
Page 189: Contributions au décodage des codes convolutifs utilisés ...
Page 190: Contributions au décodage des codes convolutifs utilisés ...
Page 191: Contributions au décodage des codes convolutifs utilisés ...
Page 192: Contributions au décodage des codes convolutifs utilisés ...
Page 193: Contributions au décodage des codes convolutifs utilisés ...
Page 194: Contributions au décodage des codes convolutifs utilisés ...
Page 195: Contributions au décodage des codes convolutifs utilisés ...
Page 196: Contributions au décodage des codes convolutifs utilisés ...
Page 197: Contributions au décodage des codes convolutifs utilisés ...
Page 198: Contributions au décodage des codes convolutifs utilisés ...
Page 199: Contributions au décodage des codes convolutifs utilisés ...
Page 200: Contributions au décodage des codes convolutifs utilisés ...
Page 201: Contributions au décodage des codes convolutifs utilisés ...
Page 202: Contributions au décodage des codes convolutifs utilisés ...
Page 203: Contributions au décodage des codes convolutifs utilisés ...
Page 204: Contributions au décodage des codes convolutifs utilisés ...
Page 205: Contributions au décodage des codes convolutifs utilisés ...
Page 206: Contributions au décodage des codes convolutifs utilisés ...
Page 207: Contributions au décodage des codes convolutifs utilisés ...
Page 208: Contributions au décodage des codes convolutifs utilisés ...
Page 209: Contributions au décodage des codes convolutifs utilisés ...
Page 210: Contributions au décodage des codes convolutifs utilisés ...
Page 211: Contributions au décodage des codes convolutifs utilisés ...
Page 212: Contributions au décodage des codes convolutifs utilisés ...
Page 213: Contributions au décodage des codes convolutifs utilisés ...
Page 214: Contributions au décodage des codes convolutifs utilisés ...
Page 215: Contributions au décodage des codes convolutifs utilisés ...
Page 216: Contributions au décodage des codes convolutifs utilisés ...
Page 217: Contributions au décodage des codes convolutifs utilisés ...
Page 218: Contributions au décodage des codes convolutifs utilisés ...
Page 219: Contributions au décodage des codes convolutifs utilisés ...
Page 220: Contributions au décodage des codes convolutifs utilisés ...
Page 221: Contributions au décodage des codes convolutifs utilisés ...
Page 222: Contributions au décodage des codes convolutifs utilisés ...
Page 223: Contributions au décodage des codes convolutifs utilisés ...
Page 224: Contributions au décodage des codes convolutifs utilisés ...
Page 225: Contributions au décodage des codes convolutifs utilisés ...
Page 226: Contributions au décodage des codes convolutifs utilisés ...
Page 227: Contributions au décodage des codes convolutifs utilisés ...
Page 228: Contributions au décodage des codes convolutifs utilisés ...
Page 229: Contributions au décodage des codes convolutifs utilisés ...
Page 230: Contributions au décodage des codes convolutifs utilisés ...
Page 231: Contributions au décodage des codes convolutifs utilisés ...
Page 232: Contributions au décodage des codes convolutifs utilisés ...
Page 233: Contributions au décodage des codes convolutifs utilisés ...
Page 234: Contributions au décodage des codes convolutifs utilisés ...
Page 235: Contributions au décodage des codes convolutifs utilisés ...
Page 236: Contributions au décodage des codes convolutifs utilisés ...
Page 237: Contributions au décodage des codes convolutifs utilisés ...
Page 238: Contributions au décodage des codes convolutifs utilisés ...
Page 239: Contributions au décodage des codes convolutifs utilisés ...
Page 240: Contributions au décodage des codes convolutifs utilisés ...
Page 241: Contributions au décodage des codes convolutifs utilisés ...
Page 242: Contributions au décodage des codes convolutifs utilisés ...
Page 243: Contributions au décodage des codes convolutifs utilisés ...
Page 244: Contributions au décodage des codes convolutifs utilisés ...
Page 245: Contributions au décodage des codes convolutifs utilisés ...
Page 246: Contributions au décodage des codes convolutifs utilisés ...
Page 247: Contributions au décodage des codes convolutifs utilisés ...
Page 248: Contributions au décodage des codes convolutifs utilisés ...
Page 249: Contributions au décodage des codes convolutifs utilisés ...
Page 250: Contributions au décodage des codes convolutifs utilisés ...
Page 251: Contributions au décodage des codes convolutifs utilisés ...
Page 252: Contributions au décodage des codes convolutifs utilisés ...
Page 253: Contributions au décodage des codes convolutifs utilisés ...
Page 254: Contributions au décodage des codes convolutifs utilisés ...
Page 255: Contributions au décodage des codes convolutifs utilisés ...
Page 256: Contributions au décodage des codes convolutifs utilisés ...
Page 257: Contributions au décodage des codes convolutifs utilisés ...
Page 258: Contributions au décodage des codes convolutifs utilisés ...
Page 259: Contributions au décodage des codes convolutifs utilisés ...
Page 260: Contributions au décodage des codes convolutifs utilisés ...
Page 261: Contributions au décodage des codes convolutifs utilisés ...
Page 262: Contributions au décodage des codes convolutifs utilisés ...
Page 263: Contributions au décodage des codes convolutifs utilisés ...
Page 264: Contributions au décodage des codes convolutifs utilisés ...
Page 265: Contributions au décodage des codes convolutifs utilisés ...
Page 266: Contributions au décodage des codes convolutifs utilisés ...
Page 267: Contributions au décodage des codes convolutifs utilisés ...
Page 268: Contributions au décodage des codes convolutifs utilisés ...
Page 269: Contributions au décodage des codes convolutifs utilisés ...
Page 270: Contributions au décodage des codes convolutifs utilisés ...
Page 271: Contributions au décodage des codes convolutifs utilisés ...
Page 272: Contributions au décodage des codes convolutifs utilisés ...
Page 273: Contributions au décodage des codes convolutifs utilisés ...
Page 274: Contributions au décodage des codes convolutifs utilisés ...
Page 275: Contributions au décodage des codes convolutifs utilisés ...
Page 276: Contributions au décodage des codes convolutifs utilisés ...
Page 277: Contributions au décodage des codes convolutifs utilisés ...
Page 278: Contributions au décodage des codes convolutifs utilisés ...
Page 279: Contributions au décodage des codes convolutifs utilisés ...
Page 280: Contributions au décodage des codes convolutifs utilisés ...
Page 281: Contributions au décodage des codes convolutifs utilisés ...
Page 282: Contributions au décodage des codes convolutifs utilisés ...
Page 283: Contributions au décodage des codes convolutifs utilisés ...
Page 284: Contributions au décodage des codes convolutifs utilisés ...
Page 285: Contributions au décodage des codes convolutifs utilisés ...
Page 286: Contributions au décodage des codes convolutifs utilisés ...
Page 287: Contributions au décodage des codes convolutifs utilisés ...
Page 288: Contributions au décodage des codes convolutifs utilisés ...
Page 289: Contributions au décodage des codes convolutifs utilisés ...
Page 290: Contributions au décodage des codes convolutifs utilisés ...
Page 291: Contributions au décodage des codes convolutifs utilisés ...
Page 292: Contributions au décodage des codes convolutifs utilisés ...
Page 293: Contributions au décodage des codes convolutifs utilisés ...
Page 294: Contributions au décodage des codes convolutifs utilisés ...
Page 295: Contributions au décodage des codes convolutifs utilisés ...
Page 296: Contributions au décodage des codes convolutifs utilisés ...
Page 297: Contributions au décodage des codes convolutifs utilisés ...
Page 298: Contributions au décodage des codes convolutifs utilisés ...
Page 299: Contributions au décodage des codes convolutifs utilisés ...
Page 300: Contributions au décodage des codes convolutifs utilisés ...
Page 301: Contributions au décodage des codes convolutifs utilisés ...
Page 302: Contributions au décodage des codes convolutifs utilisés ...
Page 303: Contributions au décodage des codes convolutifs utilisés ...
Page 304: Contributions au décodage des codes convolutifs utilisés ...
Page 305: Contributions au décodage des codes convolutifs utilisés ...
Page 306: Contributions au décodage des codes convolutifs utilisés ...
Page 307: Contributions au décodage des codes convolutifs utilisés ...
Page 308: Contributions au décodage des codes convolutifs utilisés ...
Page 309: Contributions au décodage des codes convolutifs utilisés ...
Page 310: Contributions au décodage des codes convolutifs utilisés ...
Page 311: Contributions au décodage des codes convolutifs utilisés ...
Page 312: Contributions au décodage des codes convolutifs utilisés ...