You are on page 1of 224

N

LABORATOIRE I C A R E EA 3050 Ingnierie des Communications en informAtique, Rseaux et Electronique sans fil

MEMOIRE de THESE
DOCTORAT de LUNIVERSITE de TOULOUSE II Ecole Doctorale Gnie Electrique, Electronique et Tlcommunication
Spcialit : Electronique

Prsent par Madame Cline GUILLEMINOT


Matre s Sciences

TUDE ET INTGRATION NUMRIQUE DUN SYSTME MULTICAPTEURS AMRC DE TLCOMMUNICATION BAS SUR UN PROTOTYPE VIRTUEL UTILISANT LE LANGAGE DE HAUT NIVEAU VHDL-AMS

__________
Soutenue le 01 dcembre 2005 devant le jury compos de : Rapporteurs : M. JB BEGUERET M. P. FRAISSE Examinateurs : M. A. CAZARRE
M. T. VAL

Matre de Confrences-HDR lUniversit de Bordeaux I Lonard de Vinci Matre de Confrences-HDR lUniversit de Montpellier II Professeur lUniversit de Toulouse III
Professeur lUniversit de Toulouse II Professeur lUniversit de Toulouse II Matre de Confrences lUniversit de Toulouse II Matre de Confrences HDR lUniversit de Toulouse II

Directeur : Co-directeur : Invit :

M. JJ MERCIER
M. L. ANDRIEUX M. E. CAMPO

Laboratoire de Recherche ICARE EA 3050 I.U.T de Blagnac - 1, Place Georges Brassens BP 60073 31 703 Blagnac cedex Tl. : + 33 (0) 5 62 74 75 75 Fax : + 33 (0) 5 62 74 75 87

SOMMAIRE

TABLE DES MATIERES


INTRODUCTION GENERALE ............................................................................................ 1 I CHAPITRE I : Problmatique de la conception systme............................................. 7

I.1 Etat de lart de la conception systme ............................................................................ 9 I.1.1 La conception systme dans le contexte industriel .................................................... 9 I.1.1.1 Enjeux et constatations....................................................................................... 9 I.1.1.2 Mthodologie classique du dveloppement ............................................... 12 I.1.1.2.1 Flot de conception traditionnelle.............................................................. 12 I.1.1.2.2 Cycle de conception en V......................................................................... 13 I.1.1.2.3 Vrification et prototypage....................................................................... 15 I.1.2 Le prototypage virtuel .............................................................................................. 16 I.1.3 Les mthodologies de conception actuelles ............................................................. 17 I.1.3.1 Les changements de paradigmes ...................................................................... 17 I.1.3.2 Evolution des cots [ITRS03] .......................................................................... 18 I.1.3.3 Le prototypage virtuel par le CODESIGN....................................................... 20 I.2 Solution technologiques actuelles ................................................................................ 20 I.2.1 Les cibles de conception existantes [ROBE02] ....................................................... 21 I.2.1.1 Les ASICs ........................................................................................................ 21 I.2.1.1.1 Les circuits semi-spcifiques ou ASIC pr-diffuss ................................ 21 I.2.1.1.2 Les circuits spcifiques ou ASIC pr-caractriss ................................... 21 I.2.1.2 Les FPGA......................................................................................................... 21 I.2.1.3 Les DSP............................................................................................................ 22 I.2.1.4 Les SoCs........................................................................................................... 23 I.2.2 Le march actuel des composants ............................................................................ 23 I.2.2.1 Famille de circuits et applications.................................................................... 23 I.2.2.2 Architecture des composants programmables.................................................. 25 I.3 Comparaison des langages et outils de conception ...................................................... 25 I.3.1 Introduction .............................................................................................................. 25 I.3.2 Les outils issus du milieu logiciel ............................................................................ 26 I.3.3 Les outils issus du milieu CAO................................................................................ 27 I.3.3.1 Simulateur Analogique..................................................................................... 27 I.3.3.2 Simulateur numrique ...................................................................................... 28 I.3.3.2.1 Le VERILOG : Historique et description ................................................ 28 I.3.3.2.2 VHDL : Historique et description ............................................................ 29 I.3.3.3 Les simulateurs mixtes ..................................................................................... 29 I.3.3.3.1 Description dun langage propritaire MAST.......................................... 30 I.3.3.3.2 Description dun langage norm : VHDL-AMS ...................................... 30 I.3.3.3.3 Les Outils supportant la simulation mixte en VHDL-AMS..................... 30 I.3.3.3.3.1 historique.............................................................................................. 30 I.3.3.3.3.2 Les outils interface graphique ........................................................... 31 I.3.3.3.3.3 Comparaison des diffrents outils........................................................ 31 I.3.3.4 Mthodologies et outil de conception retenus.................................................. 32 I.3.3.4.1 Mthodologie m1 avec un langage propritaire....................................... 33 I.3.3.4.2 Mthodologie m2 avec VHDL-AMS....................................................... 34 I.3.3.4.3 Comparaison des deux mthodologies..................................................... 34 I.4 Bilan ............................................................................................................................. 35

-I-

SOMMAIRE

II CHAPITRE II Vers la conception dun systme de tlcommunications talement de spectre................................................................................................................................. 37 II.1 Prsentation du cahier des charges............................................................................... 39 II.2 Les systmes de communication existants ................................................................... 39 II.2.1 Communications Radiofrquences dans les bandes 433 & 868 MHz. ................ 40 II.2.2 Les rseaux personnels sans fil (WPAN : Wireless Personnal Area Network) ... 40 II.2.2.1 Bluetooth [ELHO05]........................................................................................ 40 II.2.2.2 Ultra Wide Band [BLIN04][BRAC05] ............................................................ 40 II.2.2.3 ZigBee .............................................................................................................. 41 II.2.3 Les rseaux locaux sans fil (WLAN : Wireless Local Area Network) ................ 41 II.2.3.1 La norme 802.11 .............................................................................................. 41 II.2.3.2 Le standard HiperLAN II [BAUD02] .............................................................. 42 II.2.4 Les rseaux mtropolitains sans fil (WMAN : Wireless Metropolitan Area Network) et les rseaux tendus (WWAN : Wireless Wide Area Network) ....................... 42 II.2.4.1 WiMax.............................................................................................................. 42 II.2.4.2 MBWA ............................................................................................................. 42 II.2.4.3 Les rseaux mobiles (WWAN) ........................................................................ 42 II.2.5 Contraintes du milieu clos.................................................................................... 43 II.2.5.1 Les interfrences radio ..................................................................................... 43 II.2.5.2 Le nombre dutilisateurs................................................................................... 43 II.2.6 Comparatif des technologies de rseaux sans fil.................................................. 43 II.3 Description des lments dune chane de communication numrique ....................... 44 II.3.1 Chane de communication.................................................................................... 45 II.3.2 Le codage en ligne................................................................................................ 45 II.3.3 Choix dune modulation numrique..................................................................... 46 II.3.3.1 Quelques dfinitions utiles ............................................................................... 46 II.3.3.1.1 Dbit binaire............................................................................................. 46 II.3.3.1.2 Taux derreur sur les bits.......................................................................... 46 II.3.3.1.3 Lefficacit spectrale ................................................................................ 47 II.3.3.1.4 Dfinition de lefficacit en puissance Eb/No.......................................... 47 II.3.3.1.5 La simplicit de ralisation ...................................................................... 48 II.3.3.2 Modulation retenue .......................................................................................... 48 II.3.4 Le Canal ............................................................................................................... 49 II.3.4.1 Le canal AWGN............................................................................................... 49 II.3.4.2 Le canal multi-trajets........................................................................................ 50 II.3.5 Les mthodes daccs........................................................................................... 51 II.3.5.1 Dfinition des mthodes daccs...................................................................... 52 II.3.5.1.1 Le FDMA ................................................................................................. 52 II.3.5.1.2 Le TDMA................................................................................................. 52 II.3.5.1.3 Le CDMA................................................................................................. 53 II.3.5.2 Critre de choix sur les mthodes daccs ....................................................... 54 II.3.6 Ltalement de spectre ......................................................................................... 54 II.3.6.1 Principe............................................................................................................. 54 II.3.6.2 Ltalement de spectre par squence directe.................................................... 56 II.3.6.2.1 Le principe de ltalement de spectre par squence directe ..................... 56 II.3.6.2.2 Les squences pseudo-alatoires.............................................................. 56 II.3.6.2.3 Ltalement lmission .......................................................................... 58 II.3.6.2.4 Le dstalement par corrlation ............................................................... 60 II.4 Caractristiques retenues pour le systme dsir ......................................................... 61

-II-

SOMMAIRE

II.5 Description fonctionnelle des fonctions modliser ................................................... 63 II.5.1 Principe de la modulation diffrentielle ............................................................... 64 II.5.2 Modlisation du gnrateur de PN Code.............................................................. 64 II.5.2.1 Principe de la gnration des M squences.................................................... 64 II.5.2.2 Simulation sous le logiciel SABER ................................................................. 65 II.5.3 Modlisation de la fonction corrlation ............................................................... 68 II.5.3.1 Corrlation lmission ................................................................................... 68 II.5.3.2 Corrlation la rception ................................................................................. 69 II.5.4 Modlisation de lorgane de synchronisation....................................................... 70 II.5.4.1 Problmatique de la synchronisation dun organe talement de spectre....... 70 II.5.4.2 Principes de mise en uvre de la fonction acquisition .................................... 71 II.5.4.2.1 Mise en uvre de la fonction dacquisition ............................................. 72 II.5.4.2.1.1 Lacquisition par corrlation .............................................................. 72 II.5.4.2.1.2 Lacquisition par filtrage adapt......................................................... 73 II.5.4.2.1.3 Lorgane de dcision .......................................................................... 74 II.5.4.2.2 Les principaux organes dacquisition....................................................... 74 II.5.4.2.2.1 Dtecteur du maximum de vraisemblance.......................................... 74 II.5.4.2.2.2 SERIE ................................................................................................. 75 II.5.4.2.2.2.a La structure Single Dwell time .................................................... 76 II.5.4.2.2.2.b Multiple Dwell time..................................................................... 76 II.5.4.2.2.3 RASE : Rapid Acquisition by Sequential Estimation ........................ 77 II.5.4.3 Etude /comparaison thoriques des boucles de poursuite ................................ 78 II.5.4.3.1 DLL Cohrente......................................................................................... 79 II.5.4.3.2 La DLL Non Cohrente............................................................................ 80 II.5.4.3.3 La TDL (The Tau Dither Loop) ............................................................... 80 II.5.4.3.4 Comparatif des diffrents modles de boucles de poursuite .................... 82 II.5.4.4 Choix de lorgane de synchronisation.............................................................. 83 II.5.4.4.1 Simulation de lorgane SERIE ................................................................. 83 II.5.4.4.2 Organe RASE........................................................................................... 85 II.5.4.5 Comparaison des boucles ................................................................................. 86 II.5.4.5.1 Gain en traitement .................................................................................... 86 II.5.4.5.2 Temps dacquisition ................................................................................. 87 II.5.4.5.3 Conclusion sur le choix des organes de synchronisation ......................... 88 II.6 Conclusion.................................................................................................................... 88 III CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau........................................................................................................... 91 III.1 Introduction .................................................................................................................. 93 III.2 Le langage VHDL-AMS .............................................................................................. 94 III.2.1 Historique ............................................................................................................. 94 III.2.2 Choix de ce langage ............................................................................................. 94 III.2.3 Description du langage [VACH02][HERV02] .................................................... 94 III.2.3.1 Le langage VHDL ........................................................................................ 94 III.2.3.1.1 Les diffrentes descriptions possibles ...................................................... 94 III.2.3.1.2 La structure fondamentale dun modle VHDL....................................... 95 III.2.3.1.3 Les signaux............................................................................................... 96 III.2.3.1.4 Le processus ............................................................................................. 96 III.2.3.2 Le langage VHDL-AMS .............................................................................. 98 III.2.3.2.1 Description du langage............................................................................. 98

-III-

SOMMAIRE

III.2.3.2.2 Les diffrentes classes dobjets ................................................................ 99 III.2.3.2.2.1 Terminal et nature ............................................................................. 99 III.2.3.2.2.2 Les quantits...................................................................................... 99 III.2.3.2.2.3 Le critre de solvabilit ................................................................... 100 III.3 Codage en langage VHDL-AMS de lmetteur/rcepteur ......................................... 100 III.3.1 Fonctions implanter et caractristiques ........................................................... 100 III.3.2 Les tages numriques ....................................................................................... 103 III.3.2.1 Description de lmetteur ........................................................................... 103 III.3.2.1.1 Gnrateur de PN-Code ......................................................................... 103 III.3.2.1.2 Encodeur................................................................................................. 105 III.3.2.1.3 Fonction Multiplieur ........................................................................ 105 III.3.2.1.4 Rsultats de simulation........................................................................... 106 III.3.2.2 Description du rcepteur ............................................................................ 107 III.3.2.2.1 Rcepteur sans synchronisation ............................................................. 107 III.3.2.2.1.1 Dstalement en rception .............................................................. 108 III.3.2.2.1.2 Test de donne................................................................................. 109 III.3.2.2.1.3 Dcodeur diffrentiel....................................................................... 110 III.3.2.2.1.4 Rsultats de simulations .................................................................. 111 III.3.2.2.2 Synchronisation...................................................................................... 112 III.3.2.2.3 Lorgane de poursuite (DLL) ................................................................. 112 III.3.2.2.3.1 Le Discriminateur............................................................................ 113 III.3.2.2.3.2 Le Filtre numrique......................................................................... 115 III.3.2.2.3.3 Loscillateur numrique control en tension................................... 119 III.3.2.2.3.4 Le Gnrateur de PN-Code du rcepteur ........................................ 122 III.3.2.2.4 Synchronisation N branches ................................................................ 123 III.3.2.2.4.1 Lorgane de slection ...................................................................... 124 III.3.2.2.4.2 Le gnrateur de PN-Code adapt la synchronisation N branches. 126 III.3.2.2.4.3 Rsultats de simulation du rcepteur en bande de base .................. 127 III.3.3 Description des parties analogiques ................................................................... 128 III.3.3.1 Description des parties radio-frquences ................................................... 128 III.3.3.1.1 La modulation et dmodulation BSPK................................................... 128 III.3.3.1.1.1 La modulation BPSK ...................................................................... 128 III.3.3.1.1.2 La dmodulation BPSK................................................................... 129 III.3.3.1.2 Les Filtres analogiques........................................................................... 130 III.3.3.1.2.1 Choix des paramtres des filtres analogiques ................................. 130 III.3.3.1.2.2 Description des filtres implants en VHDL-AMS .......................... 130 III.3.3.2 Le canal AWGN (Additif White Gaussian Noise)..................................... 130 III.3.3.2.1 Gnration dun bruit blanc Gaussien.................................................... 131 III.3.3.2.2 Le dlai dans le canal ............................................................................. 132 III.3.3.2.3 Implantation dun rapport signal sur bruit paramtrable........................ 133 III.3.4 Description du Convertisseur Analogique / Numrique .................................... 135 III.4 Rsultats de simulation............................................................................................... 135 III.4.1 Simulation de la fonction dautocorrlation....................................................... 135 III.4.2 Simulation de la chane complte Emetteur/Rcepteur...................................... 136 IV IV.1 IV.2 CHAPITRE 4 : Etude et dveloppement de la maquette Emetteur-Rcepteur . 139 Introduction ................................................................................................................ 141 Cible dimplantation................................................................................................... 141

-IV-

SOMMAIRE

IV.2.1 Description du FPGA ......................................................................................... 142 IV.2.2 Le logiciel de commande Quartus II .................................................................. 143 IV.2.3 Etapes dimplantation......................................................................................... 143 IV.3 Les modules priphriques spcifiques dvelopps................................................... 144 IV.3.1 Paramtrage du canal ......................................................................................... 145 IV.3.1.1 Le retard dans le canal................................................................................ 145 IV.3.1.2 Gnration du bruit dans le canal............................................................... 147 IV.3.2 Paramtrage du dbit.......................................................................................... 148 IV.3.3 Module de calcul de TEB................................................................................... 148 IV.3.4 Interface logicielle.............................................................................................. 149 IV.4 Rsultats de synthse.................................................................................................. 150 IV.5 Evaluation des performances mesures...................................................................... 151 IV.5.1 Test en milieu non bruit.................................................................................... 152 IV.5.1.1 Emetteur-rcepteur Simple Branche .......................................................... 152 IV.5.1.1.1 Mesures pour diffrents longueurs de codes.......................................... 152 IV.5.1.1.2 Mesures pour diffrents dlais ............................................................... 152 IV.5.1.2 Emetteur-rcepteur avec synchronisation N branches ............................... 153 IV.5.2 Mesures en milieu bruit .................................................................................... 155 IV.6 Bilan ........................................................................................................................... 156 CONCLUSION ET PERSPECTIVES ............................................................................... 159 REFERENCES ..................................................................................................................... 163 ANNEXES............................................................................................................................. 170 ANNEXES 1 : Fichier Test Bench......................................................................................... 172 ANNEXE 2. Fonctions numriques de lmetteur.......................... Erreur ! Signet non dfini. ANNEXES 3 . Fonctions transmission .................................................................................. 185 ANNEXE.4. Fonctions du rcepteur...................................................................................... 189 GLOSSAIRE......................................................................................................................... 211

-V-

SOMMAIRE

Listes des figures


Figure 0. 1 Exemple des besoins en communication sans fil en milieu clos.............................. 3 Figure I. 1. Evolution des bnfices dune entreprise en fonction de lvolution dans le temps .................................................................................................................................................. 10 Figure I. 2. Evolution et prvision de la complexit en terme de conception et de technologie, selon le consortium de fabrication de puces SEMATECH [SEMAT] ...................................... 11 Figure I. 3. Cot total de conception pour une mthodologie RTL [ITRS03]. ........................ 11 Figure I. 4. Flot de conception dun circuit intgr classique................................................. 12 Figure I. 5. Cycle de conception en V. ..................................................................................... 14 Figure I. 6. Effet de prototypage sur la conception dun systme monopuce. ......................... 16 Figure I. 7. Reprsentation des changements de paradigmes avec la complexit des composants [BORE99]............................................................................................................. 18 Figure I. 8. Impact des technologies de conception sur les cots de production. ................... 19 Figure I. 9. Approche du CODESIGN pour la fabrication dun prototype. ............................ 20 Figure I. 10. Principe de larchitecture dun circuit FPGA [MLYN01].................................. 22 Figure I. 11. Intgration dune carte lectronique (exemple de fonction de carte mre)........ 23 Figure I. 12. Description gnrique dun systme embarqu .................................................. 25 Figure I. 13. Description du passage des modles de Simulink en modle VHDL. ................. 27 Figure I. 14. Description de la mthodologie de conception N1 : m1 ................................... 33 Figure I. 15. Description de la mthodologie de conception N2 : m2 ................................... 34 Figure II. 1. Reprsentation schmatique dun systme multi-capteurs pour un environnement clos ........................................................................................................................................... 39 Figure II. 2. Principaux lments dune chane de transmission numrique. ......................... 45 Figure II. 3. Reprsentation des codes sources selon leur densit spectrale........................... 45 Figure II. 4. Exemple de valeurs de taux derreurs par bit. .................................................... 47 Figure II. 5. Modle du canal AWGN ...................................................................................... 49 Figure II. 6. Reprsentation dune distribution gaussienne..................................................... 50 Figure II. 7. Reprsentation du principe du canal multi-trajets .............................................. 51 Figure II. 8 .Reprsentation temps frquence du FDMA....................................................... 52 Figure II. 9. Reprsentation temps frquence du TDMA ....................................................... 53 Figure II. 10. Reprsentation temps / frquence du CDMA..................................................... 53 Figure II. 11. Spectre du signal tal en FH-SS. ..................................................................... 55 Figure II. 12. Spectre du signal tal en DS-SS....................................................................... 55 Figure II. 13. Reprsentation schmatique des principales fonctions ..................................... 56 Figure II. 14. Exemple dun codage par talement de spectre par squence directe.............. 57 Figure II. 15. Fonction d'auto corrlation pour N=15 (Ts=375ns, Tc=25ns). ....................... 58 Figure II. 16. Principe de ltalement de spectre lmission. ............................................... 58 Figure II. 17. Densit spectrale de puissance du signal de donne et du signal de donne tal (N=3)........................................................................................................................................ 60 Figure II. 18. Principe de la dcorrlation la rception....................................................... 60 Figure II. 19. Schma de principe global du systme Emetteur/Rcepteur ............................. 62 Figure II. 20. Principe des fonctions modliser.................................................................... 63 Figure II. 21. Gnrateur de squence reboucl de type Galois. ............................................ 65 Figure II. 22.Gnrateur Galois avec les modules de configuration....................................... 66 Figure II. 23. Exemple dun modle de gnrateur de Galois................................................. 67 Figure II. 24. Modle de lmetteur avec le corrlateur.......................................................... 68 Figure II. 25. Principales formes dondes de lmetteur avec le corrlateur.......................... 69 -VI-

SOMMAIRE

Figure II. 26. Schma de principe pour la corrlation numrique en rception. .................... 69 Figure II. 27. Principales formes dondes pour le corrlateur au niveau du rcepteur.......... 70 Figure II. 28. Schma de principe de lorgane Acquisition/ poursuite .............................. 71 Figure II. 29. Organigramme des diffrentes possibilits dacquisition. ................................ 71 Figure II. 30. Synchronisation par corrlation........................................................................ 72 Figure II. 31. Synchronisation par filtrage adapt. ................................................................. 73 Figure II. 32. Reprsentation schmatique de lorgane de dcision. ...................................... 74 Figure II. 33. Principe dun dtecteur de vraisemblance. ....................................................... 75 Figure II. 34. Principe dune dtection par maximum de vraisemblance avec corrlateur. ... 75 Figure II. 35. Synchronisation SERIE simple branche. ........................................................... 76 Figure II. 36. Synchronisation SERIE N branches. ................................................................. 76 Figure II. 37. Principe de la synchronisation RASE................................................................ 77 Figure II. 38. Schma de principe dune boucle de poursuite. ................................................ 78 Figure II. 39. Schma de principe de la DLL cohrente.......................................................... 79 Figure II. 40. Schma de principe dune DLL non cohrente.................................................. 80 Figure II. 41. Schma de principe de la TDL........................................................................... 81 Figure II. 42. Modle de la synchronisation SERIE. ............................................................... 84 Figure II. 43. Signaux en sortie des corrlateurs et signal de contrle................................... 85 Figure II. 44. Schma fonctionnel de la structure RASE. ........................................................ 85 Figure II. 45. Sortie du corrlateur pour un rapport SNR=-2,9 dB et un seuil de 1,5V.......... 86 Figure II. 46. Comparaison du gain en traitement pour les structures dacquisition SERIE et RASE......................................................................................................................................... 87 Figure II. 47. Mesure du temps dacquisition pour les 2 structures dacquisition.................. 88 Figure III. 1. Lorganisation dun modle VHDL.................................................................... 95 Figure III. 2. Structure dun fichier VHDL.............................................................................. 97 Figure III. 3. Illustration de la quantit de branche pour le domaine lectrique.................. 100 Figure III. 4. Synoptique du modle de lmetteur/ rcepteur talement de spectre. ......... 101 Figure III. 5. Synoptique de codage du systme metteur/rcepteur en VHDL-AMS............ 102 Figure III. 6. Schma dimplantation de lmetteur............................................................... 103 Figure III. 7. Schma de principe du gnrateur de codes alatoires ................................... 104 Figure III. 8. Organigramme du codage du gnrateur de PN-Code.................................... 104 Figure III. 9. Organigramme pour la fonction Encodeur diffrentiel ................................... 105 Figure III. 10. Rsultats de simulation de lorgane Emetteur ............................................... 106 Figure III. 11. Schma de limplantation du rcepteur simple branche. ............................... 107 Figure III. 12. Schma de lintgrateur/bloqueur.................................................................. 108 Figure III. 13. Organigramme de la fonction intgration/Blocage. ...................................... 109 Figure III. 14. Organigramme de la fonction test donne. .................................................... 110 Figure III. 15. Organigramme du dcodeur diffrentiel........................................................ 110 Figure III. 16. Rsultats de simulation sous le logiciel ModelSim. ..................................... 111 Figure III. 17. Synoptique de la fonction Synchronisation simple (une branche). ................ 112 Figure III. 18. Synoptique de lorgane de poursuite.............................................................. 113 Figure III. 19. Simulation des principaux signaux de lorgane de poursuite sous ModelSim. ................................................................................................................................................ 114 Figure III. 20. Dfinition dun filtrage numrique................................................................. 115 Figure III. 21. Structure du filtre de boucle numrique......................................................... 117 Figure III. 22. (a).Rponse impulsionnelle h(t) ..................................................................... 117 Figure III. 23. Processus pour le filtre numrique de la boucle verrouillage de dlai. ..... 118 Figure III. 24. Simulation dun filtre numrique RII. ............................................................ 118 Figure III. 25. Schma de principe pour loscillateur numrique contrl........................... 119

-VII-

SOMMAIRE

Figure III. 26. Evolution du registre du NCO pour deux valeurs dentre, dans le cas dun registre de 4 bits..................................................................................................................... 120 Figure III. 27. Reprsentation du bit de poids fort pour deux cas du mot W......................... 120 Figure III. 28. Organigramme de la fonction NCO. .............................................................. 121 Figure III. 29. Simulation de lorgane NCO en langage VHDL............................................ 122 Figure III. 30. Structure du gnrateur de PN-Code de rcepteur........................................ 122 Figure III. 31. Reprsentation de la fonction dautocorrlation pour chaque branche de synchronisation (Cas N=7) dcale dun temps chip. ........................................................... 123 Figure III. 32. Structure du rcepteur pour une synchronisation comptant N branches....... 124 Figure III. 33. Description du fonctionnement de lorgane slection.................................... 125 Figure III. 34. Simulation de lorgane dphaseur et du nouveau gnrateur de PN-Code... 126 Figure III. 35. Organigramme du gnrateur de PN-Code pour une synchronisation N branches. ................................................................................................................................ 126 Figure III. 36. Simulation du rcepteur dans le cas dune synchronisation 15 branches. .... 127 Figure III. 37. Schma global des tages radio-frquences pour lmission et la rception. 128 Figure III. 38. Organigrammes de fonctions composant la modulation BPSK. .................... 128 Figure III. 39. Rsultats de simulation du modulateur BPSK................................................ 129 Figure III. 40. Dmodulateur BPSK utilis la rception. ................................................... 129 Figure III. 41. Rsultats de simulation en sortie du dmodulateur BPSK. ............................ 129 Figure III. 42. Description fonctionnelle du module du canal AWGN. ................................. 131 Figure III. 43. Organigramme de la gnration dun bruit blanc gaussien. ......................... 132 Figure III. 44. Densit de probabilit laide du modle VHDL-AMS et du modle mathmatique sous MATLAB. ................................................................................................ 132 Figure III. 45. Structure interne du canal AWGN paramtrable........................................... 133 Figure III. 46. Simulation des diffrents signaux du module CANAL AWGN . ................ 134 Figure III. 47. Reprsentation du bruit gaussien avec diffrents niveaux de bruits. ............. 134 Figure III. 48. Fonction dautocorrlation thorique et simule pour N=15........................ 136 Figure III. 49. Rsultats de simulation des principaux signaux de lmetteur/rcepteur. ..... 137 Figure IV. 1. Carte de dveloppement NIOS EXCALIBUR. .................................................. 142 Figure IV. 2. Mthodologie pour un FPGA de la famille ALTERA ....................................... 143 Figure IV. 3. Synoptique du systme de tests du FPGA......................................................... 144 Figure IV. 4 : Reprsentation des diffrents dlais commands dans le canal. .................... 145 Figure IV. 5 : Schma du bloc retard_canal.......................................................................... 146 Figure IV. 6: Description du composant altshift (a) et circuit associ(b) (Depth =8,with=0) ................................................................................................................................................ 146 Figure IV. 7 : Chronogramme des signaux metteur/rcepteur avec retard programmable 147 Figure IV. 8. Circuit analogique ralisant la fonction bruit.................................................. 148 Figure IV. 9. Capture dcran de linterface graphique de commande FPGA. .................... 149 Figure IV. 10. Occupation en nombres de cellulles des principales fonctions de lmetteur (a) et du rcepteur (b). ................................................................................................................. 151 Figure IV. 11. Chronogrammes mesurs pour diffrentes longueurs de code N=7,N=15 et N= 31...................................................................................................................................... 152 Figure IV. 12. Chronogramme systme corrl dans le cas sel =11. .................................... 152 Figure IV. 13. Chronogramme systme non corrl.............................................................. 153 Figure IV. 14. Reprsentation du temps daccrochage(TA) et de la latence (TL). ................. 153 Figure IV. 15. Chronogramme des signaux de synchronisation (retard canal seul)............. 154 Figure IV. 16. Chronogramme du mot k_out pour un canal retard de 8Tc. ........................ 154 Figure IV. 17. Visualisation des effets dun niveau de bruit de 50mV en sortie du canal..... 155 Figure IV. 18. Chronogramme du systme avec une tension de bruit de 1V. ........................ 156

-VIII-

SOMMAIRE

Figure IV. 19. Mesure de TEB du rcepteur simple implant sur le FPGA. ......................... 156 Figure 0. 2 . Architecture en couches du modle OSI........................................................... 162

-IX-

SOMMAIRE

-X-

INTRODUCTION GENERALE

INTRODUCTION GENERALE

-1-

INTRODUCTION GENERALE

-2-

INTRODUCTION GENERALE

A lheure actuelle, le march des composants lectroniques est de plus en plus complexe. En effet, les systmes lectroniques peuvent comprendre au sein dune mme puce aussi bien des technologies numriques et analogiques exigeant des arbitrages matriellogiciel que des fonctions mcaniques, optiques ou biochimiques. Les concepteurs daujourdhui doivent alors grer des systmes qui ne sont plus exclusivement lectroniques, mais pluridisciplinaires. Les dveloppeurs doivent donc concevoir des circuits htrognes (analogique-numrique, multiples domaines dapplications, matriel/logiciel) qui demande un ensemble de comptences difficiles runir au sein dune mme quipe de concepteurs. A ces difficults de conception sajouteront les contraintes toujours plus fortes du march actuel, qui poussent rduire le temps de conception et de mise sur le march. Ces constations impliquent la mise en uvre de nouvelles technologies de conception permettant de fiabiliser et de diminuer le cycle de conception. Ds lors, industriels et laboratoires de recherche ont dcid de mener des recherches conjointes, qui ont vu lmergence de plateformes de prototypage virtuel. Dans tous les domaines de lindustrie : aronautique, automobile, lectronique grand public, la prise en compte des critres de conception toujours plus nombreux impose de multiplier les angles de vision dun produit. Les prix de conception de prototype, jusqualors rels, sont en effet considrables. Ds lors, les avantages du prototype virtuel sont vidents : les performances des simulations mixtes numriqueanalogique et des outils graphiques permettent de produire un prototype virtuel dans des dlais plus courts, et un cot plus faible que celui du prototype rel. Paralllement, lvolution de llectronique numrique a permis ces dernires annes une expansion rapide des tlcommunications sans fil dans le domaine spatial ou dans la tlphonie mobile. Dernirement, les besoins en systmes fonctionnant dans les espaces clos ont beaucoup progress (cf. Figure 0.1) ; la multiplication des systmes lectroniques au sein de lhabitat ou du vhicule automobile par exemple ont ncessit le dveloppement de systmes de communication adapts pour relier les calculateurs, les capteurs et les actionneurs rpartis dans un espace restreint. Ces systmes permettent de limiter les cblages et par consquent daugmenter la souplesse dutilisation.
Besoins et applications

Habitat

Automobile

Mdecine

Dveloppement domotique Tlphone Centrale dalarme Industrie

Communication vers Internet Connaissance en temps rel de paramtres (pression des pneus , temprature moteur)

Soins de premire urgence Surveillance domicile

Prototypage virtuel Figure 0. 1 Exemple des besoins en communication sans fil en milieu clos.

Les travaux prsents dans ce mmoire sinscrivent dans la volont de dvelopper un prototype mixte de communication sans fil. Son rle est de surveiller, administrer et commander un espace clos bas sur un systme multicapteurs. Le systme de communication sera donc capable de transmettre aussi bien des donnes faibles dbits (infrieurs quelques -3-

INTRODUCTION GENERALE

kbit/s) de type capteur de temprature, de prsence, que des donnes ncessitant de forts dbits dans le cas dune transmission de voix ou de donnes vido. La technique de communication qui a t retenue est celle par talement de spectre par squence directe (DSSS) dont les proprits apportent certains avantages pour un environnement clos. Des travaux antrieurs [BOUR00] [MELE01] ont permis, laide du logiciel de simulation comportementale SABER de modliser le systme communicant. Une tude du modle en environnement idal a valid les diffrentes fonctions du systme mixte. Par la suite, des travaux complmentaires ont permis une implantation ASIC des fonctions dtalement et de dstalement seules. Les travaux prsents dans ce mmoire constituent une continuit directe des travaux prcdents. Notre souci est de rpondre aux besoins actuels de la conception systme par ordinateur, que sont loptimisation, et la fiabilisation du produit au niveau de la conception assiste par ordinateur. Dans ce cadre, notre dmarche de dveloppement dans cette thse repose sur une plateforme de prototypage virtuel utilisant un langage de haut niveau, permettant de dcrire la conception de la totalit des circuits mixtes analogique-numrique tant en mission quen rception. Pour cela, nous avons ax nos recherches sur la description des fonctions analogiques numriques en vue dune intgration sur un circuit programmable. Une premire partie de ce mmoire prsente les enjeux dans le milieu industriel de la conception. Nous dcrirons tout dabord les mthodologies classiques de dveloppement et les diffrentes techniques de vrification en dtaillant plus particulirement celle par prototypage virtuel. Ces mthodes ne correspondant plus au march, nous dfinirons les mthodologies de conception actuelles. Aprs avoir dress ltat de la conception systme, nous listerons les cibles matrielles de conception. Nous confronterons deux types de cibles en terme dapplication et darchitecture, pour retenir celle qui correspond le mieux la ralisation dun prototype. Nous dfinirons alors loutil logiciel de conception adquat pour un systme mixte. La seconde partie de ce mmoire prsente le cahier des charges du systme multicapteurs. Aprs une tude sur les systmes de communication existants, nous comparons les caractristiques techniques dune chane de communication numrique afin de justifier les solutions de modulations et de codage retenues pour la ralisation de notre systme. Nous accorderons un intrt particulier la mthode daccs au canal. Nous serons donc en mesure de proposer un schma fonctionnel du modle metteur/rcepteur. Une tude complmentaire fera tat de diverses techniques de synchronisation et poursuite. Plus particulirement, nous comparerons diffrentes architectures de synchronisation et poursuite en environnement bruit et nous en dfinirons leurs performances. Aprs avoir tabli larchitecture des diffrents organes de notre systme de communication metteur/rcepteur, les tages numriques et analogiques sont prsents dans la troisime partie de ce mmoire. Pour cela, nous aurons dfinir le langage de haut niveau HDL (High Description Language) pour le codage des fonctions numriques et analogiques. A partir de ce langage, nous prsenterons les diffrents fonctions numriques et analogiques mises en jeu tant au niveau de lmetteur que du rcepteur : encodage, gnrateur de PNCode, fonctions talement/dstalement, organe de poursuite, boucle verrouillage de dlai, canal, modulation/dmodulation. Les simulations fonctionnelles nous permettront de choisir la topologie des tages numriques et analogiques, et de fixer larchitecture finale de notre modle. Disposant alors des fichiers sources, la dernire partie de ce mmoire portera sur la ralisation dune maquette metteur/rcepteur en bande de base. Nous dfinirons tout dabord la cible de conception choisie et la procdure de conception pour un circuit FPGA. Nous -4-

INTRODUCTION GENERALE

prsenterons le synoptique de notre platine de tests et dvelopperons plus particulirement les modules spcifiques associs. Aprs avoir indiqu les rsultats de synthse, nous valuerons les performances en milieu idal (non bruit) ainsi quen milieu bruit. Nous mesurerons plus particulirement la latence de notre circuit en fonction des squences du code dtalement et le taux derreur sur le bit associ.

-5-

CHAPITRE I : Problmatique de la conception systme

-6-

CHAPITRE I : Problmatique de la conception systme

CHAPITRE I : Problmatique de la conception systme

Rsum
Ce chapitre contient un tat de lart de la conception systme et les solutions techniques actuelles. Pour comprendre la problmatique de conception systme, nous prsentons dans ce chapitre les mthodologies de conception actuelles et le choix de loutil de conception.

I.1 I.1.1 I.1.2 I.1.3 I.2 I.2.1 I.2.2 I.3 I.3.1 I.3.2 I.3.3 I.4

Etat de lart de la conception systme....................................................................................................... 9 La conception systme dans le contexte industriel............................................................................... 9 Le prototypage virtuel........................................................................................................................ 16 Les mthodologies de conception actuelles ....................................................................................... 17 Solution technologiques actuelles........................................................................................................... 20 Les cibles de conception existantes [ROB02] .................................................................................... 21 Le march actuel des composants...................................................................................................... 23 Comparaison des langages et outils de conception ................................................................................. 25 Introduction ....................................................................................................................................... 25 Les outils issus du milieu logiciel....................................................................................................... 26 Les outils issus du milieu CAO........................................................................................................... 27 Bilan ....................................................................................................................................................... 35

-7-

CHAPITRE I : Problmatique de la conception systme

-8-

CHAPITRE I : Problmatique de la conception systme

I.1 Etat de lart de la conception systme


Dans ce premier chapitre, nous aborderons les diffrentes notions de la conception systme. Pour cela nous avons articul notre chapitre sur trois thmes qui sont : la problmatique de la conception systme, la technologie et les outils de conception. Ainsi une premire partie sattachera mettre en avant les enjeux industriels actuels pour la conception de systmes lectroniques. Ces systmes devenant de plus en plus complexes, nous verrons que de nouvelles mthodologies de conception ont t dveloppes pour diminuer le cycle de conception habituel. Nous dcrirons une des solutions, sur laquelle se sont focaliss les industriels, qui est le prototypage. La deuxime partie sera ddie une tude sur les cibles de conception existantes que nous complterons par une prospection de ces composants issus des diffrents constructeurs. Une dernire partie prsentera une tude sur les outils de conception permettant de justifier lutilisation dun langage pluridisciplinaire. Nous dvelopperons ensuite deux mthodologies de conception pour des systmes mixtes, lune est base sur un langage propritaire et lautre sur un langage issu de normalisation. Leur comparaison permettra de dfinir le langage le plus adapt notre systme de communication.

I.1.1La conception systme dans le contexte industriel


I.1.1.1 Enjeux et constatations
Sans nous en rendre compte, nous utilisons actuellement tous de nombreux systmes embarqus. En effet de nos jours, ces systmes lectroniques ont t introduits dans de nombreux domaines dapplications tels que lautomobile, lavionique, les systmes multimdia, les appareils lectromnagers ou bien des terminaux de communication sans fil. Les concepteurs doivent donc grer les dveloppements de systmes lectroniques embarqus multi-disciplinaires et multi-processeurs. Ainsi, depuis quelques annes, le march des composants lectroniques est orient vers des produits grand public qui combinent aussi bien la tlphonie que le multimdia : Tlphone mobile avec appareil photos, PDA (Personal Digital Assistants) avec systmes GPS (Global Positioning System), jeux ou lecteurs vidos . Pour cet exemple les industriels devront bientt tre capable de runir au sein dun unique objet aussi bien les fonctions de tlphone, de navigateur internet, dappareil photo numrique, dcran couleur et de lecteurs multimdia. La complexit ne cesse daugmenter pour la conception de ce genre de produit. La solution pour la combinaison de ces diffrentes fonctions se trouve dans un premier temps dans la technologie du transistor qui est la fondation du circuit. En effet, comme nous pouvons le constater sur le Tableau I. 1, lvolution de la longueur de canal dun transistor en technologie CMOS na cess de diminuer depuis ces 8 dernires annes [CHAN99]. 1997
Technologie du process Capacit dintgration sur silicium Temps de conception Applications typiques Cot de fabrication($)

1998
0,25m
1M-2M portes logiques 12 -10 mois PDA sans Fil 2,0 -3,0 milliards

1999
0,18m
4M -6M portes logiques 10- 8 mois Application internet 3,0 -4,0 milliards

2002
0,13m
10M -25M portes logiques 8-6 mois Contrleur interconnect et intelligent > 4,0 milliards

0,35m
200K -500K portes logiques 18-12 mois Tlphone portable, PDA, DVD 1,5- 2,0 milliards

Tableau I. 1.Evolution de la technologie dintgration sur Silicium. [CHAN99]

-9-

CHAPITRE I : Problmatique de la conception systme

Bien que la limite thorique pour la longueur de canal aurait t estime 0,5m dans les annes 80, nous voyons dans le Tableau I. 1 que cette prvision a t largement sous-estime. La complexit des applications a donc engendr une augmentation de la capacit dintgration des transistors sur une puce par une volution de la technologie autorisant une diminution des dimensions de canal. Lautre difficult auquelle doivent faire face actuellement les industriels cest la concordance du produit de nouvelles technologies avec le march conomique. La notion de temps de mise sur le march (Time to market) est devenue une contrainte importante lors de la conception dun nouveau produit. Cest pourquoi il faut imprativement lheure actuelle rduire au maximum ce temps de mise sur le march. Dure de vie Bnfices Systme produit en accord avec le march Systme produit en dcalage

Temps de mise sur le march (Time to Market)

Temps

Figure I. 1. Evolution des bnfices dune entreprise en fonction de lvolution dans le temps

Lexigence de diminuer ce temps de mise sur le march a t rpercute sur le temps de conception qui, malgr laugmentation de la technologie, est de plus en plus court. En effet ces temps de conception ont diminu de moiti sur ces 8 dernires annes alors que la capacit dintgration a t multiplie par 50. Au vu des prvisions de NTRS (National Technology Roadmap for Semiconductors) [NTRS], nous aurions thoriquement atteint de nos jours des centaines de millions de transistors par puce. Cependant, lheure actuelle ce potentiel dintgration ne peut tre exploit. En effet, il existe un foss entre la conception (la complexit dun projet en terme du nombre de transistor) et la technologie (complexit de ralisation en terme de capacit technologique dintgration). Cette diffrence entre le nombre de portes concevoir et le nombre de portes conues est un phnomne identifi auprs des concepteurs comme tant le Design Productivity Gap ou le Design Gap .

-10-

CHAPITRE I : Problmatique de la conception systme

10000 Nombre de Transistor par puce en Millions

1000

100

10

0,1

0,01

Figure I. 2. Evolution et prvision de la complexit en terme de conception et de technologie, selon le consortium de fabrication de puces SEMATECH [SEMA]

Comme le montre la Figure I. 2, partir des annes 90 la technologie a rattrap, puis dpass, la conception et ne cesse ds lors daugmenter. Toutefois, cette rapide volution de la technologie et de la complexit du circuit cre aussi un cot de fabrication (Tableau I. 1) croissant pour des mthodes classiques de conception.
$100 000 000

$10 000 000 Cot total de conception

$1 000 000

$100 000
"Mthodologie RTL"

$10 000 1985

Figure I. 3. Cot total de conception pour une mthodologie RTL [ITRS03].

19 81 19 83 19 85 19 87 19 89 19 91 19 93 19 95 19 97 19 99 20 01 20 03 20 05 20 07 20 09
Technologie Productivit

Ecart entre la conception et la technologie

1990

1995

2000 Annes

2005

2010

2015

2020

-11-

CHAPITRE I : Problmatique de la conception systme

La mthodologie de conception la plus dveloppe au dbut des annes 90 est une mthodologie de type RTL (Register Transfer Language) permettant la description dun systme comme un ensemble de registres et de relations logiques. Nous voyons (Figure I. 3) quen restant avec une conception de ce type, le cot de conception sera de plus en plus lev puisque la technologie ne cesse dvoluer. Pour tre en concordance avec les applications du march et les temps de plus en plus rduits il est donc ncessaire de dvelopper de nouvelles mthodologies de conception. Dans le paragraphe suivant, nous rappelons le cycle de conception dun produit industriel connu sous le nom de Cycle de conception en V et la mthodologie de conception traditionnelle dans le cas dun dveloppement de circuit intgr.

I.1.1.2

Mthodologie classique du dveloppement

I.1.1.2.1 Flot de conception traditionnelle


La conception dun circuit est le plus souvent ralise au niveau structurel ou RTL. En effet, les outils de CAO (Conception Assist par Ordinateur) ont leur point dentre ce niveau pour implmenter la partie matrielle. Des mthodologies de type RTL ont donc t dveloppes pour que la ralisation de puces de faible complexit soit la plus fiable possible avec un temps de conception rduit. La Figure I. 4 [MILP01] permet de dcrire pour le niveau RTL, le flot de conception traditionnelle. Il sagit dune mthodologie classique dite de haut en bas (ou Top-Down) pour laquelle les diffrentes tapes sont prsentes sur la figure suivante :

E F G
Figure I. 4. Flot de conception dun circuit intgr classique

Le point de dpart dune conception de circuit intgr classique est le cahier des charges. Il consiste dfinir les spcifications, savoir : les diffrentes fonctionnalits ; par exemple on recherche dans ce descriptif dfinir le gabarit dun filtre numrique.

-12-

CHAPITRE I : Problmatique de la conception systme

ses performances ; pour notre exemple cest la dfinition des diffrents paramtres du filtre numrique choisi. les possibilits dinterfaage. les contraintes lies la puce finale ; par exemple pour respecter la frquence dchantillonnage, il faudra limiter le nombre dinterconnexions. La conception dun circuit intgr classique se droule par les tapes successives suivantes: A. un dveloppement structurel sera cr dfinissant les fonctionnalits du systme. B. une vrification fonctionnelle du code RTL produit est faite. C. la description RTL de lapplication est alors synthtise en un fichier dcrivant linterconnexion des lments aussi connu sous le nom de netlist. D. une vrification temporelle est alors effectue afin de vrifier si les performances souhaites sont bien satisfaites. Lorsque cest le cas, la netlist sert de base afin de raliser la conception physique . E. nous passons ltape suivante (aussi appel Back-end) qui transforme le schma logique de la netlist en un plan de masse physique. F. le placement-routage des cellules est alors effectu. Il permet de placer (gnralement grce un algorithme de routage) le plus judicieusement les cellules pour que le nombre des interconnexions soit optimis. G. Enfin la dernire vrification permet de prendre en compte les paramtres physiques lis la puce. Une fois cette tape de vrification acheve, le layout du circuit est envoy en fonderie pour la ralisation finale. Toutes ces tapes ncessitent la collaboration de plusieurs quipes (au moins deux) de dveloppement. Pour diminuer les cots et les temps de conception de cette mthodologie de type RTL, une solution est de concevoir un prototype avant de lancer la fabrication en srie du produit. Le cycle de conception habituellement utilis en industrie est celui en V. Malgr la complexification des systmes en industrie, ce cycle de conception na pas subi davances majeures [SNAI04].

I.1.1.2.2 Cycle de conception en V


Le cycle de conception en V permet aux diffrents groupes au sein du mme projet dvoluer du besoin au produit suivant le cycle prsent sur la Figure I. 5. Ce cycle se divise en deux branches distinctes : La branche de gauche est communment appele Mthodologie descendante (top down) et a t dcrite dans le cas particulier de la conception dun circuit intgr dans le paragraphe prcdent. La branche analyse gnralise les diffrentes tapes (Figure I. 5) de la mthodologie RTL. A partir dun cahier des charges, une analyse fonctionnelle est effectue qui permet un dcoupage en diffrentes fonctions. Par la suite, ces fonctions donneront lieu des architectures distinctes. Une architecture est la structure fondamentale dun systme (ensemble des fonctions) qui permet de dterminer les constituants, les interfaces et les comportements des sous-fonctions. Une rtroaction entre les architectures et les fonctions est possible pour que les contraintes des fonctions dveloppes soient respectes. Lorsque -13-

CHAPITRE I : Problmatique de la conception systme

larchitecture est dcide, les concepteurs analyseront chaque bloc unitaire (ou sous-fonction) et en dtermineront larchitecture finale pour la conception dun prototype. Besoin Analyse
Cahier des charges Analyses fonctionnelles

Produit Prototypes
Test oprationnel F Test dintgration E systme Test Architecture D Test unitaires

Validation, Certification (3)


Validation systme

(3)
Validation Architecture

A
Vrification fonctionnelle

Conception Architecture

(3)

Conception dtaille (fonction unitaire)

B
Vrification implmentation

Prototype

Figure I. 5. Cycle de conception en V.

Paralllement aux tapes prcdemment prsentes sarticule la branche prototype , dont lobjectif est de sassurer que les prototypes respectent toujours les spcifications. La vrification de ce systme comporte diffrents points de tests montrs sur la Figure I. 5. Les points de tests et de vrification sont les suivants : A. Vrification de la fonctionnalit pendant la phase de conception. B. Vrification de limplmentation de larchitecture. C. Test unitaire. D. Test architecture permettant de vrifier larchitecture du systme. E. Test dintgration systme permettant de vrifier lintgration des composants. F. Test oprationnel permettant de tester le systme dans son environnement avant sa fabrication. Le cot de ces vrifications est trs lev en termes de temps et dinvestissement puisquon estime que 70% du temps de conception [EVAN03] est pass pour la vrification. Il est vident que la vrification du systme doit tre rigoureuse, car une erreur dtecte aprs fabrication entranerait un surcot.

-14-

CHAPITRE I : Problmatique de la conception systme

I.1.1.2.3 Vrification et prototypage


Diffrentes techniques de vrification ayant des stratgies diffrentes existent [SASON04] : La vrification formelle permet de reprsenter les caractristiques du systme pour vrifier certaines proprits. Deux types de vrifications formelles sont possibles : - Soit un dbogage de la spcification permettant de vrifier si la spcification est bien dcrite et si tous les besoins sont bien inclus. - Soit la vrification de limplmentation vrifiant si la spcification est bien implmente. Une des difficults dutilisation de cette technique est quelle nest applicable quaux systmes simples cause de la complexit du processus de vrification. La simulation utilise des modles de calcul sur ordinateur. Cette technique est base sur la description dun modle pour lanalyse des systmes. Cest le moyen le plus employ pour la vrification fonctionnelle. Diffrents types de simulations sont possibles : ils stendent de la simulation comportementale la simulation trs bas niveau (niveau layout). Lmulation emploie des modles physiques qui imitent le comportement du matriel. Lavantage de ce type de technique est sa vitesse dexcution. Toutefois, il est difficile dobserver les signaux internes et donc les erreurs temporelles sont difficilement dtectables. Cest pourquoi cette mthode est gnralement employe aprs plusieurs tapes de simulations. Le prototypage combine lutilisation des diffrents modles. Comme le montre la Figure I. 6, le prototypage permet de diminuer les temps de conception. Lorsquil ny a pas de prototypage (Cas a), il faut attendre la fabrication de la puce pour dvelopper le logiciel et vrifier lintgration logicielle/matrielle. Un prototype permet de diminuer ce temps de conception en pouvant avant la fabrication de la puce dvelopper la partie logicielle et la vrification de lintgration (Cas b). Nous pouvons rduire encore ce temps de conception en utilisant une plateforme reconfigurable (Cas c) et qui subira une lgre modification darchitecture pour chaque nouvelle application.

-15-

CHAPITRE I : Problmatique de la conception systme

Figure I. 6. Effet de prototypage sur la conception dun systme monopuce.

Plusieurs types de prototypage sont rencontrs [SASON04] : Le prototypage virtuel. Le prototypage matriel. Le prototypage mixte. Le prototypage virtuel se fait par simulation de tous les composants du systme. Ces simulations [CLOU02] peuvent combiner diffrents niveaux dabstractions (niveau fonctionnel, niveau architectural, niveau RTL ). Linconvnient de ce type de prototype est sa vitesse car elle nest pas aussi leve que dans le cas dun mulateur par exemple. Le prototypage matriel quant lui utilise les modles physiques des composants pour la ralisation du systme. Limplmentation de ce type de prototype utilise des composants reconfigurables ce qui implique de connatre la description RTL ou en termes de portes logiques de chaque composant. Le prototypage mixte combine aussi bien de la simulation, que de lmulation et de lutilisation de composants rels. Son principal inconvnient est donc linterconnexion entre la partie simulation et la partie mulation. Notre choix pour notre systme sest port sur le prototypage virtuel qui a lavantage dtre flexible et de faible cot.

I.1.2Le prototypage virtuel


Diffrentes raisons peuvent entraner de faire appel au prototypage virtuel et cela peut intervenir diffrents niveaux dabstraction du cycle en V. Les objectifs peuvent tre ltude dune conception dun produit ou de lamlioration du dispositif que ce soit en terme de conception (rduire le cycle ou fiabiliser le circuit) ou en terme de technologie (amlioration des performances techniques du systme). Les tudes commencent naturellement partir des spcifications et dun recensement des dispositifs existants. A partir des spcifications, le -16-

CHAPITRE I : Problmatique de la conception systme

prototype virtuel peut demander plus ou moins de temps selon le niveau dabstraction. Si par exemple, nous sommes un niveau dabstraction comportemental, la modlisation sera rapide dans la mesure o les tages sont reprsents par leur fonction et non par leur description physique. Dans ce cas de niveau dabstraction physique, les temps de conception sont augments puisque le dveloppement intgre la technologie (physique du transistor par exemple). Dans tous les cas, les spcifications devront tre tablies en fonction du produit demand et des dispositifs existants. En effet si la modlisation se fait sur la base de produits existants, les spcifications devront comprendre ses rsultats rels. Par contre, les produits inexistants devront se baser sur les spcifications fonctionnelles. Limplmentation dun prototype virtuel [VALD98] peut se faire par simulation ou cosimulation (simulation avec plusieurs simulateurs). Nous pouvons dans ce type de prototypage faire cohabiter aussi bien des simulations de niveau RTL, que des simulations de niveau fonctionnel. Lavantage est sa flexibilit et son cot puisquil sagit de simulation pouvant introduire des modles de hauts niveaux. Le point faible de ce type de prototypage est quil est difficile de connecter un prototype virtuel avec lenvironnement physique du systme.

I.1.3Les mthodologies de conception actuelles


I.1.3.1 Les changements de paradigmes
La description des gnralits sur le cycle de conception, a permis de montrer que ce cycle prend beaucoup de temps alors quon demande lheure actuelle un temps de conception de plus en plus court. Nous allons donc introduire les nouvelles mthodologies employes. Pour lutter contre lcart grandissant entre la productivit et la technologie, les laboratoires de recherche et les industries sefforcent de mettre en uvre de nouveaux paradigmes. De nos jours, pour rpondre une complexit croissante des fonctions dvelopper, les concepteurs doivent prendre en compte sur un mme circuit des curs microprocesseurs, des mmoires, des fonctions spcifiques et des parties analogiques ou radiofrquences. Cest pourquoi, ces dernires annes les changements de paradigme sont apparus : Synthse haut niveau, apparue dans les annes 95, cette dmarche de conception permet la rutilisation de composants au niveau portes logiques (association de transistors) puis la rutilisation des fonctions (assemblage de portes logiques) associs. Codesign : En 1997, lvolution des mthodologies se porte sur la conception conjointe des parties logicielles et des parties matrielles. Utilisation dIP (Intellectual Property) : le rapprochement des milieux logiciel et matriel a permis dutiliser au niveau du silicium un concept bien connu dans le monde de la conception logicielle savoir la rutilisation de composants prconus aussi nomms proprit intellectuelle . Ce composant virtuel, lorsquil est correctement dfini au niveau de description RTL, permet une intgration plus aise donc un gain de temps de conception. Plateforme o coexiste aussi bien du matriel que du logiciel.

-17-

CHAPITRE I : Problmatique de la conception systme

La Figure I. 7 reprsente lvolution de la capacit dintgration des circuits au cours de ces dernires annes, et montre linfluence de ces nouveaux paradigmes de conception sur la complexit grandissante.

Figure I. 7. Reprsentation des changements de paradigmes avec la complexit des composants [BORE99]

I.1.3.2

Evolution des cots [ITRS03]

Paralllement aux quatre volutions majeures (Synthse haut niveau, Codesign, IP-Based et Plateform-based) dcrites dans le paragraphe prcdent, les industriels se sont efforcs de rduire lvolution des cots (Figure I. 8.a) de production associe laugmentation de la complexit. Pour cela, nous avons rpertori sept actions visant modrer les cots et reportes leur influence sur la Figure I. 8.b.

-18-

CHAPITRE I : Problmatique de la conception systme

(a)

(b)

Figure I. 8. Impact des technologies de conception sur les cots de production.

Ces innovations [KAHN02] sont : Le placement routage sur le site de dveloppement du prototype . Opration auparavant effectue par le fondeur, les dlais pouvaient atteindre une semaine. Depuis 1993, le placement routage est fait sur site avec des dlais avoisinant dsormais quelques heures. Ceci se traduit par une amlioration de lordre de 40 % de la productivit et 5 K portes par an et par concepteur. Lingnierie . Cette mthodologie a permis de montrer quau lieu de diviser les travaux de conception en quipe dexperts (simulation et synthse), une seule personne devra suivre la conception du circuit. Cette dcouverte a permis de raliser une amlioration de productivit de 63% en 1995 soit 9 K portes par an et par concepteur. Small block reuse et large block reuse . Ces techniques permettent la rutilisation des blocs matriels et autorisent les premires grosses avances de la productivit, atteignant + 340% dans le meilleur des cas soit 56K portes par an et par concepteur. IC implementation tool set est une automatisation du flot de conception RTL, par lapparition de nouveau outil logiciel, qui a permis une amlioration de 63% pour la productivit. Intelligent Test Bench est une automatisation du flot de vrifications fonctionnelles (vu dans le cycle en V) qui inclut naturellement la vrification matrielle IC implementation tool . Cette technique a permis une augmentation de 37,5% pour atteindre 91K portes par an et concepteur. Electronic System level methodology . Lvolution de la complexit fait apparatre dans les annes 2000, la ncessit de faire cohabiter aussi bien la partie matrielle que la partie logicielle. Nous tendons alors vers une description simultane fonctionnelle/ architecturale. Very large Block Reuse. Ce paradigme ltat naissant est lvolution logique des fonctionnalits Small block reuse et large block reuse , permettant de rutiliser en totalit des macro-fonctions. Cependant, des problmes de compatibilit se posent principalement dun point de vue logiciel.

-19-

CHAPITRE I : Problmatique de la conception systme

I.1.3.3

Le prototypage virtuel par le CODESIGN

Comme nous lavons vu prcdemment, le codesign a t lun des paradigmes cl permettant de lutter contre linflation des possibilits de production devant la capacit dintgration (Design Gap (Figure I. 2)). Le codesign autorise une conception simultane des environnements logiciel et matriel et ainsi de diminuer le temps de conception [CLOU01]. Les mthodologies proposes pour le codesign se diffrencient en fonction des choix stratgiques : le style de spcifications, le modle de larchitecture cible et les tapes de synthse. Diffrents modles de description sont possibles pour le codesign [HAMO05] [VERM02] : soit un langage de description matrielle (VHDL ou Verilog), soit de logiciel (C ou assembleur) soit dans un langage de description au niveau systme (SDL, StateCharts, CSP, SpecCharts, etc). La conception conjointe matrielle ou logicielle peut tre vue de la manire suivante:

Figure I. 9. Approche du CODESIGN pour la fabrication dun prototype.

Cette approche typique du codesign commence par dcrire partir dun langage de spcifications le niveau systme afin de raliser le dcoupage logiciel/matriel. La rpartition des environnements tant ralise, une synthse de communication entre ces deux environnements doit tre effectue. Chaque environnement accompli sa propre synthse pour arriver jusqu la conception du prototype. Le dcoupage des parties logicielles et matrielles dpend des outils de co-simulation utiliss et des contraintes (cots de simulation, flexibilit.).

I.2 Solution technologiques actuelles


Les paragraphes prcdents nous ont permis dtablir lvolution de la conception systme, et de montrer les actions menes afin de combler le design gap dfini prcdemment. Lobjet de la partie qui suit est de faire ltat de lart des cibles de ralisation numriques existantes, en essayant de dgager un compromis temps de dveloppement/cot /capacit dintgration idal lors du dveloppement final dun prototype virtuel.

-20-

CHAPITRE I : Problmatique de la conception systme

I.2.1Les cibles de conception existantes [ROBE02]


Diffrentes solutions soffrent au concepteur afin de raliser le circuit numrique final : les circuits dvelopps spcifiquement pour une application (ASICs), les circuits matriciels programmables FPGA et enfin les circuits microprocesseur DSP. Nous allons prsenter brivement chaque type de circuit, afin de dgager un comparatif et les situer en terme de compromis cot/temps de dveloppement/rapidit. Nous terminerons enfin sur une courte tude de march.

I.2.1.1

Les ASICs

Un ASIC (Application-Specific Integrated Circuit) est un circuit intgr application spcifique. Il est class en 2 catgories : Le circuit semi-spcifique (certaines tapes ont t faites avant la conception de fabrication) et le circuit spcifique (toutes les tapes de fabrication seront ralises aprs la conception).

I.2.1.1.1 Les circuits semi-spcifiques ou ASIC pr-diffuss


Avant mme la conception, lutilisateur fixe le nombre de portes et de plots dentre/sortie. Les rseaux de transistors sont alors programms et interconnects par lutilisateur et les dernires tapes de fabrication sont effectues par le fondeur. Ce type de circuit se caractrise par une forte densit dintgration, mais na aucune flexibilit car sa topologie est fixe avant la conception.

I.2.1.1.2 Les circuits spcifiques ou ASIC pr-caractriss


Les ASICs pr-caractriss ont t beaucoup dvelopps dans les annes 90 lors de la phase placement / routage sur site qui a vu lvolution des outils de synthse (cf Chapitre 1-I.1.3.2). Ces circuits sont conus partir de cellules prdfinies dans une bibliothque propre chaque fabricant et chaque technologie. Les concepteurs utilisent des lments de la bibliothque constructeur ce qui permet aux fondeurs dautomatiser ltape finale de synthse logique. Lexistence de ces bibliothques permet un gain de temps consquent grce la notion de rutilisation. De plus, compte tenu des capacits dintgration actuelles, permet de concevoir des systmes sur puces (System On Chip ou SOC). Les ASICs prsentent lavantage dune forte capacit dintgration (jusqu 20 Millions de portes) et une faible consommation par fonction utilise, et un faible cot unitaire. Par contre les cots de dveloppement sont levs, dans la mesure o ils incluent les cots de fabrication : Le cot unitaire du masque qui augmente en fonction de la technologie cible choisie. Le cot de conception li aux quipes de dveloppements et aux logiciels de CAO utiliss. Cest pourquoi le temps de dveloppement est gnralement lev, et la flexibilit quasinulle. Au vu des constats prcdemment cits (temps de dveloppement lev et cot) le projet de prototypage bas sur un ASIC pr-caractris devient de moins en moins rentable.

I.2.1.2

Les FPGA

Les FPGA (Field Programmable Gate Array) font partie de la famille de composants programmables lectriquement. A lorigine bass sur un rseau de matrices de portes lmentaires ET et OU (Program Array Logic ou PAL), ces circuits programmables sont

-21-

CHAPITRE I : Problmatique de la conception systme

devenus au milieu des annes 90 des circuits plus complexes grce lintgration de ressources spcifiques ddies, associes de la mmoire interne et des entres/sorties flexibles [DUTE02][BROW96].
Matrice de connexion Bloc logique programmable programmable Matrice dinterrupteur programmable

Figure I. 10. Principe de larchitecture dun circuit FPGA [MLYN01]

Un FPGA est un circuit dont larchitecture correspond une matrice de portes logiques spares par des rseaux dinterconnexion. Ils existent deux types de FPGA : les non reprogrammables (technologie de type anti-fusible) et les reprogrammables (technologies de type SRAM ou Flash). La programmation de ce type de composant se fait laide dun langage de type matriel (VHDL ou Verilog) sur une platine de programmation. La tendance actuelle pour ces circuits est la possibilit de raliser des systmes sur puce (ou SoC) en utilisant des composants virtuels et de concevoir ainsi des blocs de proprit intellectuelle (Intellectual Property ou IP) qui sont par exemple des fonctions VHDL/Verilog gnriques rutilisables. Le FPGA offre une souplesse de conception grce sa facilit dutilisation et sa facilit de programmation (et reprogrammation). Contrairement un circuit ASIC, pour lequel le concepteur matrise totalement le placement routage au niveau transistor, le FPGA nautorise pas cette opration qui seffectue de manire transparente pour le dveloppeur. Pour une application visant la mise sur le march dune forte qualit des produits, le circuit spcifique est la solution fable cot. Par contre, dans le cas dun dveloppement ponctuel, le FPGA est nettement plus avantageux. Cest pourquoi ce composant est plus adapt pour la mise au point de prototypes et accessible un plus grand nombre dutilisateur que lASIC.

I.2.1.3

Les DSP

Un DSP (Digital Signal Processing) est un type particulier de microprocesseur, quivalent un circuit intgr programmable en langage C ou assembleur. Il comporte essentiellement des units arithmtiques ddies et optimises pour des calculs rapides. Ces fonctions sont destines le rendre particulirement performant dans le domaine du traitement numrique du signal. Comme un microprocesseur classique, un DSP est mis en uvre en lui associant de la mmoire (RAM, ROM) et des priphriques. Un DSP typique a plutt vocation servir dans des systmes de traitements autonomes. Il se prsente donc gnralement sous la forme dun microcontrleur intgrant, selon les marques et les gammes des constructeurs, de la mmoire, des timers, des ports srie synchrones rapides, des contrleurs DMA, des ports dE/S divers. Ces dernires annes, les techniques base de processeurs de traitement du signal ont t largement employes pour la conception dmetteurs-rcepteurs de communication volus, trouvant leur champ dapplication dans la dtection, lgalisation, la dmodulation, les synthtiseurs de frquence.

-22-

CHAPITRE I : Problmatique de la conception systme

I.2.1.4

Les SoCs

Daprs Gartner Dataquest (Socit dtude de march) [GARTWW] un SoC est dfini comme un composant dau moins cent milles portes et comprenant un noyau programmable (processeur ou DSP) et de la mmoire (de type RAM et/ou ROM).

Figure I. 11. Intgration dune carte lectronique (exemple de fonction de carte mre)

Plus concrtement, la tendance actuelle est dintgrer sur une mme puce de silicium aussi bien des fonctions numriques que des fonctions logicielles (processeur, interfaage ). La Figure I. 11 illustre les possibilits dintgration en terme de fonction dune carte mre dun ordinateur personnel sur une seule puce, sur laquelle nous voyons cohabiter le microprocesseur, les mmoires avec les fonctions classiques associes. Le composant virtuel (lautre nom donn au SoC) est souvent commercialis par des socits spcialises qui fournissent les blocs IP pouvant tre sous forme matrielle (masque par exemple) ou sous forme logicielle (modle VHDL). Des prvisions dvolution, de ce type de technologie, faites par lIRTS [IRTS03] prvoient laugmentation du nombre de transistors par un facteur 50. On pourrait atteindre en 2008 le nombre de 500 millions de transistors sur un mme SoC. Les principaux avantages de ce type de composant sont sa capacit dintgration, la conception dune plateforme commune entre le milieu logiciel et le milieu matriel et sa consommation rduite. Cest pourquoi de nombreuses dtudes portent sur la co-simulation et son implmentation en SoCs.

I.2.2 Le march actuel des composants


I.2.2.1 Famille de circuits et applications
Nous terminerons cette tude par une comparaison de ces composants issus des diffrents constructeurs. Les ASICs pr-caractriss ne sont pas prsents dans cette comparaison puisque la technologie et les performances dpendent directement de lapplication. Cette comparaison a pour but de prsenter les produits actuels afin de dresser un tat de lart des performances associes [XILIWW] [ALTEWW] [ACTEWW] [TEXWW] [ANOLWW].

-23-

CHAPITRE I : Problmatique de la conception systme

Mmoire (kB) SRAM

Tension Alimentation

Applications

Technologie

Cellules ou instructions

Frquence dhorloge maximum

FPGA
Virtex 4 (XILINX) 0,9m 450MHz 1,2 V 864 9936 6144 Circuits logiques (Famille 89088 LX) Application SoC (Famille FX) Application DSP(Famille SX) 6240 Applications logiques 71760 SoC (NiosII) Application DSP 30k 3M CPU : PPC405 (G1) Fx seulement

Stratix II (ALTERA)

0,9m

500MHz 1,2V 419 9383

ProASIC3 (ACTEL)

0,13m (Flash)

350MHz 1,5V SRAM 0 144 FROM 1

Hardcopy II : Migration sur ASIC dune architecture sur STRATIX II Applications logiques Composants pour les systmes intrinsquement aronautiques et spatiaux immunis au SEU (Single Event Upset)

DSP
C6000 (Texas Instrument) 0,18m 1GHz 1,1V 64 et 2048 1,9V 1200 Virgule fixe : tlphonie, Compiler C pour 8000 Systme multicanal , optimiser les MIPS Biomtrie performances 600 1800 MIPS Blackfin (Analog Devices) 0,18m 400 750 MHz 0,8V RAM 52 kB et 1,6V 308 kB Virgule flottante : Haute prcision comme traitement dimage ou instrumentation TNT et appareil photos numriques.

RISC 32 Bits

Tableau I. 2. Comparaison des dernires technologies des FPGA et du DSP.

Nous observons tout dabord une cible dapplications diffrentes entre les diffrentes familles de composants programmables. Les applications vises par les constructeurs de FPGA sont principalement la programmation dapplications ddies aux fonctions logiques et des applications de type SoC. Les applications touches par les DSP sont la tlphonie, la biomtrie ou limagerie, donc des applications ncessitant des performances de processeurs plus leves compares aux applications FPGA. Toutefois, les technologies rcentes des FPGA (Virtex 4 (Famille SX) et Stratix II) disposent de nouvelles architectures technologie mixte, base de FPGA et de DSP, permettant des capacits de calcul massives et comprenant des systmes dentres/sorties haut dbit. De plus, nous pouvons noter que le FPGA du constructeur ACTEL a orient sa technologie pour lutter contre les SEU (fortes contraintes du domaine aronautique et spatiales) ce qui explique que sa technologie (au niveau longueur du canal) soit moins avance que pour les constructeurs ALTERA et XILINX. Pour les applications logiques qui correspondent notre systme, le FPGA semble pour linstant le meilleur choix. Pour continuer notre comparaison entre ces composants, nous exposerons la diffrence architecturale entre un FPGA et un processeur.

-24-

Divers

Constructeurs et composants

CHAPITRE I : Problmatique de la conception systme

I.2.2.2

Architecture des composants programmables

La Figure I. 12, donne en exemple une architecture type pour un systme embarqu avec monoprocesseur (System On Package ou SoP) o on peut identifier les composants dcrits prcdemment (FPGA, SoC ou DSP).

Figure I. 12. Description gnrique dun systme embarqu

Si la cible est une solution systme (SoP) ou une solution SoC, le composant FGPA communique seul avec lextrieur et change les informations avec le processeur et les soussystmes via un bus de communication rapide. Dans le cas dune solution FPGA, le systme est isol et ne ncessite aucune interface de communication. Cette tude nous montre que pour la conception dun prototype, le FPGA apparat comme la solution retenir. En effet, le march des FPGA (Tableau I. 2) est celui qui correspond le mieux lapplication vise qui est de type applications de dveloppement de fonctions logiques . De plus, nous venons de montrer que lutilisation dun FPGA pour la conception systme nest pas restrictive et permet denvisager une application logicielle si ncessaire. Le choix de la cible de conception finale sera aussi dtermin par loutil logiciel de conception utilis. Cest pourquoi nous passerons en revue dans le prochain paragraphe les diffrents outils de conception et leur langage associ.

I.3 Comparaison des langages et outils de conception


I.3.1Introduction
Comme nous venons de le voir, les concepteurs font face aujourdhui au dveloppement de systmes sur puce dans lesquels doivent cohabiter les environnements logiciel et matriel. La vrification dune conception de ce type demande un langage dabstraction matriel plus lev. A lheure actuelle, deux voies sont explores : celles du monde logiciel qui doivent adapter leur langage la description matrielle et celles du monde matriel (outils de CAO) qui doivent tendre leur langage une programmation au niveau logiciel. Nous ferons donc la diffrence entre les simulateurs issus de la conception matrielle et ceux issus de la

-25-

CHAPITRE I : Problmatique de la conception systme

conception logicielle. Le Tableau I. 3 rsume les langages de modlisation multi-domaines. Nous avons aussi fait une distinction pour les outils de type analogique (rsolution partir des quations diffrentielles) et les outils de type numrique (simulateur dirig par venements). Outils issus du milieu de la CAO Type de langages Analogique Niveau dabstraction Niveau Spcifications Niveau Comportemental Niveau Spice architecture Niveau Composant Numrique Outils issus du monde logiciel Mixte C/C++

VHDL -AMS
VHDL Saber
Matlab /Simulink

Verilog

Tableau I. 3. Comparaison des diffrents langages de modlisation.

I.3.2Les outils issus du milieu logiciel


Comme nonc dans le paragraphe prcdent, les outils logiciels tels que MATLAB cherchent avancer leur cycle de conception jusquau niveau RTL. Le langage VHDL (VHSIC Hardware Description Language (I.3.3.2)) tant incontournable, des travaux de recherche ont t dvelopps pour que les outils de MATLAB et Simulink [MATL03] permettent de gnrer des fichiers VHDL. La premire application apparue pour rpondre cet objectif est la conception de filtres numriques. A partir des coefficients simuls et optimiss sous MATLAB, une netlist VHDL est gnre. Cette dmarche consistant fournir des fichiers VHDL partir des modles simulink (.mdl) est gnralise grce la routine de conversion prsente Figure I. 13 .

-26-

CHAPITRE I : Problmatique de la conception systme

1
Modle Simulink (fichier .mdl) Modle Simulink (fichier .mdl)

Fichier Source

2
Utilit de conversion Modle VHDL (fichier .vhd) Optimisation

Algorithme de conversion

Simulation Logique

Modle VHDL (fichier .vhd)

Synthse

3
Vers implantation

ASIC

ASIC : Interface pour les fondeurs

Netlist : Simulation

Fichier .vhd (VHDL)

Vers implantation

FPGA

FPGA : Configuration des donnes

Placement et routage (Layout)

Figure I. 13. Description du passage des modles de Simulink en modle VHDL.

Pour chaque tape du procd, le fonctionnement du systme est vrifi, soit avec des rponses de type comportemental (chelon, sinusodale) pour la partie 1, soit avec des rponses de types logiques (0 ou 1) pour la partie 2 et 3. La base de conversion correspond aux lments du systme dfini en . mdl sous Simulink. Seuls les lments numriques seront pris en compte pour la conversion. Ces fichiers sont crs en terme de code VHDL c'est--dire avec des architectures et des entits. Le code est alors optimis pour prdfinir une architecture. Cette architecture choisie, est alors vrifie par une simulation numrique. Lorsque la phase vrification a donn les rsultats escompts, nous pouvons synthtiser le code VHDL. La synthse permettra davoir une netlist pour le placement/routage. Cest partir de cette tape que lon peut choisir la cible de production (FPGA ou ASIC). Matlab a pour inconvnient dtre un langage propritaire. La conversion de fichier .mdl en fichier VHDL tait lpoque de notre choix doutil de conception trs peu exploitable.

I.3.3Les outils issus du milieu CAO


I.3.3.1 Simulateur Analogique
Le simulateur analogique le plus connu et le plus implant dans le monde industriel est PSPICE [VLAD94]. Ce simulateur analogique est gnralement utilis pour la vrification de circuits et la prdiction comportementale de circuits. Lorigine de ce logiciel est loutil SPICE (Simulation Program for Integrated Circuit Emphasis). Il a t dvelopp dans les annes 1970 par Nagel et Pederson de luniversit de Berkeley et tait alors librement utilisable dans le monde. Cest seulement une dizaine dannes plus tard que lon voit apparatre les versions commerciales. MicroSim dveloppera la version pour ordinateur personnel sous le nom de

-27-

CHAPITRE I : Problmatique de la conception systme

PSPICE (Personnal Computer SPICE) [NAGE75] et Avant la version pour station dnomme HSpice. Bas initialement sur une saisie de la topologie sous forme de texte, MicroSim tendra ensuite la programmation par loutil Probe qui prsente les rsultats de simulation sous forme graphique. Dautres volutions arriveront ensuite comme linterface Schematics qui permet la description graphique des circuits jusqu nous amener la version PSpice A/D (Analogical/Digital). La notion de simulateur mixte apparat alors, permettant de simuler des circuits comprenant aussi bien des lments analogiques que des lments numriques. Sa bibliothque comprend plus de 18000 modles, Pspice est bien implant dans le milieu industriel. Pspice est en fait une volution graphique de SPICE, ce qui veut dire quil utilise le mme algorithme numrique et les mmes fichiers que SPICE. Lordinateur construit une netlist partir du schma et dtermine en chaque nud lquation du circuit. Cet outil se base donc toujours sur le modle de base. Cependant, lvolution des modles nest pas trs facile, le simulateur tant bas sur le mme cur depuis son apparition. Les circuits actuels augmentant en complexit, il est de plus en plus difficile de les simuler dans des conditions normales avec cet outil car le temps de simulation peut devenir rapidement excessif. Ainsi, ce simulateur ne peut aujourdhui rpondre tous les besoins de modlisation de circuits, notamment pour les raisons suivantes : - La difficult dcrire le comportement souhait cause des quations primitives complexes de SPICE. - Les temps de simulations peuvent devenir prohibitifs cause de la description trop dtaille des composantes internes aux circuits ou de la prsence dune constante de temps leve. - Le dveloppement de modlisations mixtes puisquil est bas sur un simulateur temps continu.

I.3.3.2

Simulateur numrique

Au dbut des annes 90, laugmentation du nombre de portes de circuits numriques a ouvert la voie aux langages de description matrielle de haut niveau (les HDL, Hardware Description Language). Deux dentre eux ont merg et sont couramment utiliss : VHDL (VHSIC Hardware Description Language) et Verilog. Ces deux langages bnficient du support de la quasi-totalit des logiciels [SMIT98].

I.3.3.2.1 Le VERILOG : Historique et description


Verilog est un langage de description matrielle cr par la socit Gateway Design Automation en 1984. Le langage original appel HiLo, sapparente beaucoup au langage C, ce qui succite un intrt immdiat notamment de la part de la communaut des informaticiens. Au dpart, il tait un langage propritaire et ntait pas standardis. En 1989, Cadence devient le propritaire de la socit Gateway et donc du langage Verilog et de son mcanisme dinterface de langage de programmation (Progamming Language Interface : PLI). En 1990, Verilog est ouvert au domaine public ce qui permet chacun de dvelopper son simulateur en Verilog et devenir un comptiteur potentiel de Cadence. Ainsi, le Verilog pouvait devenir le langage de description matrielle le plus rpandu et le plus utilis. Cest pourquoi le groupe de travail OVI a t form sur le langage VERILOG et du mcanisme

-28-

CHAPITRE I : Problmatique de la conception systme

PLI. La popularit du Verilog augmentant et larrive du langage VHDL, il devenait important pour les personnes de lOVI (Open Verilog International) de fonder un comit de travail pour sa standardisation IEEE. Ce comit a t form en 1993 et a donn lieu au standard 1364-1995 qui combine la syntaxe du langage Verilog et son PLI. Pour ces quipes de conception, les points positifs de ce langage sont : une facilit de prise en main pour les habitus du langage C ainsi quune assignation des signaux moins contraignante que le VHDL. Par contre, cette absence peut tre pigeuse dans la mesure o le type de signaux (bus, sign ) nest pas pris en compte. De plus, Verilog ne comporte pas de concept de package (ni de librairies). Ainsi chaque fonction et chaque procdure dun module doivent tre dfinis dans ce module. La description dun systme mixte est aussi possible en Verilog et porte le nom de Verilog-AMS HDL. Ce langage est dfini sur la base du Verilog 1364-1995 pour la partie numrique, et du Verilog-A pour les systmes analogiques.

I.3.3.2.2 VHDL : Historique et description


Dans les annes 80, le dpartement de la dfense aux Etats-Unis fait un appel doffre pour avoir un langage de description matrielle numrique unique. Le langage VHDL (VHSIC Hardware Description Language) est invent pour rpondre ces critres. Ce langage se base sur le VHSIC (Very High Speed Integrated Circuit) qui est un projet de recherche nationalle men par le groupement IBM/Texas Instruments / Intermetrics. Ce langage est ouvert au domaine public en 1985 et deviendra une norme en 1987 sous la dnomination de IEEE 10761987. Des changements minimes se feront pour la seconde normalisation en 1993 et il portera le nom VHDL93. La dernire volution de la norme est la norme IEEE 1076-2001. Les avantages qui se dgagent de ce langage sont la rutilisation de fichiers grce la notion de paquet et la gnricit individuelle des modles. Cependant, la norme IEEE 1076-2001 ne permet pas seule la description mixte (numrique et analogique). Le Verilog et le VHDL ont des capacits techniques quivalentes [SMIT98]. Le choix du langage est souvent dict par la culture de lquipe de dveloppement ou de lquipe de recherche. De plus, ce choix est parfois impos par les outils disponibles, les logiciels de simulation et de synthse, dont les langages associs sont fixs par des aspects conomiques. Nous pouvons noter toutefois que les outils actuels permettent de mlanger ces deux langages.

I.3.3.3

Les simulateurs mixtes

La simulation mixte a pour objectif de faire cohabiter la gestion des signaux temps continus (analogiques) et temps discrets (numriques). Ainsi, cette technologie de simulation permet de concevoir des fonctions pluridisciplinaires telles que mcanique, optique, chimique, biochimique, fluidique. Des langages ont t crs dans ce sens VHDLAMS et Verilog-AMS qui sont lextension des langages VHDL et Verilog. Dautres langages, comme celui du logiciel SABER, permettent de dcrire des fonctions mixtes. Nous allons prsenter deux langages cls dans la chronologie du dveloppement de la modlisation des systmes mixtes, savoir le langage propritaire MAST et le langage norm VHDL-AMS.

-29-

CHAPITRE I : Problmatique de la conception systme

I.3.3.3.1 Description dun langage propritaire MAST


Le logiciel SABER, dvelopp par Analogy Inc, est un outil ddi la modlisation et la simulation de systmes couvrant de nombreuses disciplines de la physique telles que llectronique, loptique, la mcanique, llectricit, llectromcanique, lhydraulique, le magntisme, les tlcommunications et le thermique. Ces systmes peuvent tre analogiques (continu en temps et en amplitude), discrets en temps et continus en amplitude, ou digitaux (discrets en temps et en amplitude). Outre les modles propritaires spcifiques prsents dans les librairies, ce logiciel permet de crer ses propres modles de composants partir du langage de programmation MAST (Modeling Analog System with Template). Depuis 2003, une ouverture vers le standart VHDL-AMS permet de dvelopper ses applications en utilisant ce langage. Malheureusement toutes les librairies standard du VHDL-AMS ne sont pas encore implantes dans le support du langage.

I.3.3.3.2 Description dun langage norm : VHDL-AMS


En 1999, le langage VHDL-AMS nat dune rflexion dune dizaine dannes entre les chercheurs et les industriels. Il permet de dcrire des modles pluridisciplinaires (lectrique, mcanique ) c'est--dire des modles aussi bien temps continu qu temps discret. Le langage VHDL-AMS intgre le langage VHDL. Ce langage de description des circuits numriques exclusivement permet de simuler et synthtiser pour diffrentes technologies ces circuits. La norme VHDL-AMS est donc une extension du VHDL o la partie analogique a t ajoute et dveloppe. Une des forces rside dans la possibilit de dcrire des systmes mixtes aussi bien un niveau dabstraction comportementale (grce aux transformes de Laplace ou en Z) quau niveau RTL (car il sagit dun langage issu du VHDL). Cependant, la gestion des quations diffrentielles ne dpendant pas du temps, comme par exemple les quations diffrentielles partielles 2 ou 3 dimensions, sont difficilement modlisables. Par exemple, lapproche analytique pour la description dune structure de microsystmes est insuffisante, dautres outils sont alors dvelopps.

I.3.3.3.3 Les Outils supportant la simulation mixte en VHDL-AMS


I.3.3.3.3.1 historique Les premiers outils apparus avec la simulation mixte en VHDL-AMS (dbut des annes deux milles) sont : ADVance AMS de la socit Mentor Graphics[MENT01] hAMSter (High performance AMS tool for Engineering and Research) [SIME03] SEAMS de luniversit de Cincinnati SMASH de la socit Dolphin [SMAS05]

Ces premiers simulateurs ont pour dsavantage dtre difficiles daccs pour les non initis au langage. Cest pourquoi ces outils sont de moins de moins utiliss aujourdhui comme par exemple le logiciel Hamster qui nest plus commercialis (racheter par la socit Ansoft , il a t intgr sous le logiciel Simplorer). Cet outil tant simple dutilisation, il est encore utilis par les enseignants pour lapprentissage du VHDL-AMS. Les autres outils de conception sont puissants mais plutt rservs aux spcialistes du langage. Cest le cas du logiciel ADVanceAMS qui est loutil le plus pourvu en lments dimplmentation de la premire norme VHDL-AMS. -30-

CHAPITRE I : Problmatique de la conception systme

La relative complexit du langage VHDL-AMS allie au march de la technologie mixte en pleine croissance, ont pouss les dveloppeurs supportant la norme faciliter son accs aux non spcialistes. Comme lavait fait en son temps Spice, certains des outils prcdemment cits, ont t dvelopps sur la base dune interface graphique utilisateur (Graphical User Interface : GUI). Ceci permet aux personnes non expertes de saffranchir du langage et de navoir qu utiliser, pour leur tude, les botes codes par les spcialistes du langage. I.3.3.3.3.2 Les outils interface graphique

Comme nous venons de le voir, ces outils interfaces graphiques permettent de saffranchir, un certain degr, de la connaissance du langage VHDL-AMS. Ils permettent donc de concevoir un microsystme partir du code HDL masqu sous une image. Pour cela, lutilisateur ne rentre que les paramtres et le type des signaux dentres/sorties. Les outils actuels prsents sur le march sont : SaberHDL (Analogy) [SYNO03] Il permet dutiliser une bibliothque restreinte de composants pluridisciplinaires. La premire version de SaberHDL est toutefois pauvre au niveau des composants de la bibliothque. Simplorer (Ansoft) [ANSO03] Il se base pour son noyau de simulation VHDL-AMS sous loutil hAMSter. Cest le premier outil qui a dvelopp une reprsentation graphique pour coder en VHDL-AMS. SystemVision (Mentor Graphics) qui se base sur AdvanceAMS [MENT03] Linterface graphique permet aussi lutilisateur d instancier le modle souhait. Enfin, lutilisateur un peu plus expriment pourra alimenter les bibliothques de composants en crant ses propres modles. Un des paramtres important, pour le choix de lun de ces outils supportant cette norme, est le nombre de composants fournis par la bibliothque dorigine et limplmentation des librairies associes. I.3.3.3.3.3 Comparaison des diffrents outils

A partir des proprits nonces ci-dessus ainsi que dune tude comparative [HAMO05] de trois simulateurs bass sur le langage VHDL-AMS, nous avons rsum et compar leurs performances gnrales pour le concepteur systme dans le Tableau I. 4. Le troisime simulateur a donc un environnement graphique convivial et permet aussi linterfaage avec C/C++, mais pour sa version complte. Malheureusement, ntant pas disponible au sein de notre laboratoire nous navons pas retenu ce logiciel. Cest pourquoi nous nous sommes intresss dans un premier temps aux simulateurs SaberHDL [SYNO03] et SystemVision [MENT03]. Comme le montre le tableau cidessous, la cration dun code VHDL-AMS est plus difficile avec loutil SaberHDL car il ne possde pas dditeur interne pour le codage des fonctions. Lautre point ngatif pour SaberHDL tait que la bibliothque de composants est moins fournie que SystemVision. Nous avons, en plus, rencontr des difficults au niveau des librairies standard qui ntaient pas encore toutes implmentes sous SaberHDL. Pour toutes les raisons que nous venons dnoncer, nous avons choisi dutiliser loutil SystemVision pour le dveloppement dun prototype virtuel.

-31-

CHAPITRE I : Problmatique de la conception systme

Socit Cration du code VHDL-AMS Cration dun symbole Bibliothque de composant Algorithme de Simulation Disponibilit du logiciel

SaberHDL Synopsis Utilisation dun diteur externe Manuelle Elments de base crits en VHDL-AMS Simec Licence associe SABER

SystemVision Mentor Graphics Editeur interne Automatique et avec outil interne Elments de base crits en VHDL-AMS Newton Calaveras Version gratuite pour les tudiants disponibles sur internet

Simplorer Ansoft Cration automatique de lentte du modle. Automatique Elments de base crits en VHDL-AMS Eldo Version gratuite pour les tudiants disponibles sur internet

Tableau I. 4. Etude comparative des simulateurs supportant VHDL-AMS.

I.3.3.4

Mthodologies et outil de conception retenus

Au vu de ltude prcdente prsentant ltat des outils associs, la conception mixte peut senvisager, soit partir dun langage propritaire, soit partir dun outil norm. Pour rpondre cette question, nous allons confronter des mthodes que nous appellerons m1 & m2. Ces deux mthodes se basent sur la branche gauche du cycle en V (Figure I. 5) : - m1 : cette mthode fait appel au langage propritaire MAST, support par loutil logiciel SABER. - m2 : cette mthode fait appel au langage normalis VHDL-AMS.

-32-

CHAPITRE I : Problmatique de la conception systme

I.3.3.4.1 Mthodologie m1 avec un langage propritaire


Notre premire approche de conception est prsente sur la Figure I. 14. Cahier des charges

Environnement

SABER

Simulation fonctionnelle mixte SABER Sketch

Analyse frquentielle et temporelle SABER Scope

NOK

Validation de larchitecture

OK

Codage VHDL synthtisable

Fichiers VHDL synthtisable pour implantation FPGA/ASIC


Figure I. 14. Description de la mthodologie de conception N1 : m1

Pour un outil de simulation mixte tel que SABER la mthodologie de conception commence par une tude comportementale sous le logiciel. Les fonctions dvelopper sont crites en langage propritaire MAST (langage propritaire de Saber). Un avantage rside dans la prsence dune bibliothque de modles et des fonctions pluridisciplinaires. Lutilisateur peut galement dvelopper ses propres modles, un niveau dabstraction allant dun modle fin de transistor un macro-modle de trs haut niveau. Dans un objectif de synthse de fonctions numriques, le dveloppeur doit obligatoirement coder manuellement et de manire synthtisable ces fonctions. Cette tape peut vite savrer extrmement lourde et coteuse en temps.

-33-

CHAPITRE I : Problmatique de la conception systme

I.3.3.4.2 Mthodologie m2 avec VHDL-AMS


Le dveloppement dun systme mixte peut galement se baser sur le langage VHDLAMS. Dans ce cas, les fonctions analogiques sont dcrites en VHDL-AMS. Si le concepteur dveloppe les fonctions numriques simultanment en VHDL synthtisable, ltape de codage manuel supplmentaire de la mthode m1 est supprime. Cahier des charges

Environnement VHDL-AMS
Etages Analogiques VHDL -AMS Etages Numriques VHDL Synthtisable

Analyse Frquentielle et temporelle

NOK

Validation de larchitecture

OK

Fichiers VHDL synthtisable pour implantation FPGA/ASIC


Figure I. 15. Description de la mthodologie de conception N2 : m2

I.3.3.4.3 Comparaison des deux mthodologies


Le Tableau I. 5 permet de dresser un bilan pour chaque mthodologie base sur les facteurs importants dune action de conception systme [GUIL04E]. Comme nous pouvons le constater le codage manuel en VHDL synthtisable des fonctions numriques de SABER pnalise le temps de dveloppement pour la mthodologie n1. Lutilisation du langage VHDL-AMS saffranchit de cette tape et permet de gagner en flexibilit, car la compilation dun module seul est possible. On peut alors simuler une nouvelle architecture sans recompiler tous les modles. Le dsavantage de la mthodologie de conception n2 pour notre systme est le manque de bibliothques de bruit. Cette dficience est pnalisante pour le codage du canal, nous dvelopperons donc un fichier spcifique permettant de combler cette lacune.

-34-

CHAPITRE I : Problmatique de la conception systme

SABER (Mthodologie N1)


Temps de dveloppement Bibliothque Bruit Exemple fichier dun lement (Gnrateur de PN-CODE) Flexibilit Temps de simulation Apprentissage Langage 296 lines (15ko) (Si nouvelle architecture, recompilation de tous les modles) 16min CPU TIME

VHDL-AMS (Mthodologie N2)

99 instructions lines

(Module compilable seul, possibilit de nouvelle architecture sans recompiler les autres modles) 6 min 51 sec CPU TIME (SystemVision) (Difficult dapprentissage du langage VHDL-AMS)

(Outil graphique facilit dapprentissage)

Tableau I. 5. Comparatif entre 2 mthodes de conception.

I.4 Bilan
Ltat de lart sur la conception systme que nous venons de dresser, a permis de mettre en lumire qu lheure actuelle les systmes concevoir sont de plus en plus complexes avec un temps de mise sur le march de plus en plus rduits. Cest pourquoi la mthodologie de conception a pris une place importante dans la fabrication systme. Ce cycle de conception (qui est gnralement en V) peut tre diminu par lutilisation dun prototypage. En effet les phases de vrification du cycle en V, au nombre de cinq dans le cycle traditionnel en V, sont dnormes consommatrices de temps. Nous avons alors fait tat, dune synergie forte entre industriels et laboratoire de recherche, en essayant de rpondre cette problmatique en proposant trois types de prototypages. Le prototypage matriel permet une description physique des composants. Le prototype mixte allie les types de vrifications simulation et mulation . Le prototypage virtuel permet quant lui la simulation des composants systmes. Le dernier point important de cet tat de lart est le choix de loutil de conception. Ils existent lheure actuelle deux catgories doutils de conception. Ceux qui sont issus du monde de la modlisation (Matlab pour la modlisation mathmatique) et ceux issus de la CAO lectronique. Pour une description au niveau matriel, les outils de conception CAO sont encore les outils les plus comptents pour raliser une synthse fiable. Toutefois, les outils de modlisation commencent descendre dans le cycle de conception et permettent de dfinir, comme loutil Simulink de Matlab, un fichier VHDL pour le placement/ routage vers des cibles ASICs ou FPGA. Puisque les outils de conception CAO sont les outils les mieux adapts la synthse, nous avons choisi un langage de description matrielle. Le choix du langage sest bas sur la pluridisciplinarit du langage et lintgration dans une cible comme le FPGA. Nous avons donc retenu le langage VHDL-AMS qui est un langage norm (donc non propritaire) et qui permet de simuler avec des langages comme le C, ou MATLAB si une mthodologie de conception par prototypage virtuel est applique.

-35-

CHAPITRE I : Problmatique de la conception systme

-36-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II CHAPITRE II Vers la conception dun systme de tlcommunications talement de spectre

Rsum
Ce chapitre prsente le systme de tlcommunication modliser. Pour cela, nous dfinissons les paramtres propres dun systme de communication AMRC et focalisons sur le choix de la topologie de la fonction synchronisation, organe cl des communications talement de spectre.

Prsentation du cahier des charges .............................................................................................................. 39 Les systmes de communications existants ................................................................................................. 39 Description des lments dune chane de communication numrique. ...................................................... 44 Caractristiques retenues pour le systme dsir......................................................................................... 61 Description fonctionnelle des fonctions modliser ................................................................................... 63 5.1 Principe de la modulation diffrentielle............................................................................................. 64 5.2 Modlisation du gnrateur de PN Code........................................................................................... 64 5.3 Modlisation de la fonction corrlation............................................................................................. 68 5.4 Modlisation de lorgane de synchronisation.................................................................................... 70 6 Conclusion................................................................................................................................................... 88

1 2 3 4 5

-37-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

-38-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.1 Prsentation du cahier des charges


La premire partie de ce mmoire a prsent ltat de lart des moyens, outils et mthodes mis en uvre afin de concevoir, des spcifications au prototype, le systme. La seconde partie sefforce dappliquer les moyens dvelopps dans le premier chapitre une problmatique de communication sans fil en milieu clos (habitat, mais aussi automobile, milieu urbain). La Figure II. 1. Reprsentation schmatique dun systme multi-capteurs pour un environnement closillustre, par exemple, lapplication type dun systme multi-capteurs pour lenvironnement de lhabitat dans le cadre de linstrumentation dune pice.

Figure II. 1. Reprsentation schmatique dun systme multi-capteurs pour un environnement clos

Le milieu de propagation indoor est fortement pollu cause des autres sources (tlphone mobile ou rseaux sans fil) qui oprent dans les mmes bandes (2,4 GHz, 5,1 GHz) puisque elles sont imposes par la loi. De plus, il faut tenir compte des rflexions multiples (multi-trajets) dues lenvironnement physique (cloisons, plafond) arrivant attnues et retardes sur le rcepteur. Une contrainte supplmentaire lie lenvironnement clos est le nombre dutilisateurs qui doivent cohabiter dans le mme canal. Un point important supplmentaire de notre cahier des charges est de vhiculer aussi bien des informations bas dbit (<1Mbits/s) et des informations haut dbit (de 1 10 Mbits/s).

II.2 Les systmes de communication existants


Tout dabord, revenons sur la notion de systme ou dobjets communicants. Un systme communicant peut se dfinir par une multitude dobjets disperss physiquement disposant chacun dune unit de traitement de donnes et dun accs un rseau de communication. Actuellement, les systmes de communication sont bass sur des liaisons radiofrquences. De nombreuses normes pour les communications radiofrquences ont t mises en place ces dernires annes (IEEE802.11, BLUETOOTH, ZIGBEE, ). Nous allons prsenter dans le

-39-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

paragraphe, un descriptif rapide des systmes de communications actuels afin de mieux nous positionner quant au cahier des charges de notre systme.

II.2.1 Communications Radiofrquences dans les bandes 433 & 868 MHz.
Ces modules de communication bass sur une modulation analogique fonctionnent sur des frquences libres de 433MHz et 868 MHz. Les modules travaillant 433MHz actuels permettent dobtenir des dbits jusqu 30kbits/s en FM et 3kbits/s en AM. Les modules 868 MHz sont plus performants en terme de dbits puisquils permettent de transmettre jusqu 50kbits/s. Plusieurs fabricants (AUREL, Mipot, Telecontrolli, Radiometrix) proposent des modules dmission/rception. Le Tableau II.1 rsume les caractristiques des principaux modules du march : Fournisseurs Frquence dutilisation Modules GRAVITON 868-870 MHz Modules MIPOT 433 MHz Modules AUREL 869 MHz Dbit Minimal 50Kbits/s 30Kbits/s 100kbits/s Porte en espace Modulation libre maximum 1,5 km FM 100m FM FM ou FSK

Tableau II.1. Comparaison des caractristiques de communications Radiofrquences 433 et 868 MHz.

Ces modules sont inadapts notre cahier des charges, ne prsentant pas de scurisation des donnes.

II.2.2 Les rseaux personnels sans fil (WPAN : Wireless Personnal Area Network)
Les rseaux personnels permettent la communication entre diffrents appareils dans un rayon rduit. Actuellement, le rseau personnel le plus communment utilis est celui bas sur la technologie Bluetooth. Deux nouvelles technologies mergent pour ce type de rseaux : une adapte des dbits levs UWB (Ultra Wide Band ou Ultra large bande), tandis que ZigBee autorise des connexions dquipements faibles consommations.

II.2.2.1

Bluetooth [ELHO05]

Le but principal de cette technologie est de supprimer les cbles et de permettre la transmission de la voix et des donnes via une liaison radio courte distance. Bluetooth permettait initialement de faire communiquer un appareil matre avec sept autres appareils esclaves. Cette technologie est normalise sous le nom IEEE 802.15.1 [802.15.1]. Les spcifications techniques de la dernire norme (Bluetooth 2.0) permettent de bnficier de dbits suprieurs allant jusqu 2 ou 3 Mbits/s dans un rayon de moins de 100 mtres. Les appareils compatibles Bluetooth utilisent des ondes radio sur la bande ISM (Industrial Scientific & Mdical). Cette bande de frquence est comprise entre 2,4 et 2,48 GHz, utilisable librement sans licence ni autorisation.

II.2.2.2

Ultra Wide Band [BLIN04][BRAC05]

Cette technologie ge de quarante ans nest vritablement exploite que depuis 2002. Se basant sur un systme de transmission dimpulsions de trs courtes dures, elle offre la possibilit dun dbit lev jusqu 480 Mbit/s pour une porte de 15 mtres. LUWB utilise ainsi une bande trs large de frquence (entre 3,1GHz 10,6GHz) pour changer des donnes et rpondre au standard IEEE 802.15.3 [802.15.3].

-40-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Cette norme UWB est plus rpandue au niveau amricain quau niveau europen. En effet, le spectre radio tant utilis de manire diffrente aux Etats-Unis et en Europe, lintroduction de lUWB gnre des problmes dinterfrences avec les autres dispositifs sans fil utiliss en Europe.

II.2.2.3

ZigBee

ZigBee est une norme de transmission de donnes sans fil permettant la communication de machine machine. ZigBee (aussi connu sous le nom IEEE. 802.15.4 [802.15.4]) est un prolongement de la norme HomeRF issu dun accord stratgique de licence sign entre MicroChip et Adcon Telemetry. Les caractristiques principales de cette technologie sont un faible dbit, et un faible cot avec pour atout majeur une faible consommation. ZigBee utilise une mthode dtalement de spectre par squence directe DS-SS (Direct Sequence Spread Spectrum), et fonctionne sur la bande de frquence de 2,4 GHz rpartie sur 16 canaux. Cette technologie a donc t cre pour le march des rseaux sans fil domestiques (Home Area Network - HAN). Ces quipements doivent tre bon march, capables dchanger des donnes, en consommant peu, de manire scurise et fiable. Aujourdhui en 2005, les premiers kits de dveloppement [FREE05] apparaissent et commencent mobiliser les travaux de recherche [VDBO05].

II.2.3 Les rseaux locaux sans fil (WLAN : Wireless Local Area Network)
Un rseau local sans fil est une infrastructure de communication reliant des quipements informatiques et permettant de partager des ressources communes sur une aire limite quelques centaines de mtres. Afin de communiquer dans un WLAN, il existe deux modes de propagation : le mode point point o la transmission seffectue entre deux points fixes et le mode omnidirectionnel o la transmission seffectue dans toutes les directions de lespace. La technique de transmission utilise pour ce type de rseau est ltalement de spectre (nous reviendrons dans sur cette technique dans la partie II.3.6). Les problmes majeurs lis ce type de rseau sont la dispersion du signal et la gnration dinterfrences. Le standard 802.11 a aujourdhui le monopole mondial de ce type de rseau, et seul HiperLAN2 tente de le concurrencer en Europe.

II.2.3.1

La norme 802.11

Le standard 802.11 permet d'tablir des liaisons point point grce des antennes bidirectionnelles sur de courtes distantes. La norme 802.11 est la norme de rfrence dans le monde des rseaux locaux sans fil. Des rvisions ont t apportes la norme originale afin doptimiser le dbit que nous prsentons dans le tableau suivant [802.11]. Variantes de la norme IEEE 802.11 IEEE 802.11 b IEEE 802.11a IEEE 802.11g IEEE 802.11n Dbit thorique (Mbits/s) 1 ou 2 11 54 54 320 Porte (m) 10m 100m 30m 100m 30m Bande de frquences 2,4 GHz 2,4 GHz 5 GHz 2,4 GHz 2,4 et 5 GHz

Tableau II. 2. Description des diffrentes normes bases sur IEEE 802.11.

Dautres extensions cette norme existent, aussi nous pouvons citer IEEE 802.11e utilise pour un rseau avec signalisation et prsentant une qualit de service, la norme IEEE

-41-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

802.11.f tendue pour le handover (passage dune cellule lautre sans coupure) ou bien encore le standard IEEE 802.11i amlior du point de vue scurit. [PEYR05]

II.2.3.2

Le standard HiperLAN II [BAUD02]

HiperLAN (High Performance Radio Local Area Network) est une famille de standards pour les communications numriques sans fil haut dbit dans les bandes 5,15GHz- 5, 3GHz et 17,1 -17,3 GHz linitiative de linstitut de standardisation europenne (ETSI : European Telecommunications Standards Institute). Un metteur-rcepteur radio est install sur chaque station mobile, il ne ncessite aucun point daccs pour communiquer avec une autre station mobile. Par contre, des stations de bases sont ncessaires pour faire le lien entre la partie radio et la partie filaire existante dun LAN. La bande alloue est dune largeur de 10MHz autour de 5,2GHz. Le standard Hiperlan2 a t particulirement dvelopp pour fournir un dbit aux rseaux IP, Ethernet, UMTS et aux futurs systmes multimdia pouvant aller jusqu 54 Mbit/s (pour la couche physique). Ce dbit important est rendu possible par lutilisation dune mthode de modulation multi-porteuses de type OFDM (Orthogonal Frequency Division Multiplex). Lespacement entre deux canaux est de 20MHz. Ce standard comporte une fonction handover offrant une possibilit de mobilit des terminaux mais dont la vitesse ne doit pas excder 10m/s.

II.2.4 Les rseaux mtropolitains sans fil (WMAN : Wireless Metropolitan Area Network) et les rseaux tendus (WWAN : Wireless Wide Area Network)
Comme leur nom lindique, les rseaux sans fil mtropolitains ont t crs pour assurer des communications au sein dune ville ou dun village. Les principaux standard sont WiMax, bas sur la norme 802.16 et MBWA pour des rseaux mobiles hauts dbits. Les rseaux WWAN sont quant eux des rseaux tendus ou communment appels rseaux cellulaires mobiles.

II.2.4.1

WiMax

WiMax est le nom dune marque destine labelliser des quipements compatibles avec le standard amricain IEEE.802.16 [802.16] et la norme europenne ETSI HiperMAN. Il permet un dbit thorique de 70 Mbits/s sur un rayon de 50 km maximum [FOUR05].

II.2.4.2

MBWA

Le MBWA (Mobile Broadband Wireless Access) est un standard en cours de dveloppement par le groupe IEEE 802.20. Il devrait permettre la mise en place de rseaux mtropolitains mobiles avec des vitesses allant jusqu 250 km/h. Il utilise des bandes de frquences en dessous des 3,5 GHz. Le dbit thorique est de 1Mbits/s en descente et 300Kbits/s en monte. Toutefois, ce standard ne devrait pas tre commercialis avant 2007.

II.2.4.3

Les rseaux mobiles (WWAN)

Il sagit des rseaux sans fil les plus rpandus puisque tous les tlphones mobiles sont connects un rseau tendu sans fil. Les principales technologies sont les suivantes : GSM (Global System for Mobile Communication ou Groupe Spcial Mobile) : Ce standard a t prvu initialement pour les applications de transport de la parole, de transmission de donnes bas dbits (9600 bits/s) autour des frquences 935MHz-

-42-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

960MHz ou 890-915MHz. Cette norme a permis lessor des communications mobiles daujourdhui. GPRS (General Packet Radio Service) : Cette technologie est la premire volution de la norme GSM pour pouvoir atteindre des dbits compatibles avec des applications dbits moyens de type multimdia. UMTS (Universal Mobile Telecommunication System) : Cette norme UMTS a pour but de dvelopper une meilleure couverture radio et daugmenter le nombre dabonns par unit de surface et promouvoir lacheminement des services 3me Gnration (3G). LUMTS permet un dbit thorique jusqu 2 Mbit/s.

II.2.5

Contraintes du milieu clos

Le milieu de lhabitat est un milieu fortes contraintes temporelles. On peut classer ces contraintes en deux catgories : les problmes poss par les interfrences radio et les problmes poss par le nombre dutilisateurs.

II.2.5.1

Les interfrences radio

Lmergence des rseaux sans fil et de la tlphonie mobile, que nous venons de dcrire, rend le milieu clos, de plus en plus pollu en ondes lectromagntiques. Les ondes rellement perturbantes sont celles que lon retrouve dans la bande passante et qui ne peuvent pas tre filtrs. Les contraintes des interfrences radio sont de deux types : Brouillage des autres sources. Lallocation des frquences tant rgie par la loi, les systmes de communication dans le milieu INDOOR oprent sur les mmes frquences. Pour des transmissions hauts dbits, seulement trois bandes de frquences sont disponibles (2,4GHz, 5,2GHz ou 60GHz). Multitrajets. Ceux-ci sont dus aux rflexions multiples propres lenvironnement de lhabitat (cloisons, plafond). Ces rflexions vont crer des ondes dans la mme gamme de frquences mais retardes et attnues de manire quasi alatoire.

II.2.5.2

Le nombre dutilisateurs

Pour des systmes mission / rception destins la communication dans un environnement clos le nombre dutilisateurs partageant le mme mdium devient une contrainte. En effet les rseaux de communication doivent prendre en compte le fait que plusieurs utilisateurs devront cohabiter sur le mme canal. Les problmes suivants sont alors soulevs : Scurisation permettant de garantir la confidentialit des informations transmises. Contraintes lies aux techniques de multiplexages (mthodes daccs) permettant le partage du mdium. Flexibilit en termes du nombre dutilisateurs.

II.2.6

Comparatif des technologies de rseaux sans fil

Le tableau ci-dessous rsume les principales technologies de rseaux sans fil, prsentant leur dnomination commerciale, la norme associe, les dbits autoriss ainsi que les caractristiques techniques (Bande Passante, type de modulation, etc.) [CHRIWW].

-43-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Type de rseau

Dbit thorique

Technologie

de

Technique dtalement

Porte maximum (m=mtres)

Modules radio AUREL

100kbits/s IEEE.802.15.1 IEEE.802.15.3 IEEE.802.15.4 2 Mbits/s Jusqu 50 Mbits/s 250 kbits/s 40 kbits/s 20 kbits/s 54 Mbits/s 11 Mbits/s 54 Mbits/s 70 Mbits/s 1Mbits/s 100m 10m 10m 75m 30m 100m (intrieur) 400m (extrieur) 30m (intrieur) 100m (extrieur) 50 km 100m

869 2402-2480 FH-SS

Bluetooth UWB

FM FSK GFSK

Modulation
ou O-QPSK BPSK BPSK OFDM OFDM OFDM OFDM

WPAN

Zigbee

Wi-Fi5

IEEE.802.11a IEEE.802.11b IEEE.802.11g IEEE.802.16 IEEE.802.20

24002483,5 902-928 868-868,6 5500 2400 2400 2500 3500 5860 <3500 ou ou

Bande Frquence (MHz)

Norme supporte

DS-SS DS-SS DS-SS

WLAN WMAN

Wi-Fi Wi-Fi WiMax

MBWA

Tableau II. 3. Comparatif des diffrents rseaux sans fil (WPAN, WLAN,WMAN )

Parmi les technologies identifies, nous constatons que, seulement quelques normes fonctionnent dans la bande de frquence de 2,4 GHz retenue pour notre systme. Dans cette bande, deux technologies ont des caractristiques intressantes : la technologie Zigbee qui permet de transmettre des faibles dbits (250 kbits/s) et la technologie Bluetooth pour des plus hauts dbits (2Mbits/s). Pourtant ces technologies ne correspondent pas notre application, puisque lautre paramtre important pour notre conception est la notion de transmission multi-canal permettant diffrents types de dbits dtre vhiculs. Au vu des rsultats obtenus nous navons aucun standard correspondant nos attentes. Cest pourquoi nous allons dfinir notre propre systme de communication.

II.3 Description des lments dune chane de communication numrique


Afin de dfinir le cahier des charges technique, nous nous proposons dans le paragraphe suivant de dfinir les lments thoriques propres aux communications numriques. Nous rappellerons et dfinirons les paramtres cls, propres la caractrisation dune telle chane (dbit, TEB, efficacit spectrale du canal AWGN), puis nous focaliserons sur la technique dtalement de spectre par squence directe que nous devrons mettre en uvre.

-44-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.3.1

Chane de communication

Une chane de transmission numrique est compose, entre un metteur et un rcepteur, des lments prsents sur la Figure II. 2.

Figure II. 2. Principaux lments dune chane de transmission numrique.

On peut donc distinguer diffrents blocs pour lmetteur : o Le bloc codage source permet de coder les donnes numriques issues du capteur (un taux de compression important) afin de les adapter la modulation ultrieure. o Une fonction modulation adapte les donnes du canal physique. Entre lmetteur et le rcepteur, on trouve un bloc canal dpendant de la nature de lapplication. Le canal est souvent compos dune partie analogique appele aussi radiofrquence. Pour le rcepteur, les fonctions sont prsent les symtriques de celles vues lmetteur. o Un bloc de dmodulation o lon peut trouver une synchronisation pour retrouver le signal modul. o Un bloc de dcodage des donnes.

II.3.2

Le codage en ligne

Le codage source est une reprsentation lectrique de linformation binaire. Le choix du codage se fait en fonction du canal et de la technique de la modulation employe. Le terme codage en ligne est employ pour les modulations numriques qui ne sont pas sur frquence porteuse donc en bande de base. Les principaux codes binaires existants sont les codes NRZ, RZ, biphase et bipolaire. La Figure II. 3 reprsente leurs densits spectrales de puissance, en fonction de la frquence normalise.

Figure II. 3. Reprsentation des codes sources selon leur densit spectrale.

-45-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Dans le cadre de notre travail de thse, nous avons tudi plus particulirement le code NRZ-L (Non Retour Zro) qui associe chaque lment binaire dun message (0 ou 1) un symbole (1 ou -1). La forme donde pour ce code est une crneau damplitude A, un bit 0 est reprsent par une amplitude A et un bit 1 par une amplitude +A. Cependant ce code ne prsente pas de transitions lorsquil y a de longues squences de 0 et de 1 ce qui est une difficult lors de ltape de synchronisation (cf. II.5.4), mais en revanche, ce code est trs facile gnrer et il possde un taux derreur de bits infrieur aux autres codes.

II.3.3

Choix dune modulation numrique

Avant dargumenter ce choix, nous commenons par dfinir les principaux critres caractrisants une modulation numrique savoir : Le dbit. Le taux derreur sur les bits. Lefficacit doccupation spectrale. Lefficacit de la puissance mise. La simplicit de ralisation.

Ces lments sont dfinis dans le paragraphe ci-dessous, afin de dresser par la suite un bilan.

II.3.3.1

Quelques dfinitions utiles Dbit binaire

II.3.3.1.1

Nous appellerons dbit binaire D (bit/s) ou vitesse de canal le nombre dinformations lmentaires (ou bits) que ce canal transporte pas unit de temps.

1 Tb Tb reprsente la dure du bit dinformation, exprime en seconde. D=

[Eq.II. 1]

II.3.3.1.2

Taux derreur sur les bits

Les modulations numriques sont values grce au taux derreur par bit (TEB). Il permet de chiffrer linfluence du bruit (grce au rapport signal sur bruit ou lefficacit de puissance) pour chaque modulation et en fonction du nombre dtats de la modulation. Il se dfinit de la manire suivante :
TEB = Nbre _ d ' lements _ binaire _ faux Nbre _ d ' lements _ binaire _ mis
[Eq.II. 2]

La Figure II. 4 reprsente les taux derreur par bit en fonction du rapport du rapport Eb/N0 pour quatre modulations prsentes dans le Tableau II. 4.

-46-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 4. Exemple de valeurs de taux derreurs par bit.

II.3.3.1.3

Lefficacit spectrale

Lefficacit spectrale (en Bit/Seconde/Hertz) dun signal numrique est le nombre de bits par seconde de donnes qui peuvent tre supports pour chaque hertz de la bande de frquence utilise (B en Hertz) :

Dbit D( Bit / s ) = Bande _ occupe B( Hertz )

[Eq.II. 3]

On peut aussi noter que pour des applications o la bande passante est limite par des contraintes physiques, il faut choisir une technique qui donne la plus haute efficacit spectrale, laquelle doit permettre dobtenir de faibles taux derreur sur le bit en sortie du systme.

II.3.3.1.4

Dfinition de lefficacit en puissance Eb/No

Lefficacit en puissance se dfinit par le rapport entre lnergie moyenne Eb par bit dinformation et la densit spectrale dun bruit blanc No/2. Nous allons maintenant exprimer la relation entre lefficacit en puissance et le rapport signal sur bruit (SNR (Signal Noise Ratio)). Tout dabord, dfinissons le rapport existant entre lnergie totale E et lnergie moyenne Eb par bit dans un systme M tats. Eb = E log 2 M
[Eq.II. 4]

La puissance S est dfinie comme le rapport entre lnergie totale E et la dure dun bit Tb, nous obtenons la relation suivante pour le rapport signal sur bruit :
E S E T = b = N N 0 B Tb N 0 B

[Eq.II. 5]

-47-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

En utilisant les relations (Eq.II.1 et Eq.II.3) nous obtenons le rapport signal sur bruit (SNR)

S log 2 M Eb = N Tb B No E S = log 2 M b N No

[Eq.II. 6]

Cette relation montre que le rapport signal sur bruit dpend de lefficacit spectrale et du nombre dtats M du systme. Cest pourquoi pour comparer les diffrentes modulations numriques il vaut mieux sintresser lefficacit en puissance qui est une valeur indpendante du procd de modulation.

II.3.3.1.5

La simplicit de ralisation

La complexit dun systme dpendra de la sensibilit de la modulation aux imperfections et de la cohrence de la dmodulation. Dans le premier cas, la sensibilit augmente le nombre dtats pour la modulation, tandis que dans le deuxime cas, cest la rcupration de la porteuse qui augmente la complexit du systme.

II.3.3.2

Modulation retenue

La modulation choisie devra permettre de minimiser loccupation spectrale pour un dbit binaire donn et la probabilit derreur selon la puissance et donc du rapport signal sur bruit. Lors de ltablissement du cahier des charges [BOUR00] il a t distingu les modulations numriques suivantes : ASK : Modulation par sauts damplitude (Amplitude Shift Keying). La modulation se fait ici par saut damplitude. FSK : Modulation par sauts de frquence (Frequency Shift Keying). La modulation se fait par saut de frquence. PSK : Modulation par sauts de phase (Phase Shift Keying). La modulation se fait par saut de phase. QAM : Modulation damplitude en quadrature (Quadrature Amplitude Modulation). La modulation est une combinaison des deux prcdentes modulations o linformation associe la phase du signal mais aussi lamplitude.

Le tableau suivant rsume leurs performances en fonction de trois critres de choix : la rsistance aux distorsions et aux perturbations, lefficacit spectrale et la simplicit de ralisation.

-48-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Modulation ASK

Nombre dtats 2 4 8 2 4 8 2 4 4 16 64

PSK DPSK QAM FSK

Efficacit Eb/No pour Spectrale un TEB de 10-6 1 10,5 2 14,3 3 21 1 10,5 2 10,5 3 13,8 1 11,3 2 12,8 2 4 6
Efficacit lie aux frquences porteuses

Avantages
-Simplicit pour la dmodulation et son faible cot - Avantageux si M<2 - Simple raliser -TEB meilleur que ASK - Identiques au PSK - Plus simple raliser que PSK - proportionnelle M - TEB meilleur que PSK - Plus performant si M>8 Moins sensible au brouillage des canaux adjacents

Inconvnients
- Sensible aux non - linarits du systme - Limite pour M>8 Un peu moins performant que PSK Complexit de ralisation si M> 16 Faible efficacit spectrale

10,5 14,3 20,5


TEB dpend de lindice de modulation

Tableau II. 4. Performances des modulations numriques retenues.

A la vue de ce tableau de synthse sur les modulations et sachant que le milieu de propagation est particulirement hostile, les critres qui ont t retenus sont la simplicit et la rsistance aux multi-trajets. Cest pourquoi la dmodulation diffrentielle PSK a t choisie et est de plus avantageuse pour le CDMA (Chapitre II II.3.5.1.3).

II.3.4

Le Canal

Maintenant, que nous avons dfini les codes en ligne et les modulations numriques possibles, nous allons dfinir le canal de transmission. Les canaux les plus utiliss pour le milieu clos sont le canal AWGN (Additif White Gaussian Noise) et le canal multi-trajets. Ces deux canaux seront modliss pour valuer les performances du systme communicant. Le premier est utilis afin de reproduire le bruit alors que le deuxime sera utilis pour valuer les performances par la prsence de multi-trajets.

II.3.4.1

Le canal AWGN

Le modle du canal AWGN est compos selon le principe de la Figure II. 5 dun bruit blanc Gaussien ajout dans le mdium londe module s(t) .

Figure II. 5. Modle du canal AWGN

Un bruit blanc Gaussien est un processus alatoire stationnaire puisquil est indpendant du signal transmis. La spcificit dun bruit blanc rside dans luniformit de sa densit spectrale de puissance qui vaut N0 sur toute la bande de frquences. Du fait de sa largeur de

-49-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

bande thoriquement infinie, il est difficile dexprimer le bruit blanc, cest pourquoi lon suppose que le bruit somm au signal dentre du rcepteur a t filtr par un filtre idal, de largeur de bande B trs grande devant la bande utile. Le bruit blanc peut tre rendu Gaussien par une distribution gaussienne. Ainsi, le bruit doit suivre la loi normale, ou loi de Gauss, rgie par la densit spectrale suivante :
p ( x) = 1

( xm)2 2 2

[Eq.II. 7]

avec qui reprsente la variance et m la valeur moyenne de la variable alatoire x. La figure suivante reprsente p(x) la densit spectrale dun bruit blanc gaussien.

Figure II. 6. Reprsentation dune distribution gaussienne

Dans la mesure o la valeur moyenne du bruit est nulle, sa distribution scrit


p ( x) = 1

( x)2 2 2

[Eq.II. 8]

II.3.4.2

Le canal multi-trajets

La modlisation du canal multi-trajets permet de prendre en compte linfluence des diffrents trajets dus la diversit de propagation dans le milieu indoor (rflexions multiples) et dobserver linfluence des autres utilisateurs qui travaillent dans la mme bande. Lquation [II.9] permet de modliser un canal comprenant i utilisateurs et n multi-trajets. r (t ) = n s i (t n )
i n

[Eq.II. 9]

o r(t) est le signal en sortie du canal, n et n respectivement lattnuation et le retard du trajet n et si(t) est le signal mis par lutilisateur i. Pour dfinir les deux paramtres retard et attnuations, deux solutions sont envisageables, bases soit sur une mthode statistique, soit sur des mesures in situ mais propre la topologie de lenvironnement.

-50-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 7. Reprsentation du principe du canal multi-trajets

Le modle statistique [HASH93] consiste dfinir les deux paramtres comme des variables alatoires ayant une rpartition la plus proche de la ralit. Cette mthode donne lieu des modles de canaux permettant dvaluer les performances de manire gnrale. Le modle de canal le plus rpandu est celui vanouissement o lon considre la somme des trajets au niveau du rcepteur un instant t : r (t ) = R(cos w0 t + m (t ) + )
[Eq.II. 10]

o m (t ) reprsente la modulation, et R et sont des variables alatoires. R reprsente leffet de la somme de tous les trajets sur londe reue et reprsente la phase des diffrents chemins qui sont considrs uniformment distribus sur (0:2). Dans un canal vanouissement, la variable R peut suivre deux lois : soit une loi de Rayleigh dans le cas dun affaiblissement de Rayleigh, soit une loi de Rice lorsquon considre le cas dun affaiblissement de Rice. Le canal de Rice est utilis lorsquun trajet est prdominant par rapport aux autres trajets (par exemple dans le cas dun metteur et un rcepteur en visibilit directe). On considre un canal de Rayleigh lorsque tous les chemins sont indpendants et dattnuations comparables. Les modles statistiques sont intressants pour traiter des cas gnraux, mais deviennent vite insuffisants pour tudier un cas rel.

II.3.5

Les mthodes daccs

Les communications hertziennes doivent utiliser la largeur des bandes de frquences alloues de manire optimale. Il sagit en effet, dune part de transmettre un maximum de donnes utiles par units de temps entre la source et le destinataire, mais galement de fixer les rgles permettant tous les metteurs de communiquer de faon optimale. Il sera donc ncessaire de dfinir les principes de communication lintrieur du mdium pour que les

-51-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

utilisateurs puissent se partager le canal. Ces principes bass sur le partage de la ressource sont appels techniques de mthode daccs. Historiquement, ils existent trois possibilits de partage : le FDMA (Frequency Division Multiple Access) fractionne laccs au mdium par un partage en frquence de la bande alloue. le TDMA (Time Division Multiple Access) partage laccs au mdium dans le temps le CDMA (Carrier Division Multiple Access) permet un accs multiple en nombre dutilisateurs avec une rpartition par code.

Nous allons prsent prciser chacune de ces mthodes daccs et conclure quant la mthode la plus intressante pour notre application.

II.3.5.1

Dfinition des mthodes daccs Le FDMA

II.3.5.1.1

Le FDMA (ou AMRF :Accs Multiple Rpartition dans les Frquences) est la technique la plus ancienne o les utilisateurs se partagent la bande passante du canal alors divise. Chaque utilisateur se voit allouer une frquence porteuse diffrente. La figure illustre le principe de rpartition en frquence du FDMA.

Figure II. 8 .Reprsentation temps frquence du FDMA

Il peut alors mettre en continu dans sa bande de frquence propre. La largeur de la bande tant plus rduite que la bande totale autorise, elle permet cette technique dtre moins sensible aux interfrences. Son inconvnient majeur est le manque de souplesse pour la ralisation dun dbit variable. Le nombre dutilisateurs est fix par le nombre de synthtiseurs de frquence implants dans le systme.

II.3.5.1.2

Le TDMA

Contrairement la mthode prcdente o chaque utilisateur travaille sur une porteuse diffrente, le TDMA (ou AMRT : Accs Multiple Rpartition dans le Temps) utilise ici une frquence fixe, son mission est alors restreinte des intervalles de temps prdfinis.

-52-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 9. Reprsentation temps frquence du TDMA

Le temps est ainsi dcoup en intervalles de longueurs fixes ou Slots . Nous ne pouvons pas mettre en continu, mais seulement certains instants dfinis de faon priodiques, la transmission se faisant en rafales, le dbit est plus grand que pour le FDMA mais entrane une sensibilit plus importante aux interfrences (un retard peut dgrader lintervalle de temps suivant). Son inconvnient principal est la ncessit dune synchronisation entre tous les utilisateurs avec une horloge commune.

II.3.5.1.3

Le CDMA

La technique du CDMA (ou AMRC : Accs Multiple Rpartition par les Codes) repose sur laccs du canal par tous les utilisateurs, qui pourront mettre en continu et sur toute la largeur de bande disponible. Ce principe est gnralement identifi comme une technique dtalement de spectre.

Figure II. 10. Reprsentation temps / frquence du CDMA

Ici, chaque utilisateur est reconnu grce un code qui lui est propre. Ce code, qui a un dbit plus lev que la donne, a la proprit dtaler le spectre de la donne transmise. La rcupration de linformation se fait en ralisant lopration inverse, c'est--dire en dcorrlant avec le code utilisateur identique. Lmission de chaque utilisateur est alors peru par les autres utilisateurs comme un bruit. Linconvnient de cette mthode est la diminution du dbit rel dans la mesure o chaque bit de donnes sera cod par un mot de longueur infrieur et variable.

-53-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.3.5.2

Critre de choix sur les mthodes daccs

Le mode TDMA parat plus performant que le mode FDMA en terme de dbit et de souplesse, mais la mthode daccs la plus adquate pour les milieux clos apparat tre le CDMA car elle rpond aux besoins suivants : Scurisation de linformation grce la signature par code, Flexibilit car elle se superpose facilement un systme existant (peu perturbatrice et forte immunit aux perturbations grce ltalement de spectre), Souplesse en termes de nombres dutilisateurs et de dbits grce au code dtalement, Accs parfaitement alatoire. Dun point de vue des interfrences, des tudes ont montr [VITE85] [MAZO79] que le TDMA et le FDMA taient plus avantageux si le milieu de propagation nintroduisait pas dvanouissements. Dans le cas contraire nous allons montrer que grce ltalement de spectre, le CDMA garantit de meilleures performances en milieu clos. Cest pourquoi la technique dtalement de spectre simpose comme technique de transmission.

II.3.6
II.3.6.1

Ltalement de spectre
Principe

Ltalement de spectre permet de rpartir lnergie radiolectrique du signal mis sur une bande de frquences plus importante que celle qui est initialement ncessaire. Il existe plusieurs techniques dtalement de spectre : Ltalement par saut de frquence (Frequency Hopping Spread Spectrum ou FH-SS) (Figure II. 11) Pour cette technique, le signal change par sauts successifs de frquences porteuses en fonction dun code pseudo-alatoire. Ce saut de frquence peut tre soit rapide (Fast FHSS) ou lent (Low FH-SS) selon que le rythme des sauts est bien suprieur ou bien infrieur au rythme des symboles. Les avantages du FH-SS sont : Sa rsistance aux interfrences bandes troites prsentes dans la bande du canal Sa rsistance aux problmes au near/far. Les problmes de near/far sont dus des utilisateurs (A) dun systme fonctionnant en CDMA placs trop prs dun rcepteur coutant un utilisateur (B). En effet, si la puissance de (A) est trop importante alors la corrlation entre le code du rcepteur et le message de (A) peut tre suprieure la corrlation du code rcepteur et du message issu de (B). Dans ce cas, le rcepteur naccroche plus (B) et perd linformation. L encore, grce aux sous-canaux, le FH-SS est mieux immunis car le problme ne se posera que lorsque (A) et (B) seront sur la mme frquence porteuse, alors quen DS-SS le problme est permanent. Les inconvnients se trouvent dans la complexit de la ralisation et au niveau des performances de la synchronisation. En effet, pour que le rcepteur se synchronise, il faut avoir une horloge commune pour lmetteur-rcepteur qui sera gre par un matre. Le gain en traitement dpend de la longueur de la squence de sauts de frquence mais aussi des performances des synthtiseurs.

-54-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 11. Spectre du signal tal en FH-SS.

Ltalement de spectre par squence directe (Direct Sequence Spread Spectrum ou DSSS) (Figure II. 12). Cette technique permet de coder le signal mis par un autre signal binaire (appel code de pseudo-bruit) ayant un dbit plus lev. Ce signal est alors peru comme un bruit large bande et prsente une densit spectrale reprsente sur la figure ci-dessous : Les avantages du DS-SS sont les suivants : Un meilleur temps daccroche comparativement au FH-SS. Un gain en traitement plus facile obtenir car il ne dpend que de la longueur de la frquence. Une synchronisation simple puisque le rcepteur se synchronise par rapport la trame reue.

Figure II. 12. Spectre du signal tal en DS-SS.

Notons galement ltalement par saut de temps TH-SS (Time Hopping Spread Spectrum) et le CDMA multi-porteuses (MC-CDMA) qui sont des techniques moins utilises que les deux premires.

Pour notre application, nous retiendrons la technique DS-SS pour diverses raisons. Dabord, ntant pas dans le cas de communications mobiles, les problmes near /far effets peuvent tre rsolus par la disposition judicieuse des metteurs/rcepteurs. Ensuite les normes

-55-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

mergentes et les comits de normalisation (ETSI pour lEurope) encouragent fortement lutilisation de ltalement de spectre [NEWM86] ce qui tend diminuer les interfrences bandes troites aux frquences alloues, rendant terme, le DS-SS sensible au brouillage intentionnel. A cela sajoutent les avantages prcits du gain de performances ainsi que la simplicit de ralisation qui sont des aspects importants pour la ralisation du systme en terme de surface et de cot. Nous allons dvelopper dans le paragraphe suivant ltalement de spectre par squence directe.

II.3.6.2

Ltalement de spectre par squence directe Le principe de ltalement de spectre par squence directe

II.3.6.2.1

Ltalement de spectre par squence directe (DS-SS) est une modulation de la trame de symbole transmettre (d(t)) par une squence dtalement pseudo-alatoire c(t) (Code dtalement ou Pseudo-Noise Code). Le PN-Code va ainsi diviser le code transmettre en sous intervalles dnomms Chip de priode bien plus petite que celui du bit transmettre (la priode du bit transmettre tant le temps symbole). La mise en uvre de ltalement de spectre par squence direct est illustre avec la figure suivante.

Densit Spectrale

Figure II. 13. Reprsentation schmatique des principales fonctions

Les trois principales fonctions mettre en uvre pour cette technique DS-SS sont la gnration des codes dtalements (PN-Code), la corrlation lmission qui permet dtaler la donne transmettre et la dcorrlation la rception qui permet de rcuprer la donne transmise en remontant le signal au dessus du bruit.

II.3.6.2.2

Les squences pseudo-alatoires

Le code dtalement, comme nous lillustrons sur la Figure II. 14, permet de diviser en sous intervalles le bit transmettre. Pour ce faire, il suffit de multiplier, au sens boolen du terme (Ou Exclusif) la donne mettre et le code dtalement c(t).

-56-

Densit Spectrale

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 14. Exemple dun codage par talement de spectre par squence directe.

Les squences pseudo-alatoires c(t) possdent des proprits mathmatiques particulires. Tout dabord, afin de ne pas modifier les proprits statistiques du signal mis (et par consquent son spectre), elles doivent tre le plus faiblement auto-corrles :
Rc ( ) = c(t ).c(t )dt = 0
+

pour 0

[Eq.II. 11]

o Rc() reprsente la fonction dautocorrlation de c(t). Afin dassurer la scurit et dviter le brouillage des sources entre-elles, les squences doivent tre le plus faiblement intercorrles :
Rci c j ( ) = ci (t ).c j (t )dt = 0
+

[Eq.II. 12]

O ci et cj reprsentant deux squences diffrentes. Enfin, pour permettre la synchronisation, elles doivent possder un pic dautocorrlation le plus troit possible :
Rc (0) = c(t ).c(t )dt = 1
+

[Eq.II. 13]

Comme ces proprits sont celles dun process stochastique proche du bruit, on les nomme squences pseudo-alatoire (ou pseudo-noise sequences). La fonction dautocorrlation [Eq.II.11] peut tre trace laide du logiciel SABER et reprsente sur la Figure II. 15.

-57-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

1,2 1 0,8
Rc( )
Corrlation Corrlation Rc (N=15)

0,6 0,4 0,2 0 -0,2 0 50 100 150

-0,068

200
(ns)

250

300

350

400

Figure II. 15. Fonction d'auto corrlation pour N=15 (Ts=375ns, Tc=25ns).

Au vu de ces proprits mathmatiques, il semble important que la synchronisation, entre le code la rception et le code lmission, se fasse correctement. Dans le cas dun cart temporel entre les deux codes, seul le bruit tal pourra tre rcupr au niveau du rcepteur. Cet organe de synchronisation est compos de deux tages, un qui permet de rechercher rapidement un pic dautocorrlation dans le signal reu et lautre qui permet daffiner cette recherche. Ces deux fonctions sappellent respectivement organe de synchronisation et boucle verrouillage de dlai et seront dtailles dans le paragraphe (Chapitre II II.5.4.2.2 et II.5.4.3).

II.3.6.2.3

Ltalement lmission

Ltalement de spectre correspond la multiplication du PN-Code gnr lmission avec la donne binaire ventuellement code mettre comme lillustre la figure suivante.

Donne binaire d(t)

Donne tale d(t)c(t)

Modulateur PSK

Signal tal Se(t) 2 P d (t )c(t ) cos( wo t )

PN-Code c(t)

Porteuse 2 P cos( wo t )

Figure II. 16. Principe de ltalement de spectre lmission.

Supposons que c(t) soit une squence NRZ (Non Retour Zro) prenant ses valeurs dans lalphabet {-1, +1}, c(t) scrit alors : c(t ) =

n =

C .g (t nT )
n c

[Eq.II. 14]

o g(t-nTc) est la forme du signal (Signal Shape), et Cn reprsente la squence transmise tire dun alphabet binaire {-1, +1}.

-58-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Supposons ensuite que sd(t) soit un signal DBPSK (Differential Binary Phase Shift Keying) dfini comme suit : s d (t ) = a(t ). cos[ w0 t + d (t )]
[Eq.II. 15]

avec w0 la pulsation de la frquence porteuse, a (t ) = 2 P lenveloppe constante dune porteuse de puissance P et d (t ) la phase de modulation faisant des sauts de 180 codant linformation transmise en diffrentiel. Il apparat alors que le signal peut aussi tre exprim de la manire suivante :
s d (t ) = 2 P d (t ) cos( w0 t )
[Eq.II. 16]

avec d(t) linformation code en diffrentiel. Une fois tal, le signal transmettre est not :
s e (t ) = 2 P c(t )d (t ) cos( w0 t )
[Eq.II. 17]

A partir de la densit spectrale de puissance du signal NRZ, on obtient aisment la densit spectrale de puissance de sd(t) et de se(t) si lon considre que c(t) est parfaitement alatoire. Cette hypothse nest pas loin de la ralit puisque les squences sont calcules [ISCC95] pour tre faiblement corrles. Les densits spectrales de puissance du signal reprsentant les donnes SSd et du signal tal en sortie de lmetteur sont :
1 PTS sin c 2 [( f fo )TS ] + sin c 2 [( f + fo )TS ] 2 1 S Se ( f ) = PTC sin c 2 [( f fo )TC ] + sin c 2 [( f + fo )TC ] 2 S Sd ( f ) =

[Eq.II. 18] [Eq.II. 19]

o Ts=N Tc. Leur reprsentation associe est illustre sur les figures (a) et (b) de la Figure II. 17 dans le cas dun facteur dtalement de longueur N=3. On observe que la densit spectrale du signal tal est divise par N alors que le spectre est tal de la valeur N.

-59-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

(a)

(b)

Figure II. 17. Densit spectrale de puissance du signal de donne et du signal de donne tal (N=3)

II.3.6.2.4

Le dstalement par corrlation

A la rception, le dstalement sobtient en corrlant le signal reu avec un PN-code gnr localement et identique celui utilis en mission. La Figure II. 18 en illustre le principe.

Figure II. 18. Principe de la dcorrlation la rception.

Lopration de dcorrlation est un point crucial de lorgane de rception. Pour quelle se passe correctement, il faut estimer le retard Td apport par le canal. Cette estimation sera faite par lorgane de synchronisation. Le signal en sortie du multiplieur sexprime
sm (t ) = 2 Pc(t Td )c(t Td' ) cos[ w0t + d (t Td )]
[Eq.II. 20]

o Td' est le retard estim. Si on suppose que la corrlation est totalement ralise aprs le filtrage passe-bande (qui ralise ainsi une fonction dintgration) et que lon nglige les distorsions apportes par ce filtre, alors le signal en sortie du dcorrlateur est :
s c (t ) = s m (t )

filtr

= 2 P Rc (Td Td' ) cos[w0 t + d (t Td )]

[Eq.II. 21]

-60-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Si la synchronisation joue son rle correctement alors Td=Td ce qui rend la fonction dautocorrlation Rc maximale (gale 1) et le signal est correctement dstal. Si par contre |Td|>Td, les proprits dautocorrlation entranent une fonction Rc minimale. Cest pourquoi la partie synchronisation et en particulier la poursuite seront les organes qui dtermineront les performances du systme. La partie dcorrlation ne peut videmment se drouler correctement que si les PNCodes de lmission et de la rception sont gaux. En effet si la donne binaire est tale avec un PN-Code ci(t) et que la dcorrlation se fait avec un PN-Code cj(t), le signal en sortie du corrlateur sexprime de la manire suivante :
s d (t ) = 2 P ci c j ( ) cos[w0 t + d (t Td )] = 0
[Eq.II. 22]

au vue des proprits dintercorrlations [Equa.II.12] Lautre proprit importante de la corrlation en rception est laugmentation du rapport signal sur bruit en sortie du dmodulateur dun gain (dnomme Gp) par rapport au rapport signal sur bruit en entre du dmodulateur (cf. Equation II.16).
P = 10 log10 + GP J dB S avec G p = 10 log10 ( N ) = sortie B dmodulateur S N
[Eq.II. 23]

S entre B dmodulateur

[Eq.II. 24]

Ce gain, dnomm gain en traitement, ou gain en process (Gp) est directement fonction du facteur dtalement N.

II.4 Caractristiques retenues pour le systme dsir


A la lumire de cet tat de lart sur les communications numriques, il devient possible de dresser un cahier des charges en vue de la ralisation du systme final. Le but premier est de raliser un systme de communication radiofrquence pour la communication entre capteurs et vers un systme central, dans un environnement clos. Le systme a la vocation dtre le plus flexible, multicanaux avec un canal haut dbit (5 Mb/s) tout en assurant un TEB denviron 10-6. De ces considrations, dcoule le cahier des charges suivant :

-61-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Frquence porteuse Bande passante Modulation Mthode daccs Technique dtalement S/N en entre du dmodulateur S/N en sortie de ltage RF Particularit

2,44 GHz 80MHz DBPSK/DQPSK CDMA DS-SS 11dB 3 dB


Gnrateur de PN Code programmable Filtrage de Nyquist non optimal (Fcoupure= 1/Tchip)

norme 802.11.b norme 802.11.b performance et ralisation Flexibilit performance et ralisation TEB et modulation 11dB-Gpmin

Tableau II. 5. Caractristiques retenues pour la ralisation dun prototype de communication entre capteurs.

Le cahier des charges tant fix, il est possible de dresser un synoptique du systme global. Ce systme, prsent sur la Figure II. 19, comporte toutes les fonctions de base permettant lmission et la rception des donnes numriques. Le principe de chaque fonction sera dtaill dans la suite de ce chapitre.
Capteur de position Capteur de temprature Video/Voix

Donnes
GENERATEUR DE PN CODE FPB
LNA

Donnes mises
Code 1 N=2047 Code 2 N=7 CODAGE DIFFERENTIEL

MODULATION Osc Local 2.44 GHz

ETALEMENT

EMETTEUR

Canal AWGN

Bruit Blanc Gaussien

FPB

LNA

TRANSPOSITION EN FREQUENCE

DESETALEMENT
PN - Code

DEMODULATEUR DIFFERENTIEL

MISE EN FORME

Osc Local 2.44 GHz

GENERATEUR DE PN CODE
Horloge de Rythme

SYNCHRONISATION POURSUITE

RECEPTEUR

Traitement des donnes


Figure II. 19. Schma de principe global du systme Emetteur/Rcepteur

Donnes reues

-62-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Les fonctions prsentes sur ce synoptique modliser et optimiser sont : La partie mission : Elle comprend les tages numriques ralisant le codage des signaux issus des capteurs et la fonction talement de spectre. Ce dernier tage permet dtaler le signal cod grce au codage de linformation par lintermdiaire dune squence pseudo alatoire. La partie radiofrquence (RF) met le signal tal sur une porteuse de 2.44 GHz (Bande ISM). Le canal AWGN (Additif White Gaussian Noise). Il comprend un tage pour la gnration dun bruit blanc gaussien et un tage dans lequel le bruit est additionn au signal tal sur frquence porteuse. La partie rception : La partie radiofrquence transpose le signal reu en bande de base. La fonction dstalement permet enfin de dstaler les donnes reues et ainsi rcuprer la trame mise. Pour faire cette opration, les systmes communiquants talement de spectre requirent que le PN code gnr localement soit synchronis avec la squence de la donne tale pour que le dstalement soit correct. Cest pour cela que nous trouvons la prsence des organes de synchronisation et de poursuite.

II.5 Description fonctionnelle des fonctions modliser


Dans ce paragraphe, nous aborderons les diffrents organes de notre systme. Pour chaque organe prsent nous exposerons leurs principes et leurs modles associs. Ils seront valids de manire qualitative par lobservation des signaux principaux sous le logiciel SABER.

Figure II. 20. Principe des fonctions modliser.

Les donnes binaires (tri(t)) issues des capteurs sont encodes diffrentiellement puis tales avec le code dtalement c(t) issu du gnrateur. Aprs avoir t modul, le signal doit tre filtr au moyen d'un filtre passe bande (o filtre gabarit) limitant la largeur de bande du signal selon les normes en vigueur. Dans notre application, la frquence centrale du filtre est de 2,44 GHz et sa largeur de bande de 80 MHz. A ces frquences, la ralisation dun tel filtre est trs dlicate, cest pourquoi nous avons dcid de raliser le filtrage de Nyquist avant la modulation. En effet, il sera plus ais de filtrer le signal en bande de base quen bande porte 2,44 GHz. Cela ne change rien dans le principe puisque loccupation spectrale est fixe par le signal en bande de base. De plus, comme le filtrage est ralis en amont du modulateur, lutilisation dun filtre numrique sera possible [LEE98]. Enfin, en ce qui concerne la puissance du signal, elle doit tre norme (Pe=100 mW selon les normes ETSI). Si on suppose un filtrage idal, le signal mis scrira donc : e(t ) = 2 Pe cos( 0 t + d (t ) + ) Nous allons prsent dtailler ces diffrentes fonctions.
[Eq.II. 25]

-63-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.5.1

Principe de la modulation diffrentielle

Comme nous venons de le voir dans le paragraphe prcdent, il a t choisi dimplanter un modulateur diffrentiel de phase ralisant lopration de codage diffrentiel des donnes issues des capteurs. Le signal transmettre nest donc plus un simple bit mais une information relative la comparaison avec le bit prcdent. Cette comparaison reprsentera un saut de phase et non un tat de phase comme pour les modulations traditionnelles. Ainsi, un saut de phase vaut 1 si deux bits successifs sont identiques et 0 si les deux bits sont diffrents qui sera traduit avec le codage suivant : tri = 1 d = tri = 0 d = 0
[Eq.II. 26]

avec tri la donne transmettre et d le saut de phase. Le tableau suivant fait tat de la table de vrit de lencodeur BPSK en donnant la valeur de la phase instantane di en fonction de linformation transmettre tri et ltat de phase prcdent di-1. d i-1 tri d di 0 0 0 0 0 1 1 1 0 0 1 1 1 0

Tableau II. 6.Table de vrit du codeur de transition.

Nous dduisons immdiatement du tableau prcdent lopration logique liant linformation transmettre et le signal encod : d i = tri d i 1 Cette fonction est reprsente par la fonction OU exclusif .
[Eq.II. 27]

II.5.2

Modlisation du gnrateur de PN Code

Les codes dtalement appels aussi PN-code, sont des squences binaires possdant de bonnes proprits de bruit [Eq.II.12]. Il existe diffrentes classes pour les squences pseudoalatoires qui comportent deux grandes familles non priodiques (Squence de Barker) et priodiques (M-Sequences, Squences de Hall, Squences Jumelles, Squences de Legendre) [ISCC95] [SIMO94]. Nous avons choisi dutiliser la sous-famille des M-squences (ou Maximal-length sequences) pour les raisons suivantes :
o Elles sont priodiques et donc plus facilement synthtisables par un circuit numrique. o Elles sont gnres au moyen dun polynme caractristique, dont les coefficients sont paramtrables par un circuit numrique.

La fonction dautocorrlation prsente lorigine (dcalage nul) un maximum, leur intrt majeur est dtre facilement gnr grce des registres dcalages linaires et donc synthtisables dans lobjectif dintgration numrique.

II.5.2.1

Principe de la gnration des M squences

La squence alatoire (b0, b1,b2, bn) que nous voulons produire grce ce gnrateur peut tre reprsente par le polynme suivant :

-64-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

b( D) = b1 D 1 + b0 + b1 D 1 + ... + bn D n

[Eq.II. 28]

Cette squence b(D) peut tre produite par un gnrateur de registre dcalage reboucl comme le montre la figure suivante :
a r-1 a r-2 a2 a1

a0

b(D)

gr

g r-1

g3

g2

g1

g0

Figure II. 21. Gnrateur de squence reboucl de type Galois.

Le polynme a(D) est la squence charge dans les registres dcalage et le polynme g(D), symbolis par des interrupteurs ouverts ou ferms selon la valeur des coefficients de g(D), reprsente larchitecture du gnrateur. Les polynmes g(D) utiliss sont choisis de telle sorte que b(D) ait les proprits dun PN-Code. Ces polynmes sont dits primitifs et ont t tudis et lists par Perterson et Weldon [ISCC95]. Le calcul de la squence b(D) ainsi gnr, se fait grce une division polynomiale des polynmes a(D) par g(D) galement dnomm polynme caractristique du gnrateur. b( D ) = a( D) g ( D)
[Eq.II. 29]

Pour que la squence b(D) soit de longueur maximale (proprit de M squences), il faut que le polynme g(D) soit irrductible et que la priode P = 2r-1 soit le plus petit entier. Pour cela, il faut que g(D) soit un polynme primitif [ISCC95]. Un autre type de gnrateur, dvelopp par Fibonacci, permet de gnrer des M squences. Ce dernier gnre la mme trame partir du mme polynme mais avec une structure diffrente. Ces deux types de gnrateurs (Galois et Fibonacci) sont implants dans notre systme. Ils ont t dvelopps grce aux travaux de Chien et Jain [JAIN92], sur les gnrateurs programmables de longueur maximale N=215-1. Le gnrateur de Galois est utilis lmission car il est plus simple mettre en uvre et plus rapide tandis que le gnrateur de Fibonacci sera utilis la rception car il permet dinitialiser le dmarrage des squences par une trame srie issue de la squence (Chapitre II II.5.4.4).

II.5.2.2

Simulation sous le logiciel SABER

La structure du gnrateur de Galois a t simule sous le logiciel SABER et peut tre programme par 2 mots parallles c(n) et i(n). Le premier mot reprsente la valeur du coefficient c(n) permettant de choisir la longueur du PN-Code. Le coefficient c(n) est calcul partir du polynme primitif g(D) auquel on retranche la valeur g0 (coefficient qui permet le rebouclage) : c ( n) = g ( D ) g 0
[Eq.II. 30]

Le deuxime mot i(n) est le vecteur dinitialisation du registre dcalage toujours gal 1 afin d amorcer le systme boucl. Lexemple de la figure suivante gnrant un PN-code

-65-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

de longueur N=15, fixe le coefficient c(n) 9 soit [000000001001], et le vecteur dinitialisation i(n) 1.

c(n) Coefficients

Horloge Chip Dmarrage PN_Code

I(n)

Initialisation
Figure II. 22.Gnrateur Galois avec les modules de configuration.

Le polynme primitif pour la valeur de coefficient c(n) choisie vaut g(D)=1+D+D4 (010011)b [2 3]O. La valeur du vecteur dinitialisation i(n) quivaut a(D). On peut donc retrouver aprs calcul, la valeur de la squence b(D) par la division polynomiale de a(D) par g(D). Dans notre cas, nous obtenons b(D)= 111101011001000 qui permettra donc de gnrer un PN-Code de longueur 15. Le tableau suivant nous prsente la correspondance entre la valeur du polynme primitif g(D), la valeur du coefficient c(n) et la valeur du PN-Code.

-66-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Valeur octale Coefficient c[n] g(D)

Valeur du PN code b(D)

7 15 31 63 127 255 511 1023 2047

[13] [23] [45] [103] [211] [435] [1021] [3023] [4005]

000000000101 1110100 000000001001 111101011001000 000000010010 1010111011000111110011010010000 000000100001 1111110101011001101101001001110 000001000100 1001001101001111011100001111111 000010001110 1011000111101000011111111001000 000100001000 1000100011001000111010101101100 001100001001 1111010111101110010011111000100 010000000010 1010101010111011101110010011100

Tableau II. 7. Configuration du gnrateur de PN code partir du coefficient c[i].

La figure suivante reprsente le schma lectrique du gnrateur de Galois qui est compos de bascules D et dune porte logique OU-Exclusif qui forment le registre dcalage, et de portes ET pour la configuration du polynme primitif. Le mot dinitialisation i(n) est lui cr grce des portes NON ET et NON .
PN_out q
D FF

clk

qn

c(n)
Bascule D

D FF

qn

clk

D FF

D FF

clk

qn

D FF

D FF

qn

clk

D FF

D FF

qn

clk

D FF

D FF

clk

qn

D FF

D FF

qn

clk

D FF

D FF

qn

clk

D FF

D FF

qn

clk

D FF

D FF

qn

clk

D FF

D FF

qn

clk

D FF

D FF

clk

qn

D FF

D FF

qn

clk

D FF

D FF

qn

clk

D FF

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

clk

qn

level:_1 el:_1

set_l4

D FF

clk

qn

i(n)
Clock_in

D FF

qn

clk

D FF

clk

qn

Figure II. 23. Exemple dun modle de gnrateur de Galois.

Load_C

SET

-67-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.5.3

Modlisation de la fonction corrlation

Le corrlateur est llment essentiel (aussi bien lmission qu la rception) pour un systme talement de spectre, puisquil dtermine les proprits fondamentales du gain en traitement et de limmunit aux multi-utilisateurs. Nous prsentons dans cette partie le modle de la corrlation lmission.

II.5.3.1

Corrlation lmission

Pour lmission la corrlation consiste mlanger la trame mise et encode diffrentiellement avec le PN-Code gnr localement pour produire un signal modul et tal se(t) daprs lquation [Eq.II.11] :
s e (t ) = 2 P c(t ) cos( w0 t + L + d (t )) = 2 P c(t )d (t ) cos[w0 (t Td ) + L ]
[Eq.II. 31]

o c(t) reprsente le PN-Code et d(t) la donne binaire. La multiplication entre la donne binaire et le PN-code peut tre ralise numriquement par un OU-Exclusif invers (ET-inclusif) comme le montre la table de vrit suivante : d(t) 1 1 -1 -1 di 1 1 0 0 1 -1 1 -1 c(t) ci 1 0 1 0 d(t)c(t) 1 -1 -1 1 d i ci 0 1 1 0
d i ci

1 0 1 0

Tableau II. 8. Table de vrit rvlant la fonction dtalement de spectre

di et ci correspondent respectivement aux valeurs numriques de trames d(t) et c(t) initialement codes en NRZ. Il est toutefois possible dutiliser un simple OU_EXCLUSIF, linformation transmise sera alors inverse. Le schma de principe modlisant la fonction de corrlation de lmission peut donc tre reprsente de la manire suivante :

Figure II. 24. Modle de lmetteur avec le corrlateur.

Le modle implant sur le simulateur nous permet de valider le principe de corrlation lmission. Les chronogrammes prsents sur la Figure II. 24 reprsentent les diffrentes formes dondes prsentes lmetteur avec les paramtres suivants : -68-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Un temps symbole Ts= 375ns. Un coefficient darrondi du filtre de Nyquist valant ici 0,35. La trame mise [10111001].

Trame mise

Trame encode

D(t)_PN Sortie corrlateur

D(t)_PN_filt sortie filtre de Nyquist

Figure II. 25. Principales formes dondes de lmetteur avec le corrlateur.

II.5.3.2

Corrlation la rception

Le corrlateur la rception est lorgane clef du systme de rception puisque cest lui qui dtermine les performances (gain en traitement) permettant de rehausser le rapport signal sur bruit [CHUN93]. Comme nous lavons montr prcdemment ( II.3.6.2.4) la dcorrlation seffectue en ralisant les oprations analogiques de multiplication et intgration avec un multiplieur et un filtre passe-bas pour une implantation en numrique [MELE01]. Plusieurs possibilits darchitectures ont t envisages. La solution retenue est prsente sur la Figure II. 26 . Il a t montr[MELE01] que cette structure permet de maintenir un gain en traitement suffisant proche de sa valeur thorique, tout en conservant une architecture simple. Intgrateur Bloqueur
Signal tal reu Sm(t) 2 P d (t Td )c(t Td ) cos( wot )

Intgrateur
( N 4 ) 1

Echantillonnage Blocage

Signal dstal Sc(t) 2 P Rc(Td Td ' )d (t Td ) cos( wo t )

PN-Code c(t-Td)

Frquence dchantillonnage

Figure II. 26. Schma de principe pour la corrlation numrique en rception.

Ce schma est valid par la simulation suivante des principales formes dondes pour un corrlateur la rception.

-69-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 27. Principales formes dondes pour le corrlateur au niveau du rcepteur.

Base_r_z reprsentant le signal reu tal Sm(t). Yl reprsentant le signal Sm(t) multipli par le PN_Code local c(t-Td). Yl_int_z est le signal intgr sur une priode de symbole. Yl_chant est la sorite du filtre Intgrateur/Bloqueur Sc(t).

II.5.4

Modlisation de lorgane de synchronisation

Avant de modliser notre organe de synchronisation, nous dfinirons la problmatique de la synchronisation pour un systme talement de spectre en exposant les principes sur lesquels elle se base.

II.5.4.1 Problmatique de la synchronisation dun organe talement de spectre


Le code pseudo-alatoire dtalement prsente de bonnes proprits dautocorrlation ce qui autorise la synchronisation lors dune inter-corrlation. En effet, pour que le dstalement se passe correctement, il est ncessaire que le PN-Code soit en phase avec le signal reu ce qui permettra de minimiser lerreur de corrlation et donc de maximiser le gain en traitement. La synchronisation du PN-Code est donc un point crucial au niveau du rcepteur et se droule en deux temps : la premire fonction que nous appellerons acquisition permet daligner le code identique lmission et localement gnr avec le signal reu grce la dtection dun pic dautocorrlation. La deuxime fonction, la poursuite permet de maintenir un alignement fin des donnes reues. La figure suivante illustre ces diffrents lments en prsentant un schma synoptique de lensemble de synchronisation en rception.

-70-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 28. Schma de principe de lorgane Acquisition/ poursuite .

Dans les paragraphes suivants, nous prsentons le principe de fonctionnement mis en uvre pour diffrents organes recenss pour les fonctions acquisition et poursuite. Nous prsentons dans ce cadre deux dispositifs permettant lacquisition pour un systme talement de spectre en milieu bruit dont les performances associes dtermineront le choix de la structure finale pour notre implantation.

II.5.4.2

Principes de mise en uvre de la fonction acquisition

Les diffrents moyens pour retrouver lorigine du PN-Code pour un systme talement de spectre sont rsums dans lorganigramme suivant [SIMO77].
Dstalement pour un systme DS/SS

SERIE

Estimation Squentielle
RASE
Rapid Acquistiion by Sequentiial Estimation

Filtrage adapt

RARASE

Variable Dwell Time

Fixed Dwell Time

Multiple Dwell Time

Single Dwell Time

CORRELATION

Figure II. 29. Organigramme des diffrentes possibilits dacquisition.

Les recherches pour lorigine du PN-Code, dans ltage dstalement, peuvent se dcomposer en deux catgories : Le filtrage adapt: cette structure permet dutiliser un filtre adapt au code dtalement. -71-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

La correlation : Ces structures sont bases sur lemploi dun ou plusieurs corrlateurs. Ils existent deux principales techniques qui sont : La recherche SERIE examine toutes les possibilits dalignement du PN-Code gnralement laide de dtecteur. Les possibilits dalignement peuvent se faire soit pour une priode fixe (qui peut tre simple ou multiple), soit pour une priode variable. Une estimation squentielle du PN-Code qui permet partir du signal reu de retrouver le PN-Code.

Ltage de dtection est quant lui compos dun dtecteur de maximum de vraisemblance permettant dvaluer partir du vecteur de dcision, quelle information a t transmise.

II.5.4.2.1

Mise en uvre de la fonction dacquisition

Lacquisition se base sur deux grands principes savoir, la corrlation et le filtrage adapt. II.5.4.2.1.1 Lacquisition par corrlation

Comme nous lavons nonc dans le paragraphe II.3.6.2.4, la mthode dite de corrlation rsulte dune multiplication entre le signal reu r(t) et le PN-code ci(t) suivie par une intgration de ce rsultat sur une dure T (dans notre cas le temps symbole). Ce calcul reprsente aussi la fonction dintercorrlation en r(t) et ci(t). On rcupre ainsi limage de londe transmise et donc de linformation. Dans le cas de lacquisition par corrlation en rception, le principe repose sur la mise en parallle de plusieurs branches, ralisant chacune cette fonction corrlation entre le signal bruit reu et le code dtalement volontairement retard.

Figure II. 30. Synchronisation par corrlation.

Le signal r(t) passe travers K corrlateurs en parallle qui assurent limage ri(t) compose par chaque branche de corrlation. On obtient alors lquation suivante :

-72-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

ri (t ) = r (t )ci (t )dt = [ y (t ) + n(t )]ci (t )dt


0 0

TS

TS

Eq.II. 32]

avec r(t) le signal tal reu , y(t) le signal mis, n(t) le bruit et c(t) lensemble des fonctions orthonorms (pour nous les PN-Codes). A partir de la banque de rsultats ri(t), en fin de chaque branche, nous trouvons la fonction dtection, non reprsente ici, qui sera dcrite dans une partie ultrieure (Chapitre 2 II.5.4.2.1.3). II.5.4.2.1.2 Lacquisition par filtrage adapt

La seconde mthode est appele filtrage adapte . Le principe du filtrage adapt est la recherche dun filtre f(t) tel que le rapport signal sur bruit soit maximal linstant de la dcision T.

Figure II. 31. Synchronisation par filtrage adapt.

Prenons lexemple suivant :

r (t ) = x(t ) + b(t ) avec x(t) le signal mis, b(t) le bruit et r(t) le signal reu.

[Eq.II. 33]

Le signal r(t) se positionne la sortie dun ensemble de filtres rponse impulsionnelle f(t). Do z(t) la sortie du filtre vaut :

z (t ) = (h r )(t ) = (h x )(t ) + (h b )(t )

[Eq.II. 34]

Le signal de sortie est donc la somme des sorties non bruites et de la contribution du bruit. Nous pouvons alors retrouver par le calcul du rapport signal sur bruit et le dveloppement des produits de corrlation que le filtre qui maximise le rapport signal sur bruit linstant de dcision T est le filtre dont la rponse impulsionnelle hk(t) est la copie retourne et dcale dans le temps du signal que lon recherche do

-73-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

f (T t ) k (t ) = k 0

[Eq.II. 35]

Cest pourquoi on parle de filtrage adapt puisque le filtre sadapte au signal. La relation existante entre le signal et linverse de la fonction de transfert souhaite peut tre calcule grce une simple intercorrlation entre r(t) et x(t) :
z (t ) = R yx (T t ) = r ( )x k (t )d = r ( ) f k (T t + )d
0 0 t t

[Eq.II. 36]

Le rcepteur calcule donc lintercorrlation entre le signal reu r(t) et le signal attendu x(t). Lavantage de cette mthode rside par rapport la corrlation dans loptimisation du rapport signal sur bruit en recherchant le maximum pour linstant T.
rk (t ) = y k (T ) = r ( )hk ( )d
0 T

[Eq.II. 37]

Linconvnient de cette mthode est de reproduire linverse de la fonction de transfert souhaite. II.5.4.2.1.3 Lorgane de dcision

Nous traitons dans ce paragraphe lorgane de dcision qui est llment permettant de trouver la meilleure information possible partir du signal reu ri(t). Cet organe se situe derrire les organes de corrlation (Chapitre II .II.5.4.2.1.1ou II.5.4.2.1.2).

Figure II. 32. Reprsentation schmatique de lorgane de dcision.

Comme le montre la Figure II. 32 ce choix se fait partir du calcul de probabilit derreur au niveau de lobservation ri(t). Ce critre de dcision sappelle le critre de maximum de vraisemblance.

II.5.4.2.2

Les principaux organes dacquisition

Nous exposons ici les trois principales catgories bases sur les principes que nous venons de prsenter. II.5.4.2.2.1 Dtecteur du maximum de vraisemblance

La Figure II. 33 montre la structure dun dtecteur maximum de vraisemblance. Nous pouvons observer quil est compos de deux lments. Le premier permet de calculer le rapport de vraisemblance qui dpend du canal alors que le deuxime compare ce rapport un seuil.

-74-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 33. Principe dun dtecteur de vraisemblance.

Il existe deux manires de calculer le maximum sur une probabilit derreur. La premire est la stratgie Baysienne qui base son calcul sur la notion de cot qui reprsente la pnalit ou la perte associe lvnement conjoint (c'est--dire le prix payer pour chacune des dcisions). La deuxime stratgie est la stratgie Neyman-Pearson qui elle considre deux sortes derreurs qui sont lerreur de fausse alarme et lerreur de mauvaise dtection. Pour ces deux stratgies, la figure suivante montre la structure dun dtecteur maximum de vraisemblance. Seul le calcul de seuil de dcision change entre les deux structures. Dans le cas Baysienne, le seuil dpend du cot et de la probabilit a priori, alors que dans le cas Neyman Pearson le seuil est fix par la probabilit de fausse alarme.

Figure II. 34. Principe dune dtection par maximum de vraisemblance avec corrlateur.

Le calcul pour les stratgies prcdentes se fait symbole par symbole, c'est--dire que le calcul de la probabilit derreur du dtecteur est optimal pour chaque symbole. Cependant lorsque le signal prsente une mmoire, c'est--dire 2 symboles successifs et ne sont pas indpendants, la stratgie du dtecteur doit dtecter une squence de symbole. Lalgorithme de recherche le plus connu est lalgorithme de Viterbi [VERD01]. II.5.4.2.2.2 SERIE Historiquement la synchronisation de type SERIE a t tudie par SAGE [SAGE64] un an avant le systme RASE. La structure SERIE est base sur la corrlation du signal reu avec le PN-Code gnr localement [POLY84]. Une dtection en sortie de corrlation estimera la corrlation. Comme nous pouvons le voir sur lorganigramme (Figure II. 29) des diffrentes acquisitions pour un systme talement de spectre, il existe plusieurs possibilits pour une acquisition de type SERIE : i. ii. Single Dwell time permet la recherche de chaque possibilit dalignement sur un intervalle de temps fix. Multiple Dwell time permet quant elle une estimation de la corrlation sur un intervalle de temps variable. Cette structure sera donc compose de plusieurs branches dobservation, avec un retard variable du code dtalement sur chaque branche ralisant la corrlation.

-75-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.5.4.2.2.2.a

La structure Single Dwell time

Le modle classique dcrivant une acquisition SERIE est prsent par la figure ci-dessous [ISCC95].

Figure II. 35. Synchronisation SERIE simple branche.

Il est compos de la fonction corrlation (multiplieur et intgration par filtrage) pour la pr-dtection, dune mise au carr pour la dtection non cohrente, dun bloqueur qui maintient la valeur sur un temps symbole et dun comparateur de seuil pour la prise de dcision. Cette structure prsente des inconvnients : si la prise de dcision en fin de chane directe fait tat dune corrlation mdiocre, il faut recommencer un nouveau calcul en dcalant le code local. Ceci peut se ritrer jusqu N.Tc fois, et devient extrmement pnalisant lors d squence alatoire longue (N leve). Ce temps peut tre diminu par une augmentation du nombre de branches, solution propose par la structure Multiple Dwell . Toutefois, ce type dacquisition est efficace, avec des fonctions pouvant tre implmentes en numrique.
II.5.4.2.2.2.b Multiple Dwell time

Cette structure est une duplication en N branches de la structure Single Dwell time. Une logique de contrle de corrlation est ajoute pour dtecter la branche prsentant une corrlation maximale. Le PN-Code local est dcal dune fraction de temps chip et le rsultat de chaque branche est nouveau estim. Il est possible de trouver un compromis performance/temps de calcul en fixant judicieusement ce temps de dcalage.

. . .

Figure II. 36. Synchronisation SERIE N branches.

-76-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Outre une complexit plus importante, lavantage de cette structure est la diminution du temps daccrochage et sa bonne immunit au bruit. II.5.4.2.2.3 RASE : Rapid Acquisition by Sequential Estimation

La mthode de synchronisation RASE permet de reconstituer le PN-Code partir du signal reu. Cette structure a t dveloppe par [WARD77] puis approfondie par Kilgus et Yiu [POLY84b]. Le schma de fonctionnement est le suivant:

Figure II. 37. Principe de la synchronisation RASE.

Initialement les commutateurs sont sur la position 1. Une estimation du PN-Code incident est effectue par le dtecteur et est charge dans les registres du gnrateur de PN-Code. Lorsque les registres sont pleins, les commutateurs sont mis en position 2 et le gnrateur dlivre le PN-Code. Ltape suivante est la vrification de la synchronisation, pour cela une corrlation entre le PN-Code estim et le signal reu est faite. Une logique de contrle permet de dterminer si la corrlation a eu lieu. Si cest le cas, les interrupteurs restent en position 2 et la synchronisation entre le PN-Code et le signal reu est correcte sinon il faut r-estimer le code incident, les interrupteurs repassent donc en position 1. Il existe une amlioration de cette mthode par la technique de RARASE (Recursion Aided Rapid Acquisition by Sequential Estimation) qui repose sur les mmes principes que la technique RASE pour lestimation et la dtection de corrlation. Un indicateur de mrite form par la somme de chaque code sur un temps chip dtermine quand les registres du gnrateur doivent tre commuts pour le rechargement du code estimer. Cette mthode a comme avantage que le temps destimation du PN-Code est relativement faible et elle permet que le PN-Code gnr localement soit parfaitement en phase avec le signal reu. Linconvnient de cette technique est quelle est valable pour des rapports signal sur bruit modrs car les erreurs de lestimation sont de plus en plus importantes lorsque lenvironnement est de plus en plus bruit. Ceci est donc contradictoire avec le principe de ltalement de spectre.

-77-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.5.4.3

Etude /comparaison thoriques des boucles de poursuite

Aprs avoir dcrit la partie acquisition qui permet de retrouver le PN-Code, nous allons prsenter la seconde fonction constituant la synchronisation dun systme talement de spectre la poursuite . Cette fonction permet daffiner et de maintenir le code dtalement avec la trame reue pour effectuer lopration de dstalement correctement. Cet organe se schmatise de la manire suivante: Command par validation de lacquisition

Erreur de poursuite = Td - Td

r(t) signal reu avec un certain retard Td

DISCRIMINATEUR

(t,)

Signaux en avance ou en retard Signal en phase avec le signal reu Td

Filtre de boucle
Oscillateur numrique control en tension

Gnrateur de PN CODE

Figure II. 38. Schma de principe dune boucle de poursuite.

La boucle de poursuite comporte quatre fonctions principales savoir : Le discriminateur : Il fournit une tension (t) proportionnelle lerreur de poursuite . Cette erreur de poursuite est dfinie comme la diffrence entre le temps de retard d la propagation dans le canal Td et celui estim par la boucle Td. Le Filtre de boucle qui permet deffectuer une intgration de la tension obtenue. Loscillateur numrique command en tension (NCO) permet de gnrer un signal dont la priode varie en fonction de sa tension dentre. Le gnrateur du code dtalement qui permet de dlivrer localement des codes fonction de la frquence fournie par loscillateur. Lasservissement permet de gnrer le signal de sortie en phase avec le signal dentre. Toutes les topologies de boucles verrouillage de dlai sont bases sur le mme schma fonctionnel. Les trois structures de la littrature [ISCC95] se diffrencient uniquement par les fonctions intgres dans le discriminateur. Nous allons maintenant prsenter fonctionnellement les diffrentes boucles de poursuite (spcialement leur discriminateur) et en tirer leurs principales caractristiques. Nous tudierons en particulier la performance Tracking Jitter [ISCC95] qui permet dvaluer la variation de lerreur de dlai autour de lorigine. Cette valeur doit tre bien entendu la plus faible possible afin de garantir un taux derreur sur le bit (TEB) minimal. Trois topologies dorganes de poursuite sont couramment cites dans la littrature [GUIL03] : la boucle verrouillage de dlai (Delay Locked Loop ou DLL) cohrente, la DLL non cohrente et la TDL (Tau Dither Loop).

-78-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.5.4.3.1

DLL Cohrente

Le schma de principe de la DLL cohrente est montr sur le schma suivant :

' c t d + TC 2

' c t d TC 2

' c t d

)
Figure II. 39. Schma de principe de la DLL cohrente

Selon la Figure II. 39, nous pouvons voir que ce discriminateur est compos de 2 branches principales. Chacune des branches pilotes par le code dtalement en avance et en retard se compose de la manire suivante : Une corrlation permet la multiplication entre le PN Code (en avance et en retard) et la trame reue tale en bande base. Un filtre passe-bas qui permet de rejeter les frquences non desires. Une mise au carr et un soustracteur. La tension derreur (t) en sortie du discriminateur, aprs calcul, scrit [ISCC95] :

[Eq.II. 38]

(t ) = ( y ) ( y+ ) = K P Rc2 r Tc Rc2 r + Tc 2 2
2 2

avec K le gain du multiplieur, P la puissance du signal reu, Rc la fonction dautocorrlation ( II.3.6.2.2) et est une constante fixe par le concepteur, qui permet dajuster le retard du code local gnr comme un multiple ou un sous multiple du temps chip Tc. Sa valeur est gnralement comprise entre 0,5 et 2 [SHEE94], ce qui correspond un dcalage temporel dcalant Tc/4 et Tc respectivement. Enfin, N reprsente le dlai normalis dfini comme suit :

N =
Lquation [Eq.II.37] scrit galement :

Td Td' Tc

[Eq.II. 39]

(t ) = K 2 PD ( N )

[Eq.II. 40]

-79-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Nous faisons volontairement apparatre la quantit D ( r ) dnomme fonction S-Curve qui correspond la diffrence entre les 2 fonctions dautocorrlation leves au carr. Cette fonction S-Curve est la caractristique du discriminateur.

II.5.4.3.2

La DLL Non Cohrente

Le schma de principe de la DLL Non cohrente est dcrit sur la Figure II. 40.

Figure II. 40. Schma de principe dune DLL non cohrente.

La principale diffrence entre une DLL cohrente et DLL non cohrente [SIMO77] est que cette dernire fonctionne sur frquence porteuse alors que la DLL cohrente est sur bande base. Cet oscillateur local dlivre une frquence gale la frquence porteuse dmission laquelle est soustraite une frquence intermdiaire FFI. Les signaux A1(t) et A2(t) sont alors sur frquence porteuse, de valeur fp-f FI. Ainsi, le discriminateur outre le signal dentre tal sur frquence porteuse fp comporte deux branches dentre (avance /retard) comme dans le cas prcdent. En sortie des mlangeurs M, les signaux Y1(t) et Y2(t) sont transposs en frquence intermdiaire pour un rle quivalent au filtre Passe-Bas de la boucle en bande de base. Le dtecteur dnergie final (mise au carr et filtre) dlivre alors le rsultat de la corrlation pour la branche considre. La tension derreur en sortie proportionnelle lerreur de poursuite estime scrit [ISCC95] :
2 2 (t ) = y (t ) y + (t ) = K1P Rc 2 - Tc Rc 2 + Tc 2 2 2

[Eq.II. 41]

1 (t ) = K1PD ( ) 2

II.5.4.3.3

La TDL (The Tau Dither Loop)

Le schma de principe est celui reprsent sur la Figure II. 41. Nous constatons la diffrence des prcdentes boucles, que le discriminateur se compose dune seule branche, dans la mesure o un commutateur ralise une commutation priodique entre les codes dtalement mesurs et retards.

-80-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Figure II. 41. Schma de principe de la TDL.

Il comporte les lments suivants : Une fonction interrupteur, commande par un signal numrique q(t) de valeur +1 et -1. Un mlangeur coupl un oscillateur local oscillant une frquence fP-fFI. Un corrlateur qui permet la multiplication entre le signal reu et deux PN codes : un en avance dune demi priode et lautre en retard dune demi priode. Un filtre de PasseBande qui permettra dtre centr sur la bande voulue. Une structure de dtecteur dnergie. Un multiplieur qui permettra la multiplication entre la sortie du dtecteur et le signal q(t) qui commande linterrupteur des PNcodes .

Le principal avantage de cette structure rside dans le fait quelle comprend un nombre plus rduit de fonctions compares avec deux autres boucles (une seule branche dans le discriminateur). La tension scrit, aprs calculs [ISCC95]

(t ) = ( y ) q1(t ) ( y+ ) q2 (t )
2 2

[Eq.II. 42]

Dans le cas o : Q1 =+1 Q2=-1 Lquation [Eq.II.42] scrit, aprs calcul:


' ' (t ) = K1PD ( ) avec D ( ) = D ( )

1 2

1 2

[Eq.II. 43]

-81-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

II.5.4.3.4
-

Comparatif des diffrents modles de boucles de poursuite

Les performances exposes sont : la structure du discriminateur. Ce critre nous permet de juger la complexit de la structure en vue de limplantation. La caractristique du discriminateur. Lexpression de lerreur de poursuite en fonction de K le gain du multiplieur, P la puissance reue et D() la caractristique du discriminateur (fonction S-Curve). Le Tracking Jitter [WILD95][WELT94]. Le paramtre reprsente la dynamique de variation de dlai autour de lorigine de au bruit prsent en entre. 2 Il est dfini partir du calcul de la variance et dcrit comme suit pour les diffrentes boucles :
o DLL cohrente 2 =
N 0 WL 1 = L 2P
2

o DLL non cohrente =


2 =
=

N 0WL 2 N 0 B N 1 1 + = 4 P 2 L
2 N 0 WL B N + 2P 2 8 1 + 2

2 1 + IF
8 3 + 4 9 2 1 4

o TDL

N W 1 1 8 0 L + 1 + 2 P 4 4 2

1 1.811 + 3.261 2 L IF

avec N0= densit spectrale du bruit, WL= Bande passante quivalente du bruit, P P=Puissance reue , BN = Bande Passante du filtre Passe Bande et IF = . N 0 BN Dans le cas de courts dlais et pour assurer un taux derreur sur le bit faible, ce critre doit tre le plus faible possible. Ainsi, la variation du Jitter aura peu dinfluence sur des dlais courts.
Divers Structure du Caractristique du Tracking Jitter Discriminateur Discriminateur [ISSC95] 2 2 DLL Cohrente 2 Branches, Bande de Base 1 (t , ) = y (t ) y + (t ) 2 corrlateurs, 2 L = K1 PD ( ) 2 filtres passe bas, 2 mises au carr 1 soustracteur 2 2 Frquence DLL Non 2 Branches (t , ) = y (t ) y + (t ) 1 2 1+ Porteuse cohrente 2 +2 corrlateurs 1 2 L IF = K1 PD ( ) 2 filtres Passe bande 2 2 dtecteurs dnergie 1 oscillateur local 1 soustracteur 2 2 TDL 1 branche Facilit (t , ) = y (t ) y + (t ) 1 3.261 1.811+ 1 interrupteur dimplantation 1 D ( ) 2L IF = K1 P 1 filtre Passe bande HARDWARE 2 2 1 Dtecteurs dnergie 2 corrlateurs Tableau II. 9. Rcapitulatif des modles et de leurs caractristiques. Modles

-82-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Daprs le Tableau II. 9, nous voyons que la structure la plus simple est la TDL car elle ne comprend quune branche. Cest son principale avantage. Mais sa simplicit dimplantation dgrade des paramtres importants comme le Tracking Jitter . Ce que nous souhaitons au niveau performance cest que ce paramtre soit le plus faible possible ; ce sera cause de ce point que la DLL cohrente sera privilgie pour limplantation.

II.5.4.4

Choix de lorgane de synchronisation

A partir de ltude et de la structure des organes de synchronisation (II.5.4.2.2), ces modles ont t implants sous le logiciel SABER. Nous avons donc dvelopp un modle fonctionnel complet sous ce logiciel, en bande de base, incluant toutes les fonctions prcdemment tudies dans ce chapitre : gnration de code dtalement, talement de spectre lmission, dstalement en rception, encodage diffrentiel, organe de poursuite de type DLL cohrente. De plus, afin de dterminer les performances des synchronisations Srie et RASE, il est ncessaire dinclure un modle AWGN, ainsi quun retard Td paramtrable. Ces deux fonctions sont inclues dans la bibliothque de modle SABER : le bruit blanc est born par un ajout dun filtre passe-bas de longueur de bande gale 40MHz. Quant la fonction retard, elle est modlise par la quantit e Td p . La comparaison entre les deux organes de synchronisation se base sur leurs performances en terme dvolution de gain en traitement Gp et du temps dacquisition (temps daccrochage) en milieu bruit.

II.5.4.4.1

Simulation de lorgane SERIE

La structure fonctionnelle complte metteur-rcepteur en bande de base, dveloppe sous SABER et incluant un organe de synchronisation Srie de type multiple Dwell time deux branches, est prsente sur la Figure II. 42. Les deux oprations de corrlation (les deux branches de lacquisition) sont effectues pour un dcalage du code dtalement gal un temps chip, soit 25ns. Le bloc logique de contrle saisit les rsultats des oprations des branches de corrlation, et dtermine partir du seuil le code dtalement dlivrant une corrlation maximale. Si cette condition nest pas satisfaite, le bloc de contrle dlivre un signal ( contrle ) qui commande un dcalage de lhorloge rythmant le gnrateur de code. Ce dcalage final et fix par lutilisateur et gnralement compris entre 0,25 Tc et Tc.

-83-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Contrle

Figure II. 42. Modle de la synchronisation SERIE.

Pour un retard dans le canal fix 25ns, la Figure II. 43 fait tat de chronogrammes de signaux cl de la synchronisation srie, savoir :
Correl1 et correl2 sont les signaux prsents en sortie de chaque branche,

respectivement pour un dcalage nul de valeur 25ns entre le code local et la trame reue. Aucune corrlation nest dtecte (Figure 43-a). Paralllement, lopration de corrlation fournit un saut de valeur dpassant le seuil pralablement talonn (Figure 43-b) Le signal contrle , signal matre de la commande du dcalage dhorloge lorsque la corrlation nest pas suffisante, est actif jusqu dtection dune corrlation corrle. Il est alors par suite inactif. Les chronogrammes suivants valident la fonction dveloppe et autorisent la mesure du temps dacquisition, pour cet exemple de valeur 20s.

-84-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Signal contrle (c)

Temps dacquisition

Correl2 (b)

Correl1 (a)

Figure II. 43. Signaux en sortie des corrlateurs et signal de contrle.

II.5.4.4.2

Organe RASE

Figure II. 44. Schma fonctionnel de la structure RASE.

Le modle de lorgane de synchronisation RASE implment sous le logiciel SABER est reprsent sur le Figure II. 44. Le corrlateur auquel on a ajout un dtecteur dnergie (mise au carr) et un filtre Passebas, permet de rcuprer la valeur efficace de la corrlation. Une logique de contrle estime partir dun seuil la corrlation. Si le franchissement du seuil nest pas effectu, alors une

-85-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

impulsion lost est gnre. Cette impulsion commande le bloc logique de linterrupteur dont le signal CTRL est limage et pilote linterrupteur (Organe Switch). Linterrupteur comporte un tat de chargement et un tat de synchronisation. Pour un rapport signal sur bruit de -3dB, les signaux cls ont t visualiss sur la Figure II. 45 et sont : out_correl . Ce signal est celui prsent en sortie du corrlateur et de la dtection (Mise au carr et filtre Passe-Bas). Le seuil pralablement dfini par lutilisateur est franchi aux environs de 22s. CTRL . Ce signal permet le contrle des interrupteurs et est actif tant que la corrlation nest pas ralise. Limpulsion du signal bascule ltat de linterrupteur Swith. Lorsque le seuil de corrlation est franchi, le signal CTRL devient inactif.

Temps dacquisition

Seuil 1,5V

Figure II. 45. Sortie du corrlateur pour un rapport SNR=-2,9 dB et un seuil de 1,5V.

Ce chronogramme permet la validation RASE et la mesure du temps dacquisition qui est estime ici environ 22s.

II.5.4.5

Comparaison des boucles [GUIL04J]

Notre comparaison s'est focalise sur deux paramtres clefs d'un systme talement de spectre, que sont le gain en traitement Gp et le temps d'acquisition Tacq.

II.5.4.5.1

Gain en traitement

Le gain en traitement reprsente la diffrence entre le rapport signal sur bruit en sortie du rcepteur et le rapport signal sur bruit en entre.
S S Gp = B Sortie / rcepteur B Entre / rcepteur
[Eq.II. 44]

-86-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

Ce gain en traitement traduit un avantage important des systmes utilisant la technique dtalement de spectre, savoir laugmentation aprs dcorrlation en rception du niveau du signal dun facteur gal ce gain Gp. La Figure II. 46 montre lvolution du gain en traitement des deux structures de synchronisation, le niveau de bruit tant paramtrable au moyen du canal AWGN implant dans le simulateur. Ces rsultats sont compars au gain en traitement thorique, dpendant directement de la longueur N du code : Gp=10 log [N]
[Eq.II. 45]

Les rsultats prsents sont pour une valeur N gale 15, soit un gain de traitement thorique de 11,7dB.
12

Gain en traitement (dB)

11,5

11

10,5

RASE

SERIE

THEORIE

10 -8 -6 -4 -2 0 2 4 6 8 10

Rapport Signal/Bruit en entre rcepteur (dB)


Figure II. 46. Comparaison du gain en traitement pour les structures dacquisition SERIE et RASE.

Pour les trs faibles niveaux de bruit (SNR entre > 4dB), la structure SERIE est trs proche du gain en traitement thorique, alors que la structure RASE prsente un gain infrieur de 1 dB. Lorgane SERIE assure toujours un meilleur gain en traitement lorsque laugmentation du bruit dgrade les performances des deux structures. Uniquement pour des trs haut niveaux de bruits (SNR <-4 dB), la structure RASE semble prsenter un meilleur gain. Cependant, dans ce cas les valeurs de bruit associes, de fortes valeurs, entranent trs rapidement une impossibilit de synchronisation. Daprs ces rsultats pour des rapports signal sur bruit communment rencontrs en milieu clos, la structure SERIE semble avantageuse.

II.5.4.5.2

Temps dacquisition

Le temps dacquisition conditionne directement le temps de rponse du systme complet. Il a t mesur partir des simulations des signaux de contrle et du signal rsultant de lopration de corrlation, comme prsent dans le paragraphe (Chapitre II II.5.3.2). Son volution, dans le cas des deux structures de synchronisation, est prsente sur la Figure II. 47 en fonction du rapport signal sur bruit. -87-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

80 70

Temps d'acquistion (s)

SERIE

RASE

60 50 40 30 20 10 0 -8 -6 -4

Rapport Signal/Bruit (dB)

-2

10

Figure II. 47. Mesure du temps dacquisition pour les 2 structures dacquisition

Pour de faibles niveaux de bruit (SNR>-2 dB), la structure RASE est ici plus performante que la structure SERIE. En effet, elle calcule le code dtalement reu par estimation. Pour des niveaux de bruits plus importants (SNR<-2 dB), ce calcul est de plus en plus complexe et le temps dacquisition se dgrade. Dans ce cas, la structure SERIE devient nettement plus avantageuse, prsentant par exemple un temps dacquisition rduit de 30% pour un rapport signal sur bruit de 6 dB dans le canal.

II.5.4.5.3

Conclusion sur le choix des organes de synchronisation

Nous avons compar ces deux principales structures de synchronisation (Srie et RASE) en dterminant par simulations fonctionnelles les paramtres clefs du systme que sont le gain en traitement et le temps dacquisition. Au vu des rsultats obtenus, il apparat une complmentarit des deux structures. En prsence dun rapport signal sur bruit moyen lev, le systme synchronisation Srie prsente un meilleur gain en traitement avec toutefois avec un temps daccroche plus important. Pour un milieu trs fortement bruit, le gain en traitement devient voisin de celui obtenu avec la structure RASE, tout en prsentant un temps daccroche cette fois-ci favorable. Pour toutes ces raisons, nous retiendrons donc la structure Srie car la rsistance au bruit est un paramtre important pour notre systme. De plus, cette structure Srie peut tre optimise, par une augmentation du nombre de branches effectuant les calculs de corrlations. Cette amlioration, visant diminuer le temps dacquisition, sera value ultrieurement (Chapitre 4 IV.5.1.2).

II.6 Conclusion
Dans ce chapitre, aprs des gnralits sur les communications numriques, nous avons dcrit le cahier des charges pour un systme de tlcommunication talement de spectre. Nous avons alors pass en revue les diffrents organes mis en jeux dans ce systme (modulation, talement de spectre et sa gnration de PN-Code, dmodulation) en dveloppant particulirement lorgane dacquisition et de poursuite. Une recherche bibliographique a montr les diffrentes possibilits pour concevoir ces deux fonctions. Deux solutions ont t mises en avant pour la structure de lacquisition (acquisition SERIE, -88-

CHAPITRE II : Vers la conception dun systme de tlcommunications talement de spectre

acquisition RASE) et une pour la poursuite (DLL Cohrente). Nous avons alors compar ces dispositifs sur les critres de gain en traitement et de temps dacquisition. De cette comparaison, la structure SERIE avec la boucle verrouillage de dlai cohrente a t retenue particulirement cause de sa rsistance au bruit, et la possibilit doptimisation de la latence finale par lajout de branches de corrlation supplmentaires.

-89-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

-90-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau
Rsum
Ce chapitre dcrit tous les tages dvelopps en VHDL-AMS. Ces modles permettent loptimisation de diffrents paramtres de lorgane de synchronisation (nombres de branches, valeur du seuil de corrlation). Dans ce chapitre, nous avons tout particulirement dvelopp notre propre modle de canal compos dun canal AWGN et dun module de retard paramtrable.

Introduction ................................................................................................................................................. 93 Le langage VHDL-AMS ............................................................................................................................. 94 2.1 Historique .......................................................................................................................................... 94 2.2 Choix de ce langage........................................................................................................................... 94 2.3 Description du langage[VACH02][HERV02] ................................................................................... 94 3 Codage en langage VHDL-AMS de lmetteur/rcepteur......................................................................... 100 3.1 Fonctions implanter et caractristiques........................................................................................ 100 3.2 Les tages numriques ..................................................................................................................... 103 3.3 Description des parties analogiques................................................................................................ 128 3.4 Description du Convertisseur Analogique / Numrique .................................................................. 135 4 Rsultats de simulation.............................................................................................................................. 135 4.1 Simulation de la fonction dautocorrlation .................................................................................... 135 4.2 Simulation de la chane complte Emetteur/Rcepteur.................................................................... 136

1 2

-91-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

-92-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.1 Introduction
Dans le chapitre prcdent, nous avons tudi les diffrentes fonctions du systme metteur/rcepteur talement de spectre. Nous allons maintenant dvelopper dans ce chapitre la description du prototypage virtuel associ. Considrant la complexit du systme, nous avons choisi une description base sur un langage matriel de haut niveau, qui prsente comme avantage une grande flexibilit de conception [HERV02]. Historiquement, deux types de langage de description matrielle sont ns quasi-simultanment, au dbut des annes quatre vingt dix : le VHDL et le Verilog. Ces deux langages supportent la gestion des signaux vnements discrets. Par suite est apparu leur extension respective (VHDL-AMS et Verilog-AMS) incluant la gestion des signaux temps continu. Le Tableau III. 1 rsume cette volution.
Langages VHDL Verilog Organisme de normalisation IEEE(1076)
(Date de normalisation : 1993)

Objectif du langage
Description du matriel Description du matriel

Commentaires
Niveau dabstraction leve. Langage le plus utilis en Europe.

Langage plus utilis aux Etats Unis. Verilog 2001nest pas toujours pris en compte par les outils du commerce Description dun Niveau dabstraction plus lev que le IEEE(1076) VHDL-AMS systme analogique Verilog-AMS. (Date de (Extension du VHDL) normalisation : 1999) et numrique. Outil graphique (Simplorer et [IEEE1] SystemVision) dvelopp pour le VHDL-AMS Description dun Niveau dabstraction restreint . IEEE Verilog-AMS systme analogique (Date de (Extension du Verilog) normalisation : 1998) et numrique. [IEEE2]

IEEE(1364)

(Date de normalisation : 1995)

Tableau III. 1. Rcapitulatif des principaux langages de description matrielle et de leur extension.

Ces deux langages (VHDL-AMS et Verilog-AMS) prsentent des capacits techniques assez similaires. Nous avons retenu de dvelopper notre prototype en langage VHDL-AMS, pour diverses raisons : Premirement, le VHDL (ou VHDL-AMS) a un niveau dabstraction plus lev que le Verilog ce qui permet davoir une meilleure vision au niveau systme. Notre environnement et collaboration scientifique semblent plus ouverts aux changes avec des spcialistes du VHDL-AMS que du Verilog-AMS. Enfin, les outils disponibles au laboratoire et loffre logicielle en outils graphiques (des socits Ansoft ou Mentors Graphics) sappuient sur ce langage. Ce chapitre sarticule de la manire suivante : dans un premier temps, nous allons prsenter le langage de haut niveau VHDL-AMS, permettant de dfinir sa puissance mais aussi ses limites de performances. Puis, toutes les fonctions mixtes analogiques et numriques, propres notre prototype de tlcommunication talement de spectre sont dveloppes dans ce langage. Des fonctions analogiques spcifiques ont du tre mises en uvre, le langage nincluant pas de bibliothque de bruit par exemple.

-93-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.2 Le langage VHDL-AMS


III.2.1 Historique
Dans les annes quatre vingt, le dpartement de la dfense amricaine fait un appel doffre afin de disposer dun langage de description de matriel numrique unique. Le langage VHDL (VHSIC Hardware Description Language) est retenu pour rpondre ce critre. Ce langage est un sous produit de VHSIC (Very High Speed Integrated Circuit) qui est un projet de recherche national men par le groupement IBM/Texas Instruments/Intermetrics. Ce langage est ouvert au domaine public en 1985 et deviendra une norme IEEE en 1987 sous le nom de IEEE 1076-1987. Des changements minimes se feront pour la seconde normalisation en 1993 et il portera le nom VHDL93. La dernire norme en cours est la norme IEEE 1076-2001. Ce langage de description matrielle permet la description du matriel dun systme au cours dune ou plusieurs tapes de conception. Comme ce langage a pour vocation dtre un langage de description matrielle numrique, il est exploit par tous les fabricants de circuits numriques pour son indpendance la technologie de fabrication. Il est aussi bien utilis pour le dveloppement, la synthse ou la vrification systme. Par la suite (fin des annes 90), le langage VHDL-AMS est une redirection du langage VHDL-A qui devait tre la base un langage de modlisation analogique. Le langage VHDLAMS, dont les bases numriques sont le VHDL, permet la modlisation dun systme multidisciplinaire. Il gre donc aussi bien les signaux numriques que analogiques. Comme le VHDL, nous pouvons faire aussi bien de la description comportementale, de la description structurelle que de la description de type bote noire . Ce langage conserve les mmes principes que le VHDL (modularit, flexibilit, extensibilit) ainsi que la mme smantique, mais apporte un net avantage grce la possibilit de modliser un systme complet et linfluence de son environnement.

III.2.2

Choix de ce langage

En vue dimplanter notre systme, le choix du langage VHDL semble incontournable, quelque soit la cible que nous choisirons pour notre circuit final. Notre systme sera alors rutilisable, flexible, extensible et permettra de modliser dun bout lautre la chane mixte de communication. En vue dune implantation, le langage VHDL semble incontournable puisque quelque soit la cible choisie, ce langage est support par la quasi-totalit des logiciels de CAO.

III.2.3

Description du langage [VACH02][HERV02]

III.2.3.1 Le langage VHDL III.2.3.1.1 Les diffrentes descriptions possibles

Trois types de descriptions de fonctions sont identifis et complmentaires : la description matrielle, la description comportementale, et la description fonctionnelle. Comme nous lavons nonc prcdemment, le langage VHDL a t cr pour permettre une description matrielle dune fonction. Une description matrielle (ou structurelle) dfinit la structure dun modle par un assemblage de composants, ou des botes noires. Ce type de description permet de crer la fonction voulue au niveau composant laide de lassociation dlments sous formes de portes logiques. Cest pourquoi la description structurelle est la

-94-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

seule tre synthtisable puisquelle fait rfrence au matriel de type porte logique lmentaire. Une autre possibilit de description est la description comportementale qui permet de dfinir le fonctionnement dun systme ou le comportement dun modle. Cette description ne repose pas sur une structure mais plus sur des algorithmes. La dernire possibilit de description est celle appele flot de donnes ou description fonctionnelle. Elle rejoint la description comportementale puisquelle se base sur lexpression des fonctions de sortie partir dquations boolennes. Il apparat donc plus difficile dutiliser ce type de description dans le cas dun circuit complexe o il est ncessaire de se rattacher une structure. Au vu de la dfinition des diffrentes descriptions possibles, nous avons choisi dutiliser la description structurelle afin de synthtiser facilement notre systme. Cette dmarche demande effectivement plus dinvestissement au niveau de la dfinition de la structure du circuit mais ce temps sera regagn lors de ltape de synthse.

III.2.3.1.2

La structure fondamentale dun modle VHDL

Lorganisation dun modle VHDL est illustre sur la figure III.1.

Figure III. 1. Lorganisation dun modle VHDL.

-95-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Ce modle VHDL comprend les parties suivantes : i. Une dclaration de paquetage, utilise par plusieurs fichiers, sous-programmes et composants. Elle permet de dfinir les librairies utilises, les fichiers, sousprogrammes et composants qui composent le corps de paquetage. ii. Larchitecture globale de lentit peut contenir un ou plusieurs composants, chaque composant tant dfini par les mmes parties que lentit de conception principale. iii. Le corps de lentit comprenant la dclaration de cette entit et son architecture interne. Les parties (i) et (ii) permettent une description matrielle du systme alors que la dernire (iii) permet de regrouper les informations pouvant tre rutilises dans dautres systmes. Toutes les dclarations (entit, configuration et paquetage) dcrivent une vue extrieure, c'est--dire quelles sont visibles par toutes les parties du modle et permettent ainsi le partage et la rutilisation des ressources. Elles sont gnralement associes aux parties corps . Ces parties corps permettent de dfinir une vue interne de lentit ou du paquetage et une description fine des diffrentes architectures ou paquetages sera faite. On peut dfinir pour une mme dclaration dentit plusieurs architectures. La Figure III. 2 prsente un exemple type de structure de fichier VHDL, faisant apparatre le paquetage, la dclaration de lentit et son architecture.

III.2.3.1.3

Les signaux

Afin que chaque entit puisse communiquer avec lextrieur ou simplement dans le modle principal il existe deux classes de dclaration de signaux generic et ports. Les signaux generic sont des constantes ou des paramtres qui servent rendre le systme plus gnral. Les signaux ports sont des variables ou des nuds entre chaque entit. Ils sont dfinis par un nom, un mode et un type. Par exemple clk_160nco : in std_logic ; Le signal porte le nom clk_160nco, est de mode entre(in)et son type est
std_logic (standard logique).

Un mode comprend trois dclarations possibles. Le mode entre (in), le mode sortie (out) et le mode bidirectionnel (inout). Enfin, le type peut tre entier, flottant, numr ou tableau.

III.2.3.1.4

Le processus

Une notion importante est la notion de processus ou process . Un processus regoupe un ensemble dinstructions qui sont excutes en fonction dvnements auxquels ils sont sensibles. Les instructions du processus sexcutent squentiellement jusqu un point darrt. Cest la fin du processus que les signaux prennent leurs valeurs.

-96-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau
Commentaires

--***************************************************************************** -- INTEGRATEUR/BLOQUEUR --***************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; use work.parameter.all; entity integ_dump is port ( clk160nco : in std_logic; rst : in std_logic; dump_clk40nco : in std_logic;
Dclaration des ports en mode entre et de type std_logic Dclaration du port en mode entre et de type vecteur sign

Dfinition de la librairie Dclaration des paquetages standard Dclaration du paquetage parameter propre au systme Dclaration de lentit

Dclaration

Paquetage

data_multi_clk40nco : in signed (3 downto 0); result_clk160nco ); end integ_dump; architecture arch of integ_dump is : out signed (M downto 0)
Dclaration du port en mode sortie et de type vecteur sign

Entit

Corps de larchitecture associ lentit integ_dump

Dfinition des signaux internes de larchitecture arch de lentit integ_dump


signal acc_test_clk160nco : signed (M+1 downto 0); signal result1_clk160nco : signed (M downto 0); signal dump_resynchronise_clk160nco: std_logic; begin
Signal interne Acc_test_clk160nco de type sign

Process qui resynchronise les signaux dump sur la bonne horloge

re_synchro: process (rst,clk160nco) Liste des vnements auquelle est begin sensible au process re-synchro if (rst='1') then dump_intermediaire_clk160nco <= '0'; dump_resynchronise_clk160nco <= '0';

Affectations asynchrones

Architecture

elsif(rising_edge(clk160nco)) then dump_intermediaire_clk160nco <= dump_clk40nco; dump_resynchronise_clk160nco <= dump_intermediaire_clk160nco; end if; end process re_synchro;

Affectations squentielles

Process qui calcul lintgration


integration:process(clk160nco,rst)--Horloge de 160 Mhz Liste des vnements auquelle est begin sensible du process intgration end process integration;
Affectations concurrentes

result_clk160nco <= result1_clk160nco when(detect_front_clk160nco <='1') else (others => '0') when(rst = '1'); end arch;

Calcul en fin des process de la valeur du port de sortie result_clk160nco

Figure III. 2. Structure dun fichier VHDL

-97-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.2.3.2 Le langage VHDL-AMS III.2.3.2.1 Description du langage

Dvelopp partir du langage VHDL, le langage VHDL-AMS repose donc sur la mme fondation. De manire identique au langage VHDL dcrit prcdemment, un modle VHDLAMS comporte les diffrentes dclarations (dclaration dentit, dclaration de configuration et dclaration de paquetage) et les diffrents corps (corps darchitecture et corps de paquetage). Les fonctions analogiques sont dcrites laide dquations diffrentielles et algbriques avec le temps comme variable indpendante. Ces quations sont de deux types : conservatif et non conservatif.

Conservatif

Les systmes de type conservatif sont gouverns par des lois de la physique et des lois de conservation de lnergie. Pour le domaine de llectricit, nous retrouvons des circuits temps continu rgis par des quations conservatrices que sont les lois de Kirchoff . En VHDLAMS le formalisme de ce genre de description sera de deux types : terminal et nature (paragraphe III.2.3.2.2.1).

V (t ) = R I (t )

[Eq.III. 1]

Non Conservatif

Les systmes non conservatifs nont pas besoin dtre rgis par la conservation dnergie. En VHDL-AMS la description sera de type de quantit libre.

dU (t ) = I (t ) dt

[Eq.III. 2]

Le langage VHDL-AMS comporte deux noyaux de simulation, lun pour la partie numrique et lautre pour la partie analogique. Chaque noyau de simulation possde sa propre horloge. Le VHDL-AMS permettant une simulation mixte, il faut que les noyaux numriques et analogiques soient synchroniss. Pour cela, il a t cr les instructions break et above. Linstruction break est utilise lorsquon veut une interaction du noyau numrique sur le noyau analogique. Cette instruction permet de forcer le calcul de la partie analogique au moment dun vnement sur la partie numrique. Linstruction above permet que le noyau analogique agisse sur le noyau numrique. Un vnement sera alors cr partir dune quantit du noyau analogique. Une entit joue toujours le rle d interface pour la communication entre les fichiers extrieurs et le modle laide des dclarations de type generic et port. En VHDL-AMS les ports peuvent appartenir diffrentes classes selon le systme (conservatif ou non conservatif) :

Les ports de classe signal modlisent les signaux logiques, comme en VHDL. Les ports de classe terminal fournissent des points de connexions analogiques pour les systmes pour lesquels la loi de conservation dnergie est satisfaite. Les ports de classe quantit (quantity) dfinissent des points de connexions analogiques mais directionnels avec des entres (in) ou des sorties (out). Les

-98-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

quantits prennent leurs valeurs par la rsolution dun systme dquations effectue dans le domaine analogique.

III.2.3.2.2
III.2.3.2.2.1

Les diffrentes classes dobjets


Terminal et nature

Un objet de type terminal dfinit des points de connexion analogiques pour les systmes conservation dnergie. Ainsi les terminaux dfinissent les branches auxquelles diffrentes grandeurs sont associes. Dans le domaine lectrique par exemple ces grandeurs sont la tension et le courant. A chaque terminal est associ une nature qui est dfinie travers deux classes. La classe entre (accross) qui modlise leffort aux bornes du terminal et la classe travers (through) qui reprsente un flux travers le terminal. Un tableau ci-dessous prsente les efforts et les flux associs chaque nature dun objet de type terminal. Nature Electrique Thermique Hydraulique Mcanique de translation Mcanique de rotation Effort Tension Temprature Pression Vitesse Vitesse angulaire Flux Courant Dbit de Chaleur Dbit Force Torsion

Tableau III. 2. Exemples de Nature possible pour les terminaux

Au titre de la conservation dnergie (la somme des flux un nud est nulle et leffort est commun la somme des puissances dissipes dans les branches du rseau est nulle), les terminaux connects devront tre de mme nature. III.2.3.2.2.2 Les quantits

Les quantits reprsentent les inconnues des quations diffrentielles du systme. Ces objets mmorisent la valeur de la variable jusqu la prochaine rsolution des quations diffrentielles dans le noyau de simulation analogique. Les quantits sont soit de type rel soit de type flottant. Il existe trois sortes de quantits :
Les quantits libres reprsentent nimporte quelle grandeur analogique temps continu. Les quantits de branches reprsentent une grandeur dans un systme conservatif. Elles sont associes des terminaux. Les quantits sources sont des quantits libres ddies lanalyse frquentielle ou lanalyse de bruit.

-99-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Lexemple suivant illustre la quantit de branche pour le domaine lectrique : V12 Tb2 I12 Tb1

terminal tb1, tb2 : electrical ; --Dfinition des terminaux tb1 et tb2 quantity V12 accross quantit entre (Tension pour le domaine choisi) I12 through tb1 to tb2 ; quantit travers (Courant pour le domaine choisi)

Figure III. 3. Illustration de la quantit de branche pour le domaine lectrique

III.2.3.2.2.3

Le critre de solvabilit

Ce critre est un garde fou qui permet de sassurer qu tout moment le modle comporte autant dquations que dinconnues. Ce critre, impos par la norme, est tabli comme suit :
Le nombre dquations simultanes doit tre gal au nombre de quantits travers augment du nombre de quantits libres et du nombre de quantits dinterfaces en mode sortie .

Ce critre est effectivement contraignant, mais sil est appliqu correctement pour chaque composant, il permet dassurer lors dune association de composants la bonne rsolution des quations pour le systme. Si ce critre nest pas appliqu le modle nest pas compilable. Cest donc un critre sur lequel tout concepteur systme en VHDL-AMS doit sappuyer.

III.3 Codage en langage VHDL-AMS de lmetteur/rcepteur


Ce paragraphe prsente le codage VHDL et VHDL-AMS selon le type des signaux mis en jeu (numrique et analogique) du systme metteur/rcepteur complet. Concernant le dveloppement de chaque fonction numrique en VHDL, nous dtaillons le codage de la fonction sous forme dorganigramme, puis sa validation partir du schma bloc et des chronogrammes associs. Une des difficults de codage rside dans le fait que tous les processus sont cadencs partir dune horloge ce qui gnre des retards. Il faut donc sassurer lors de chaque processus que les diffrents signaux soient en phase avec la mme horloge. Pour cela, nous avons d introduire entre certaines fonctions des bascules de resynchronisation. Quant aux fonctions analogiques en VHDL-AMS, elles concernent majoritairement le codage du canal, les tages radiofrquences et le convertisseur analogique/numrique.

III.3.1

Fonctions implanter et caractristiques

Nous rappelons dans cette partie les fonctions dtailles numriques et analogiques de notre systme metteur/rcepteur (Figure III. 4).

-100-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 4. Synoptique du modle de lmetteur/ rcepteur talement de spectre.

Notons sur le schma fonctionnel la prsence entre autres, des organes de synchronisation et de poursuite dfinis au chapitre II, ainsi que le convertisseur analogique/numrique en entre du rcepteur. Au vu du cahier des charges expos dans le chapitre II (II.4) les caractristiques et paramtres physiques associs chacune des fonctions sont dfinis dans le Tableau III. 3.

-101-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Fonctions

Type de signal

Caractristiques

Emetteur
Codeur diffrentiel Etalement Gnrateur de PN-Code Fonctions Radiofrquence

Numrique Numrique Numrique Analogique

Fosc=1/(Tc*N), Rapport Cyclique 0.5 Porte XOR Gnrateur de Galois 7<Code dtalement<2047 Filtre Passe bande 2.44 Ghz , 80 Mhz de Bande passante Bande Passante = 40Mhz
Frquence de coupure =160Mhz

Canal
AWGN Additive White Gaussian Noise

Analogique

Rcepteur
Acquisition, Poursuite, Gnration PN- Code

Corrlation Logique de Contrle du seuil Clock Discriminateur

SERIE

Numrique Numrique Numrique Numrique Numrique Numrique

Produit , Intgrateur/bloqueur Seuil de corrlation paramtrable Priode = Tc=25ns Pas Offset PN code : chip Produit, Intgrateur/bloqueur, Valeur Absolue 1 avec =1s 1er ordre , 1 + s KNCO =100kHz/V Fo=160MHz

Filtre de boucle NCO (Oscillateur numrique command) Gnrateur PN Code Dstalement Dcodeur diffrentiel
Poursuite DLL

Numrique Numrique Numrique

M-Sequences Produit, Intgrateur/bloqueur Fosc=1/(Tc*N)

Tableau III. 3 . Fonctions coder et caractristiques associes.

Le synoptique de codage en VHDL-AMS, dduit du schma fonctionnel (Figure III. 5), permet de dcrire le test bench.

SOURCE (VHDL)

EMISSION (VHDL Synthtisable)

TRANSMISSION (Description VHDL-AMS)

RECEPTEUR (VHDL Synthtisable)

FONCTIONS EMETTEUR (VHDL Synthtisable)

FONCTIONS RECEPTEUR (VHDL Synthtisable)

Fichier Test Bench


Figure III. 5. Synoptique de codage du systme metteur/rcepteur en VHDL-AMS.

-102-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Le codage de notre systme suppose lexistence des fichiers suivants : Le fichier SOURCE permet de crer les signaux tels que les horloges, les signaux dinitialisation (Reset), les donnes issues des capteurs et les signaux pour la configuration du gnrateur de PN Code. Ce fichier nest utile que pour la simulation mais lors de limplantation ce fichier nexistera plus car ces signaux seront gnrs par le circuit ou des lments externes de type bouton poussoir par exemple. Le fichier EMISSION permet de dcrire le fonctionnement de lmetteur partir des fonctions dcrites dans le fichier FONCTIONS EMISSIONS. Le package FONCTIONS EMISSIONS dcrit chaque fonction EMISSION (codeur diffrentiel, gnrateur de PN-Code, multiplieur) Le fichier TRANSMISSION dcrit les fonctions radiofrquences (multiplieur analogique, filtres ) et le canal AWGN. Le fichier RECEPTEUR dcrit le fonctionnement du rcepteur partir des fonctions dcrites dans le fichier FONCTIONS RECEPTEUR. Le package FONCTIONS RECEPTEUR dcrit les fonctions du rcepteur (dstalement, synchronisation, poursuite, gnration du PN-Code, dmodulateur, encodeur diffrentiel, mise en forme) Le fichier TRANCEIVER TEST permet de runir et de visualiser tous les signaux utiles pour notre choix darchitecture.

III.3.2

Les tages numriques

III.3.2.1 Description de lmetteur


Lmetteur est constitu des fonctions suivantes : le gnrateur de PN-Code. un encodeur diffrentiel des donnes issues des capteurs. une fonction multiplieur permettant ltalement de spectre. Ces fonctions seront dcrites individuellement dans le fichier package Fonctions Emetteurs , dcrit ci-dessus.

Figure III. 6. Schma dimplantation de lmetteur

III.3.2.1.1

Gnrateur de PN-Code

Nous avons montr (Chapitre II (V.2)) que la gnration du PN-Code ncessite un polynme d(n) pour linitialisation et en entre un polynme gnrateur c(n) qui permet de

-103-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

charger le polynme primitif dans les registres dcalage. Le schma lectrique du gnrateur de PN-Code est le suivant :

Figure III. 7. Schma de principe du gnrateur de codes alatoires

Nous remarquons la prsence dune horloge de 40MHz, fixant le temps chip du code dtalement 25ns. Le diagramme du gnrateur de Galois est illustr de la manire suivante :

Figure III. 8. Organigramme du codage du gnrateur de PN-Code

Lorganigramme de codage du code dtalement (Figure III. 8) comprend deux processus : Le premier processus (celui de gauche) permet linitialisation des registres. Le deuxime processus (celui de droite) cre un signal dump qui fixe le temps symbole du PN_Code. A chaque coup dhorloge, la valeur des signaux q(i+1) (signal

-104-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

en entre de la bascule D) est affecte au mot d(i) (signal de sortie des bascules D). Le signal q(0) reprsente le signal de sortie du gnrateur de PN-Code.

III.3.2.1.2

Encodeur

Lencodeur diffrentiel possde trois signaux en entre : le signal encoder, lhorloge 40MHz et le signal pour la dtection du temps symbole.

Figure III. 9. Organigramme pour la fonction Encodeur diffrentiel

Cette fonction est compose de deux processus : Le premier processus effectue lopration dencodage diffrentiel partir de deux portes logiques (NOT) et (XOR). Le deuxime processus dtermine le front montant sur dump (signal gnr tous les temps symbole) partir des signaux dump_e_rideau1 et dump_e_rideau2 (signaux de resynchronisation utile la dtection du front montant).

III.3.2.1.3

Fonction Multiplieur

Cette fonction Multiplieur (rfrence la fonction analogique de multiplication) doit dcrire le fonctionnement de ltalement de spectre. Une donne ltat haut est code par la squence dtalement et une donne ltat bas par la mme squence inverse. Ceci amne logiquement la table de vrit ( Tableau III. 4): D donne 1 1 0 0 Ci (Code talement) 1 0 1 0 Fonction raliser 1 0 0 1

Tableau III. 4. Description de la fonction multiplieur .

Nous voyons que la fonction raliser peut tre dcrite soit par une porte logique de type not XOR soit par une description comportementale.

-105-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.2.1.4

Rsultats de simulation

Les fichiers Generateur_PN_Code , codeur , multiplieur et Emetteur sont compils laide de loutil ModelSim. Les rsultats sont reprsents sur la Figure III. 10 pour une longueur de code N=15.

Figure III. 10. Rsultats de simulation de lorgane Emetteur

Les signaux prsents sont dcrit ci-dessous : Clk_40e : Horloge de 40MHz qui correspond un temps Chip. Rst : Le signal Reset permet dinitialiser tous les signaux de lmetteur. (Reset Asynchrone). Cn_code : Bus dinitialisation du gnrateur de PN_code, ici la valeur est fixe 9 ce qui correspond une longueur N=15. Cest un des paramtres dentre de lorgane Emetteur. Data_source : Donnes prsentes au niveau de lmetteur qui modlise les signaux issus des capteurs. Data_encodee: Sortie de lencodeur diffrentiel. Dump_e_clk_40e: Signal gnr par le gnrateur de PN_Code chaque temps symbole (ici Ts=375 ns). Dump_e_rideau1 et Dump_e_rideau2 : Signaux permettant la dtection du front montant sur le signal Dump_e_clk_40e. Detect_front : Signal qui dtermine le front montant Dump_e_clk_40e. Code_e_clk_40e : Code de sortie du gnrateur de PN_Code. Pour une longueur de 15 , le code est 1111 0101 1001 000 . Data_etalee: Signal rsultant de la recomposition de la donne encode Data_encodee avec le PN_Code Code_e_clk_40e . Data_etalee est le signal en sortie de lmetteur. Pour valider notre modle VHDL de lmetteur, nous avons compar et valid nos rsultats de simulation avec ceux obtenus de manire fonctionnelle sous le logiciel SABER.

-106-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.2.2 Description du rcepteur


Le rcepteur permet de retrouver les donnes mises (data_source) partir du signal tal reu . Le rcepteur est compos de : la partie rcepteur_ss_synchronisation dstalant la donne reue partir du PNcode fourni par la synchronisation, dun tage synchronisation gnrant le PN-Code en phase partir de la recherche dun gain en traitement maximum. dun organe poursuite permettant de maintenir le PN-Code retrouv par la fonction synchronisation . La synchronisation peut comporter plusieurs structures. En effet, nous avons vu ( Chapitre II II.5.4.4.1) quune organisation plusieurs branches doit permettre thoriquement de diminuer le temps dacquisition. Les valeurs dentre sur lesquelles lutilisateur peut configurer le rcepteur sont : le vecteur cn pour fixer la longueur du PN-code. la valeur du seuil de corrlation (fonction test seuil). les constantes de temps pour les diffrents filtres. Deux horloges sont prsent ncessaires : une fixe 40MHz, de manire identique celle de lmetteur et paramtrant le temps chip (Tc=25ns) et une seconde gale 160MHz dont le rle est la division par quatre du temps chip dans lorgane de corrlation. Les fonctions principales de cet lment rcepteur (i,ii,iii) sont dtailles dans les paragraphes qui suivent. De plus, une fois ce modle valid en VHDL, nous implmentons une synchronisation thoriquement plus performante plusieurs branches (N branches) et valuerons ses capacits.

Figure III. 11. Schma de limplantation du rcepteur simple branche.

III.3.2.2.1

Rcepteur sans synchronisation

Le rcepteur sans synchronisation effectue les oprations classiques de conversion analogique/numrique et de dstalement. Il se compose des fonctions :

-107-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

i. convertisseur analogique/numrique , issue de la bibliothque et adapte notre application. Elle est dveloppe dans la partie III.3.4. ii. dstalement en rception qui dcorrle le signal reu. iii. test donne qui traite le rsultat de corrlation en exprimant le rsultat sur un bit. iv. Le dcodage diffrentiel, opration inverse du codage lmission. III.3.2.2.1.1 Dstalement en rception

La premire opration classique de multiplication est identique celle de lmission (OU exclusif) et permet la transformation du PN-Code en fonction du mot de 4 bits (data_codee[3:0]). Quand le PN-Code vaut 1 data_multi[3:0] ( sortie de cet organe) recopie la valeur data_codee[3:0],dans le cas de la valeur 0 data_multi[3:0] inverse lentre data_codee[3:0]. Le signal data_multi[3:0] peut prendre 2n-1 valeurs.

Figure III. 12. Schma de lintgrateur/bloqueur.

Lintgrateur/bloqueur est un organe important du systme puisquassoci la fonction multiplieur, il permet de dstaler le signal reu. Il est compos dun registre qui accumule le signal reu (data_multi[3:0]) sur la dure du temps symbole Ts dpendant de la longueur du code (N), et dun bloqueur qui reoit et fige la valeur du registre daccumulation chaque temps symbole (dump_clk40nco). La dtection dun temps symbole est cre partir du front montant sur le signal dump. Ce signal dump a deux vocations : la remise zro de lintgrateur, et le dclenchement de la phase suivante dintgration. Pour une question de prcision sur la fonction multiplication , nous avons choisi [MELE01] quun temps Chip soit dcrit par quatre chantillons. Laccumulation dans le registre se fait donc la frquence dchantillonnage de 160 MHz. La taille utile la fonction accumulation (na) a pour paramtre le nombre dchantillons par symbole (M) et le nombre dchantillons sur un temps Chip (ne). Nous pouvons ainsi dterminer le nombre de bits ncessaires pour coder laccumulateur valant :

Nbre_val_accu= 2 n M 2M + 1 =114 633


Avec ne = 4 chantillons par chip, Nmax=2047 et M=Nne=20474=8188
na = log 2 ( Nbre _ val _ accu ) =16,81 soit 17 bits.

Nous reprsentons lorganigramme correspondant au code VHDL de la fonction Intgrateur/Bloqueur sur la Figure III. 13.

-108-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 13. Organigramme de la fonction intgration/Blocage.

Cette fonction est compose de deux processus. Le premier processus permet de resynchroniser les signaux dump avec lhorloge de 160MHz (non reprsente sur la figure). Le deuxime processus permet de gnrer le blocage sur le signal dump (signal gnr tout les temps symbole Ts) et laccumulation sur chaque front montant de lhorloge de 160MHz. La priode dintgration varie donc en fonction de la longueur du PN-Code. Le signal accu_test[M:0] est le signal prsent la sortie de lintgrateur. Le signal result1[M:0] (sur M bits) reprsente le signal en sortie du bloqueur, rcalcul tous les temps symbole. Ce signal est par suite inject lentre de la fonction Test de donne . III.3.2.2.1.2 Test de donne

La fonction Test de donne compare par rapport un seuil, le mot dentre sur M bits, et le restitue sur un bit. Au vu de la fonction dautocorrlation thorique (Chapitre II 1 III.6.2.2) ngative pour une corrlation nulle (et gale ), il est logique deffectuer la N comparaison par rapport la valeur zro. Toutefois, en simulation, nos premiers rsultats avec ce seuil sont errons car quelque soit la valeur en sortie de lintgration (positive ou ngative), cette fonction retrouvait le signal quivalent Data_encodee. La sortie correspondait donc aux donnes mises. Il faut en effet moduler cette valeur en fonction de la longueur N du code dtalement. Pour palier ce problme, nous avons dfini un nouveau seuil de valeur +200 (pour N=15). Ce seuil est test chaque temps symbole (grce au signal dump) et la fonction test de donne convertit dans un deuxime temps le mot de M bits (rsultat de lintgration) sur un bit. La Figure III. 14 dcrit lorganigramme de cette dmarche.

-109-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 14. Organigramme de la fonction test donne.

III.3.2.2.1.3

Dcodeur diffrentiel

Le dcodeur diffrentiel, dont le principe a t tudi au Chapitre II V.1, permet de dcoder le signal data_av_decodee_clk160nco en sortie de la fonction test de donne . Ce dcodeur possde deux signaux en entre : le signal dcoder et le signal dump_r_clk40nco qui dtermine le passage un autre symbole. Le signal en sortie de cette fonction est le signal de sortie du rcepteur et doit tre identique la trame de donnes (data_source) en entre de lmetteur. Lorganigramme de cette fonction est reprsent sur la figure suivante :

Figure III. 15. Organigramme du dcodeur diffrentiel.

Cette fonction se compose de deux processus. Le premier processus est la resynchronisation du signal dump avec lhorloge de 160MHz (non reprsent ici) et la dfinition des signaux dentre data_n_1 (reprsentant ltat prcdent de data_n) et data_n. Le second processus est le dcodage du signal Data_av_decodee_clk160nco sur le front montant de lhorloge en sortie du NCO, et du signal Dump_clk40nco resynchronis. Le dcodeur DBPSK est ainsi ralis laide deux portes logiques NOT et XOR qui encodent les data_n_1 et data_n, et dun registre dcalage pour la fonction mmoire (entre data_n_1 et data_n). Cette fonction reprsente la fonction inverse de ltage Encodeur lmission.

-110-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.2.2.1.4

Rsultats de simulations

Les diffrents signaux de lorgane recepteur_ss_synchronisation sont reprsents sur la figure III.16.

Retard dun symbole 1 0 1 0

Figure III. 16. Rsultats de simulation sous le logiciel ModelSim.

On peut voir sur la Figure III.16 les diffrents signaux gnrs par le rcepteur et classs par fonctions.

Data_codee_clk40e : les donnes reues et chantillonnes (aprs conversion du

signal reu) et pouvant tre retardes par la traverse du canal.


Code_out (=>PN_code_bus) : le PN_Code en phase issu du gnrateur de PN-

Code.
Data_multi_clk40nco : donnes aprs la fonction multiplieur dont la valeur

varie entre +7 et -7 selon la valeur du PN-Code, qui correspondent au signal encod de lmetteur. Acc_test_clk160nco : le signal daccumulation gnr sur le front montant de lhorloge. Les valeurs sont incrmentes de +7 ou dcrmentes -7 tous les 6,25ns (Tc/4). Dans notre exemple, c'est--dire pour N=15, ce signal peut atteindre en valeur maximum +/- 420 ((4N7) ou (4N-7)). Dump_clk40nco : ce signal est gnr par le gnrateur de code alatoire tous les temps symbole (375ns) partir de lhorloge Chip. Ce signal est aussi utile au bloqueur et la remise zro de laccumulateur de lintgrateur. Detect_front : le signal dtecte pour une horloge de 160MHz le front montant sur le signal dump_clk40nco. Ce procd de resynchonisation est invitable puisque le dump est gnr partir dune horloge de 40MHz et exploit par une horloge de 160MHz. Data_desetalee_clk160nco : il correspond au signal en sortie de la fonction dstalement rception . Il est donc gnr sur chaque front montant (detect_front) de dump_clk40nco avec un symbole de retard par rapport au signal daccumulation (Acc_test_clk160nco) et peut donc prendre les valeurs maximums de +/- 420.

-111-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Data_av_decodee_clk160nco :

il sagit du signal en sortie de la fonction test_donne et est issu de la comparaison au seuil de valeur 200. Il est restitu sur un bit, et correspond au signal aprs encodage au niveau de lmetteur. Sortie_clk160nco : cest le signal en fin de chane de rception, quivalent la trame de donnes en entre de lmetteur.

III.3.2.2.2

Synchronisation

Nous dcrivons tout dabord la structure lmentaire de lorgane de synchronisation comportant une seule branche.

Figure III. 17. Synoptique de la fonction Synchronisation simple (une branche).

A partir du schma fonctionnel de la synchronisation SERIE (Chapitre 2 V.4.3.2.2) et des travaux antrieurs [BOUR00], les fonctions utiles pour cet organe sont : un multiplieur et un filtre Passe-Bas du 2me ordre pour la corrlation, une mise au carr et un filtre de Bessel du 5me ordre pour la dtection denveloppe , une logique de contrle pour dterminer si la corrlation est existante. Cependant, lintgration de ces fonctions nous oblige les substituer par un homologue numrique. Ainsi : La fonction corrlation regroupant le multiplieur et le filtre devient les fonctions dstalement rception dj prsentes dans le paragraphe (III.3.2.2.1.1). La mise au carr est reprsente par la fonction valeur absolue. Le filtrage pour la dtection denveloppe par un filtre numrique de type RII. La logique de contrle par la fonction test seuil avec le seuil adapt.

III.3.2.2.3

Lorgane de poursuite (DLL)

Comme nonc dans le chapitre II (V.4.4.1.1), lorgane de poursuite est compos dun discriminateur qui dtermine lerreur de poursuite, dun filtre de boucle pour moyenner lerreur de poursuite et dun oscillateur command en tension pour gnrer une horloge de frquence 160 MHz module par la valeur de lerreur. Un multiplexeur permet de dclencher la poursuite lorsquune corrlation est dtecte (signal synchro de valeur 1) par lorgane de synchronisation.

-112-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 18. Synoptique de lorgane de poursuite.

Si le rsultat de corrlation de la branche Early est suprieur celle de la branche Late , une erreur de poursuite (discri) positive est cre et gnrera une priode en sortie de loscillateur (NCO) de valeur Tearly = 6,25ns + influence de lerreur (augmentation de la priode du NCO). Dans le cas dune prpondrance de la branche Late, la priode du NCO est de 6,25ns - influence de lerreur. Les simulations ont montr que lorgane de poursuite sasservit seulement si le PN-Code synchroniser na pas se dcaler de +/- 12,5ns par rapport au PN-Code central (Code_out). Cest pourquoi le chane dasservissement ne devra pas apporter un retard suprieur un temps Chip en totalit. III.3.2.2.3.1 Le Discriminateur

Le discriminateur est compos de 2 branches de corrlation. Chaque branche de corrlation est compose dune fonction multiplieur , intrgrateur/Bloqueur et valeur absolue , qui est la mme organisation que la chane de synchronisation. Aprs criture en VHDL, les signaux mis en jeu sont simuls sous ModelSim et prsents sur la Figure III. 19.

-113-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 19. Simulation des principaux signaux de lorgane de poursuite sous ModelSim.

Le dtail des signaux mis en jeu est prsent numr :



Data_codee_clk40e : donnes reues et chantillonnes (aprs conversion du

signal reu)
Data_multi_clk40nco : donnes multiplies dont la valeur varie entre +7 et -7 et

qui correspondent au signal encod de lmetteur. Code_early : PN_Code en avance dun Chip et issu du gnrateur de PN-Code. Dump_early_clk40nco : le signal est gnr par le gnrateur de PN_Code tous les symboles partir de lhorloge Chip. Il est gnr tous les temps symbole pour que la corrlation sur la branche early soit maximum. Data_desetalee_early_clk160nco : le signal correspond la sortie de lintgration/ bloqueur de la branche en avance. Ce signal est un mot de M bits et peut prendre comme valeurs maximums de +/- 413 (Voir explication de lintgrateur/bloqueur dcrit au III.3.2.2.1.1). Data_absolu_early_clk160nco : ce signal prend la valeur absolue du signal prcdent Data_desetalee_early_clk160nco.

Les signaux pour la branche en retard (late) ont la mme dfinition que ceux de la branche en avance (Early).

Discri : signal de sortie du discriminateur, proportionnel lerreur de poursuite. Il

est

dfini

comme

la

diffrence

entre

les

signaux

Data_absolu_early_clk160nco et Data_absolu_late_clk160nco.

Lorsque les branches sont quilibres (ce qui veut dire que le Pn-Code en rception (Code_out) a t ajust prcisement), ce signal prend pour valeur 0. Ce signal moyenn pilote la frquence du NCO.

-114-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.2.2.3.2

Le Filtre numrique

Les filtres numriques constituent la branche de traitement du signal la plus tudie. Au dpart cre pour simuler les filtres analogiques afin doptimiser leurs paramtres avant ralisation, lavance technologique des logiciels permet dsormais leur ralisation [KPAL03]. Cest pourquoi des mthodes et des outils spcifiques ont t dvelopps pour la synthse des filtres numriques. Un filtre linaire temps discret ralise une opration de convolution entre le signal dentre et la rponse impulsionnelle du filtre. Dans le domaine de lchantillonn, elle devient un produit algbrique (Figure III. 20).

Figure III. 20. Dfinition dun filtrage numrique.

Y ( z) = H ( z) X ( z)
Cette fonction H(z) peut scrire de deux manires :

[Eq.III. 3]

o H(z) est la fonction de transfert du filtre numrique et Y(z) le signal de sortie du filtre.
M

H ( z)

m =0 N

zm
avec MN pour que le filtre soit ralisable.
n

z + an z
n =0

N 1

Par une quation aux diffrences utiles pour dfinir la structure du filtre. y(n) = b0 x(n N) + b1 x(n N +1) + ...+ bM x(n N + M ) aN 1 y(n 1) ... a1 y(n N +1) a0 y(n N) Ils existent deux grandes classes de filtres numriques : Le filtre Rponse Impulsionnelles Finie (RIF) dfinie comme h(n)=0 pour n N et h(n)0 pour n=0,1,N-1 Les filtres Rponse Impulsionnelles Infinie (RII) tels que h(n) 0 pour n=0,1,+ Les synthses des filtres RIF ou RII se font de manires diffrentes. Pour le RIF, la synthse se fait gnralement avec la mthode de la fentre o il faut imaginer la rponse frquentielle du filtre. Quant au filtre RII, il se base sur les mthodes du monde de lanalogique . A partir dune fonction de transfert issue du modle frquentiel, il est possible de dfinir, grce la transforme bilinaire, dans le domaine de lchantillonn la fonction de transfert du filtre numrique. Nous pouvons ainsi utiliser le savoir-faire du monde analogique (Butterworth, Chebychev, Bessel) dans le monde numrique. Nous allons maintenant comparer ces deux familles sur les critres importants pour les filtres numriques qui sont la stabilit, la phase linaire et la quantit de calcul.

-115-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Filtre RII La stabilit nest pas automatique. Elle doit tre vrifie. Oui Non Linarit de la phase Quantit de calculs Q associs Pour un gabarit donn Q RIF>>Q RII ce qui implique forcment plus de calculs pour le filtre RIF que le filtre RII
Tableau III. 5. Comparaison des classes RIF et RII des filtres numriques.

Critres Stabilit

Filtre RIF Toujours Stable

Notre premier critre de choix sest port sur la quantit de calculs engendre pour le fonctionnement du filtre. En effet, nous voulons implanter notre circuit dans un circuit programmable. Il faut donc que le calcul engendr ne soit pas trop gourmand en temps et donc nombres de portes. La dfinition des filtres tant faite en analogique [BOUR00], il semble que le filtre RII apporte une meilleure transposition du filtre analogique en numrique. Les dsavantages du filtre RII comme la linarit de la phase ne sont pas un critre important, de mme pour la stabilit qui peut tre facilement vrifie par simulation. Pour toutes ces raisons, nous avons choisi un filtre RII en vue dune implantation. Le calcul du filtre numrique de la boucle verrouillage de dlai se base sur les paramtres du filtre analogique, savoir un filtre du 1er Ordre dans le domaine frquentiel avec une constante de temps = 1s [BOUR00].

F ( p) =

1 1 + p

[Eq.III. 4]

Grce la transformation bilinaire [BELL02], nous nous basculons du domaine de LAPLACE dans le domaine chantillonn de la transforme en Z. Cette transformation se dfinit de la manire suivante :

H (z) = H ( p)

p=

2 Z 1 Te Z + 1

[Eq.III. 5]

O Te reprsente la priode dchantillonnage (Te=Tc/4). En appliquant le changement de variable de lquation (Eq.III. 5), le calcul se dveloppe de la manire suivante :
Te Te + z 1 H ( z) = = Te + 2 Te + 2 2 z 1 Te 2 1 1+ 1+ z Te z + 1 Te + 2 1

[Eq.III. 6]

Par analogie avec :


H ( z) = Y ( z ) b0 + b1 z 1 = X ( z ) a 0 + a1 z 1
[Eq.III. 7]

Les coefficients a0,a1,b0 et b1 prennent respectivement pour valeurs :


b0 = b1 = a0 = 1 a1 = 2 Te = 0,6842 Te + 2 Te = 0,1579 Te + 2
[Eq.III. 8]

-116-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

En vue de lintgration numrique, nous dduisons lquation aux rcurrences (Eq.III.7 ) :


0,1579 x( n) + 0,1579 x(n 1) = y (n) 0,6842 y (n 1)

Soit

y ( n) = 0,1579 x(n) + 0,1579 x(n 1) + 0,6842 y (n 1)

[Eq.III. 9]

Cette quation se traduit par la structure classique suivante :

Figure III. 21. Structure du filtre de boucle numrique

Son implantation dans le logiciel MATLAB nous permet de valider la stabilit. Les rsultats confirment que le filtre est un filtre du 1er Ordre stable puisque le ple est lintrieur du cercle de rayon R=1.

(a)

Figure III. 22. (a).Rponse impulsionnelle h(t)

-117-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

(b)

Figure III. 24.b Diagramme de stabilit du filtre.

Aprs cette vrification, cette structure est dveloppe en VHDL, et gnre les processus suivants (Figure III. 23) :

Figure III. 23. Processus pour le filtre numrique de la boucle verrouillage de dlai.

Ce modle est alors simul sous le logiciel ModelSim avec une priode dchantillonnage fixe 6,25ns (Figure III. 24).

Figure III. 24. Simulation dun filtre numrique RII.

Nous pouvons voir que le filtre implant comprend un seul dpassement et se stabilise avec comme valeur finale la valeur de lchelon (c'est--dire 256). Notons que ce filtre engendre un retard correspondant 2 Te soit 12,5ns.

-118-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.2.2.3.3

Loscillateur numrique control en tension

Loscillateur numrique control en tension (NCO) est llment central de la DLL. Il permet davancer ou de retarder le PN-Code en fonction de linformation derreur fournie par le discriminateur, en gnrant une frquence dhorloge contrlable autour de la frquence centrale 160MHz. La priode de cette horloge volue en fonction de la valeur du mot de sortie du filtre de boucle. Si ce mot est positif (qui se traduit par une erreur de poursuite positive en sortie du discriminateur), la frquence gnre en sortie du NCO sera plus rapide et inversement. La structure de cet lment est prsente sur la figure suivante :

Figure III. 25. Schma de principe pour loscillateur numrique contrl.

Le principe du NCO consiste incrmenter sur chaque front montant dune horloge dentre (frquence leve par rapport la frquence dchantillonnage du mot) un registre Accumulateur dun mot de commande W constitu du pas dincrmentation (choisi pour gnrer une frquence centrale de 160MHz ) et du mot en sortie du filtre de boucle. W[A:0]= entre NCO + pas dincrmentation
[Eq.III. 10]

Linfluence du mot de commande W sur le bit de poids le plus fort (MSB) du registre est illustre pour deux valeurs derreur en entre (0)d et (1)d. Le pas est fixe, pour les deux exemples de valeurs (10)b, le registre est volontairement limit 4 bits par souci de clart. Dans le premier cas (tableau de gauche), le mot W est la somme du pas dincrmentation de 2(0010b) et dun mot dentre discri_int[10 :0] valant 0. Nous constatons que le signal associ lvolution du bit de poids le plus fort est priodique, de priode gale 8 coups dhorloge (Figure III. 26a). Dans le deuxime cas (tableau de droite) le mot W toujours constitu dun pas dincrmentation de 2 (0010b), est somm au mot dentre discri_int[10 :0] de 1(0001b). Dans ce cas, lvolution du bit de poids le plus fort est galement priodique, avec une priode fixe 17 coups dhorloge (Figure III. 27.b). Nous avons donc bien ralis une commande de frquence numrique. De manire gnrale, la frquence de sortie du NCO scrit [LU93] :

-119-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Entre nulle [discri_int]=(0)d


Etat des registres de laccumulateur pour un mot W de 0010 Valeur accumulateur (dcimal)

Entre non nulle [discri_int]=(1)d


Etat des registres de laccumulateur pour un mot W de 0010 Valeur accumulateu r (dcimal)

Temps

MSB

N(2)

N(1)

N(0)

Cycle pourW= 3

0 0 0 0 1 1 1 1 0

0 0 1 1 0 0 1 1 0

0 1 0 1 0 1 0 1 0

0 0 0 0 0 0 0 0 0

0 2 4 6 8 10 12 14 0

0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0
Temps
MSB

0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0
N(2)

0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
N(1)

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
N(0)

0 3 6 9 12 15 2 5 8 11 14 1 4 7 10 13 0

Cycle pour W=2

Figure III. 26. Evolution du registre du NCO pour deux valeurs dentre, dans le cas dun registre de 4 bits.

Figure III. 27. Reprsentation du bit de poids fort pour deux cas du mot W.

Les deux exemples prcdents illustrent donc la variation de frquence en fonction du mot de commande W. La formule donnant la frquence de sortie en fonction du mot W est la suivante :
f f s = clknco A 2 [ Mot _ W ] d
[Eq.III. 11]

avec A la taille du registre de laccumulateur. La rsolution associe scrit :


f rsolution = clknco A 2
[ Eq.III. 12]

-120-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Diffrentes simulations ont permis de fixer pour notre application la frquence dhorloge et le pas dincrmentation. Les rsultats obtenus sont prsents dans le tableau ci-dessous : Frquence Horloge Longueur du registre Pas incrmentation Mot dentre WMAX (Signal dentre =1111111111) WMIN (Signal dentre =0) Plage de frquence Rsolution (kHz) 640 MHz 16 2 14 10 bits 2 14 + (2 10-1) 2 14
210 1 160 MHz 14 160 MHz = 160 MHz 10 MHz 2 9,765

Tableau III. 6. Caractristiques principales de loscillateur numrique command en tension.

La modlisation VHDL seffectue sur la base de lorganigramme de la Figure III. 28.

Figure III. 28. Organigramme de la fonction NCO.

Larchitecture du NCO comporte deux processus : un premier processus est dclench par le front montant de lhorloge 640MHz qui ajoute laccumulateur n le rsultat de laddition du pas dincrmentation (fix 214) avec le signal dentre (discri). Le second processus gnre en sortie du NCO le bit de poids le plus fort de laccumulateur. Les chronogrammes issus des simulations sous ModelSim sont reprsents dans la Figure III. 29.

-121-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 29. Simulation de lorgane NCO en langage VHDL.

Nous pouvons voir sur cette figure que nous gnrons une priode de 6,25ns en sortie du NCO qui correspond bien la frquence de 160MHz. Le mot issu du discriminateur est ajout chaque front montant de lhorloge sur les bits n(9) n(0) et fait donc varier la priode du signal de sortie du NCO permettant davancer ou de retarder la gnration du PN-Code. Linconvnient majeur de cette structure avec cette configuration est sa difficult dimplmentation du fait du temps de propagation de la retenue. Une structure daccumulateur pipeline [LU93] peut palier ce problme. III.3.2.2.3.4 Le Gnrateur de PN-Code du rcepteur

Ce gnrateur est bas sur la mme structure que le gnrateur de PN-Code de lmetteur. En supplment, il doit fournir les PN-Codes en avance et en retard pour les branches du discriminateur. Une tude antrieure [BOUR00] mene sur la variance du modle fonctionnel de la DLL a montr que lcart entre les branches doit tre de Tc/4 (6,25ns). De manire identique au gnrateur de lmetteur, il est paramtr par les vecteurs de configuration c(n) et dinitialisation a(n). Il est prsent pilot par lhorloge issue de loscillateur numrique. Cette horloge, centre sur 160MHz, admet un minimum de 10MHz de variation.

Figure III. 30. Structure du gnrateur de PN-Code de rcepteur.

-122-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Le gnrateur prsent ici est celui utilis pour une synchronisation avec lorgane SERIE une branche. Nous verrons dans le prochain paragraphe quil a t adapt dans le cas dune synchronisation plusieurs branches (N branches).

III.3.2.2.4

Synchronisation N branches

Lorgane de synchronisation est compos maintenant de plusieurs branches. Ce nombre de branches est directement gal la longueur du PN-Code N. En effet, si le dcalage entre chaque branche est gale la dure dun temps chip Tc, les calculs de corrlation en parallle couvrent tous les cas de corrlation. La figure suivante illustre la fonction dautocorrlation pour chaque voie de synchronisation. Nous pouvons donc voir que pour chaque Tc (qui est la limite de la recherche de la boucle verrouillage de dlai), un pic de corrlation peut tre dtect. Ainsi, tout moment, une voie de synchronisation est valide (signal Synchro_voie_corrl vaut 1).

Figure III. 31. Reprsentation de la fonction dautocorrlation pour chaque branche de synchronisation (Cas N=7) dcale dun temps chip.

La structure dfinie pour ce nouvel organe de synchronisation est la suivante :

-123-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 32. Structure du rcepteur pour une synchronisation comptant N branches.

Compare la structure lmentaire, il est ncessaire dimplmenter un nouvel organe supplmentaire entre la synchronisation et la poursuite dtaill dans le paragraphe ci-dessous. III.3.2.2.4.1 Lorgane de slection

Comme son nom lindique, lorgane de slection a deux rles principaux : il doit indiquer limage de la voie synchronise. Ceci est valu laide des diffrents signaux (synchro_N_voie_corrl), il doit recaler le PN-Code pour permettre la premire voie dtre synchronise. Par consquence, nous nous retrouvons dans le cas dune synchronisation simple branche. Dans le cas dun code de longueur 15, la premire tape consiste dupliquer 15 fois la branche de synchronisation. Nous avons alors conu par concatnation des signaux de sortie de chaque branche le mot k_n [14:0], qui dfinit la voie synchronise. Il faut commander la mise jour des registres dcalage du gnrateur de PN-Code pour quau prochain signal dump (ou temps symbole), le PN-Code de la voie 1 soit en phase avec la donne tale reue. Ltape suivante est daccommoder la gnration du PN-Code pour quau prochain temps symbole, le PN-Code de la voie 1 soit en phase avec la donne tale. Le signal qui permet cela est le signal interne d (valeur des registres dcalage) impos par la sortie du module de slection. Le second signal de sortie de lorgane de slection est le signal maj qui identifie le moment de mise jour du signal d. La machine tats de la Figure III. 33 prcise le fonctionnement global de cet organe.

-124-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 33. Description du fonctionnement de lorgane slection.

La fonction slection comporte donc 5 tats : Repos : cest ltat dinitialisation dans lequel le signal reset vaut 1, maj vaut 0 et d(0 :11)h de valeur 800h. Sb1 : tat dans lequel on se trouve lorsque la premire voie (celle qui ne comprend pas de retard avec lorgane rcepteur_ss_synchronisation) est corrle. Ce sera le cas lorsque nous navons aucun retard engendr par le canal. Les trois tats suivants sont dfinis lorsque la corrlation nest effective que sur la premire voie. Sbn1 dfinit ltape dans lequel est fait la mise jour de d en fonction du numro de la branche. (MAJ=1) Sbn2 traduit la fin de la mise jour. Le signal maj vaut alors 0. Sbn3 est la dernire tape et gre les cas de dsynchronisation. Dans le cas dune perte de synchronisation, nous retournons dans ltape Sbn1 pour retrouver la nouvelle voie synchronise. Nous valuons la valeur du mot d(0:11) en fonction de la branche synchronise. Nos simulations nous ont montr que le temps de parcours de la machine tats tant de trois temps chip et que la valeur affecter au mot d(0:11) vaut b00h. Le temps symbole lors de la mise jour des registres dcalage rpond lquation suivante : Ts_maj =Ts+(k_n -1)*Tc
[Eq.III. 13]

La figure suivante illustre les diffrents signaux que nous venons de dcrire. Notamment, nous observons le mot d(0:11 ) qui prend la valeur b00h lorsque maj vaut 1. Le signal Synchro7 valant 1 montre que dans ce cas cest la branche n8 qui est corrle pendant le premier symbole. Au prochain temps symbole (2me Dump) cest la branche 1 (donc le Synchro1 vaut 1) qui est maintenant corrle. Nous voyons que la machine tats passe par les tats Sb1, Sbn1 et Sbn2.

-125-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 34. Simulation de lorgane dphaseur et du nouveau gnrateur de PN-Code.

III.3.2.2.4.2

Le gnrateur de PN-Code adapt la synchronisation N branches.

Le deuxime organe modifi pour permettre une synchronisation N branches est le gnrateur de PN-Code qui comporte prsent deux nouveaux signaux en entre : le signal maj commande la mise jour des registres des gnrateurs (actifs ltat 1). le mot d_int[0:11] qui est la valeur des registres dcalage du gnrateur. Lorganigramme du gnrateur de PN-Code devient le suivant :

Figure III. 35. Organigramme du gnrateur de PN-Code pour une synchronisation N branches.

-126-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Lorganigramme du gnrateur de PN-Code pour une synchronisation N branches est compos deux processus : Le premier processus (celui de gauche) permet initialisation des registres pendant un reset. Le deuxime processus (celui de droite) permet laffectation des registres dcalage (mot dint) et la cration du signal dump dfinissant le temps symbole. La mise jour des registres dcalage se fait pendant ltat haut du signal maj. III.3.2.2.4.3 Rsultats de simulation du rcepteur en bande de base

La structure que nous venons de dcrire a t implante en VHDL. Outre les signaux prsents lors des simulations prcdentes, nous montrons les signaux du rcepteur (III.3.2.2.1.4) permettant la validation du modle sur la figure suivante :

Figure III. 36. Simulation du rcepteur dans le cas dune synchronisation 15 branches.

Nous observons que cest bien la voie 8 qui est corrle au dpart puisque le signal synchro7 symbolisant la corrlation existante sur la 8me voie est mis 1. La fonction slection joue alors son rle : la machine tats (signal sync0) bascule successivement dans ltat Sbn1, sbn2 puis sbn3. aprs concatnation, le vecteur k_out, initialement 0, prend la valeur 128. La branche 8 (27) est celle dlivrant une corrlation correcte. Enfin, la valeur du vecteur passe 1, ce gnrateur de code venant de recaler le dlai, la corrlation correcte finale seffectue sur la branche numro 0 (20). La branche numro 1 devient alors corrle aprs un temps symbole. Les signaux du rcepteur deviennent alors correctes et correspondent aux signaux que nous avions dans le cas dune synchronisation simple branche (Figure.III.16). Au vu de cette simulation nous pouvons donc valider notre modle de synchronisation 15 branches.

-127-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.3

Description des parties analogiques

La modlisation des tages radiofrquences de la chane dmission-rception tire partie de la fonctionnalit analogique et mixte du langage VHDL-AMS. Les tages radiofrquences sont constitus doscillateurs locaux (analogiques), de multiplieurs (analogiques et mixtes) et de filtres (analogiques).

III.3.3.1 Description des parties radio-frquences

Figure III. 37. Schma global des tages radio-frquences pour lmission et la rception.

Ces tages radiofrquences sont donc constitus de multiplieurs et doscillateurs effectuant la modulation BPSK sur frquence porteuse, de filtres Passe-Bande et dun filtre Passe-Bas pour liminer les frquences doubles en sortie du dmodulateur. La modlisation du canal englobe un canal AWGN dont le niveau de bruit peut tre paramtrable.

III.3.3.1.1
III.3.3.1.1.1

La modulation et dmodulation BPSK


La modulation BPSK

La modulation BPSK (Chapitre II V.I) consiste matrialiser le signal binaire par un changement de phase de la porteuse ; un dphasage de devra tre interprt la rception comme un 1 binaire et labsence de dphasage comme un 0. Ceci se traduit lmission par la mise en uvre dun multiplieur numrique - analogique : un mlange entre le signal binaire (data_tal) et une porteuse (ici 2,44GHz). Cette opration ncessite la transformation des donnes tales au format NRZ (Etats -1 ;+1). Cette fonction est dcrite partir de lorganigramme suivant (Figure III. 38).

Figure III. 38. Organigrammes de fonctions composant la modulation BPSK.

-128-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Linstruction break permet linteraction entre le noyau numrique dans lequel sont dfinis les signaux numriques de lmetteur et le noyau analogique dans lequel est dfinie la porteuse. Les signaux de sorties de loscillateur et du multiplieur sont dcrits au moyen de terminaux qui dfinissent des connexions analogiques. Oscillateur local Saut de phase

Sortie haute frquence

Figure III. 39. Rsultats de simulation du modulateur BPSK.

Les rsultats de la Figure III. 39 montrent que chaque front sur la donne tale se traduit par un saut de phase. III.3.3.1.1.2 La dmodulation BPSK

Le schma classique de la dmodulation BPSK est utilis la rception et permet de transposer directement le signal tal en bande porte en bande de base (Figure III. 40). Outre un oscillateur local (OL) et un multiplieur, le filtre passe-bas rejette la composante spectrale de frquence double (Figure III. 41).

Figure III. 40. Dmodulateur BPSK utilis la rception.


Sortie OL Sortie Filtre Passe-bas

Figure III. 41. Rsultats de simulation en sortie du dmodulateur BPSK.

Le gabarit du filtre passe-bas est dtermin dans la partie suivante.

-129-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.3.1.2
III.3.3.1.2.1

Les Filtres analogiques


Choix des paramtres des filtres analogiques

Pour choisir les diffrents filtres analogiques utiles dans la chane radiofrquence, nous nous sommes bass sur une tude comparative [NIVE99] dcrivant les diffrents filtres analogiques. Le bilan est le suivant : Les filtres Passe - Bande en sortie du modulateur et en entre du dmodulateur ont pour rle de borner la bande dmission en accord avec la bande ISM (Bande passante dmission = 80MHz). La fonction de transfert retenue est [NIVE99] : b0 +b p +b2 p2 p2 1 H( p) = = [Eq.III. 14] 22 a0 +a1p +a2 p2 +a3 p3 +a4 p4 4,4.10 +3,1310 p +3,8810 p2 +1,37109 p3 +4,4.1019 p4 . 11 . 2 . Le filtre de Tchbyscheff apporte la configuration optimale. Ce filtre a t retenu pour sa bonne rjection malgr une mauvaise linarit en phase et une oscillation de sa rponse frquentielle dans la bande utile. Les caractristiques retenues sont : un filtre de Tchbyscheff dordre 5, de frquences de coupure 2,44GHz 40MHz avec une ondulation dans la bande passante de 0,05dB. Pour le filtre Passe - Bas en sortie du dmodulateur le filtre de Bessel dtient les meilleures proprits. En effet, la rjection est moindre du fait de lcart de frquence entre le signal utile et le signal rejeter (4,88GHz). Il dforme peu la rponse impulsionnelle et prsente une trs bonne linarit en phase. Le filtre de Bessel dordre 5 et de frquence de coupure 40MHz a t retenu [NIVE99] dont la fonction de transfert scrit :
H ( p) = 45 1. + 1,22.10 8 p + 5,51.10 17 p 2 + 1,08.10 25 p 3 + 7,83.10 35 p 4 50
[Eq.III. 15]

III.3.3.1.2.2

Description des filtres implants en VHDL-AMS

En VHDL-AMS, le comportement dun filtre peut tre exprim de deux manires soit sous forme de fonction de transfert, soit sous dune quation diffrentielle. Dj exprimer sous forme de fonction de transfert, nous avons dcrit les filtres sous cette forme. Elle sexprime sous lattribut prdfini ltf, qui accepte comme argument les tableaux de coefficients de polynme num et den, reprsentant respectivement polynme du numrateur et du dnominateur. Les filtres nont alors quune instruction simultane qui permet dexprimer la fonction de transfert du filtre dans le domaine de LAPLACE. Les entres et les sorties de ces filtres sont dfinies laide de terminaux (points de connexions analogiques).

III.3.3.2 Le canal AWGN (Additif White Gaussian Noise)


Dans toute application de ce type, les mesures issues des simulations (gain en traitement, rapport signal sur bruit SNR, taux derreur sur le bit TEB) seffectuent en milieu bruit. Il est donc ncessaire de dvelopper un modle de canal AWGN dans lequel nous pouvons aisment paramtrer les niveaux de bruit, permettant de voir directement le rapport signal sur bruit. Pour cela, les fonctions dveloppes pour la modlisation du canal, en VHDL-AMS, sont : une attnuation (B) un retard Td (B) un gnrateur de bruit blanc gaussien (A), intgrant une fonction spcifique capable de gnrer de manire implicite le niveau de bruit correspondant un rapport signal sur bruit souhait (C). -130-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Ces fonctions sont schmatises sur la Figure III. 42.

Figure III. 42. Description fonctionnelle du module du canal AWGN.

Ces fonctions dveloppes en VHDL-AMS, sont dtailles dans les paragraphes suivants.

III.3.3.2.1

Gnration dun bruit blanc Gaussien

Comme nous lavons dj vu (Chapitre 1( IV.2.3)), les bibliothques de bruit en VHDL-AMS sont quasiment inexistantes, nous avons donc dvelopp notre propre modle de bruit. Pour cela, nous nous sommes bass sur la mthode de BOX-MULLER [BOXM58] permettant de transformer deux variables dfinies par une distribution uniforme en une variable base sur une loi normale.

Dfinition de la transformation de BOX MULLER


Soit x1 et x2 deux variables uniformes et distribues indpendamment entre 0 et 1, alors z1 dfinit comme suit est une distribution normale de valeur moyenne nulle et de variance gale 1.
z 1 = 2 ln x1 cos(2x 2 )
[Eq.III. 16]

La loi dcrite par la variable z1 est appele aussi loi normale centre rduite et permet de dfinir un signal blanc gaussien.

Description du bruit blanc gaussien en VHDL-AMS


La gnration du bruit blanc gaussien se droule en deux tapes [KARR04,NORM04]. La premire tape permet de dcrire les deux variables uniformes X1 et X2. Pour ce faire, nous utilisons la fonction UNIFORM [LECU88] de la bibliothque Math_real . Cette fonction retourne un nombre x pseudo-alatoire bas sur une distribution uniforme dans lintervalle

-131-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

[0.0, 1.0]. Ces variables sont ensuite composes par la transformation de Box-Muller au moyen de lquation (Eq.III.8). Lorganigramme suivant (Figure III. 43) dcrit cette gnration du bruit blanc gaussien en VHDL-AMS.

Figure III. 43. Organigramme de la gnration dun bruit blanc gaussien.

Les variables alatoires x et y de lorganigramme permettent de dfinir la variable gaussienne noise . Linstruction concurrente break permet de forcer le calcul un instant dfini par le temps dchantillonnage (Tps_echant). La Figure III. 44 reprsente la densit de probabilit issue du bruit gnr laide de la transformation de BOX-MULLER en VHDL-AMS compare la thorie calcule sous MATLAB [GUIL05G]. Ce rsultat permet de valider la gnration dun bruit blanc gaussien.

MATLAB VHDL-AMS

Figure III. 44. Densit de probabilit laide du modle VHDL-AMS et du modle mathmatique sous MATLAB.

III.3.3.2.2

Le dlai dans le canal

En VHDL-AMS, le dlai dans le canal a t cr grce la fonction DELAYED qui recopie lentre sur la sortie aprs un temps rglable. Cette modlisation sera notamment utile pour la validation du modle du rcepteur et en particulier lorgane de synchronisation. En effet, cette dviation temporelle paramtrable dans le canal permet de mesurer la fonction

-132-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

dautocorrlation en sortie de lorgane de corrlation du rcepteur, sans synchronisation. Par la suite, cette fonction est aussi mise en uvre pour la modlisation dun canal multitrajet.

III.3.3.2.3

Implantation dun rapport signal sur bruit paramtrable

Limplantation dun signal bruit dans le canal au moyen dun additionneur permet de reproduire le comportement en milieu bruit du prototype [GUIL05E]. Cependant, les tapes de mesures associes, comme la dtermination du rapport signal sur bruit en entre du rcepteur, sont contraignantes : mesure de la puissance du signal seul (S) injection du bruit, mesure de la frquence totale, dduction de la puissance du bruit (B). La syntaxe du VHDLAMS permet de dvelopper un modle de canal dans lequel nous fixons comme paramtre dentre, directement le rapport signal sur bruit (SNR). Le modle fonctionnel complet du canal AWGN est prsent sur la Figure III. 45.

Figure III. 45. Structure interne du canal AWGN paramtrable.

Nous retrouvons comme variables dentre le retard Td et lattnuation A, auxquelles sajoute le niveau de rapport signal sur bruit en dcibel. Le signal de lentre du sommateur scrit :
Noise_generator_out=10(Level/20.0)Noise [Eq.III. 17]

dans lequel Level reprsente le niveau de bruit implicite dans le canal, noise le bruit blanc gaussien gnr avec la mthode de BOX-MULLER et Noise_generator_out le bruit gaussien gnr pour le niveau Level. -133-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Le niveau de bruit Level est calcul en fonction du rapport signal sur bruit dsir (SNR) et du niveau du signal Ve, qui peut tre attnu (A1) par rapport au signal en entre du canal. Pour cela, il est donc ncessaire de mesurer Ve (en dB) au prlable :
Level(dB) = Ve (dB)-SNR(dB)
[Eq.III. 18]

Le module CANAL AWGN comporte donc deux processus concurrents. Le premier processus calcule la valeur du niveau du signal seul lentre du canal Ve(dB). Le second processus gnre le bruit blanc gaussien adaptatif. Il cre le bruit Noise grce la transformation de Box-Muller et calcule le niveau Level en fonction du SNR et du niveau Ve en dB. Lorsque Level est calcul le niveau de bruit est inject dans le canal par lintermdiaire du signal Noise_generator_out.

-a-b-c-dFigure III. 46. Simulation des diffrents signaux du module CANAL AWGN .

La Figure III. 46 dcrit les diffrents signaux mis en jeu dans lorgane CANAL AWGN. Le signal (a) reprsente le signal en entre du canal , le signal(b) Noise est le bruit blanc gaussien gnr, le signal (c) Noise_generator_out dcrit le bruit inject dans le canal et enfin le signal (d) reprsente la sortie du canal. La figure ci-dessous prsente la densit de probabilit pour deux rapports signal sur bruit (SNR =15 dB gauche et SNR=10 dB droite) gnrs. La valeur moyenne du bruit paramtrable est nulle, mais la variance volue en fonction du rapport signal sur bruit (SNR).

SNR=15 dB

SNR=10 dB

Figure III. 47. Reprsentation du bruit gaussien avec diffrents niveaux de bruits.

Ces derniers rsultats permettent de valider le module canal AWGN modlis en VHDLAMS.

-134-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

III.3.4

Description du Convertisseur Analogique / Numrique

A lentre du rcepteur, aprs les tages radiofrquences, le signal en bande de base est chantillonn par la transformation analogique/numrique. Ce composant est le seul lment mixte analogique/numrique de la chane de communication. Le nombre de bits en sortie du convertisseur analogique/numrique est un paramtre important, et influe directement sur la taille et la complexit du circuit final. Une architecture taille de mots rduits sera potentiellement plus rapide quune architecture mots plus longs. Ltude de linfluence de ce paramtre sur le gain en traitement Gp [MELE01] a montr quune architecture du rcepteur 4 bits assure un bon compromis entre les performances et la largeur du bus du rcepteur. Le modle que nous avons dvelopp est un convertisseur analogique/numrique utilisant un processus dapproximations successives pour calculer le mot de sortie. Nous avons adapt un modle inclus dans la bibliothque standard du VHDL-AMS pour que la plage de tension et le temps de conversion soient configurables pour lutilisateur. Dans ce convertisseur, quatre tats sont dvelopps : lentre de la donne analogique, le maintien, la conversion et la sortie du mot sur 4 bits. Le process est constitu dune srie dinstructions squentielles dclenche par un front montant de lhorloge dchantillonnage. Les signaux en entre sont le signal issu du canal (ain), un signal de dbut de conversion (start), lhorloge dchantillonnage (640MHz) pour la conversion (clk). Les signaux en sortie sont un signal dtectant la fin de conversion (eoc) et le signal dout converti en numrique sur 4 bits. La valeur du signal analogique est prleve lorsque le signal start vaut 1. A chaque priode dchantillonnage clk =1, la valeur Vin est stocke dans un variable Vtmp. Cette valeur est alors quantifie dans la variable Dtmp avant dtre affecte la sortie sous forme signe code sur 4 bits.

III.4 Rsultats de simulation


III.4.1 Simulation de la fonction dautocorrlation

La validation du principe de ltalement de spectre [GUIL05B] est effectue pour diffrentes simulations au niveau du rcepteur pour une longueur de code gale 15 en prsence dun canal non-bruit. La fonction suivante est obtenue, et compare la fonction thorique (Figure III. 48).

-135-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

1,2 Thorie Simulation 1

0,8

0,6 Rc(tau) 0,4 0,2 0 0 50 100 150 200 250 300 350 400 450 -0,2 tau (ns)

Figure III. 48. Fonction dautocorrlation thorique et simule pour N=15.

Nous obtenons une courbe comparable la thorie (Chapitre 2 III.6.2) avec un pic 1 dautocorrlation maximal de valeur 1 pour un dlai nul, et minimal (de valeur ) en dehors N de la zone de corrlation. A la diffrence de la thorie, la fonction dauto-corrlation forme des paliers pendant environ 6ns, qui sexpliquent par le calcul de lintgration sur une frquence dchantillonnage de 160MHz. Cette simulation permet de valider la fonction de dstalement de notre modle, et valident qualitativement le modle dvelopp tout au long de ce chapitre.

III.4.2

Simulation de la chane complte Emetteur/Rcepteur

Toutes les fonctions mixtes analogiques et numriques dcrites dans ce chapitre (metteur, canal, rcepteur) sont implantes dans le logiciel SystemVision, constituant ainsi notre prototype virtuel en langage de haut niveau. Nous illustrons les diffrentes ondes temporelles principales mises en jeu dans la chane de lmetteur/rcepteur par la figure suivante (Figure III. 49).

-136-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

Figure III. 49. Rsultats de simulation des principaux signaux de lmetteur/rcepteur.

Les principaux signaux de lmetteur, du canal et du rcepteur reprsents sont : A lmission : Data_source, Data_encodee et Data_etale sont respectivement la trame mettre, la trame encode diffrentiellement et cette donne est ensuite tale. Ce dernier signal est modul avec un oscillateur de 2,44GHz, puis filtr laide dun filtre passe-bande. Dans le canal: Entre_canal et Sortie_canal sont les signaux en entre et en sortie du canal. A la rception : ain et data_codee sont les signaux dentre du rcepteur. Ain est le signal aprs la modulation BPSK, dont le rsultat aprs la conversion analogique/numrique donne le signal data_codee. Ce signal est ensuite corrl avec le PN-Code du rcepteur (code_clk_40nco) ce qui donne lieu au signal data_desetalee. Cette donne est ensuite compare (data_av_decodee), puis dcode en diffrentiel pour donner le signal en sortie du rcepteur (sortie_clk160nco). Nous observons que le signal data_av_decodee du rcepteur et Data_encodee de lmetteur correspondent bien. Enfin, les signaux data_source et sortie_clk160nco sont identiques mais avec une certaine latence.

-137-

CHAPITRE III : Mthodologie et dveloppement dun prototype virtuel mixte en langage de haut niveau

-138-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

IV CHAPITRE 4 : Etude et dveloppement de la maquette Emetteur-Rcepteur

Ce chapitre prsente lintgration du prototype complet. Ainsi nous dcrivons le choix du circuit programmable utilis et les diffrentes procdures de tests ralises. Nous exprimentons lintgralit des fonctions numriques de notre systme en axant nos tests sur la gnricit du systme implant et lorgane de synchronisation comportant plusieurs branches.

1 2

4 5 6

Introduction ............................................................................................................................................... 141 Cible dimplantation.................................................................................................................................. 141 2.1 Description du FPGA....................................................................................................................... 142 2.2 Le logiciel de commande Quartus II................................................................................................ 143 2.3 Etapes dimplantation ...................................................................................................................... 143 Les modules priphriques spcifiques dvelopps .................................................................................. 144 3.1 Paramtrage du canal...................................................................................................................... 145 3.2 Paramtrage du dbit....................................................................................................................... 148 3.3 Module de calcul de TEB ................................................................................................................. 148 3.4 Interface logicielle ........................................................................................................................... 149 Rsultats de synthse................................................................................................................................. 150 Evaluation des performances mesures ..................................................................................................... 151 5.1 Test en milieu non bruit.................................................................................................................. 152 5.2 Mesures en milieu bruit.................................................................................................................. 155 BILAN....................................................................................................................................................... 156

-139-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

-140-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

IV.1 Introduction
Cette dernire partie portera sur la ralisation dune maquette Emetteur/Rcepteur circuit programmable comprenant tous les tages numriques. Dans un premier temps, nous testerons les fonctions principales de lmetteur et du rcepteur en bande de base et nous nous focaliserons en particulier sur lorgane important pour un metteur/rcepteur talement de spectre qui est la partie synchronisation. Dans un deuxime temps, nous ajouterons un dlai numrique avec/sans bruit dans le canal pour valuer les performances de notre systme.

IV.2 Cible dimplantation


Nous prsentons tout dabord le choix de notre cible pour limplantation des tages numriques crits dans le langage haut niveau VHDL. A partir de ltude mene dans le premier chapitre, nous avons dcid de choisir comme cible dimplantation un circuit programmable FPGA, pour sa souplesse de conception (facilit dutilisation, facilit de programmation). Depuis plusieurs annes, les constructeurs de FPGA ont augment la complexit de leur circuit, tout en rendant disponibles gratuitement (via internet) ou faible cot les logiciels pilotes associs. Ceci est un donc un srieux avantage pour un dveloppement bas sur un composant programmable. Ces logiciels actuels associs pour la synthse conviennent dans la plupart des cas lorsque la conception devient plus difficile (frquence leve, nombre de portes importantes, contraintes temporelles fortes), il est alors ncessaire dutiliser dautres outils que ceux des fournisseurs de FPGA comme loutil de synthse de Mentor Leornardo Spectrum (ou plus rcemment Precision RTL) ou bien encore Synplify Pro de Synplicity. Le placement routage est naturellement exclusivement fait par les fabricants de FPGA qui sont amens connatre le plus prcisment possible les caractristiques physiques de leurs circuits. Le tableau suivant permet de comparer les diffrents outils logiciels des fabricants de FPGA.
Editeur Nom de loutil
Points marquants

Actel Libero

Altera Quartus II

Lattice IspLever

Xilinx ISE

Principaux outils tiers utiliss dans le flot de conception

Outil de gestion de projet Prplacement de blocs Simulateur propre avec intgrant des contraintes dition et visualisation de timing des chronogrammes Assignation automatique Outil danalyse et des broches de FPGA destimation de temps pour le circuit critique sans Outil de dbogage temps recompilation rel avec dclenchement crois avec le logiciel Simulation Simulation Simulation Simulation ModelSim(Mentor) ModelSim(Mentor) ModelSim(Mentor) ModelSim(Mentor) Gnration Test Bench Synthse NC Sim(Cadence) NC Sim(Cadence) Synplify FGPA Synthse Sirocco(Synopsis) Sirocco(Synopsis) Synplify FGPA Synthse Synthse (Synplicity) Design Compiler(Synopsis) Synplify FGPA (Synplicity) Leonardo (Mentor) (Synplicity) Leonardo (Mentor) Analyse statistique de Synthse physique Leonardo (Mentor) Palace (Magma) dlais Synthse physique Prime time (Synopsis) Palace (Magma)

Vue graphique de la Compilation incrmentale conception au niveau Conception et implantation logique et physique indpendantes des modules Editeur de paramtrage Outil graphique de des E/S connexion dIP et de curs Outil de calcul de la de processeurs consommation Simulateur disponible

Tableau IV. 1. Flots de conception des fabricants de FPGA [GAU04].

Pour des raisons de disponibilit de matriel au laboratoire, nous avons choisi de nous limiter aux produits dALTERA. Comme nous en avions fait tat dans notre tude de march (Chapitre 1 III.2) le Stratix II est le plus performant de la famille ALTERA mais son cot est -141-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

prohibitif ( 2000) et le rend impossible dutilisation. Pour un moindre cot, le FPGA Cyclone II prsente un bon compromis cot / performances. Possdant des performances infrieures au Stratix II, il semble nous satisfaire pour notre projet car il est capable dutiliser 2 millions de portes, avec des frquences dhorloge pouvant aller 800 MHz. Cependant nous disposons au laboratoire dun kit de dveloppement ALTERA APEX 20KE200E. Les performances intrinsques sont certes infrieures celles prsentes par les modles prcdents, mais elles pourront tout de mme satisfaire un premier prototype.

IV.2.1

Description du FPGA

Le FPGA ALTERA APEX 20KE200EFC484 se trouve sur la carte de dveloppement EXCALIBUR que nous pouvons voir sur la Figure IV. 1. 3 1 4

Figure IV. 1. Carte de dveloppement NIOS EXCALIBUR.

La carte de dveloppement Excalibur comprend : 1. Le composant FPGA Apex20K200EFC484. 2. Un port SERIE RS-232. 3. Une mmoire flash de 1Mbyte. 4. Une mmoire SRAM de 256Kbytes. 5. Un oscillateur dune frquence de 33.33MHz. Il offre en autre la possibilit dutiliser jusqu 80 entres/sorties. Ses caractristiques sont rsumes dans le tableau suivant :

-142-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Nom du FGPA 20K200E

Nombre de portes maximum du systme

Portes typiques

Nombre dlments logiques

Nombre de blocs systme incorpor

PLL

526 000
Tension dalimentation

200 000
Maximum de bits RAM

8320
Maximum cellule

52
Maximum dentre/sortie

2
Diffrentes tensions dalimentation

1.8V

106496

832

376

1.8V,2.5V,3.3V,5.0V

Tableau IV. 2 Rsum des caractristiques du FPGA utilis (APEX).

Notons quen raison des performances prsentes par notre FPGA, nous avons choisi de diviser par 4 nos frquences dhorloge. Ainsi, la frquence dchantillonnage, initialement 160MHz, volue maintenant une frquence de 40 MHz et la frquence rythmant le bit du code dtalement devient une frquence de 10 MHz.

IV.2.2

Le logiciel de commande Quartus II

Nous avons mis en uvre QUARTUS II version 5.0 disponible gratuitement via le site internet dALTERA [ALTWW]. Son utilisation est indispensable pour configurer un FPGA, car il excute le placement routage et gnre les fichiers qui permettent de configurer le FPGA. QUARTUS permet aussi de concevoir des systmes, faire les simulations prenant en compte le choix du FPGA cible, ce qui peut nous guider pour le choix de ce dernier. De plus, il calcule un certain nombre de paramtres tels que la frquence maximale et la puissance consomme.

IV.2.3

Etapes dimplantation

La Figure IV. 2 montre les diffrentes phases pour limplantation de fichiers VHDL sur un FPGA de la famille Altra.
Cahier des charges

Quartus Environment Environnement VHDL-AMS


Etages Numriques VHDL Synthtisable Etages Analogiques VHDL -AMS

Fichiers VHDL Synthtisable Quartus II

Bibliothques du constructeur

Synthse (Gnration de Netlist) Analysis & Synthesis Synthse Logique Placement routage Fitter Vrification Electrique et temporelle Analyser & Timing Analyser Configuration du FPGA APEX20KE

Analyse Frquentielle et temporelle

Choix de larchitecture

Figure IV. 2. Mthodologie pour un FPGA de la famille ALTERA

-143-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Nous trouvons 4 phases : Loutil Analysis & Synthesis vrifie la syntaxe et la smantique du code et rduit au minimum la logique de conception. Il gnre ensuite une netlist qui dtermine le nombre dlments logiques utiles la ralisation du systme et la connexion entre ces lments logiques. Un lment logique est compos pour lAPEX20K200E dun registre ou/et dune LUT (Look Up Table). Le registre permet de faire toutes les affectations de signaux (par exemple dtection sur front montant) alors que la LUT dclare dans une table la valeur des signaux (utiles par exemple pour la dfinition des paramtres). La deuxime phase est le placement/routage qui est dfini partir de la netlist des lments logiques. Cest la phase qui consomme le plus de temps car cest lors de cette tape que le logiciel choisit les positions physiques des cellules et les chemins des signaux pour une utilisation optimale et rduite. La phase suivante correspond la vrification des choix faits lors de la phase prcdente et la gnration des fichiers vers le FPGA. Elle permet danalyser les diffrents chemins et les dlais de propagation. Aprs cette tape, nous pourrons connatre le dlai pour le chemin le plus critique. Les rsultats de cette phase sont tablis sous forme de rapport et dterminent les performances du composant (occupation du FPGA, Puissance, temprature de fonctionnement, schmas des connexions ). La dernire phase implante le circuit conu par programmation et configure les interrupteurs en fonction des rsultas du placement/routage.

IV.3 Les modules priphriques spcifiques dvelopps


Le synoptique du systme est illustr par la Figure IV. 3.

Figure IV. 3. Synoptique du systme de tests du FPGA.

Il se compose dun module de bruit analogique, du kit de dveloppement pour le FPGA APEX 20K200E, dune interface en Visual Basic spcifiquement dveloppe et dun analyseur logique 16 voies.

-144-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

IV.3.1

Paramtrage du canal

IV.3.1.1 Le retard dans le canal


Lors de nos tests, le canal paramtrable permet de choisir diffrents instants, entre autre, un dlai correspondant un retard de propagation ou une rflexion. Quatres valeurs de dlais ont t privilgies, correspondant des points cls de la fonction dautocorrlation (pic de corrlation (Cas 11), entre le pic de corrlation et le temps chip (Cas 00)), entre les 2 pics de corrlation (Cas 01), et sur le deuxime pic de corrlation (Cas 10).

Figure IV. 4 : Reprsentation des diffrents dlais commands dans le canal.


Valeurs thoriques (N=15, Tc=25ns) Formules Signal sel Pente de corrlation 12,5 ns Tc 00 (Cas 00) Pas de corrlation 200 ns 8Tc 01 (Cas 01) Pic de corrlation 375 ns 15Tc 10 (Cas 10) Aucun retard 0 ns 0 11 (Cas 11)
Tableau IV. 3. Valeur des points intressants de la courbe d'auto corrlation.

La solution retenue pour la gnration des retards est un registre dcalage de la bibliothque de Altera. La cascade de plusieurs de ces registres forme le composant altshift . Le nombre de registres associs, huit pour notre exemple, fixe le retard de propagation (Tableau IV. 3).

-145-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

altshift

altshift

altshift

Figure IV. 5 : Schma du bloc retard_canal

Le paramtre gnrique width fixe la taille du bus dentre-sortie et le paramtre depth le nombre de bascules. Le port de sortie est constitu des signaux retards en fonction du nombre de bascules dtermin par le paramtre depth . Le code et un exemple de cet organe sont illustrs sur la figure ci-dessous :
component altshift is generic ( WIDTH : INTEGER := 0; -- largeur de l'entre et de la sortie DEPTH : INTEGER := 8 -- profondeur ); port ( data : IN STD_LOGIC_VECTOR (WIDTH-1 DOWNTO 0); --entre du registre clock : IN STD_LOGIC := '0'; --horloge front montant aclr : IN STD_LOGIC := '0'; clken : IN STD_LOGIC := '1'; result : OUT STD_LOGIC_VECTOR (WIDTH-1 DOWNTO 0) -- sortie du registre ); end component;

(a)

(b)

Figure IV. 6: Description du composant altshift (a) et circuit associ(b) (Depth =8,with=0)
Le signal sel du Tableau IV. 3 est un mot de 2 bits fix par lutilisation, et fixant la slection du retard dans le canal au moyen dun multiplieur. Le module retard canal doit tre comme tous les autres modules, utilisable pour nimporte quelle longueur de code (de N=7 N=2047). Nous avons donc dvelopp une matrice de fonctions retard_canal, dont chacune comporte des modules adapts en nombre de registres suivants la valeur du temps symbole. Les chronogrammes aprs synthse sous QUARTUS sont prsents sur la Figure IV. 7. Lorsque le mot sel vaut 00 (Pente de corrlation) la sortie (sortie_clk160nco ) est quivalente lentre des donnes, tandis que dans le cas 01 la sortie est active 1.

-146-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Cas 00

Corrlation

Cas 01

dcorrlation

Figure IV. 7 : Chronogramme des signaux metteur/rcepteur avec retard programmable

IV.3.1.2 Gnration du bruit dans le canal


Dans tout systme de communication, il est ncessaire dvaluer ses performances en milieu bruit. Ce bruit doit avoir un contrle de niveau afin de calculer le rapport signal/bruit. Pour injecter un bruit blanc gaussien dans le canal, la solution suivante a t envisage : Les constructeurs de FPGA mettent disposition des modules VHDL ralisant des fonctions pr-tablies (IP ou Intellectual Property). Le module AWGN permet de bruiter le signal directement sur le FGPA, sans avoir importer du matriel externe. Sachant que les FPGA servent essentiellement de nos jours mettre au point des systmes et que le bruit et un point trs important dans une conception, XILINX a cr ce module pour faciliter le travail des ingnieurs. Dans ce module, nous entrons le niveau du signal sur le bruit souhait. Lutilisation de ce module pour un FPGA Altera entranerait un temps de conception prohibitif d au portage de cette IP Xilinx sur un FPGA de la famille ALTERA. Cette solution a donc t carte pour cause de complexit de portage. La solution retenue est base sur un circuit analogique externe dont la source de bruit est gnre par un gnrateur incluant cette fonction. Le gnrateur HEWLETT PACKARD 33120A possde une fonction bruit (noise) qui gnre un bruit dont nous pouvons faire varier lamplitude entre 0.5 mV et 10V. Le circuit externe se compose du gnrateur de bruit (GBF) lentre dun sommateur avec le signal en sortie de lmetteur (Figure IV. 8). .

-147-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Gnrateur de bruit
R

Signal tale

+
R

FPGA
Signal tal bruit

Figure IV. 8. Circuit analogique ralisant la fonction bruit.

IV.3.2

Paramtrage du dbit

Le cahier des charges nous oblige paramtrer le dbit de notre metteur entre 4 kps et 1,5 Mbps. Pour cela, nous fixons dans une bibliothque dnomme parameter les valeurs du coefficient c(n) permettant de fixer la longueur du PN-Code. Comme nous lavons vu dans le (Chapitre 2 V.2.1) ce coefficient c(n) permet le choix de neuf dbits diffrents de 4,75Kbps 1,43Mbps. Pour choisir ce coefficient et par mesure dconomie de bit, nous lavons cod sur un mot de 4 bits, accdant aux neufs possibilits. Chacune des valeurs renvoie un coefficient c(n) qui sert pour le calcul du PN-Code. La frquence du chip est fixe 10 MHz, soit un temps chip de 100ns. La longueur de code est donc gale N.Tc . Les liens entre la longueur du code dtalement, le coefficient c(n) et les paramtres associs sont rsums dans le tableau suivant :
N COEFFICIENT C(N) VALEUR DU PN-CODE DEBIT EN (KBPS) CODE 4 BITS TEMPS SYMBOLE (S)

7 15 31 63 127 255 511 1023 2047

000000000101 000000001001 000000010010 000000100001 000001000100 000010001110 000100001000 001100001001 010000000010

1110100 111101011001000 101011101100011111001101001 111111010101100110110100100 100100110100111101110000111 101100011110100001111111100 100010001100100011101010110 111101011110110010011111110.. 101010101011101110111001001

1428 667,5 322,5 158,75 78,75 39,25 19,5 9,75 4,75

0000 0001 0010 0011 0100 0101 0110 0111 1000

0,70 1,5 3,1 6,3 12,7 25,5 51,1 102,3 204,7

Tableau IV. 4. Correspondance entre N, le dbit et le mot de programmation sur 4 bits.

IV.3.3

Module de calcul de TEB

Le bruit tant cr, nous allons quantifier son influence laide dun module de taux derreurs sur le bit (TEB). Pour cela, nous devons comparer la trame qui est envoye la trame que nous obtenons en rception et compter le nombre derreurs que nous avons obtenu. La solution dimplanter deux rcepteurs de mme nature, lun pour un trame dentre bruite, lautre une trame dentre non bruite a t mis en uvre. Daprs lquation (Eq.II.2) du -148-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

chapitre II, le calcul du TEB se fait par la division du nombre derreurs obtenues par le nombre de bits envoys.

IV.3.4

Interface logicielle
la squence de la trame dentre (8 bits), rpte jusqu la fin de lmission, la longueur du code dtalement sur 4 bits (de N=7 N=2047), la valeur du retard dans le canal (corrlation, non corrlation, demicorrlation et pic de corrlation), le nombre dchantillons, un gestionnaire derreur permettant la fin de lmission le calcul du TEB.

Cette interface permet lutilisation de contrler :

Figure IV. 9. Capture dcran de linterface graphique de commande FPGA.

En aucun cas nous ne pouvons envoyer une configuration qui na pas t dfinie au pralable auprs du FPGA. Cette interface communique avec le FPGA sur le port parallle et fonctionne selon les 4 modes suivant : 1) Etat non actif (Reset =1) : rien ne se passe 2) Etat de configuration : Les valeurs issues de linterface sont charges dans le FPGA. 3) Etat de Marche : Le systme Emetteur-Rcepteur fonctionne et le calcul du TEB est actif. 4) Etat de Rapport : Linterface reoit la valeur du TEB. Lorsque lenvoi des trames est termin, selon le nombre dchantillons choisi, un signal de fin de fonctionnement end_transmit passe ltat 1 et ce dernier commande le

-149-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

passage ltat envoie_du_teb , ainsi nous envoyons le nombre derreurs linterface toujours sur les fronts de lhorloge du PC.

IV.4 Rsultats de synthse


Le nombre de branches de lorgane de synchronisation, ainsi que le nombre de registres (fonctions de la longueur du code) utiliser pour paramtrer les retards voulus dans le canal sont extrmement consommateurs de place dans le FPGA. Quatre exemples de synthse ont t effectus (Tableau IV. 5), pour des valeurs extrmes et moyennes du nombre de branches B de lorgane de synchronisation et de la longueur N du code dtalement. La synthse N2, utilisant un nombre gal (N=B=255) relativement lev est irralisable partir de notre matriel (taux doccupation 332%). Nous avons retenu un compromis de configuration (N=B=63), permettant dutiliser un code de longueur N=63 et son nombre de branches de synchronisation quivalent. A partir de cette configuration dimplantation, les rsultats de synthse, en terme doccupation de nombre de cellules, font tat dune rpartition par fonction dtaille sur la Figure IV. 10. Synthse N1 20% N=2047 B=1 N=2047 Synthse N2 332% N=255 B=255 N=255 Synthse N3 5% N=63 B=1 N=63 Synthse N4 76% N=63 B=63 N=63

Occupation du FPGA Canal Test Synchronisation


(B=nombres de branches de synchronisation)

Longueur de code maximum

Tableau IV. 5: Rsum des diffrentes synthses effectues.

-150-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

7000 Registres LUT

6000

5000 Nombre de cellules utilises

4000

3000

2000

1000

0 Canal emission parametre Recepteur

Registres LUT
140

6000

Emission
Nombres de cellules utilises

5000

Registres LUT

120

Nombres de cellules utilises

4000

Rcepteur

100

80

3000

60

2000

40

1000
20

0 encodeur Generateur trames Gene_code_emission multi_emission

Poursuite

Reception_ss_synchro

Synchronisation_globale

Figure IV. 10. Occupation en nombres de cellulles des principales fonctions de lmetteur (a) et du rcepteur (b).

IV.5 Evaluation des performances mesures


Cette dernire partie a pour objectif dvaluer et mesurer les performances de notre prototype complet incluant la totalit des fonctions dveloppes tout au long de ce mmoire : metteur complet en bande de base, canal bruit, retard paramtrable, rcepteur avec synchronisation srie N branches et boucle verrouillage de dlai. Enfin, nous mesurons lvolution du taux derreur sur le bit, en fonction du rapport signal sur bruit dans le canal et le comparerons des rsultats de mesures effectues en environnement rel.

-151-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

IV.5.1

Test en milieu non bruit

IV.5.1.1 Emetteur-rcepteur Simple Branche IV.5.1.1.1 Mesures pour diffrents longueurs de codes

Pour trois longueurs de code diffrentes, nous relevons et comparerons les donnes dentres avec les donnes en sortie du rcepteur.

N=7 Ts7=700ns N=15 Ts15=1500ns N=31 Ts31=3100ns


Ts31 Ts15 Ts7
Figure IV. 11. Chronogrammes mesurs pour diffrentes longueurs de code N=7,N=15 et N= 31.

Ces trames sont identiques permettant daffirmer que les fonctions propres ltalement de spectre sont correctes. Le temps symbole est ici fix Tc=100ns, ce qui implique un temps symbole gal (700, 1500 et 3100ns respectivement pour N=7, 15 et 31). Notons une latence globale, gale 1,43s.

IV.5.1.1.2

Mesures pour diffrents dlais

Nous nappliquons pas de retard en plus de celui induit par la propagation des signaux, nous sommes dans le cas o sel 11 du module de bruit (Chapitre 4 IV.3.1.1). Le signal tal data_tale est directement li data_tale_retarde qui est le signal dentre du rcepteur. Le chronogramme suivant a t obtenu pour une longueur de PN-Code N=7.

Figure IV. 12. Chronogramme systme corrl dans le cas sel =11.

La propagation du signal data_tal provoque un dcalage de 4ns en sortie du canal data_tale_retarde , une valeur ngligeable car nous sommes sur le premier pic dautocorrlation (Cas 11 du module de retard), donc le systme est parfaitement corrl. Le signal de sortie du rcepteur sortie est dcal par rapport au signal de lmetteur de 1,43 s. Cette valeur est de la propagation lintrieur du composant dans le cas N=7. Pour ce test, nous nous plaons dans le cas o sel (10) du module de retard. Le retard utilis est alors gal 8 Tc (Temps Chip) pour des longueurs de PN-Code valant -152-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

respectivement 15,31,63 et de 4 Tc pour N=7. Ce dernier cas est le cas que nous allons prsenter sur le chronogramme suivant :

Figure IV. 13. Chronogramme systme non corrl.

Nous constatons que le retard introduit entre le signal data_etale et le signal data_etale_retarde est de 400ns ce qui nous positionne entre le deux pics de corrlation. Nous constatons que le signal sortie est toujours gal 1 . Le systme est donc incapable de dcorrler le signal, conformment nos attentes. Nous avons par la suite focalis nos mesures sur deux paramtres que sont le temps daccrochage (TA) correspondant au temps de synchronisation et la latence totale, cart entre le signal dentre et la sortie (TL). Ces deux paramtres sont prsents sur la figure suivante :

Ecart TA

Ecart TL

Figure IV. 14. Reprsentation du temps daccrochage(TA) et de la latence (TL).

Le tableau suivant rsume les diffrentes mesures effectues pour des longueurs de code variables. Longueur du PN-Code aucun retard TA(temps (Cas 11) daccrochage de la synchronisation) TL(latence globale) dcorrl TA (Cas 01) DemiTA corrlation TL (Cas 00) N=7 1s 1,34s Pas daccrochage 1,2s 1,5s N=15 1,8s 2,5s Pas daccrochage 2s 5,5s N=31 8s 6,04s Pas daccrochage 8,25s 6,5s

Tableau IV. 6. Rsum des diffrentes mesures pour des longueurs de PN-Code diffrents.

Les diffrentes mesures renseignes dans le Tableau IV. 6 montrent que pour un mme retard le temps daccrochage augmente en fonction de la longueur du PN-Code.

IV.5.1.2 Emetteur-rcepteur avec synchronisation N branches


La synchronisation srie, dveloppe dans le chapitre III (III.3.1.1.4), est synthtise et implante dans le FPGA associe la boucle verrouillage de dlai. Le test comprend prsent les fonctionnalits suivantes : Emission dune trame pour des longueurs de code N=7 N=63. Rcepteur qui permet de dcoder les codes dtalement prcdemment cits pour lmission. Synchronisation qui dtecte lorsque la corrlation est existante sur une des 63 branches de lorgane. Recherche de la branche corrle.

-153-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Poursuite qui permet de maintenir la corrlation.

Le test prsent sur la Figure IV. 15 est effectu avec un retard nul dans le canal (Cas o sel = 11). Nous avons visualis les diffrents signaux valuant la synchronisation en sortie des diffrentes branches. Notre analyseur logique ne comprenant que 16 voies, nous avons slectionn les branches les plus susceptibles dtre valides en fonction des diffrents retards. TA

TL Temps

Figure IV. 15. Chronogramme des signaux de synchronisation (retard canal seul).

Le test a t effectu pour une longueur de PN-Code de N=15. Les signaux synchro(n) reprsentent ltat de la corrlation relative la branche n. Ainsi, lorsque la 31ime branche est corrle, le signal synchro(31) passe ltat 1. Le signal synchro quant lui est ltat haut lorsquune synchronisation est dtecte. Le chronogramme montre la corrlation effective sur les branches 0 et 31. Ceci correspond aux rsultats escompts, puisque pour tous les temps symboles la corrlation est dtecte. Notons que la sortie est correcte et comporte un cart TL avec lentre data_source. Nous allons maintenant observer le mot k dont la valeur dsigne la branche corrle. Le prochain chronogramme a t effectu pour un retard de 8Tc dans le canal et une longueur de PN-Code N=15.

Mot k_out

Figure IV. 16. Chronogramme du mot k_out pour un canal retard de 8Tc.

Comme escompt dans le mode dcorrl du canal (cas 01), le signal de sortie vaut 1. Le mot k_out [0 :6] devrait quant lui dtecter la 8me branche. Ce nest ici pas le cas puisque la valeur du mot k_out [0 :6] oscille entre les valeurs 9 (0001001b) ou 10 (0001010b). Cette erreur est d au fait que nous ne connaissons pas exactement la valeur du retard dans le canal qui volue en fonction du temps de propagation des portes. Le Tableau IV. 7 fait tat des mesures du temps daccrochage et de la latence globale (TA et TL) dune synchronisation comportant N branches.

-154-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Nombres de branches (quivalent la longueur du PN-Code) aucun retard ( TA(temps daccrochage Cas 11) de la synchronisation) TL(Latence totale) Branches dtectes dcorrl TA (Cas 01) Branches dtectes Pic de corrlation (Cas 10) TA TL Branches dtectes

N=7 1,04s 2,88s N :0,8,15 Pas daccrochage N :7,14 1,36s 3,04s N :0,8,15

N=15 1,84s 5,28s N : 0,16,31 Pas daccrochage Oscillation entre N9 et N10. 2,48s 6,88s N : 0, 16, 31

N=31 3s 11,68s N :0,31 Pas daccrochage N :9 3,5s 12,72s N : 0, 31

Tableau IV. 7. Mesures associes une synchronisation comportant N branches.

Nous pouvons remarquer que le temps TL est doubl (dans le cas N=15) par rapport au temps TL de limplmentation dune synchronisation simple branche. Comme nous lavions prvu, nous retrouvons un temps daccrochage plus faible. En effet nous avons divis dun facteur et temps daccrochage 2,5 TA par rapport une synchronisation simple branche.

IV.5.2

Mesures en milieu bruit

Nous testons maintenant notre systme metteur-rcepteur en milieu bruit. Pour cela, nous utilisons les modules de gnration de bruit partir de la carte analogique et le module de calcul de taux derreur par bit. Un niveau de bruit est appliqu sur notre signal en sortie de lmetteur dont nous pouvons visualiser les effets sur la figure suivante dans le cas dun niveau gal 50mV.

Signal bruit

Signal non bruit

Figure IV. 17. Visualisation des effets dun niveau de bruit de 50mV en sortie du canal.

En appliquant un niveau de bruit (1V), nous remarquons (Figure IV. 18) lapparition de bits errons.

-155-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Bits errons

Figure IV. 18. Chronogramme du systme avec une tension de bruit de 1V.

Le taux derreur sur le bit correspondant, fourni par le module interface est de 2.10-1. Le rapport signal sur bruit associ scrit :

5 Vsignal SNR = 10 log = 10 log = 7 dB Vbruit 1 Les mesures pour diffrentes tensions de bruit permettant de reproduire lvolution du taux derreur sur le bit, sont prsentes sur la Figure IV. 19.
0 1,00E+00 2 4 6 8 10 12 14 16 18 20 22

1,00E-01

Taux d'erreur sur le bit

1,00E-02

1,00E-03

1,00E-04

1,00E-05 Rapport Signal sur bruit (dB)

Figure IV. 19. Mesure de TEB du rcepteur simple implant sur le FPGA.

IV.6 Bilan
Au cours de ce chapitre nous avons intgr dans un circuit programmable le prototype complet prsent dans le chapitre III. Pour cela une premire tude sur les outils existants a t mene. Le composant choisi est un FPGA APEX20KE dALTERA pour des raisons de disponibilit et de flexibilit. A laide du logiciel QUARTUS II fourni par le constructeur, nous avons implant les fichiers synthtisables du modle VHDL-AMS.

-156-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

Pour la procdure de test, nous avons dvelopp deux organes supplmentaires. Le premier (canal paramtrable) nous a permis de tester les diffrents tats du systme, et le second (module de calcul dun taux derreur sur le bit) de caractriser notre systme en milieu bruit. Pour pouvoir communiquer avec le composant programmable nous avons enfin dvelopp une interface en Visual Basic. Ltape de synthse nous a montr rapidement que la capacit dintgration du composant tait insuffisante pour traiter toutes les branches de notre modle complet (synchronisation avec 2047 branches maximum) et les modules complmentaires. Ces rsultats nous ont conduit limiter les longueurs de PN-Codes N = 63 et de supprimer le rcepteur qui servait de comparateur dans le module de calcul du taux derreur de bit. Avec ces limitations, nous utilisons 75% de la capacit dintgration du FPGA. Cest pourquoi les horloges pour ltude de notre modle ont t divises par quatre. Ainsi, le temps chip (TC) est dsormais fix 100ns. Malgr ces limitations nous avons pu exprimenter les fonctions principales de notre systme. Nous avons ax nos tests sur la gnricit du systme implant (tests pour diffrentes longueurs de PN-Code) et sur lorgane de ,bre de branches augmentait la latence globale entre lentre et la sortie mais en contre partie la dtection de la synchronisation est plus rapide.

-157-

CHAPITRE IV : Etude et dveloppement de la maquette Emetteur-Rcepteur

-158-

CONCLUSION ET PERSPECTIVES

CONCLUSION ET PERSPECTIVES

-159-

CONCLUSION ET PERSPECTIVES

-160-

CONCLUSION ET PERSPECTIVES

Le travail prsent dans ce mmoire constitue une contribution au prototypage virtuel bas sur la norme VHDL-AMS. Le travail dvelopp nous permet de disposer dun prototype virtuel mixte complet dcrit dans un langage de haut niveau pour un metteur/rcepteur talement de spectre. Afin dtre en adquation avec les nouvelles mthodologies de conception, ce prototype se positionne sur une approche de rutilisation de blocs matriels dans une application de tlcommunication sans fil. Un tat de lart sur la conception systme, prsent dans le premier chapitre, nous a permis de constater la complexification et la miniaturisation des composants lectroniques. Nous avons mis en avant les mthodologies de conception actuelles permettant de rduire les cycles de conception et les cots de dveloppement en insistant tout particulirement sur le prototypage virtuel. Diffrentes cibles de conception ont alors t prsentes et compares. Les outils de conception tant devenus une ncessit dans ce type de dveloppement, nous avons conclu ce chapitre par le choix du langage multidisciplinaire VHDL-AMS. Dans le deuxime chapitre, nous avons prsent le systme de communication hertzien metteur/rcepteur dans la bande libre ISM. Le systme doit tre multi-capteurs et multiutilisateurs en milieu bruit pour un environnement clos. Il ncessite de plus un haut niveau de scurit de transmission. A partir de ce cahier des charges, nous avons expos les lments de base dune chane de communication numrique et avons propos un schma fonctionnel du modle metteur/rcepteur. Nous avons compar ensuite diffrentes architectures de synchronisation et de poursuite pour tablir au terme de ce chapitre les diffrents organes de notre systme communicant. Aprs avoir dfini le langage VHDL-AMS, nous avons trait dans la troisime partie, la description des tages numriques et analogiques du systme. Nous avons tudi et simul diffrentes topologies darchitectures. Nous avons opt pour une synchronisation de type SERIE avec une boucle verrouillage de dlai cohrente dans laquelle nous avons inclus la possibilit pour lutilisateur de choisir la longueur de la squence pseudo-alatoire, le temps de propagation dans le canal et le rapport signal sur bruit. Notons que ce rapport signal sur bruit est dfini directement par lutilisateur, le niveau de bruit tant calcul de manire implicite par le langage VHDL-AMS. En vue damliorer les performances du rcepteur talement de spectre, nous avons dvelopp une synchronisation N branches et un organe de slection. Les rsultats de simulations semblent en parfait accord avec les rsultats thoriques attendus. Au terme de ce chapitre, nous avons tabli les fonctions numriques devant tre implantes dans un FPGA. La dernire partie dveloppe donc la ralisation dun prototype matriel de lmetteur/rcepteur en bande de base. Nous prsentons tout dabord notre platine de test et les modules spcifiques associs pour mener bien nos mesures. Les performances du circuit en terme de capacit dintgration sont values. Nous avons montr que la fonction synchronisation SERIE, retenue au second chapitre, occupe elle seule la majorit du circuit programmable, soit environ 5500 cellules lmentaires. La capacit relativement rduite de notre FPGA (8000 cellules) limite le nombre de branches de cette synchronisation 63. Les tests effectus, valident les fonctions de notre prototype de communication, en milieu idal et bruit. Ce prototype nous a permis de tester diffrentes fonctionnalits du systme dans un environnement bruit : fonction dautocorrlation, temps daccrochage, latence et rapport signal sur bruit. En milieu faiblement bruit, nous avons pu mesur un taux derreur sur le bit de lordre de 10-5, valeur qui volue dfavorablement lorsque le bruit augmente.

-161-

CONCLUSION ET PERSPECTIVES

Ltude en bande de base du prototype matriel, a permis de valider la globalit des organes numriques de notre metteur/rcepteur. Les organes doivent prsent tre coupls aux tages radiofrquences. Le systme complet pourra alors tre configur avec plusieurs metteurs, afin dexprimenter le comportement de la communication multi-capteurs. Nous porterons un intrt particulier la mesure de dbit pour les frquences dhorloges leves et la stabilit de la boucle verrouillage de dlai en fonction du dlai dans le canal. Les marchs et les technologies sont toujours appels voluer. Cest pourquoi terme nous prvoyons dintgrer les tages radiofrquences et la partie traitement du signal en bande de base sur une seule puce (System On Chip : SoC). Par ailleurs, lessor et lvolution actuels des circuits FPGA pourront aussi donner lieu une tude plus fine de notre systme metteur/rcepteur avec lutilisation de composants prsentant une capacit dintgration bien suprieure (par exemple STRATIX II , VIRTEX IV ). Ces derniers composants semblent dautant plus intressants quils intgrent une proprit intellectuelle (IP) permettant de gnrer un bruit blanc additif gaussien (AWGN) [XILI02]. Ce fichier pourrait tre en particulier utilis pour mesurer les performances du taux derreur par bit de notre systme de communication. Enfin, les langages associs au VHDL-AMS, tels que le C/C++, permettront notre prototype virtuel dinclure un protocole de communication. Pour cela, le systme devra tre coupl des simulateurs rseaux, tels que les logiciels Network Simulator, Opnet, Qualnet, permettant ainsi de pouvoir simuler la globalit des trois couches basses du modle OSI dun systme communicant (Figure 0.2).

Rseau Liaison de donnes Physique

Figure 0. 2 .Architecture en couches du modle OSI.

-162-

REFERENCES

REFERENCES

-163-

REFERENCES

[802.11] IEEE Computer Society IEEE 802.11 standard Wireless . 1996. [802.15.1] IEEE Computer Society IEEE 802.15.1 standard Wireless . 2002 [802.15.3] IEEE Computer Society IEEE 802.15.3 standard Wireless . 2003 [802.15.4] IEEE Computer Society IEEE 802.15.4 standard Wireless . 2003. [802.16] IEEE Computer Society IEEE 802.16 standard Wireless .2004. [802.20] IEEE Computer Society IEEE 802.20 standard Wireless . 2002 [ACTEWW] ACTEL, http://www.actel.com [ALTEWW] ALTERA , http://www.altera.com [ANOLWW]Analog Device, http://www.analog.com [ANSO03] ANSOFT Corporation, http://www.ansoft.com/products/em/simplorer System modeling . ANSOFT Corporation. Etats unis damrique 2003. [BAGH02] A.BAGHADADI Exploration et conception systmatique darchitectures multiprocesseurs monopuces ddies des applications spcifiques Thse de doctorat, Institut national polytechnique de Grenoble, Mai 2002. [BAUD02] G.BAUDOIN (Collectif dauteurs) Radiocommunications numriques /1. Principes et modlisation et simulation Collection DUNOD 2002. ISBN : 2100055801 [BELL02] M. BELLANGER Traitement numrique du signal Thorie et pratique DUNOD 2002. ISBN :2 10 0063111. [BLIN04] J.BLIN UWB se veut-il le futur fils ?http://www.01net.com/outils/article=231215. 02/2004 de tous les sans-

[BORE99] J.Borel Design Automation in MEDEA :Present and Future IEEE Micro, Vol. 19, N5,pp71-79, Sep. 1999. [BOUR00] S.Bourdel Modlisation et Simulations fonctionnelles dun metteur et dun rcepteur radiofrquence talement de spectre pour une application domotique , INSA , Toulouse. Oct. 2000. [BOXM58] G.E.P BOX and M.E MULLER A note on the generation of random normal deviates Ann. Math. Stat , pp 610-611, 1958. [BRAC05] B.Brackenridge Bluetooth et UWB nous vivons une poque intressante http:/ /www.eetimes.fr. 9 Aot 2005. [BROW96] S.Brown and J.Pose FPGA and CPLD Architectures. A tutorial IEEE Design&Test of computers Summer 1996. [CAFF00] J. Caffery, G.L. Stber, Effects of multiple-access interference on the noncoherent delay lock loop. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 48, N12, Dec. 2000. [CHAN00] H.S. Chang, Y.W. Park, Y.H. Lee, DS-SS code acquisition based on simultaneous search and verification. , Dept. of electrical engineering, KAIST, 00906778/00/99, 2000 IEEE. [CHAN99] Chang H., Cooke L., Hunt M., Martin G., McNelly A., Todd L., SURVIVING the SOC Revolution- A Guide to Plateforme-Based Design , Kluwer Academic Publisher , 1999.

-164-

REFERENCES

[CHIE94] C. Chien, R. Jain, E.G. Cohen, H. Samueli, A single-chip 12.7MChips/s digital IF BPSK Direct Sequence Spread-Spectrum Tansceiver in 1.2m CMOS. , IEEE JOURNAL OF SOLID-STATE CIRCUIT, VOL. 29, N 12, Dec. 1994. [CHRIWW] Quest-ce quun rseau sans fil http://www.chirido.com/wifi_networks.cfm [CHUN93] B.Y. Chung, C. Chien, H. Samueli, R. Jain, Performance analysis of an Alldigital BPSK direct sequence spread-spectrum IF receiver architecture. , IEEE JOURNAL ON SELECTED AREAS COMMUNICATIONS, VOL. 11, N7, 0733-8716/93, Sept. 1993. [CLOU01] CLOUTE.F Etude de la conception des systmes embarqus sur silicium : une approche de codesign matriel/logiciel , Thse de doctorat, Institut National Polytechnique de Toulouse, 2001. [CLOU02] A.CLOUARD, G.MASTROCO, F.CARBOGNANI, A.PERRIN, F.GHENASSIA Toward Bridging the Precision Gap between SoC Transactional and Cycle-Accurate Levels DATE, PARIS 2002. [DUTE02] J-M DUTERTRE Circuits Reconfigurables Robustes Thse de doctorat, Universit de Montpellier II, Oct. 2002. [ELHO05] S.ELHOMSI : Etude et proposition des mthodes et doutils pour un systme de communication de capteurs/actionneurs sans fil repartis bas sur la technologie Bluetooth .Thse de doctorat. Universit Toulouse II Le Mirail, Toulouse. Sept. 2005. [EVAN03] Evans Data Corporation, Embedded Systems Developement Survey, Volume 1, 2003 , http://www.evansdata.com/n2c/surveys/embedded_toc_03_2.shtml,2003. [FOUR05] N. FOURTY, T.VAL, P.FRAISSE, J.J MERCIER Comparative analysis of a new high data rate wireless communication technologies-From WiFi to WiMAX IEEE ICNS05, Papeete, Tahiti, French Polynesia. Oct. 2005. [FREE05] Freescale Semiconductor, MC 13192 2,4GHz Low Power Transceiver for the IEEE 802.15.4 Standard : Reference Manual. Document # MC13192RM Rev.1.3, Apr. 2005. [GARTWW] GARTNER DATAQUEST, http://www.gartner.com/ dataquest_overview.html [GAUT04] F.GAUTHIER Les flots de FPGA complexes se structurent Electronique Le mensuel de conception des ingnieurs, N143, pp 38-40, Jan. 2004. [GAUD91] R.D. Gaudenzi, M. Luise, Decision-Directed coherent delay-lock tracking loop for DS-Spread-Spectrum signals. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 39, N5, 0090-6778/91/0500-0758, May 1991. [GAUD93] R.D. Gaudenzi, M. Luise, R. Viola, A digital chip timing recovery loop for bandlimited direct-sequence spread-spectrum signal. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 41, N11, 0090-6778/93, Nov. 93. [GUIL03] C.GUILLEMINOT, L.ANDRIEUX COMMUNICATIONS NUMERIQUES CDMA : Simulation dune boucle verrouillage numrique CNRIUT03, Colloque National de recherche IUT 2003, Tarbes, France, Mai 2003. [GUIL04E] C.GUILLEMINOT, L.ANDRIEUX Design methodolgies in electronics : application to a W-CDMA multirate transceiver for noisy environment Eurosim04, Marne la Valle, France, Sept. 2004.

-165-

REFERENCES

[GUIL04J] C.GUILLEMINOT, L.ANDRIEUX Simulation de systmes de synchronisation/poursuite pour les tlcommunications en talement de spectre JNRDM04, Journes Nationales du Rseau Doctoral de Microlectronique, Marseille, France, Mai 2004. [GUIL05B] C.GUILLEMINOT, L.ANDRIEUX, JJ.MERCIER A contribution to a virtual prototyping for a spread spectrum telecommunication system using VHDL-AMS IEEE BMAS05, SanJose,Californie,USA, 22-23 Sept. 2005. [GUIL05E] C.GUILLEMINOT, L.ANDRIEUX, JJ.MERCIER Virtual Prototype design using VHDL-AMS for transceiver model IEEE EUROCON05, BELGRADE, Serbie&Montenegro, 21-24 Nov. 2005. [GUIL05G] C.GUILLEMINOT Contribution au prototypage virtuel dun systme de tlcommunication talement de spectre en VHDL-AMS GEET 05, Journes de lcole doctorale Gnie Electrique, Electronique, Tlcommunications, Toulouse, France, Mai 2005. [HAMO05] HAMON Juan-Carlos Mthodes et outils de la conception amont pour les systmes et les microsystmes Thse de doctorat de linstitut National Polytechnique de Toulouse , Fv. 2005. [HASH93] H.Hashemi The Indoor Radio propagation Channel , Proceedings of IEEE, pp 943-968, Vol.81, N7, Juil.1993. [HERV02]Y.HERVE VHDL-AMS Applications et enjeux industriels , DUNOD ISBN 2100058886 [HIND93] J.K. Hinderling, T. Rueth, K. Easton, D. Eagleson, D. Kindred, R. Kerr, J. Levin, CDMA Mobile Station Model ASIC. , IEE JOURNAL OF SOLID-STATE CIRCUIT, VOL. 28, N 3, Mar. 1993. [HUAN98] W. Huang, I. Andonovic, M. Nakagawa, PLL performance of DS-CDMA Systems in the presence of phase noise, multiuser interference, and additive Gaussian Noise. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 46, N 11, Nov. 1998. [HUAN98b] W. Huang, I. Andonovic, Code Tracking of DS-CDMA Systems in the Presence of Multiuser interface and Additive Noise. , University of Strathclyde, Dept. of EEE, 1998. [IEEE1] IEEE standard VHDL Analog and Mixed-signal Extensions (1076.1-1999 Language Reference Manual) disponible http://www.vhdl.org/analog/ [IEEE2] Verilog-AMS Language ams/htmlpages/publics-docs/lrm Reference Manual) http://www.eda.org/Verilog-

[ISCC95] R.L Peterson, R.E Ziemer, D.E Borth Introduction to Spread Spectrum Communications , Prentice Hall,1995. [ITRS03] International Technology Roadmap for Semiconductors, 2003 Edition, Executive Summary .http://public.itrs.net/Files/2003ITRS [JAIN92] R. Jain et al., Computer Aided Design of a BPSK Spread-Spectrum Chip Set , IEEE Journal of Solid-State Circuits, vol.27, n1,pp. 44-57, Jan.1992.

-166-

REFERENCES

[KAHN02]A.B. KAHNG,G.SMITH A new Design cost model for the 2001 ITRS ,Proceedings of the international Symposium on Quality Electronic Design (ISQED2002) [KARR04] M.KARRAY,P.DESGREYS,JJ CHARLOT VHDL-AMS modelling of VCSEL including Noise IEEE BMAS03, San Jose, Californie, USA, Oct 2003. [KIM99] H.G. Kim, I. Song, Y.U. Lee, S.C. Kim, Y.H. Kim, Double-dwell serial-search PN code acquisition using a nonparametric detector in DS/CDMA systems. , Dept. of electrical engineering, KAIST, 0-7803-5538-5/99, 1999 IEEE. [KPAL03] K.KPALMA, V.HAESE-COAT Traitement numrique du signal. Thorie et applications Ellipses collection TECHNOSUP Septembre 2003. ISBN : 2-7298-1728-X [LECU88] P.LECUYER Communications of ACM vol.31 , N6, June 1988, pp 742-774. [LEE98] Lee D.,Lee.H, Milstein L.B, Direct Sequence Spread Spectrum Walsh-QPSK modulation , IEEE Transactions Communications, vol.46,N9, Spet.1998,pp.1227-1232. [LIM98] H. Lim, K. Cheun, Analysis of decimator-based full-digital delay-locked PN code tracking loops for bandlimited direct-sequence spread-spectrum signal in AWGN. , IEICE TRANSACTIONS ON COMMUNICATIONS, VOL. E81-B, N10, Oct. 1998. [LU93] Fang LU and al (1993)A 700-MHz 24-b Pipelined Accumulator in 1,2m CMOS for application as a numerically Controlled Oscillator , IEEE Journal of Solid-State Circuits, vol. 28,n8, pp. 878-885 [MATL03] I.A Grout and K.Keane, A Matlab to VHDL conversion toolbox for digital control . IFAC Symposium CACSD 2000, Salford, UK, Sep. 2000. [MAZO79] J.E MAZO Some Theorical observation on spread spectrum communications Bell Synth. Tech. Journal, vol.58, pp 2013-2023, Avr 1979. [MELE01]P.MELET. Conception et ralisation dun circuit numrique spcifique talement de spectre pour un systme multicapteurs en milieu clos , Universit Paul Sabatier, Toulouse. Dec. 2001. [MENT01] Mentor Graphics Corporation, AdvanceMS Datasheet Mentor Graphics Corporation 2001. [MENT03] Mentor Graphics Corporation, System Modeling Mentor Graphics Corporation 2001. http://www.mentor.com/systemvision/ Mentor Graphics Corporation 2003. [MILP01] E.MARTIN, A.BAGANNE, E.CASSEAU Mthodologie et dveloppement pour les Intellectuals properties pour lapplications telecoms . Rapport davancement 1.1 Niveau comportemental : outils HLS et IPs. [MLYN01] D. MYLNEK Design of VLSI Systems Ecole polytechnique Fdrale de Lausane (EPFL) 2001 http://lsiwww.epfl.ch/LSI2001/teaching/webcourse/toc.html [NAGE75]L.W NAGEL Spice2 : A computer program to simulate semi-conductors circuits.Memorandum NERL-M520 , Electrons .Research Laboratory. [NEWM86] D.Newman, IEEE communications magazine, pp 46-47, Juillet 1986.

-167-

REFERENCES

[NIVE99]F. Nivelle, S. Bourdel, P. Melet, E. Campo Etude comparative, sous MATLAB et SABER, des principaux filtres analogiques. Application la chane de communication talement de spectre ,Rapport Equipe ICARE, IUT B de Blagnac, Juillet 1999. [NORM04] E.NORMARK,L.YANG,C.WAKAYAMA, P.NIKITIN, R.SHI VHDL-AMS Behavioral Modeling and Simulation of /4 DQPSK Transceiver System , BMAS 04, Oct.2004. [NTRS] Semiconductor Industry Association The National Technology Roadmap for Semiconductors http://public.ntrs.net/Files/2003NTRS [POLY84] A. Polydoros, C.L. Weber, A Unified Approach to Serial Search-Spectrum Code Acquisition Part I : General Theory. , 0090-6778/84/0500-0542, IEEE 1984. [POLY84b] A. Polydoros, C.L. Weber, A Unified Approach to Serial Search-Spectrum Code Acquisition Part II : A Matched-Filter Receiver. , 0090-6778/84/0500-0550, IEEE 1984. [PEYR05] Jul.2005. F.PEYRARD La scurit des rseaux WiFi Seminaire L2I, Blagnac

[ROBE02] M.Robert Circuits et systmes intgrs micro-lectronique : technologie,conception http://www.lirmm.fr/~robert /cours/SyntheseASIC2002.pdf [RON99] Ron.W Is SoC really different ? EETimes 8 November 1999. http:// www.eetimes.com/story/OEG19991108S0009. [RUSC01] L. Ann Rusch, Indoor Wireless Communications : Capacity and Coexistence on the Unlicensed Bands. , Intel Corporation 2001. [SAGE64] G.F.Sage Serial Synchronisation of Pseudonoise Transactions on communications.,Vol.CT-12, pp.123-127, Dec.1964. Systems ,IEEE

[SASON04] SASONGKO Arif Prototypage bas sur une plateforme reconfigurable pour la vrfication des systmes monopuces Thse de doctorat de luniversit Joseph Fourier. Oct. 2004. [SCHW01] R. Schwarz, F. Sigtek Inc, An introduction to linear recursive sequences in spread spectrum systems. , Dec. 2001. [SEAMww] http:// www.mentor.com/products/fv/hwsw_coverification/seamless/index.cfm. [SEMA] SEMATECH (SEmiconductor MAnufacturing TECHnology) Consortium de fabricant de puce : http://sematech.org [SHEE94] W.H. Sheen, G.L. Stber, Effects of multipath fading on delay-locked loops for spread spectrum systems. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 42, N2/3/4, Feb/March/April 1994. [SIME03]SIMEC hAMSter The high Performance AMS tool for Engineering and research http // :www .hamster-ams.com. [SIMO77] M.K Simon, Noncoherent Pseudonoise Code tracking Performance of Spread Spectrum Receiver . IEEE Transactions on Communications, Vol. Com-25, N3, pp.327345, Mars 1977.

-168-

REFERENCES

[SIMO94] M.K.SIMON, J.K OMURA, R.A SHOLTZ, B.K LEVITT, Spread Spectrum Communications Handbook, Mac Graw-Hill, 1994. [SMAS05] SMASH 5.5 Logic, Analog and Mixed Simulation http://www.dolphin.fr/medal/smash/smash_overview.html. [SMIT98] D.SMITH HDL Chip Design : A pratical Guide for Designing, Synthesis & Simulating Asics &FPGAs using VHDL or Verilog Doone Pubns . ISBN : 0965193438 [SNAI04] S.SNAIDERO Modlisation multidisciplinaire VHDL-AMS de systmes complexes : vers le prototypage virtuel , Thse de doctorat de luniversit L.Pasteur de Strasbourg , Dcembre 2004. [SU97] S.L. Su, N.Y. Yen, Performance of digital code tracking loops for direct-sequence spread-spectrum signals in mobile radio channels. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 45, N5, May 1997. [Syno00] Synopsys, Hardware/Software Co-Verification with Synopsys Eaglei Tools , Synposys Inc, Etats-Unis dAmrique 2000. [SYNO03] Synopsys, SaberHDL : language-Independant Mixed Signal Multi-Technology Simulator , Synposys Inc, Etats-Unis dAmrique 2003. [TEXWW]Texas Instrument http://www.ti.com [VACH02] A.VACHOUX Modlisation de systmes integrs Analogiques et mixtes; Intorduction VHDL-AMS http://lsmwww.epfl.ch [VALD98]C.A VALDERRAMA Prototype virtuel pour la gnration des architectures mixtes logicielles/matrielles Thse de doctorat de linstitut national polytechnique de grenoble, Oct.1998. [VDBO05] A. VAN DEN BOSSCHE, T. VAL, E. CAMPO Proposition of a full deterministic medium access method for wireless network in a robotic application Soumission IEEE Vehicular Technology Conference (VTC2006), May 2006. [VERD01]S.VERDU, MULTIUSER DETECTION Cambridge, ISBN 0521593735 [VERM02]F.VERMEULEN Reuse of System-Level Design components in datadominated Digital systems , Thse de doctorat de luniversit catholique de Leuven (Belgique), Dcembre 2002. [VITE85] Viterbi.A.J, When not to spread spectrum a sequel , IEEE Communications magazine, vol.23, pp 12-18, Avr 1985. [VLAD94]A.VLADIMIRESCU. The Spice Book. J.Wiley&Sons, Inc,New York, 1994. ISBN :047160969 [WARD77]R.B Ward,K.P.Yiu Acquisition of pseudonoise Signals by Recursion-Aided Sequential Estimation ,IEEE Transactions on communications, vol.com-25, N8, pp.784794,Nov.1978. [WELT94] A.L. Welti, B.Z. Bodbrovsky, Mean time to lose lock for the Langevin-type delay-locked loop. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 42, N8, Aug. 1994.

-169-

REFERENCES

[WILD95] A. Wilde, U.P. Bernhard, Mean time to lose lock for a second order extended tracking range delay-locked loop. , 0-7803-3002-1/95, 1995 IEEE. [WILD96] A. Wilde, On the performance of extended tracking range delay-locked loops. , May 1996. [WU97] Jen-Shi Wu, Ming-Luen Liou, Hsi-Pin Ma, Tzi-Dar Chiueh A 2.6-V, 44MHz AllDigital QPSK Direct-Sequence Spread-Sprectrum Transceiver IC , IEEE Journal of SolidState Circuits, VOL. 32, N 10 October 1997 0018-9200/97. [XILIWW] XILINX http://www.xilinx.com [YEN96] N.Y. Yen, S.L. Su, S.C. Hsieh, Performance analysis of digital delay lock loops in the presence of Doppler shift. , IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 44, N6, June 1996. [YOON00] S. Yoon, I. Song, S.Y. Kim, S.R. Park, A DS-CDMA code acquisition scheme robust to residual code phase offset variation. , IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 49, N6, 0018-9545/00, Nov. 2000.

-170-

REFERENCES

ANNEXES

-170-

ANNEXES

ANNEXES 1 : Fichier Test Bench


-************************************************************************************** -- Fichier de test de l'emetteur-recepteur avec le canal AWGN --16/03/2005 --Fichier regroupant les fonctions de l'metteur, du recepteur et les composants externes -- emission, generateur de trame en entree de l'emetteur, l'horloge, -- le controle de l'emetteur, et le recepteur(CAN) avec le canal de transmission radio --*************************************************************************************** library IEEE,DISCIPLINES; use IEEE.STD_LOGIC_1164.all; use IEEE.numeric_std.all; use DISCIPLINES.electromagnetic_system.all; use work.parameter.all; entity test_reception_avec_radio is -- pas de ports externes end test_reception_avec_radio; architecture arch_test_reception_avec_radio of test_reception_avec_radio is --*************************************************************************************** --Dfinition des signaux de jonctions --*************************************************************************************** signal clk_40e : std_logic; signal rst : std_logic; signal data_source : std_logic; signal cn_code : std_logic_vector(11 downto 0); signal data_etalee : std_logic; signal clock : std_logic; --Horloge de 40Mhz de l'entre du recepteur terminal ain : electrical; --signal reset : std_logic; signal clock_640 : std_logic; signal eoc : std_logic; signal sortie_clk160nco : std_logic; --*************************************************************************************** --Dfinition des composants --*************************************************************************************** component emission port( clk_40e: in std_logic; rst: in std_logic; data_source : in std_logic; cn_code : in std_logic_vector(11 downto 0); data_etalee : out std_logic ); end component; component Gene_trame1 port( reset: out std_logic; datasource : out std_logic ); end component; component horloge_40 port( clock : out std_logic ); end component; component controle port( cn_code: out std_logic_vector(11 downto 0)

-172-

ANNEXES

); end component; COMPONENT horloge_640 PORT ( clock : out std_logic); END COMPONENT; component recepteur_CAN port( clock : in std_logic; --Horloge de 40Mhz de l'entre terminal ain : electrical; -- ADC's analog input terminal eoc : out std_logic; -- End Of Conversion pin reset : in std_logic; clock_640: in std_logic; cn_code : in std_logic_vector (11 downto 0); sortie_clk160nco : out std_logic ); end component; component radio port( data_etalee terminal ain terminal ref ); end component; --*************************************************************************************** --Dfinition des port map --*************************************************************************************** begin generation_de_trame: Gene_trame1 port map ( datasource => data_source , reset => rst ); horloge_chip : horloge_40 port map( clock => clk_40e ); horloge_40MHz_entree_recep : horloge_40 port map( clock => clock ); Gene_coef_code_emission : controle port map ( cn_code => cn_code ); E1 : emission port map ( clk_40e => clk_40e, rst => rst, data_source => data_source, cn_code => cn_code, data_etalee => data_etalee ); AWGN : radio port map ( data_etalee => data_etalee, ain => ain, ref => electrical_ground : in std_logic; : electrical; : electrical

-173-

ANNEXES

); horloge_640MHz : horloge_640 port map ( clock => clock_640 ); R2 : recepteur_CAN port map ( clock => clock, ain => ain, reset => rst, clock_640 => clock_640, cn_code => cn_code, eoc => eoc, sortie_clk160nco => sortie_clk160nco ); end arch_test_reception_avec_radio;

-174-

ANNEXES

ANNEXES 2. Fonctions numriques de lmetteur

-175-

ANNEXES

-176-

ANNEXES

EMETTEUR
(Emission)

Gnrateur de PN Code
(Gene_code_e)

Encodeur Diffrentielle
(Codeur)

Fonction Multiplication
(Mult_e)

Paramtres Longueur du PN code Frquence de Gnration

-177-

ANNEXES

Figure A.1 Organigramme de la fonction Emetteur

--************************************************************************************** -- Fonction-emetteur-teste -- 04/04/2005 --Fichier regroupant les fonctions de l'metteur --Description des fonctions suivantes de l'metteur : codeur(codeur), fonction multiplication (mult_e), du gnrateur de -- PN CODE Emission (gene_code_e) et des bascules pour resynchroniser (2 bascules D) *************************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.numeric_std.all; use work.parameter.all; entity emission is port( clk_40e: in std_logic; rst: in std_logic; data_source : in std_logic; cn_code : in std_logic_vector(11 downto 0); data_etalee : out std_logic ); end emission; architecture arch_emission of emission is --*************************************************************************************** --Dfinition des signaux de jonctions --*************************************************************************************** signal data_encodee_clk40e : std_logic; signal data_encodee_re_clk40e: std_logic; signal dump_e_clk40e : std_logic;

-178-

ANNEXES

signal code_e_clk40e : std_logic; signal code_retardee_e_clk40e : std_logic; signal code_retardee2_e_clk40e : std_logic; signal code_retardee3_e_clk40e : std_logic; --*************************************************************************************** --Dfinition des composants --*************************************************************************************** component codeur port( clk_40e: in std_logic; rst : in std_logic; dump_e_clk40e : in std_logic; data_source : in std_logic; data_encodee_clk40e : out std_logic ); end component; component mult_e port( code_e_clk40e : in std_logic; data_encodee_clk40e : in std_logic; data_etalee : out std_logic ); end component; component gene_code_e port( clk_40e : in std_logic; rst : in std_logic; cn_code : in std_logic_vector(11 downto 0); code_e_clk40e : out std_logic; dump_e_clk40e : out std_logic ); end component; component bascule_d port( clk_40e: in std_logic; rst: in std_logic; code_e_clk40e :in std_logic; code_retardee_e_clk40e:out std_logic ); end component; --*************************************************************************************** --Dfinition des port map --*************************************************************************************** begin encodeur: codeur port map ( clk_40e =>clk_40e, rst =>rst , dump_e_clk40e => dump_e_clk40e, data_source => data_source, data_encodee_clk40e => data_encodee_clk40e ); multi_emission : mult_e port map( code_e_clk40e =>code_retardee3_e_clk40e,

-179-

ANNEXES

data_encodee_clk40e =>data_encodee_re_clk40e, data_etalee => data_etalee); --Gnrateur de Pn_Code_Emission Gene_code_emission:gene_code_e port map ( clk_40e =>clk_40e, rst=>rst, cn_code =>cn_code, code_e_clk40e => code_e_clk40e, dump_e_clk40e => dump_e_clk40e); --1er bascule pour un clock de retard bascule_d1:bascule_d port map ( clk_40e =>clk_40e, rst =>rst , code_e_clk40e =>code_e_clk40e, code_retardee_e_clk40e =>code_retardee_e_clk40e); --2eme bascule pour tre en phase bascule_d2:bascule_d port map ( clk_40e =>clk_40e, rst =>rst , code_e_clk40e=>code_retardee_e_clk40e, code_retardee_e_clk40e =>code_retardee2_e_clk40e); --15/03/2005 Ajout d'une bascule D pour la multiplication du rcepteur bascule_d3:bascule_d port map ( clk_40e =>clk_40e, rst =>rst , code_e_clk40e=>code_retardee2_e_clk40e, code_retardee_e_clk40e =>code_retardee3_e_clk40e); --17/09/2005 Rajout Bascule pour soit en phase avec code_retardee3_e_clk40e bascule_Encodeur:bascule_d port map ( clk_40e =>clk_40e, rst =>rst , code_e_clk40e=>data_encodee_clk40e, code_retardee_e_clk40e =>data_encodee_re_clk40e); end ;

-180-

ANNEXES

**************************************************************************** --GENERATEUR DE PN CODE de l'metteur -- 04/04/2005 --Gnration de PN Code partir des coefficients CN_CODE --Paramtres: ( dfinir)longueur du PN CODE, initialisation DU PN CODE --19/03 Pour que le dump soient de 375 ns laisser les calculs pour le registre l'extrieur du process --20/05/2005 Test de la version complte --***************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; entity gene_code_e is port ( clk_40e : in std_logic; rst : in std_logic; cn_code : in std_logic_vector(11 downto 0); code_e_clk40e : out std_logic; dump_e_clk40e : out std_logic ); end gene_code_e; architecture arch of gene_code_e is signal a : std_logic_vector (0 to 11); signal q : std_logic_vector (1 to 11); signal dump1_e_clk40e :std_logic; -- initialisation du registre des bascules d --signal d : std_logic_vector(0 to 11) := "100000000000";

-181-

ANNEXES

signal d : std_logic_vector(0 to 11); begin --calcul des valeurs binaires rinjectes dans le registre : a(0) <= cn_code(0) and d(0); a(1) <= cn_code(1) and d(0); a(2) <= cn_code(2) and d(0); a(3) <= cn_code(3) and d(0); a(4) <= cn_code(4) and d(0); a(5) <= cn_code(5) and d(0); a(6) <= cn_code(6) and d(0); a(7) <= cn_code(7) and d(0); a(8) <= cn_code(8) and d(0); a(9) <= cn_code(9) and d(0); a(10) <= cn_code(10) and d(0); a(11) <= cn_code(11) and d(0); --calcul des prochaines valeurs du registre : q(1) <= d(1) xor a(0); q(2) <= d(2) xor a(1); q(3) <= d(3) xor a(2); q(4) <= d(4) xor a(3); q(5) <= d(5) xor a(4); q(6) <= d(6) xor a(5); q(7) <= d(7) xor a(6); q(8) <= d(8) xor a(7); q(9) <= d(9) xor a(8); q(10) <= d(10) xor a(9); q(11) <= d(11) xor a(10); -- initialisation du registre --processus de raffectation du registre : p1 : process(clk_40e,rst) begin if(rst = '1') then --19/03 Ajout du reset seulement d <= "100000000000"; dump1_e_clk40e <= '0'; elsif (rising_edge(clk_40e)) then --gnration de l'horloge de bloquage : if q(1 to 11)&a(11)="100000000000" and dump1_e_clk40e='0' then dump1_e_clk40e <= '1'; else dump1_e_clk40e<='0'; end if; --raffectation du registre: d(0) <= q(1); d(1) <= q(2); d(2) <= q(3); d(3) <= q(4); d(4) <= q(5); d(5) <= q(6); d(6) <= q(7); d(7) <= q(8); d(8) <= q(9); d(9) <= q(10); d(10)<= q(11); d(11)<= a(11); end if; end process p1; dump_e_clk40e<=dump1_e_clk40e;

-182-

ANNEXES

code_e_clk40e<=d(0); end arch; --********************************************************************** -- ENCODEUR EMETTEUR -- 04/04/2005 Mise jour dans projet DLL seule --Fonction permettant l'encodage des donnes issues des capteurs --paramtre: Horloge de temps symboles --********************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; entity codeur is port ( clk_40e: in std_logic; rst : in std_logic; dump_e_clk40e : in std_logic; data_source : in std_logic; data_encodee_clk40e : out std_logic ); end codeur; architecture arch of codeur is signal data_out1_clk40e : std_logic; signal detect_front_clk40e : std_logic; signal dump_e_rideau1 : std_logic; signal dump_e_rideau2 : std_logic; begin data_encodee_clk40e<=data_out1_clk40e;--permet d'avoir un clock d'horloge d'cart (plus de front descendant) re_synchro: process (rst,clk_40e) begin if (rst='1') then dump_e_rideau1 <= '0'; dump_e_rideau2 <= '0'; elsif(rising_edge(clk_40e)) then dump_e_rideau1 <= dump_e_clk40e; dump_e_rideau2 <= dump_e_rideau1; end if; end process re_synchro; --processus calculant la sortie chaque front montant de l'horloge de bloquage p1 : process(clk_40e,rst) begin if (rst = '1') then data_out1_clk40e <= '0'; detect_front_clk40e <= '0'; elsif rising_edge(clk_40e) then--permet de ragir sur le front montant de dump (rising_edge(dump)) if (dump_e_rideau1 = '1'and dump_e_rideau2 = '0' and detect_front_clk40e = '0') then data_out1_clk40e <= not(data_out1_clk40e xor data_source); detect_front_clk40e <='1'; else detect_front_clk40e <='0'; data_out1_clk40e <= data_out1_clk40e; end if;--If dump end if;--If clk_40e end process p1; end arch;

-183-

ANNEXES

--***************************************************************************** --MULTIPLIEUR EMETTEUR --02/11/2004-- Mise jour des fichiers --31/03/2005--Mise jour dans nouveau projet --Multiplication de la donne encode avec le PN_code --20/05/2005 Test de la version complte --***************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; entity mult_e is port ( code_e_clk40e : in std_logic; data_encodee_clk40e : in std_logic; data_etalee : out std_logic ); end mult_e; architecture arch of mult_e is begin data_etalee <= not(data_encodee_clk40e xor code_e_clk40e); end arch;

-184-

ANNEXES

ANNEXES 3 . Fonctions transmission

--**************************************************************** -- Multiplicateur RF en sortie de l'emetteur (numerique->analogique) -- 15/03/05 -- transposition de la frequence de base vers la RF --**************************************************************** library ieee,ieee_proposed; use ieee.std_logic_1164.all; use ieee_proposed.electrical_systems.all; entity mult_digit is port(in1 : in std_logic; terminal sin ,out1,ref : electrical); end mult_digit; architecture arch of mult_digit is quantity v1 across sin to ref; quantity v2 across i through out1 to ref; begin break on in1; if in1='0' use v2==v1; else v2==-v1; end use; end architecture arch; -****************************************************************

-185-

ANNEXES

-- Filtre passe-bande de gabarit --**************************************************************** library ieee,ieee_proposed; use ieee.std_logic_1164.all; use ieee_proposed.electrical_systems.all; use IEEE.math_real.all; entity filtre_bande is port( terminal in1,out1,ref: electrical); end filtre_bande; architecture arch of filtre_bande is quantity vi across in1 to ref; quantity vo across i through out1 to ref; --dfinitions des coefficients du polynme du dnominateur constant a4 : real :=8.517935e-19; constant a3 : real :=1.377222e-9; constant a2 : real :=3.882865e+2; constant a1 : real :=3.130874e+11; constant a0 : real :=4.402075e+22; --dfinition du numrateur et du dnominateur de la fonction de transfert constant num : real_vector :=(0.0,0.0,1.0); constant den : real_vector :=(a0,a1,a2,a3,a4); begin --affectation de la sortie filtre vo== vi'ltf(num, den); end architecture arch;

--****************************************** -- CANAL AWGN -- 16/05/05 --****************************************** library IEEE,IEEE_PROPOSED,DISCIPLINES,mgc_ams; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; use DISCIPLINES.electromagnetic_system.all; use IEEE.math_real.all; use mgc_ams.conversion.all; entity canal is generic ( tps_propa : time := 0.0 ns ;-- temp de propagation de l'onde electromagnetique entre l'emetteur et le recepteur SNR : real := -10.0 ; -- SNR en dB attenuation : real := 0.5 -- valeur comprise entre 1.0 et 0.0 ); port( terminal entree_canal,ref,sortie_canal: electrical); end canal; architecture arch of canal is quantity Vo across sortie_canal to ref; -- electrical_ground ou ref quantity Ve across entree_canal to ref; quantity Va through sortie_canal to ref; -- POUR LE CRITERE DE SOLVABILITE signal out1 : real := 0.0; signal noise_s : real := 0.0; -- bruit injecte dans le canal -- bruit seul non adapte au SNR (0dB)

-186-

ANNEXES

signal ve_max, ve_max1: real := 0.01; signal ve_rms : real := 0.01; signal ve_db : real := 0.0; signal level : real := -60.0; signal ve1 : real := 0.01;

-- valeur max du niveau en entree du canal -- valeur RMS du niveau en entree du canal -- valeur du niveau en entree du canal en dB -- niveau de buit a injecter dans le canal pour avoir un SNR donne -- valeur absolu du signal a l'entree du canal

constant retard : real := time2real(tps_propa); constant racine_de_deux :real := 1.414; begin calcul_niveau_entree : process begin ve1 <= ABS (ve*attenuation); --prend en compte l'attenuation dans le cannal wait for 10 ns; ve_max <= REALMAX (ve1 ,ve_max1); --valeur max de ve ve_rms <= ve_max/racine_de_deux; ve_db <= 20.0*log10 (ve_rms); --valeur en dB de ve ve_max1 <= ve_max - 0.01; --sert a mettre a jour la valeur max de ve end process calcul_niveau_entree; p0 : process variable seed11:integer:=2000 ; variable seed12:integer:=100000000 ; variable x,y :real ; begin uniform (seed11,seed12,x); uniform (seed11,seed12,y); noise_s <= 1.0*(sqrt(-2.0*log(x))*cos(2.0*math_pi*y)); wait for 1 ns; level <= (ve_db - SNR); out1 <= 10.0**(level/20.0)*noise_s; end process p0; break on out1; vo == ve'DELAYED (retard) * attenuation + out1; l'attenuation end architecture arch; --affectation de sortie_canal (vo) avec le retard, le bruit et --calcul de niveau de bruit a agouter dans le canal en dB --regle out1 = noise_s au niveau de level (en dB) --generation du bruit blanc gaussien

--**************************************************************** -- Multiplicateur RF en entree du recepteur (analogique->analogique) -- 15/03/05 -- transposition de la RF vers la frequence de base --**************************************************************** library ieee,ieee_proposed; use ieee.std_logic_1164.all; use ieee_proposed.electrical_systems.all; entity mult_analog is port(terminal in1 ,sinus, out1,ref : electrical); end mult_analog; architecture arch of mult_analog is quantity v1 across in1 to ref; quantity v2 across sinus to ref; quantity v3 across i3 through out1 to ref;

-187-

ANNEXES

begin v3==v1*v2; end architecture arch; --**************************************************************** -- Filtre passe-bas --**************************************************************** library ieee,ieee_proposed; use ieee.std_logic_1164.all; use ieee.math_real.all; use ieee_proposed.electrical_systems.all; entity filtre_bas is port( terminal in1,out1,ref: electrical); end filtre_bas; architecture arch of filtre_bas is quantity vi across in1 to ref; quantity vo across i through out1 to ref; --constant b5 : real :=432710406.0; constant b4 : real :=7.832322887179808e-35; constant b3 : real :=1.083750705598370e-25; constant b2 : real :=5.518945839655140e-17; constant b1 : real :=1.224571370534976e-8; constant b0 : real :=1.0; constant num : real_vector :=(1.0,0.0); constant den : real_vector :=(b0,b1,b2,b3,b4); begin vo== vi'ltf(num, den); end architecture arch;

-188-

ANNEXES

ANNEXE.4. Fonctions du rcepteur

-189-

ANNEXES

Rcepteur
(Recepteur_CAN)

Hirarchie Rcepteur
Rcepteur_sans_synchronisation
(Recepteur_ss_synchro)

Synchronisation
(Synchronisation)

Poursuite
(Poursuite)

Diviseur
(Diviseur)

Convertisseur Analogique/Numrique (CAN2)

Test donne
(Test_donnee)

Dcodage Diffrentielle
(Decodeur)

Dstalement
(Desetalement)

Filtre de boucle
(filtre_fifobis) Param:
Cte de temps Coefficients RII Gain du filtre de boucle

NCO
(nco) Param:
Pas NCO Frequence NCO Gain NCO

Gnrateur PN-Code Rcepteur N branches


(gene_code_r_N_synchro) Param:
Longueur du PN code Coeff m (en fonction N) Vecteur initialisation

Discriminateur
(discriminateur) Param:
Gain du discriminateur

Fonction multiplication (Multiplieur_r)

Intgrateur/bloqueur
(Integ_dump) Param:
Coeff m (en fonction N)

Dstalement synchronisation
(multiplieur_r,integ_dump)

Valeur absolu (Absolu)

Slection PN_CODE Filtre Correlation Test Seuil pour 1 branche (Dephaseur_PN_code) (filtre_fifobis) (Test_seuil) Param:
Param: Nombres de branches
Coefficients RII

Dstalement poursuite
(multiplieur_r,integ_dump, absolu)

Soustracteur

Param:
Valeur du seuil

-190-

ANNEXES

--************************************************************ -- Organe RECEPTEUR DE TRANSCEIVER_synthtisable --31/01/2005 -- Fichier comprenant CAN avec temps de conversion, Rcepteur_ss_synchro, Poursuite , synchronisation -- et Diviseur --************************************************************ LIBRARY work; LIBRARY ieee,ieee_proposed; USE work.parameter.all; use ieee_proposed.electrical_systems.all; USE ieee.numeric_std.all; USE ieee.std_logic_1164.all; ENTITY recepteur_CAN IS port ( clock : in std_logic; --Horloge de 40Mhz de l'entre terminal ain : electrical; reset : in std_logic; clock_640: in std_logic; cn_code : in std_logic_vector (11 downto 0); --start:in std_logic; eoc : out std_logic; --synchro_clk160nco: out std_logic ; sortie_clk160nco : out std_logic ); END; ARCHITECTURE arch_recepteur OF recepteur_CAN IS --********************************************************** --DEFINITION DES SIGNAUX DE JONCTIONS --********************************************************** SIGNAL clk80nco :std_logic; SIGNAL clk40nco :std_logic; SIGNAL clk160nco:std_logic; SIGNAL clk_simu:std_logic; SIGNAL dump_r_clk40nco : std_logic; SIGNAL code_out_clk40nco : std_logic; SIGNAL data_codee_clk40e : signed (3 downto 0); SIGNAL data_conv : signed (3 downto 0); -- SIGNAL synchro_clk160nco: boolean; SIGNAL synchro_clk160nco: std_logic; SIGNAL clock_NCO: std_logic; --SIGNAL eoc:std_logic; --********************************************************** -- Dfinition des components --********************************************************** component CAN2 is generic ( Vmax : voltage := 0.05; -- ADC's maximum range delay : time := 1 ns -- ADC's conversion time ); port ( signal start : in std_logic; -- Start signal signal clk : in std_logic; -- Strobe clock terminal ain : electrical; -- ADC's analog input terminal signal eoc : out std_logic := '0'; -- End Of Conversion pin signal dout : out signed(3 downto 0)); -- Digital output end component; component inversion is port (

-191-

ANNEXES

signal dout : in signed(3 downto 0); --Donnes en sortie du convertisseur signal data_convertie: out signed(3 downto 0)); --Donnes tales et converties end component; component reception_ss_synchro is port( clk160nco rst

: :

in std_logic; in std_logic;

data_codee_clk40e : in signed (3 downto 0); code_clk40nco : in std_logic;--PN code devra tre en phase dump_r_clk40nco: in std_logic;--Signal permettant le test donne sortie_clk160nco : out std_logic ); end component; component synchronisation is port( clk160nco rst

: :

in std_logic; in std_logic;

data_codee_clk40e : in signed (3 downto 0); code_clk40nco : in std_logic;--PN code devra tre en phase dump_r_clk40nco: in std_logic;--Signal permettant le test donne synchro_clk160nco : ); end component; component poursuite IS port( clk40nco : in std_logic; clk160nco : in std_logic; clk_640:in std_logic; rst : in std_logic; cn_code : in std_logic_vector (11 downto 0); data_codee_clk40e : in signed (3 downto 0); synchro_clk160nco: in std_logic; dump_r_clk40nco : out std_logic; code_out_clk40nco : out std_logic; clock_NCO :out std_logic ); END component; COMPONENT horloge_simu PORT ( clock : out std_logic); END COMPONENT; component diviseur is port( clk : in STD_LOGIC ; clk_divise_2 : out STD_LOGIC ); end component; out std_logic

-192-

ANNEXES

--*************************************************************************************** --dfinition des port map --*************************************************************************************** BEGIN Convertisseur1: CAN2 generic map ( Vmax => 0.05, -- ADC's maximum range delay => 1 ns ) port map ( start =>clock, clk =>clock_640, ain => ain, eoc =>eoc, -- ADC's analog input terminal dout => data_conv ); INVERSE:INVERSION port map ( dout => data_conv, data_convertie =>data_codee_clk40e ); reception1: reception_ss_synchro PORT MAP ( clk160nco => clk160nco, rst => reset, --data_codee_clk40e => data_codee_clk40e, data_codee_clk40e => data_conv,-- 23/09/2005 Element inversion enleve dump_r_clk40nco => dump_r_clk40nco, code_clk40nco => code_out_clk40nco, sortie_clk160nco => sortie_clk160nco); synchronisation1 :synchronisation PORT MAP ( clk160nco => clk160nco, rst => reset, data_codee_clk40e => data_codee_clk40e, dump_r_clk40nco => dump_r_clk40nco, code_clk40nco => code_out_clk40nco, synchro_clk160nco => synchro_clk160nco); org_poursuite: poursuite PORT MAP ( clk40nco => clk40nco, clk160nco => clk160nco, clk_640 => clock_640, rst => reset, cn_code => cn_code, data_codee_clk40e => data_codee_clk40e, synchro_clk160nco => synchro_clk160nco, code_out_clk40nco => code_out_clk40nco , clock_NCO =>clock_NCO, dump_r_clk40nco => dump_r_clk40nco ); HorlogeSimu : horloge_simu port map ( clock =>clk_simu );

-193-

ANNEXES

diviseur1: diviseur port map ( clk =>clock_NCO, clk_divise_2 => clk80nco ); diviseur2: diviseur port map ( clk =>clk80nco, clk_divise_2 => clk40nco ); clk160nco<=clock_NCO; END;

-194-

ANNEXES

--****************************************************************************************** -- Convertisseur Analogique/Numrique --18 /01/2005 --Les entres et sorties -- Entre START qui dfinie le dbut de conversion -- Entre CLK qui eshorloge du systme -- Entre Analogique convertir -- Sortie EOC qui dfinit la fin de conversion -- Sortie DOUT qui dfinit le signal de sortie -- Paramtre du CAN: Plage maximun de tension Vmax, temps de conversion delay -- Lorsque nous avons un front montant sur EOC les donnes devront tre rcupprer en sortie --****************************************************************************************** library IEEE; library IEEE_PROPOSED; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; use IEEE_PROPOSED.electrical_systems.all; entity CAN2 is generic ( Vmax : voltage := 0.05; -- ADC's maximum range delay : time := 1ns -- ADC's conversion time ); port ( signal start : in std_logic; -- Start signal signal clk : in std_logic; -- Strobe clock terminal ain : electrical; -- ADC's analog input terminal signal eoc : out std_logic := '0'; -- End Of Conversion pin signal dout : out signed(3 downto 0)); -- Digital output end entity CAN2; architecture sar of CAN2 is type states is (input,hold, convert, output); -- Three states of A2D Conversion quantity Vin across Iin through ain to electrical_ref; -- ADC's input branch --quantity Vin across ain to electrical_ref; -- quantity Vsortie across Isortie through Vcan to electrical_ref; --signal Vsortie_temp : real := 0.0; begin sa_CAN2 : process variable thresh : voltage := Vmax; -- Threshold to test input voltage -- against variable Vtmp : voltage := Vin; -- Snapshot of input voltage when -- conversion starts variable dtmp : signed(3 downto 0); -- Temp. output data variable status : states := input; -- Begin with "input" CASE begin case status is when input => -- Read input voltages when start goes high wait on start until start = '1' or start = 'H'; thresh := Vmax; -- Vtmp := Vin; eoc <= '0'; status :=hold; when hold => wait on clk until clk = '1' or clk = 'H'; status Vtmp := Vin; := convert; -- Go to convert state -- Begin successive approximation conversion dtmp(3):='1';

when convert =>

if Vtmp<0.0 then

-195-

ANNEXES

Vtmp := Vtmp+(thresh); else dtmp(3):='0'; end if; if Vtmp >= (thresh/2.0) then dtmp(2):='1'; --Vtmp := Vtmp-0.25; Vtmp := Vtmp-(thresh/2.0); else dtmp(2):='0'; end if; if Vtmp >= (thresh/4.0) then dtmp(1):='1'; --Vtmp:=Vtmp-0.125; Vtmp := Vtmp-(thresh/4.0); else dtmp(1):='0'; end if; if Vtmp >= (thresh/8.0) then dtmp(0):='1'; else dtmp(0):='0'; end if; if dtmp="1000" then dtmp:="1001"; end if; status := output; -- Go to output state

when output => -- Wait for output enable, then put data on output pins eoc <= '1' after delay; dout <= dtmp after delay; --wait on eoc until eoc = '1'; --dout<= dtmp; status := input; end case; end process sa_CAN2; -- Set up for next conversion

Iin == 0.0;--cette quation est utile pour le critre de solvabilit. end architecture sar --****************************************************************************** --FICHIER regroupant les fonctions du discriminateur -- 04/04/2005 Mise jour dans projet DLL seule -- fichier comprenant le port map du discriminateur de la DLL ----20/05/2005 Test de la version complte --****************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.numeric_std.all; use work.parameter.all; entity discriminateur is port( clk160nco rst

: :

in std_logic; in std_logic; in signed (3 downto 0);

data_codee_clk40e :

-196-

ANNEXES

code_early_clk40nco : code_late_clk40nco :

in std_logic;--PN code devra tre en avance in std_logic;--PN code devra tre en retard

dump_early_clk40nco: in std_logic;--Signal en avance pour la branche early dump_late_clk40nco: in std_logic;--Signal en retard pour la branche late discri: out signed(M downto 0) ); end discriminateur ; architecture arch_discriminateur of discriminateur is --*************************************************************************************** --Dfinition des signaux de jonctions --*************************************************************************************** signal data_multi_discri_early_clk40nco:signed (3 downto 0); signal data_multi_discri_late_clk40nco:signed (3 downto 0); signal data_destalee_early_clk160nco: signed (M downto 0); signal data_destalee_late_clk160nco: signed (M downto 0); signal data_absolu_early_clk160nco: signed (M downto 0); signal data_absolu_late_clk160nco: signed (M downto 0); --*************************************************************************************** --Dfinition des composants --*************************************************************************************** ------------------------------------------------------------------Dfinition du multiplieur ----------------------------------------------------------------component multiplieur_r is port ( rst: in std_logic; code_clk40nco : in std_logic; data_codee_clk40e : in signed (3 downto 0); data_multi_clk40nco: out signed (3 downto 0) ); end component; ------------------------------------------------------------------Dfinition de l'intgrateur/bloqueur ----------------------------------------------------------------component integ_dump is port ( clk160nco : in std_logic; rst : in std_logic; dump_clk40nco : in std_logic; data_multi_clk40nco : in signed (3 downto 0); result_clk160nco ); end component; ------------------------------------------------------------------Dfinition de la valeur absolu ----------------------------------------------------------------component absolu is : out signed (M downto 0)

-197-

ANNEXES

port ( rst

: in std_logic;

data_clk160nco : in signed(M downto 0); data_absolu_clk160nco: out signed(M downto 0) ); end component; ------------------------------------------------------------------Dfinition du soustracteur ----------------------------------------------------------------component soustracteur is port ( data_absolu_late_clk160nco data_absolu_early_clk160nco ); end component; : in signed(M downto 0); : in signed(M downto 0);

discri: out signed(M downto 0)

--*************************************************************************************** --Dfinition des port map --*************************************************************************************** begin multiplieur_early : multiplieur_r port map ( rst =>rst , code_clk40nco=> code_early_clk40nco, data_codee_clk40e=> data_codee_clk40e, data_multi_clk40nco => data_multi_discri_early_clk40nco ); multiplieur_late : multiplieur_r port map ( rst =>rst , code_clk40nco=> code_late_clk40nco, data_codee_clk40e=> data_codee_clk40e, data_multi_clk40nco => data_multi_discri_late_clk40nco ); integrateur_early: integ_dump port map ( clk160nco =>clk160nco, rst =>rst , dump_clk40nco => dump_early_clk40nco , data_multi_clk40nco => data_multi_discri_early_clk40nco, result_clk160nco=> data_destalee_early_clk160nco ); integrateur_late: integ_dump port map (

-198-

ANNEXES

clk160nco =>clk160nco, rst =>rst , dump_clk40nco => dump_late_clk40nco, data_multi_clk40nco => data_multi_discri_late_clk40nco, result_clk160nco=> data_destalee_late_clk160nco ); absolu_early: absolu port map ( rst =>rst , data_clk160nco => data_destalee_early_clk160nco, data_absolu_clk160nco => data_absolu_early_clk160nco ); absolu_late: absolu port map ( rst =>rst , data_clk160nco => data_destalee_late_clk160nco, data_absolu_clk160nco => data_absolu_late_clk160nco ); soustracteur_discri: soustracteur port map ( data_absolu_early_clk160nco => discri => discri, data_absolu_late_clk160nco => data_absolu_late_clk160nco ); END; --************************************************************************** -- Fonction Test de donne --02/11/2004 --31/03/2005--Mise jour dans nouveau projet --01/04/2005-- Test de donnee avec seuil sur I&DUMP --20/05/2005 Test de la version complte --************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; use work.parameter.all; entity test_donnee is port ( --detect_front : in std_logic;--01/04--signal de dbut de symbole data_desetalee_clk160nco : in signed(M downto 0);--signal issu du I&D correlation:out std_logic; data_av_decodee_clk160nco: out std_logic --signal entre 0 et 1 en fonction du bit de signe ); end test_donnee; architecture arch of test_donnee is

data_absolu_early_clk160nco ,

-199-

ANNEXES

signal valeur_seuil_max: signed(M downto 0); signal data_correle :std_logic; --affectation du bit de signe begin data_av_decodee_clk160nco <= not(data_desetalee_clk160nco(M));--permet d'obtenir selon le bit de signe un 1 ou 0 pour la sortie correlation <='1'; end arch; --************************************************************************************* -- Changement de test donnee qui detecte 1 ou 0 en fonction de la valeur de result --01/04/2005 --********************************************************************************** --begin --detection :process --begin --wait until detect_front='1'; --if (detect_front ='1') then --valeur_seuil_max <= abs (data_desetalee_clk160nco); --if(valeur_seuil_max < "0010110100" ) then -- --if(valeur_seuil_max < "0101000000" ) then (faux) --correlation <= '0';--Signal decorrele --else --if (valeur_seuil_max < "0101011110" ) then -data_correle <= '0' ; -else data_correle <='1'; --end if; --correlation <='1'; --end if; --end process detection; --data_av_decodee_clk160nco <= data_correle ; --end arch; --***************************************************************************** --DECODEUR DIFFERENTIELLE -- 04/04/2005 Mise jour dans projet DLL seule --Permet le dcodage diffrentielle dn=not(tn XOR tn-1) --15/03/2005 resynchronise data_n pour que le XOR se fasse correctement --17/03/2005 Suppression de detect_front --20/05/2005 Test de la version complte --***************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; entity decodeur is port ( clk160nco:in std_logic; rst:in std_logic;

-200-

ANNEXES

dump_r_clk40nco : in std_logic;--Signal de dbut de symbole data_av_decodee_clk160nco : in std_logic;--Signal issu de test donnee (signal entre 0 et 1) sortie_clk160nco : out std_logic--signal en sortie du systme Emetteur /Rcepteur ); end decodeur; architecture arch of decodeur is signal data_n : std_logic;--15/03permet de faire le dcodage diffrentielle (donne -1) signal data_n_1 : std_logic; signal detect_front_clk160nco : std_logic;--17/03--signal dtectant le front sur dump signal dump_intermediaire_clk160nco: std_logic; signal dump_resynchronise_clk160nco: std_logic; signal dump_rideau1 : std_logic; signal dump_rideau2 : std_logic; signal sortie1_clk160nco: std_logic;--16/03 begin --Resynchronisation du signal dump sur une horloge 160Mhz re_synchro: process (rst,clk160nco) begin if (rst='1') then dump_intermediaire_clk160nco <= '0'; dump_resynchronise_clk160nco <= '0'; data_n <= '0'; --15/03 data_n_1 <= '0'; --15/03 dump_rideau1 <= '0'; dump_rideau2 <= '0'; elsif(rising_edge(clk160nco)) then data_n_1 <=data_av_decodee_clk160nco;--15/03 data_n <=data_n_1;--15/03 dump_intermediaire_clk160nco <= dump_r_clk40nco; dump_resynchronise_clk160nco <= dump_intermediaire_clk160nco; dump_rideau1 <= dump_resynchronise_clk160nco; dump_rideau2 <= dump_rideau1; end if; end process re_synchro; decodage : process(clk160nco,rst) begin if (rst = '1') then sortie1_clk160nco <='0'; detect_front_clk160nco <= '0'; elsif rising_edge(clk160nco) then --Permet de reagir sur le front montant de dump -if (dump_intermediaire_clk160nco = '1'and dump_resynchronise_clk160nco='0' and detect_front_clk160nco = '0') then -if (dump_intermediaire_clk160nco = '1'and dump_resynchronise_clk160nco='0') then if (dump_rideau1 = '1'and dump_rideau2='0' and detect_front_clk160nco = '0') then sortie1_clk160nco <= not(data_n_1 xor data_n); detect_front_clk160nco<= '1';--17/03 else detect_front_clk160nco <='0'; --17/03 sortie1_clk160nco <= sortie1_clk160nco; end if; --If dump end if;--If clk_c end process decodage; sortie_clk160nco <= sortie1_clk160nco; end arch;

-201-

ANNEXES

--************************************************* --Multiplication pour la rception --03/11/2004 --31/03/2005--Mise jour dans nouveau projet --20/05/2005 Test de la version complte --************************************************* library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.numeric_std.all; entity multiplieur_r is port ( rst: in std_logic; code_clk40nco : in std_logic; data_codee_clk40e : in signed (3 downto 0); data_multi_clk40nco: out signed (3 downto 0) ); end multiplieur_r; architecture arch of multiplieur_r is signal pn_code_bus : std_logic_vector(3 downto 0); signal data_multi_clk40nco_int : std_logic_vector(3 downto 0); begin --data_multi_clk40nco <= "0000" when(rst = '1') --Dfinition comportementale de la fonction multiplication -else data_codee_clk40e when(code_clk40nco = '1') -- modif CG -else -data_codee_clk40e ; -- modif CG -else data_codee_clk40e ; -- modif CG pn_code_bus(3 downto 0) <= "0111" when(code_clk40nco = '1') else "1001";-- Mise sur 4 bits du PN_Code data_multi_clk40nco_int(3) <= not(data_codee_clk40e(3) xor pn_code_bus(3)) after 1 ns; data_multi_clk40nco_int(2) <= not(data_codee_clk40e(2) xor pn_code_bus(2)) after 1 ns; data_multi_clk40nco_int(1) <= not(data_codee_clk40e(1) xor pn_code_bus(1)) after 1 ns; data_multi_clk40nco_int(0) <= not(data_codee_clk40e(0) xor pn_code_bus(0)) after 1 ns; data_multi_clk40nco <= "0111" when(data_multi_clk40nco_int = "0001") else "1001"; end arch; --***************************************************************************** -- INTEGRATEUR/BLOQUEUR -- Intgrateur /Bloqueur avec comme frquence d'chantillonnage de 160Mhz --***************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; use work.parameter.all; entity integ_dump is port ( clk160nco : in std_logic; rst : in std_logic; dump_clk40nco : in std_logic; data_multi_clk40nco : in signed (3 downto 0); detect_front: out std_logic;--01/04/2005 result_clk160nco ); : out signed (M downto 0)

-202-

ANNEXES

end integ_dump; architecture arch of integ_dump is signal acc_clk160nco : signed (M downto 0); -- signal accumulation pour l'integrateur signal acc_test_clk160nco : signed (M+1 downto 0); -- signal accumulation pour l'integrateur signal result1_clk160nco : signed (M downto 0);--signal donnant le rsultat final (donc chaque dump) signal detect_front_clk160nco : std_logic;--permet de dtecter le front montant sur dump signal dump_intermediaire_clk160nco: std_logic; signal dump_resynchronise_clk160nco: std_logic; begin --Resynchronisation du signal dump sur une horloge 160Mhz re_synchro: process (rst,clk160nco) begin if (rst='1') then dump_intermediaire_clk160nco <= '0'; dump_resynchronise_clk160nco <= '0'; elsif(rising_edge(clk160nco)) then dump_intermediaire_clk160nco <= dump_clk40nco; dump_resynchronise_clk160nco <= dump_intermediaire_clk160nco; end if; end process re_synchro; integration:process(clk160nco,rst)--Horloge de 160 Mhz begin if (rst = '1') then --result_clk160nco <=(M downto 0 => '0'); result1_clk160nco <=(M downto 0 => '0'); acc_test_clk160nco <=(M+1 downto 0 => '0'); acc_clk160nco <=(M downto 0 => '0'); detect_front_clk160nco <= '0'; elsif rising_edge(clk160nco ) then if (dump_intermediaire_clk160nco = '1'and dump_resynchronise_clk160nco='0' and detect_front_clk160nco = '0') then if(acc_test_clk160nco(M+1) = '0') then if(acc_test_clk160nco(M) = '1') then result1_clk160nco(M) <= '0'; result1_clk160nco(M-1 downto 0) <= (others => '1'); else result1_clk160nco <= ('0' & acc_test_clk160nco(M-1 downto 0)); end if; else if(acc_test_clk160nco(M) = '0') then result1_clk160nco(M) <= '1'; result1_clk160nco(M-1 downto 0) <= (others => '0'); else result1_clk160nco <= ('1' & acc_test_clk160nco(M-1 downto 0)); end if; end if; acc_clk160nco <= (others => '0'); acc_test_clk160nco <= (others => '0'); detect_front_clk160nco <='1'; else detect_front_clk160nco <='0'; acc_clk160nco <= acc_clk160nco + data_multi_clk40nco; if(data_multi_clk40nco(3) = '0') then

-203-

ANNEXES

acc_test_clk160nco <= acc_test_clk160nco + ('0' & data_multi_clk40nco); else acc_test_clk160nco <= acc_test_clk160nco + ('1' & data_multi_clk40nco); end if; end if;--If dump end if;--If Clk_160 end process integration; result_clk160nco <= result1_clk160nco when(detect_front_clk160nco <='1') else (others => '0') when(rst = '1'); end arch; --***************************************************************************** --SELECTION PN_CODE --15/04/2005 -- MODULE permettant de remettre la synchro sur la voie 1. -- Etat Repos: Initialisation -- Etat Sb1: Synchronisation sur la voie 1 -- Etat Sbn1:Synchronisation sur une voie k , mise jour (maj) de la valeur d -- Etat Sbn2:Synchronisation sur une voie k , remise 0 de maj -- Etat Sbn3:Cas d'une desynchronisation --***************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.numeric_std.all;--Bibliothque utilis pour un nombre signed entity dephaseur_pncode is port ( clk40nco :in std_logic; rst :in std_logic; maj: out std_logic; k_n : in std_logic_vector(14 downto 0); d : out std_logic_vector(0 to 11) ); end dephaseur_pncode; architecture arch of dephaseur_pncode is type sync0_type is(repos, sb1, sbn1, sbn2, sbn3); signal Sync0 : Sync0_type; signal d_table:std_logic_vector(0 to 11);

begin d_table <= x"800" when(k_n="000000000000001") else x"b00" when(k_n="000000000000010") else --X"900" x"b00" when(k_n="000000000000100") else x" b00" when(k_n="000000000001000") else x"700" when(k_n="000000000010000") else x"E00" when(k_n="000000000100000") else x"500" when(k_n="000000001000000") else--X500 x"b00" when(k_n="000000010000000") else x"D00" when(k_n="000000100000000") else x"300" when(k_n="000001000000000") else x"600" when(k_n="000010000000000") else x"C00" when(k_n="000100000000000") else x"100" when(k_n="001000000000000") else x"200" when(k_n="010000000000000") else x"400" when(k_n="100000000000000") ; p1:process(clk40nco,rst)

-204-

ANNEXES

begin if (rst = '1') then d <= x"800"; Sync0 <= repos; maj <= '0'; elsif rising_edge(clk40nco) then case Sync0 is when repos => maj <= '0'; d <= x"800"; if(k_n="000000000000001" or k_n="000000000000000" ) then Sync0 <= sb1; else Sync0 <= sbn1; end if; when sb1 => d <= x"800"; maj <= '0'; if(k_n="000000000000001" or k_n="000000000000000" ) then Sync0 <= sb1; else Sync0 <= sbn1; end if; when sbn1 => d <= d_table; maj <= '1'; Sync0 <= sbn2; when sbn2 => d <= d_table; maj <= '0'; if(k_n="000000000000000" or k_n="000000000000001" ) then Sync0 <= sbn3; else Sync0 <= sbn2; end if; when sbn3 => d <= d_table; maj <= '0'; if(k_n="000000000000001" or k_n="000000000000000" ) then Sync0 <= sbn3; else Sync0 <= sbn1; end if; when others => null; end case; end if; end process; end arch; --************************************************************************** -- Fonction Test de seuil --02/11/2004 --************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; use work.parameter.all; entity test_seuil is port ( detect_front : in std_logic;--01/04--signal de dbut de symbole data_desetalee_clk160nco : in signed(M downto 0);--signal issu du I&D SEUIL : in signed(15 downto 0);

-205-

ANNEXES

correlation:out std_logic; data_av_decodee_clk160nco: out std_logic --signal entre 0 et 1 en fonction du bit de signe ); end test_seuil; architecture arch of test_seuil is signal valeur_seuil_max: signed(M downto 0); signal data_correle :std_logic ; --affectation du bit de signe begin detection :process begin wait until detect_front='1'; if (detect_front'EVENT and detect_front ='1') then valeur_seuil_max <= abs (data_desetalee_clk160nco); if(valeur_seuil_max > SEUIL) then data_av_decodee_clk160nco <= not(data_desetalee_clk160nco(M));--permet d'obtenir selon le bit de signe un 1 ou 0 pour la sortie correlation <='1'; else data_av_decodee_clk160nco <= '1'; correlation <= '0'; --Signal decorrele end if; end if; end process detection; end arch; --**************************************************************************************** -- Filtre de correlation avec fifo -- Filtre de correlation o l'on mmorise l'entre . Ceci permet facilement de changer l'quation aux diffrences -- 2 process fifo une pour l'entre (X(n)) et l'autre pour la sortie (Y(n)) -- Eq diffrence du filtre de corrlation -- Y(n)=6 X(n)+4 X(n-1)- Y(n-1) .Les cstes 4 et 6 sont definit pour 1s --20/05/2005 Test de la version complte ---*************************************************************************************** library IEEE; library std; use IEEE.STD_LOGIC_1164.all; use IEEE.numeric_std.all; entity filtre_fifobis is port ( clk160nco: in std_logic; rst: in std_logic; data_absolu_clk160nco : in signed(9 downto 0); --data_filtre_clk160nco: out signed(9 downto 0) data_filtre_clk160nco: out signed(10 downto 0) ); end filtre_fifobis; architecture arch of filtre_fifobis is --dclaration des variables de la fifo pour le filtre avec constantes CT1(12)/CT2(998)/CT3(1024) signal data_out_clk160nco : signed(10 downto 0); signal fifo_x_n_clk160nco : signed(10 downto 0); --Signal de droite de la fifo_X --06/04/2005

-206-

ANNEXES

signal fifo_x_nm_clk160nco : signed(10 downto 0); --signal de gauche de la fifo_X(n-1)--06/04/2005 signal fifo_y_nm_clk160nco : signed(10 downto 0);--Signal de droite de la fifo_Y --06/04/2005 signal fifo_y_n_clk160nco : signed(10 downto 0);--signal de gauche de la fifo_y(n-1) --06/04/2005 signal dump_r_rideau1:std_logic; signal dump_r_rideau2:std_logic; signal somme : signed(10 downto 0); begin --Dfinition de la fifo pour X fifo_x:process(clk160nco,rst) begin if (rst = '1') then fifo_x_n_clk160nco <= (others =>'0');--def X(n)--06/04/2005 fifo_x_nm_clk160nco <= (others =>'0');--def X(n-1)--06/04/2005 elsif rising_edge(clk160nco) then if(data_absolu_clk160nco(9) = '1') then fifo_x_nm_clk160nco(10 downto 0) <= data_absolu_clk160nco(9) & '1' & data_absolu_clk160nco(8 downto 0) ; else fifo_x_nm_clk160nco(10 downto 0) <= data_absolu_clk160nco(9) & '0' & data_absolu_clk160nco(8 downto 0) ; end if; --If data_absolu fifo_x_n_clk160nco <= fifo_x_nm_clk160nco ;

end if; --If rst end process fifo_x; --Dfinition de la fifo pour Y fifo_y:process(clk160nco,rst) begin if (rst = '1') then fifo_y_n_clk160nco <= (others =>'0');--def y(n) fifo_y_nm_clk160nco <= (others =>'0');--def y(n-1) elsif rising_edge(clk160nco) then

fifo_y_nm_clk160nco <= data_out_clk160nco; fifo_y_n_clk160nco <= fifo_y_nm_clk160nco ; end if; --If rst end process fifo_y; --Dfinition de l'quation aux diffrences somme <= ( fifo_x_nm_clk160nco + fifo_x_n_clk160nco); --data_out_clk160nco <= ( fifo_x_nm_clk160nco + fifo_x_n_clk160nco) / 2;--Bonne valeur pour le gain data_out_clk160nco <= ( fifo_x_nm_clk160nco + fifo_x_n_clk160nco) / 2; --Affectaiton sur 10 bits --data_filtre_clk160nco<=data_out_clk160nco(10 downto 1); data_filtre_clk160nco <= data_out_clk160nco; end arch;

-207-

ANNEXES

-- ************************************************************************************ -- NUMERICAL CONTROLLED OSCILLATOR ( NCO ) -- oscillateur control numriquement permet d'avoir en fonction des donnes -- 02/11/2004 ---Mise jour des fichiers --01/04/2005 --Mise jour des fichiers -- Sortie: Horloge dont la priode varie en fonction du mot d'entre --20/05/2005 Test de la version complte -- ************************************************************************************ library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; use work.parameter.all; entity nco is port ( clk_640 : in std_logic; rst : in std_logic; -discri_moyennee_clk160nco : in signed (10 downto 0); discri_moyennee_clk160nco : in signed (9 downto 0); clk_NCO : out std_logic ); end nco; architecture arch of nco is signal n : signed(15 downto 0); --signal n : signed(13 downto 0); signal clk_out2 :std_logic:='0'; signal clk_NCO1 :std_logic:='0'; signal clk_out1 :std_logic:='0'; signal discri_divise : signed (9 downto 0); begin -- processus d'incrmentation du registre de la valeur de l'entre chaque front montant p1 :process(clk_640, rst) begin if (rst = '1') then clk_NCO1 <='1'; n (15 downto 0) <= (others => '0'); elsif rising_edge(clk_640) then n <= n+16384+discri_moyennee_clk160nco; --16384 = 2(exp14) -- affectation de la sortie (bit de poids fort) clk_NCO1 <= n(15); end if;--fin du clock end process p1; p : process(clk_NCO1) begin if falling_edge(clk_NCO1) then clk_out1 <= not clk_out1; end if; end process p; p3 : process(clk_out1) begin if falling_edge(clk_out1) then

-208-

ANNEXES

clk_out2 <= not clk_out2; end if; end process p3; clk_NCO <= clk_NCO1; discri_divise(9 downto 0) <= "11" & discri_moyennee_clk160nco(8 downto 1) when(discri_moyennee_clk160nco(9) = '1') else "00" & discri_moyennee_clk160nco(8 downto 1); end arch;

--**************************************************************************** -- GENERATEUR DE PN CODE du rcepteur pour synchronisation N branches ---***************************************************************************** library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; use work.parameter.all; entity gene_code_r_N_synchro is port ( rst:in std_logic; clk40nco : in std_logic; cn_code : in std_logic_vector(11 downto 0); synchro_clk160nco: in std_logic ; maj: in std_logic; d: in std_logic_vector(0 to 11); code_clk40nco : out std_logic; dump_clk40nco : out std_logic ); end gene_code_r_N_synchro; architecture arch of gene_code_r_N_synchro is signal a : std_logic_vector (0 to 11); signal q : std_logic_vector (1 to 11); signal dump1_e_clk40e :std_logic; -- initialisation du registre des bascules d --signal d : std_logic_vector(0 to 11) := "100000000000"; signal d_int : std_logic_vector(0 to 11); signal quatre : unsigned(1 downto 0);--signal pour diviser par 4 begin --calcul des valeurs binaires rinjectes dans le registre : a(0) <= cn_code(0) and d_int(0); a(1) <= cn_code(1) and d_int(0); a(2) <= cn_code(2) and d_int(0); a(3) <= cn_code(3) and d_int(0); a(4) <= cn_code(4) and d_int(0); a(5) <= cn_code(5) and d_int(0); a(6) <= cn_code(6) and d_int(0); a(7) <= cn_code(7) and d_int(0); a(8) <= cn_code(8) and d_int(0); a(9) <= cn_code(9) and d_int(0); a(10) <= cn_code(10) and d_int(0); a(11) <= cn_code(11) and d_int(0); --calcul des prochaines valeurs du registre : q(1) <= d_int(1) xor a(0); q(2) <= d_int(2) xor a(1);

-209-

ANNEXES

q(3) <= d_int(3) xor a(2); q(4) <= d_int(4) xor a(3); q(5) <= d_int(5) xor a(4); q(6) <= d_int(6) xor a(5); q(7) <= d_int(7) xor a(6); q(8) <= d_int(8) xor a(7); q(9) <= d_int(9) xor a(8); q(10) <= d_int(10) xor a(9); q(11) <= d_int(11) xor a(10); -- initialisation du registre --processus de raffectation du registre : p1 : process(clk40nco,rst) begin if(rst = '1') then d_int <= "100000000000"; dump1_e_clk40e <= '0'; quatre <= "00"; elsif (rising_edge(clk40nco)) then quatre <= quatre + "01"; if(maj='1') then d_int <=d; end if; --gnration de l'horloge de bloquage : if q(1 to 11)&a(11)="100000000000" and maj='0' then -- and dump1_e_clk40e='0' then dump1_e_clk40e <= '1'; else dump1_e_clk40e<='0'; end if; if (quatre = "00" ) and maj='0' then --pour division par quatre --raffectation du registre: d_int(0) <= q(1); d_int(1) <= q(2); d_int(2) <= q(3); d_int(3) <= q(4); d_int(4) <= q(5); d_int(5) <= q(6); d_int(6) <= q(7); d_int(7) <= q(8); d_int(8) <= q(9); d_int(9) <= q(10); d_int(10)<= q(11); d_int(11)<= a(11); end if; end if; end process p1; dump_clk40nco<=dump1_e_clk40e; code_clk40nco<=d_int(0); end arch;

-210-

GLOSSAIRE

GLOSSAIRE

-211-

GLOSSAIRE

ASIC : Application-Specific Integrated Circuit AWGN : Additif White Gaussian Noise CAO : Conception assist par Ordinateur CDMA : Carrier Division Multiple Access DBPSK : Differential Quadrature Phase Shift Keying DSP : Digital Signal Processing DLL : Delay Locked Loop (boucle verrouillage de dlai) DS-SS : Direct Sequence Spread Spectrum FPGA : Field Programmable Gate Array Gp : Gain en traitement HDL : Hardware Description Language IP : Intellectual Property ( proprit intellectuelle) ISM : Industrial Scientific & Medical ITRS : International Technology Roadmap for Semiconductors LUT : Look Up Table M : Nombre dchantillons par symbole N : Longueur de PN-Code NCO : Numerical Controlled Oscillator (Oscillateur Numrique Contrl en Tension) PN-Code : Pseudo-Noise Code (Code pseudo-alatoire) RASE : Rapid Acquistion by Sequential Estimation RII : Rponse Impulsionnelle Infinie RTL : Register transfer language SNR : Signal Noise Ratio SOC : System On Chip TEB : Taux derreur sur le Bit TDL : Tau Dither Loop VHDL : VHSIC Hardware Description Language VHDL-AMS : VHDL Analog and Mixed Signal

-212-

RESUME

Etude et intgration numrique dun systme multicapteurs AMRC de tlcommunication bas sur un prototype virtuel utilisant le langage de haut niveau VHDL-AMS
Rsum : Lindustrie des composants et des modules lectroniques est oriente vers des systmes de plus en plus complexes et intgrs. Aujourdhui, la conception systme tend vers la conception multidisciplinaire et doit faire cohabiter sur une mme puce des fonctions mixtes spcifiques analogiques/numriques, des microprocesseurs et galement des interfaces logicielles. Le rcent standard VHDL-AMS (Very High Description Language Advanced and Mixed System) semble rpondre cette problmatique de conception, en ajoutant la modlisation des signaux discrets la gestion des signaux temps continus. Les travaux de thse prsents dans ce mmoire appliquent la notion de prototypage virtuel un systme multicapteurs et multiutilisateurs de communication hertzienne metteur/rcepteur dans la bande libre ISM. La premire partie prsente un tat de lart de la conception systme ainsi que les outils logiciels ddis. Par suite, tous les tages numriques et analogiques sont dvelopps sous le standard VHDL-AMS. Notre tude se focalise alors sur le choix de la topologie de lorgane de synchronisation et de poursuite, fonctions cls des communications talement de spectre. Afin de complter les bibliothques ddies aux tlcommunications en langage VHDL-AMS, un modle de canal AWGN est propos, intgrant un gnrateur de bruit (mthode mathmatique de Box-Muller) et un module de retard paramtrable. Enfin, un prototype de tests est dvelopp, bas sur une implantation des fonctions numriques dans un circuit FPGA, nous permettant dvaluer les performances dun tel systme en terme de dbit, de taux derreurs sur le bit et doccupation matrielle. Mots cls : Langage VHDL-AMS, prototypage virtuel, talement de spectre par squence directe, synchronisation srie, boucle verrouillage de dlai, circuit FPGA.

Study and digital integration of a CDMA multisensors telecommunications system based on a virtual prototype using VHDL-AMS high level language
Abstract : Today, requirements in system designs are extending more and more from electronic design (analogue and digital) to multidiscipline design. These current needs imply implementation of methodologies to optimize and to make the CAD product reliable. The recent VHDL-AMS standard seems to fit very well. This thesis presents an application of virtual prototype dedicated to a multisensor and multiuser DS-SS (Direct Sequence Spread Spectrum) transceiver system using ISM unlicensed band. The first part describes the state of the art of system design and software tools. After this, the whole digital and analogue stages will be developed under VHDLAMS standard. Our study will focus on the synchronization and tracking entity topology choice, which are the main functions of a spread spectrum communication device. In order to complete VHDL-AMS library dedicated to telecommunication, a model of AWGN channel including a noise generator (Box-Muller method) will be proposed. Finally, a hardware prototype will be developped, based on digital function implantations in a FPGA chipset allowing to assess such a system data rate, bit error rate and size performances. Key words : VHDL-AMS language, virtual prototype, Direct Sequence Spread Spectrum (DSSS), serial synchronization, Delay Locked Loop (DLL), FPGA circuit.

-213-

You might also like