Vous êtes sur la page 1sur 99

Cycle de formation des ingnieurs en Tlcommunications

Option :

Architectures des Systmes de Tlcommunications

Rapport de Projet de fin dtudes


Thme :

Conception et implmentation hardware dun metteur/rcepteur BFDM


Ralis par :

SLIM EL ABED

Encadr par :

M. Fathi TLILI M. Mohamed SIALA

Travail propos et ralis en collaboration avec la socit Smart-Waves

Anne universitaire : 2006/2007

Ddicace
A mon cher pre, et ma chre mre,

pour lducation et le grand amour dont ils mont entour depuis ma naissance. Et pour leurs patiences et leurs sacrifices.

A mon cher frre et mes adorables surs, A tous mes proches ; A tous mes ami(e)s; A tous ceux que jaime.

Je ddie ce mmoire.

ii

Remerciement

Je profite de cette occasion pour remercier tous ceux qui mont aid raliser ce projet dans les meilleures conditions. Je tiens exprimer mes vifs remerciements en premier lieu mes deux encadreurs, Mr. Fathi TLILI & Mr. Mohamed SIALA, Pour laide dterminante qu'ils mont accorde et pour lintrt qu'ils ont port mon projet. Qu'ils trouvent ici l'expression de mon profond respect. Je ne manquerai pas cette occasion pour remercier mes enseignants Mr. Hichem BESBES et Mr. Sofien CHERIF pour leur sympathie et leur disponibilit. Ce mmoire sappuie sur les travaux Mlle Ismahen NASRI. Je la remercie pour son aide prcieuse et sa collaboration durant la priode ce projet. Enfin, je tiens exprimer ma gratitude aux membres de jury qui ont accept de juger ce travail.

iii

Rsum
Ce projet porte sur la mise en place dune solution hardware pour un systme de transmission bas sur la technique de modulation BFDM (Biorthogonal Frequency Division Multiplexing) avec forme donde optimise. Il constitue la continuit de plusieurs travaux de recherches effectus dans ce thme qui avaient montr lintrt que peut nous apporter cette technique de modulation par rapport aux systmes OFDM conventionnels. De ce fait, la ralisation dun tel systme fournirait une solution aux limites imposes par le canal radio-mobile limitant le dbit support. En consquence, nous pouvons envisager lutilisation du contenu multimdia gourmand en termes de dbit pour les rcepteurs mobiles ce qui entrainera la possibilit denrichir les services offerts par les entreprises du monde du TIC. Lobjectif de ce travail est de concevoir larchitecture dun metteur/rcepteur BFDM et de limplmenter sur FPGA. La partie synchronisation sera considre dans la phase de la conception mais son implmentation ne sera pas incluse dans ce projet. Il en est de mme pour lgalisation frquentielle du canal. La simulation avec ModelSim a permis de confirmer que lobjectif de ce projet est atteint.

Mots cls : Modulation BFDM, transforme de Fourier rapide, filtrage, galisation frquentielle, implmentation VHDL, Simulation.

iv

TABLE DES MATIERES

INTRODUCTION GENERALE ....................................................................... 1 CHAPITRE 1 : PRINCIPE DES SYSTEMES BFDM .................................... 3


1.1. INTRODUCTION ................................................................................................................. 4 1.2. LES SYSTEMES OFDM...................................................................................................... 5
1.2.1. Principe de la modulation OFDM ........................................................................................ 6 1.2.2. Principe de la dmodulation................................................................................................. 8 1.2.3. Techniques d'implmentation des modulateurs OFDM........................................................ 9 1.2.4. Implantation numrique du dmodulateur ......................................................................... 10 1.2.5. Egalisation et squences d'apprentissage........................................................................... 10 1.2.6. Intervalle de garde.............................................................................................................. 11

1.3. FAIBLESSES DE LA FORME DONDE RECTANGULAIRE DE LOFDM ................................. 13


1.3.1. Offset frquentiel ................................................................................................................ 13 1.3.2. Effet de ltalement Doppler............................................................................................... 14

1.4. OPTIMISATION DE LA FORME D'ONDE POUR LA MODULATION BFDM ............................. 14 1.5. CONCLUSION .................................................................................................................. 15

CHAPITRE 2 : CONCEPTION DE LARCHITECTURE DE LEMETTEUR/RECEPTEUR BFDM ........................................................... 16


2.1. INTRODUCTION ............................................................................................................... 17 2.2. CONCEPTION DE L'EMETTEUR BFDM ............................................................................. 17
2.2.1. Etude fonctionnelle ............................................................................................................. 17 2.2.2. Architecture interne de lmetteur...................................................................................... 20
2.2.2.1. Description de lIP XFFT de Xilinx ............................................................................................................ 20 2.2.2.2. Etage de filtrage........................................................................................................................................... 20 2.2.2.3. Slection des porteuses actives et insertion des symboles pilotes................................................................ 24 2.2.2.4. Etage de mapping ........................................................................................................................................ 27

v
2.2.2.5. Gnrateur dhorloges ................................................................................................................................. 28

2.3. CONCEPTION DU RECEPTEUR BFDM .............................................................................. 29


2.3.1. Etude fonctionnelle ............................................................................................................. 29 2.3.2. Architecture interne ............................................................................................................ 30
2.3.2.1. Etage de filtrage la rception .................................................................................................................... 30 2.3.2.2. Dmapping .................................................................................................................................................. 33 2.3.2.3. Extraction des Symboles Pilotes.................................................................................................................. 33

2.4. CONCLUSION .................................................................................................................. 34

CHAPITRE 3 : IMPLEMENTATION SUR FPGA DE LEMETTEUR/RECEPTEUR BFDM ........................................................... 35


3.1. INTRODUCTION ............................................................................................................... 36 3.2. IMPLEMENTATION SUR FPGA DE LEMETTEUR............................................................... 37
3.2.1. Etage de Mapping............................................................................................................... 37 3.2.2. Gnration et configuration de lIP XFFT de Xilinx.......................................................... 38 3.2.3. Filtrage lmission........................................................................................................... 43 3.2.4. Slection des porteuses et insertion des symboles pilotes .................................................. 44 3.2.5. Gnrateur d'horloges ........................................................................................................ 45

3.3. IMPLEMENTATION DU RECEPTEUR BFDM ...................................................................... 46


3.3.1. Etage de filtrage la rception .......................................................................................... 47 3.3.2. Extraction des Symboles Pilotes ......................................................................................... 48 3.3.3. Dmapping.......................................................................................................................... 49

3.4. CONCLUSION .................................................................................................................. 49

CHAPITRE 4 : SIMULATION ET SYNTHESE DE LEMETTEUR/RECEPTEUR BFDM ........................................................... 51


4.1. INTRODUCTION ............................................................................................................... 52 4.2. RESULTATS DE SIMULATION DE L'EMETTEUR/RECEPTEUR BFDM .................................. 52
4.2.1. Mapping et Dmapping ...................................................................................................... 52 4.2.2. Slection, insertion et extraction des symboles pilotes....................................................... 54 4.2.3. Simulation du Core XFFT : ................................................................................................ 56 4.2.4. Filtrage ............................................................................................................................... 57 4.2.5. Gnrateur dhorloges........................................................................................................ 58

4.3. RESULTATS DE SYNTHESE DE L'EMETTEUR/RECEPTEUR BFDM ...................................... 60


4.3.1. Synthse de ltage Mapping .............................................................................................. 61 4.3.2. Synthse de ltage Demapping.......................................................................................... 62

vi

4.3.3. Synthse du bloc Slection des porteuses et insertion des SP ...................................... 64 4.3.4. Synthse du bloc Slection des porteuses et extraction des SP .................................... 65 4.3.5. Synthse du bloc Gnrateur dhorloges ...................................................................... 66 4.3.6. Synthse du bloc Filtrage ............................................................................................. 68

4.4. CONCLUSION .................................................................................................................. 70

CONCLUSION ET PERSPECTIVES ............................................................ 70 BIBLIOGRAPHIE ............................................................................................ 72 ANNEXE A : CARACTERISATION DE LENVIRONNEMENT RADIOMOBILE............................................................................................................. 74


1. Les variations grande et moyenne chelle............................................................................. 74 2. Les variations petite chelle .................................................................................................. 75 3. Modle de canal........................................................................................................................ 75
3.1. Modle statique du canal radio-mobile.............................................................................................................. 75 3.2. Modle dynamique du canal radio-mobile......................................................................................................... 76

ANNEXE B : LE CORE XFFT DE XILINX.................................................. 79 ANNEXE C : RAPPORTS DE SYNTHESE .................................................. 82

vii

LISTE DES FIGURES


FIGURE 1.1 : SCHEMA DE PRINCIPE DU MODULATEUR OFDM. ................................................ 6 FIGURE 1.2 : SPECTRE EN SORTIE DU MODULATEUR OFDM. ................................................... 7 FIGURE 1.3 : SCHEMA DE PRINCIPE DU DEMODULATEUR OFDM. ............................................ 8 FIGURE 1.4 : MODULATEUR OFDM NUMERIQUE. ................................................................... 9 FIGURE 1.5 : DEMODULATEUR OFDM NUMERIQUE. ............................................................. 10 FIGURE 1.6 : INTERVALLE DE GARDE POUR LES SYMBOLES OFDM. ...................................... 11 FIGURE 1.7 : EMETTEUR ET RECEPTEUR OFDM. ................................................................... 12 FIGURE 1.8 : SCHEMA BLOC EMETTEUR ET RECEPTEUR 802.11A. .......................................... 12 FIGURE 2.1 : L'EMETTEUR BFDM VU DE L'EXTERIEUR. ......................................................... 18 FIGURE 2.2 : SCHEMA BLOC DE LA CONCEPTION DE L'EMETTEUR. ......................................... 18 FIGURE 2.3 : SCHEMA EXPLICATIF DE LOPERATION DE FILTRAGE A LEMISSION................... 21 FIGURE 2.4 : CONCEPTION DU BLOC FILTRAGE A L'EMISSION................................................. 23 FIGURE 2.5: CONCEPTION DU BLOC SELECTION DE PORTEUSES ET INSERTION DES SP. .......... 25 FIGURE 2.6 : DISPOSITION DES SP ET DES PORTEUSES DESACTIVEES. .................................... 26 FIGURE 2.7 : CONSTELLATION DE LA MODULATION QAM16................................................. 27 FIGURE 2.8 : SCHEMA CONCEPTUEL DU BLOC MAPPING........................................................ 28 FIGURE 2.9 : SCHEMA CONCEPTUEL DU RECEPTEUR. ............................................................. 30 FIGURE 2.10 : SCHEMA CONCEPTUEL DU BLOC FILTRAGE A LA RECEPTION...................... 32 FIGURE 2.11 : SCHEMA CONCEPTUEL DU BLOC DEMAPPING ............................................ 33 FIGURE 2.12 : CONCEPTION DE LETAGE EXTRACTION DES SP . ....................................... 34 FIGURE 3.1 : INTERFACE DE LOUTIL XILINX CORE GENERATOR......................................... 39 FIGURE 3.2 : CONFIGURATION DU CORE XFFT, INTERFACE 1................................................ 40 FIGURE 3.3 : CONFIGURATION DU CORE XFFT, INTERFACE 2................................................ 41 FIGURE 3.4 : CONFIGURATION DU CORE XFFT, INTERFACE 3................................................ 42 FIGURE 3.5 : EXTRAIT DU CODE SOURCE DE INDEX_CIRC_GEN.VHD ................................ 44 FIGURE 3.6 : DECLARATION DU COMPOSANT BLOCKDRAM . ............................................ 45 FIGURE 3.7 : DECLARATION DU COMPOSANT CLK_GEN ................................................... 46

viii FIGURE 3.8 : DECLARATION DU BLOC ORGANIZER .......................................................... 47 FIGURE 3.9 : DECLARATION DU BLOC SELECTION DES PORTEUSES ET EXTRACTION DES SP . .............................................................................................................................................. 49 FIGURE 3.10 : EXTRAIT DU CODE DE LETAGE DEMAPPING ............................................. 49 FIGURE 4.1 : SIMULATION DE LETAGE MAPPING ............................................................ 53 FIGURE 4.2 : SIMULATION DE LETAGE DEMAPPING ET VISUALISATION DU BITSTREAM.. 53 FIGURE 4.3 : SIMULATION DU BLOC INSERTION DES SYMBOLES PILOTES . ........................ 55 FIGURE 4.4 : SIMULATION DU BLOC EXTRACTION DES SYMBOLES PILOTES . .................... 55 FIGURE 4.5 : SIMULATION DU CORE XFFT EN MODE FORWARD (I.E. FFT). ....................... 56 FIGURE 4.6 : ZOOM SUR LE DEBUT DE LA SORTIE DE LFFT................................................... 56 FIGURE 4.7 : SUPERPOSITION DES COURBES DE FILTRAGE. .................................................... 57 FIGURE 4.8 : INTRODUCTION DE LEFFET DE QUANTIFICATION SUR LOPERATION DE FILTRAGE. .............................................................................................................................................. 58 FIGURE 4.9 : OBSERVATION DU DEPHASAGE ENTRE LES SIGNAUX HORLOGES GENERES......... 59 FIGURE 4.10 : SIMULATION DU GENERATEUR DHORLOGES. .................................................. 60 FIGURE 4.11 : SCHEMA RTL EXTERNE DU BLOC MAPPING .............................................. 61 FIGURE 4.12 : SCHEMA RTL INTERNE DU BLOC MAPPING ............................................... 62 FIGURE 4.13 : SCHEMA RTL EXTERNE DU BLOC DEMAPPING .......................................... 63 FIGURE 4.14 : SCHEMA RTL INTERNE DU BLOC DEMAPPING . ......................................... 63 FIGURE 4.15 : SCHEMA RTL EXTERNE DU BLOC SELECTION DES PORTEUSES ET INSERTION
DES SP

................................................................................................................................ 64

FIGURE 4.16 : SCHEMA RTL INTERNE DU COMPOSANT BLOCK_DRAM.................................. 65 FIGURE 4.17 : SCHEMA RTL EXTERNE DU BLOC SELECTION DES PORTEUSES ET EXTRACTION
DES SP

................................................................................................................................ 66

FIGURE 4.18 : SCHEMA RTL EXTERNE DU BLOC GENERATEUR DHORLOGES .................. 67 FIGURE 4.19 : SCHEMA RTL EXTERNE DU BLOC FI_MUL_I . ............................................ 69

ix

LISTE DES TABLEAUX

TABLEAU 2.1 : NOMBRE DES SP ET DES PORTEUSES DESACTIVEES DE LIFFT. ..................... 26 TABLEAU 3.1 : MAPPING, CHOIX DE IOUT. .............................................................................. 37 TABLEAU 3.2 : MAPPING, CHOIX DE QOUT. ............................................................................. 38 TABLEAU 3.3 : DIFFERENCES DANS LE FONCTIONNEMENT DES ETAGES DE FILTRAGE ........... 47 TABLEAU 4.1 : VALEURS INITIALES DES COMPTEURS POUR LE GENERATEUR DHORLOGES.... 59 TABLEAU 4.2 : RECAPITULATION DES RESULTATS DE SYNTHESE........................................... 69 TABLEAU B.1 : RESUME DES BROCHES DU CORE XFFT ........................................................ 81 TABLEAU C.1 : SYNTHESE DU BLOC MAPPING ................................................................ 82 TABLEAU C.2 : SYNTHESE DU BLOC DEMAPPING ............................................................ 83 TABLEAU C.3 : SYNTHESE DU BLOC SELECTION DES PORTEUSES ET INSERTION DES SP .. 84 TABLEAU C.4 : SYNTHESE DU BLOC SELECTION DES PORTEUSES ET EXTRACTION DES SP .............................................................................................................................................. 85 TABLEAU C.5 : SYNTHESE DU BLOC CLOCK GENERATOR ................................................ 86 TABLEAU C.6 : SYNTHESE DU COMPOSANT ADDRESS_GENERATOR ................................. 87 TABLEAU C.7 : SYNTHESE DU COMPOSANT FI_MUL_I ..................................................... 88

Liste des Acronymes

ADC : ADSL :

Analog to Digital Converter Asymmetric Digital

IP : ISI : MAQ :

intellectual Property inter Symbols interferences Modulation

Subscriber Line BFDM: Biorthogonal Frequency

dAmplitude en Quadrature OFDM : Orthogonal Frequency

Division Multiplexing CPOFDM : Cyclic Prefix OFDM DAC : DVB-T : Terrestrial FEC : FFT : FPGA : Array ICI : IEEE : Inter Carrier Interference Institute of Electrical Forward Error Correction Fast Fourier Transform Field Programmable Gate Digital to Analog Converter Digital Video Broadcast-

Division Multiplexing P/S, S/P : Srie/Parallle QAM : Quadrature conversion Parallle /Srie,

Amplitude Modulation RAM : memory ROM : RTL : SP : TFR : rapide VHDL : VHSIC hardware Read Only Memory Register Transfer Level Symboles Pilotes Transforme de Fourier Random Access

and Electronics Engineers IES : Symboles IFFT : Transform Inverse Fast Fourier Interfrences Entre

description language VHSIC : Circuit very high-speed Integrated

Introduction

Introduction gnrale

Depuis quelques annes, de plus en plus dimportance a t accorde la technique de modulation OFDM, les chercheurs voyaient dans cette technique la solution efficace et pratique aux problmes de slectivit imposs par le canal (support de transmission) dans le cas des systmes de transmission haut dbit. Par consquent, des systmes dvelopps comme le DVB-T et lADSL ont vu le jour grce ladoption de cette technique de modulation. Malheureusement, dans le cas dun canal radio-mobile caractris par une grande slectivit temporelle, les performances de la modulation OFDM se dgradent. Ceci peut sexpliquer par la dlocalisation frquentielle de la forme donde rectangulaire utilise dans lOFDM. Ainsi, en modifiant la forme donde lmission et la rception, nous pouvons corriger ce dfaut. Nous passons donc la technique de modulation BFDM qui diffre lOFDM par le fait que la forme donde lmission et celle la rception sont diffrentes de la fonction rectangle adopte par les modulateur OFDM. Pour implmenter un systme de transmission multiporteuse, lutilisation de lFFT savre trs efficace et permet de rduire lordre de complexit de lmetteur et du rcepteur. Cest dailleurs a qui rend limplmentation dun metteur BFDM possible sur une carte FPGA. Nous avons choisit dorganiser ce mmoire en quatre chapitres. Le premier chapitre prsente les notions techniques des modulations OFDM et BFDM. Le deuxime chapitre est consacr llaboration de la conception de larchitecture de lmetteur/rcepteur BFDM. Nous y verrons le schma gnral de lmetteur et du rcepteur et nous dtaillerons ensuite la conception de chaque tage.

Introduction La phase de limplmentation est dcrite au niveau du troisime chapitre et enfin dans le dernier chapitre, nous exposons les rsultats de simulation et de synthse des composants de lmetteur et du rcepteur BFDM implments.

Chapitre 1 : Principe des systmes BFDM

Chapitre 1 : Principe des systmes 4

1.1. I NTRODUCTION

Un signal radiofrquences est mis sur un canal, qui constitue son support physique. Ainsi toute transmission numrique est limite par les contraintes physiques de son support. Un canal est dit slectif en frquence lorsqu'il ne se comporte pas identiquement suivant la frquence du signal. Certaines frquences seront attnues plus que d'autres. Le signal sera alors dform lors de la transmission : les donnes seront disperses dans le temps, pouvant mener des interfrences entre symboles. Du fait des nombreuses rflexions que le signal peut subir en environnement urbain, le rcepteur recevra une srie d'chos d'amplitudes et de retards variables. Cette problmatique du canal trajets multiples est critique dans le cas d'un canal radio-mobile, c'est--dire lorsque le rcepteur et l'metteur ne sont pas fixes relativement. Les diffrents chos et amplitudes qui varient dans l'espace, ils entranent des variations dans le canal vu par le rcepteur mobile. Ces problmatiques sont d'autant plus d'actualit que les dbits transmis augmentent exponentiellement, et donc la bande de frquence ncessaire pour transporter ces informations haut dbit. Or l'effet de la slectivit en frquence des canaux sur la dgradation des performances augmente avec la largeur de bande de frquence du signal transmis. La famille des modulations multiporteuses dont fait partie l'OFDM permet de rpondre cet enjeu en utilisant des sous-porteuses peu sensibles aux multitrajets et la slectivit en frquence, faciles galiser. Dans ce chapitre, nous nous proposons de dfinir les systmes OFDM ainsi que les moyens d'implmenter les chanes de transmission bases sur la modulation OFDM en utilisant la transforme de fourrier rapide (TFR). Nous verrons ensuite les limites de cette technique et les caractristiques de la modulation BFDM.

Chapitre 1 : Principe des systmes 5

1.2. L ES SYSTEMES OFDM

Les problmes de multi-trajet et de slectivit frquentielle (Annexe A) sont d'autant plus importants que le dbit de transmission augmente, car la bande de frquence ncessaire pour transporter ces informations haut dbit augmente. Or l'effet de la slectivit en frquence des canaux sur la dgradation des performances augmente avec la largeur de bande de frquence du signal transmis. Dans le cas mono-porteuse, les processus d'galisation censs compenser les effets des multitrajets et de la slectivit en frquence des canaux sont cependant d'une grande complexit lorsque le canal varie beaucoup dans le temps. Ils ncessitent de plus la connaissance tout instant de la fonction de transfert du canal de transmission. La famille des modulations multi-porteuses dont fait partie l'OFDM (Orthogonal Frequency Division Multiplexing) permet de rpondre cet enjeu en utilisant des sous-porteuses peu sensibles aux multi-trajets et la slectivit en frquence, faciles galiser. Cette technique de modulation consiste rpartir les symboles sur un grand nombre de porteuses bas dbit, l'oppos des systmes mono-porteuses qui transmettent les symboles en srie, chaque symbole occupant alors toute la bande passante disponible. Ainsi dans le cas de l'OFDM, pour un train de symboles initial de priode TSi , les Symboles seront rpartis en N trains plus lents et auront alors une dure TS = N*TSi. Cette diminution du rythme symbole entrane une diminution des interfrences entre symboles d'un rapport N. Ainsi, dans le cas mono-porteuse, pour un dbit symbole de 10 Msymboles/s transmis sur un canal radio de distorsion maximale m = 250 s, un symbole interfre avec K=250 * 10 = 2500 Symboles. Le processus d'galisation s'effectuant par bloc est trs complexe. En revanche, en rpartissant ces symboles sur N = 2048 porteuses, moins de 2 symboles rentrent en interfrence, ce qui simplifie normment l'galisation du canal [1].

Chapitre 1 : Principe des systmes 6

1.2.1. P RINCIPE

DE LA MODULATION

OFDM

Pour rpartir les donnes transmettre sur les N porteuses, on groupe les symboles ck par paquets de N. Les ck sont des nombres complexes dfinis partir des lments binaires par une constellation souvent de modulation MAQ 4, 16, 64, 2q tats. La squence de N symboles c0 , c1 , ..., cN-1 constitue un symbole OFDM. Le k-ime train de symboles parmi les N trains module un signal de frquence fk. Le signal modul du train k s'crit sous forme complexe : Le signal total s(t) correspondant l'ensemble des N symboles rassembls en un symbole OFDM :

c0

c1

b0, b1, Elments

MAQ 2q

c0,

c1 ,

c2

. .
cN-1

. .

Symbole s OFDM

Figure 1.1 : Schma de principe du modulateur OFDM.

Chapitre 1 : Principe des systmes 7 Les frquences sont orthogonales si l'espace entre deux frquences adjacentes fk et fk+1 est 1/Ts. En effet, chaque porteuse modulant un symbole pendant une fentre rectangulaire temporelle de dure Ts, son spectre en frquence est un sinus cardinal, qui est une fonction qui s'annule tous les multiples de 1/Ts. fk = f0 + k/Ts (1.2)

Figure 1.2 : Spectre en sortie du modulateur OFDM.

Ainsi, lorsque l'chantillonnage est effectu prcisment la frquence fk d'une sous-porteuse, il n'y a aucune interfrence avec les autres sous-porteuses. C'est ce qui permet de recouvrir les spectres des diffrentes porteuses et d'obtenir ainsi une occupation optimale du spectre. Le nombre de sous-porteuses N est choisi de manire remplir les deux conditions primordiales Ts >> Tm afin de pouvoir considrer le canal plat et Ts << 1/Bd pour considrer le canal statique pendant la transmission du symbole OFDM [1].

Chapitre 1 : Principe des systmes 8

1.2.2. P RINCIPE

DE LA DEMODULATION

Le signal parvenu au rcepteur s'crit sur une dure symbole Ts :

O Hk (t) est la fonction de transfert du canal autour de la frquence fk et l'instant t. Cette fonction varie lentement et on peut la supposer constante sur la priode Ts (Ts<<1/Bd) .La dmodulation classique consisterait dmoduler le signal suivant les N sous-porteuses suivant le schma classique dtaill dans la figure 1.3.

Filtre

Filtre

y(t)

Filtre

Figure 1.3 : Schma de principe du dmodulateur OFDM.

Chapitre 1 : Principe des systmes 9

1.2.3. T ECHNIQUES D ' IMPLEMENTATION

DES MODULATEURS

OFDM

L'analyse algbrique indique que le signal de sortie s(t) est sous la forme :

En discrtisant ce signal et en le ramenant en bande de base pour l'tude numrique, on obtient une sortie s(n) sous la forme :

Les sn sont donc obtenus par une transforme de Fourier inverse discrte des ck. En choisissant le nombre de porteuses N tel que N = 2n, le calcul de la transforme de Fourier inverse se simplifie et peut se calculer par une simple IFFT [2] nous conduisant au schma numrique suivant :

C0( C1( C( S/P CNIFFT P/S

Figure 1.4 : Modulateur OFDM numrique.

Chapitre 1 : Principe des systmes 10

1.2.4. I MPLANTATION

NUMERIQUE DU DEMODULATEUR

L'analyse thorique dfinit le signal discrtis reu au niveau du dmodulateur sous la forme :

zn est la transforme de Fourier discrte inverse de ck Hk , la dmodulation consiste donc effectuer une transforme de Fourier directe discrte. Le nombre de porteuses ayant t choisi tel que N = 2n, on peut raliser ce calcul l'aide d'une FFT[2]. On obtient alors le schma de principe suivant :

C0( nTs S/P FFT CNC1( P/S Zn

Figure 1.5 : Dmodulateur OFDM numrique.

1.2.5. E GALISATION

ET SEQUENCES D ' APPRENTISSAGE

La connaissance des Hk (t) qui caractrisent chaque canal est ncessaire l'galisation dans la dmodulation OFDM. Le processus visant dcouvrir les paramtres du canal est appel estimation du canal. Il s'effectue par la transmission de squences d'apprentissage sur diffrentes frquences et diffrents instants. Le systme de transmission devient dynamique et beaucoup plus complexe modliser.

Chapitre 1 : Principe des systmes 11

1.2.6. I NTERVALLE

DE GARDE

Un des grands avantages de lOFDM est sa robustesse vis--vis des canaux slectifs en frquence. En divisant le flux de donnes en N sous-porteuses, la dure symbole est N fois plus grande. Ainsi le rapport dlai canal/dure symbole est rduit par le mme facteur. Limpact de linterfrence entre symboles (IES) est donc considrablement affaibli [2]. Cependant, il peut subsister une lgre interfrence entre les symboles OFDM. En effet, les symboles subissent des chos et un symbole mis parvient au rcepteur sous forme de plusieurs symboles attnus et retards. Un symbole mis lors dune priode iTs peut se superposer un cho provenant du symbole mis la priode (i+1)Ts. Pour rsister contre ces interfrences, on ajoute un intervalle de garde dune dure comme lindique la figure (1.6).

Intervalle

de

Symbole

Symbole

Symbole

Figure 1.6 : Intervalle de garde pour les symboles OFDM.

Afin que les interfrences soient limines, il faut que lintervalle de garde soit plus grand que le plus grand des retards Tm qui apparaissent sur le canal. En pratique, on choisit lintervalle de garde de dure gale au quart du temps symbole OFDM, ce qui reprsente un bon compromis entre la diminution des erreurs et la perte du dbit utile. Suite lintroduction de l'intervalle de garde, on peut reprsenter les diffrentes tapes de la modulation OFDM par le schma bloc de la figure 1.7 [2] :

Chapitre 1 : Principe des systmes 12

S1 Sp

S/

IFFT

Ajout prfixe cyclique

P/S

Filtre dmissio

Cana 1/T P/S

P/

FFT

Retrait prfixe

Filtre de rceptio

Figure 1.7 : Emetteur et rcepteur OFDM.

La figure 1.8 illustre un exemple d'utilisation de la modulation OFDM dans une chaine de transmission WIFI 802.11a [3].

Emetteur

Flux dentre 36

FEC Sortie 48

Modulation 16 QAM Sortie 12

S/P 48 bandes 250 kBaud

IFFT 64 points

P/S Sortie 64 bandes

DAC

Rcepteur
S/P Sortie 64 bandes
P/S 48 bandes 250 kBaud Dmodulatio n 16 QAM Sortie 48 MHz Flux de sortie 36 Mbit/s

ADC

FFT 64 points

FEC Sortie 36

Figure 1.8 : Schma bloc metteur et rcepteur 802.11a.

Chapitre 1 : Principe des systmes 13

1.3. F AIBLESSES DE LA FORME D ONDE RECTANGULAIRE DE L OFDM


Les systmes OFDM utilisent des impulsions rectangulaires en racine de NYQUIST pour permettre une transmission avec une efficacit spectrale optimale. Les impulsions rectangulaires en temps ne sont pas bien localises en frquence. Cette mauvaise localisation frquentielle va largement influer sur lorthogonalit entre les sous-porteuses surtout si le canal prsente des variations temporelles svres dues des dcalages Doppler importants. De plus, une mauvaise localisation en frquence peut augmenter la sensibilit aux offsets frquentiels. Pour combattre ces points faibles, plusieurs travaux [4],[5] [6] et [7] ont t raliss pour mettre en uvre une forme d'onde optimale l'mission et une autre forme d'onde optimale la rception offrant une bonne localisation dans le plan temps-frquence en exploitant les proprits des bonnes concentrations des fonctions dHERMITE. On parle ainsi de BFDM (Biorthogonal Frequency Division Multiplexing) parce que la forme d'onde de l'metteur est diffrente de celle du rcepteur. Les interfrences inter-porteuses dans la modulation OFDM sont engendres par deux principaux facteurs : loffset frquentiel et ltalement Doppler.

1.3.1. O FFSET

FREQUENTIEL

Loffset frquentiel rsulte de la diffrence entre loscillateur de lmetteur et celui du rcepteur. Deux effets destructifs sont engendrs par un offset frquentiel. Lun consiste en la rduction de lamplitude du signal puisque les fonctions sinus cardinal (transforme de Fourier de la forme rectangulaire) sont dcales et ne sont plus donc chantillonnes aux pics. Lautre effet est lintroduction dinterfrences inter-porteuses rsultant de la perte dorthogonalit entre les sous-canaux. LOFDM est trs vulnrable loffset frquentiel dus des problmes de synchronisation. Cette sensibilit est affecte par la dure plus longue des symboles OFDM.

Chapitre 1 : Principe des systmes 14

1.3.2. E FFET

DE L ETALEMENT

D OPPLER

En utilisant l'intervalle de garde cyclique, les sous-porteuses individuelles retrouvent leurs orthogonalits aprs suppression du prfixe. Cette orthogonalit est dtruite quand le canal varie temporellement et ses caractristiques changent durant la dure d'un symbole d'OFDM. Ces variations sont modlises par l'talement Doppler Doppler Spread . Ce dernier rsulte de la diffrence en frquences Doppler entre les diffrents trajets du canal. Il dcrit donc les changements alatoires dans le canal radio et peut tre considr comme rsultat de dplacement des usagers. L'talement Doppler rduit l'nergie utile dans chaque sous-porteuse et introduit de l'interfrence inter-canaux Inter Carrier Interference (ICI) due une perte dorthogonalit. Ces deux effets rduisent le rapport signal bruit SNR dans le rcepteur. La perte dorthogonalit saccentue avec lutilisation dune fonction denveloppe rectangulaire pour mettre en forme les symboles OFDM. En effet, lnergie stale sur tout laxe frquentiel ce qui va gnrer de plus en plus dinterfrences ICI sur les canaux dispersifs en frquence.

O PTIMISATION MODULATION BFDM

1.4.

DE

LA

FORME

D ' ONDE

POUR

LA

Pour rduire leffet du Doppler, on doit remplacer la forme donde rectangulaire trs tendue en frquence par une forme donde prsentant une meilleure localisation en frquence. On doit recourir une optimisation de la forme donde afin de rduire leffet de ltalement Doppler. Cette optimisation a t effectue sous forme de plusieurs projets qui ont eu lieu au sein de la socit Smart-Waves [4] et [5]. Le critre d'optimisation tait de maximiser le rapport signal sur interfrence (SIR) et l'opration consistait trouver la meilleure combinaison linaire des formes d'onde d'Hermite pour la construction de la forme d'onde optimale l'mission et la rception. Le choix des Hermites comme base lmentaire se justifie par la bonne localisation temp-frquence qu'offraient ces formes d'onde. Les simulations sous MATLAB effectus au sein de cette socit ont valid l'optimisation ralise et ont montr un gain de 10 dB par rapport la modulation OFDM conventionnelle prfixe cyclique (CPOFDM) pour un canal radio-mobile caractris par un Doppler important.

Chapitre 1 : Principe des systmes 15 De ce fait, nous pouvons ainsi passer l'implmentation hardware de cette solution de transmission BFDM avec forme d'onde optimise; ce qui constitue le sujet de ce projet de fin d'tude.

1.5. C ONCLUSION
Dans ce chapitre, nous avons prsent la technique de modulation OFDM avec ses avantages et ses limites. Nous avons ensuite enchan avec la prsentation de la solution BFDM avec forme d'onde optimise qui prsente le remde pour diminuer les interfrences dans le cas d'un canal variable dans le temps. Dans ce qui suit, nous allons passer la ralisation de la chane de transmission BFDM, savoir l'metteur et le rcepteur. Le chapitre suivant consiste donc dvelopper l'tape de conception qui a t effectue pour l'implmentation hardware de l'ensemble metteur, rcepteur BFDM.

16

Chapitre 2 : Conception de larchitecture de lmetteur/rcepteur BFDM

Chapitre 2 : Conception de larchitecture de 17

2.1. I NTRODUCTION

Limplmentation de la modulation multiporteuse est une tache difficile puisquelle est compose de plusieurs tages de modulation qui fonctionnent en parallle. Mais lutilisation de lFFT dans le rcepteur et de lIFFT dans lmetteur permet de rduire lordre de complexit du modulateur et du dmodulateur. Ainsi limplmentation dun metteur / rcepteur BFDM est dsormais ralisable sur un FPGA. On se propose donc dans ce chapitre dlaborer la conception de larchitecture de cet metteur / rcepteur BFDM. Pour cela, nous avons choisi dorganiser ce chapitre en deux parties. La premire prsentera la conception de l'metteur et la deuxime sera consacre au rcepteur.

2.2. C ONCEPTION DE L ' EMETTEUR BFDM

Tout dabord, nous allons laborer la conception gnrale de l'metteur en ralisant son tude fonctionnelle. Ensuite, nous dtaillerons chaque lment complexe de cette conception.

2.2.1. E TUDE

FONCTIONNELLE

Une premire approche pour effectuer ltude fonctionnelle de lmetteur serait de commencer par identifier ses entres et ses sorties. Considrons donc la figure 2.1.

Chapitre 2 : Conception de larchitecture de 18

Figure 2.1 : L'metteur BFDM vu de l'extrieur. On a donc trois entres dont une pour les donnes (Bitstream) et deux pour le contrle (Reset et clock). Le signal de sortie tant complexe, on va donc lui rserver deux sorties qui sont Iout et Qout et qui reprsentent respectivement la composante en phase et la composante en quadrature du signal la sortie de l'metteur. Avant dtre transmises, les donnes passent par trois phases principales qui sont le mapping, lIFFT et enfin le filtrage par projection sur la forme donde optimise. La figure 2.2 prsente le schma conceptuel de lmetteur.

Figure 2.2 : Schma bloc de la conception de l'metteur.

Chapitre 2 : Conception de larchitecture de 19 Nous avons connect lentre Reset tous les composants de l'metteur pour garantir l'utilisation efficace du reset asynchrone qui permet tout moment d'interrompre le fonctionnement de l'metteur et de le rinitialiser, c'est--dire de vider tous les registres internes dans cet metteur. Ensuite, en ce qui concerne le premier bloc travers lequel passe l'information et comme l'indique sont nom, le bloc Mapping est responsable de la modulation numrique du signal. Il permet de passer de l'espace binaire l'espace symbole complexe. On pourra choisir la modulation QPSK, QAM16 ou QAM64 Ce choix n'intervient pas au niveau de la conception gnrale de l'metteur et naffectera pas les autres blocs de lmetteur. Passons maintenant au bloc IFFT sur lequel se base la modulation multi-porteuse. Pour raliser cet tage, nous allons utiliser lIP XFFT de Xilinx [8] que nous avons gnr avec loutil COREGenerator[9]. Ce bloc est normalement cascad au bloc mapping . Mais pour pouvoir estimer le canal de transmission, nous allons utiliser la technique des symboles pilotes comme dans le cas des standards IEEE802.11a et IEEE802.16d [10]. Cette technique consiste mettre des symboles connus par le rcepteur des instants prcis et des sous porteuses bien dfinies. Ainsi, le rcepteur pourra estimer le canal en identifiant son effet sur les symboles pilotes. Pour mettre en uvre cette technique, nous avons choisi d'ajouter un bloc qui permet d'insrer les symboles pilotes et de slectionner (ou activer) les sous porteuses effectivement utilise de l'IFFT. Les symboles OFDM obtenus la sortie du bloc IFFT seront donc transfrs au bloc filtrage qui ralisera la projection de ces symboles sur la forme d'onde optimise dont nous avons parle dans le chapitre prcdent. Reste donc prciser que ces diffrents blocs, que nous venons de citer, ne fonctionnent pas tous avec la mme frquence d'horloge, d'o la ncessit d'ajouter un bloc gnrateur d'horloges qui comme son nom lindique, gnre plusieurs horloges parfaitement synchronises partir d'une seule horloge matre (Master Clock).

Chapitre 2 : Conception de larchitecture de 20

2.2.2. A RCHITECTURE

INTERNE DE L EMETTEUR

2.2.2.1. D E S C R I P T I O N

D E L IP

XFFT

DE

XILINX

Pour ltage responsable de lIFFT au niveau de lmetteur, nous utiliserons lIP XFFT de Xilinx. Cet tage admet cinq entres dont trois signaux de contrle (Reset, Clock et Enbl) et deux signaux de donnes (Iin et Qin). Ces sorties sont au nombre de trois (Iout, Qout et enbl). Nous devons choisir le type Pipelined, streaming I/O , parce que notre metteur doit garantir un fonctionnement continu cause des donnes qui se prsentent sous forme dun flux de bits (BitStream). Nous considrons un systme BFDM compos de 1024 sousporteuses. Donc nous choisissons une FFT de taille 1024. Le tableau extrait du Datasheet [9] de cet IP, prsent dans lannexe B, rsume les signaux dentre et de sortie de ce Core.

2.2.2.2. E T A G E

DE FILTRAGE

Pour effectuer la conception du bloc filtrage lmission, nous considrons les spcifications suivantes : Le rseau temps frquence sous-jacent au systme BFDM tudi repose sur une densit sous-critique. Ce qui se traduit par lingalit suivante : F*T > 1. Dans notre cas, on prend : F*T = 1,25. LIFFT est calcule sur 1024 chantillons. Donc 1/F correspond 1024 chantillons. La dure de limpulsion (forme donde), dorigine infinie, est tronque sur 8T (quivalent 10/F soit 10240 chantillons)

Lentre du bloc filtrage tant de taille 1/F = 1024 chantillons, la sortie sera de dure T = 1.25/F = 1.25*1024 = 1280 chantillons. La figure 2.3 illustre le droulement de lopration de filtrage :

Chapitre 2 : Conception de larchitecture de 21 0


Forme donde sans dcalage.

2T 3T

4T

5T

6T 7T

8T

S0

S1

S2

S3

S4

S5

S6

S7
RAM0 RAM1RAM2 RAM3 RAM4 RAM5RAM6 RAM7

Figure 2.3 : Schma explicatif de lopration de filtrage lmission.

Chapitre 2 : Conception de larchitecture de 22 Lentre correspond la sortie du bloc IFFT . on admet que cest un bloc de taille 1024 chantillons qui arrivent en srie sous forme de flux de donnes. On duplique ce symbole 10 fois et on multiplie le rsultat par la forme donde optimise enregistre dans une mmoire ROM de taille 10240 chantillons. Le rsultat de la multiplication est transfr une mmoire RAM qui a pour rle de stocker la somme de 8 multiplications successives pour former le signal mis (1280 chantillons) qui correspond une priode temporelle. A chaque fois quun nouveau symbole (1024 chantillons) arrive, on le duplique 10 fois et on dcale la forme donde dune priode T de faon circulaire (figure 2.3) avant deffectuer la multiplication. Ensuite, on accumule le rsultat de la multiplication dans un registre temporaire de longueur 10240 chantillons. Enfin, on transmet une partie de ce registre qui correspond dans cette figure lune des RAMi que lon vide aprs la transmission de son contenu. Ceci nous mne adopter la conception illustre dans la figure 2.4.

Chapitre 2 : Conception de larchitecture de 23

Figure 2.4 : Conception du bloc filtrage l'mission.

Chapitre 2 : Conception de larchitecture de 24


Lentre du bloc filtrage correspond comme on a dj dit la sortie du bloc IFFT , elle se prsente sous forme dchantillons successifs (I et Q) que nous allons adresser par un compteur (index), on duplique cet chantillon 10 fois (Ii avec i de 0 9) et on multiplie les chantillons dupliqus par les chantillons pris de la forme donde (note ) et stocks dans la rom et dont ladresse correspond index dcal (de faon circulaire) de i * 1/F et k * T avec k le numro du symbole IFFT (k allant de 0 7 ). Le rsultat de la multiplication sera transfr un buffer qui a pour rle daccumuler 8 rsultats conscutifs pour former le signal transmettre. Nous avons ajout un bloc parallle au buffer et qui comprend 8 mmoires RAMouti pour rorganiser la sortie du filtre pour des raisons de spcification car lentre est priodique de priode 1/F = 1024 chantillons et la sortie est priodique mais de priode T = 1280 chantillons. Cest aussi pour cette raison que le bloc filtrage ncessite deux signaux dhorloge (clk2 et clk3 (voir figure 2.2)).

2.2.2.3. S E L E C T I O N
PILOTES

D E S P O RT E U S E S A C T I V E S E T I N S E R T I O N D E S S Y M B O L E S

Ncessit de la slection des porteuses actives : Pour viter le repliement de spectre, on ne doit pas mettre de linformation sur toutes les porteuses de lIFFT. On doit donc slectionner certaines porteuses et dsactiver les autres. Autrement dit, on doit forcer intentionnellement lentre de certaines porteuses de lIFFT zro. Un autre problme que nous devons viter consiste la frquence nulle de lIFFT qui entrane un DC offset dans le cas des systmes utilisant une conversion directe cause des courants de fuite (leakage). Donc la porteuse centrale sera aussi dsactive. Utilit des symboles pilotes : Pour pouvoir estimer le canal de transmission au niveau du rcepteur, nous utiliserons la technique des symboles pilotes qui consiste insrer entre les donnes transmettre un certain nombre de symboles connus par lmetteur et le rcepteur des frquences bien dfinies. Cest de l que vient lide dintroduire un bloc dans lmetteur entre lIFFT et le bloc mapping et qui sera responsable de la slection des porteuses et de linsertion des symboles pilotes.

Chapitre 2 : Conception de larchitecture de 25 Afin de concevoir le bloc qui ralise ces taches, lide consisterait donc imaginer que ce bloc va lire lentre comme un flux de donnes qui arrivent en srie avec un rythme clock_in et introduire des zros ainsi que des symboles pilotes des endroits convenablement choisis entre les symboles donnes pour enfin former la sortie de ce bloc. Cette sortie doit tre contrle par un rythme clock_out plus rapide que celui de clock_in pour garantir le fonctionnement synchrone des blocs successifs. Autrement dit, clock_in correspond au rythme de lhorloge de sortie du bloc prcdent c'est-dire le bloc mapping et clock_out correspond au rythme de lhorloge du bloc IFFT. La figure 2.5 illustre le schma conceptuel du bloc Slection des porteuses et insertion des symboles pilotes .

Figure 2.5: Conception du bloc slection de porteuses et insertion des SP.

Pour choisir lemplacement des porteuses nulles et des symboles pilotes, nous nous sommes inspirs de lexemple de la modulation OFDM pour le Standard IEEE802.11a. Le tableau 2.1 prsente le nombre des symboles pilotes et des porteuses dsactives de lIFFT dans le cas de la modulation OFDM du standard IEEE802.11a ainsi que le systme que nous avons implment et la figure 2.6 dtaille leurs positions. Il sagit dun choix personnel mais le code sera gnrique et la modification des positions des symboles pilotes par lutilisateur sera simple.

Chapitre 2 : Conception de larchitecture de 26

IEEE802.11a Nbre de porteuses de lIFFT Nbre de porteuses dsactives Nbre de symboles pilotes Nbre de symboles data 64 12 4 48

Notre systme 1024 192 64 768

Tableau 2.1 : Nombre des SP et des porteuses dsactives de lIFFT.

76

79

80

83

86

86

89

92

92

96

99

99

102

60

62

62

64

66

66

68

70

70

72

74

74

76

25

27

27

29

31

31

33

35

35

37

39

39

41

31

34

63

94

12

15

16

19

22

22

25

25 41 Porteuses Symboles pilotes

51 60

76

102

Figure 2.6 : Disposition des SP et des porteuses dsactives.

Chapitre 2 : Conception de larchitecture de 27 2.2.2.4. E T A G E

D E MA P P I N G

Pour un choix de la modulation QAM16, lentre du bloc mapping tant le flux binaire, la sortie sera spare en deux signaux qui reprsentent la partie relle et imaginaire des symboles dduis partir du flux binaire. La figure 2.7 prsente la constellation de la modulation QAM16, passons maintenant la conception de ce bloc : dans lopration de mapping, nous identifions une partie qui ralise la sauvegarde de 4 bits successifs de lentre et une partie qui en fonction de ces 4 bits choisit la valeur du symbole numrique. Ceci nous a mens adopt la conception illustre par la figure 2.8 avec Iout et Qout sont respectivement la partie relle et imaginaire du symbole la sortie de ce bloc.

Figure 2.7 : constellation de la modulation QAM16.

Chapitre 2 : Conception de larchitecture de 28

Figure 2.8 : Schma conceptuel du bloc Mapping.

2.2.2.5. G E N E R A T E U R

D H O RL O G E S

Aprs avoir conu les diffrents blocs de lmetteur, il nous reste garantir leur fonctionnement synchrone en prsentant chaque bloc le signal horloge qui lui convient. Pour numrer les diffrents signaux que nous devons gnrer, nous avons analys le fonctionnement de chacun des autres blocs et cette analyse nous a men gnrer 4 signaux de rythmes diffrents : clk1, clk2, clk3 et clk4 (figure 2.2). Les priodes de ces horloges sont relies entre elles par les quations suivantes :

T(clk4) = 0.8*T(clk3) T(clk3) = 0.75*T(clk2) T(clk2) = 4*T(clk1)

quation 2.1 quation 2.2 quation 2.3

Cette dernire est propre la modulation QAM16. Enfin, on ajoute lquation suivante : T(clk1) = *T(clk) quation 2.4

Chapitre 2 : Conception de larchitecture de 29 Limportance de cette quation est de permettre de dduire les diffrentes priodes des clki sous forme de multiple entier et pair de la priode T(clk) qui constitue le signal dentre de ce block. Un choix convenable de serait 10, ainsi on aura les relations suivantes entre les priodes des clki. T(clk1) = 10*T(clk) T(clk2) = 40*T(clk) T(clk3) = 30*T(clk) T(clk4) = 24*T(clk) quation 2.5 quation 2.6 quation 2.7 quation 2.8

Maintenant, aprs avoir dgag les relations entre les priodes des diffrentes horloges, nous pouvons passer llaboration de la solution conceptuelle du bloc gnrateur dhorloge. Pour cela, considrons lexemple de clk1, nous avons un signal horloge clk lentre et nous voulons gnrer un signal horloge 10 fois plus lent, on considre donc un compteur modulo 10 qui sincrmente chaque front montant de lhorloge dentre. Finalement, nous mettons zro le signal de sortie clk1 tant que le compteur est infrieur 5 et nous le forons un lorsque le compteur est entre 6 et 10. On voit ici la ncessit de choisir les priodes des horloges sous forme de multiple pair de celle de lhorloge dentre. Le mme raisonnement sapplique pour gnrer les autres horloges.

2.3. C ONCEPTION DU RECEPTEUR BFDM

Tout comme le plan adopt pour lmetteur, nous commencerons par laborer la conception gnrale du rcepteur pour ensuite dtailler les lments qui le constituent.

2.3.1. E TUDE

FONCTIONNELLE

Larchitecture du rcepteur est lgrement plus complexe que celle de lmetteur. En effet, dun ct tous les blocs de lmetteur sont reproduits au niveau du rcepteur pour effectuer le

Chapitre 2 : Conception de larchitecture de 30 traitement inverse afin de reconstruire le signal de dpart, et de lautre ct, nous devons ajouter des blocs supplmentaires qui seront responsables de la synchronisation, du calcul de leffet du canal sur la distorsion du signal et de la dcision sur les symboles reus. De ce fait, nous avons mis en uvre la conception illustre par la figure suivante. Il reste noter que les blocs Synchronisation et Estimation du canal ne seront pas implments dans le cadre de ce projet.

Bloc Bloc non

Figure 2.9 : Schma conceptuel du rcepteur.

2.3.2. A RCHITECTURE

INTERNE

Pour viter la rptition, nous allons nous contenter par rdiger la conception dtaille du bloc Extraction des symboles pilotes , du boc Dmapping et de ltage filtrage la rception .

2.3.2.1. E T A G E

D E F I L T R A G E A L A RE C E P T I O N

Lopration de filtrage du ct rcepteur est semblable celle de lmetteur quelques diffrences prs.

Chapitre 2 : Conception de larchitecture de 31 Tout dabord lentre est relie la sortie du bloc synchronisation et la sortie du bloc filtrage est relie au bloc FFT suivant : Le signal lentre est collect par bloc de 1280 chantillons successifs qui correspondent des symboles nots Si. Chaque symbole Si est dupliqu 8 fois avant dtre multipli par la forme donde propre au rcepteur. Le rsultat de la multiplication est transfr sur une RAM de taille 10240 chantillons qui ralisera laccumulation de 10 produits successifs pour former la sortie du bloc filtrage la rception libr par bloc de 1024 chantillons. La figure 2.10 prsente donc la conception du bloc filtrage la rception. , ce qui impose sur ce bloc le fonctionnement

Chapitre 2 : Conception de larchitecture de 32

Figure 2.10 : schma conceptuel du bloc filtrage la rception.

Chapitre 2 : Conception de larchitecture de 33 2.3.2.2. D E M A P P I N G

Le fonctionnement de ce bloc consiste lire les deux entres Iin et Qin, convertir ce symbole en un mot binaire et passer ce mot un process de sortie qui le libre bit par bit pour former le bitStream. Entre temps, le premier composant de ce bloc va lire le symbole suivant et ainsi de suite.

Figure 2.11 : Schma conceptuel du bloc Dmapping .

2.3.2.3. E X T R A C T I O N

DES

SYMBOLES PILOTES

Pour pouvoir extraire linformation et les symboles pilotes, nous avons choisit dadopter la conception illustre dans la figure 2.12. Lutilisation de deux types de RAM est justifie par le besoin de rcuprer partir du symbole BFDM constitu par 1024 chantillons 768 chantillons de donnes et 64 chantillons correspondants aux symboles pilotes reus. Donc, nous devons enregistrer les chantillons de donnes dans une RAM de profondeur 768 et les chantillons qui correspondent aux symboles pilotes dans une RAM de profondeur 64. Les signaux wena1 et wena2 sont des signaux de contrle de a RAM, ils permettent daccder la RAM en mode criture (write enable).

Chapitre 2 : Conception de larchitecture de 34 En consquence, nous utiliserons deux process de sortie : le premier servira sortir les chantillons de donnes un rythme dhorloge clk2 et le deuxime passera les symboles pilotes reus au bloc calculateur un rythme dhorloge clk_SP.

Reset

Clock_out

Clock_in

Data_in Process de lecture 1024 chantillons

data data
Mux

Data_out RAM1 : stocker les 768 chantillons Data Process de Sortie 1

index1 wena1

index0

SP index2 wena2
RAM 2 : stocker les 64 Symboles pilotes Process de Sortie 2

SP_out

Figure 2.12 : conception de ltage Extraction des SP .

2.4. C ONCLUSION
Dans ce chapitre, nous avons expos la conception gnrale de notre systme de transmission BFDM ainsi que son architecture interne en dtaillant les diffrents blocs ou modules qui le constituent. Le chapitre suivant prsentera limplmentation de ces diffrents modules et quelques captures dcrans expliquant la gnration du Core XFFT de Xilinx.

35

Chapitre 3 : Implmentation sur FPGA de lmetteur/rcepteur BFDM

Chapitre 3 : Implmentation de 36

3.1. I NTRODUCTION

Aprs avoir achev la phase de la conception de larchitecture de notre metteur et rcepteur BFDM, nous pouvons passer la mise en uvre de cette conception en exposant limplmentation des diffrents tages qui forment cet metteur/rcepteur. Mais avant cela, nous allons dcrire lenvironnement de travail et les outils qui nous ont permis de mettre en uvre la conception dj cite : Pour la ralisation de ce travail, nous avons utilis un PC Sharp IQON Core Duo 2.8Ghz, 448 Mo de RAM. Lenvironnement logiciel se compose de : ISE 8.1i de Xilinx. Xilinx Core Generator. ModelSim 6.0c. Matlab 7.0.

Avec cette configuration, et laide de ces outils, nous avons ralis limplmentation hardware de lmetteur/rcepteur BFDM que nous allons dcrire dans ce chapitre. Nous avons choisi de partager ce chapitre en deux sections. La premire dcrit limplmentation de lmetteur BFDM et la deuxime voquera celle du rcepteur.

Chapitre 3 : Implmentation de 37

3.2. I MPLEMENTATION SUR FPGA DE L EMETTEUR


3.2.1. E TAGE
DE

M APPING

Pour implmenter le bloc responsable de la modulation numrique QAM16, nous avons ralis les tches suivantes : Dclarer un signal compteur modulo 4. Dclarer un buffer de taille 4 bits. Ecrire un Process qui chaque front montant dhorloge lit la valeur lentre du BitStream et lenregistre dans le nime bit du buffer o n est la valeur du compteur. Lorsque le compteur atteint trois, un Process dtermine la valeur des outputs Iout et Qout en fonction du contenu du buffer et de la valeur du BitStream. Les tableaux suivants rsument les valeurs des sorties Iout et Qout en fonction des 4 bits successifs A3, A2, A1 et A0 :

A0 0 0 1 1

A1 0 1 0 1 Tableau 3.1 : Mapping, choix de Iout.

Iout 00 10 01 11

Chapitre 3 : Implmentation de 38

A2 0 0 1 1

A3 0 1 0 1 Tableau 3.2 : Mapping, choix de Qout.

Qout 11 01 10 00

Daprs ces deux tableaux, nous dduisons les quations qui relient Iout et Qout avec les Ai. Iout = A1 & A0 Qout = Not (A3 & A2) quation (3.1). quation (3.2).

O loprateur & est loprateur de concatnation binaire. Finalement, on ralise une extension de signe pour Iout et Qout pour les crire sur 8 bits car lIP XFFT de Xilinx exige que la taille des donnes lentre soit gale 8, 10, 12 ou 16 bits.

3.2.2. G ENERATION

ET CONFIGURATION DE L IP

XFFT

DE

X ILINX

En plus de lenvironnement de dveloppement ISE, Xilinx offre plusieurs outils comme Chip Viewer, Timing Analyzer, Xpower et CORE Generator. Nous avons utilis ce dernier pour gnrer lIP XFFT V3.1. Les tapes ncessaires pour effectuer cette opration sont dcrites par les figures 3.1, 3.2, 3.3 et 3.4.

Chapitre 3 : Implmentation de 39

Figure 3.1 : Interface de loutil Xilinx CORE Generator.

Au dmarrage de loutil, nous devons crer un nouveau projet. Le nom complet du projet ne doit pas contenir des espaces, si non loutil ne va pas pouvoir gnrer de core. Ensuite, on cherche le produit quon veut gnrer (dans notre cas Fast Fourier Transform ) et sur le volet de droit, on aperoit une brve description du produit ainsi que des liens qui permettent de personnaliser le core, consulter sa documentation et le rapport des erreurs Avant de commencer la personnalisation du core, on devrait bien consulter sa documentation (Data Sheet [7]) pour faire le bon choix parmi les paramtres qui sont proposs. En cliquant sur le lien Customize , on passe la phase personnalisation du core qui comprend trois tapes.

Chapitre 3 : Implmentation de 40

Figure 3.2 : Configuration du core XFFT, interface 1.

Dans cette interface, nous observons le schma logique du core avec ses diffrentes broches et nous devons configurer la taille et le type de lFFT ; le type Pipelined, Streaming I/O est celui qui nous convient puisquil permet de calculer la transforme de Fourier sans arrter le flux des symboles lentre. On passe maintenant la deuxime interface en cliquant sur le bouton Next .

Chapitre 3 : Implmentation de 41

Figure 3.3 : Configuration du core XFFT, interface 2.

La deuxime interface nous permet de choisir le nombre de bit sur lequel sont cods lentre et le facteur de phase (incrment de phase entre 2 porteuses successives, il correspond la valeur de 2/1024), nous activons la broche SCLR (Synchronous Clear) et nous choisissons les options Scaled et Truncation pour que la sortie de lFFT soit tronque sur 8 bits. La dernire interface de la configuration du core est illustre par la figure 3.4.

Chapitre 3 : Implmentation de 42

Figure 3.4 : Configuration du core XFFT, interface 3.

Finalement, nous slectionnons le nombre de stages qui utilisent des blocs Ram et nous prcisons que le core doit gnrer un output dans lordre naturel ou bien dans lordre bit Reverse (voir annexe A), le choix ordre naturel consomme une Ram supplmentaire. Ars avoir termin la phase de configuration du core, nous cliquons sur le bouton Generate et voil, nous venons de gnrer le core XFFT de Xilinx. Reste maintenant crer le fichier wrapper qui permet dinstancier le core et de linclure dans notre projet en affectant ces broches les signaux convenables.

Chapitre 3 : Implmentation de 43

3.2.3. F ILTRAGE

A L EMISSION

Ce bloc constitue la partie la plus complique de lmetteur. Pour limplmenter, nous avons cr ces fichiers : Index_gen.vhd : qui a pour rle de gnrer ladressage des entres Iin et Qin. Index_circ_gen.vhd : qui a pour rle de calculer ladresse correspondant celle des entres aprs un dcalage circulaire pour lutiliser au niveau de lextraction de la valeur de la forme donde. Rom_fi.vhd : cest une Rom dans laquelle nous avons sauvegard les valeurs des chantillons de la forme donde, on lui donne ladresse circulaire et elle nous fournie la valeur de lchantillon correspondant. Multiply_fi.vhd : permet de multiplier les entres Iin et Qin par la valeur de lchantillon de la forme donde fi_val. Fi_mul_i.vhd : rassemble les composants index_circ_gen, rom_fi et multiply_fi. My_buffer.vhd : Ram de taille 10240 chantillons qui accumule les rsultats de la multiplication de la forme donde par les copies des entres Iin et Qin, et qui envoie en sortie deux blocs de taille 1024 chantillons. Organizer.vhd : rcupre les deux blocs envoys par la Ram et construit la sortie qui correspond un bloc de 1280 chantillons. Ce bloc fonctionne avec deux rythmes dhorloge, un pour la lecture et un pour sortir les outputs Iout et Qout. Main_fi.vhd : le composant principal qui fait appel tous les composants quon vient de citer.

La figure 3.5 illustre la dclaration du composant index_circ_gen :

Chapitre 3 : Implmentation de 44

entity adress_circ is Port ( reset clk : in STD_LOGIC; : in STD_LOGIC;

iteration : in STD_LOGIC_VECTOR (3 downto 0); offset index : in STD_LOGIC_VECTOR (2 downto 0); : in STD_LOGIC_VECTOR (9 downto 0);

index_circ : out STD_LOGIC_VECTOR (13 downto 0)); end adress_circ;

Figure 3.5 : Extrait du code source de index_circ_gen.vhd

3.2.4. S ELECTION
PILOTES

DES

PORTEUSES

ET

INSERTION

DES

SYMBOLES

Pour raliser cet tage, nous avons cr les deux fichiers : Block_dram.vhd : ce composant est une dram qui comprend un process de lecture et un autre dcriture avec forage zro de la sortie pour les sous porteuses dsactives. Read_insert.vhd : ce composant comprend un process de lecture de lentre data_in au rythme de clock_in, un process Mux qui translate ladresse de lecture pour obtenir ladresse dcriture dans la dram et enfin un process de sortie qui libre la sortie forme par data_in, les symboles pilotes et les zros. La figure 3.6 prsente la dclaration du comosant block_dram.vhd .

Chapitre 3 : Implmentation de 45

entity blockdram is generic( depth : integer := 1024;

Dwidth : integer := 8; Awidth : integer := 10 ); port ( reset addra clk1 addrb clk2 : IN std_logic; : IN std_logic_VECTOR(Awidth-1 downto 0); : IN std_logic; -- pour l'criture dans le buffer : IN std_logic_VECTOR(Awidth-1 downto 0); : IN std_logic;-- pour la lecture

data_in : IN std_logic_VECTOR(Dwidth-1 downto 0); wea renabl : IN std_logic; : IN std_logic;

data_out: OUT std_logic_VECTOR(Dwidth-1 downto 0) ); end blockdram;

Figure 3.6 : Dclaration du composant Blockdram .

3.2.5. G ENERATEUR D ' HORLOGES


Le principe du gnrateur tant prsent dans le chapitre ddi la conception, et tant donn que la gnration des diffrentes horloges est ralise dune faon identique, il suffit donc de changer quelques paramtres pour obtenir un autre rythme dhorloge.

Chapitre 3 : Implmentation de 46

entity clk_gen is Port ( reset : in STD_LOGIC; start : in STD_LOGIC; clk : in STD_LOGIC; clk1 : out STD_LOGIC; clk2 : out STD_LOGIC; clk3 : out STD_LOGIC; clk4 : out STD_LOGIC); end clk_gen;

Figure 3.7 : Dclaration du composant clk_gen .

3.3. I MPLEMENTATION DU RECEPTEUR BFDM


Une fois limplmentation de lmetteur termine, la mise en uvre du rcepteur devient plus facile en raison de la ressemblance des codes de leurs composants. Pour ltage FFT, nous nallons pas rgnrer le core XFFT puisque parmi ces entres il y a la broche FWD_INV qui permet cet IP de fonctionner en mode direct (FFT) ou inverse (IFFT). Il suffit donc de copier le code du core gnr pour lmetteur et modifier dans le fichier wrapper la valeur attribue la broche FWD_INV . Nous allons donc commencer par exposer limplmentation de ltage de filtrage. Ensuite, nous passerons limplmentation des blocs Extraction des symboles pilotes et Dmapping .

Chapitre 3 : Implmentation de 47

3.3.1. E TAGE

DE FILTRAGE A LA RECEPTION

Limplmentation de ltage qui ralise lopration de filtrage la rception est semblable celle de lmetteur ; les diffrences entre ces deux blocs sont rsumes dans le tableau 3.3. Emission Nbre dchantillons lentre Nbre dchantillons la sortie Duplication du symbole lentre 1024 1280 10 fois Rception 1280 1024 8 fois

Tableau 3.3 : Diffrences dans le fonctionnement des tages de filtrage En plus de a, la forme donde lmission est diffrente de celle la rception donc nous devons crer une autre Rom pour sauvegarder les chantillons de la forme donde. Pour implmenter ltage de filtrage la rception selon la conception illustre dans la figure 2.10, nous avons tir profit des codes sources de lmetteur sur lesquels nous avons effectu les changements ncessaires pour les adapter au fonctionnement du rcepteur. La figure 3.8 expose la dclaration du composant Organizer .
entity organizer is Port ( reset clk clk2 add_in decalage I1 I2 Q1 Q2 start_trans data_out1 data_out2 end organizer; : in STD_LOGIC; : in STD_LOGIC; -- horloge pour l'input : in STD_LOGIC; -- horloge pour la sortie : in STD_LOGIC_VECTOR (10 downto 0) ; : in STD_LOGIC_VECTOR (3 downto 0) ; : in STD_LOGIC_VECTOR (19 downto 0) ; : in STD_LOGIC_VECTOR (19 downto 0) ; : in STD_LOGIC_VECTOR (19 downto 0) ; : in STD_LOGIC_VECTOR (19 downto 0) ; : out STD_LOGIC;

: out STD_LOGIC_VECTOR (19 downto 0) ; : out STD_LOGIC_VECTOR (19 downto 0));

Figure 3.8 : Dclaration du bloc Organizer .

Chapitre 3 : Implmentation de 48 Pour les autres composants, nous avons ralis beaucoup de changements pour pouvoir les adapter au contexte du filtrage la rception.

3.3.2. E XTRACTION

DES

S YMBOLES P ILOTES

Pour mettre en uvre ltage de lextraction des symboles pilotes, nous avons utilis deux RAM de tailles diffrentes, un multiplexeur, un process de lecture et deux process de sortie, le premier est responsable des chantillons de donnes et le deuxime libre en sortie les symboles pilotes. Le multiplexeur permet de : Calculer en fonction de ladresse dentre, ladresse dcriture dans la RAM des donnes appele addres_in1. Calculer en fonction de ladresse dentre, ladresse dcriture dans la RAM des symboles pilotes appele addres_in2. Slectionner et dslectionner les broches write enable des deux RAM que nous avons appeles wena_1 et wena_2. La figure 3.9 prsente la dclaration du bloc Slection des porteuses et extraction des SP .
entity read_extract is generic( Dwidth : ); Port ( reset start clk1 clk2 clk3 : in STD_LOGIC; : in STD_LOGIC; : in STD_LOGIC; : in STD_LOGIC; : in STD_LOGIC; integer := 8

data_inI : in STD_LOGIC_VECTOR (Dwidth - 1 downto 0); data_inQ : in STD_LOGIC_VECTOR (Dwidth - 1 downto 0); data_out1_I data_out1_Q data_out2_I data_out2_Q : out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);-- data : out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);

: out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);-- SP : out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);

Chapitre 3 : Implmentation de 49

output_index1 : out STD_LOGIC_VECTOR (10 downto 0);-- index des data output_index2 : out STD_LOGIC_VECTOR (6 downto 0);-- index des SP sonde_cmp enbl_next end read_extract; : out STD_LOGIC_VECTOR (9 downto 0);

: out STD_LOGIC);

Figure 3.9 : Dclaration du bloc Slection des porteuses et extraction des SP .

3.3.3. D EMAPPING
Pour raliser limplmentation de ltage responsable de la dmodulation numrique, nous avons choisi de crer deux process : Le premier est responsable de la lecture des entres Iin et Qin une frquence de lhorloge clk_in. Le deuxime convertie les symboles en un mot binaire compos de quatre bits et les libre en srie un rythme dhorloge clk_out qui est quatre fois plus rapide que celui de clk_in. Nous prsentons dans la figure 3.10 la dclaration du composant Dmapping .
entity demapping is Port ( reset start clk_in : in STD_LOGIC; clk_out : in STD_LOGIC; Iin Qin enbl_next bitstream end demapping; : in STD_LOGIC_VECTOR (7 downto 0); : in STD_LOGIC_VECTOR (7 downto 0); : out STD_LOGIC; : in STD_LOGIC; : in STD_LOGIC;

: out STD_LOGIC);

Figure 3.10 : Extrait du code de ltage Demapping

3.4. C ONCLUSION

Chapitre 3 : Implmentation de 50

Ainsi nous avons expos dans ce chapitre la ralisation de lmetteur/rcepteur BFDM en respectant la conception labore prcdemment. Il ne nous reste que de faire les tests de simulation afin de sassurer de son bon fonctionnement, cest ce qui sera lobjet du prochain chapitre.

51

Chapitre 4 : Simulation et Synthse de lmetteur/rcepteur BFDM

Conclusion et

52

4.1. Introduction
Aprs avoir achev limplmentation de lmetteur/rcepteur BFDM et pour valider le travail effectu, nous commencerons la phase de vrification du code par simulation en isolant chaque composant et en le stimulant par un testbench. La partie validation constitue le dernier volet de ce rapport. Elle est organise en deux sections. Nous prsenterons dans la premire les rsultats de simulation et dans la deuxime les rsultats de synthse de lmetteur/rcepteur BFDM.

4.2. R ESULTATS DE SIMULATION DE L ' EMETTEUR / RECEPTEUR BFDM


4.2.1. M APPING
ET

D EMAPPING

Ltage Mapping constitue le premier bloc que traverse linformation au niveau de lmetteur. Pour tester son fonctionnement, nous avons cr un testbench qui prsente au niveau de lentre bitStream la squence binaire suivante 1011100101001110 . Appliquons le principe de la modulation QAM16 : 1. Nous commenons par lire lentre par groupe de quatre bits, nous avons donc les mots suivant : 1011 , 1001 , 0100 et 1110 . 2. La conversion de ces mots donne : 1011 1001 0100 1110 Iout = 10 et Qout = 00 Iout = 10 et Qout = 10 Iout = 01 et Qout = 11 Iout = 11 et Qout = 01

3. Aprs lextension de signe nous obtiendrons les sorties successives suivantes :

i) Iout = 11111110 et Qout = 00000000

Conclusion et ii) Iout = 11111110 et Qout = 11111110 iii) Iout = 00000001 et Qout = 11111111 iv) Iout = 11111111 et Qout = 00000001

53

Le rsultat de simulation de ltage Mapping prsent dans la figure 4.1 est identique au rsultat quon vient de calculer. Nous avons ajout un signal la sortie de ce bloc qui est enbl_next_load , son utilit est dannoncer au bloc suivant le dbut du symbole avant un cycle dhorloge.

Figure 4.1 : Simulation de ltage Mapping .

Nous rcuprons la sortie de ce testbench (Iout et Qout) et nous crons un autre testbench pour simuler le fonctionnement du bloc Dmapping et nous appliquons aux entres Iin et Qin la sortie quon vient de rcuprer du premier testbench. Le rsultat de cette simulation comme le montre la figure 4.2 correspond bien la squence binaire initiale, c'est--dire : 1011100101001110 .

Figure 4.2 : Simulation de ltage Dmapping et visualisation du bitStream.

Conclusion et

54

4.2.2. S ELECTION ,

INSERTION ET EXTRACTION DES SYMBOLES PILOTES

Avant dexposer le rsultat de simulation du code responsable de la slection des sousporteuses et de linsertion des symboles pilotes, nous rappelons le principe de fonctionnement de ce bloc : Lentre de ce bloc est un symbole de donnes constitu par 768 chantillons successifs. Ce bloc insre 192 chantillons nuls au milieu du symbole de donnes. Il insre 64 chantillons correspondants aux symboles pilotes rpartis dans les positions dfinies dans la figure 2.6. La sortie de ce bloc est donc un symbole de taille 1024 chantillons composs de donnes, dchantillons nuls et de symboles pilotes. Du ct du rcepteur, le bloc Extraction des symboles pilotes ralise lopration inverse. Il permet dliminer les chantillons nuls et de rcuprer les donnes et les observations relatives aux symboles pilotes. Pour simuler le fonctionnement de ces deux blocs, nous avons cr deux testbenchs, le premier applique au bloc insertion des symboles pilotes un signal sinusodal et qui rcupre la sortie et lenregistre dans un fichier texte. Le deuxime testbench lit les chantillons data_ini partir du fichier texte et les applique lentre du bloc Extraction des symboles pilotes . Les symboles pilotes et les donnes seront spars et rcuprs respectivement dans les signaux data_out2i et data_out1i. Les figures 4.3 et 4.4 prsentent le rsultat de simulation des deux testbenchs.

Conclusion et

55

Figure 4.3 : Simulation du bloc insertion des symboles pilotes .

Figure 4.4 : Simulation du bloc Extraction des symboles pilotes .

Conclusion et

56

4.2.3. S IMULATION

DU

C ORE XFFT :

Etant donn que nous navons pas implment ltage responsable de la ralisation de la transforme de Fourier et que nous avons utilis lIP XFFT de Xilinx, nous devons raliser plusieurs simulations pour tre sr quil fonctionne et quil fournit le bon rsultat ; surtout que dans le rapport de cet IP (Information Report), il est mentionn que ce core ne fournit pas le bon rsultat avec la famille Virtex4. Nous avons donc test le core avec un signal entre constant {xn_re = 01000000 et xn_im = 00000000 } puis avec un signal sinus et enfin avec un signal Rect. Les rsultats de simulation concordent avec ceux des simulations ralises avec Matlab en prsence de quelques erreurs de quantification. La figure 4.5 prsente le rsultat de la simulation de lFFT dun signal Rect et la figure 4.6 correspond un zoom sur la rgion de dbut de la sortie de lFFT.

Figure 4.5 : Simulation du Core XFFT en mode Forward (i.e. FFT).

Figure 4.6 : Zoom sur le dbut de la sortie de lFFT.

Conclusion et

57

4.2.4. F ILTRAGE
Pour valider lopration de filtrage, nous avons ralis les tches suivantes : Crer un testbench qui appelle le composant principale du bloc filtrage (main_fi) et lui applique un signal constant de valeur 0.25 pour Iin et nul pour Qin. Rcuprer la sortie du bloc filtrage dans un fichier texte laide du testbench et grce la bibliothque Textio ; (nous avons test avec des sorties sur 8, 12 et 18 bits). Visionner avec Matlab le rsultat de filtrage en lisant les chantillons partir du fichier texte. Implmenter avec Matlab le bloc filtrage. Comparer les rsultats des deux implmentations. Lopration de vrification nous conduit la figure 4.7 (dans le cas du rsultat sur 18 bits).

Figure 4.7 : Superposition des courbes de filtrage. Si dans le code de filtrage avec Matlab on introduit leffet de quantification en quantifiant les chantillons de la forme donde sur 10 bits, on obtient deux courbes presque superposes. En

Conclusion et revanche, nous remarquons la prsence de trois faux chantillons qui rsulte du dpassement (overflow) lors de laddition sur un nombre de bits constant.

58

Figure 4.8 : introduction de leffet de quantification sur lopration de filtrage.

4.2.5. G ENERATEUR D HORLOGES


Le bloc gnrateur dhorloges permet de construire des signaux horloges synchroniss partir dun signal clock appliqu son entre. Le principe de la gnration dun rythme partir dun autre est dcrit dans le deuxime chapitre mais nous navons pas prcis limportance de la valeur initiale du compteur. Nous allons en premier lieu simuler le fonctionnement de ce bloc en initialisant les compteurs de tous les process 1. Ensuite nous allons calculer les bonnes valeurs initiales de chaque compteur et enfin nous prsenterons la simulation du bloc gnrateur dhorloges avec les initialisations convenables.

Conclusion et

59

Figure 4.9 : observation du dphasage entre les signaux horloges gnrs. Daprs cette figure, nous constatons : Le premier signal horloge qui passe ltat 1 est le signal clk1. On rappelle que sa priode T1 vrifie lquation suivante : T1 = 10 * T (clk). Le deuxime signal horloge, qui est clk4, prsente un retard de 7 * T (clk) par rapport clk1. Le troisime signal horloge est clk3, il prsente un retard de 10 * T (clk) par rapport clk1. Le dernier signal horloge est clk2, il prsente un retard de 15 * T (clk) par rapport clk1.

Pour corriger ce dfaut, nous allons annuler les retards des signaux horloges en translatant la valeur initiale du compteur de chaque process responsable de la gnration dun signal clki. Par exemple, la valeur initiale du compteur de clk2 est : Vi2 = 1 + (retard de clk2) = 16. Ainsi, les valeurs initiales des diffrents compteurs sont rsumes dans le tableau 4.1.

Signal horloge Clk1 Clk2 Clk3 Clk4

Valeur de Demi-priode 5 20 15 12

Retard considr 0 15 10 7

Valeur initiale 1 16 11 8

Tableau 4.1 : valeurs initiales des compteurs pour le gnrateur dhorloges.

Conclusion et Aprs la correction des valeurs initiales, nous obtenons des signaux horloges parfaitement synchroniss et qui commencent tous en mme temps. La nouvelle simulation du bloc gnrateur dhorloges se prsente dans la figure 4.10.

60

Figure 4.10 : simulation du gnrateur dhorloges.

4.3. R ESULTATS DE SYNTHESE DE L ' EMETTEUR / RECEPTEUR BFDM


Nous avons effectu a synthse en prenant en considration ce qui suit : Dabord notre systme demande des ressources qui dpassent les capacits dun circuit Spartan3 et qui ne sont disponibles que dans le circuit Virtex4. Le Core XFFT ne fonctionne pas correctement pour Virtex4 et si on le gnre pour une carte Spartan3, sa simulation donne un rsultat correct mais il nest pas synthtisable puisquil demande beaucoup plus de ressources que celles disponibles (le nombre de Multiplieurs18x18 offert est 4 alors que le core demande 12 multiplieurs voir la figure 3.4 ). Nous allons donc raliser la synthse des composants de lmetteur et du rcepteur sparment et nous exploiterons les rapports de consommation des ressources et le Timing Report pour dgager les dlais ou retard gnrs par notre code. Les tableaux gnrs par lISE pour rsumer la synthse des composants ont t recopis dans lannexe C.

Conclusion et

61

4.3.1. S YNTHESE

DE L ETAGE

M APPING

Daprs le tableau C.1, le bloc Mapping occupe 7 Slices parmi les 6144 Slices offertes par le circuit Virtex4 soit une occupation de 0.114%. Le rapport de synthse du bloc Mapping nous a permis de dgager la valeur de la priode minimale, elle est de 1.902 ns, ce qui fait que ce bloc peut fonctionner la frquence maximale : fmax = 525.762 MHz. La figure 4.11 illustre le schma RTL du bloc Mapping vu de lextrieur et la figure 4.12 prsente le Netlist de ce bloc.

Figure 4.11 : Schma RTL externe du bloc Mapping .

Conclusion et

62

Figure 4.12 : Schma RTL interne du bloc Mapping .

4.3.2. S YNTHESE

DE L ETAGE

D EMAPPING

Le bloc Demapping occupe 2 Slices parmi les 6144 Slices offertes par le circuit Virtex4 soit un pourcentage doccupation de 0.0325% (voir tableau C.2). Pour ce bloc, la valeur de la priode minimale est de 1.692 ns, et donc la frquence maximale est : fmax = 591.016 MHz. Le schma RTL externe du bloc Demapping est prsent dans la figure 4.13 et la figure 4.14 correspond au Netlist de ce bloc.

Conclusion et

63

Figure 4.13 : Schma RTL externe du bloc Demapping .

Figure 4.14 : Schma RTL interne du bloc Dmapping .

Conclusion et

64

4.3.3. S YNTHESE DES SP

DU BLOC

S ELECTION

DES PORTEUSES ET INSERTION

La synthse de ltage responsable de la slection des porteuses actives et de linsertion des symboles pilotes occupe 64 slices soit 1.042% des ressources de la virtex4 et elle consomme aussi 2 FIFO16/RAMB16s parmi les 48 disponibles soit un pourcentage de 4.17%. La valeur de la priode minimale est de 5.181 ns, et donc la frquence maximale est : fmax = 193.013 MHz. La figure 4.15 illustre le schma RTL externe du bloc Slection des porteuses et insertion des SP et la figure 4.16 prsente le Netlist du composant block_dram qui est un composant inclus dans larchitecture de ltage de slection et insertion des symboles pilotes.

Figure 4.15 : Schma RTL externe du bloc Slection des porteuses et insertion des SP .

Conclusion et

65

Figure 4.16 : Schma RTL interne du composant Block_dram.

4.3.4.

S YNTHESE DU EXTRACTION DES SP

BLOC

S ELECTION

DES

PORTEUSES

ET

Cet tage qui appartient au rcepteur occupe 160 Slices parmi les 6144 donc 2.606% des Slices disponibles et il rserve 4 FIFO16/RAMB16s parmi les 48 RAMB16s prsentes dans la Virtex4. La valeur de la priode minimale est de 4.492 ns, et donc la frquence maximale est : fmax = 222.618 MHz. Le schma RTL externe de ce bloc est prsent dans la figure 4.17

Conclusion et

66

Figure 4.17 : Schma RTL externe du bloc Slection des porteuses et extraction des SP .

4.3.5. S YNTHESE

DU BLOC

G ENERATEUR D HORLOGES

Aprs sa synthse, le composant clock_generator consomme 21 Slices parmi les 6144 disponibles c'est--dire 0.342% des ressources du circuit. Sa priode minimale de fonctionnement tant 2.247 ns donc ce bloc peut fonctionner une frquence maximale : fmax = 445.038 MHz. Puisque ce composant est responsable de la gnration des horloges ncessaires pour le fonctionnement de lmetteur et du rcepteur, et le signal clk est plus rapide que tous les autres signaux horloges (clk1, clk2, clk3 et clk4) donc sa frquence de fonctionnement maximale va dcider de la valeur des frquences de fonctionnement des autres blocs. Daprs les quations (2.5), (2.6), (2.7) et (2.8) nous dduisons les frquences de fonctionnement des blocs clk_generator (f), mapping (f1), Slection des porteuses et insertion des SP (f2 et f3), IFFT (f3) et filtrage (f3 et f4).

Conclusion et

67

Le schma RTL externe de ce bloc est dcrit dans la figure 4.18.

Figure 4.18 : Schma RTL externe du bloc Gnrateur dhorloges

Conclusion et

68

4.3.6. S YNTHESE

DU BLOC

F ILTRAGE

Parmi les composants du bloc filtrage, nous avons deux qui ne sont pas synthtisables, il sagit de mybuffer.vhd et organizer.vhd . Le problme est que le compilateur narrive pas identifier les composants FIFO/RAM lintrieur du code vu sa complexit. Pour corriger cette erreur, nous devrons simplifier le code de mybuffer et de lorganizer en sparant les traitements dadressage et daccs la partie RAM. Cette correction devrait rendre le code synthtisable puisque les deux composants demandent ensemble 24 RAMs de taille 1024 chantillons et 2 RAMs de taille 1280 chantillons du ct de lmetteur alors que le filtrage la rception demande 20 RAMs de taille 1280 chantillons et 2 RAMs de taille 1024 chantillons. Nous avons donc ralis la synthse des composants : Addres_generator (tableau C.6) Fi_mul_i (tableau C.7) qui regroupe les composants : o Addres_circ_gen. o Import_fi : la ROM o sont stocks les chantillons de la forme donde. o Multiply_fi : qui ralise la multiplication des entres (Iin et Qin) par la forme donde et tronque le rsultat sur la taille de la sortie quon veut obtenir. Le composant fi_mul_i consomme 1177 Slices parmi les 6144 disponibles c'est--dire 19.157% des ressources du circuit. Sa priode minimale de fonctionnement tant 6.274 ns donc ce bloc peut fonctionner une frquence maximale : fmax = 159.388 MHz. Le schma RTL externe de ce bloc est dcrit dans la figure 4.19.

Conclusion et

69

Figure 4.19 : Schma RTL externe du bloc Fi_mul_i .

Nous rcapitulons dans le tableau 4.2 les rsultats de synthse des diffrents blocs de lmetteur/rcepteur BFDM.

Dsignation

Occupation en termes de ressources 7 Slices 2 Slices 64 Slices et 2 RAMs 160 Slices et 4 RAMs 21 Slices 83 Slices 1177 Slices

Frquence maximale possible 525.762 MHz 591.016 MHz 193.013 MHz 222.618 MHz 445.038 MHz 159.388 MHz 159.388 MHz

Frquences de fonctionnement 44.5 MHz 11.3 MHz et 44.5 MHz 11.13 MHz et 14.83 MHz 11.13 MHz et 14.83 MHz 445 MHz 14.83 MHz et 18.54 MHz 14.83 MHz et 18.54 MHz

Mapping Dmapping Insertion des SP Extraction des SP Gnrateur dhorloges Filtrage \ addres_gen Filtrage \fi_mul_i

Tableau 4.2 : Rcapitulation des rsultats de synthse

Conclusion et

70

4.4. C ONCLUSION
La phase de validation de limplmentation est une phase importante et demande beaucoup plus de temps que les autres phases du travail. Elle permet de dtecter et de corriger les erreurs grce la simulation RTL. Dans ce dernier chapitre nous avons simul le fonctionnement des blocs constituants lmetteur et le rcepteur BFDM implments, cette simulation a permis de confirmer la validit du code implment. En deuxime lieu, nous avons prsent le rsultat de synthse des diffrents tages de lmetteur/rcepteur ; cela nous a men conclure quil reste encore optimiser le code de certains composants du bloc filtrage pour obtenir un metteur BFDM synthtisable sur FPGA et pareillement pour le rcepteur.

Conclusion et

71

Conclusion et Perspectives

Dans le prsent mmoire, nous avons commenc par tudier les techniques de modulation OFDM/BFDM, leur principe, la mthode de leur implantation numrique et les limites de la modulation OFDM conventionnelle. Nous avons ensuite labor dans le deuxime chapitre la conception de notre systme BFDM, savoir lmetteur et le rcepteur, en dtaillant les diffrents tages qui les constituent. Le troisime chapitre a t consacr la prsentation de limplmentation ralise. Enfin, grce la simulation RTL effectue avec loutil ModelSim, nous avons observ le fonctionnement des composants de lmetteur et du rcepteur dans le but de valider le code VHDL crit. La synthse de ces composants a rvl la prsence de dfauts au niveau du code de deux composants du bloc filtrage. Ces codes restent donc optimiser pour pouvoir les synthtiser sur FPGA. Le projet dimplantation du systme BFDM ne sarrte donc pas l. Les prochaines tapes seraient doptimiser le code de ltage de filtrage et dimplmenter les blocs responsables de lestimation du canal, de lgalisation frquentielle et de la synchronisation temporelle. Ainsi nous obtiendrons un systme complet capable de concurrencer et de devancer les solutions de tlcommunication prsents sur le march actuel des TIC.

72

Bibliographie

[1] G. BAUDOIN, Radiocommunications numriques, Tome 1 : Principes, modlisation et simulation, Dunod Electronique, 2002.

[2] J.H. STOTT, The how and why of COFDM , EBU Technical Review, 1998.

[3] B. ESCRIG Communications Numriques, cours, ENSEIRB, Septembre 2005.

[4] N.Debbabi, M.Siala and H.Boujema, Optimization of the OFDM prototype waveform for highly time and frequency dispersive channels through a maximization of the SIR. , Sup'Com, Tunis, 2005.

[5] I.NASRI, Etude des performances des systmes OFDM/BFDM avec formes d'onde optimises dans le cadre de canaux radio-mobiles slectifs en temps et en frquence. , Rapport de Mastre, Ecole Polytechnique de Tunisie, 2007.

[6] M. Siala, Optimisation de la forme d'onde d'un systme OFDM. , Rapport interne Smart-Waves, Sup'Com, Tunis, 2005.

73 [7] D.SCHAFHUBER, G.MATZ et F.HLWATSCH, Pulse-shaping OFDM/BFDM Systems for Time-Varying Channels: ISI/ICI analysis, Optimal Pulse Design and Efficient Implementation, IEEE PIMRC, 2002.

[8] Xilinx LogiCORE, Fast Fourier Transform , Data Sheet of the CORE : XFFT V3.1, 2004.

[9] Rfrence web : Assistance en ligne, http://www.xilinx.com/.

[10] IEEE Std 802.16e, Amendment and Corrigendum to IEEE Std 802.16-2004/Cor-2005.

[11] A.Pedroni, Circuit Design With VHDL , Volnei E-Book, 2004.

Annex

74

Annexe A : Caractrisation de lenvironnement Radiomobile

Gnralement, la propagation en environnement radio-mobile est perturbe par trois types de variations : grande, moyenne et petite chelle. Ces variations sont dues des mcanismes de base qui affectent la propagation du signal en environnement radio-mobile comme la rflexion et la diffusion.

1. L ES

VARIATIONS A GRANDE ET MOYENNE ECHELLE

Les variations grande et moyenne chelle se manifestent par laffaiblissement de parcours et les fluctuations lentes du signal autour de la moyenne. Il est exprim par l'quation a1.1

O d > d0 et d0 est une distance de rfrence, sa valeur est variable en fonction du type de lenvironnement tudi : macro cellule, micro cellule, pico cellule, la valeur de n dpend de la

Annex

75

frquence, de la hauteur de lantenne et de lenvironnement de propagation. Dans lespace libre, n est gnralement gal deux. Et enfin, X est une variable alatoire gaussienne de moyenne nulle avec un cart type gal .

2. L ES

VARIATIONS A PETITE ECHELLE

Les variations petite chelle rfrent aux changements de lamplitude et de la phase du signal reu causs par des petites variations (de lordre de la longueur d'onde). Les variations petite chelle se manifestent de deux manires : la dispersion du signal dans le temps et laspect changeant du canal au cours du temps. En ce qui concerne la dispersion du signal, on distingue entre canal slectif en frquence et non slectif en frquence. Pour laspect changeant du canal au cours du temps, on distingue entre fading rapide et fading lent.

3. M ODELE

DE CANAL

Pour caractriser le canal radio-mobile, on peut utiliser deux modles de canaux : - canal invariant dans le temps - canal variable dans le temps modle statique. modle dynamique.

3.1. M O D E L E

STATIQUE DU CANAL RADIO-MOBILE

La rponse impulsionnelle dun canal multi-trajets est donne par l'quation a1.2

O L est le nombre de trajets, l est le dlai du trajet l, l son amplitude et l sa phase.

Annex

76

On dfinit le dlai maximum Tm : le retard que met le signal qui parcourt le chemin le plus long par rapport celui qui parcourt le chemin le plus court. En comparant Tm et le temps symbole Ts, on pourra dire qu'il s'agit d'un canal slectif en frquence ou bien le canal est fading plat. Donc deux cas se prsentent : - Tm > Ts : le canal est dit slectif en frquence ce qui donne lieu des interfrences entre symboles (IES). - Tm < Ts : le canal est considr dans ce cas fading plat, c'est--dire que les copies d'un symbole transmis et qui parcourent diffrents chemins arrivent tous durant la priode symbole. Dans ce cas l, on n'a pas d'IES.

On dfinit galement la bande de cohrence Bc comme la bande de frquence pour la quelle le canal prsente une rponse constante Soit Bs = 1/Ts la bande occupe par le signal utile, on dit que : le canal est slectif en frquence si Bs << Bc . le canal est non slectif en frquence ou fading plat (frequency non selective) si Bs>> Bc. Pour viter lIES induite par le canal, le canal doit montrer un vanouissement plat en assurant que Bc << 1/Ts.

3.2. M O D E L E

D Y N A MI Q U E D U C A N A L R A D I O - M O B I L E

Passons maintenant une autre proprit du canal radio-mobile; cause du mouvement du rcepteur par rapport lmetteur qui entrane le changement des parcours de propagation du signal, le canal est aperu par le rcepteur comme un canal variable au cours du temps. Ainsi, la rponse impulsionnelle du canal sera modlise par lexpression :

Annex

77

Afin de caractriser l'volution temporelle du canal, on dfinira deux paramtres qui sont l'talement Doppler et le temps de cohrence. Supposons qu'un signal est mis la frquence fe. A cause de la mobilit du rcepteur, il sera reu la frquence fr = fe + fd, o fd est le dcalage Doppler dfini par :

Avec v, fe, c et d sont respectivement la vitesse du mobile, la frquence du signal mis, la clrit de la lumire et langle darrive entre londe incidente et le vecteur vitesse du mobile. Donc, l'talement Doppler ou la bande Doppler est donn par l'quation (a1.5)

Un canal est considr fading rapide si la bande occupe par le signal Bs est infrieure la frquence Doppler. Inversement, un canal est fading lent si Bs> fd. Tout comme la bande de cohrence, on dfinit le temps de cohrence Tc , qui caractrise la dispersion frquentielle du canal. Cette valeur est la dure pendant laquelle la rponse impulsionnelle du canal peut tre considre comme constante ou stationnaire. Ce paramtre est crucial dans la modlisation dun systme de communication radio-mobile. En effet, il dtermine la dure pendant laquelle lestimation du canal est toujours acceptable. Si la dure de la transmission dpasse le temps de cohrence, il est ncessaire de r-stimer le canal. Le mcanisme de rapidit des vanouissements du canal induit une classification de canaux en deux types: canaux fading rapide et dautres fading lent. Le terme fading rapide est utilis pour qualifier les canaux pour lesquels Tc < Ts. Un canal est vanouissement lent lorsque Tc > Ts. Ici, la dure pendant laquelle le canal se comporte de manire corrle est longue en comparaison la dure symbole. Dans ce cas, le

Annex

78

canal peut rester invariant durant la priode de transmission dun ou de plusieurs symboles successifs.

Annex

79

Annexe B : Le CORE XFFT de Xilinx

Annex

80

Figure : les broches du CORE XFFT

Nom XN_RE XN_IM START UNLOAD NFFT NFFT_WE FWD_INV FWD_INV_WE SCALE_SCH

Largeur 8 8 1 1 5 1 1 1 2*E(NFFT/2)

Direction In In In In In In In In In

SCALE_SCH_WE SCLR CE CLK XK_RE[(B-1):0] XK_IM[(B-1):0] XN_INDEX XK_INDEX RFD

1 1 1 1 8 8 10 10 1

In In In In Out Out Out Out Out

Description Donnes, partie relle Donnes, partie imaginaire Dbut du calcul, actif niveau haut Pas ncessaire dans le cas Pipelined/Streaming IO Nombre de porteuses en puissance de 2. Dans notre cas cest 10 Validation de NFFT Fonctionnement FFT ou IFFT Validation de FWD_INV Programme de troncature, la squence convenable pour lFFT de taille 1024 est [1010101011] Validation de SCALE_SCH Reset synchrone Validation de CLK Signal horloge Sortie calcule, composante relle Sortie calcule, composante imaginaire Index de lentre Index de la sortie Ready for data

Annex

81

BUSY DV EDONE DONE BLK_EXP OVFLO

Indique que le core est entrain de calculer la transforme 1 Out Indique que la sortie est valide 1 Out Prcde DONE dune priode CLK. 1 Out Indique le dbut et la fin dun bloc calcul la sortie du core 5 Out Lorsquon travaille avec virgule flottante 1 Out Indique la prsence dun dpassement Tableau B.1 : Rsum des broches du core XFFT

Out

Annex

82

Annexe C : Rapports de synthse


MAPPING Project Status mapping.ise Programming File Generated Current State: Errors: mapping xc4vlx15-12sf363

Project File: Module Name: Target Device:

Warnings: Updated: mar. 12. juin 12:28:54 2007

Product Version: ISE, 8.1i

Logic Utilization Number of Slice Flip Flops Number of 4 input LUTs Logic Distribution Number of occupied Slices 7 6,144 Number of Slices containing only related logic 7 7 Number of Slices containing unrelated logic 0 7 12 12,288 Total Number of 4 input LUTs Number of bonded IOBs 22 240 Number of BUFG/BUFGCTRLs 1 32 Number used as BUFGs 1 Number used as BUFGCTRLs 0 160 Total equivalent gate count for design Additional JTAG gate count for IOBs 1,056 Tableau C.1 : Synthse du bloc Mapping

Device Utilization Summary Used Available Utilization Note(s) 9 12,288 1% 12 12,288 1% 1% 100% 0% 1% 9% 3%

Annex

83

Project File: Module Name: Target Device:

DEMAPPING Project Status demapping.ise Placed and Routed Current State: Errors: No Errors demapping xc4vlx15-12sf363

Warnings: Updated:

5 Warnings (5 new, 0 filtered) mar. 12. juin 12:34:29 2007

Product Version: ISE, 8.1i

Logic Utilization Number of Slice Flip Flops Number of 4 input LUTs Logic Distribution Number of occupied Slices 2 6,144 Number of Slices containing only related logic 2 2 Number of Slices containing unrelated logic 0 2 3 12,288 Total Number of 4 input LUTs Number of bonded IOBs 9 240 Number of BUFG/BUFGCTRLs 1 32 Number used as BUFGs 1 Number used as BUFGCTRLs 0 53 Total equivalent gate count for design Additional JTAG gate count for IOBs 432 Tableau C.2 : Synthse du bloc Dmapping

Device Utilization Summary Used Available Utilization Note(s) 2 12,288 1% 3 12,288 1% 1% 100% 0% 1% 3% 3%

Annex

84

Project File: Module Name: Target Device:

INSERTION Project Status insertion.ise Programming File Generated Current State: Errors: No Errors read_insert xc4vlx15-12sf363

Warnings: Updated:

1 Warning mer. 13. juin 00:58:17 2007

Product Version: ISE, 8.1i

Logic Utilization Number of Slice Flip Flops Number of 4 input LUTs Logic Distribution Number of occupied Slices 64 6,144 1% Number of Slices containing only related logic 64 64 100% Number of Slices containing unrelated logic 0 64 0% 101 12,288 1% Total Number 4 input LUTs Number used as logic 100 Number used as a route-thru 1 Number of bonded IOBs 47 240 19% Number of BUFG/BUFGCTRLs 2 32 6% Number used as BUFGs 2 Number used as BUFGCTRLs 0 Number of FIFO16/RAMB16s 2 48 4% Number used as FIFO16s 0 Number used as RAMB16s 2 1,070 Total equivalent gate count for design Additional JTAG gate count for IOBs 2,256 Tableau C.3 : Synthse du bloc Slection des porteuses et insertion des SP

Device Utilization Summary Used Available Utilization Note(s) 41 12,288 1% 100 12,288 1%

Annex

85

Project File: Module Name: Target Device:

EXTRACTION Project Status extraction.ise Programming File Generated Current State: Errors: No Errors read_extract xc4vlx15-12sf363

Warnings: Updated:

43 Warnings mer. 13. juin 00:53:49 2007

Product Version: ISE, 8.1i

Logic Utilization Number of Slice Flip Flops Number of 4 input LUTs Logic Distribution Number of occupied Slices 160 6,144 2% Number of Slices containing only related logic 160 160 100% Number of Slices containing unrelated logic 0 160 0% 289 12,288 2% Total Number of 4 input LUTs Number of bonded IOBs 82 240 34% Number of BUFG/BUFGCTRLs 3 32 9% Number used as BUFGs 3 Number used as BUFGCTRLs 0 Number of FIFO16/RAMB16s 4 48 8% Number used as FIFO16s 0 Number used as RAMB16s 4 2,520 Total equivalent gate count for design Additional JTAG gate count for IOBs 3,936 Tableau C.4 : Synthse du bloc Slection des porteuses et extraction des SP

Device Utilization Summary Used Available Utilization Note(s) 61 12,288 1% 289 12,288 2%

Annex

86

Project File: Module Name: Target Device:

CLK_GENERATOR Project Status clk_generator.ise Current State: Programming File Generated Errors: No Errors clk_gen xc4vlx15-12sf363

Warnings: Updated:

2 Warnings mar. 12. juin 12:27:59 2007

Product Version: ISE, 8.1i

Logic Utilization Number of Slice Flip Flops Number of 4 input LUTs Logic Distribution Number of occupied Slices 21 6,144 Number of Slices containing only related logic 21 21 Number of Slices containing unrelated logic 0 21 39 12,288 Total Number of 4 input LUTs Number of bonded IOBs 6 240 Number of BUFG/BUFGCTRLs 1 32 Number used as BUFGs 1 Number used as BUFGCTRLs 0 432 Total equivalent gate count for design Additional JTAG gate count for IOBs 288 Tableau C.5 : Synthse du bloc Clock generator

Device Utilization Summary Used Available Utilization Note(s) 24 12,288 1% 39 12,288 1% 1% 100% 0% 1% 2% 3%

Annex

87

SYNTHESE DES COMPOSANTS DU BLOC FILTRAGE (1)

Project File: Module Name: Target Device:

FILTRAGE Project Status filtrage.ise Programming File Generated Current State: Errors: No Errors adress_generator xc4vlx15-12sf363

Warnings: Updated:

21 Warnings (0 new, 0 filtered) mer. 13. juin 14:43:24 2007

Product Version: ISE, 8.1i

Logic Utilization Number of Slice Flip Flops Number of 4 input LUTs Logic Distribution Number of occupied Slices 83 6,144 1% Number of Slices containing only related logic 83 83 100% Number of Slices containing unrelated logic 0 83 0% 134 12,288 1% Total Number 4 input LUTs Number used as logic 101 Number used as a route-thru 33 Number of bonded IOBs 26 240 10% Number of BUFG/BUFGCTRLs 1 32 3% Number used as BUFGs 1 Number used as BUFGCTRLs 0 1,625 Total equivalent gate count for design Additional JTAG gate count for IOBs 1,248 Tableau C.6 : Synthse du composant address_generator

Device Utilization Summary Used Available Utilization Note(s) 63 12,288 1% 101 12,288 1%

Annex

88

SYNTHESE DES COMPOSANTS DU BLOC FILTRAGE (2)


FILTRAGE Project Status filtrage.ise Placed and Routed Current State: Errors: No Errors fi_mul_i xc4vlx15-12sf363

Project File: Module Name: Target Device:

Warnings: Updated:

2 Warnings (2 new, 0 filtered) mer. 13. juin 16:11:10 2007

Product Version: ISE, 8.1i

Logic Utilization Number of Slice Flip Flops Number of 4 input LUTs Logic Distribution Number of occupied Slices 1,177 6,144 Number of Slices containing only related logic 1,177 1,177 Number of Slices containing unrelated logic 0 1,177 1,708 12,288 Total Number 4 input LUTs Number used as logic 1,686 Number used as a route-thru 9 Number used as Shift registers 13 Number of bonded IOBs 84 240 Number of BUFG/BUFGCTRLs 1 32 Number used as BUFGs 1 Number used as BUFGCTRLs 0 Number of DSP48s 2 32 14,914 Total equivalent gate count for design Additional JTAG gate count for IOBs 4,032 Tableau C.7 : Synthse du composant fi_mul_i

Device Utilization Summary Used Available Utilization Note(s) 329 12,288 2% 1,686 12,288 13% 19% 100% 0% 13%

35% 3%

6%

Vous aimerez peut-être aussi