1abed Slim
-
Upload
sif-sellam -
Category
Documents
-
view
40 -
download
0
Transcript of 1abed Slim
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 1/99
Cycle de formation des ingénieurs en Télécommunications
Option :
Architectures des Systèmes de Télécommunications
Rapport de Projet de fin d’études
Thème :
Conception et implémentation hardware
d’un émetteur/récepteur BFDM
Réalisé par :
SLIM EL ABED
Encadré par :
M. Fathi TLILI
M. Mohamed SIALA
Travail proposé et réalisé en collaboration avec la société Smart-Waves
Année universitaire : 2006/2007
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 2/99
i
Dédicace
A mon cher père,
et ma chère mère,
pour l’éducation et le grand amour dont ils m’ont entouré depuis ma naissance.
Et pour leurs patiences et leurs sacrifices.
A mon cher frère et mes adorables sœurs,
A tous mes proches ;
A tous mes ami(e)s;
A tous ceux que j’aime.
Je dédie ce mémoire.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 3/99
ii
Remerciement
Je profite de cette occasion pour remercier tous ceux qui m’ont aidé à réaliser
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 l’aide déterminante
qu'ils m’ont accordée et pour l’intérêt 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 mémoire s’appuie sur les travaux Mlle Ismahen NASRI. Je la remercie pour
son aide précieuse et sa collaboration durant la période ce projet.
Enfin, je tiens à exprimer ma gratitude aux membres de jury qui ont accepté de
juger ce travail.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 4/99
iii
Résumé
Ce projet porte sur la mise en place d’une solution hardware pour un système de transmission
basé sur la technique de modulation BFDM (Biorthogonal Frequency Division Multiplexing)
avec forme d’onde optimisée. Il constitue la continuité de plusieurs travaux de recherches
effectués dans ce thème qui avaient montré l’intérêt que peut nous apporter cette technique de
modulation par rapport aux systèmes OFDM conventionnels. De ce fait, la réalisation d’un tel
système fournirait une solution aux limites imposées par le canal radio-mobile limitant le
débit supporté. En conséquence, nous pouvons envisager l’utilisation du contenu multimédia
gourmand en termes de débit pour les récepteurs mobiles ce qui entrainera la possibilité
d’enrichir les services offerts par les entreprises du monde du TIC.
L’objectif de ce travail est de concevoir l’architecture d’un émetteur/récepteur BFDM et del’implémenter sur FPGA. La partie synchronisation sera considérée dans la phase de la
conception mais son implémentation ne sera pas incluse dans ce projet. Il en est de même
pour l’égalisation fréquentielle du canal.
La simulation avec ModelSim a permis de confirmer que l’objectif de ce projet est atteint.
Mots clés : Modulation BFDM, transformée de Fourier rapide, filtrage, égalisationfréquentielle, implémentation VHDL, Simulation.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 5/99
iv
TABLE DES MATIERES
INTRODUCTION GENERALE ....................................................................... 1
CHAPITRE 1 : PRINCIPE DES SYSTEMES BFDM....................................3
1.1. I NTRODUCTION .................................................................................................................4
1.2. LES SYSTEMES OFDM...................................................................................................... 5
1.2.1. Principe de la modulation OFDM........................................................................................ 6
1.2.2. Principe de la démodulation................................................................................................. 8
1.2.3. Techniques d'implémentation des modulateurs OFDM........................................................ 9
1.2.4. Implantation numérique du démodulateur ......................................................................... 10
1.2.5. Egalisation et séquences d'apprentissage........................................................................... 10
1.2.6. Intervalle de garde.............................................................................................................. 11
1.3. FAIBLESSES DE LA FORME D’ONDE RECTANGULAIRE DE L’OFDM ................................. 13
1.3.1. Offset fréquentiel ................................................................................................................ 13
1.3.2. Effet de l’étalement Doppler............................................................................................... 14
1.4. OPTIMISATION DE LA FORME D'ONDE POUR LA MODULATION BFDM............................. 14
1.5. CONCLUSION .................................................................................................................. 15
CHAPITRE 2 : CONCEPTION DE L’ARCHITECTURE DEL’EMETTEUR/RECEPTEUR BFDM ...........................................................16
2.1. I NTRODUCTION ...............................................................................................................17
2.2. CONCEPTION DE L'EMETTEUR BFDM............................................................................. 17
2.2.1. Etude fonctionnelle ............................................................................................................. 17
2.2.2. Architecture interne de l’émetteur...................................................................................... 20
2.2.2.1. Description de l’IP XFFT de Xilinx ................... ...................... ...................... ...................... ...................... . 20
2.2.2.2. Etage de filtrage..................... ..................... ...................... ..................... ...................... .................... ............ 20
2.2.2.3. Sélection des porteuses actives et insertion des symboles pilotes..................... ...................... ..................... 24
2.2.2.4. Etage de mapping ...................... ..................... ..................... ...................... ..................... ..................... ........ 27
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 6/99
v
2.2.2.5. Générateur d’horloges ...................... ..................... ...................... ..................... ..................... ..................... . 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 réception .................... ...................... ...................... ...................... ...................... ........ 30
2.3.2.2. Démapping ..................... ..................... ...................... ..................... ...................... .................... ................... 33
2.3.2.3. Extraction des Symboles Pilotes.............. ...................... ...................... ...................... ...................... ............ 33
2.4. CONCLUSION .................................................................................................................. 34
CHAPITRE 3 : IMPLEMENTATION SUR FPGA DE
L’EMETTEUR/RECEPTEUR BFDM ...........................................................35
3.1. I NTRODUCTION ...............................................................................................................36
3.2. IMPLEMENTATION SUR FPGA DE L’EMETTEUR ...............................................................37
3.2.1. Etage de Mapping............................................................................................................... 37
3.2.2. Génération et configuration de l’IP XFFT de Xilinx.......................................................... 38
3.2.3. Filtrage à l’émission........................................................................................................... 43
3.2.4. Sélection des porteuses et insertion des symboles pilotes .................................................. 44
3.2.5. Générateur d'horloges ........................................................................................................ 45
3.3. IMPLEMENTATION DU RECEPTEUR BFDM ...................................................................... 46
3.3.1. Etage de filtrage à la réception .......................................................................................... 47
3.3.2. Extraction des Symboles Pilotes......................................................................................... 48
3.3.3. Démapping.......................................................................................................................... 49
3.4. CONCLUSION .................................................................................................................. 49
CHAPITRE 4 : SIMULATION ET SYNTHESE DE
L’EMETTEUR/RECEPTEUR BFDM ...........................................................51
4.1. I NTRODUCTION ...............................................................................................................52
4.2. R ESULTATS DE SIMULATION DE L'EMETTEUR /RECEPTEUR BFDM .................................. 52
4.2.1. Mapping et Démapping ...................................................................................................... 52
4.2.2. Sélection, insertion et extraction des symboles pilotes....................................................... 54
4.2.3. Simulation du Core XFFT : ................................................................................................ 56
4.2.4. Filtrage ............................................................................................................................... 57
4.2.5. Générateur d’horloges........................................................................................................ 58
4.3. R ESULTATS DE SYNTHESE DE L'EMETTEUR /RECEPTEUR BFDM...................................... 60
4.3.1. Synthèse de l’étage Mapping.............................................................................................. 61
4.3.2. Synthèse de l’étage Demapping.......................................................................................... 62
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 7/99
vi
4.3.3. Synthèse du bloc « Sélection des porteuses et insertion des SP » ...................................... 64
4.3.4. Synthèse du bloc « Sélection des porteuses et extraction des SP » .................................... 65
4.3.5. Synthèse du bloc « Générateur d’horloges »...................................................................... 66
4.3.6. Synthèse du bloc « Filtrage » ............................................................................................. 68
4.4. CONCLUSION .................................................................................................................. 70
CONCLUSION ET PERSPECTIVES ............................................................ 70
BIBLIOGRAPHIE............................................................................................72
ANNEXE A : CARACTERISATION DE L’ENVIRONNEMENT RADIO-
MOBILE............................................................................................................. 74
1. Les variations à grande et moyenne échelle............................................................................. 74
2. Les variations à petite échelle .................................................................................................. 75
3. Modèle de canal........................................................................................................................ 75
3.1. Modèle statique du canal radio-mobile...... ...................... ...................... ...................... ...................... ................ 75
3.2. Modèle dynamique du canal radio-mobile................... ...................... ...................... ...................... .................... 76
ANNEXE B : LE CORE XFFT DE XILINX..................................................79
ANNEXE C : RAPPORTS DE SYNTHESE .................................................. 82
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 8/99
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 : I NTERVALLE 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 L’OPERATION DE FILTRAGE A L’EMISSION................... 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 : S
CHEMA CONCEPTUEL DU BLOC« D
EMAPPING»............................................ 33
FIGURE 2.12 : CONCEPTION DE L’ETAGE « EXTRACTION DES SP ». ....................................... 34
FIGURE 3.1 : I NTERFACE DE L’OUTIL 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
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 9/99
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 L’ETAGE « DEMAPPING » ............................................. 49
FIGURE 4.1 : SIMULATION DE L’ETAGE « MAPPING ». ........................................................... 53
FIGURE 4.2 : SIMULATION DE L’ETAGE « 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 L’FFT................................................... 56
FIGURE 4.7 : SUPERPOSITION DES COURBES DE FILTRAGE. .................................................... 57
FIGURE 4.8 : INTRODUCTION DE L’EFFET DE QUANTIFICATION SUR L’OPERATION DE FILTRAGE.
.............................................................................................................................................. 58
FIGURE 4.9 : OBSERVATION DU DEPHASAGE ENTRE LES SIGNAUX HORLOGES GENERES.........59
FIGURE 4.10 : SIMULATION DU GENERATEUR D’HORLOGES. .................................................. 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 D’HORLOGES ».................. 67
FIGURE 4.19 : SCHEMA RTL EXTERNE DU BLOC « FI _ MUL _ I ». ............................................ 69
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 10/99
ix
LISTE DES TABLEAUX
TABLEAU 2.1 : NOMBRE DES SP ET DES PORTEUSES DESACTIVEES DE L’IFFT. ..................... 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 D’HORLOGES.... 59
TABLEAU 4.2 : R ECAPITULATION DES RESULTATS DE SYNTHESE...........................................69
TABLEAU B.1 : R ESUME 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
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 11/99
x
Liste des Acronymes
ADC : Analog to Digital Converter
ADSL : Asymmetric Digital
Subscriber Line
BFDM: Biorthogonal Frequency
Division Multiplexing
CPOFDM : Cyclic Prefix OFDM
DAC : Digital to Analog Converter
DVB-T : Digital Video Broadcast-
Terrestrial
FEC : Forward Error Correction
FFT : Fast Fourier Transform
FPGA : Field Programmable Gate
Array
ICI : Inter Carrier Interference
IEEE : Institute of Electrical
and Electronics Engineers
IES : Interférences Entre
Symboles
IFFT : Inverse Fast Fourier
Transform
IP : intellectual Property
ISI : inter Symbols interferences
MAQ : Modulation
d’Amplitude en Quadrature
OFDM : Orthogonal Frequency
Division Multiplexing
P/S, S/P : conversion Parallèle /Série,
Série/Parallèle
QAM : Quadrature
Amplitude Modulation
RAM : Random Access
memory
ROM : Read Only Memory
RTL : Register Transfer Level
SP : Symboles Pilotes
TFR : Transformée de Fourier
rapide
VHDL : VHSIC hardware
description language
VHSIC : very high-speed IntegratedCircuit
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 12/99
1Introduction
Introduction générale
Depuis quelques années, de plus en plus d’importance a été accordée à la technique de
modulation OFDM, les chercheurs voyaient dans cette technique la solution efficace et
pratique aux problèmes de sélectivité imposés par le canal (support de transmission) dans le
cas des systèmes de transmission haut débit. Par conséquent, des systèmes développés comme
le DVB-T et l’ADSL ont vu le jour grâce à l’adoption de cette technique de modulation.
Malheureusement, dans le cas d’un canal radio-mobile caractérisé par une grande sélectivité
temporelle, les performances de la modulation OFDM se dégradent. Ceci peut s’expliquer par
la délocalisation fréquentielle de la forme d’onde rectangulaire utilisée dans l’OFDM. Ainsi,
en modifiant la forme d’onde à l’émission et à la réception, nous pouvons corriger ce défaut.
Nous passons donc à la technique de modulation BFDM qui diffère à l’OFDM par le fait que
la forme d’onde à l’émission et celle à la réception sont différentes de la fonction rectangle
adoptée par les modulateur OFDM.
Pour implémenter un système de transmission multiporteuse, l’utilisation de l’FFT s’avère
très efficace et permet de réduire l’ordre de complexité de l’émetteur et du récepteur. C’estd’ailleurs ça qui rend l’implémentation d’un émetteur BFDM possible sur une carte FPGA.
Nous avons choisit d’organiser ce mémoire en quatre chapitres. Le premier chapitre présente
les notions techniques des modulations OFDM et BFDM.
Le deuxième chapitre est consacré à l’élaboration de la conception de l’architecture de
l’émetteur/récepteur BFDM. Nous y verrons le schéma général de l’émetteur et du récepteur
et nous détaillerons ensuite la conception de chaque étage.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 13/99
2Introduction
La phase de l’implémentation est décrite au niveau du troisième chapitre et enfin dans le
dernier chapitre, nous exposons les résultats de simulation et de synthèse des composants de
l’émetteur et du récepteur BFDM implémentés.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 14/99
3
Chapitre 1 : Principe des systèmes BFDM
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 15/99
4Chapitre 1 : Princ ipe des systèmes
1.1. I NTRODUCTION
Un signal radiofréquences est émis sur un canal, qui constitue son support physique. Ainsi
toute transmission numérique est limitée par les contraintes physiques de son support.
Un canal est dit sélectif en fréquence lorsqu'il ne se comporte pas identiquement suivant la
fréquence du signal. Certaines fréquences seront atténuées plus que d'autres. Le signal sera
alors déformé lors de la transmission : les données seront dispersées dans le temps, pouvant
mener à des interférences entre symboles.
Du fait des nombreuses réflexions que le signal peut subir en environnement urbain, le
récepteur recevra une série d'échos d'amplitudes et de retards variables. Cette problématique
du canal à trajets multiples est critique dans le cas d'un canal radio-mobile, c'est-à-dire lorsque
le récepteur et l'émetteur ne sont pas fixes relativement. Les différents échos et amplitudes qui
varient dans l'espace, ils entraînent des variations dans le canal vu par le récepteur mobile.
Ces problématiques sont d'autant plus d'actualité que les débits transmis augmentent
exponentiellement, et donc la bande de fréquence nécessaire pour transporter ces informations
à haut débit. Or l'effet de la sélectivité en fréquence des canaux sur la dégradation des
performances augmente avec la largeur de bande de fréquence du signal transmis.
La famille des modulations multiporteuses dont fait partie l'OFDM permet de répondre à cet
enjeu en utilisant des sous-porteuses peu sensibles aux multitrajets et à la sélectivité en
fréquence, faciles à égaliser.
Dans ce chapitre, nous nous proposons de définir les systèmes OFDM ainsi que les moyens
d'implémenter les chaînes de transmission basées sur la modulation OFDM en utilisant la
transformée de fourrier rapide (TFR). Nous verrons ensuite les limites de cette technique et
les caractéristiques de la modulation BFDM.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 16/99
5Chapitre 1 : Princ ipe des systèmes
1.2. LES SYSTEMES OFDM
Les problèmes de multi-trajet et de sélectivité fréquentielle (Annexe A) sont d'autant plus
importants que le débit de transmission augmente, car la bande de fréquence nécessaire pour
transporter ces informations à haut débit augmente. Or l'effet de la sélectivité en fréquence
des canaux sur la dégradation des performances augmente avec la largeur de bande de
fréquence du signal transmis.
Dans le cas mono-porteuse, les processus d'égalisation censés compenser les effets des multi-
trajets et de la sélectivité en fréquence des canaux sont cependant d'une grande complexité
lorsque le canal varie beaucoup dans le temps. Ils nécessitent 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 répondre à cet enjeu en utilisant des sous-porteuses peu
sensibles aux multi-trajets et à la sélectivité en fréquence, faciles à égaliser.
Cette technique de modulation consiste à répartir les symboles sur un grand nombre de
porteuses à bas débit, à l'opposé des systèmes mono-porteuses qui transmettent les symboles
en série, chaque symbole occupant alors toute la bande passante disponible.
Ainsi dans le cas de l'OFDM, pour un train de symboles initial de période T Si , les Symboles
seront répartis en N trains plus lents et auront alors une durée TS
= N*TSi
. Cette diminution du
rythme symbole entraîne une diminution des interférences entre symboles d'un rapport N.
Ainsi, dans le cas mono-porteuse, pour un débit symbole de 10 Msymboles/s transmis sur un
canal radio de distorsion maximale τm = 250 µs, un symbole interfère avec K=250 * 10 =
2500 Symboles. Le processus d'égalisation s'effectuant par bloc est très complexe. En
revanche, en répartissant ces symboles sur N = 2048 porteuses, moins de 2 symboles rentrent
en interférence, ce qui simplifie énormément l'égalisation du canal [1].
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 17/99
6Chapitre 1 : Princ ipe des systèmes
1.2.1. PRINCIPE DE LA MODULATION OFDM
Pour répartir les données à transmettre sur les N porteuses, on groupe les symboles c k par
paquets de N. Les ck sont des nombres complexes définis à partir des éléments binaires par
une constellation souvent de modulation MAQ à 4, 16, 64, 2q états.
La séquence de N symboles c0 , c1 , ..., c N-1 constitue un symbole OFDM. Le k-ième train de
symboles parmi les N trains module un signal de fréquence f k . Le signal modulé du train k
s'écrit sous forme complexe :
Le signal total s(t) correspondant à l'ensemble des N symboles réassemblés en un symbole
OFDM :
Symbole
s OFDM
c 2
c N-1
b 0, b1, … c 0, c 1,
c 0
c 1
.
.
.
.
.
MAQ 2q
Figure 1.1 : Schéma de principe du modulateur OFDM.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 18/99
7Chapitre 1 : Princ ipe des systèmes
Les fréquences sont orthogonales si l'espace entre deux fréquences adjacentes f k et f k+1 est
1/Ts. En effet, chaque porteuse modulant un symbole pendant une fenêtre rectangulaire
temporelle de durée Ts, son spectre en fréquence est un sinus cardinal, qui est une fonction qui
s'annule tous les multiples de 1/Ts.
f k = f 0 + k/Ts (1.2)
Figure 1.2 : Spectre en sortie du modulateur OFDM.
Ainsi, lorsque l'échantillonnage est effectué précisément à la fréquence f k d'une sous-porteuse,
il n'y a aucune interférence avec les autres sous-porteuses. C'est ce qui permet de recouvrir lesspectres des différentes porteuses et d'obtenir ainsi une occupation optimale du spectre. Le
nombre de sous-porteuses N est choisi de manière à remplir les deux conditions primordiales
Ts >> Tm afin de pouvoir considérer le canal plat et Ts << 1/Bd pour considérer le canal
statique pendant la transmission du symbole OFDM [1].
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 19/99
8Chapitre 1 : Princ ipe des systèmes
1.2.2. PRINCIPE DE LA DEMODULATION
Le signal parvenu au récepteur s'écrit sur une durée symbole Ts :
Où Hk (t) est la fonction de transfert du canal autour de la fréquence f k et à l'instant t. Cette
fonction varie lentement et on peut la supposer constante sur la période Ts (Ts<<1/Bd) .La
démodulation classique consisterait à démoduler le signal suivant les N sous-porteuses suivant
le schéma classique détaillé dans la figure 1.3.
Filtre
Filtre
Filtre
y(t)
Figure 1.3 : Schéma de principe du démodulateur OFDM.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 20/99
9Chapitre 1 : Princ ipe des systèmes
1.2.3. TECHNIQUES D 'IMPLEMENTATION DES MODULATEURS OFDM
L'analyse algébrique indique que le signal de sortie s(t) est sous la forme :
En discrétisant ce signal et en le ramenant en bande de base pour l'étude numérique, on
obtient une sortie s(n) sous la forme :
Les sn sont donc obtenus par une transformée de Fourier inverse discrète des c k . En
choisissant le nombre de porteuses N tel que N = 2n, le calcul de la transformée de Fourier
inverse se simplifie et peut se calculer par une simple IFFT [2] nous conduisant au schémanumérique suivant :
C0(
IFFT P/S
CN-
C1(
C( S/ P
Figure 1.4 : Modulateur OFDM numérique.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 21/99
10Chapitre 1 : Princ ipe des systèmes
1.2.4. IMPLANTATION NUMERIQUE DU DEMODULATEUR
L'analyse théorique définit le signal discrétisé reçu au niveau du démodulateur sous la forme :
zn est la transformée de Fourier discrète inverse de ck Hk , la démodulation consiste donc à
effectuer une transformée de Fourier directe discrète. Le nombre de porteuses ayant été choisi
tel que N = 2n, on peut réaliser ce calcul à l'aide d'une FFT[2]. On obtient alors le schéma de
principe suivant :
FFT
C0(
C1(
nTs
S/ P
CN-
P/ S
Zn
Figure 1.5 : Démodulateur OFDM numérique.
1.2.5. EGALISATION ET SEQUENCES D 'APPRENTISSAGE
La connaissance des Hk (t) qui caractérisent chaque canal est nécessaire à l'égalisation dans la
démodulation OFDM. Le processus visant à découvrir les paramètres du canal est appelé
estimation du canal. Il s'effectue par la transmission de séquences d'apprentissage sur
différentes fréquences et à différents instants. Le système de transmission devient dynamique
et beaucoup plus complexe à modéliser.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 22/99
11Chapitre 1 : Princ ipe des systèmes
1.2.6. I NTERVALLE DE GARDE
Un des grands avantages de l’OFDM est sa robustesse vis-à-vis des canaux sélectifs en
fréquence. En divisant le flux de données en N sous-porteuses, la durée symbole est N fois
plus grande. Ainsi le rapport délai canal/durée symbole est réduit par le même facteur.
L’impact de l’interférence entre symboles (IES) est donc considérablement affaibli [2].
Cependant, il peut subsister une légère interférence entre les symboles OFDM. En effet, les
symboles subissent des échos et un symbole émis parvient au récepteur sous forme de
plusieurs symboles atténués et retardés. Un symbole émis lors d’une période iTs peut se
superposer à un écho provenant du symbole émis à la période (i+1)T s. Pour résister contre ces
interférences, on ajoute un intervalle de garde d’une durée ∆ comme l’indique la figure (1.6).
Symbo le Symbo le
Intervalle de
Symbole
Figure 1.6 : Intervalle de garde pour les symboles OFDM.
Afin que les interférences soient éliminées, il faut que l’intervalle de garde soit plus grand que
le plus grand des retards Tm qui apparaissent sur le canal. En pratique, on choisit l’intervalle
de garde de durée égale au quart du temps symbole OFDM, ce qui représente un bon
compromis entre la diminution des erreurs et la perte du débit utile.
Suite à l’introduction de l'intervalle de garde, on peut représenter les différentes étapes de la
modulation OFDM par le schéma bloc de la figure 1.7 [2] :
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 23/99
12Chapitre 1 : Princ ipe des systèmes
S/ IFFTAjout préfixe
cycliqueP/ S
Filtre
d’émissio
Cana
P/ SRetrait
préfixeFFTP/
1/ TFiltre d e
réc e tio
S1 … Sp
1 … p
Figure 1.7 : Emetteur et récepteur OFDM.
La figure 1.8 illustre un exemple d'utilisation de la modulation OFDM dans une chaine de
transmission WIFI 802.11a [3].
Emetteur
DACP/ S Sortie
64
bandes
IFFT 64
oints
S/ P
48 bandes
250 kBaud
Modulation
16 QAM
Sortie 12
FEC Sortie
à 48
Flux
d’entrée
à 36
FEC Sortie
à 36
Flux d e
Mbit/s
sortie à 36ADCS/ P Sortie
64
bandes
FFT 64
oints
P/ S
48 bandes
250 kBaud
Démodulatio
n 16 QAM
Sortie 48 MHz
Récepteur
Figure 1.8 : Schéma bloc émetteur et récepteur 802.11a.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 24/99
13Chapitre 1 : Princ ipe des systèmes
1.3. FAIBLESSES DE LA FORME D’ONDE RECTANGULAIRE DE
L’OFDM
Les systèmes 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 localisées en fréquence. Cette mauvaise localisation
fréquentielle va largement influer sur l’orthogonalité entre les sous-porteuses surtout si le
canal présente des variations temporelles sévères dues à des décalages Doppler importants. De
plus, une mauvaise localisation en fréquence peut augmenter la sensibilité aux offsets
fréquentiels.
Pour combattre ces points faibles, plusieurs travaux [4],[5] [6] et [7] ont été réalisés pour
mettre en œuvre une forme d'onde optimale à l'émission et une autre forme d'onde optimale à
la réception offrant une bonne localisation dans le plan temps-fréquence en exploitant les
propriétés des bonnes concentrations des fonctions d’HERMITE. On parle ainsi de BFDM
(Biorthogonal Frequency Division Multiplexing) parce que la forme d'onde de l'émetteur est
différente de celle du récepteur.
Les interférences inter-porteuses dans la modulation OFDM sont engendrées par deux
principaux facteurs : l’offset fréquentiel et l’étalement Doppler.
1.3.1. OFFSET FREQUENTIEL
L’offset fréquentiel résulte de la différence entre l’oscillateur de l’émetteur et celui du
récepteur. Deux effets destructifs sont engendrés par un offset fréquentiel. L’un consiste en la
réduction de l’amplitude du signal puisque les fonctions sinus cardinal (transformée de
Fourier de la forme rectangulaire) sont décalées et ne sont plus donc échantillonnées aux pics.
L’autre effet est l’introduction d’interférences inter-porteuses résultant de la perte
d’orthogonalité entre les sous-canaux.
L’OFDM est très vulnérable à l’offset fréquentiel dus à des problèmes de synchronisation.
Cette sensibilité est affectée par la durée plus longue des symboles OFDM.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 25/99
14Chapitre 1 : Princ ipe des systèmes
1.3.2. EFFET DE L’ETALEMENT DOPPLER
En utilisant l'intervalle de garde cyclique, les sous-porteuses individuelles retrouvent leurs
orthogonalités après suppression du préfixe. Cette orthogonalité est détruite quand le canal
varie temporellement et ses caractéristiques changent durant la durée d'un symbole d'OFDM.
Ces variations sont modélisées par l'étalement Doppler « Doppler Spread ». Ce dernier résulte
de la différence en fréquences Doppler entre les différents trajets du canal. Il décrit donc les
changements aléatoires dans le canal radio et peut être considéré comme résultat de
déplacement des usagers.
L'étalement Doppler réduit l'énergie utile dans chaque sous-porteuse et introduit de
l'interférence inter-canaux « Inter Carrier Interference » (ICI) due à une perte d’orthogonalité.
Ces deux effets réduisent le rapport signal à bruit SNR dans le récepteur.
La perte d’orthogonalité s’accentue avec l’utilisation d’une fonction d’enveloppe
rectangulaire pour mettre en forme les symboles OFDM. En effet, l’énergie s’étale sur tout
l’axe fréquentiel ce qui va générer de plus en plus d’interférences ICI sur les canaux dispersifs
en fréquence.
1.4. OPTIMISATION DE LA FORME D 'ONDE POUR LA
MODULATION BFDM
Pour réduire l’effet du Doppler, on doit remplacer la forme d’onde rectangulaire très étendue
en fréquence par une forme d’onde présentant une meilleure localisation en fréquence. On
doit recourir à une optimisation de la forme d’onde afin de réduire l’effet de l’étalement
Doppler. Cette optimisation a été effectuée sous forme de plusieurs projets qui ont eu lieu au
sein de la société Smart-Waves [4] et [5]. Le critère d'optimisation était de maximiser le
rapport signal sur interférence (SIR) et l'opération consistait à trouver la meilleure
combinaison linéaire des formes d'onde d'Hermite pour la construction de la forme d'onde
optimale à l'émission et à la réception. Le choix des Hermites comme base élémentaire se
justifie par la bonne localisation temp-fréquence qu'offraient ces formes d'onde. Les
simulations sous MATLAB effectués au sein de cette société ont validé l'optimisation réalisée
et ont montré un gain de 10 dB par rapport à la modulation OFDM conventionnelle à préfixe
cyclique (CPOFDM) pour un canal radio-mobile caractérisé par un Doppler important.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 26/99
15Chapitre 1 : Princ ipe des systèmes
De ce fait, nous pouvons ainsi passer à l'implémentation hardware de cette solution de
transmission BFDM avec forme d'onde optimisée; ce qui constitue le sujet de ce projet de fin
d'étude.
1.5. CONCLUSION
Dans ce chapitre, nous avons présenté la technique de modulation OFDM avec ses avantages
et ses limites. Nous avons ensuite enchaîné avec la présentation de la solution BFDM avec
forme d'onde optimisée qui présente le remède pour diminuer les interférences dans le cas
d'un canal variable dans le temps.
Dans ce qui suit, nous allons passer à la réalisation de la chaîne de transmission BFDM, à
savoir l'émetteur et le récepteur. Le chapitre suivant consiste donc à développer l'étape de
conception qui a été effectuée pour l'implémentation hardware de l'ensemble émetteur,
récepteur BFDM.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 27/99
16
Chapitre 2 : Conception de
l’architecture de
l’émetteur/récepteur BFDM
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 28/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 17
2.1. I NTRODUCTION
L’implémentation de la modulation multiporteuse est une tache difficile puisqu’elle est
composée de plusieurs étages de modulation qui fonctionnent en parallèle. Mais l’utilisation
de l’FFT dans le récepteur et de l’IFFT dans l’émetteur permet de réduire l’ordre de
complexité du modulateur et du démodulateur. Ainsi l’implémentation d’un émetteur /
récepteur BFDM est désormais réalisable sur un FPGA. On se propose donc dans ce chapitre
d’élaborer la conception de l’architecture de cet émetteur / récepteur BFDM.
Pour cela, nous avons choisi d’organiser ce chapitre en deux parties. La première présentera la
conception de l'émetteur et la deuxième sera consacrée au récepteur.
2.2. CONCEPTION DE L 'EMETTEUR BFDM
Tout d’abord, nous allons élaborer la conception générale de l'émetteur en réalisant son étude
fonctionnelle. Ensuite, nous détaillerons chaque élément complexe de cette conception.
2.2.1. ETUDE FONCTIONNELLE
Une première approche pour effectuer l’étude fonctionnelle de l’émetteur serait de
commencer par identifier ses entrées et ses sorties. Considérons donc la figure 2.1.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 29/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 18
Figure 2.1 : L'émetteur BFDM vu de l'extérieur.
On a donc trois entrées dont une pour les données (Bitstream) et deux pour le contrôle (Reset
et clock).
Le signal de sortie étant complexe, on va donc lui réserver deux sorties qui sont Iout et Qout et
qui représentent respectivement la composante en phase et la composante en quadrature du
signal à la sortie de l'émetteur.
Avant d’être transmises, les données passent par trois phases principales qui sont le mapping,l’IFFT et enfin le filtrage par projection sur la forme d’onde optimisée. La figure 2.2 présente
le schéma conceptuel de l’émetteur.
Figure 2.2 : Schéma bloc de la conception de l'émetteur.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 30/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 19
Nous avons connecté l’entrée 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 réinitialiser, 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 numérique 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 générale de l'émetteur et n’affectera pas les autres
blocs de l’émetteur.
Passons maintenant au bloc « IFFT » sur lequel se base la modulation multi-porteuse. Pour
réaliser cet étage, nous allons utiliser l’IP XFFT de Xilinx [8] que nous avons généré avecl’outil 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 récepteur à des instants précis et des sous
porteuses bien définies. Ainsi, le récepteur 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'insérer les symboles pilotes et de sélectionner (ou activer) les sous porteuseseffectivement utilisée de l'IFFT.
Les symboles OFDM obtenus à la sortie du bloc « IFFT » seront donc transférés au bloc
« filtrage » qui réalisera la projection de ces symboles sur la forme d'onde optimisée dont
nous avons parlée dans le chapitre précédent.
Reste donc à préciser que ces différents blocs, que nous venons de citer, ne fonctionnent pas
tous avec la même fréquence d'horloge, d'où la nécessité d'ajouter un bloc « générateur
d'horloges » qui comme son nom l’indique, génère plusieurs horloges parfaitement
synchronisées à partir d'une seule horloge maître (Master Clock).
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 31/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 20
2.2.2. ARCHITECTURE INTERNE DE L’EMETTEUR
2.2.2.1. DESCRIPTION DE L’IP XFFT DE XILINX
Pour l’étage responsable de l’IFFT au niveau de l’émetteur, nous utiliserons l’IP XFFT de
Xilinx. Cet étage admet cinq entrées dont trois signaux de contrôle (Reset, Clock et Enbl) et
deux signaux de données (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 données qui se présentent sous forme d’un
flux de bits (BitStream). Nous considérons un système BFDM composé de 1024 sous-
porteuses. Donc nous choisissons une FFT de taille 1024. Le tableau extrait du Datasheet [9]
de cet IP, présenté dans l’annexe B, résume les signaux d’entrée et de sortie de ce Core.
2.2.2.2. ETAGE DE FILTRAGE
Pour effectuer la conception du bloc « filtrage » à l’émission, nous considérons les
spécifications suivantes :
Le réseau temps fréquence sous-jacent au système BFDM étudié repose sur une
densité sous-critique. Ce qui se traduit par l’inégalité suivante : F*T > 1. Dans notre cas, on
prend : F*T = 1,25.
L’IFFT est calculée sur 1024 échantillons. Donc 1/F correspond à 1024 échantillons.
La durée de l’impulsion (forme d’onde), d’origine infinie, est tronquée sur 8T
(équivalent à 10/F soit 10240 échantillons)
L’entrée du bloc filtrage étant de taille 1/F = 1024 échantillons, la sortie sera de durée T =
1.25/F = 1.25*1024 = 1280 échantillons.
La figure 2.3 illustre le déroulement de l’opération de filtrage :
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 32/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 21
Forme d’onde
sans décalage.
Figure 2.3 : Schéma explicatif de l’opération de filtrage à l’émission.
T 2T 3T 4T 5T 6T 7T 8T0
RAM7RAM 4 RAM 5 RAM 6RAM3RAM1RAM2RAM0
S0
S1
S2
S3
S4
S5
S6
S7
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 33/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 22
• L’entrée correspond à la sortie du bloc « IFFT ». on admet que c’est un bloc de taille
1024 échantillons qui arrivent en série sous forme de flux de données.
• On duplique ce symbole 10 fois et on multiplie le résultat par la forme d’onde
optimisée enregistrée dans une mémoire ROM de taille 10240 échantillons.• Le résultat de la multiplication est transféré à une mémoire RAM qui a pour rôle de
stocker la somme de 8 multiplications successives pour former le signal émis (1280
échantillons) qui correspond à une période temporelle.
• A chaque fois qu’un nouveau symbole (1024 échantillons) arrive, on le duplique 10
fois et on décale la forme d’onde d’une période T de façon circulaire (figure 2.3) avant
d’effectuer la multiplication. Ensuite, on accumule le résultat de la multiplication dans un
registre temporaire de longueur 10240 échantillons. Enfin, on transmet une partie de ce
registre qui correspond dans cette figure à l’une des RAMi que l’on vide après la transmission
de son contenu.
• Ceci nous mène à adopter la conception illustrée dans la figure 2.4.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 34/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 23
Figure 2.4 : Conception du bloc filtrage à l'émission.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 35/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 24
L’entrée du bloc « filtrage » correspond comme on a déjà dit à la sortie du bloc « IFFT », elle se
présente sous forme d’échantillons successifs (I et Q) que nous allons adresser par un compteur
(index), on duplique cet échantillon 10 fois (I i avec i de 0 à 9) et on multiplie les échantillons
dupliqués par les échantillons pris de la forme d’onde (notée φ) et stockés dans la rom et dont l’adresse
correspond à index décalé (de façon circulaire) de i * 1/F et k * T avec k le numéro du symbole IFFT
(k allant de 0 à 7 ).
Le résultat de la multiplication sera transféré à un buffer qui a pour rôle d’accumuler 8 résultats
consécutifs pour former le signal à transmettre.
Nous avons ajouté un bloc parallèle au buffer et qui comprend 8 mémoires RAMout i pour réorganiser
la sortie du filtre pour des raisons de spécification car l’entrée est périodique de période 1/F = 1024
échantillons et la sortie est périodique mais de période T = 1280 échantillons. C’est aussi pour cette
raison que le bloc filtrage nécessite deux signaux d’horloge (clk2 et clk3 (voir figure 2.2)).
2.2.2.3. SELECTION DES PORTEUSES ACTIVES ET INSERTION DES SYMBOLES
PILOTES
Nécessité de la sélection des porteuses actives :
Pour éviter le repliement de spectre, on ne doit pas émettre de l’information sur toutes les
porteuses de l’IFFT. On doit donc sélectionner certaines porteuses et désactiver les autres.
Autrement dit, on doit forcer intentionnellement l’entrée de certaines porteuses de l’IFFT à
zéro. Un autre problème que nous devons éviter consiste à la fréquence nulle de l’IFFT qui
entraîne un DC offset dans le cas des systèmes utilisant une conversion directe à cause des
courants de fuite (leakage). Donc la porteuse centrale sera aussi désactivée.
Utilité des symboles pilotes :
Pour pouvoir estimer le canal de transmission au niveau du récepteur, nous utiliserons la
technique des symboles pilotes qui consiste à insérer entre les données à transmettre un
certain nombre de symboles connus par l’émetteur et le récepteur à des fréquences bien
définies.
C’est de là que vient l’idée d’introduire un bloc dans l’émetteur entre l’IFFT et le bloc
« mapping » et qui sera responsable de la sélection des porteuses et de l’insertion des
symboles pilotes.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 36/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 25
Afin de concevoir le bloc qui réalise ces taches, l’idée consisterait donc à imaginer que ce
bloc va lire l’entrée comme un flux de données qui arrivent en série avec un rythme clock_in
et introduire des zéros ainsi que des symboles pilotes à des endroits convenablement choisis
entre les symboles données pour enfin former la sortie de ce bloc. Cette sortie doit être
contrôlée 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 l’horloge de sortie du bloc précédent c'est-à-
dire le bloc « mapping » et clock_out correspond au rythme de l’horloge du bloc IFFT.
La figure 2.5 illustre le schéma conceptuel du bloc « Sélection des porteuses et insertion des
symboles pilotes ».
Figure 2.5: Conception du bloc sélection de porteuses et insertion des SP.
Pour choisir l’emplacement des porteuses nulles et des symboles pilotes, nous nous sommes
inspirés de l’exemple de la modulation OFDM pour le Standard IEEE802.11a. Le tableau 2.1
présente le nombre des symboles pilotes et des porteuses désactivées de l’IFFT dans le cas de
la modulation OFDM du standard IEEE802.11a ainsi que le système que nous avons
implémenté et la figure 2.6 détaille leurs positions. Il s’agit d’un choix personnel mais le code
sera générique et la modification des positions des symboles pilotes par l’utilisateur sera
simple.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 37/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 26
IEEE802.11a Notre système
Nbre de porteuses de l’IFFT 64 1024
Nbre de porteuses désactivées 12 192
Nbre de symboles pilotes 4 64
Nbre de symboles data 48 768
Tableau 2.1 : Nombre des SP et des porteuses désactivées de l’IFFT.
Figure 2.6 : Disposition des SP et des porteuses désactivées.
60 64
Porteuses
25 29 33 37 4127 27 31 31 35 35 39 39
62 62 66 66 70 70 74 74
76 83 89 96 10279 80 86 86 92 92 99 99
0 63 12 19 2515 16 22 2231 34 94 9
Symboles p ilotes
0 25 51 76 102
41 60
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 38/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 27
2.2.2.4. ETAGE DE MAPPING
Pour un choix de la modulation QAM16, l’entrée du bloc mapping étant le flux binaire, la
sortie sera séparée en deux signaux qui représentent la partie réelle et imaginaire des
symboles déduis à partir du flux binaire. La figure 2.7 présente la constellation de la
modulation QAM16, passons maintenant à la conception de ce bloc : dans l’opération de
mapping, nous identifions une partie qui réalise la sauvegarde de 4 bits successifs de l’entrée
et une partie qui en fonction de ces 4 bits choisit la valeur du symbole numérique. Ceci nous a
menés à adopté la conception illustrée par la figure 2.8 avec Iout et Qout sont respectivement la
partie réelle et imaginaire du symbole à la sortie de ce bloc.
Figure 2.7 : constellation de la modulation QAM16.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 39/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 28
Figure 2.8 : Schéma conceptuel du bloc Mapping.
2.2.2.5. GENERATEUR D’HORLOGES
Après avoir conçu les différents blocs de l’émetteur, il nous reste à garantir leur
fonctionnement synchrone en présentant à chaque bloc le signal horloge qui lui convient.
Pour énumérer les différents signaux que nous devons générer, nous avons analysé le
fonctionnement de chacun des autres blocs et cette analyse nous a mené à générer 4 signaux
de rythmes différents : clk1, clk2, clk3 et clk4 (figure 2.2).
Les périodes de ces horloges sont reliées entre elles par les équations suivantes :
T(clk4) = 0.8*T(clk3) équation 2.1
T(clk3) = 0.75*T(clk2) équation 2.2
T(clk2) = 4*T(clk1) équation 2.3
Cette dernière est propre à la modulation QAM16. Enfin, on ajoute l’équation suivante :
T(clk1) = α*T(clk) équation 2.4
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 40/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 29
L’importance de cette équation est de permettre de déduire les différentes périodes des clk i
sous forme de multiple entier et pair de la période T(clk) qui constitue le signal d’entrée de ce
block.
Un choix convenable de α serait 10, ainsi on aura les relations suivantes entre les périodes des
clk i.
T(clk1) = 10*T(clk) équation 2.5
T(clk2) = 40*T(clk) équation 2.6
T(clk3) = 30*T(clk) équation 2.7
T(clk4) = 24*T(clk) équation 2.8
Maintenant, après avoir dégagé les relations entre les périodes des différentes horloges, nous
pouvons passer à l’élaboration de la solution conceptuelle du bloc générateur d’horloge. Pour
cela, considérons l’exemple de clk1, nous avons un signal horloge clk à l’entrée et nous
voulons générer un signal horloge 10 fois plus lent, on considère donc un compteur modulo
10 qui s’incrémente à chaque front montant de l’horloge d’entrée. Finalement, nous mettons à
zéro le signal de sortie clk1 tant que le compteur est inférieur à 5 et nous le forçons à un
lorsque le compteur est entre 6 et 10. On voit ici la nécessité de choisir les périodes des
horloges sous forme de multiple pair de celle de l’horloge d’entrée.
Le même raisonnement s’applique pour générer les autres horloges.
2.3. CONCEPTION DU RECEPTEUR BFDM
Tout comme le plan adopté pour l’émetteur, nous commencerons par élaborer la conception
générale du récepteur pour ensuite détailler les éléments qui le constituent.
2.3.1. ETUDE FONCTIONNELLE
L’architecture du récepteur est légèrement plus complexe que celle de l’émetteur. En effet,
d’un côté tous les blocs de l’émetteur sont reproduits au niveau du récepteur pour effectuer le
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 41/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 30
traitement inverse afin de reconstruire le signal de départ, et de l’autre côté, nous devons
ajouter des blocs supplémentaires qui seront responsables de la synchronisation, du calcul de
l’effet du canal sur la distorsion du signal et de la décision sur les symboles reçus.
De ce fait, nous avons mis en œuvre la conception illustrée par la figure suivante. Il reste à
noter que les blocs « Synchronisation » et « Estimation du canal » ne seront pas implémentés
dans le cadre de ce projet.
Figure 2.9 : Schéma conceptuel du récepteur.
2.3.2. ARCHITECTURE INTERNE
Pour éviter la répétition, nous allons nous contenter par rédiger la conception détaillée du
bloc « Extraction des symboles pilotes », du boc « Démapping » et de l’étage « filtrage à la
réception ».
2.3.2.1. ETAGE DE FILTRAGE A LA RECEPTION
L’opération de filtrage du côté récepteur est semblable à celle de l’émetteur à quelques
différences près.
Bloc non
Bloc
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 42/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 31
Tout d’abord l’entrée est reliée à la sortie du bloc synchronisation et la sortie du bloc
« filtrage » est reliée au bloc « FFT » , ce qui impose sur ce bloc le fonctionnement
suivant :
• Le signal à l’entrée est collecté par bloc de 1280 échantillons successifs qui
correspondent à des symboles notés Si.
• Chaque symbole Si est dupliqué 8 fois avant d’être multiplié par la forme d’onde
propre au récepteur.
• Le résultat de la multiplication est transféré sur une RAM de taille 10240 échantillons
qui réalisera l’accumulation de 10 produits successifs pour former la sortie du bloc
« filtrage » à la réception libéré par bloc de 1024 échantillons.
La figure 2.10 présente donc la conception du bloc « filtrage » à la réception.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 43/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 32
Figure 2.10 : schéma conceptuel du bloc « filtrage » à la réception.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 44/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 33
2.3.2.2. DEMAPPING
Le fonctionnement de ce bloc consiste à lire les deux entrées Iin et Qin, convertir ce symbole
en un mot binaire et passer ce mot à un process de sortie qui le libère 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 : Schéma conceptuel du bloc « Démapping ».
2.3.2.3. EXTRACTION DES SYMBOLES P ILOTES
Pour pouvoir extraire l’information et les symboles pilotes, nous avons choisit d’adopter la
conception illustrée dans la figure 2.12. L’utilisation de deux types de RAM est justifiée par le
besoin de récupérer à partir du symbole BFDM constitué par 1024 échantillons 768
échantillons de données et 64 échantillons correspondants aux symboles pilotes reçus. Donc,
nous devons enregistrer les échantillons de données 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 contrôle de a RAM, ils permettent d’accéder à la
RAM en mode écriture (write ena ble).
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 45/99
Chap itre 2 : Conc ep tion d e l’a rc hitec ture d e 34
En conséquence, nous utiliserons deux process de sortie : le premier servira à sortir les
échantillons de données à un rythme d’horloge clk2 et le deuxième passera les symboles
pilotes reçus au bloc « calculateur » à un rythme d’horloge clk_SP.
Process delecture
1024 échantillons
Process deSortie 1
Clock_in
Clock_out
Reset
Data_in RAM1 : stockerles 768
échantillonsData
Data_out
Mux
data
index0
data
index1
RAM 2 : stockerles 64 Symboles
pilotes
Process deSortie 2
SP
index2
wena1
wena2
SP_out
Figure 2.12 : conception de l’étage « Extraction des SP ».
2.4. CONCLUSION
Dans ce chapitre, nous avons exposé la conception générale de notre système de transmission
BFDM ainsi que son architecture interne en détaillant les différents blocs ou modules qui le
constituent. Le chapitre suivant présentera l’implémentation de ces différents modules et
quelques captures d’écrans expliquant la génération du Core XFFT de Xilinx.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 46/99
35
Chapitre 3 : Implémentation
sur FPGA de
l’émetteur/récepteur BFDM
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 47/99
Cha p itre 3 : Imp lém enta tion de 36
3.1. I NTRODUCTION
Après avoir achevé la phase de la conception de l’architecture de notre émetteur et récepteur
BFDM, nous pouvons passer à la mise en œuvre de cette conception en exposant
l’implémentation des différents étages qui forment cet émetteur/récepteur. Mais avant cela,
nous allons décrire l’environnement de travail et les outils qui nous ont permis de mettre en
œuvre la conception déjà citée :
Pour la réalisation de ce travail, nous avons utilisé un PC Sharp IQON Core Duo 2.8Ghz, 448
Mo de RAM.
L’environnement logiciel se compose de :
- ISE 8.1i de Xilinx.
- Xilinx Core Generator.
- ModelSim 6.0c.
- Matlab 7.0.
Avec cette configuration, et à l’aide de ces outils, nous avons réalisé l’implémentation
hardware de l’émetteur/récepteur BFDM que nous allons décrire dans ce chapitre. Nous avons
choisi de partager ce chapitre en deux sections. La première décrit l’implémentation de
l’émetteur BFDM et la deuxième évoquera celle du récepteur.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 48/99
Cha p itre 3 : Imp lém enta tion de 37
3.2. IMPLEMENTATION SUR FPGA DE L’EMETTEUR
3.2.1. ETAGE DE MAPPING
Pour implémenter le bloc responsable de la modulation numérique QAM16, nous avons
réalisé les tâches suivantes :
• Déclarer un signal compteur modulo 4.
•
Déclarer un buffer de taille 4 bits.• Ecrire un Process qui à chaque front montant d’horloge lit la valeur à l’entrée du
BitStream et l’enregistre dans le nième bit du buffer où n est la valeur du compteur.
• Lorsque le compteur atteint trois, un Process détermine la valeur des outputs Iout et Qout
en fonction du contenu du buffer et de la valeur du BitStream. Les tableaux suivants
résument les valeurs des sorties Iout et Qout en fonction des 4 bits successifs A3, A2, A1
et A0 :
A0 A1 I out
0 0 00
0 1 10
1 0 01
1 1 11
Tableau 3.1 : Mapping, choix de Iout.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 49/99
Cha p itre 3 : Imp lém enta tion de 38
A2 A3 Qout
0 0 11
0 1 01
1 0 10
1 1 00
Tableau 3.2 : Mapping, choix de Qout.
D’après ces deux tableaux, nous déduisons les équations qui relient Iout et Qout avec les Ai.
Iout = A1 & A0 équation (3.1).
Qout = Not (A3 & A2) équation (3.2).
Où l’opérateur ‘&’ est l’opérateur de concaténation binaire.
Finalement, on réalise une extension de signe pour Iout et Qout pour les écrire sur 8 bits car l’IP
XFFT de Xilinx exige que la taille des données à l’entrée soit égale à 8, 10, 12 ou 16 bits.
3.2.2. GENERATION ET CONFIGURATION DE L’IP XFFT DE XILINX
En plus de l’environnement de développement ISE, Xilinx offre plusieurs outils comme Chip
Viewer, Timing Analyzer, Xpower et CORE Generator.
Nous avons utilisé ce dernier pour générer l’IP XFFT V3.1. Les étapes nécessaires pour
effectuer cette opération sont décrites par les figures 3.1, 3.2, 3.3 et 3.4.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 50/99
Cha p itre 3 : Imp lém enta tion de 39
Figure 3.1 : Interface de l’outil Xilinx CORE Generator.
Au démarrage de l’outil, nous devons créer un nouveau projet. Le nom complet du projet ne
doit pas contenir des espaces, si non l’outil ne va pas pouvoir générer de core. Ensuite, on
cherche le produit qu’on veut générer (dans notre cas « Fast Fourier Transform ») et sur le
volet de droit, on aperçoit une brève 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 paramètres qui sont proposés. En cliquant sur le
lien « Customize », on passe à la phase « personnalisation du core » qui comprend trois
étapes.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 51/99
Cha p itre 3 : Imp lém enta tion de 40
Figure 3.2 : Configuration du core XFFT, interface 1.
Dans cette interface, nous observons le schéma logique du core avec ses différentes broches et
nous devons configurer la taille et le type de l’FFT ; le type Pipelined, Streaming I/O est celui
qui nous convient puisqu’il permet de calculer la transformée de Fourier sans arrêter le flux
des symboles à l’entrée. On passe maintenant à la deuxième interface en cliquant sur le
bouton « Next ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 52/99
Cha p itre 3 : Imp lém enta tion de 41
Figure 3.3 : Configuration du core XFFT, interface 2.
La deuxième interface nous permet de choisir le nombre de bit sur lequel sont codés l’entrée
et le facteur de phase (incrément 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 l’FFT soit tronquée sur 8 bits. La
dernière interface de la configuration du core est illustrée par la figure 3.4.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 53/99
Cha p itre 3 : Imp lém enta tion de 42
Figure 3.4 : Configuration du core XFFT, interface 3.
Finalement, nous sélectionnons le nombre de stages qui utilisent des blocs Ram et nous
précisons que le core doit générer un output dans l’ordre naturel ou bien dans l’ordre bit
Reverse (voir annexe A), le choix « ordre naturel » consomme une Ram supplémentaire.
Arès avoir terminé la phase de configuration du core, nous cliquons sur le bouton
« Generate » et voilà, nous venons de générer le core XFFT de Xilinx. Reste maintenant à
créer le fichier « wrapper » qui permet d’instancier le core et de l’inclure dans notre projet en
affectant à ces broches les signaux convenables.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 54/99
Cha p itre 3 : Imp lém enta tion de 43
3.2.3. FILTRAGE A L’EMISSION
Ce bloc constitue la partie la plus compliquée de l’émetteur. Pour l’implémenter, nous avons
créé ces fichiers :
• Index_gen.vhd : qui a pour rôle de générer l’adressage des entrées Iin et Qin.
• Index_circ_gen.vhd : qui a pour rôle de calculer l’adresse correspondant à celle des
entrées après un décalage circulaire pour l’utiliser au niveau de l’extraction de la
valeur de la forme d’onde.
• Rom_fi.vhd : c’est une Rom dans laquelle nous avons sauvegardé les valeurs des
échantillons de la forme d’onde, on lui donne l’adresse circulaire et elle nous fourniela valeur de l’échantillon correspondant.
• Multiply_fi.vhd : permet de multiplier les entrées Iin et Qin par la valeur de
l’échantillon de la forme d’onde 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 résultats de la
multiplication de la forme d’onde par les copies des entrées Iin et Qin, et qui envoie en
sortie deux blocs de taille 1024 échantillons.• Organizer.vhd : récupère les deux blocs envoyés par la Ram et construit la sortie qui
correspond à un bloc de 1280 échantillons. Ce bloc fonctionne avec deux rythmes
d’horloge, 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 qu’on vient
de citer.
La figure 3.5 illustre la déclaration du composant index_circ_gen :
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 55/99
Cha p itre 3 : Imp lém enta tion de 44
entity adress_circ is
Port ( reset : in STD_LOGIC;
clk : in STD_LOGIC;
iteration : in STD_LOGIC_VECTOR (3 downto 0);
offset : in STD_LOGIC_VECTOR (2 downto 0);
index : 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. SELECTION DES PORTEUSES ET INSERTION DES SYMBOLES
PILOTES
Pour réaliser 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 d’écriture avec forçage à zéro de la sortie pour les sous porteuses désactivées.
• Read_insert.vhd : ce composant comprend un process de lecture de l’entrée data_in au
rythme de clock_in, un process Mux qui translate l’adresse de lecture pour obtenir
l’adresse d’écriture dans la dram et enfin un process de sortie qui libère la sortie
formée par data_in, les symboles pilotes et les zéros.
La figure 3.6 présente la déclaration du comosant « block_dram.vhd ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 56/99
Cha p itre 3 : Imp lém enta tion de 45
entity blockdram is
generic(
depth : integer := 1024;
Dwidth : integer := 8;
Awidth : integer := 10
);
port (
reset : IN std_logic;
addra : IN std_logic_VECTOR (Awidth-1 downto 0);
clk1 : IN std_logic; -- pour l'écriture dans le buffer
addrb : IN std_logic_VECTOR (Awidth-1 downto 0);
clk2 : IN std_logic;-- pour la lecture
data_in : IN std_logic_VECTOR (Dwidth-1 downto 0);
wea : IN std_logic;
renabl : IN std_logic;
data_out: OUT std_logic_VECTOR (Dwidth-1 downto 0)
);
end blockdram;
Figure 3.6 : Déclaration du composant « Blockdram ».
3.2.5. GENERATEUR D 'HORLOGES
Le principe du générateur étant présenté dans le chapitre dédié à la conception, et étant donné
que la génération des différentes horloges est réalisée d’une façon identique, il suffit donc de
changer quelques paramètres pour obtenir un autre rythme d’horloge.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 57/99
Cha p itre 3 : Imp lém enta tion 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 : Déclaration du composant « clk_gen ».
3.3. IMPLEMENTATION DU RECEPTEUR BFDM
Une fois l’implémentation de l’émetteur terminée, la mise en œuvre du récepteur devient plus
facile en raison de la ressemblance des codes de leurs composants. Pour l’étage FFT, nous
n’allons pas régénérer le core XFFT puisque parmi ces entrées 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 généré pour l’émetteur et modifier dans le fichier « wrapper » la valeur
attribuée à la broche « FWD_INV ».
Nous allons donc commencer par exposer l’implémentation de l’étage de filtrage. Ensuite,
nous passerons à l’implémentation des blocs « Extraction des symboles pilotes » et
« Démapping ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 58/99
Cha p itre 3 : Imp lém enta tion de 47
3.3.1. ETAGE DE FILTRAGE A LA RECEPTION
L’implémentation de l’étage qui réalise l’opération de filtrage à la réception est semblable à
celle de l’émetteur ; les différences entre ces deux blocs sont résumées dans le tableau 3.3.
Emission Réception
Nbre d’échantillons à l’entrée 1024 1280
Nbre d’échantillons à la sortie 1280 1024
Duplication du symbole à l’entrée 10 fois 8 fois
Tableau 3.3 : Différences dans le fonctionnement des étages de filtrage
En plus de ça, la forme d’onde à l’émission est différente de celle à la réception donc nous
devons créer une autre Rom pour sauvegarder les échantillons de la forme d’onde.
Pour implémenter l’étage de filtrage à la réception selon la conception illustrée dans la figure
2.10, nous avons tiré profit des codes sources de l’émetteur sur lesquels nous avons effectué
les changements nécessaires pour les adapter au fonctionnement du récepteur. La figure 3.8
expose la déclaration du composant « Organizer ».
entity organizer is
Port ( reset : in STD_LOGIC;
clk : in STD_LOGIC; -- horloge pour l'input
clk2 : in STD_LOGIC; -- horloge pour la sortie
add_in : in STD_LOGIC_VECTOR (10 downto 0) ;
decalage : in STD_LOGIC_VECTOR (3 downto 0) ;
I1 : in STD_LOGIC_VECTOR (19 downto 0) ;
I2 : in STD_LOGIC_VECTOR (19 downto 0) ;
Q1 : in STD_LOGIC_VECTOR (19 downto 0) ;
Q2 : in STD_LOGIC_VECTOR (19 downto 0) ;
start_trans : out STD_LOGIC;
data_out1 : out STD_LOGIC_VECTOR (19 downto 0) ;
data_out2 : out STD_LOGIC_VECTOR (19 downto 0));
end organizer;
Figure 3.8 : Déclaration du bloc « Organizer ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 59/99
Cha p itre 3 : Imp lém enta tion de 48
Pour les autres composants, nous avons réalisé beaucoup de changements pour pouvoir les
adapter au contexte du filtrage à la réception.
3.3.2. EXTRACTION DES SYMBOLES PILOTES
Pour mettre en œuvre l’étage de l’extraction des symboles pilotes, nous avons utilisé deux
RAM de tailles différentes, un multiplexeur, un process de lecture et deux process de sortie, le
premier est responsable des échantillons de données et le deuxième libère en sortie les
symboles pilotes.
Le multiplexeur permet de :
• Calculer en fonction de l’adresse d’entrée, l’adresse d’écriture dans la RAM des
données appelée addres_in1.
• Calculer en fonction de l’adresse d’entrée, l’adresse d’écriture dans la RAM des
symboles pilotes appelée addres_in2.
• Sélectionner et désélectionner les broches « write enable » des deux RAM que nous
avons appelées wena_1 et wena_2.
La figure 3.9 présente la déclaration du bloc « Sélection des porteuses et extraction des SP ».
entity read_extract is
generic(
Dwidth : integer := 8
);
Port (
reset : in STD_LOGIC;
start : in STD_LOGIC;
clk1 : in STD_LOGIC;
clk2 : in STD_LOGIC;
clk3 : in STD_LOGIC;
data_inI : in STD_LOGIC_VECTOR (Dwidth - 1 downto 0);
data_inQ : in STD_LOGIC_VECTOR (Dwidth - 1 downto 0);
data_out1_I : out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);-- data
data_out1_Q : out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);
data_out2_I : out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);-- SP
data_out2_Q : out STD_LOGIC_VECTOR (Dwidth - 1 downto 0);
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 60/99
Cha p itre 3 : Imp lém enta tion 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 : out STD_LOGIC_VECTOR (9 downto 0);
enbl_next : out STD_LOGIC);
end read_extract;
Figure 3.9 : Déclaration du bloc « Sélection des porteuses et extraction des SP ».
3.3.3. DEMAPPING
Pour réaliser l’implémentation de l’étage responsable de la démodulation numérique, nous
avons choisi de créer deux process :
• Le premier est responsable de la lecture des entrées I in et Qin à une fréquence de
l’horloge clk_in.
• Le deuxième convertie les symboles en un mot binaire composé de quatre bits et les
libère en série à un rythme d’horloge clk_out qui est quatre fois plus rapide que celui
de clk_in.
Nous présentons dans la figure 3.10 la déclaration du composant « Démapping ».
entity demapping is
Port (
reset : in STD_LOGIC;
start : in STD_LOGIC;
clk_in : in STD_LOGIC;
clk_out : in STD_LOGIC;
Iin : in STD_LOGIC_VECTOR (7 downto 0);
Qin : in STD_LOGIC_VECTOR (7 downto 0);
enbl_next : out STD_LOGIC;
bitstream :out STD_LOGIC);
end demapping;
Figure 3.10 : Extrait du code de l’étage « Demapping »
3.4. CONCLUSION
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 61/99
Cha p itre 3 : Imp lém enta tion de 50
Ainsi nous avons exposé dans ce chapitre la réalisation de l’émetteur/récepteur BFDM en
respectant la conception élaborée précédemment. Il ne nous reste que de faire les tests de
simulation afin de s’assurer de son bon fonctionnement, c’est ce qui sera l’objet du prochain
chapitre.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 62/99
51
Chapitre 4 : Simulation et
Synthèse de
l’émetteur/récepteur BFDM
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 63/99
52Co nc lusion e t
4.1. Introduction
Après avoir achevé l’implémentation de l’émetteur/récepteur BFDM et pour valider le travail
effectué, nous commencerons la phase de vérification 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 organisée en deux sections. Nous présenterons dans la première
les résultats de simulation et dans la deuxième les résultats de synthèse de
l’émetteur/récepteur BFDM.
4.2. R ESULTATS DE SIMULATION DE L 'EMETTEUR /RECEPTEUR
BFDM
4.2.1. MAPPING ET DEMAPPING
L’étage Mapping constitue le premier bloc que traverse l’information au niveau de l’émetteur.
Pour tester son fonctionnement, nous avons créé un testbench qui présente au niveau del’entrée « bitStream » la séquence binaire suivante « 1011100101001110 ». Appliquons le
principe de la modulation QAM16 :
1. Nous commençons par lire l’entrée par groupe de quatre bits, nous avons donc les
mots suivant : « 1011 », « 1001 », « 0100 » et « 1110 ».
2. La conversion de ces mots donne :
« 1011 » Iout = « 10 » et Qout = « 00 »
« 1001 » Iout = « 10 » et Qout = « 10 »
« 0100 » Iout = « 01 » et Qout = « 11 »
« 1110 » Iout = « 11 » et Qout = « 01 »
3. Après l’extension de signe nous obtiendrons les sorties successives suivantes :
i) Iout = « 11111110 » et Qout = « 00000000 »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 64/99
53Co nc lusion e t
ii) Iout = « 11111110 » et Qout = « 11111110 »
iii) Iout = « 00000001 » et Qout = « 11111111 »
iv) Iout = « 11111111 » et Qout = « 00000001 »
Le résultat de simulation de l’étage « Mapping » présenté dans la figure 4.1 est identique au
résultat qu’on vient de calculer. Nous avons ajouté un signal à la sortie de ce bloc qui est
« enbl_next_load », son utilité est d’annoncer au bloc suivant le début du symbole avant un
cycle d’horloge.
Figure 4.1 : Simulation de l’étage « Mapping ».
Nous récupérons la sortie de ce testbench (Iout et Qout) et nous créons un autre testbench pour
simuler le fonctionnement du bloc « Démapping » et nous appliquons aux entrées Iin et Qin la
sortie qu’on vient de récupérer du premier testbench. Le résultat de cette simulation comme le
montre la figure 4.2 correspond bien à la séquence binaire initiale, c'est-à-dire :
« 1011100101001110 ».
Figure 4.2 : Simulation de l’étage « Démapping » et visualisation du bitStream.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 65/99
54Co nc lusion e t
4.2.2. SELECTION, INSERTION ET EXTRACTION DES SYMBOLES PILOTES
Avant d’exposer le résultat de simulation du code responsable de la sélection des sous-
porteuses et de l’insertion des symboles pilotes, nous rappelons le principe de fonctionnement
de ce bloc :
• L’entrée de ce bloc est un symbole de données constitué par 768 échantillons
successifs.
• Ce bloc insère 192 échantillons nuls au milieu du symbole de données.
• Il insère 64 échantillons correspondants aux symboles pilotes répartis dans les
positions définies dans la figure 2.6.
• La sortie de ce bloc est donc un symbole de taille 1024 échantillons composés de
données, d’échantillons nuls et de symboles pilotes.
Du côté du récepteur, le bloc « Extraction des symboles pilotes » réalise l’opération inverse. Il
permet d’éliminer les échantillons nuls et de récupérer les données 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 sinusoïdal et qui
récupère la sortie et l’enregistre dans un fichier texte. Le deuxième testbench lit les
échantillons data_ini à partir du fichier texte et les applique à l’entrée du bloc « Extraction des
symboles pilotes ». Les symboles pilotes et les données seront séparés et récupérés
respectivement dans les signaux data_out2i et data_out1i. Les figures 4.3 et 4.4 présentent le
résultat de simulation des deux testbenchs.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 66/99
55Co nc lusion e t
Figure 4.3 : Simulation du bloc « insertion des symboles pilotes ».
Figure 4.4 : Simulation du bloc « Extraction des symboles pilotes ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 67/99
56Co nc lusion e t
4.2.3. SIMULATION DU CORE XFFT :
Etant donné que nous n’avons pas implémenté l’étage responsable de la réalisation de la
transformée de Fourier et que nous avons utilisé l’IP XFFT de Xilinx, nous devons réaliser
plusieurs simulations pour être sûr qu’il fonctionne et qu’il fournit le bon résultat ; surtout que
dans le rapport de cet IP (Information Report), il est mentionné que ce core ne fournit pas le
bon résultat avec la famille Virtex4. Nous avons donc testé le core avec un signal entrée
constant {xn_re = « 01000000 » et xn_im = « 00000000 »} puis avec un signal sinus et enfin
avec un signal Rect. Les résultats de simulation concordent avec ceux des simulations
réalisées avec Matlab en présence de quelques erreurs de quantification. La figure 4.5
présente le résultat de la simulation de l’FFT d’un signal Rect et la figure 4.6 correspond à un
zoom sur la région de début de la sortie de l’FFT.
Figure 4.5 : Simulation du Core XFFT en mode ‘Forward’ (i.e. FFT).
Figure 4.6 : Zoom sur le début de la sortie de l’FFT.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 68/99
57Co nc lusion e t
4.2.4. FILTRAGE
Pour valider l’opération de filtrage, nous avons réalisé les tâches suivantes :
• Créer 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.
• Récupérer la sortie du bloc filtrage dans un fichier texte à l’aide du testbench et grâce
à la bibliothèque Textio ; (nous avons testé avec des sorties sur 8, 12 et 18 bits).
• Visionner avec Matlab le résultat de filtrage en lisant les échantillons à partir du
fichier texte.
• Implémenter avec Matlab le bloc filtrage.
• Comparer les résultats des deux implémentations.
L’opération de vérification nous conduit à la figure 4.7 (dans le cas du résultat sur 18 bits).
Figure 4.7 : Superposition des courbes de filtrage.
Si dans le code de filtrage avec Matlab on introduit l’effet de quantification en quantifiant leséchantillons de la forme d’onde sur 10 bits, on obtient deux courbes presque superposées. En
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 69/99
58Co nc lusion e t
revanche, nous remarquons la présence de trois faux échantillons qui résulte du dépassement
(overflow) lors de l’addition sur un nombre de bits constant.
Figure 4.8 : introduction de l’effet de quantification sur l’opération de filtrage.
4.2.5. GENERATEUR D’HORLOGES
Le bloc générateur d’horloges permet de construire des signaux horloges synchronisés à partir
d’un signal clock appliqué à son entrée. Le principe de la génération d’un rythme à partir d’un
autre est décrit dans le deuxième chapitre mais nous n’avons pas précisé l’importance 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 présenterons la simulation du bloc
« générateur d’horloges » avec les initialisations convenables.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 70/99
59Co nc lusion e t
Figure 4.9 : observation du déphasage entre les signaux horloges générés.
D’après cette figure, nous constatons :
• Le premier signal horloge qui passe à l’état ‘1’ est le signal clk1. On rappelle que sa
période T1 vérifie l’équation suivante : T1 = 10 * T (clk).
• Le deuxième signal horloge, qui est clk4, présente un retard de 7 * T (clk) par rapport à
clk1.
• Le troisième signal horloge est clk3, il présente un retard de 10 * T (clk) par rapport à
clk1.
• Le dernier signal horloge est clk2, il présente un retard de 15 * T (clk) par rapport à clk1.
Pour corriger ce défaut, nous allons annuler les retards des signaux horloges en translatant lavaleur initiale du compteur de chaque process responsable de la génération d’un signal clk i.
Par exemple, la valeur initiale du compteur de clk2 est : Vi2 = 1 + (retard de clk2) = 16.
Ainsi, les valeurs initiales des différents compteurs sont résumées dans le tableau 4.1.
Signal horloge Valeur de Demi-période Retard considéré Valeur initiale
Clk1 5 0 1
Clk2 20 15 16
Clk3 15 10 11
Clk4 12 7 8
Tableau 4.1 : valeurs initiales des compteurs pour le générateur d’horloges.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 71/99
60Co nc lusion e t
Après la correction des valeurs initiales, nous obtenons des signaux horloges parfaitement
synchronisés et qui commencent tous en même temps. La nouvelle simulation du bloc
« générateur d’horloges » se présente dans la figure 4.10.
Figure 4.10 : simulation du générateur d’horloges.
4.3. R ESULTATS DE SYNTHESE DE L 'EMETTEUR /RECEPTEUR
BFDM
Nous avons effectué a synthèse en prenant en considération ce qui suit :
• D’abord notre système demande des ressources qui dépassent les capacités d’un 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 génère pour une
carte Spartan3, sa simulation donne un résultat correct mais il n’est pas synthétisable
puisqu’il 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 réaliser la synthèse des composants de l’émetteur et du récepteur
séparément et nous exploiterons les rapports de consommation des ressources et le « Timing
Report » pour dégager les délais ou retard générés par notre code. Les tableaux générés par
l’ISE pour résumer la synthèse des composants ont été recopiés dans l’annexe C.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 72/99
61Co nc lusion e t
4.3.1. SYNTHESE DE L’ETAGE MAPPING
D’après 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 synthèse du bloc « Mapping » nous a permis de dégager la valeur de la période
minimale, elle est de 1.902 ns, ce qui fait que ce bloc peut fonctionner à la fréquence
maximale : f max = 525.762 MHz.
La figure 4.11 illustre le schéma RTL du bloc « Mapping » vu de l’extérieur et la figure 4.12
présente le Netlist de ce bloc.
Figure 4.11 : Schéma RTL externe du bloc « Mapping ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 73/99
62Co nc lusion e t
Figure 4.12 : Schéma RTL interne du bloc « Mapping ».
4.3.2. SYNTHESE DE L’ETAGE DEMAPPING
Le bloc « Demapping » occupe 2 Slices parmi les 6144 Slices offertes par le circuit Virtex4
soit un pourcentage d’occupation de 0.0325% (voir tableau C.2). Pour ce bloc, la valeur de la
période minimale est de 1.692 ns, et donc la fréquence maximale est : f max = 591.016 MHz.
Le schéma RTL externe du bloc « Demapping » est présenté dans la figure 4.13 et la figure
4.14 correspond au Netlist de ce bloc.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 74/99
63Co nc lusion e t
Figure 4.13 : Schéma RTL externe du bloc « Demapping ».
Figure 4.14 : Schéma RTL interne du bloc « Démapping ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 75/99
64Co nc lusion e t
4.3.3. SYNTHESE DU BLOC « SELECTION DES PORTEUSES ET INSERTION
DES SP »
La synthèse de l’étage responsable de la sélection des porteuses actives et de l’insertion 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 période minimale est de 5.181 ns, et donc la fréquence maximale est : f max =
193.013 MHz.
La figure 4.15 illustre le schéma RTL externe du bloc « Sélection des porteuses et insertion
des SP » et la figure 4.16 présente le Netlist du composant block_dram qui est un composant
inclus dans l’architecture de l’étage de sélection et insertion des symboles pilotes.
Figure 4.15 : Schéma RTL externe du bloc « Sélection des porteuses et insertion des SP ».
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 76/99
65Co nc lusion e t
Figure 4.16 : Schéma RTL interne du composant Block_dram.
4.3.4. SYNTHESE DU BLOC « SELECTION DES PORTEUSES ET
EXTRACTION DES SP »
Cet étage qui appartient au récepteur occupe 160 Slices parmi les 6144 donc 2.606% des
Slices disponibles et il réserve 4 FIFO16/RAMB16s parmi les 48 RAMB16s présentes dans la
Virtex4.
La valeur de la période minimale est de 4.492 ns, et donc la fréquence maximale est : f max =
222.618 MHz.
Le schéma RTL externe de ce bloc est présenté dans la figure 4.17
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 77/99
66Co nc lusion e t
Figure 4.17 : Schéma RTL externe du bloc « Sélection des porteuses et extraction des SP ».
4.3.5. SYNTHESE DU BLOC « GENERATEUR D’HORLOGES »
Après sa synthèse, le composant clock_generator consomme 21 Slices parmi les 6144
disponibles c'est-à-dire 0.342% des ressources du circuit. Sa période minimale de
fonctionnement étant 2.247 ns donc ce bloc peut fonctionner à une fréquence maximale : f max
= 445.038 MHz.
Puisque ce composant est responsable de la génération des horloges nécessaires pour le
fonctionnement de l’émetteur et du récepteur, et le signal clk est plus rapide que tous les
autres signaux horloges (clk1, clk2, clk3 et clk4) donc sa fréquence de fonctionnement
maximale va décider de la valeur des fréquences de fonctionnement des autres blocs. D’après
les équations (2.5), (2.6), (2.7) et (2.8) nous déduisons les fréquences de fonctionnement des
blocs clk_generator (f), mapping (f 1), Sélection des porteuses et insertion des SP (f 2 et f 3),
IFFT (f 3) et filtrage (f 3 et f 4).
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 78/99
67Co nc lusion e t
Le schéma RTL externe de ce bloc est décrit dans la figure 4.18.
Figure 4.18 : Schéma RTL externe du bloc « Générateur d’horloges »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 79/99
68Co nc lusion e t
4.3.6. SYNTHESE DU BLOC « FILTRAGE »
Parmi les composants du bloc filtrage, nous avons deux qui ne sont pas synthétisables, il
s’agit de « mybuffer.vhd » et « organizer.vhd ». Le problème est que le compilateur n’arrive
pas à identifier les composants FIFO/RAM à l’intérieur du code vu sa complexité. Pour
corriger cette erreur, nous devrons simplifier le code de mybuffer et de l’organizer en séparant
les traitements d’adressage et d’accès à la partie RAM. Cette correction devrait rendre le code
synthétisable puisque les deux composants demandent ensemble 24 RAMs de taille 1024
échantillons et 2 RAMs de taille 1280 échantillons du côté de l’émetteur alors que le filtrage à
la réception demande 20 RAMs de taille 1280 échantillons et 2 RAMs de taille 1024
échantillons.
Nous avons donc réalisé la synthèse 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 stockés les échantillons de la forme d’onde.
o Multiply_fi : qui réalise la multiplication des entrées (Iin et Qin) par la forme
d’onde et tronque le résultat sur la taille de la sortie qu’on veut obtenir.
Le composant fi_mul_i consomme 1177 Slices parmi les 6144 disponibles c'est-à-dire
19.157% des ressources du circuit. Sa période minimale de fonctionnement étant 6.274 ns
donc ce bloc peut fonctionner à une fréquence maximale : f max = 159.388 MHz.
Le schéma RTL externe de ce bloc est décrit dans la figure 4.19.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 80/99
69Co nc lusion e t
Figure 4.19 : Schéma RTL externe du bloc « Fi_mul_i ».
Nous récapitulons dans le tableau 4.2 les résultats de synthèse des différents blocs de
l’émetteur/récepteur BFDM.
Désignation Occupation en termes
de ressources
Fréquence
maximale possible
Fréquences de
fonctionnement
Mapping 7 Slices 525.762 MHz 44.5 MHz
Démapping 2 Slices 591.016 MHz 11.3 MHz et 44.5 MHz
Insertion des SP 64 Slices et 2 RAMs 193.013 MHz 11.13 MHz et 14.83 MHz
Extraction des SP 160 Slices et 4 RAMs 222.618 MHz 11.13 MHz et 14.83 MHz
Générateur d’horloges 21 Slices 445.038 MHz 445 MHz
Filtrage \ addres_gen 83 Slices 159.388 MHz 14.83 MHz et 18.54 MHz
Filtrage \fi_mul_i 1177 Slices 159.388 MHz 14.83 MHz et 18.54 MHz
Tableau 4.2 : Récapitulation des résultats de synthèse
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 81/99
70Co nc lusion e t
4.4. CONCLUSION
La phase de validation de l’implémentation est une phase importante et demande beaucoup
plus de temps que les autres phases du travail. Elle permet de détecter et de corriger les
erreurs grâce à la simulation RTL.
Dans ce dernier chapitre nous avons simulé le fonctionnement des blocs constituants
l’émetteur et le récepteur BFDM implémentés, cette simulation a permis de confirmer la
validité du code implémenté. En deuxième lieu, nous avons présenté le résultat de synthèse
des différents étages de l’émetteur/récepteur ; cela nous a mené à conclure qu’il reste encore à
optimiser le code de certains composants du bloc filtrage pour obtenir un émetteur BFDM
synthétisable sur FPGA et pareillement pour le récepteur.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 82/99
71Co nc lusion e t
Conclusion et Perspectives
Dans le présent mémoire, nous avons commencé par étudier les techniques de modulation
OFDM/BFDM, leur principe, la méthode de leur implantation numérique et les limites de la
modulation OFDM conventionnelle. Nous avons ensuite élaboré dans le deuxième chapitre la
conception de notre système BFDM, à savoir l’émetteur et le récepteur, en détaillant les
différents étages qui les constituent. Le troisième chapitre a été consacré à la présentation de
l’implémentation réalisée. Enfin, grâce à la simulation RTL effectuée avec l’outil ModelSim,
nous avons observé le fonctionnement des composants de l’émetteur et du récepteur dans le
but de valider le code VHDL écrit. La synthèse de ces composants a révélé la présence de
défauts au niveau du code de deux composants du bloc filtrage. Ces codes restent donc à
optimiser pour pouvoir les synthétiser sur FPGA.
Le projet d’implantation du système BFDM ne s’arrête donc pas là. Les prochaines étapes
seraient d’optimiser le code de l’étage de filtrage et d’implémenter les blocs responsables de
l’estimation du canal, de l’égalisation fréquentielle et de la synchronisation temporelle. Ainsi
nous obtiendrons un système complet capable de concurrencer et de devancer les solutions de
télécommunication présents sur le marché actuel des TIC.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 83/99
72
Bibliographie
[1] G. BAUDOIN, Radiocommunications numériques, Tome 1 : Principes, modélisation et
simulation, Dunod Electronique, 2002.
[2] J.H. STOTT, « The how and why of COFDM », EBU Technical Review, 1998.
[3] B. ESCRIG «Communications Numériques, cours», ENSEIRB, Septembre 2005.
[4] N.Debbabi, M.Siala and H.Boujemâa, « 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 systèmes OFDM/BFDM avec formes d'onde
optimisées dans le cadre de canaux radio-mobiles sélectifs en temps et en fréquence. »,
Rapport de Mastère, Ecole Polytechnique de Tunisie, 2007.
[6] M. Siala, « Optimisation de la forme d'onde d'un système OFDM. », Rapport interne
Smart-Waves, Sup'Com, Tunis, 2005.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 84/99
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] Référence 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.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 85/99
74Annex
Annexe A : Caractérisation de
l’environnement Radio-
mobile
Généralement, la propagation en environnement radio-mobile est perturbée par trois types de
variations : grande, moyenne et petite échelle. Ces variations sont dues à des mécanismes de
base qui affectent la propagation du signal en environnement radio-mobile comme la
réflexion et la diffusion.
1. LES VARIATIONS A GRANDE ET MOYENNE ECHELLE
Les variations à grande et moyenne échelle se manifestent par l’affaiblissement 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 référence, sa valeur est variable en fonction du type de
l’environnement étudié : macro cellule, micro cellule, pico cellule, la valeur de n dépend de la
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 86/99
75Annex
fréquence, de la hauteur de l’antenne et de l’environnement de propagation. Dans l’espace
libre, n est généralement égal à deux.
Et enfin, Xσ est une variable aléatoire gaussienne de moyenne nulle avec un écart type égal à
σ.
2. LES VARIATIONS A PETITE ECHELLE
Les variations à petite échelle réfèrent aux changements de l’amplitude et de la phase du
signal reçu causés par des petites variations (de l’ordre de la longueur d'onde). Les variations
à petite échelle se manifestent de deux manières : la dispersion du signal dans le temps et
l’aspect changeant du canal au cours du temps. En ce qui concerne la dispersion du signal, on
distingue entre canal sélectif en fréquence et non sélectif en fréquence. Pour l’aspect
changeant du canal au cours du temps, on distingue entre fading rapide et fading lent.
3. MODELE DE CANAL
Pour caractériser le canal radio-mobile, on peut utiliser deux modèles de canaux :
- canal invariant dans le temps modèle statique.
- canal variable dans le temps modèle dynamique.
3.1. MODELE STATIQUE DU CANAL RADIO-MOBILE
La réponse impulsionnelle d’un canal multi-trajets est donnée par l'équation a1.2
Où L est le nombre de trajets, τl est le délai du trajet l, αl son amplitude et θl sa phase.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 87/99
76Annex
On définit le délai 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 sélectif en fréquence ou bien le canal est à
fading plat. Donc deux cas se présentent :
- Tm > Ts : le canal est dit sélectif en fréquence ce qui donne lieu à des interférences entre
symboles (IES).
- Tm < Ts : le canal est considéré dans ce cas à fading plat, c'est-à-dire que les copies d'un
symbole transmis et qui parcourent différents chemins arrivent tous durant la période
symbole. Dans ce cas là, on n'a pas d'IES.
On définit également la bande de cohérence Bc comme la bande de fréquence pour la quelle le
canal présente une réponse constante
Soit Bs = 1/Ts la bande occupée par le signal utile, on dit que :
• le canal est sélectif en fréquence si Bs << Bc .
• le canal est non sélectif en fréquence ou à fading plat (frequency non selective) si B s>>
Bc.
Pour éviter l’IES induite par le canal, le canal doit montrer un évanouissement plat en
assurant que Bc << 1/Ts.
3.2. MODELE DYNAMIQUE DU CANAL RADIO-MOBILE
Passons maintenant à une autre propriété du canal radio-mobile; à cause du mouvement du
récepteur par rapport à l’émetteur qui entraîne le changement des parcours de propagation du
signal, le canal est aperçu par le récepteur comme un canal variable au cours du temps. Ainsi,
la réponse impulsionnelle du canal sera modélisée par l’expression :
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 88/99
77Annex
Afin de caractériser l'évolution temporelle du canal, on définira deux paramètres qui sont
l'étalement Doppler et le temps de cohérence.
Supposons qu'un signal est émis à la fréquence f e. A cause de la mobilité du récepteur, il sera
reçu à la fréquence f r = f e + f d, où f d est le décalage Doppler défini par :
Avec v, f e, c et θd sont respectivement la vitesse du mobile, la fréquence du signal émis, la
célérité de la lumière et l’angle d’arrivée entre l’onde 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 considéré à fading rapide si la bande occupée par le signal Bs est inférieure à la
fréquence Doppler. Inversement, un canal est à fading lent si Bs> f d.
Tout comme la bande de cohérence, on définit le temps de cohérence T c , qui caractérise la
dispersion fréquentielle du canal. Cette valeur est la durée pendant laquelle la réponse
impulsionnelle du canal peut être considérée comme constante ou stationnaire. Ce paramètre
est crucial dans la modélisation d’un système de communication radio-mobile. En effet, il
détermine la durée pendant laquelle l’estimation du canal est toujours acceptable. Si la durée
de la transmission dépasse le temps de cohérence, il est nécessaire de ré-éstimer le canal.
Le mécanisme de rapidité des évanouissements du canal induit une classification de canaux en
deux types: canaux à fading rapide et d’autres à 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 durée pendant laquelle le canal se
comporte de manière corrélée est longue en comparaison à la durée symbole. Dans ce cas, le
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 89/99
78Annex
canal peut rester invariant durant la période de transmission d’un ou de plusieurs symboles
successifs.
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 90/99
79Annex
Annexe B : Le CORE XFFT
de Xilinx
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 91/99
80Annex
Figure : les broches du CORE XFFT
Nom Largeur Direction Description
XN_RE 8 In Données, partie réelle
XN_IM 8 In Données, partie imaginaire
START 1 In Début du calcul, actif niveau haut
UNLOAD 1 In Pas nécessaire dans le cas
Pipelined/Streaming IO
NFFT 5 In Nombre de porteuses en puissance de 2.
Dans notre cas c’est 10
NFFT_WE 1 In Validation de NFFT
FWD_INV 1 In Fonctionnement FFT ou IFFT
FWD_INV_WE 1 In Validation de FWD_INV
SCALE_SCH 2*E(NFFT/2) In Programme de troncature, la séquence
convenable pour l’FFT de taille 1024 est[1010101011]
SCALE_SCH_WE 1 In Validation de SCALE_SCH
SCLR 1 In Reset synchrone
CE 1 In Validation de CLK
CLK 1 In Signal horloge
XK_RE[(B-1):0] 8 Out Sortie calculée, composante réelle
XK_IM[(B-1):0] 8 Out Sortie calculée, composante imaginaire
XN_INDEX 10 Out Index de l’entrée
XK_INDEX 10 Out Index de la sortie
RFD 1 Out Ready for data
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 92/99
81Annex
BUSY 1 Out Indique que le core est entrain de calculer
la transformée
DV 1 Out Indique que la sortie est valide
EDONE 1 Out Précède DONE d’une période CLK.
DONE 1 Out Indique le début et la fin d’un bloc calculéà la sortie du core
BLK_EXP 5 Out Lorsqu’on travaille avec virgule flottante
OVFLO 1 Out Indique la présence d’un dépassement
Tableau B.1 : Résumé des broches du core XFFT
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 93/99
82Annex
Annexe C : Rapports de
synthèse
MAPPING Project Status
Project File: mapping.ise Current State: Programming File Generated
Module Name: mapping• Errors:
Target Device: xc4vlx15-12sf363• Warnings:
Product Version: ISE, 8.1i• Updated:
mar. 12. juin 12:28:54 2007
Device Utilization Summary
Logic Utilization Used Available Utilization Note(s)
Number of Slice Flip Flops 9 12,288 1%
Number of 4 input LUTs 12 12,288 1%
Logic Distribution
Number of occupied Slices 7 6,144 1% Number of Slices containing only related logic 7 7 100%
Number of Slices containing unrelated logic 0 7 0%
Total Number of 4 input LUTs 12 12,288 1%
Number of bonded IOBs 22 240 9%
Number of BUFG/BUFGCTRLs 1 32 3%
Number used as BUFGs 1
Number used as BUFGCTRLs 0
Total equivalent gate count for design 160
Additional JTAG gate count for IOBs 1,056Tableau C.1 : Synthèse du bloc « Mapping »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 94/99
83Annex
DEMAPPING Project Status
Project File: demapping.ise Current State: Placed and Routed
Module Name: demapping•
Errors: No Errors
Target Device: xc4vlx15-12sf363• Warnings:
5 Warnings (5 new, 0 filtered)
Product Version: ISE, 8.1i• Updated:
mar. 12. juin 12:34:29 2007
Device Utilization Summary
Logic Utilization Used Available Utilization Note(s)
Number of Slice Flip Flops 2 12,288 1%
Number of 4 input LUTs 3 12,288 1%
Logic Distribution
Number of occupied Slices 2 6,144 1%
Number of Slices containing only related logic 2 2 100%
Number of Slices containing unrelated logic 0 2 0%
Total Number of 4 input LUTs 3 12,288 1%
Number of bonded IOBs 9 240 3%
Number of BUFG/BUFGCTRLs 1 32 3%
Number used as BUFGs 1
Number used as BUFGCTRLs 0
Total equivalent gate count for design 53
Additional JTAG gate count for IOBs 432
Tableau C.2 : Synthèse du bloc « Démapping »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 95/99
84Annex
INSERTION Project Status
Project File: insertion.ise Current State: Programming File Generated
Module Name: read_insert• Errors:
No Errors
Target Device: xc4vlx15-12sf363• Warnings:
1 Warning
Product Version: ISE, 8.1i• Updated:
mer. 13. juin 00:58:17 2007
Device Utilization Summary
Logic Utilization Used Available Utilization Note(s) Number of Slice Flip Flops 41 12,288 1%
Number of 4 input LUTs 100 12,288 1%
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%
Total Number 4 input LUTs 101 12,288 1%
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
Total equivalent gate count for design 1,070
Additional JTAG gate count for IOBs 2,256
Tableau C.3 : Synthèse du bloc « Sélection des porteuses et insertion des SP »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 96/99
85Annex
EXTRACTION Project Status
Project File: extraction.ise Current State: Programming File Generated
Module Name: read_extract• Errors:
No Errors
Target Device: xc4vlx15-12sf363• Warnings:
43 Warnings
Product Version: ISE, 8.1i• Updated:
mer. 13. juin 00:53:49 2007
Device Utilization Summary
Logic Utilization Used Available Utilization Note(s) Number of Slice Flip Flops 61 12,288 1%
Number of 4 input LUTs 289 12,288 2%
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%
Total Number of 4 input LUTs 289 12,288 2%
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
Total equivalent gate count for design 2,520
Additional JTAG gate count for IOBs 3,936
Tableau C.4 : Synthèse du bloc « Sélection des porteuses et extraction des SP »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 97/99
86Annex
CLK_GENERATOR Project Status
Project File: clk_generator.ise Current State: Programming File Generated
Module Name: clk_gen•
Errors: No Errors
Target Device: xc4vlx15-12sf363• Warnings:
2 Warnings
Product Version: ISE, 8.1i• Updated:
mar. 12. juin 12:27:59 2007
Device Utilization Summary
Logic Utilization Used Available Utilization Note(s)
Number of Slice Flip Flops 24 12,288 1%
Number of 4 input LUTs 39 12,288 1%
Logic Distribution
Number of occupied Slices 21 6,144 1%
Number of Slices containing only related logic 21 21 100%
Number of Slices containing unrelated logic 0 21 0%
Total Number of 4 input LUTs 39 12,288 1%
Number of bonded IOBs 6 240 2%
Number of BUFG/BUFGCTRLs 1 32 3%
Number used as BUFGs 1
Number used as BUFGCTRLs 0
Total equivalent gate count for design 432
Additional JTAG gate count for IOBs 288
Tableau C.5 : Synthèse du bloc « Clock generator »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 98/99
87Annex
SYNTHESE DES COMPOSANTS DU BLOC FILTRAGE (1)
FILTRAGE Project Status
Project File: filtrage.ise Current State: Programming File Generated
Module Name: adress_generator • Errors:
No Errors
Target Device: xc4vlx15-12sf363• Warnings:
21 Warnings (0 new, 0 filtered)
Product Version: ISE, 8.1i
• Updated:
mer. 13. juin 14:43:24 2007
Device Utilization Summary
Logic Utilization Used Available Utilization Note(s)
Number of Slice Flip Flops 63 12,288 1%
Number of 4 input LUTs 101 12,288 1%
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%
Total Number 4 input LUTs 134 12,288 1%
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
Total equivalent gate count for design 1,625
Additional JTAG gate count for IOBs 1,248
Tableau C.6 : Synthèse du composant « address_generator »
5/12/2018 1abed Slim - slidepdf.com
http://slidepdf.com/reader/full/1abed-slim 99/99
88Annex
SYNTHESE DES COMPOSANTS DU BLOC FILTRAGE (2)
FILTRAGE Project Status
Project File: filtrage.ise Current State: Placed and Routed
Module Name: fi_mul_i• Errors:
No Errors
Target Device: xc4vlx15-12sf363• Warnings:
2 Warnings (2 new, 0 filtered)
Product Version: ISE, 8.1i• Updated:
mer. 13. juin 16:11:10 2007
Device Utilization Summary
Logic Utilization Used Available Utilization Note(s)
Number of Slice Flip Flops 329 12,288 2%
Number of 4 input LUTs 1,686 12,288 13%
Logic Distribution
Number of occupied Slices 1,177 6,144 19%
Number of Slices containing only related logic 1,177 1,177 100%
Number of Slices containing unrelated logic 0 1,177 0%
Total Number 4 input LUTs 1,708 12,288 13%
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 35%
Number of BUFG/BUFGCTRLs 1 32 3%
Number used as BUFGs 1
Number used as BUFGCTRLs 0
Number of DSP48s 2 32 6%
Total equivalent gate count for design 14,914
Additional JTAG gate count for IOBs 4,032
Tableau C.7 : Synthèse du composant « fi_mul_i »