Vous êtes sur la page 1sur 85

Projet Interne I3 :

Simulation dune chane de


communication UWB (Ultra Wide Band)
de type impulsionnel

Etudiants :
Bardoz Sbastien
Mammou Omar
Moysan Erika

Suiveur :
M. Villegas

En collaboration avec D. Marchaland (tudiant en thse) et en lien avec la socit


STMicroelectronics.

Anne scolaire 2003-2004

Simulation dune chane de communication UWB de type impulsionnel

Sommaire
Sommaire

Remerciements

Rsum

Abstract

Introduction

A - Considrations gnrales sur lUWB

Gnralits
Normalisation
Canal de propagation
Bibliographie

9
12
15
19

B - Modlisation

20

1 - Emission
a - Chane dmission
b - Gnrateur dimpulsion
c - Modulateur
d - Amplification, filtre et antenne
2 - Canal de propagation
a - Modle de Saleh-Valenzuela modifi
b - Modle statistique des pertes
c - Bruit
3 - Assemblage de la chane dmission et du canal de propagation
4 - Rception
a - La chane de rception
b - Dcoupage par motif
c - Retard et multiplication
d - Intgrateur
e - Dcision
5 - Chane Globale

C - Simulation

22
22
23
27
30
31
31
33
35
36
37
37
37
37
38
39
40

41

1 - Essai initial
2 Conditions favorables

42
44

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

2 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Conclusion

47

Glossaire

48

Index des figures et tableaux

50

Annexes
Annexe A : Simulation de la chane totale
Annexe B : Sources

51
52
54

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

3 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Remerciements
Les auteurs remercient M. Villegas et D. Marchaland, pour leur suivi et leur aide durant
les trois semaines de projet ; le laboratoire Sigtel, pour son accueil et ses infrastructures.

Acknowledgements
The authors wish to acknowledge M. Villegas and D. Marchaland, for their support and
their help during the three weeks of project; the Sigtel labs, for its welcome and its
infrastructures.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

4 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Rsum
Les systmes UWB (Ultra Wide Band) ont un rel enjeu pour lavenir des
tlcommunications, systmes de 4G (Quatrime gnration). En effet, les systmes UWB pourront
tre utiliss aussi bien dans le cadre des transmissions multimdia (dbit ~500 Mgabits/s) que pour
la cration de PAN (Personal Area Network) ou encore pour la localisation.
Cest dans cette optique que nous avons tudi les systmes UWB impulsionnels. Dune
part en caractrisant ces systmes laide de leur normalisation, dautre part en dcrivant le type
de technologie utilise (LDR : Low Data Rate).
Dans un second temps, nous avons modlis les systmes UWB afin de simuler les
transmissions dans diffrentes conditions. Pour cela nous nous sommes servis de modles de
propagation existants (modle de Saleh Valenzuela modifi, modle statistique des pertes) qui nous ont
paru les plus pertinents. De plus, nous avons mis en place diffrents types de modulations. En
outre, nous avons utilis une impulsion de type gaussienne mais fentrant un signal sinusodal, de
manire reproduire une drive nime de la gaussienne ayant de meilleures proprits spectrales.
Enfin, nous avons effectu plusieurs simulations, partir de notre modle pour analyser
ces systmes de manire qualitative, en vue de mieux connatre leurs performances.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

5 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Abstract
The UWB (Ultra Wide Band) systems are relevant for the telecommunications future (4G,
Fourth Generation Wireless Systems). Indeed, these systems will be used in the field of
multimedia transmissions and also for PAN (Personal Area Network) creation or localization. That
is why we studied the impulse UWB systems characterizing them with the help of normalization
and describing the technology used (LDR: Low Data Rate).
Afterwards, we patterned this kind of systems in order to simulate transmissions in
different conditions. We used existing propagation models and path loss models (modified Saleh
Valenzuela model, statistical path loss model) that are the most judicious. Besides, we set up different
kind of modulation and we utilized a sinusoidal signal windowed by a Gaussian impulse for
reproducing the such-and-such derivation, which has better spectral properties.
Finally, we made several simulations from our model in order to analyze UWB systems and
evaluate their performances.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

6 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Introduction

Lintgration des applications WLAN (Wireless Local Area Network) et WPAN (Wireless
Personal Area Network) dans le domaine de la tlphonie mobile de troisime et quatrime
gnrations qui sont appeles apparatre auront la spcificit davoir des dbits trs levs
compars ceux qui existent de nos jours.
Cependant lun des principaux obstacles lapparition de nouveaux systmes est sans
conteste lencombrement spectral de lespace.
En effet, le domaine spectral est occup sur la bande stalant du continu 10 GHz, et
les organismes rgulant les attributions de ce domaine appliquent des normes de plus en plus
strictes ce sujet.
Cest en partant de ce constat quest ne lide de rutiliser les systmes Ultra Wide Band
(UWB) littralement Trs Large Bande lorigine ddis aux concepts Radar depuis 40 ans. Ils
sont appels rvolutionner les communications de demain. Ils ont un spectre trs tal mais
des puissances tellement faibles, infrieures au plancher de bruit des autre systmes, si bien quils
sont ignors par les autres systmes utilisant les mmes plages de frquence. Lavantage de tels
systmes est quils sont peu coteux en nergie cause des limites imposes par la normalisation.
Nous verrons comment les signaux sont crs, et comment nous nous plaons certaines
frquences particulires.
Dans un premier temps, cette tude prsentera les concepts gnraux relatifs aux
systmes UWB, pour ensuite modliser une chane de communication complte. Enfin, des
mesures viendront illustrer cette analyse.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

7 sur 85

Simulation dune chane de communication UWB de type impulsionnel

A - Considrations gnrales sur lUWB

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

8 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Gnralits
1) Dfinitions des systmes Ultra Wide Band
Le signal Ultra Wide Band tant relativement rcent, sa dfinition est encore en volution
constante en attendant de trouver les dfinitions les plus efficaces. Cependant le FCC, organisme
de rgulation amricain, mis une dfinition assez claire :
Bf (10dB, S UWB ( f )) 20%
et
Babs 500 MHz
Avec Bf dfinie comme :
Bf ( S ( f )) =

f h f1
fc

et
fc =

f h + f1
2

Figure 1: Illustration de la Bf

Il existe dautres dfinitions, elle sont dtailles dans la partie normalisation du prsent
rapport.
En gnral, un systme UWB se situe sur la bande [3.1 GHz , 10.6 GHz] et peut atteindre
un dbit maximal thorique de 500 Mgabits/seconde. Cette bande a t choisie pour protger
les systmes GPS dont la frquence est infrieure 3.1 GHz et limite 10.6 GHz du fait de
lattnuation lie la propagation, dans lair, des signaux haute frquence entravant la
communication distance des applications souhaites.
Il est noter quil existe aussi dautres bandes de frquences pour les systmes UWB qui
dbouchent sur plusieurs types dapplications (UWB 24 GHz ou UWB 77 GHz pour les radars
automobiles) cependant pour des raisons dcrites plus haut, de maturit de la technologie, et de
cot dimplmentation il nest pas envisageable de les utiliser dans limmdiat pour le WLAN et le
WPAN.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

9 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Les signaux caractristiques de systmes UWB sont des impulsions trs brves (de lordre
de la nanoseconde) et sont transmis sans frquence porteuse.
Lavantage dun tel signal est que le dbit atteint est extrmement haut en effet, si C est la
capacit du canal, W la largeur de bande et SNR le rapport signal bruit (RSB) nous avons la
relation suivante :
C = W log 2 (1 + SNR )
Exemples :
W = 20 MHz et SNR = 80 dB  C = 126.8 Mbps
W = 200 MHz et SNR = 8 dB  C = 634 Mbps

Ainsi, pour augmenter le dbit, il est plus judicieux dagir sur la largeur de bande, et cela
mme si le RSB baisse car il ninflue que de faon logarithmique sur C.
De plus, nous avons voqu le fait que les impulsions taient trs brves, cela permet au
systme dtre trs robuste face aux retards provoqus par les multi-trajets (multi-path) car la
dure de limpulsion est trs petite compare ce mme retard.
2) Caractristiques des signaux UWB
Les signaux caractristiques de systmes UWB sont, nous lavons dit, gnr par des
impulsions trs brves et aussi trs espaces dans le temps.
Le spectre de ces impulsions stend de frquences de lordre du Hertz jusqu plusieurs
Gigahertz.
Lnergie totale du systme nest pas vraiment diffrente de celle des autres systmes
classiques, cependant elle sera bien plus rpartie sur la bande de frquences cest pourquoi elle
sera dtecte comme du bruit par les autres systmes. Cette nergie est de lordre du Micro Watt
par Mgahertz.
Il existe plusieurs types dimpulsions pour gnrer un signal UWB, nous nous
concentrerons sur le type le plus communment utilis qui est limpulsion Gaussienne dont la
largeur de bande est lie sa dure.
Limpulsion gaussienne s est donne par lexpression suivante

s (t ) =

1
e
2

1 t

Avec indiquant la position temporelle laquelle se trouve le maximum de limpulsion


et caractrisant sa dure Ti grce la relation suivante :

Ti
2

Pour se placer une quelconque frquence il suffit de prendre une drive nime de s. . Il
existe dautres moyens dmuler les drivations de la Gaussienne en fentrant une fonction
sinusodale par une gaussienne. Laugmentation de lordre de drivation, ou de la frquence de la
sinusode, entrane un dplacement du spectre de celle ci, et plus particulirement de la frquence
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

10 sur 85

Simulation dune chane de communication UWB de type impulsionnel

centrale. De plus pour rentrer dans le masque de la FCC, il faudra aussi imposer une dure
maximale pour chaque impulsion, corrle .
Cette impulsion peut tre associe la mme impulsion en opposition de phase et dcale
temporellement, appele doublet Gaussien, pour liminer la composante continue.

Figure 2 : Doublet Gaussien

Il existe deux types de systmes communication UWB, les systmes HDR (High Data Rate)
et LDR (Low Data Rate). Ils se caractrisent principalement par les dbits mis en jeu. Les systmes
HDR ont lavantage dun haut dbit alors que les systmes LDR ont une faible consommation
dnergie et un faible cot. Dun point de vue simulation, il ny a pas de diffrences, elles se
situent seulement lors de la ralisation (architecture, taille de la PRP, priodes dinactivit).

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

11 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Normalisation de lUWB
De plus en plus dindustriels et laboratoires travaillant sur le systme UWB, il tait devenu
ncessaire de le normaliser ; cest pour cette raison que la FCC (Federal Communication Commission)
aux Etats-Unis ainsi que lETSI (European Telecommunications Standards Institute) pour lEurope ont
commenc travailler sur les caractristiques de la technologie UWB. De plus, ces mesures
devenaient urgentes puisque lUWB de par sa bande de frquence tale, peut interfrer avec
dautres systmes tels que le GPS par exemple. Le rle de ces organismes a donc t de poser les
normes de lUWB tout en protgeant les systmes aboutis dj existants.

Figure 3 : Exemples de systmes partageant la mme plage de frquence que lUWB

Actuellement seules la FCC et lIDA (Infocomm Development Authorithy - Singapour) ont


statu sur les systmes UWB. Nous nexposerons ici que la normalisation de la FCC [1] : le 14
fvrier 2002 elle a dfini quatre critres importants de la technologie UWB :

- la puissance dmission dun systme UWB : Pe = -41.3 dBm / MHz


rappel : 1dBm= 10log( 1000*P) avec P la puissance exprime en W
- la bande de frquence alloue pour un systme UWB : 3.1 10.6 GHz
- la bande de frquence dun systme UWB : BW 500 MHz et Brelative 20%
-

la puissance crte du signal ne doit pas excder 0 dBm/ 50 MHz

Soit Fc la frquence pour laquelle la puissance est maximale, on appelle puissance crte la
puissance du signal comprise dans un intervalle de 50 MHz autour de Fc.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

12 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Figure 4 : Illustration de la dfinition de la puissance crte

Cest de loin la plus large bande spectrale alloue par la FCC. Elle a de plus, pour les
applications de communication, pos les rgles pour lUWB indoor et outdoor .

Figures 5 et 6 : Masques de la bande spectrale dun systme UWB indoor et outdoor pour les
applications de communication imposs par la FCC

LIDA [2] a, elle, cre une normalisation qui alloue aux systmes UWB une bande de
frquence plus large encore que celle de la FCC. Une des raisons possibles de ce choix viendrait
du fait quen Asie on nutilise pas les mmes standards pour les systmes de communication (de
frquences proches de lUWB).
Les autres organismes nont pas encore statu mais suivant les zones gographiques les
niveaux davancement sont varis : en Europe, il semble que les recherches sur le systme soient
au point mort, en effet les diffrentes tudes menes pour lETSI sur les possibles interfrences
entre lUWB et dautres systmes ont donn des rsultats contradictoires et lorganisme rencontre
des difficults pour trancher. Quant au Japon, les autorits prvoient une normalisation pour
2005 et poursuivent les recherches. Toutefois, il semble certain que les organismes retardataires
vont saligner sur ces prsentes normes puisque les premiers produits utilisant la technologie UWB
sont dj commercialiss aux Etats-Unis.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

13 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Figure 7 : Masque des bandes spectrales que doit vrifier un systme UWB suivant diffrents organismes de
normalisation

La FCC a pos quelques normes pour les systmes UWB, mais au-del de ces
considrations vraiment techniques cest la dfinition de lUWB qui est remise en cause ; en effet
tout systme vrifiant la zone du masque ainsi que les dfinitions cites prcdemment peut tre
appel systme UWB sans pour autant utiliser le principe des impulsions. Enfin les organismes de
normalisation doivent compter avec les entreprises qui font souvent pression pour imposer leur
systme comme cest le cas pour le choix concernant le multi-band et le single-band *.
Enfin il nous semble important de comparer lUWB avec dautres standards [3,4] existants
afin de saisir combien cette technologie apparat comme prometteuse.
Systme
Date de la normalisation
Frquence
UWB
Commence en 2002
3.1 10.6 GHz
Bluetooth
Juin 2002
2.4 GHz
802.11a
1999
5 GHz
802.11b
1999
2.4 GHz

Dbit max.
500Mb/s
1 Mb/s
54Mb/s
11 Mb/s

Tableau 1 : Comparaison des systmes de transmission existants

La totalit de la bande UWB est utilise (ex : les systmes que nous tudions)
La bande est dcompose en un certain nombre de petite bandes
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

14 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Canal de propagation
La modlisation du canal est une tape importante pour limplantation de systmes quels
quils soient. Dautant plus que les systmes UWB ne sont pas rellement mis en place. En effet
cette modlisation est un des lments clef de la chane globale du systme (mission ->
rception).
Le canal pose des problmes de transmissions en fonction de la distance entre les deux
antennes1, des multi-trajets et du type de signal.
Dans un premier temps, nous verrons les diffrents types de modlisations possibles. Puis,
nous dcouvrirons les modles existants.
1) Types de modlisation
Les canaux de propagations se modlisent de trois manires diffrentes. Il existe la
modlisation dterministe (physique), empirique, statistique.
La modlisation dterministe a t la premire voir le jour. Ici, le canal est assimil un
filtre linaire variant dans le temps2 (ou invariant3 selon les hypothses). Les coefficients du filtre
sont alors fonction des phnomnes physiques connus (quation de propagation, quations de
Maxwell). Il est donc possible de modliser tous les environnements. Malheureusement, ce
modle ncessite beaucoup (trop) de calculs.
Les modles empiriques sont conus laide de lexprience. En effet, il sagit de reproduire
les caractristiques de lexprience avec un modle mathmatique. Cette modlisation require
trs peu de temps de calcul, par contre la solution nest pas portable (pas de changement
denvironnement possible).
Les modles statistiques sont conus de la mme manire que les modles empiriques la
diffrence que les paramtres sont considrs comme des variables alatoires. Ce type de
modlisation a donc lavantage dtre portable des environnements proches de ceux de
lexprience.
2) Modles existants pour les multi-trajets
Il existe diffrents type de modles dj crs. Ils ont t pour certains adapts aux
systmes UWB et pour dautres crs pour la circonstance. Ils se nomment : Le Ray-Tracing [1] ; le
modle de Bello [2] ; le Ray-Launching [3] ; le modle de Sabine ; Le modle de Cassioli, Win,
1

Attnuation du canal en fonction de longueur donde du signal et de la distance de la transmission :

4 d
LdB = L0 (1m) + 10 log 10
,2 4 Selon le milieu de propagation (rural ou urbain)

h(t , ) =

N ( ) 1

a
k =0

(t ) [ k (t )]e i k ( t )

N 1

h(t ) = a k [t t k ]e i k
k =0

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

15 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Molisch [4] ; le modle -K [5] ; le modle de Rayleigh Fading [6] ; Nakagami fading [7] ; Le
modle de Saleh-Valenzuela [8].
Parmi ces modles, nous allons tenter de vous dcrire les plus utiliss.

Rayleigh Fading :
Tout dabord, un des modles de Rayleigh est une adaptation de la norme 802.11 (WIFI)
lUWB. Ce modle assimile le canal un filtre rponse impulsionnelle finie (FIR). La rponse
impulsionnelle est complexe de la forme :

hk = N 0, 12 k2 + j N 0, 12 k2

pour k = 0,1,..., k max

O

K max = 10 rms ;
Ts

=e

TS

rms

k2 = 02 k ;
1
02 =
;
1 k +1
max

Et N 0, 12 k2
variance

1
2

une distribution statistique Gaussienne de moyenne nulle et de

k2 .

Ce modle a lavantage de prendre en compte les multi-trajets. Mais il risque de poser des
problmes dans le sens o il a t cr dans le but de modliser des systmes bande troite
(Narrowband).

Modle -K :
Ce modle est discret. Le principe est de diviser laxe temporel en petits intervalles
appels bins. A chaque bin l correspond une probabilit de contenir un multi-trajets note Pl
dont la valeur diffre si lintervalle prcdent contient un trajet : elle est gale K*l sil y a un
trajet et l dans le cas contraire.

1 = r1 ;
l =

rl
,
( K 1) rl 1 + 1

2 l;

Avec, rl le taux doccupation empirique de lintervalle l. La variable K est dfinie de telle


sorte que, pour K<1 larrive des trajets est espace et pour K>1 les trajets arrivent en paquets.
Soient l, la rponse impulsionnelle de lintervalle l et |l| lamplitude des multi-trajets, de
distribution lognormale et dcroissante exponentiellement.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

16 sur 85

Simulation dune chane de communication UWB de type impulsionnel

l = pl l

l = 10 n / 20
o n Normal( l , 2 ) ;
pl polarit des multi-trajets (quiprobable +/-1)

10 ln( 0 ) 10Tl / 2 ln(10)


Et l =

avec Tl temps en surplus de lintervalle l et


ln(10)
20
0 puissance moyenne du premier trajet du premier paquet.

Ce modle est intressant du fait quil gre les multi-trajets mais il est impossible de
modliser un systme en LOS (Line Of Sight) et NLOS (Non Line Of Sight) simultans, cause de
la prsence dune unique exponentielle dcroissante pour lamplitude des multi-trajets.

Modle de Sabine :
Ce modle consiste faire une analogie des systmes UWB avec les systmes acoustiques.
Il est dterministe, donc difficile mettre en uvre.

Cassioli, Win, Molisch :


Cest un modle empirique. Chaque signal reu est de la forme :
r (u , t ) = s (u s , t ) + n(u n , t )

o n(u n , t ) est le bruit, s (u s , t ) la rponse du canal et u = (us , un ) les rsultats de


lenvironnement statistique.
Lorsquil ny a pas de multi-trajets : s (u s , t ) = c(u s ) w(t ) avec c(u s ) lattnuation en
espace libre et w(t ) la rponse idale.
L

Dans le cas gnral : s (u s , t ) = ci (u ) w(t i (u )) avec ci (u ) et i (u ) + deux


i =1

variables alatoires.

Modle de Saleh-Valenzuela (S-V) modifi :


On dit que le modle est modifi car la distribution des multi-trajets est lognormale plutt
que normale.
Cest un modle statistique qui postule que les trajets arrivent par paquets. Soient, Tl et kl,
respectivement le temps darrive du lime paquet et le temps darrive du kime trajet du lieme paquet.
Ce sont des variables statistiques indpendantes de loi de Poisson de paramtres et .
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

17 sur 85

Simulation dune chane de communication UWB de type impulsionnel

p(Tl Tl 1 ) = e

[ (Tl Tl 1 )]

[ ( kl k 1,l )]

p kl k 1,l = e

avec T0 = 0 et 0l =0
On introduit le gain du kime trajet du lieme paquet, kl, ainsi que sa phase, note kl. Do la
rponse impulsionnelle du canal :

h(t ) = kl e

j kl

l = 0 k =0

(t Tl kl )

Avec {kl} sont des variables alatoires statistiques positives indpendantes et {kl} sont
des variables statistiques alatoires uniformes indpendantes sur [0,2].

Path Magnitude

13
Time

14 2 43
cluster 0

T1
1 42 43

13

Figure 8 : Rponse impulsionnelle du canal

Figure 9 : Dcroissance exponentielle des puissances


des paquets et des trajets

Pour conclure, nous allons utiliser le modle de Saleh-Valenzuela modifi car il est sans doute le
plus complet de modles. De plus, aprs une srie de recherches, nous avons constat quil tait
le plus en adquation avec les systmes UWB.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

18 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Bibliographie
Gnralits :
V. Berthelemy, L. Houegnigan, J.-B. Petit, Ultra Wide Band Systmes de communication 4G, 2003

Normalisation :
[1] www.atlasce.com/subpart_f.htm
[2] europa.eu.int/information_society/topics/radio_spectrum/docs/ppt/rsc7_uwbcluster_slides.ppt
[3] www.corsaire.org/consulting/reseau-sansfil.htm
[4] www.gel.usherb.ca/houle/papiers/Houle_Portrait.pdf

Canal de propagation :
[1] Il existe plusieurs modles de Ray-Tracing ; par exemple :
Bernard Uguen, Eric Plouhinec, Yves Lostanlen, Gerard Chassay, Deterministic Ultra Wideband
Channel Modeling
http://www.insa-rennes.fr/l-lcst/gdid/A_deterministic_UWB_channel_modeling.pdf
[2] Philip A. Bello, "Characterization of Randomly Time-Variant Linear Channels", IEEE Transactions on
Communications Systems, no. 4, December 1963 pp. 360-393
[3] Il existe plusieurs modles de Ray-Launching ; par exemple :
Lawton, M.C., and J.P. McGeehan, The Application of a Deterministic Ray Launching Algorithm for the
Prediction of Radio Channel Characteristics in Small-Cell Environments, IEEE Transactions on
Vehicular Technology, Volume: 43, Issue: 4 (November 1994), 955969.
[4] D. Cassioli, M. Z. Win, and A. F. Molisch, The Ultra-Wide Bandwidth Indoor Channel From
Statistical Model to Simulations, IEEE JSAC, vol. 20, 2002, pp. 124757.
[5] H. Suzuki, A Statistical Model for Urban Radio Propagation, IEEE Transactions on
communications, pp. 673-680, July 1977.
[6] W. C. Lau, M.-S. Alouini, and M. K. Simon, Optimum spreading bandwidth for selective Rake
reception over Rayleigh fading channels, IEEE J. Select. Areas Commun., vol. 19, pp. 10801089,
June 2001.
[7] T. Eng and L. B. Milstein, Coherent DS-CDMA performance in Nakagami multipath fading, IEEE
Trans. Commun., vol. 43, pp. 11341143, Feb./Mar./Apr. 1995.
[8] A. Saleh and R. A. Valenzuela, A Statistical Model for Indoor Multipath Propagation, IEEE J. on
Selected Areas in Commun., Vol. SAC-3, pp. 128-137 (February 1987)

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

19 sur 85

Simulation dune chane de communication UWB de type impulsionnel

B - Modlisation

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

20 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Pour modliser la chane de transmission nous avons d utiliser le logiciel de calcul


technique Matlab. Il contient Simulink qui permet de modliser et simuler des systmes en
mode graphique. Malheureusement, pour des raisons de complexit et de temps de mise en
uvre, nous ne lavons pas utilis. Donc, la modlisation du systme a t effectu a laide dun
jeu de M-File (fichier de programmation Matlab). Le but de cette tude sera dutiliser les
programmes pour des amliorations ou des tests futurs.
Notre approche a t de considrer trois axes majeurs : lmission, le canal et la rception.
La chane complte ne pourra tre simule que pour un certain type de modulation cause de la
dmodulation qui est asynchrone. Cest pourquoi lmission possde deux modes de
fonctionnement. Dune part, lutilisateur pourra choisir entre diffrents types de modulation
mais ne pourra donc pas observer les rsultats de la chane complte. Dautre part, il pourra
dmoduler mais avec un seul type de modulation. Le canal est en fait la somme de deux modles
et lajout de bruit : le modle de Saleh-Valenzuela modifi qui est un modle multi-trajets et le
modle statistique des pertes qui reproduit lattnuation du signal due au milieu de propagation.
Enfin, la rception a une architecture de type asynchrone.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

21 sur 85

Simulation dune chane de communication UWB de type impulsionnel

1 - Emission
a - Chane dmission
La chane dmission, TransChain(), est compose de quatre lments : le gnrateur
dimpulsions, le modulateur, lamplificateur et le filtre, lantenne. De plus, elle traite les donnes
bit par bit.

Entres :
Data : Donne envoyer (1 bit)
Pulse : motif a moduler avec la donne (vecteur)
Paramtre :
demod : dmodulation ou non
Sorties :
Wave : Onde en sortie d'antenne pour le bit "Data" (vecteur)
PRP : Pulse Repetition Period (priode du motif en ns)
Elle possde deux structures : lune autorise la dmodulation alors que lautre permet
seulement de simuler lmission et le canal.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

22 sur 85

Simulation dune chane de communication UWB de type impulsionnel

b - Le gnrateur dimpulsions

Le gnrateur dimpulsions, impulsiongen(), reoit en entre les paramtres suivants :


- Amplitude du signal (en Volts)
- Paramtre de limpulsion (en nanosecondes)
- Dure totale du motif ou PRP (en nanosecondes)
- Frquence du cosinus (en GHz)
- Frquence dchantillonnage ou rsolution (en Picosecondes)
En sortie nous avons
- Une impulsion module par un cosinus qui permet de recrer leffet dune drivation
(sous la forme dun vecteur colonne)
- La densit spectrale dnergie
Le gnrateur dimpulsions cre une impulsion Gaussienne module par un cosinus comme suit :
Amplitude en Volts

1
0.5
0
-0.5
-1

10
12
temps en ns

14

16

18

20

DSE dB

50

-50

-100

10

10
Frquence GHz

Figure 10 : Impulsion la sortie du gnrateur d'impulsion

Ce motif est obtenu par la concatnation dune impulsion classique et de zros (Zro
Padding). Limpulsion Classique, modulcos(), est quant elle produite par la multiplication dune
Impulsion Gaussienne (gnre par la fonction gauss() cre par D. MARCHALAND) dquation :
s (t ) =

1
2

exp(

t
)
2

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

23 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Et dun cosinus.
s1 (t ) =

1
t
exp(
) cos(2 f 0 t )
2
2

La fentre Gaussienne que lon a utilise est sur lintervalle [-5 , 5 ] car en
s (4.7 ) 10 5 s (0) avec s(0) maximal. Nous avons donc arrondi [-5 , 5 ] ce qui
correspond aux standards considrant que le signal a une largeur de 10 .

Paramtres :
A = Amplitude Maximale
sgma = Position du Max
Npts = Nombre de points calculer
Tcosmin = Borne infrieure de la fentre du cosinus
Tcosmax = Borne suprieure de la fentre du cosinus
freq = Frquence du cosinus
Sorties :
Stfin = Signal de sortie
t = Base de temps

Figure 11 : Impulsion Gaussienne Simple

Figure 12 : Drive d'ordre 5 d'une impulsion


Gaussienne

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

24 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Figure 13 : Cosinus fentr par une impulsion Gaussienne

Nous voyons que leffet de la multiplication par un cosinus donne le mme effet quune
drivation. Ceci lavantage de nous viter de faire des divisions par zro dues aux arrondis
invitables lorsque nous faisons des drivations, mais cela est aussi plus facile implmenter
matriellement.
Amplitude en Volts

1
0.5
0
-0.5
-1

10
12
temps en ns

14

16

18

20

50

DSE dB

-50

-100

10

10
Frquence GHz

Figure 14 : DSE d'un cosinus fentr par une impulsion Gaussienne (Frquence du cosinus = 0.7GHz),
Sigma=0.8 ns

Amplitude en Volts

1
0.5
0
-0.5
-1
-8

-6

-4

-2

0
2
temps en ns

DSE dB

50

-50

-100

10

Frquence GHz

Figure 15 : DSE d'une impulsion drive d'ordre 5 d'une Gaussienne, Sigma=0.8

Densit Spectrale dEnergie


BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

25 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Analyse des DSE en fonction des diffrents paramtres

Effet de Sigma
1
Amplitude en Volts

Amplitude en Volts

1
0.5
0
-0.5
-1

10

0.5

-0.5

15

-10

-10

-20
Part 15
FCC Outdoor mask
FCC Indoor mask
Impulsion

-30
-40
-50

10

15

temps en ns

DSE dB

DSE dB

temps en ns

Part 15
FCC Outdoor mask
FCC Indoor mask
Impulsion

-30
-40
-50

10

-20

10

10

10

Frquence GHz

Frquence GHz

Figure 16 : Sigma = 0.8, PRP = 15


et Frquence = 0.8 GHz

Figure 17 : Sigma = 0.2, PRP = 15


et Frquence = 0.8 GHz

Ainsi il est possible de remarquer que le paramtre sigma influe sur la raideur ou la
largeur de la DSE du signal. Plus sigma sera grand, plus le spectre aura une pente raide et une
Densit Spectrale dnergie tale.

Effet de la PRP(Priode de Rptition des Pulses)

1
Amplitude en Volts

Amplitude en Volts

1
0.5
0
-0.5
-1

10

0.5
0
-0.5
-1

15

10

20

30

-10

-10
DSE dB

DSE dB

temps en ns

-20
Part 15
FCC Outdoor mask
FCC Indoor mask
Impulsion

-30
-40
-50

80

90

100

Part 15
FCC Outdoor mask
FCC Indoor mask
Impulsion

-30

-50

10

70

-20

-40

10

40
50
60
temps en ns

10

Frquence GHz

10
Frquence GHz

Figure 18 : Sigma = 0.8, PRP = 15


et Frquence = 0.8 GHz

Figure 19 : Sigma = 0.8, PRP = 100


et Frquence = 0.8 GHz

La PRP ninflue pas sur les valeurs au niveau des abscisses, mais plutt au niveau des
ordonnes. En effet, lnergie totale du signal est toujours rpartie sur la mme dure ( peu prs
10 sigmas) mais cette fois la PSD est calcule sur une dure plus longue do une perte dnergie
relative. De plus ce qui est affich ici est la PSD et non la DSE, calcul par la fonction psd dans
Matlab. Cela peut aussi tre retrouv par la relation liant la Densit Spectrale Dnergie la PSD.
PSD = DSE / PRP or la DSE est la mme (car nous navons fait quun Zro Padding) donc la PSD

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

26 sur 85

Simulation dune chane de communication UWB de type impulsionnel

sera plus petite. En effet, le passage de la DSE la


PRP, donc si celle-ci change alors la DSP change.

DSP

se fait par un support temporel qui est la

Effet de la frquence du cosinus

1
Amplitude en Volts

Amplitude en Volts

1
0.5
0
-0.5
-1

10

0.5
0
-0.5
-1

15

-10

-10

-20
Part 15
FCC Outdoor mask
FCC Indoor mask
Impulsion

-30
-40
-50

15

-20
Part 15
FCC Outdoor mask
FCC Indoor mask
Impulsion

-30
-40
-50

10

10
temps en ns

DSE dB

DSE dB

temps en ns

10

10

Frquence GHz

10
Frquence GHz

Figure 20 : Sigma = 0.8, PRP = 15 et Frquence =


0.8 GHz

Figure 21 : Sigma = 0.8, PRP = 15 et Frquence = 2


Ghz

Laugmentation de la frquence du cosinus fentr pour effet de dcaler la frquence


centrale de la PSD du signal vers les plus hautes frquences. Ainsi il est envisageable de jouer sur
cette frquence pour se placer une frquence voulue.

c - Le Modulateur
Le modulateur est une tape clef de la chane dmission. En effet, il permet de coder un
bit en une modification du motif. Nous avons choisi de ne jamais modifier le bit de donne 1,
ainsi le modulateur ne travaille que sur les zros des donnes. Les modulations sont effectues au
sein de la fonction modul().

Entres :
Data : Donne moduler (1 bit)
Pulse : Impulsion (vecteur colonne)
Paramtres :
Kind : Type de modulation souhaite: 'ook','bpsk','ppm','dpim'
Delay : Temps de dcalage (chiffre en ns)
periodeech: Priode d'chantillonnage (en picosecondes)
Sortie :
SigOut: Motif modul (vecteur)

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

27 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Cette fonction renvoie le motif modul correspondant la modulation du bit quon lui a
pass. Nous avons choisi de traiter 4 types de modulations fondamentales pour les systmes
UWB : OOK, BPSK, DPIM et PPM.

Modulation OOK (On Off Keying)


Cette modulation transmet pour un 0 un signal nul et pour un 1 le motif. Pour cela il
suffit pour la donne zro de crer un vecteur colonne rempli de 0 et pour le 1 de ne pas
modifier le vecteur colonne reprsentant le motif.

Figure 22 : Modulation OOK pour le mot [1,0] et une PRP de 30 ns

Modulation BPSK (Binary Phase Shift Keying)


Cette modulation code un 1 par le motif et un 0 ce mme motif mais de phase inverse
cest dire que lon multiplie le motif par 1.

Figure 23 : Modulation BPSK pour le mot [1,0] et une PRP de 30 ns

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

28 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Modulation DPIM ( Digital Pulse Interval Modulation)


Cette modulation agit cette fois sur la PRP[1].En effet, un 1 est cod par un motif dont
la PRP est de dure normale alors quun 0 est quant lui cod au moyen dun motif dont la PRP
a t tronque dun temps paramtr et donc laiss lapprciation de lutilisateur. On se retrouve
donc avec, la sortie du modulateur, avec un signal de dure plus courte que celle du signal
moduler. Sous Matlab, on supprime le nombre dchantillons correspondant au temps de
dcalage du motif.

Figure 24 : Modulation DPIM pour le mot [1,0], une PRP de 30 ns et un dcalage de 10 ns

Modulation PPM (Pulse Position Modulation)


Cette modulation agit sur la position de limpulsion dans le motif. La donne 1 est donc
code par un motif normal mais le 0 sera lui, cod par un motif dans lequel limpulsion est
dcale dun temps cette fois encore paramtr. Pour programmer ce type de modulation, on
retire le nombre dchantillons, correspondant au temps de dcalage, la fin du motif pour les
rajouter au dbut du motif. Cette opration est permise par la possibilit de concatner plusieurs
vecteurs les uns aprs les autres grce loprateur ;.

Figure 25 : Modulation PPM pour le mot [1,0], une PRP de 30 ns et un dcalage de 10 ns

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

29 sur 85

Simulation dune chane de communication UWB de type impulsionnel

d - Amplificateur, Filtre et Antenne


Nous avons choisi de modliser lamplificateur par un gain constant. Quant ltape du
filtrage, elle est constitue dun facteur unitaire. En outre, un filtre pourra tre ajout dans une
tude future. Ces deux lments sont modliss dans la fonction nomme AmpliTrans().

Entre :
Sig : signal a amplifier et a moduler (vecteur colonne)
Paramtre :
GainTrans : gain de l'amplificateur
Sortie :
SigOut : Signal amplifie et filtre (vecteur)
Nous avons considr que lantenne effectuait une drivation point par point du signal,
pour cela nous avons utilis une fonction Matlab nomme diff(). Or cette fonction nous faisait
perdre un demi-point au dbut et la fin du signal, nous avons donc ajout un point au signal
(doublon du dernier point). Lantenne est reprsente par la fonction AntenTrans().

Entre :
Sig : signal mettre (vecteur colonne)
Sortie :
Wave : Onde mise (vecteur)

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

30 sur 85

Simulation dune chane de communication UWB de type impulsionnel

2 - Canal de propagation
a - Modle de Saleh-Valenzuela modifi
Ce modle a t implment par lIEEE, nous avons donc utilis trois des programmes
originaux, uwb_sv_cnvrt_ct(), uwb_sv_model_ct(), uwb_sv_params(), et modifi le quatrime
uwb_sv_eval_ct(). Loriginal de ce dernier sera renomm : uwb_sv_eval_ct_original().
1) uwb_sv_params()
On entre en paramtre le numro dun modle et ce programme donne en sortie toutes
les caractristiques exprimentales du canal correspondant ce numro.
Ces caractristiques sont :
Lam Taux darrive des paquets ( en paquets par nanoseconde)
lambda Taux darrive des trajets (en trajets par nanoseconde)
Gam Facteur daffaiblissement du paquet (temps constant, nanoseconde)
gamma Facteur daffaiblissement du trajet (temps constant, nanoseconde)
std_ln_1 Pente de la variable log-normale reprsentant laffaiblissement du paquet
std_ln_2 Pente de la variable log-normale reprsentant laffaiblissement du trajet
nlos Dtermine si lon se place en configuration NLOS
std_shdw Pente de la variable log-normale reprsentant la rponse impulsionnelle

La fonction propose quatre modles qui reprsentent chacun un environnement diffrent


suivant la distance entre les antennes et les conditions de transmission (LOS ou NLOS ).

Modle

1
LOS 0-4 m

2
NLOS 0-4 m

Lam
lambda
Gam
gamma
std_ln_1

0.0233
2.5
7.1
4.3
4.8 2

std_ln_2

4.8 2
0
3

nlos
std_shdw

0.4
0.5
5.5
6.7
4.8 2

NLOS 4-10
m
0.0667
2.1
14.00
7.9
4.8 2

4
Pires conditions
du canal
0.0667
2.1
24
12
4.8 2

4.8 2
1
3

4.8 2
1
3

4.8 2
1
3

Tableau 2 : Caractristiques du modle S-V modifi selon le type de canal

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

31 sur 85

Simulation dune chane de communication UWB de type impulsionnel

2) uwb_sv_model_ct()
Ce programme rcupre les donnes de uwb_sv_params() afin deffectuer un
nombre de ralisations continues (ou rponses impulsionnelles) du canal que lon spcifie en
entre de cette fonction.
Entre :
num_channels : nombre de ralisations du canal souhaites
Paramtres :
Les huit valeurs donnes par uwb_sv_params()
Elle gnre quatre lments :
h :une matrice dont chaque colonne reprsente une ralisation alatoire du
modle
t : matrice dont chaque colonne contient les positions de chaque trajet dont
lamplitude est stocke dans h
t0 : un vecteur ligne qui regroupe les temps darrive du premier paquet de chaque
rponse
np : un vecteur ligne contenant le nombre de trajets par ralisation.
3) uwb_sv_cnvrt_ct()
Elle prend en entre la rponse continue du modle h_ct, t la mme matrice que pour
uwb_sv_model_ct(), np vecteur contenant le nombre de trajets par ralisation , num_channels le
nombre de ralisations alatoires que lon souhaite et
Paramtres :
h_ct : la rponse continue du modle
t : matrice retourne par uwb_sv_model_ct()
np : vecteur contenant le nombre de trajets par ralisation
num_channels : le nombre de ralisations alatoires souhaites
ts : la priode dchantillonnage souhaite
Sorties :
hN : rponse discrte
N : nombre de fois que la rponse est sur-chantillonne.
Cette fonction permet de transformer une rponse continue du modle en rponse
discrte. Elle fait correspondre chaque numro de position lamplitude de la rponse. Le
problme est que le modle nest pas discrtis temps constant puisque les positions des
diffrentes amplitudes ne sont pas rgulires. Elle ralise donc ensuite un modle discret avec
cette fois un intervalle de temps constant entre les chantillons.
4) uwb_sv_eval_ct()
Cette fonction est une modification du programme initial uwb_sv_eval_ct() que lon a
renomm uwb_sv_eval_ct_original().

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

32 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Paramtres :
num_channels : le nombre de ralisations alatoires souhaites
ts : temps dchantillonnage
cm_num : numro du modle de 1 4 pour uwb_sv_params()
Sortie :
h : une matrice dont chaque colonne reprsente une ralisation alatoire continue
du modle
Cette fonction utilise les fonctions cites prcdemment afin de calculer et afficher
diverses informations statistiques sur le modle que nous navons pas exploit dans ce projet
mais quil est possible dutiliser dans dautres tudes. Elle appelle uwb_sv_model_ct() pour obtenir
les diffrentes ralisations quelle discrtise en utilisant uwb_sv_cnvrt_ct(). Elle ralise ensuite de
nouveau une rponse continue du canal partir dune rponse discrtise temps constant.

b - Modle statistique des pertes


Pour calculer les pertes lies la distance entre lantenne mettrice et lantenne rceptrice,
il existe une formule tire des lois de propagation :
4 d
LdB = L0 (1m) + 10 log10
,2 4 selon le milieu de propagation

c
avec =
f
Seulement, le problme est que les systmes UWB nmettent pas sur une frquence
porteuse, donc est variable. Il fallait donc trouver un modle qui se rapprochait le plus possible
de la ralit. On dmontre :
LdB

4 d
= L0 (1m) + 10 log10

[ ]

LdB = L0 (1m) + 10 log10 (4 d ) 10 log10

LdB = L0 (1m) + 10 log10 [d ] S

[ ]

Avec = et S = 10 log10 (4 ) 10 log10

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

33 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Or daprs un article1, on peut dfinir comme une variable dpendante de


lenvironnement et S=y* telle que soit une variable dpendante de lenvironnement et y soit
une variable alatoire Gaussienne moyenne nulle et variance unitaire.
Les essais effectus1, ont donns les rsultats suivants :
Environnement

L0 (1m)
43.7
47.3
45.9
50.3

Los Commercial
Nlos Commercial
Los Rsidentiel
Nlos Rsidentiel

2.07
2.95
2.01
3.12

2.3
4.1
3.2
3.8

Tableau 3 : Caractristiques de lattnuation selon le type de canal

Nous avons donc programm ce modle dans la fonction Att().

Entre :
Sig : Signal a attnuer (vecteur)
Paramtres :
d : Distance en mtres
Env : Environnement (LOSR,NLOSR,LOSC,NLOSC,USDEF)
Sortie :
SigAtt : Signal attnu
Elle fait appel au sous programme param_att(), qui sert paramtrer les valeurs de S=y*
et , selon les valeurs donnes ci-dessus.
Entre :
environnement : Type d'environnement (chane de caractre)
LOSC : Line Of Sight Commercial
NLOSC : Non Line Of Sight Commercial
LOSR : Line Of Sight Residential
NLOSR : Non Line Of Sight Residential
USDEF : Dfinie par l'utilisateur en cas de nouvelles valeurs
Sorties :
PL0 : Attnuation 1 mtre
gam : variable dpendante de l'environnement de propagation
S : Variable alatoire gaussienne moyenne nulle

1 - S.S. Ghassemzadeh, L.J. Greenstein, A. Kavi, T. Sveinsson, V. Tarokh, uwb Indoor Path Loss Model for
Rsidential and Commercial Building ,2003

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

34 sur 85

Simulation dune chane de communication UWB de type impulsionnel

c - Bruit
Le bruit na pas fait lobjet dune fonction proprement parl, il est gnr par une
fonction de Matlab, nomme randn(), puis additionn londe finale (avant la rception). Le bruit
est un vecteur de variables alatoires Gaussiennes de moyenne nulle et de variance unitaire, nous
avons donc ajout un coefficient ce bruit pour matriser son amplitude.
De plus, nous avons ajout le calcul du rapport signal bruit.
Finalement, ces deux calculs sont effectus au sein de la fonction, trans_canal().

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

35 sur 85

Simulation dune chane de communication UWB de type impulsionnel

3 - Assemblage de la chane dmission et du canal de


rception
Cette fonction et prise en charge par trans_canal().

Entre :
Datain : Donne (mots X bits en vecteur)
Paramtre :
demod : dmodulation ou non
Sorties :
Wave : Onde en sortie d'antenne
Waveoutnoise : Onde en sortie de canal
Cette fonction permet de traiter les donnes, bit bit, envoyer au travers de la chane
dmission et du canal. Elle permet aussi dafficher certains signaux tels que : onde en sortie
dantenne dmission, onde en sortie du canal de S-V, onde en sortie du modle des pertes, onde
en entre dantenne de rception (avec le bruit), PSD en entre du canal et PSD en sortie de canal.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

36 sur 85

Simulation dune chane de communication UWB de type impulsionnel

3 - Rception
a - La chane de rception
La chane de rception, Reception(), fonctionne de manire asynchrone, elle reoit en
entre une onde, quelle dcoupe en une srie dondelettes , puis quelle traitera chacune bit
bit. Pour enfin ressortir les donnes.

Entre :
WaveIn : Onde transmise par le canal de transmission (Vecteur Colonne)
Parametres
Seuil : Seuil de dtection dun pulse (en Volts)
Tf : dure dintgration (en nanosecondes)
Sortie :
DataOut : Chane de bits

b Dcoupage
Aprs rception il faut traiter londe, pour cela nous avons dcid de la dcouper en
plusieurs ondelettes chacune correspondant un motif (car nous connaissons la PRP et la
priode dchantillonnage) pour enfin traiter chaque bit pas pas.

c Retard et multiplication

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

37 sur 85

Simulation dune chane de communication UWB de type impulsionnel

La fonction Retard_mult() a pour effet de retarder limpulsion. Pour ce faire, nous avons
tout simplement utilis une modulation du type PPM. Ensuite nous avons multipli limpulsion
dorigine par limpulsion retarde, ce qui nous permet davoir en sortie soit une impulsion
positive, soit une impulsion ngative. En effet, la deuxime impulsion du train multiplie par la
premire donne le signe de limpulsion de sortie : car elles sont soit en phase, soit en opposition
de phase (Modulation BPSK).

Entre :
SignalRecu : Signal correspondant un bit (dune dure gale la PRP)
Paramtres :
Delay : dlai du retard (en nanosecondes)
Periodeech : Priode dchantillonnage (en ps)
Sortie :
Sig : Signal impulsionnel (Vecteur Colonne)

Figure 2 - Retard et multiplication pour un 0


transmis

Figure 3 - Retard et multiplication pour un 1


transmis

d Intgrateur

Lintgrateur intgre le signal en entre de la fonction par une somme directe. Pour ne pas
prendre en compte le bruit, nous lui passons en paramtre le seuil partir duquel il faut
considrer que lentre nest plus un bruit, aussi il faudra dfinir une dure dintgration pour ne
pas intgrer le bruit suivant limpulsion et ainsi fausser les rsultats.
Entre :
Sig : Signal (vecteur colonne)
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

38 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Paramtres :
Seuil : Seuil (en Volts)
Tf : Dure dintgration (en nanosecondes)
periodeech : Priode d'chantillonnage en ps
Sortie :
Val : Valeur numrique de lintgrale (sans unit)

e Dcision (dtecteur de niveau)

La dcision se fait tout simplement en comparant la valeur en sortie de lintgrateur 0, si


celle ci est suprieure 0, alors nous avons un 1, sinon nous avons un 0.
Entre :
Val : Valeur numrique (sans unit)
Sortie :
Data : Bit

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

39 sur 85

Simulation dune chane de communication UWB de type impulsionnel

5 Chane globale
Afin de raliser la simulation dune chane de communication
remplir le fichier param() avec tous les paramtres ncessaires.

UWB

lutilisateur doit

Sorties :
demod: dmodulation ou non
periodeech: priode d'chantillonnage en picosecondes
A: Amplitude de l'impulsion en Volts
sgma: Sigma de l'impulsion en nanosecondes
PRP: PRP du motif en nanosecondes
freqcos: Frquence du cos en GHz
ModulKind: Type de modulation :'ook','bpsk','ppm','dpim'
Delay: Temps pour la 'ppm' et la 'dpim' en ns
GainTrans: Gain de l'ampli
d: Distance en mtre
Env: Type d'environnement (chane de caractres)
LOSC : Line Of Sight Commercial
NLOSC : Non Line Of Sight Commercial
LOSR : Line Of Sight Residential
NLOSR : Non Line Of Sight Residential
USDEF : Dfinie par l'utilisateur
cm_num: Caractristique du model S-V (1,2,3,4)
1 based on TDC measurements for LOS 0-4m
2 based on TDC measurements for NLOS 0-4m
3 based on TDC measurements for NLOS 4-10m
4 25 nsec RMS delay spread bad multipath channel
Seuil: Seuil partir duquel le signal est 'significatif'
datain: Donne (mots X bits en vecteur)
nbits: Nombre de bits crer
Tf: Dure de l'intgration (en ns)
NAmp: Amplitude du bruit
La chane de transmission sera simule en tapant la commande test dans Matlab, en ayant
pralablement modifi les paramtres (voir ci-dessus). Cette fonction permet dafficher les
donnes entres et les donnes reues.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

40 sur 85

Simulation dune chane de communication UWB de type impulsionnel

C - Simulation

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

41 sur 85

Simulation dune chane de communication UWB de type impulsionnel

1 Essai initial
Paramtres de lmission et du canal
Priode dchantillonnage = 5.0000 ps,
Amplitude de l impulsion = 0.4000, Sigma de l impulsion = 0.0570 ns,
PRP du motif = 100.0000 ns, Frquence du cos = 3.5000 GHz,
Type de modulation : ppm, Temps pour la ppm et la dpim = 3.0000 ns,
Gain de l ampli = 2.0000, Distance metteur/rcepteur = 10.0000 mtres
Model S-V Parameters
Lam = 0.0667, lambda = 2.1000, Gam = 14.0000, gamma = 7.9000
std_ln_1 = 3.3941, std_ln_2 = 3.3941, NLOS flag = 1, std_shdw = 3.0000
Paramtres de lattnuation du canal
Type d environnement : NLOSR,
Attnuation 1 mtre = 50.3000, gamma = 3.1200, S=5.1256
SNR = 20.3383
BER = 0.6000
Emission & Canal
1.5
Donnes
1
0.5
0
-0.5

0.5

1.5

2.5

3.5

4.5

0.2
Sortie du modele multi trajets
Sortie d antenne
Sortie du canal sans bruits

Puissance

0.1
0
-0.1
-0.2

50

100

150

200

250
Temps en ns

-3

x 10

300

350

400

450

500

Buffer
Puissance

2
0
-2
-4

0.5

1.5

2.5

Points

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

42 sur 85

3.5

4.5
4

x 10

Simulation dune chane de communication UWB de type impulsionnel

Bits mis
1.5
1
0.5
0
-0.5

0.5

1.5

2.5
3
temps en ns
Bits reus

3.5

4.5

0.5

1.5

2.5
3
temps en ns

3.5

4.5

1.5
1
0.5
0
-0.5

Il est possible de remarquer que les performances sont assez mauvaises, en effet, nous
nous sommes placs dans de mauvaises conditions, NLOSR 10 m ce qui explique un BER4 de
60%

Bit Error Rate Taux de bits errons


BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

43 sur 85

Simulation dune chane de communication UWB de type impulsionnel

2 Conditions favorables
Paramtres de lmission et du canal
Priode dchantillonnage = 5.0000 ps,
Amplitude de l impulsion = 8.0000, Sigma de l impulsion = 0.2000 ns,
PRP du motif = 100.0000 ns, Frquence du cos = 3.5000 GHz,
Type de modulation : ppm, Temps pour la ppm et la dpim = 3.0000 ns,
Gain de l ampli = 2.0000, Distance metteur/rcepteur = 2.0000 mtres
Model S-V Parameters
Lam = 0.0233, lambda = 2.5000, Gam = 7.1000, gamma = 4.3000
std_ln_1 = 3.3941, std_ln_2 = 3.3941, NLOS flag = 0, std_shdw = 3.0000
Paramtres de lattnuation du canal
Type d environnement : LOSC,
Attnuation 1 mtre = 47.3000, gamma = 2.0700, S=-1.0872
SNR = 119.1632
BER =

0
Emission & Canal
1.5
Donnes
1
0.5
0
-0.5

0.5

1.5

2.5

3.5

4.5

4
Sortie du modele multi trajets
Sortie d antenne
Sortie du canal sans bruits

Puissance

2
0
-2
-4

50

100

150

200

250
Temps en ns

300

350

400

450

500

1
Buffer
Puissance

0.5
0
-0.5
-1

0.5

1.5
Points

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

44 sur 85

2.5
4

x 10

Simulation dune chane de communication UWB de type impulsionnel

Bits mis
1.5
1
0.5
0
-0.5

0.5

1.5

2.5
3
temps en ns
Bits reus

3.5

4.5

0.5

1.5

2.5
3
temps en ns

3.5

4.5

1.5
1
0.5
0
-0.5

Dans ces conditions, nous voyons bien que la transmission est de loin meilleure que
prcdemment.
Un facteur pouvant amliorer la communication est le seuil de dtection des bits, en effet,
dans les conditions cites ci dessus, il est possible de trouver un BER de 20% ou de 0% selon les
valeurs de dtection :
Bits mis

Bits mis
1.5

1.5
1

0.5

0.5

-0.5

0.5

1.5

2.5
3
temps en ns
Bits reus

3.5

4.5

-0.5

1.5

1.5

0.5

0.5

-0.5

-0.5

0.5

1.5

2.5
3
temps en ns

3.5

4.5

Figure 4 - BER de 0 % avec un seuil de dtection a


1.0E-14

0.5

1.5

2.5
3
temps en ns
Bits reus

3.5

4.5

0.5

1.5

2.5
3
temps en ns

3.5

4.5

Figure 5 - BER de 20% avec un seuil de dtection


1.0E-22

Il faut trouver un compromis entre le seuil le plus lev et une dure dintgration plus
courte pour amliorer la dtection. En effet, plus le seuil est lev, meilleure est la dtection,
cependant il faut raccourcir la dure dintgration ce qui dgrade sa qualit.
Un autre facteur damlioration du BER est la PRP en effet, dans les mmes conditions que
prcdemment nous passons dun BER de 0% un BER de 10 %

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

45 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Bits mis

Bits mis

1.5

1.5

0.5

0.5

-0.5

-0.5

5
temps en ns

10

Bits reus

0.5

0.5

-0.5

-0.5

5
temps en ns

5
6
temps en ns
Bits reus

10

5
6
temps en ns

10

1.5

1.5

10

Figure 6 - BER de 0 % avec une PRP de 100 ns

Figure 7 - BER de 10 % avec une PRP de 20 ns

Une amlioration de notre systme pourrait tre denvisager un algorithme permettant de


dfinir le seuil de dcision idal en fonction du SNR, de la PRP et de lamplitude lmission.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

46 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Conclusion

Tout au long de ltude, nous avons pu voir les diffrentes faons de gnrer les signaux
caractrisant les systmes UWB. Ainsi, il est possible de remarquer que linfluence de chaque
paramtre est importante si bien quil suffit den changer un pour ne plus remplir les conditions
dmission imposes par les organismes de rgulation. Il a aussi t vu quil existe plusieurs types
de modulation, cependant, larchitecture de dmodulation asynchrone, impose une modulation de
type BPSK.
Le canal de transmission pouvait tre modlis de plusieurs faons, mais le cahier des
charges imposait une prise en compte des multi-trajets, ainsi il semblait appropri de choisir le
modle de Saleh-Valenzuela modifi. De plus un modle statistique des pertes a t implment
pour tenir compte de lattnuation lie la distance. Lajout du bruit a permis de se rapprocher le
plus possible des conditions relles.
Larchitecture du dmodulateur est asynchrone. De ce fait, tous les types de modulation
ne peuvent pas tre dmoduls. En outre, il serait judicieux dutiliser un algorithme afin de
dterminer le seuil de dintgration pour amliorer la dtection des bits.

Sur le plan technique, nous avons acquis une certaine aisance dans lutilisation de Matlab
qui est un logiciel trs utilis en entreprise. Ce projet nous a aussi sensibilis aux concepts
fondamentaux des tlcommunications.
Cette exprience a t enrichissante sur le plan humain puisque venant des trois cursus
diffrents (I3, I3S,I3T), nous avions donc chacun notre propre approche. Nous avons essay
dutiliser les comptences de tous afin de mener bien cette tude sur les systmes UWB. De plus,
nous avons dcouvert les dmarches exprimentales ncessaires tout travail dans le domaine de
la recherche.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

47 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Glossaire
BER : Bit Error Rate Taux de bits errons
DSE : Densit spectrale dnergie
HDR : High Data Rate (Haut dbit).
LDR : Low Data Rate (Bas dbit).
LOS : Line Of Sight (En ligne de vue).
Masque : Le masque est le contour limitant la DSP dun signal.
Motif : Cest le signal caractrisant un bit.
Multi-Band : La bande UWB est dcompose en un certain nombre de petite bandes .

Multipath : Voir multi-trajets.


Multi-Trajets : Les multi-trajets sont lies la rflexion, la diffraction et rfraction du signal sur
les objets. Ex :

NLOS : Non Line Of Sight (Pas en ligne de vue).


PRP : Pulse Repetition Period (Priode de rptition des impulsions).
PSD : Power Spectral Density (Densit spectrale de puissance).

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

48 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Single-Band : La totalit de la bande UWB est utilise (ex : les systmes que nous tudions).

WLAN : Wireless Local Area Network (Rseau local sans fil). Ex : WIFI.
WPAN : Wireless Personal Area Network (Rseau personnel sans fil). Ex : Bluetooth.

Zero padding : Augmentation de la taille dun vecteur par ajout de zros.

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

49 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Index des figures et tableaux


Figure 1: Illustration de la Bf
Figure 2 : Doublet Gaussien
Figure 3 : Exemples de systmes partageant la mme plage de frquence que lUWB
Figure 4 : Illustration de la dfinition de la puissance crte
Figures 5 et 6 : Masques de la bande spectrale dun systme UWB indoor et outdoor pour les applications de
communication imposs par la FCC
Figure 7 : Masque des bandes spectrales que doit vrifier un systme UWB suivant diffrents organismes de
normalisation
Figure 8 : Rponse impulsionnelle du canal
Figure 9 : Dcroissance exponentielle des puissances des paquets et des trajets
Figure 10 : Impulsion la sortie du gnrateur d'impulsion
Figure 11 : Impulsion Gaussienne Simple
Figure 12 : Drive d'ordre 5 d'une impulsion Gaussienne
Figure 13 : Cosinus fentr par une impulsion Gaussienne
Figure 14 : DSE d'un cosinus fentr par une impulsion Gaussienne (Frquence du cosinus = 0.7GHz),
Sigma=0.8 ns
Figure 15 : DSE d'une impulsion drive d'ordre 5 d'une Gaussienne, Sigma=0.8
Figure 16 : Sigma = 0.8, PRP = 15 et Frquence = 0.8 GHz
Figure 17 : Sigma = 0.2, PRP = 15 et Frquence = 0.8 GHz
Figure 18 : Sigma = 0.8, PRP = 15 et Frquence = 0.8 GHz
Figure 19 : Sigma = 0.8, PRP = 100 et Frquence = 0.8 GHz
Figure 20 : Sigma = 0.8, PRP = 15 et Frquence = 0.8 GHz
Figure 21 : Sigma = 0.8, PRP = 15 et Frquence = 2 Ghz
Figure 22 : Modulation OOK pour le mot [1,0] et une PRP de 30 ns
Figure 23 : Modulation BPSK pour le mot [1,0] et une PRP de 30 ns
Figure 24 : Modulation DPIM pour le mot [1,0], une PRP de 30 ns et un dcalage de 10 ns
Figure 25 : Modulation PPM pour le mot [1,0], une PRP de 30 ns et un dcalage de 10 ns
Tableau 1 : Comparaison des systmes de transmission existants
Tableau 2 : Caractristiques du modle S-V modifi selon le type de canal
Tableau 3 : Caractristiques de lattnuation selon le type de canal

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

50 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Annexes

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

51 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Annexe A : Simulation de la chane totale


Conditions Idales :
Paramtres de lmission et du canal
Priode dchantillonnage = 10.0000 ps,
Amplitude de l impulsion = 8.0000,
Sigma de l impulsion = 0.2000 ns,
PRP du motif = 200.0000 ns,
Frquence du Cos = 3.2000 GHz,
Gain de l ampli = 2.0000,
Distance metteur/rcepteur = 4.0000 mtres
Model S-V Parameters
Lam = 0.0233, lambda = 2.5000, Gam = 7.1000, gamma = 4.3000
std_ln_1 = 3.3941, std_ln_2 = 3.3941, NLOS flag = 0, std_shdw = 3.0000
Paramtres de lattnuation du canal
Type d environnement : LOSC,
Attnuation a 1 mtre = 47.3000, gamma = 2.0700, S=-2.7018
Avec de telles conditions nous obtenons un Rapport Signal Bruit (RSB ou SNR) de 11.0033
Et un BER de 14%
Bits mis
1.5

0.5

-0.5

1000

2000

3000

4000

5000
temps en ns

6000

7000

8000

9000

10000

6000

7000

8000

9000

10000

Bits reus
1.5

0.5

-0.5

1000

2000

3000

4000

5000
temps en ns

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

52 sur 85

Simulation dune chane de communication UWB de type impulsionnel

-6

Onde l"entre du dmodulateur

x 10

Amplitude

2
0
-2
-4
-6

1000

2000

3000

-11

4000

5000
Temps en ns

6000

7000

8000

9000

10000

Signal la sortie du Retardateur/Multiplieur

x 10

Amplitude

1
0
-1
-2
-3

1000

2000

3000

4000

5000
Temps en ns

6000

7000

8000

9000

10000

20

40

60

80

100
temps en ns

120

140

160

180

200

Amplitude en Volts

6
4
2
0
-2
-4
-6

DSE dB

-10

-20
Part 15
FCC Outdoor mask
FCC Indoor mask
Impulsion

-30

-40

-50

10

10
Frquence GHz

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

53 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Annexe B : Sources
Les sources* sont donnes par ordre alphabtique :
AmpliTrans.m
AntenneRec.m
AntenTrans.m
Att.m
Decision.m
Gauss.m
impulsiongen.m
Integrateur.m
Modul.m
modulcos.m
Param.m
param_att.m
Reception.m
Retard_mult.m
test.m
Trans_canal.m
TransChain.m
uwb_sv_cnvrt_ct.m
uwb_sv_eval_ct.m
uwb_sv_eval_ct_original.m
uwb_sv_model_ct.m
uwb_sv_param.m

Certaines fonctions utilisent la procdure daffichage des masques programme par D. MARCHALAND
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

54 sur 85

Simulation dune chane de communication UWB de type impulsionnel

AmpliTrans.m
function [SigOut]= AmpliTrans(Sig,GainTrans)
% Fonction amplifiant et filtrant le signal modul
%
% function [SigOut]= AmpliTrans(Sig,GainTrans)
% Entrees: Sig: signal amplifier et moduler (vecteur colonne)
%
GainTrans: gain de l'amplificateur
% Sortie: SigOut: Signal amplifie et filtre (vecteur)
%----- Amplification
SigOut=GainTrans*Sig;
%----- Filtrage
SigOut = 1*SigOut;

%Filtre a ajouter

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

55 sur 85

Simulation dune chane de communication UWB de type impulsionnel

AntenneRec.m
function [SignalRecu] = AntenneRec(OndeRecue)
% function [SignalRecu] = AntenneRec(OndeRecue);
% Antenne de reception simple Sortie=Entre
%
Entre :
%
OndeRecue ==> Onde la sortie du canal
%
Sortie :
%
SignalRecu ==> Signal la sortie de l'antenne
SignalRecu = OndeRecue;

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

56 sur 85

Simulation dune chane de communication UWB de type impulsionnel

AntenTrans.m

function [Wave]= AntenTrans(Sig)


% Fonction modlisant l'antenne d'mission
%
% function [Wave]= AntenTrans(Sig)
% Entree: Sig: signal mettre (vecteur colonne)
% Sortie: Wave: Onde mise (vecteur)
Wave = diff(Sig);
Wave = [Wave ; Wave(length(Wave))];

% Drive point par point du signal


% Pour ne pas perdre d'echantillons car la
% derive enlve 1/2 point avant et 1/2 point aprs

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

57 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Att.m
function [SigAtt]=Att(Sig,d,Env)
%Fonction attnuant l'onde
%
%function [SigAtt]=Att(Sig,d,Env)
%Entres: Sig: Signal attenuer (vecteur)
%
d: Distance en mtres
%
Env: Environnement (LOSR,NLOSR,LOSC,NLOSC,USDEF)
%Sorties: SigAtt: Signal attenu
% Chargement des paramtres selon le type d'environnement
[PL0,gam,S]=param_att(Env);
% Affichage des paramtres
fprintf(1,['Parametres de l attenuation du canal\n' ...
' Type d environnement : %s,\n' ...
' Attenuation a 1 metre = %.4f, gamma = %.4f, S=%.4f \n'], ...
Env,PL0,gam,S);
% Attnuation du signal selon le modle suivant
SigAtt=Sig*10^(-(PL0+10*gam*log10(d)+S)/10);

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

58 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Decision.m
function [Data] = Decision(Val)
% [Data] = Decision(Val);
% Fonction de dcision du bit
% Entre Val : Scalaire
% Sortie Data : 1 ou 0
if (Val>0)
Data = 1;
else Data = 0;
end

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

59 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Gauss.m
function [St,t,Sf,f] = gauss(A,sgma,nd,Npts,argin1,argin2,argin3)
% function [St,t,Sf,f] = gauss(A,sgma,nd,Npts,[Tmin,Tmax,Fmax])
%
% Genere une fonction gaussienne avec les parametres suivants :
% - A : amplitude de la fonction
% - sgma : parametre de la gaussienne
% - nd : ordre de la derivee de la gausienne
% - Npts : nombre de points pour la fonction
% --> Options
% - Tmin / Tmax : plage de calcul de l'impulsion temporelle
% - Fmax : frequence maximale pour le calcul du spectre
%
% Output de la fonction "gauss"
% - St : allure temporelle du signal
% - t : base de temps du signal
% - Sf : spectre en amplitude normalise du signal (en dB)
% - f : base de frequence du signal
if nargin == 4,
Fmax = 1/sgma;
t = linspace(-10*sgma,10*sgma,Npts);
elseif nargin == 5,
Fmax = argin1;
t = linspace(-10*sgma,10*sgma,Npts);
elseif nargin == 6,
Fmax = 1/sgma;
Tmin = argin1; Tmax = argin2;
t = linspace(Tmin,Tmax,Npts);
elseif nargin == 7,
Fmax = argin3;
Tmin = argin1; Tmax = argin2;
t = linspace(Tmin,Tmax,Npts);
else
error('Erreur dans les parametres');
end
G0 = 1/(sqrt(2*pi)*sgma)*exp(-t.^2/(2*sgma^2));
G1 = -t/(sqrt(2*pi)*sgma^3).*exp(-t.^2/(2*sgma^2));
if nd == 0,
St = A*G0/max(abs(G0));
elseif nd == 1,
St = A*G1/max(abs(G1));
else
Gn = zeros(nd+1,Npts);
Gn(1,:) = G0; Gn(2,:) = G1;
for i=3:nd+1,
Gn(i,:) = -(i-2)/(sgma^2)*Gn(i-2,:)-t/(sgma^2).*Gn(i-1,:);
end
St = A*Gn(nd+1,:)/max(abs(Gn(nd+1,:)));
end
f = linspace(0,Fmax,Npts);
Sf = 20*log10((2*pi*f).^nd.*exp(-(2*pi*f*sgma).^2/2)/max(((2*pi*f).^nd.*exp(-(2*pi*f*sgma).^2/2))));

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

60 sur 85

Simulation dune chane de communication UWB de type impulsionnel

impulsiongen.m
function [impulsion,t] = impulsiongen(A,sgma,PRP,freqcos,periodeech)
%Gnrateur d'une impulsion Gaussienne
% Utilisation :
% [impulsion,t] = impulsiongen(A,sgma,PRP,freqcos,periodeech);
% Entres :
%
A : Amplitude du motif (en Volts)
%
sgma : Paramtre Sigma de l'impulsion Gaussienne (en ns)
%
PRP : Priode de rptition des Pulses (en ns)
%
freqcos : frquence du cosinus (en GHz)
%
periodeech: Priode d'echantillonnage (en ps)
% Sorties :
%
%
%

impulsion : vecteur colonne dcrivant l'impulsion sur


'tailltotale' points.
t : Base de temps

tailleimpulsion = round(10*sgma/(periodeech*0.001));
nbpointmotif = round(PRP/(periodeech*0.001));
% Cration du vecteur
impulsion = zeros(nbpointmotif,1);
%dfinition des bornes de fentrage
Tcosmin = -5*sgma;
Tcosmax = 5*sgma;
% Cration de la sinusoide fentre
[Stfin,t] = modulcos(A,sgma,tailleimpulsion,Tcosmin,Tcosmax,freqcos);
% Remplissage du vecteur
for I=1:tailleimpulsion
impulsion(I)=Stfin(I);
end
t=linspace(0,PRP,nbpointmotif);
FreqEchPSD=1E3/periodeech;
% Calcul de la PSD
[Pxx,F] = psd(impulsion,length(impulsion),FreqEchPSD,boxcar(length(impulsion)));
% Dfinition des masques FCC
FCC_out_f = [0.9 0.96 0.96 1.61 1.61 1.99 1.99 3.1 3.1 10.6 10.6 20];
FCC_out_P = [-41.3 -41.3 -75.3 -75.3 -63.3 -63.3 -61.3 -61.3 -41.3 -41.3 -61.3 -61.3];
FCC_in_f = [0.9 0.96 0.96 1.61 1.61 1.99 1.99 3.1 3.1 10.6 10.6 20];
FCC_in_P = [-41.3 -41.3 -75.3 -75.3 -53.3 -53.3 -51.3 -51.3 -41.3 -41.3 -51.3 -51.3];
f = linspace(0.9,20,51);
P15 = -41.3*ones(1,51);

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

61 sur 85

Simulation dune chane de communication UWB de type impulsionnel

% Passage en Db
P15 = P15 +41.3*ones(1,length(P15));
FCC_out_P = FCC_out_P +41.3*ones(1, length(FCC_out_P));
FCC_in_P = FCC_in_P +41.3*ones(1, length(FCC_in_P));
figure(1);
subplot(211);
plot(t,impulsion); grid; % Affichage de l'impulsion
xlabel('temps en \bf ns');
ylabel('Amplitude en \bf Volts');
subplot(212);
semilogx(f,P15,'k-.',FCC_out_f,FCC_out_P,'m',FCC_in_f,FCC_in_P,'r',F,10*log10(Pxx)); grid
% Affichage de la PSD
xlabel('Frquence \it GHz');
ylabel('DSE \bf dB');
legend('Part 15','FCC Outdoor mask','FCC Indoor mask','Impulsion');
axis([0.9 20 -50 0]);

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

62 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Integrateur.m
function [Val] = Integrateur(Sig,Seuil,Tf,periodeech)
% [Val] = Integrateur(Sig,Seuil,Tf,periodeech)
% Intgre le signal ds qu'il dpasse Seuil, et ce, sur la dure Tf
%
Entres :
%
Sig ==> Signal Integrr
%
Seuil ==> Seuil partir duquel le signal est 'significatif'
%
Tf ==> Dure de l'integration (en ns)
%
periodeech ==> Priode d'chantillonage en ps
%
Sorties :
%
Val ==> Valeur de l'intgrale
n = length(Sig);
Val = 0;
longueur = round(Tf*1000/periodeech);
I=1;
debut = 1;
% Recherche de la position du seuil
while ((I<n) && (abs(Sig(I))<=Seuil))
I=I+1;
debut=I;
end
fin = debut + longueur - 1;
% Sommation
if (fin <= n)
Val = sum(Sig(debut:debut+longueur-1))/periodeech;
else
error('Attention seuil trop lev ou dure d intgration trop longue');
end

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

63 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Modul.m
function [SigOut]=Modul(Data, Pulse, Kind, Delay, periodeech)
% Fonction modulant l'impulsion en fonction des donnes
%
%function [SigOut]=Modul(Data, Pulse, Kind, Delay, periodeech)
% Entres: Data : Donne moduler (1 bit)
%
Pulse : Impulsion (vecteur colonne)
%
Kind : Type de modulation souhaite: 'ook','bpsk','ppm','dpim'
%
Delay: Temps de dcalage (chiffre en ns)
%
periodeech: Priode d'chantillonnage (en picosecondes)
% Sortie: SigOut: Motif modul (vecteur)

n=length(Pulse); % Taille de l'impulsion


if Data==1
% La donne "1" est inchange quelque soit la modulation
SigOut=Pulse;
elseif Data==0
switch(Kind) % Type de modulation
case 'ook',

% Modulation OOK (OnOffKeying)

SigOut=zeros(n,1);

% Annulation du motif

case 'ppm', % Modulation PPM (Pulse Position Modulation)


echsup=round(1000*Delay/periodeech);
% Nombre d'chantillons dplacer
SigOut=[Pulse(n-echsup+1:n);Pulse(1:n-echsup)]; % Dcalage de l'impulsion dans le motif
case 'bpsk' , % Modulation BPSK (Binary Phase Shift Keying)
SigOut=-Pulse;

% Opposition du motif

case 'dpim' , % Modulation DPIM (Digital Pulse Interval Modulation)


echsup=round(1000*Delay/periodeech); % Nombre d'chantillons supprimer
SigOut=Pulse(1:n-echsup);
% Troncature du motif
otherwise,
error('Modulation doesn t exists');
end
else

% Donnes non binaires

error('Data problems');
end

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

64 sur 85

Simulation dune chane de communication UWB de type impulsionnel

modulcos.m
function [Stfin,t] = modulcos(A,sgma,Npts,Tcosmin,Tcosmax,freq)
% [Stfin,t] = modulcos(A,sgma,Npts,Tcosmin,Tcosmax,freq);
%Gnre une Impulsion partir de la multiplication d'une Gaussienne et
%d'un signal Sinusoidal.
% Entres :
%
A = Amplitude Maximale
%
sgma = Position du Max
%
Npts = Nombre de points calculer
%
Tcosmin = Borne infrieure de la fentre du cosinus
%
Tcosmax = Borne suprieure de la fentre du cosinus
%
freq = Frquence du cosinus
% Sortie :
%
Stfin = Signal de sortie
%
t = Base de temps
nd=0;
% Cration de la Gaussienne
[St,t,Sf,f] = gauss(A,sgma,nd,Npts);
% Cration de la sinusoide
a=1*cos(2*pi*freq*t);
% Multiplication des deux signaux
Stfin = St.*a;

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

65 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Param.m
function [demod,periodeech,A,sgma,PRP,freqcos,ModulKind,Delay,...
GainTrans,d,Env,cm_num,Seuil,datain,nbits,Tf,NAmp]=param();
%Fichier permettant de dfinir les paramtres ncessaires la simulation de la chaine d'mission
%
%function [demod,periodeech,A,sgma,PRP,freqcos,ModulKind,Delay,...
%
GainTrans,d,Env,cm_num,Seuil,datain,nbits,Tf,NAmp]=param();
%Sorties: demod: dmodulation ou non
%
periodeech: priode d'chantillonage en picoseconds
%
A: Amplitude de l'impulsion en Volts
%
sgma: Sigma de l'impulsion en nanoseconds
%
PRP: PRP du motif en nanoseconds
%
freqcos: Frquence du cos en GHz
%
ModulKind: Type de modulation :'ook','bpsk','ppm','dpim'
%
Delay: Temps pour la 'ppm' et la 'dpim' en ns
%
GainTrans: Gain de l'ampli
%
d: Distance en mtre
%
Env: Type d'environnement (chaine de caractres)
%
LOSC : Line Of Sight Commercial
%
NLOSC : Non Line Of Sight Commercial
%
LOSR : Line Of Sight Residential
%
NLOSR : Non Line Of Sight Residential
%
USDEF : Definie par l'utilisateur
%
cm_num: Caracteristique du model S-V (1,2,3,4)
%
1 based on TDC measurements for LOS 0-4m
%
2 based on TDC measurements for NLOS 0-4m
%
3 based on TDC measurements for NLOS 4-10m
%
4 25 nsec RMS delay spread bad multipath channel
%
Seuil: Seuil partir duquel le signal est 'significatif'
%
datain: Donne (mots X bits en vecteur)
%
nbits: Nombre de bits crer
%
Tf: Dure de l'integration (en ns)
%
NAmp: Amplitude du bruit

on=1;off=0;
periodeech=10;
% Priode d'chantillonage en picoseconds
%-----Choix des donnes
% Soit :
nbits=10;
% Nombre de bits
datain=(sign(randn(nbits,1))+1)/2;
% Srie aleatoire de bits
% Soit :
% datain=[0;1;0;0;1;1;1;0;0;0;0;1;0;1;0;0;1;1;;0;0;1];
% Dones
% nbits=length(datain);
% Taille dumot de donnes

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

66 sur 85

Simulation dune chane de communication UWB de type impulsionnel

%-----Configuration du motif
A=8;
% Amplitude de l'impulsion en Volts
sgma=0.2;
% Sigma de l'impulsion en nanoseconds
PRP=100;
% PRP du motif en nanoseconds
freqcos=3.2;
% Frquence du cos en GHz

%------configuration de la modulation
demod=on;
% Dmodulation on ou off
ModulKind='ppm';
% Type de modulation :'ook','bpsk','ppm','dpim'
Delay=3;
% Temps pour la 'ppm' et la 'dpim' en ns
%----configuration de l'ampli/Filtre d'mission
GainTrans=2;
% Gain de l'ampli
%----configuration du canal
d=4;
% Distance entre l'metteur et le recepteur en mtre
Env='LOSC';
% Type d'environnement (chaine de caractres)
% LOSC : Line Of Sight Commercial
% NLOSC : Non Line Of Sight Commercial
% LOSR : Line Of Sight Residential
% NLOSR : Non Line Of Sight Residential
% USDEF : Definie par l'utilisateur
cm_num = 1;
% Caractristiques du modele S-V
% 1 based on TDC measurements for LOS 0-4m
% 2 based on TDC measurements for NLOS 0-4m
% 3 based on TDC measurements for NLOS 4-10m
% 4 25 nsec RMS delay spread bad multipath channel
NAmp=2e-9; % Amplitude du bruit
%----configuration de la rception
Seuil=1e-8;
% Racine carre du Seuil de dbut d'intgration
Tf = 20*sgma;
% Dure d'intgration en ns

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

67 sur 85

Simulation dune chane de communication UWB de type impulsionnel

param_att.m
function [PL0,gam,S]=param_att(environment)
% Fonction permettant de paramtrer le modele d'attnuation en fonction de
% l'environnement.
%
%function [PL0,gam,S]=param_att(environment)
% Entree : environment : Type d'environnement (chaine de caractere)
%
LOSC : Line Of Sight Commercial
%
NLOSC : Non Line Of Sight Commercial
%
LOSR : Line Of Sight Residential
%
NLOSR : Non Line Of Sight Residential
%
USDEF : Dfinie par l'utilisateur
% Sortie: PL0: Attenuation a 1 metre
%
gam: variable dependante de l'environnement de propagation
%
S: Variable aleatoire gaussienne a moyenne nulle

switch(environment)
case 'LOSC',
PL0=47.3;
gam=2.07;
S=2.3*randn(1);
case 'NLOSC',
PL0=43.7;
gam=2.95;
S=4.1*randn(1);
case 'LOSR',
PL0=45.9;
gam=2.01;
S=3.2*randn(1);
case 'NLOSR',
PL0=50.3;
gam=3.12;
S=3.8*randn(1);
case 'USDEF', % Valeurs choisir par l'utilisateur
PL0=50.3;
gam=3.12;
S=3.8*randn(1);
otherwise
error('environment doesn t exists');
end

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

68 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Reception.m
function [DataOut] = Reception(WaveIn,Seuil,Tf)
% [DataOut] = Reception(WaveIn,Seuil,Tf);
% Dmodulateur permettant de restituer les bits provenant du canal
% Entre : WaveIn ==> Onde Arrivant du canal de transmission
% Sortie : Data ==> Chaine de bits (0/1)
% Chargement des paramtres
[demod,periodeech,A,sgma,PRP,freqcos,ModulKind,Delay,...
GainTrans,d,Env,cm_num,Seuil,datain,nbits,Tf,NAmp]=param;
n = length(WaveIn);
I = 1;
J = 1;
% Niveau antenne
Wave = AntenneRec(WaveIn);
prppts = PRP*1000/periodeech;
nbits = round(n/prppts);
% Cration d'un vecteur qui contiendra un motif
WaveDecoupe = zeros(prppts,1);
% Traitement bit bit
for I=1:nbits,
% Dcoupage
WaveDecoupe(:) = Wave(1+prppts*(I-1):prppts*I);
% Etage retardateur et multiplicateur
Sig = Retard_mult(WaveDecoupe,Delay,periodeech);
Sig2(1+prppts*(I-1):I*prppts) = Sig;
% Etage intgrateur
Val = Integrateur(Sig,Seuil,Tf,periodeech);
% Etage de dcision
Data(I) = Decision(Val);
end
% Cration des crneaux pour l'affichage des bits
DataOut = zeros(prppts*nbits,1);
for I=0:(nbits-1),
DataOut(I*prppts+1:(I+1)*(prppts))=Data(I+1);
end
t = linspace(0,nbits*PRP,length(Wave));
figure(5);
subplot(211);
plot(t,Wave);
title('Onde l"entre du dmodulateur');
xlabel('Temps en ns');
ylabel('Amplitude');
subplot(212);
plot(t,Sig2);
title('Signal la sortie du Retardateur/Multiplieur');
xlabel('Temps en ns');
ylabel('Amplitude');

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

69 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Retard_mult.m
function [Sig]= Retard_mult(SignalRecu,Delay,periodeech)
% [Sig]= Retard_mult(SignalRecu,Delay,periodeech);
% Creation d'un retard necessaire pour la dmodulation Asynchrone
% Entres :
%
SignalRecu ==> Signal retarder (vecteur colonne)
%
Delay ==> Dlai du retard (en ns)
%
periodeech ==> Priode d'chantillonage (en ps)
% Sortie :
%
Sig ==> Signal retard et multipli (vecteur colonne)
[SigDel]=Modul(0, SignalRecu, 'ppm', Delay, periodeech);
% Cration du retard
Sig = SigDel.*SignalRecu;
% Multiplication du signal Recu par ce meme signal retard

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

70 sur 85

Simulation dune chane de communication UWB de type impulsionnel

test.m
clear; % Remise zro des variables
echo off ; % Empeche l'affichage
warning off all; % Empeche l'affichage des 'warning'
[demod,periodeech,A,sgma,PRP,freqcos,ModulKind,Delay,...
GainTrans,d,Env,cm_num,Seuil,datain,nbits,Tf,NAmp]=param;
% Chargement des paramtres
[Wave,WaveOut]=trans_canal(datain,demod);
% Traitement ds donnes par la chaine d'mission et le canal
DataOut = Reception(WaveOut,Seuil*Seuil,Tf);
% Traitement des donnes par la chaine de reception
% Dfinition d'une base de temps pour l'affichage des bits
prppts = PRP*1000/periodeech;
for I=0:(nbits-1),
DataIn(I*prppts+1:(I+1)*(prppts))=datain(I+1);
end
t = linspace(0,nbits,length(DataIn));
figure(6);
subplot(211); % Affichage des donnes entres
plot(t,DataIn);
title('\bf Bits mis');
xlabel('temps en ns');
axis([0,t(prppts*nbits),-0.5,1.5]);
subplot(212); % Affichage des donnes reues
plot(t,DataOut);
title('\bf Bits reus');
xlabel('temps en ns');
axis([0,t(prppts*nbits),-0.5,1.5]);
% Calcul et affichage de la BER
temp = DataIn-DataOut';
BER = sum(abs(temp))/(length(DataIn))

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

71 sur 85

Simulation dune chane de communication UWB de type impulsionnel

Trans_canal.m
function [wave,waveoutnoise]=trans_canal(Datain,demod)
% Fonction permettant de reconstituer la chaine d'mission et le canal a
% partir du traitement bit a bit de chaque partie (transchain et
% uwb_sv_eval_ct)
%
%function [wave,waveoutnoise]=trans_canal(Datain,demod)
% Entres: demod : dmodulation ou non
%
Datain : Donne (mots X bits en vecteur)
% Sorties: Wave: Onde en sortie d'antenne
%
waveoutnoise: Onde en sortie de canal
[demod,periodeech,A,sgma,PRP,freqcos,ModulKind,Delay,...
GainTrans,d,Env,cm_num,Seuil,datain,nbits,Tf,NAmp]=param;
% Chargement des paramtres de la chaine d'mission et du canal
% Affichage des paramtres
fprintf(1,['Parametres de l emission et du canal\n' ...
' Periode d echantillonnage = %.4f ps, \n' ...
' Amplitude de l impulsion = %.4f, Sigma de l impulsion = %.4f ns,\n' ...
' PRP du motif = %.4f ns, Frequence du cos = %.4f GHz,\n' ...
' Type de modulation : %s, Temps pour la ppm et la dpim = %.4f ns,\n' ...
' Gain de l ampli = %.4f, Distance emetteur/recepteur = %.4f metres\n'], ...
periodeech,A,sgma,PRP,freqcos,ModulKind,Delay,GainTrans,d);
[Pulse,t]=impulsiongen(A,sgma,PRP,freqcos,periodeech);
% Cration de l'impulsion
n=length(Datain);

% Nombre de donnes

h=uwb_sv_eval_ct(n,periodeech,cm_num);

% Cration des canaux pour chaque bit

%---Traitement du premier bit pour crer et initialiser les variables


wave=Transchain(Datain(1),Pulse,demod);
% Passage du premier bit par la chaine d'mission
convolution=conv(h(:,1),wave);
% Convolution du premier bit avec le canal correspondant
waveout=convolution(1:round(1000*PRP/(periodeech)));
% Rcuperation de l'onde pour une taille standard (PRP)
buffer=convolution(round(1000*PRP/(periodeech))+1:length(convolution));
% Cration d'un buffer qui perturbera les bits suivants
%---Traitement des n-1 bits suivants
for I=2:n
wavetemp=Transchain(Datain(I),Pulse,demod);
% Passage du bit par la chaine d'mission
convolution=conv(h(:,I),wavetemp);
% Convolution du bit avec le canal correspondant

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

72 sur 85

Simulation dune chane de communication UWB de type impulsionnel

buffer=[buffer;zeros(length(convolution)-length(buffer),1)];
% Ajustement de la taille du buffer avec celle de convolution
% en ajoutant des zros pour permettre une addition
buffer=convolution+buffer;
% Sommation du buffer et de la convolution (ajout du bruit li au
% bit precedent)
wave=[wave ; wavetemp];
% Concatnation de l'ancienne sortie d'antenne avec celle du bit
% actuel
waveout=[waveout ; buffer(1:length(wavetemp))];
% Concatnation de l'ancienne sortie de canal (sans attnuation)
% avec celle du bit actuel tronque la taille de la PRP
buffer=buffer(round(1000*PRP/(periodeech))+1:length(buffer));
% Actualisation du buffer
end
waveoutatt=Att(waveout,d,Env);
% Attnuation du canal en fonction de la distance
Noise=NAmp*randn(length(waveoutatt),1);
% Cration du bruit
% Calcul des PSD (waveoutatt et Noise)
[PXX,fp]=PSD(waveoutatt,length(waveoutatt), 1e3/periodeech, boxcar(length(waveoutatt)));
[NXX,fn]=PSD(Noise,length(Noise), 1e3/periodeech, boxcar(length(Noise)));
% Calcul du rapport signal bruit
SNR=10*log10(sum(PXX./NXX)/length(waveout))
% Ajout du bruit
waveoutnoise=waveoutatt+Noise;
t=linspace(0,length(wave)/round(1000/(periodeech)),length(wave));
% Cration d'une base de temps pour l'affichage
figure(2); % Nouvelle figure
prppts = PRP*1000/periodeech;
nbits =length(Datain);
for I=0:(nbits-1),
DataIn(I*prppts+1:(I+1)*(prppts))=Datain(I+1);
end
t1 = linspace(0,nbits,length(DataIn));
subplot(311);plot(t1,DataIn); %Affichage des donnes
title('Emission & Canal');
legend('Donnes');
axis([0,t1(prppts*nbits),-0.5,1.5]);
subplot(312);plot(t, waveout,t,wave,t,waveoutatt);grid on; % Affichage des signaux
xlabel('Temps en ns');
ylabel('Puissance');
legend('Sortie du modele multi trajets','Sortie d antenne' , 'Sortie du canal sans bruits')
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

73 sur 85

Simulation dune chane de communication UWB de type impulsionnel

subplot(313);plot(buffer);grid on; % Affichage du Buffer


legend('Buffer')
xlabel('Points');
ylabel('Puissance');
figure(3);
plot(t, waveoutnoise,t,waveoutatt); grid on; % Affichage des ondes
xlabel('Temps en ns');
ylabel('Puissance');
legend('Sortie du canal avec bruits','Sortie du canal sans bruits');
% Calcul de la PSD de l'onde de sortie
[InXX,fin]=PSD(wave,10*length(wave), 1e3/periodeech, boxcar(10*length(wave)));
[OutXX,fout]=PSD(waveoutnoise,10*length(waveoutnoise), 1e3/periodeech, boxcar(10*length(waveoutnoise)));
% Dfinition des masques FCC
FCC_out_f = [0.9 0.96 0.96 1.61 1.61 1.99 1.99 3.1 3.1 10.6 10.6 20];
FCC_out_P = [-41.3 -41.3 -75.3 -75.3 -63.3 -63.3 -61.3 -61.3 -41.3 -41.3 -61.3 -61.3];
FCC_in_f = [0.9 0.96 0.96 1.61 1.61 1.99 1.99 3.1 3.1 10.6 10.6 20];
FCC_in_P = [-41.3 -41.3 -75.3 -75.3 -53.3 -53.3 -51.3 -51.3 -41.3 -41.3 -51.3 -51.3];
f = linspace(0.9,20,51);
P15 = -41.3*ones(1,51);
% Passage en Db
P15 = P15 + 41.3*ones(1,length(P15));
FCC_out_P = FCC_out_P +41.3 *ones(1, length(FCC_out_P));
FCC_in_P = FCC_in_P + 41.3*ones(1, length(FCC_in_P));
figure(4); % Affichage de la PSD de l'onde d'entre et de sortie
subplot(211);
p=semilogx(f,P15,'k-.',FCC_out_f,FCC_out_P,'m',FCC_in_f,FCC_in_P,'r',fin,10*log10(InXX));grid on;
axis([0.9 1.5e1 -40 0]);
legend('Part 15','FCC Outdoor mask','FCC Indoor mask','Entre du canal');
xlabel('frquence en GHz');
ylabel('PSD en dB')
subplot(212);
p=semilogx(f,P15,'k-.',FCC_out_f,FCC_out_P,'m',FCC_in_f,FCC_in_P,'r',fout,10*log10(OutXX));grid on;
axis([0.9 1.5e1 -250 0])
xlabel('frquence en GHz');
ylabel('PSD en dB')
legend('Part 15','FCC Outdoor mask','FCC Indoor mask','Sortie du canal');

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

74 sur 85

Simulation dune chane de communication UWB de type impulsionnel

TransChain.m
function Wave= TransChain (Data,Pulse,demod)
% Fonction modlisant la chaine d'emission bit par bit
%
% function [Wave]= TransChain (Data)
% Entres: demod : demodulation ou non
%
Data: Donne envoyer (1 bit)
%
Pulse: motif a moduler avec la donnee (vecteur)
% Sorties: Wave: Onde en sortie d'antenne pour le bit "Data" (vecteur)
%
PRP : Pulse de Repetition du Periode (periode du motif en ns)

[demod,periodeech,A,sgma,PRP,freqcos,ModulKind,Delay,...
GainTrans,d,Env,cm_num,Seuil,datain,nbits,Tf,NAmp]=param;
% Chargement des paramtres de la chaine d'mission et du canal
if demod
[SigDel]=Modul(0, Pulse, 'ppm', Delay, periodeech);
% Creation du retard
[SigOut]=Modul(Data, SigDel, 'bpsk', Delay, periodeech);
% Modulation de l'impulsion gnre prcdemment
[SigOut]=SigOut+Pulse;
% Sommation du motif et du motif retard et modul
else
[SigOut]=Modul(Data, Pulse, ModulKind, Delay, periodeech);
% Modulation de l'impulsion gnre prcdemment
end
[Sig]=AmpliTrans(SigOut, GainTrans);
% Amplification du signal
[Wave]=AntenTrans(Sig);
% Emission du signal au moyen de l'antenne

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

75 sur 85

Simulation dune chane de communication UWB de type impulsionnel

uwb_sv_cnvrt_ct.m
function [hN,N] = uwb_sv_cnvrt_ct( h_ct, t, np, num_channels, ts )
% convert continuous-time channel model h_ct to N-times oversampled discrete-time samples
% h_ct, t, np, and num_channels are as specified in uwb_sv_model
% ts is the desired time resolution
%
% hN will be produced with time resolution ts / N.
% It is up to the user to then apply any filtering and/or complex downconversion and then
% decimate by N to finally obtain an impulse response at time resolution ts.
min_Nfs = 100; % GHz
N = max( 1, ceil(min_Nfs*ts) ); % N*fs = N/ts is the intermediate sampling frequency before decimation
N = 2^nextpow2(N); % make N a power of 2 to facilitate efficient multi-stage decimation
% NOTE: if we force N = 1 and ts = 0.167, the resulting channel hN will be identical to
% the results from earlier versions that did not use continuous-time.
Nfs = N / ts;
t_max = max(t(:)); % maximum time value across all channels
h_len = 1 + floor(t_max * Nfs); % number of time samples at resolution ts / N
hN = zeros(h_len,num_channels);
for k = 1:num_channels
np_k = np(k); % number of paths in this channel
t_Nfs = 1 + floor(t(1:np_k,k) * Nfs); % vector of quantized time indices for this channel
for n = 1:np_k
hN(t_Nfs(n),k) = hN(t_Nfs(n),k) + h_ct(n,k);
end
end

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

76 sur 85

Simulation dune chane de communication UWB de type impulsionnel

uwb_sv_eval_ct.m
function h=uwb_sv_eval_ct(num_channels,ts,cm_num)
% S-V channel model evaluation modified by ESIEE Students
%
%function h=uwb_sv_eval_ct(num_channels,ts)
%Inputs: num_channels : number of channel impulse responses to generate
%
ts : sampling time (psec)
%
cm_num : channel model number from 1 to 4
%Outputs: h is returned as a matrix with num_channels columns, each column
%
holding a random realization of the channel model (an impulse response)
ts=ts*0.001;

%passing ts in ns forS-V Model

randn('state',12); % initialize state of function for repeatability


rand('state',12); % initialize state of function for repeatability
% get channel model params based on this channel model number
[Lam,lambda,Gam,gamma,std_ln_1,std_ln_2,nlos,std_shdw] = uwb_sv_params( cm_num );
fprintf(1,['Model S-V Parameters\n' ...
' Lam = %.4f, lambda = %.4f, Gam = %.4f, gamma = %.4f\n' ...
' std_ln_1 = %.4f, std_ln_2 = %.4f, NLOS flag = %d, std_shdw = %.4f\n'], ...
Lam, lambda, Gam, gamma, std_ln_1, std_ln_2, nlos, std_shdw);
% get a bunch of realizations (impulse responses)
[h_ct,t_ct,t0,np] = uwb_sv_model_ct( Lam, lambda, Gam, gamma, std_ln_1, std_ln_2, nlos, ...
std_shdw, num_channels );
% now reduce continuous-time result to a discrete-time result
[hN,N] = uwb_sv_cnvrt_ct( h_ct, t_ct, np, num_channels, ts );
% if we wanted complex baseband model or to impose some filtering function,
% this would be a good place to do it
if N > 1,
h = resample(hN, 1, N); % decimate the columns of hN by factor N
else
h = hN;
end
% correct for 1/N scaling imposed by decimation
h = h * N;
% channel energy
% channel_energy = sum(abs(h).^2);
%h_len = size(h,1);
%t = [0:(h_len-1)] * ts; % for use in computing excess & RMS delays
%excess_delay = zeros(1,num_channels);
%RMS_delay = zeros(1,num_channels);
%num_sig_paths = zeros(1,num_channels);
%num_sig_e_paths = zeros(1,num_channels);
%for k=1:num_channels
% determine excess delay and RMS delay
% sq_h = abs(h(:,k)).^2 / channel_energy(k);
% t_norm = t - t0(k); % remove the randomized arrival time of first cluster
% excess_delay(k) = t_norm * sq_h;
% RMS_delay(k) = sqrt( ((t_norm-excess_delay(k)).^2) * sq_h );

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

77 sur 85

Simulation dune chane de communication UWB de type impulsionnel


% determine number of significant paths (paths within 10 dB from peak)
% threshold_dB = -10; % dB
% temp_h = abs(h(:,k));
% temp_thresh = 10^(threshold_dB/20) * max(temp_h);
% num_sig_paths(k) = sum(temp_h > temp_thresh);
% determine number of sig. paths (captures x % of energy in channel)
% x = 0.85;
% temp_sort = sort(temp_h.^2); % sorted in ascending order of energy
% cum_energy = cumsum(temp_sort(end:-1:1)); % cumulative energy
% index_e = min(find(cum_energy >= x * cum_energy(end)));
% num_sig_e_paths(k) = index_e;
%end
%energy_mean = mean(10*log10(channel_energy));
%energy_stddev = std(10*log10(channel_energy));
%mean_excess_delay = mean(excess_delay);
%mean_RMS_delay = mean(RMS_delay);
%mean_sig_paths = mean(num_sig_paths);
%mean_sig_e_paths = mean(num_sig_e_paths);
%fprintf(1,'Model S-V Characteristics\n');
%fprintf(1,' Mean delays: excess (tau_m) = %.1f ns, RMS (tau_rms) = %1.f\n', ...
% mean_excess_delay, mean_RMS_delay);
%fprintf(1,' # paths: NP_10dB = %.1f, NP_85%% = %.1f\n', ...
% mean_sig_paths, mean_sig_e_paths);
%fprintf(1,' Channel energy: mean = %.1f dB, std deviation = %.1f dB\n', ...
% energy_mean, energy_stddev);
%figure(1); clf; plot(t,h); grid on
%title('Impulse response realizations')
%xlabel('Time (nS)')
%figure(2); clf; plot([1:num_channels], excess_delay, 'b-', ...
% [1 num_channels], mean_excess_delay*[1 1], 'r--' );
%grid on
%title('Excess delay (nS)')
%xlabel('Channel number')
%figure(3); clf; plot([1:num_channels], RMS_delay, 'b-', ...
% [1 num_channels], mean_RMS_delay*[1 1], 'r--' );
%grid on
%title('RMS delay (nS)')
%xlabel('Channel number')
%figure(4); clf; plot([1:num_channels], num_sig_paths, 'b-', ...
% [1 num_channels], mean_sig_paths*[1 1], 'r--');
%grid on
%title('Number of significant paths within 10 dB of peak')
%xlabel('Channel number')
%figure(5); clf; plot([1:num_channels], num_sig_e_paths, 'b-', ...
% [1 num_channels], mean_sig_e_paths*[1 1], 'r--');
%grid on
%title('Number of significant paths capturing > 85% energy')
%xlabel('Channel number')
%temp_average_power = sum(h'.*(h)')/num_channels;
%temp_average_power = temp_average_power/max(temp_average_power);
%average_decay_profile_dB = 10*log10(temp_average_power);
%figure(6); clf; plot(t,average_decay_profile_dB); grid on
%axis([0 t(end) -60 0])
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

78 sur 85

Simulation dune chane de communication UWB de type impulsionnel


%title('Average Power Decay Profile')
%xlabel('Delay (nsec)')
%ylabel('Average power (dB)')
%figure(7); clf
%figh = plot([1:num_channels],10*log10(channel_energy),'b-', ...
% [1 num_channels], energy_mean*[1 1], 'g--', ...
% [1 num_channels], energy_mean+energy_stddev*[1 1], 'r:', ...
% [1 num_channels], energy_mean-energy_stddev*[1 1], 'r:');
%xlabel('Channel number')
%ylabel('dB')
%title('Channel Energy');
%legend(figh, 'Per-channel energy', 'Mean', '\pm Std. deviation', 0)
return; % end of program

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

79 sur 85

Simulation dune chane de communication UWB de type impulsionnel

uwb_sv_model_ct_original.m
% S-V channel model evaluation
clear;
no_output_files = 0; % non-zero: avoids writing output files of continuous-time responses
ts = 0.05;
% sampling time (nsec)
num_channels = 1;
% number of channel impulse responses to generate
randn('state',12); % initialize state of function for repeatability
rand('state',12); % initialize state of function for repeatability
cm_num = 1; % channel model number from 1 to 4
% get channel model params based on this channel model number
[Lam,lambda,Gam,gamma,std_ln_1,std_ln_2,nlos,std_shdw] = uwb_sv_params( cm_num );
fprintf(1,['Model Parameters\n' ...
' Lam = %.4f, lambda = %.4f, Gam = %.4f, gamma = %.4f\n' ...
' std_ln_1 = %.4f, std_ln_2 = %.4f, NLOS flag = %d, std_shdw = %.4f\n'], ...
Lam, lambda, Gam, gamma, std_ln_1, std_ln_2, nlos, std_shdw);
% get a bunch of realizations (impulse responses)
[h_ct,t_ct,t0,np] = uwb_sv_model_ct( Lam, lambda, Gam, gamma, std_ln_1, std_ln_2, nlos, ...
std_shdw, num_channels );
% now reduce continuous-time result to a discrete-time result
[hN,N] = uwb_sv_cnvrt_ct( h_ct, t_ct, np, num_channels, ts );
% if we wanted complex baseband model or to impose some filtering function,
% this would be a good place to do it
if N > 1,
h = resample(hN, 1, N); % decimate the columns of hN by factor N
else
h = hN;
end
% correct for 1/N scaling imposed by decimation
h = h * N;
% channel energy
channel_energy = sum(abs(h).^2);
h_len = size(h,1);
t = [0:(h_len-1)] * ts; % for use in computing excess & RMS delays
excess_delay = zeros(1,num_channels);
RMS_delay = zeros(1,num_channels);
num_sig_paths = zeros(1,num_channels);
num_sig_e_paths = zeros(1,num_channels);
for k=1:num_channels
% determine excess delay and RMS delay
sq_h = abs(h(:,k)).^2 / channel_energy(k);
t_norm = t - t0(k); % remove the randomized arrival time of first cluster
excess_delay(k) = t_norm * sq_h;
RMS_delay(k) = sqrt( ((t_norm-excess_delay(k)).^2) * sq_h );
% determine number of significant paths (paths within 10 dB from peak)
threshold_dB = -10; % dB
temp_h = abs(h(:,k));
temp_thresh = 10^(threshold_dB/20) * max(temp_h);
num_sig_paths(k) = sum(temp_h > temp_thresh);

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

80 sur 85

Simulation dune chane de communication UWB de type impulsionnel


% determine number of sig. paths (captures x % of energy in channel)
x = 0.85;
temp_sort = sort(temp_h.^2); % sorted in ascending order of energy
cum_energy = cumsum(temp_sort(end:-1:1)); % cumulative energy
index_e = min(find(cum_energy >= x * cum_energy(end)));
num_sig_e_paths(k) = index_e;
end
energy_mean = mean(10*log10(channel_energy));
energy_stddev = std(10*log10(channel_energy));
mean_excess_delay = mean(excess_delay);
mean_RMS_delay = mean(RMS_delay);
mean_sig_paths = mean(num_sig_paths);
mean_sig_e_paths = mean(num_sig_e_paths);
fprintf(1,'Model Characteristics\n');
fprintf(1,' Mean delays: excess (tau_m) = %.1f ns, RMS (tau_rms) = %1.f\n', ...
mean_excess_delay, mean_RMS_delay);
fprintf(1,' # paths: NP_10dB = %.1f, NP_85%% = %.1f\n', ...
mean_sig_paths, mean_sig_e_paths);
fprintf(1,' Channel energy: mean = %.1f dB, std deviation = %.1f dB\n', ...
energy_mean, energy_stddev);
figure(1); clf; plot(t,h); grid on
title('Impulse response realizations')
xlabel('Time (nS)')
figure(2); clf; plot([1:num_channels], excess_delay, 'b-', ...
[1 num_channels], mean_excess_delay*[1 1], 'r--' );
grid on
title('Excess delay (nS)')
xlabel('Channel number')
figure(3); clf; plot([1:num_channels], RMS_delay, 'b-', ...
[1 num_channels], mean_RMS_delay*[1 1], 'r--' );
grid on
title('RMS delay (nS)')
xlabel('Channel number')
figure(4); clf; plot([1:num_channels], num_sig_paths, 'b-', ...
[1 num_channels], mean_sig_paths*[1 1], 'r--');
grid on
title('Number of significant paths within 10 dB of peak')
xlabel('Channel number')
figure(5); clf; plot([1:num_channels], num_sig_e_paths, 'b-', ...
[1 num_channels], mean_sig_e_paths*[1 1], 'r--');
grid on
title('Number of significant paths capturing > 85% energy')
xlabel('Channel number')
temp_average_power = sum(h'.*(h)')/num_channels;
temp_average_power = temp_average_power/max(temp_average_power);
average_decay_profile_dB = 10*log10(temp_average_power);
figure(6); clf; plot(t,average_decay_profile_dB); grid on
axis([0 t(end) -60 0])
title('Average Power Decay Profile')
xlabel('Delay (nsec)')
ylabel('Average power (dB)')
figure(7); clf
figh = plot([1:num_channels],10*log10(channel_energy),'b-', ...
BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

81 sur 85

Simulation dune chane de communication UWB de type impulsionnel


[1 num_channels], energy_mean*[1 1], 'g--', ...
[1 num_channels], energy_mean+energy_stddev*[1 1], 'r:', ...
[1 num_channels], energy_mean-energy_stddev*[1 1], 'r:');
xlabel('Channel number')
ylabel('dB')
title('Channel Energy');
legend(figh, 'Per-channel energy', 'Mean', '\pm Std. deviation', 0)
if no_output_files,
return
end
%%% save continuous-time (time,value) pairs to files
save_fn = sprintf('cm%d_imr', cm_num);
% A complete self-contained file for Matlab users
save([save_fn '.mat'], 't_ct', 'h_ct', 't0', 'np', 'num_channels', 'cm_num');
% Two comma-delimited text files for non-Matlab users:
% File #1: cmX_imr_np.csv lists the number of paths in each realization
dlmwrite([save_fn '_np.csv'], np, ','); % number of paths
% File #2: cmX_imr.csv can open with Excel
% n'th pair of columns contains the (time,value) pairs for the n'th realization
th_ct = zeros(size(t_ct,1),2*size(t_ct,2));
th_ct(:,1:2:end) = t_ct; % odd columns are time
th_ct(:,2:2:end) = h_ct; % even columns are values
fid = fopen([save_fn '.csv'], 'w');
if fid < 0,
error('unable to write .csv file for impulse response, file may be open in another application');
end
for k = 1:size(th_ct,1)
fprintf(fid,'%.4f,%.6f,', th_ct(k,1:end-2));
fprintf(fid,'%.4f,%.6f\r\n', th_ct(k,end-1:end)); % \r\n for Windoze end-of-line
end
fclose(fid);
return; % end of program

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

82 sur 85

Simulation dune chane de communication UWB de type impulsionnel

uwb_sv_model_ct.m
function [h,t,t0,np] = uwb_sv_model_ct(Lam, lambda, Gam, gamma, std_ln_1, std_ln_2, nlos, ...
std_shdw, num_channels)
% IEEE 802.15.3a UWB channel model for PHY proposal evaluation
%
continuous-time realization of modified S-V channel model
% Input parameters:
% Lam Cluster arrival rate in GHz (avg # of clusters per nsec)
% lambda Ray arrival rate in GHz (avg # of rays per nsec)
% Gam Cluster decay factor (time constant, nsec)
% gamma Ray decay factor (time constant, nsec)
% std_ln_1 Standard deviation of log-normal variable for cluster fading
% std_ln_2 Standard deviation of log-normal variable for ray fading
% nlos Flag to specify generation of Non Line Of Sight channels
% std_shdw Standard deviation of log-normal shadowing of entire impulse response
% num_channels number of random realizations to generate
% Outputs
% h is returned as a matrix with num_channels columns, each column
% holding a random realization of the channel model (an impulse response)
% t is organized as h, but holds the time instances (in nsec) of the paths whose
% signed amplitudes are stored in h
% t0 is the arrival time of the first cluster for each realization
% np is the number of paths for each realization.
% Thus, the k'th realization of the channel impulse response is the sequence
% of (time,value) pairs given by (t(1:np(k),k), h(1:np(k),k))
% initialize and precompute some things
std_L = 1/sqrt(2*Lam);
% std dev (nsec) of cluster arrival spacing
std_lam = 1/sqrt(2*lambda); % std dev (nsec) of ray arrival spacing
mu_const = (std_ln_1^2+std_ln_2^2)*log(10)/20; % pre-compute for later
h_len = 1000; % there must be a better estimate of # of paths than this
ngrow = 1000; % amount to grow data structure if more paths are needed
h = zeros(h_len,num_channels);
t = zeros(h_len,num_channels);
t0 = zeros(1,num_channels);
np = zeros(1,num_channels);
for k = 1:num_channels
% loop over number of channels
tmp_h = zeros(size(h,1),1);
tmp_t = zeros(size(h,1),1);
if nlos,
Tc = (std_L*randn)^2 + (std_L*randn)^2; % First cluster random arrival
else
Tc = 0;
% First cluster arrival occurs at time 0
end
t0(k) = Tc;
%%%%%%%%%%%%%%%%%%% The following line in rev. 1 was in error
% ln_xi = std_ln_1*randn; % set cluster fading
%%%%%%%%%%%%%%%%%%%
path_ix = 0;
while (Tc < 10*Gam)
% Determine Ray arrivals for each cluster
Tr = 0; % first ray arrival defined to be time 0 relative to cluster
ln_xi = std_ln_1*randn; % set cluster fading (new line added in rev. 1)
while (Tr < 10*gamma)

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

83 sur 85

Simulation dune chane de communication UWB de type impulsionnel


t_val = (Tc+Tr); % time of arrival of this ray
mu = (-10*Tc/Gam-10*Tr/gamma)/log(10) - mu_const;
ln_beta = mu + std_ln_2*randn;
pk = 2*round(rand)-1;
h_val = pk * 10^((ln_xi+ln_beta)/20); % signed amplitude of this ray
path_ix = path_ix + 1; % row index of this ray
if path_ix > h_len,
% grow the output structures to handle more paths as needed
%
fprintf(1,'Growing CIR length from %d paths to %d\n', length(tmp_h)+[0 ngrow]);
tmp_h = [tmp_h; zeros(ngrow,1)];
tmp_t = [tmp_t; zeros(ngrow,1)];
h = [h; zeros(ngrow,num_channels)];
t = [t; zeros(ngrow,num_channels)];
h_len = h_len + ngrow;
end
tmp_h(path_ix) = h_val;
tmp_t(path_ix) = t_val;
Tr = Tr + (std_lam*randn)^2 + (std_lam*randn)^2;
end
Tc = Tc + (std_L*randn)^2 + (std_L*randn)^2;
end
np(k) = path_ix; % number of rays (or paths) for this realization
[sort_tmp_t,sort_ix] = sort(tmp_t(1:np(k))); % sort in ascending time order
t(1:np(k),k) = sort_tmp_t;
h(1:np(k),k) = tmp_h(sort_ix(1:np(k)));
% now impose a log-normal shadowing on this realization
fac = 10^(std_shdw*randn/20) / sqrt( h(1:np(k),k)' * h(1:np(k),k) );
h(1:np(k),k) = h(1:np(k),k) * fac;
end
return

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

84 sur 85

Simulation dune chane de communication UWB de type impulsionnel

uwb_sv_param.m
function [Lam,lambda,Gam,gamma,std_ln_1,std_ln_2,nlos,std_shdw] = uwb_sv_params( cm_num )
% Return S-V model parameters for standard UWB channel models
% Lam Cluster arrival rate (clusters per nsec)
% lambda Ray arrival rate (rays per nsec)
% Gam Cluster decay factor (time constant, nsec)
% gamma Ray decay factor (time constant, nsec)
% std_ln_1 Standard deviation of log-normal variable for cluster fading
% std_ln_2 Standard deviation of log-normal variable for ray fading
% nlos Flag for non line of sight channel
% std_shdw Standard deviation of log-normal shadowing of entire impulse response
if cm_num == 1,
% based on TDC measurements for LOS 0-4m
Lam = 0.0233; lambda = 2.5;
Gam = 7.1; gamma = 4.3;
std_ln_1 = 4.8 / sqrt(2);
std_ln_2 = 4.8 / sqrt(2);
nlos = 0;
std_shdw = 3;
elseif cm_num == 2, % based on TDC measurements for NLOS 0-4m
Lam = 0.4; lambda = 0.5;
Gam = 5.5; gamma = 6.7;
std_ln_1 = 4.8 / sqrt(2);
std_ln_2 = 4.8 / sqrt(2);
nlos = 1;
std_shdw = 3;
elseif cm_num == 3, % based on TDC measurements for NLOS 4-10m
Lam = 0.0667; lambda = 2.1;
Gam = 14.00; gamma = 7.9;
std_ln_1 = 4.8 / sqrt(2);
std_ln_2 = 4.8 / sqrt(2);
nlos = 1;
std_shdw = 3;
elseif cm_num == 4, % 25 nsec RMS delay spread bad multipath channel
Lam = 0.0667; lambda = 2.1;
Gam = 24; gamma = 12;
std_ln_1 = 4.8 / sqrt(2);
std_ln_2 = 4.8 / sqrt(2);
nlos = 1;
std_shdw = 3;
end
return

BARDOZ Sbastien MAMMOU Omar MOYSAN Erika

85 sur 85