contributions au décodage des codes convolutifs utilisés
Post on 04-Oct-2021
15 Views
Preview:
TRANSCRIPT
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-δ
pδ
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