Professional Documents
Culture Documents
Option :
Architectures des Systèmes de Télécommunications
Thème :
Réalisé par :
SLIM EL ABED
Encadré par :
M. Fathi TLILI
M. Mohamed SIALA
Dédicace
et ma chère mère,
pour l’éducation et le grand amour dont ils m’ont entouré depuis ma naissance.
Je dédie ce mémoire.
ii
Remerciement
Je profite de cette occasion pour remercier tous ceux qui m’ont aidé à réaliser
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
disponibilité.
Ce mémoire s’appuie sur les travaux Mlle Ismahen NASRI. Je la remercie pour
Enfin, je tiens à exprimer ma gratitude aux membres de jury qui ont accepté de
juger ce travail.
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.
La simulation avec ModelSim a permis de confirmer que l’objectif de ce projet est atteint.
BIBLIOGRAPHIE ............................................................................................ 72
Introduction générale
Nous avons choisit d’organiser ce mémoire en quatre chapitres. Le premier chapitre présente
les notions techniques des modulations OFDM et BFDM.
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.
Chapitre 1 : Principe des systèmes 5
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 TSi , 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].
Chapitre 1 : Principe des systèmes 6
Pour répartir les données à transmettre sur les N porteuses, on groupe les symboles ck 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.
c0
c1
c2
b0, b1, … c0, c1 ,
MAQ 2q
Eléments
.
.
.
.
. Symbole
cN-1
s OFDM
Les fréquences sont orthogonales si l'espace entre deux fréquences adjacentes fk et fk+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.
fk = f0 + k/Ts (1.2)
Filtre
Filtre
y(t)
Filtre
L'analyse algébrique indique que le signal de sortie s(t) est sous la forme :
Les sn sont donc obtenus par une transformée de Fourier inverse discrète des ck. 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éma
numérique suivant :
C0(
C1(
C(
S/P IFFT P/S
CN-
L'analyse théorique définit le signal discrétisé reçu au niveau du démodulateur sous la forme :
C0(
nTs C1(
Zn
S/P FFT P/S
CN-
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.
Chapitre 1 : Principe des systèmes 11
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)Ts. Pour résister contre ces
interférences, on ajoute un intervalle de garde d’une durée ∆ comme l’indique la figure (1.6).
Intervalle de
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.
Cana
1/T
1 … p Retrait Filtre de
P/ FFT P/S
préfixe réceptio
La figure 1.8 illustre un exemple d'utilisation de la modulation OFDM dans une chaine de
transmission WIFI 802.11a [3].
Emetteur
Récepteur
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.
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.
Chapitre 1 : Principe des systèmes 14
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.
Chapitre 1 : Principe des systèmes 15
1.5. C ONCLUSION
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.
16
Chapitre 2 : Conception de
l’architecture de
l’émetteur/récepteur BFDM
Chapitre 2 : Conception de l’architecture de 17
2.1. I NTRODUCTION
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.
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.
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.
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é avec
l’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 porteuses
effectivement 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).
Chapitre 2 : Conception de l’architecture de 20
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. E T A G E DE FILTRAGE
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.
0 T 2T 3T 4T 5T 6T 7T 8T
Forme d’onde
sans décalage. S0
S1
S2
S3
S4
S5
S6
S7
• 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.
Chapitre 2 : Conception de l’architecture de 23
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 (Ii 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 RAMouti 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. S E L E C T I O N D E S P O RT E U S E S A C T I V E S E T I N S E R T I O N D E S S Y M B O L E S
PILOTES
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.
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.
Chapitre 2 : Conception de l’architecture de 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 ».
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.
Chapitre 2 : Conception de l’architecture de 26
76 83 89 96 102
79 80 86 86 92 92 99 99
60 64 68 72 76
62 62 66 66 70 70 74 74
25 29 33 37 41
27 27 31 31 35 35 39 39
0 63 12 19 25
31 34 94 9 15 16 22 22
0 25 51 76 102
41 60
Porteuses
Symboles pilotes
2.2.2.4. E T A G E D E MA P P I N G
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.
2.2.2.5. G E N E R A T E U R D ’ H O RL O G E S
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 :
Cette dernière est propre à la modulation QAM16. Enfin, on ajoute l’équation suivante :
L’importance de cette équation est de permettre de déduire les différentes périodes des clki
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
clki.
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.
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.
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
Chapitre 2 : Conception de l’architecture de 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.
Bloc
Bloc non
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. E T A G E D E F I L T R A G E A L A RE C E P T I O N
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.
Chapitre 2 : Conception de l’architecture de 32
2.3.2.2. D E M A P P I N G
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.
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 enable).
Chapitre 2 : Conception de l’architecture de 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.
Reset
Clock_out
Clock_in
Data_out
Data_in data RAM1 : stocker
Process de data index1 les 768
Process de
lecture échantillons
Sortie 1
1024 échantillons Data
Mux wena1
index0
SP_out
SP
RAM 2 : stocker
index2 les 64 Symboles
Process de
Sortie 2
pilotes
wena2
2.4. C ONCLUSION
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.
35
Chapitre 3 : Implémentation
sur FPGA de
l’émetteur/récepteur BFDM
Chapitre 3 : Implémentation de 36
3.1. I NTRODUCTION
Pour la réalisation de ce travail, nous avons utilisé un PC Sharp IQON Core Duo 2.8Ghz, 448
Mo de RAM.
- 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.
Chapitre 3 : Implémentation de 37
A0 A1 Iout
0 0 00
0 1 10
1 0 01
1 1 11
A2 A3 Qout
0 0 11
0 1 01
1 0 10
1 1 00
D’après ces deux tableaux, nous déduisons les équations qui relient Iout et Qout avec les Ai.
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.
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.
Chapitre 3 : Implémentation de 39
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.
Chapitre 3 : Implémentation de 40
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 ».
Chapitre 3 : Implémentation de 41
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.
Chapitre 3 : Implémentation de 42
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.
Chapitre 3 : Implémentation de 43
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 fournie
la 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.
entity adress_circ is
clk : in STD_LOGIC;
end adress_circ;
PILOTES
Pour réaliser cet étage, nous avons créé les deux fichiers :
entity blockdram is
generic(
Dwidth : integer := 8;
Awidth : integer := 10
);
port (
reset : IN std_logic;
wea : IN std_logic;
renabl : IN std_logic;
);
end blockdram;
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.
Chapitre 3 : Implémentation de 46
entity clk_gen is
start : in STD_LOGIC;
clk : in STD_LOGIC;
end clk_gen;
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 ».
Chapitre 3 : Implémentation de 47
Emission Réception
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
end organizer;
Pour les autres composants, nous avons réalisé beaucoup de changements pour pouvoir les
adapter au contexte du filtrage à la réception.
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 :
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;
end read_extract;
3.3.3. D EMAPPING
• Le premier est responsable de la lecture des entrées Iin 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.
entity demapping is
Port (
reset : in STD_LOGIC;
start : in STD_LOGIC;
clk_in : in STD_LOGIC;
clk_out : in STD_LOGIC;
end demapping;
3.4. C ONCLUSION
Chapitre 3 : Implémentation de 50
Chapitre 4 : Simulation et
Synthèse de
l’émetteur/récepteur BFDM
Conclusion et 52
4.1. Introduction
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 de
l’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 :
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.
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 ».
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.
Conclusion et 55
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.
4.2.4. F ILTRAGE
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).
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
Conclusion et 58
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.
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.
Conclusion et 59
• 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 la
valeur initiale du compteur de chaque process responsable de la génération d’un signal clki.
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.
Clk1 5 0 1
Clk2 20 15 16
Clk3 15 10 11
Clk4 12 7 8
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.
• 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 »).
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%.
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.
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 : fmax = 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.
Conclusion et 63
La valeur de la période minimale est de 5.181 ns, et donc la fréquence maximale est : fmax =
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 ».
Conclusion et 65
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 : fmax =
222.618 MHz.
Figure 4.17 : Schéma RTL externe du bloc « Sélection des porteuses et extraction des SP ».
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.
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 : fmax = 159.388 MHz.
Nous récapitulons dans le tableau 4.2 les résultats de synthèse des différents blocs de
l’émetteur/récepteur BFDM.
4.4. C ONCLUSION
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.
Conclusion et 71
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.
72
Bibliographie
[2] J.H. STOTT, « The how and why of COFDM », EBU Technical Review, 1998.
[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.
73
[8] Xilinx LogiCORE, « Fast Fourier Transform », Data Sheet of the CORE : XFFT V3.1,
2004.
[10] IEEE Std 802.16e, Amendment and Corrigendum to IEEE Std 802.16-2004/Cor-2005.
Annexe A : Caractérisation de
l’environnement Radio-
mobile
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
Annex 75
Et enfin, Xσ est une variable aléatoire gaussienne de moyenne nulle avec un écart type égal à
σ.
3. M ODELE DE CANAL
La réponse impulsionnelle d’un canal multi-trajets est donnée par l'équation a1.2
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.
Pour éviter l’IES induite par le canal, le canal doit montrer un évanouissement plat en
assurant que Bc << 1/Ts.
3.2. M O D E L E D Y N A MI Q U E D U C A N A L R A D I O - M O B I L E
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 fe. A cause de la mobilité du récepteur, il sera
reçu à la fréquence fr = fe + fd, où fd est le décalage Doppler défini par :
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> fd.
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
Annex 78
canal peut rester invariant durant la période de transmission d’un ou de plusieurs symboles
successifs.
Annex 79
Annexe C : Rapports de
synthèse
• Warnings:
Target Device: xc4vlx15-12sf363
• Updated:
Product Version: ISE, 8.1i mar. 12. juin 12:28:54 2007
• Warnings:
Target Device: xc4vlx15-12sf363 5 Warnings (5 new, 0 filtered)
• Updated:
Product Version: ISE, 8.1i mar. 12. juin 12:34:29 2007
• Warnings:
Target Device: xc4vlx15-12sf363 1 Warning
• Updated:
Product Version: ISE, 8.1i mer. 13. juin 00:58:17 2007
• Warnings:
Target Device: xc4vlx15-12sf363 43 Warnings
• Updated:
Product Version: ISE, 8.1i mer. 13. juin 00:53:49 2007
• Warnings:
Target Device: xc4vlx15-12sf363 2 Warnings
• Updated:
Product Version: ISE, 8.1i mar. 12. juin 12:27:59 2007
• Updated:
Product Version: ISE, 8.1i mer. 13. juin 14:43:24 2007
• Warnings:
Target Device: xc4vlx15-12sf363 2 Warnings (2 new, 0 filtered)
• Updated:
Product Version: ISE, 8.1i mer. 13. juin 16:11:10 2007