Академический Документы
Профессиональный Документы
Культура Документы
Etudiants :
Bardoz Sbastien
Mammou Omar
Moysan Erika
Suiveur :
M. Villegas
Sommaire
Sommaire
Remerciements
Rsum
Abstract
Introduction
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
2 sur 85
Conclusion
47
Glossaire
48
50
Annexes
Annexe A : Simulation de la chane totale
Annexe B : Sources
51
52
54
3 sur 85
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.
4 sur 85
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.
5 sur 85
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.
6 sur 85
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.
7 sur 85
8 sur 85
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.
9 sur 85
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
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
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.
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).
11 sur 85
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.
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.
12 sur 85
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.
13 sur 85
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
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
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
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
15 sur 85
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
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
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;
16 sur 85
l = pl l
l = 10 n / 20
o n Normal( l , 2 ) ;
pl polarit des multi-trajets (quiprobable +/-1)
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.
variables alatoires.
17 sur 85
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
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.
18 sur 85
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)
19 sur 85
B - Modlisation
20 sur 85
21 sur 85
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.
22 sur 85
b - Le gnrateur dimpulsions
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
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
23 sur 85
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
24 sur 85
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
25 sur 85
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
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.
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
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
26 sur 85
DSP
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
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)
27 sur 85
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.
28 sur 85
29 sur 85
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)
30 sur 85
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
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
31 sur 85
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().
32 sur 85
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.
4 d
= L0 (1m) + 10 log10
[ ]
[ ]
33 sur 85
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
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
34 sur 85
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().
35 sur 85
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.
36 sur 85
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
37 sur 85
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)
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
Paramtres :
Seuil : Seuil (en Volts)
Tf : Dure dintgration (en nanosecondes)
periodeech : Priode d'chantillonnage en ps
Sortie :
Val : Valeur numrique de lintgrale (sans unit)
39 sur 85
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.
40 sur 85
C - Simulation
41 sur 85
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
42 sur 85
3.5
4.5
4
x 10
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%
43 sur 85
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
44 sur 85
2.5
4
x 10
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
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
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 %
45 sur 85
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
46 sur 85
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.
47 sur 85
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 .
48 sur 85
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.
49 sur 85
50 sur 85
Annexes
51 sur 85
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
52 sur 85
-6
x 10
Amplitude
2
0
-2
-4
-6
1000
2000
3000
-11
4000
5000
Temps en ns
6000
7000
8000
9000
10000
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
53 sur 85
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
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
55 sur 85
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;
56 sur 85
AntenTrans.m
57 sur 85
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);
58 sur 85
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
59 sur 85
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))));
60 sur 85
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 :
%
%
%
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);
61 sur 85
% 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]);
62 sur 85
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
63 sur 85
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)
SigOut=zeros(n,1);
% Annulation du motif
% Opposition du motif
error('Data problems');
end
64 sur 85
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;
65 sur 85
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
66 sur 85
%-----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
67 sur 85
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
68 sur 85
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');
69 sur 85
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
70 sur 85
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))
71 sur 85
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);
72 sur 85
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
74 sur 85
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
75 sur 85
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
76 sur 85
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;
77 sur 85
78 sur 85
79 sur 85
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);
80 sur 85
81 sur 85
82 sur 85
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)
83 sur 85
84 sur 85
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
85 sur 85