85
Année scolaire 2003-2004 Projet Interne I3 : Simulation d’une chaîne de communication UWB (Ultra Wide Band) de type impulsionnel Etudiants : Suiveur : Bardoz Sébastien M. Villegas Mammou Omar Moysan Erika En collaboration avec D. Marchaland (étudiant en thèse) et en lien avec la société STMicroelectronics.

Projet Interne I3 : Simulation d’une chaîne de …johnnycastoy.free.fr/esiee/i3/INFO/IN301/EL-I3_projet... · 2005-01-13 · Simulation d’une chaîne de communication UWB

  • Upload
    lykhanh

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Année scolaire 2003-2004

Projet Interne I3 :

Simulation d’une chaîne de communication UWB (Ultra Wide Band)

de type impulsionnel Etudiants : Suiveur :

Bardoz Sébastien M. Villegas Mammou Omar Moysan Erika

En collaboration avec D. Marchaland (étudiant en thèse) et en lien avec la société

STMicroelectronics.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

2 sur 85

Sommaire

Sommaire 2 Remerciements 4 Résumé 5 Abstract 6 Introduction 7 A - Considérations générales sur l’UWB 8

Généralités 9 Normalisation 12 Canal de propagation 15 Bibliographie 19

B - Modélisation 20

1 - Emission 22 a - Chaîne d’émission 22 b - Générateur d’impulsion 23

c - Modulateur 27 d - Amplification, filtre et antenne 30 2 - Canal de propagation 31

a - Modèle de Saleh-Valenzuela modifié 31 b - Modèle statistique des pertes 33 c - Bruit 35 3 - Assemblage de la chaîne d’émission et du canal de propagation 36 4 - Réception 37 a - La chaîne de réception 37 b - Découpage par motif 37 c - Retard et multiplication 37 d - Intégrateur 38 e - Décision 39 5 - Chaîne Globale 40

C - Simulation 41 1 - Essai initial 42 2 – Conditions favorables 44

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

3 sur 85

Conclusion 47 Glossaire 48 Index des figures et tableaux 50 Annexes 51 Annexe A : Simulation de la chaîne totale 52 Annexe B : Sources 54

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

4 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.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

5 sur 85

Résumé

Les systèmes UWB (Ultra Wide Band) ont un réel enjeu pour l’avenir des télécommunications, systèmes de 4G (Quatrième génération). En effet, les systèmes UWB pourront être utilisés aussi bien dans le cadre des transmissions multimédia (débit ~500 Mégabits/s) que pour la création de PAN (Personal Area Network) ou encore pour la localisation. C’est dans cette optique que nous avons étudié les systèmes UWB impulsionnels. D’une part en caractérisant ces systèmes à l’aide de leur normalisation, d’autre part en décrivant le type de technologie utilisée (LDR : Low Data Rate). Dans un second temps, nous avons modélisé les systèmes UWB afin de simuler les transmissions dans différentes conditions. Pour cela nous nous sommes servis de modèles de propagation existants (modèle de Saleh – Valenzuela modifié, modèle statistique des pertes) qui nous ont paru les plus pertinents. De plus, nous avons mis en place différents types de modulations. En outre, nous avons utilisé une impulsion de type gaussienne mais fenêtrant un signal sinusoïdal, de manière à reproduire une dérivée nième de la gaussienne ayant de meilleures propriétés spectrales. Enfin, nous avons effectué plusieurs simulations, à partir de notre modèle pour analyser ces systèmes de manière qualitative, en vue de mieux connaître leurs performances.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

6 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.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

7 sur 85

Introduction

L’intégration des applications WLAN (Wireless Local Area Network) et WPAN (Wireless Personal Area Network) dans le domaine de la téléphonie mobile de troisième et quatrième générations qui sont appelées à apparaître auront la spécificité d’avoir des débits très élevés comparés à ceux qui existent de nos jours.

Cependant l’un des principaux obstacles à l’apparition de nouveaux systèmes est sans conteste l’encombrement spectral de l’espace.

En effet, le domaine spectral est « occupé » sur la bande s’étalant du continu à 10 GHz, et les organismes régulant les attributions de ce domaine appliquent des normes de plus en plus strictes à ce sujet.

C’est en partant de ce constat qu’est née l’idée de réutiliser les systèmes Ultra Wide Band (UWB) – littéralement Très Large Bande – à l’origine dédiés aux concepts Radar depuis 40 ans. Ils sont appelés à révolutionner les communications de demain. Ils ont un spectre très étalé mais à des puissances tellement faibles, inférieures au plancher de bruit des autre systèmes, si bien qu’ils sont ignorés par les autres systèmes utilisant les mêmes plages de fréquence. L’avantage de tels systèmes est qu’ils sont peu coûteux en énergie à cause des limites imposées par la normalisation. Nous verrons comment les signaux sont créés, et comment nous nous plaçons à certaines fréquences particulières.

Dans un premier temps, cette étude présentera les concepts généraux relatifs aux systèmes UWB, pour ensuite modéliser une chaîne de communication complète. Enfin, des mesures viendront illustrer cette analyse.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

8 sur 85

A - Considérations générales sur l’UWB

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

9 sur 85

Généralités

1) Définitions des systèmes « Ultra Wide Band »

Le signal Ultra Wide Band étant relativement récent, sa définition est encore en évolution constante en attendant de trouver les définitions les plus efficaces. Cependant le FCC, organisme de régulation américain, à émis une définition assez claire :

MHzB

et

fSdBBf

abs

UWB

500

%20))(,10(

≥−

Avec Bf définie comme :

2

))((

1

1

fff

et

f

fffSBf

hc

c

h

+=

−=

Figure 1: Illustration de la Bf

Il existe d’autres définitions, elle sont détaillées dans la partie normalisation du présent rapport.

En général, un système UWB se situe sur la bande [3.1 GHz , 10.6 GHz] et peut atteindre un débit maximal théorique de 500 Mégabits/seconde. Cette bande a été choisie pour protéger les systèmes GPS dont la fréquence est inférieure à 3.1 GHz et limitée à 10.6 GHz du fait de l’atténuation liée à la propagation, dans l’air, des signaux à haute fréquence entravant la communication à distance des applications souhaitées.

Il est à noter qu’il existe aussi d’autres bandes de fréquences pour les systèmes UWB qui débouchent sur plusieurs types d’applications (UWB 24 GHz ou UWB 77 GHz pour les radars automobiles) cependant pour des raisons décrites plus haut, de maturité de la technologie, et de coût d’implémentation il n’est pas envisageable de les utiliser dans l’immédiat pour le WLAN et le WPAN.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

10 sur 85

Les signaux caractéristiques de systèmes UWB sont des impulsions très brèves (de l’ordre de la nanoseconde) et sont transmis sans fréquence porteuse.

L’avantage d’un tel signal est que le débit atteint est extrêmement 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 :

)1(log2 SNRWC +⋅=

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 débit, il est plus judicieux d’agir sur la largeur de bande, et cela

même si le RSB baisse car il n’influe que de façon logarithmique sur C.

De plus, nous avons évoqué le fait que les impulsions étaient très brèves, cela permet au système d’être très robuste face aux retards provoqués par les multi-trajets (multi-path) car la durée de l’impulsion est très petite comparée à ce même retard. 2) Caractéristiques des signaux UWB

Les signaux caractéristiques de systèmes UWB sont, nous l’avons dit, généré par des impulsions très brèves et aussi très espacées dans le temps.

Le spectre de ces impulsions s’étend de fréquences de l’ordre du Hertz jusqu’à plusieurs Gigahertz.

L’énergie totale du système n’est pas vraiment différente de celle des autres systèmes classiques, cependant elle sera bien plus répartie sur la bande de fréquences c’est pourquoi elle sera détectée comme du bruit par les autres systèmes. Cette énergie est de l’ordre du Micro Watt par Mégahertz.

Il existe plusieurs types d’impulsions pour générer un signal UWB, nous nous concentrerons sur le type le plus communément utilisé qui est l’impulsion Gaussienne dont la largeur de bande est liée à sa durée.

L’impulsion gaussienne ‘s’ est donnée par l’expression suivante

2

2

1

2

1)(

−−

= σµ

σπ

t

ets

Avec µ indiquant la position temporelle à laquelle se trouve le maximum de l’impulsion

et σ caractérisant sa durée iT grâce à la relation suivante :

πσ

2iT

=

Pour se placer à une quelconque fréquence il suffit de prendre une dérivée nième de s. . Il

existe d’autres moyens d’émuler les dérivations de la Gaussienne en fenêtrant une fonction sinusoïdale par une gaussienne. L’augmentation de l’ordre de dérivation, ou de la fréquence de la sinusoïde, entraîne un déplacement du spectre de celle ci, et plus particulièrement de la fréquence

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

11 sur 85

centrale. De plus pour rentrer dans le masque de la FCC, il faudra aussi imposer une durée

maximale pour chaque impulsion, corrélée à σ. Cette impulsion peut être associée à la même impulsion en opposition de phase et décalée

temporellement, appelée doublet Gaussien, pour éliminer la composante continue.

Figure 2 : Doublet Gaussien

Il existe deux types de systèmes communication UWB, les systèmes HDR (High Data Rate) et LDR (Low Data Rate). Ils se caractérisent principalement par les débits mis en jeu. Les systèmes HDR ont l’avantage d’un haut débit alors que les systèmes LDR ont une faible consommation d’énergie et un faible coût. D’un point de vue simulation, il n’y a pas de différences, elles se situent seulement lors de la réalisation (architecture, taille de la PRP, périodes d’inactivité…).

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

12 sur 85

Normalisation de l’UWB

De plus en plus d’industriels et laboratoires travaillant sur le système UWB, il était devenu nécessaire de le normaliser ; c’est pour cette raison que la FCC (Federal Communication Commission) aux Etats-Unis ainsi que l’ETSI (European Telecommunications Standards Institute) pour l’Europe ont commencé à travailler sur les caractéristiques de la technologie UWB. De plus, ces mesures devenaient urgentes puisque l’UWB de par sa bande de fréquence étalée, peut interférer avec d’autres systèmes tels que le GPS par exemple. Le rôle de ces organismes a donc été de poser les normes de l’UWB tout en protégeant les systèmes aboutis déjà existants.

Figure 3 : Exemples de systèmes partageant la même plage de fréquence que l’UWB

Actuellement seules la FCC et l’IDA (Infocomm Development Authorithy - Singapour) ont statué sur les systèmes UWB. Nous n’exposerons ici que la normalisation de la FCC [1] : le 14 février 2002 elle a défini quatre critères importants de la technologie UWB :

- la puissance d’émission d’un système UWB : Pe = -41.3 dBm / MHz rappel : 1dBm= 10log( 1000*P) avec P la puissance exprimée en W

- la bande de fréquence allouée pour un système UWB : 3.1 à 10.6 GHz

- la bande de fréquence d’un système UWB : BW≥ 500 MHz et Brelative ≥ 20%

- la puissance crête du signal ne doit pas excéder 0 dBm/ 50 MHz

Soit Fc la fréquence pour laquelle la puissance est maximale, on appelle puissance crête la

puissance du signal comprise dans un intervalle de 50 MHz autour de Fc.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

13 sur 85

Figure 4 : Illustration de la définition de la puissance crête

C’est de loin la plus large bande spectrale allouée par la FCC. Elle a de plus, pour les applications de communication, posé les règles pour l’UWB « indoor » et « outdoor ».

Figures 5 et 6 : Masques de la bande spectrale d’un système UWB « indoor » et « outdoor » pour les

applications de communication imposés par la FCC

L’IDA [2] a, elle, crée une normalisation qui alloue aux systèmes UWB une bande de fréquence plus large encore que celle de la FCC. Une des raisons possibles de ce choix viendrait du fait qu’en Asie on n’utilise pas les mêmes standards pour les systèmes de communication (de fréquences proches de l’UWB).

Les autres organismes n’ont pas encore statué mais suivant les zones géographiques les

niveaux d’avancement sont variés : en Europe, il semble que les recherches sur le système soient au point mort, en effet les différentes études menées pour l’ETSI sur les possibles interférences entre l’UWB et d’autres systèmes ont donné des résultats contradictoires et l’organisme rencontre des difficultés pour trancher. Quant au Japon, les autorités prévoient une normalisation pour 2005 et poursuivent les recherches. Toutefois, il semble certain que les organismes retardataires vont s’aligner sur ces présentes normes puisque les premiers produits utilisant la technologie UWB sont déjà commercialisés aux Etats-Unis.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

14 sur 85

Figure 7 : Masque des bandes spectrales que doit vérifier un système UWB suivant différents organismes de

normalisation

La FCC a posé quelques normes pour les systèmes UWB, mais au-delà de ces

considérations vraiment techniques c’est la définition de l’UWB qui est remise en cause ; en effet tout système vérifiant la zone du masque ainsi que les définitions citées précédemment peut être appelé système 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

système comme c’est le cas pour le choix concernant le « multi-band ∗» et le « single-band *». Enfin il nous semble important de comparer l’UWB avec d’autres standards [3,4] existants afin de saisir combien cette technologie apparaît comme prometteuse.

Système Date de la normalisation Fréquence Débit max. UWB Commencée en 2002 3.1 à 10.6 GHz 500Mb/s Bluetooth Juin 2002 2.4 GHz 1 Mb/s 802.11a 1999 5 GHz 54Mb/s 802.11b 1999 2.4 GHz 11 Mb/s

Tableau 1 : Comparaison des systèmes de transmission existants

∗ La totalité de la bande UWB est utilisée (ex : les systèmes que nous étudions) * La bande est décomposée en un certain nombre de petite bandes

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

15 sur 85

Canal de propagation

La modélisation du canal est une étape importante pour l’implantation de systèmes quels qu’ils soient. D’autant plus que les systèmes UWB ne sont pas réellement mis en place. En effet cette modélisation est un des éléments clef de la chaîne globale du système (émission -> réception).

Le canal pose des problèmes 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 différents types de modélisations possibles. Puis, nous découvrirons les modèles existants.

1) Types de modélisation Les canaux de propagations se modélisent de trois manières différentes. Il existe la

modélisation déterministe (physique), empirique, statistique. La modélisation déterministe a été la première à voir le jour. Ici, le canal est assimilé à un

filtre linéaire variant dans le temps2 (ou invariant3 selon les hypothèses). Les coefficients du filtre sont alors fonction des phénomènes physiques connus (équation de propagation, équations de Maxwell…). Il est donc possible de modéliser tous les environnements. Malheureusement, ce modèle nécessite beaucoup (trop) de calculs.

Les modèles empiriques sont conçus à l’aide de l’expérience. En effet, il s’agit de reproduire les caractéristiques de l’expérience avec un modèle mathématique. Cette modélisation requière très peu de temps de calcul, par contre la solution n’est pas portable (pas de changement d’environnement possible).

Les modèles statistiques sont conçus de la même manière que les modèles empiriques à la différence que les paramètres sont considérés comme des variables aléatoires. Ce type de modélisation a donc l’avantage d’être portable à des environnements proches de ceux de l’expérience.

2) Modèles existants pour les multi-trajets

Il existe différents type de modèles déjà créés. Ils ont été pour certains adaptés aux systèmes UWB et pour d’autres créés pour la circonstance. Ils se nomment : Le Ray-Tracing [1] ; le modèle de Bello [2] ; le Ray-Launching [3] ; le modèle de Sabine ; Le modèle de Cassioli, Win,

1 Atténuation du canal en fonction de longueur d’onde du signal et de la distance de la transmission :

42,4

log10)1( 100 ≤≤

⋅⋅+= αλπ α

dmLLdB Selon le milieu de propagation (rural ou urbain)

2 )(1)(

0

)]([)(),( tik

N

kk

kettath θτ

ττδτ −⋅= ∑−

=

3 kik

N

kk ettath θδ ][)(

1

0

−⋅=∑−

=

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

16 sur 85

Molisch [4] ; le modèle ∆-K [5] ; le modèle de Rayleigh Fading [6] ; Nakagami fading [7] ; Le modèle de Saleh-Valenzuela [8].

Parmi ces modèles, nous allons tenter de vous décrire les plus utilisés.

Rayleigh Fading : Tout d’abord, un des modèles de Rayleigh est une adaptation de la norme 802.11 (WIFI) à

l’UWB. Ce modèle assimile le canal à un filtre à réponse impulsionnelle finie (FIR). La réponse impulsionnelle est complexe de la forme :

( ) ( ) max2

212

21 ,...,1,0,0,0 kkpourNjNh kkk =⋅+= σσ

;1

1

;

;

;10

120

20

2

max

max+

−−=

⋅=

=

⋅=

k

kk

T

s

rms

rms

S

e

TK

ββσ

βσσβ

τ

τ

Et ( )221,0 kN σ une distribution statistique Gaussienne de moyenne nulle et de

variance 221

kσ .

Ce modèle a l’avantage de prendre en compte les multi-trajets. Mais il risque de poser des problèmes dans le sens où il a été créé dans le but de modéliser des systèmes à bande étroite (Narrowband).

Modèle ∆-K : Ce modèle est discret. Le principe est de diviser l’axe temporel en petits intervalles

appelés ‘bins’. A chaque ‘bin’ l correspond une probabilité de contenir un multi-trajets notée Pl

dont la valeur diffère si l’intervalle précédent contient un trajet : elle est égale à K*λl s’il y a un

trajet et à λl dans le cas contraire.

( )

1 1

1

;

, 2 ;1 1

ll

l

r

rl

K r

λ

λ−

=

= ≤− ⋅ +

Avec, rl le taux d’occupation empirique de l’intervalle l. La variable K est définie de telle sorte que, pour K<1 l’arrivée des trajets est espacée et pour K>1 les trajets arrivent en paquets.

Soient αl, la réponse impulsionnelle de l’intervalle l et |αl| l’amplitude des multi-trajets, de distribution lognormale et décroissante exponentiellement.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

17 sur 85

lll p αα =

20/10nl =α

où ),Normal( 2σµ ln ∝ ;

lp polarité des multi-trajets (équiprobable +/-1)

Et 20

)10ln(

)10ln(

/10)ln(10 20 σµ −

Γ−Ω= l

l

T avec lT temps en surplus de l’intervalle l et

0Ω puissance moyenne du premier trajet du premier paquet.

Ce modèle est intéressant du fait qu’il gère les multi-trajets mais il est impossible de modéliser un système en LOS (Line Of Sight) et NLOS (Non Line Of Sight) simultanés, à cause de la présence d’une unique exponentielle décroissante pour l’amplitude des multi-trajets.

Modèle de Sabine : Ce modèle consiste à faire une analogie des systèmes UWB avec les systèmes acoustiques.

Il est déterministe, donc difficile à mettre en œuvre.

Cassioli, Win, Molisch : C’est un modèle empirique. Chaque signal reçu est de la forme :

( ) ( ) ( )tuntustur ns ,,, +=

où ( )tun n , est le bruit, ( )tus s , la réponse du canal et ( )ns uuu ,= les résultats de

l’environnement statistique.

Lorsqu’il n’y a pas de multi-trajets : ( ) ( ) ( )twuctus ss ⋅=, avec ( )suc l’atténuation en

espace libre et ( )tw la réponse idéale.

Dans le cas général : ( ) ( ) ( )( )∑=

−⋅=L

iiis utwuctus

1

ˆˆ, τ avec ( ) ℜ∈uciˆ et ( ) +ℜ∈uiτ deux

variables aléatoires.

Modèle de Saleh-Valenzuela (S-V) modifié : On dit que le modèle est modifié car la distribution des multi-trajets est lognormale plutôt

que normale.

C’est un modèle statistique qui postule que les trajets arrivent par paquets. Soient, Tl et τkl, respectivement le temps d’arrivée du lième paquet et le temps d’arrivée du kième trajet du lieme paquet.

Ce sont des variables statistiques indépendantes de loi de Poisson de paramètres Λ et λ.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

18 sur 85

( ) ( )[ ]e ll TT

ll TTp 1

1−−⋅Λ−

− ⋅Λ=

( ) ( )[ ]e lkkl

lkklp ,1

,1−−⋅−

− ⋅= ττλλττ

avec T0 = 0 et τ0l =0

On introduit le gain du kième trajet du lieme paquet, βkl, ainsi que sa phase, notée θkl. D’où la réponse impulsionnelle du canal :

( ) ( )∑∑∞

=

=

⋅ −−⋅=0 0l k

kll

j

kl Ttth e kl τδβ θ

Avec βkl sont des variables aléatoires statistiques positives indépendantes et θkl sont

des variables statistiques aléatoires uniformes indépendantes sur [0,2π].

Path Magnitude

Time

cluster 0

14 2 43 1T

13τ

1 4 2 4 3

13β

Figure 8 : Réponse impulsionnelle du canal Figure 9 : Décroissance exponentielle des puissances

des paquets et des trajets

Pour conclure, nous allons utiliser le modèle de Saleh-Valenzuela modifié car il est sans doute le plus complet de modèles. De plus, après une série de recherches, nous avons constaté qu’il était le plus en adéquation avec les systèmes UWB.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

19 sur 85

Bibliographie

Généralités : V. Berthelemy, L. Houegnigan, J.-B. Petit, “Ultra Wide Band Systèmes 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 modèles 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 modèles 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), 955–969.

[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. 1247–57. [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. 1080–1089, June 2001.

[7] T. Eng and L. B. Milstein, “Coherent DS-CDMA performance in Nakagami multipath fading,” IEEE

Trans. Commun., vol. 43, pp. 1134–1143, 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)

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

20 sur 85

B - Modélisation

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

21 sur 85

Pour modéliser la chaîne de transmission nous avons dû utiliser le logiciel de calcul technique ‘Matlab’. Il contient ‘Simulink’ qui permet de modéliser et simuler des systèmes en mode graphique. Malheureusement, pour des raisons de complexité et de temps de mise en œuvre, nous ne l’avons pas utilisé. Donc, la modélisation du système a été effectué a l’aide d’un jeu de ‘M-File’ (fichier de programmation Matlab). Le but de cette étude sera d’utiliser les programmes pour des améliorations ou des tests futurs. Notre approche a été de considérer trois axes majeurs : l’émission, le canal et la réception. La chaîne complète ne pourra être simulée que pour un certain type de modulation à cause de la démodulation qui est asynchrone. C’est pourquoi l’émission possède deux modes de fonctionnement. D’une part, l’utilisateur pourra choisir entre différents types de modulation mais ne pourra donc pas observer les résultats de la chaîne complète. D’autre part, il pourra démoduler mais avec un seul type de modulation. Le canal est en fait la somme de deux modèles et l’ajout de bruit : le modèle de Saleh-Valenzuela modifié qui est un modèle multi-trajets et le modèle statistique des pertes qui reproduit l’atténuation du signal due au milieu de propagation. Enfin, la réception a une architecture de type asynchrone.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

22 sur 85

1 - Emission

a - Chaîne d’émission

La chaîne d’émission, ‘TransChain()’, est composée de quatre éléments : le générateur d’impulsions, le modulateur, l’amplificateur et le filtre, l’antenne. De plus, elle traite les données bit par bit.

Entrées : Data : Donnée à envoyer (1 bit) Pulse : motif a moduler avec la donnée (vecteur)

Paramètre : demod : démodulation ou non

Sorties : Wave : Onde en sortie d'antenne pour le bit "Data" (vecteur)

PRP : Pulse Repetition Period (période du motif en ns) Elle possède deux structures : l’une autorise la démodulation alors que l’autre permet

seulement de simuler l’émission et le canal.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

23 sur 85

b - Le générateur d’impulsions

Le générateur d’impulsions, ‘impulsiongen()’, reçoit en entrée les paramètres suivants : - Amplitude du signal (en Volts)

- Paramètre σ de l’impulsion (en nanosecondes) - Durée totale du motif ou PRP (en nanosecondes) - Fréquence du cosinus (en GHz)

- Fréquence d’échantillonnage ou résolution (en Picosecondes) En sortie nous avons

- Une impulsion modulée par un cosinus qui permet de recréer l’effet d’une dérivation (sous la forme d’un vecteur colonne)

- La densité spectrale d’énergie Le générateur d’impulsions crée une impulsion Gaussienne modulée par un cosinus comme suit :

0 2 4 6 8 10 12 14 16 18 20-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-100

-50

0

50

Fréquence GHz

DS

E

dB

Figure 10 : Impulsion à la sortie du générateur d'impulsion

Ce motif est obtenu par la concaténation d’une impulsion classique et de zéros (Zéro Padding). L’impulsion Classique, ‘modulcos()’, est quant à elle produite par la multiplication d’une Impulsion Gaussienne (générée par la fonction gauss() créée par D. MARCHALAND) d’équation :

)²2

²exp(

2

1)(

σσπt

ts −=

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

24 sur 85

Et d’un cosinus.

( )tft

ts ⋅⋅⋅⋅−= 01 2cos)²2

²exp(

2

1)( π

σσπ

La fenêtre Gaussienne que l’on a utilisée est sur l’intervalle [-5σ , 5σ ] car en

)0(10)7.4( 5 ss ⋅≈⋅± −σ avec s(0) maximal. Nous avons donc arrondi à [-5σ , 5σ ] ce qui

correspond aux standards considérant que le signal a une largeur de 10σ .

Paramètres : A = Amplitude Maximale sgma = Position du Max

Npts = Nombre de points à calculer Tcosmin = Borne inférieure de la fenêtre du cosinus Tcosmax = Borne supérieure de la fenêtre du cosinus

freq = Fréquence du cosinus Sorties :

Stfin = Signal de sortie t = Base de temps

Figure 11 : Impulsion Gaussienne Simple Figure 12 : Dérivée d'ordre 5 d'une impulsion

Gaussienne

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

25 sur 85

Figure 13 : Cosinus fenêtré par une impulsion Gaussienne

Nous voyons que l’effet de la multiplication par un cosinus donne le même effet qu’une dérivation. Ceci à l’avantage de nous éviter de faire des « divisions par zéro » dues aux arrondis inévitables lorsque nous faisons des dérivations, mais cela est aussi plus facile à implémenter matériellement.

0 2 4 6 8 10 12 14 16 18 20-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-100

-50

0

50

Fréquence GHz

DS

E

dB

Figure 14 : DSE∗∗∗∗ d'un cosinus fenêtré par une impulsion Gaussienne (Fréquence du cosinus = 0.7GHz),

Sigma=0.8 ns

-8 -6 -4 -2 0 2 4 6 8-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

-100

-50

0

50

Fréquence GHz

DS

E

dB

Figure 15 : DSE d'une impulsion dérivée d'ordre 5 d'une Gaussienne, Sigma=0.8

∗ Densité Spectrale d’Energie

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

26 sur 85

Analyse des DSE en fonction des différents paramètres

• Effet de Sigma

0 5 10 15-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-50

-40

-30

-20

-10

0

Fréquence GHz

DS

E

dB

Part 15FCC Outdoor maskFCC Indoor maskImpulsion

Figure 16 : Sigma = 0.8, PRP = 15

et Fréquence = 0.8 GHz

0 5 10 15-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-50

-40

-30

-20

-10

0

Fréquence GHz

DS

E

dB

Part 15FCC Outdoor maskFCC Indoor maskImpulsion

Figure 17 : Sigma = 0.2, PRP = 15

et Fréquence = 0.8 GHz

Ainsi il est possible de remarquer que le paramètre 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 d’énergie étalée.

• Effet de la PRP(Période de Répétition des Pulses)

0 5 10 15-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-50

-40

-30

-20

-10

0

Fréquence GHz

DS

E

dB

Part 15FCC Outdoor maskFCC Indoor maskImpulsion

Figure 18 : Sigma = 0.8, PRP = 15

et Fréquence = 0.8 GHz

0 10 20 30 40 50 60 70 80 90 100-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-50

-40

-30

-20

-10

0

Fréquence GHz

DS

E

dB

Part 15FCC Outdoor maskFCC Indoor maskImpulsion

Figure 19 : Sigma = 0.8, PRP = 100

et Fréquence = 0.8 GHz

La PRP n’influe pas sur les valeurs au niveau des abscisses, mais plutôt au niveau des

ordonnées. En effet, l’énergie totale du signal est toujours répartie sur la même durée (à peu près 10 sigmas) mais cette fois la PSD est calculée sur une durée plus longue d’où une perte d’énergie 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 D’énergie à la PSD. PSD = DSE / PRP or la DSE est la même (car nous n’avons fait qu’un Zéro Padding) donc la PSD

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

27 sur 85

sera plus petite. En effet, le passage de la DSE à la DSP se fait par un support temporel qui est la PRP, donc si celle-ci change alors la DSP change.

• Effet de la fréquence du cosinus

0 5 10 15-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-50

-40

-30

-20

-10

0

Fréquence GHz

DS

E

dB

Part 15FCC Outdoor maskFCC Indoor maskImpulsion

Figure 20 : Sigma = 0.8, PRP = 15 et Fréquence =

0.8 GHz

0 5 10 15-1

-0.5

0

0.5

1

temps en ns

Am

plitu

de e

n V

olts

100

101

-50

-40

-30

-20

-10

0

Fréquence GHz

DS

E

dB

Part 15FCC Outdoor maskFCC Indoor maskImpulsion

Figure 21 : Sigma = 0.8, PRP = 15 et Fréquence = 2

Ghz

L’augmentation de la fréquence du cosinus fenêtré à pour effet de « décaler » la fréquence centrale de la PSD du signal vers les plus hautes fréquences. Ainsi il est envisageable de jouer sur cette fréquence pour se placer à une fréquence voulue.

c - Le Modulateur Le modulateur est une étape clef de la chaîne d’émission. En effet, il permet de coder un

bit en une modification du motif. Nous avons choisi de ne jamais modifier le bit de donnée ‘1’, ainsi le modulateur ne travaille que sur les zéros des données. Les modulations sont effectuées au sein de la fonction ‘modul()’.

Entrées : Data : Donnée à moduler (1 bit) Pulse : Impulsion (vecteur colonne)

Paramètres : Kind : Type de modulation souhaitée: 'ook','bpsk','ppm','dpim' Delay : Temps de décalage (chiffre en ns) periodeech: Période d'échantillonnage (en picosecondes)

Sortie : SigOut: Motif modulé (vecteur)

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

28 sur 85

Cette fonction renvoie le motif modulé correspondant à la modulation du bit qu’on lui a passé. Nous avons choisi de traiter 4 types de modulations fondamentales pour les systèmes

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 donnée zéro de créer un vecteur colonne rempli de 0 et pour le ‘1’ de ne pas modifier le vecteur colonne représentant 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 même motif mais de phase inversée c’est à dire que l’on multiplie le motif par –1.

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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

29 sur 85

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 durée normale alors qu’un ‘0’ est quant à lui codé au moyen d’un motif dont la PRP a été tronquée d’un temps paramétré et donc laissé à l’appréciation de l’utilisateur. On se retrouve donc avec, à la sortie du modulateur, avec un signal de durée plus courte que celle du signal à moduler. Sous Matlab, on supprime le nombre d’échantillons correspondant au temps de décalage du motif.

Figure 24 : Modulation ‘DPIM’ pour le mot [1,0], une PRP de 30 ns et un décalage de 10 ns

Modulation PPM (Pulse Position Modulation)

Cette modulation agit sur la position de l’impulsion dans le motif. La donnée ‘1’ est donc

codée par un motif normal mais le ‘0’ sera lui, codé par un motif dans lequel l’impulsion est décalée d’un temps cette fois encore paramétré. Pour programmer ce type de modulation, on retire le nombre d’échantillons, correspondant au temps de décalage, à la fin du motif pour les rajouter au début du motif. Cette opération est permise par la possibilité de concaténer plusieurs vecteurs les uns après les autres grâce à l’opérateur ‘;’.

Figure 25 : Modulation ‘PPM’ pour le mot [1,0], une PRP de 30 ns et un décalage de 10 ns

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

30 sur 85

d - Amplificateur, Filtre et Antenne

Nous avons choisi de modéliser l’amplificateur par un gain constant. Quant à l’étape du filtrage, elle est constituée d’un facteur unitaire. En outre, un filtre pourra être ajouté dans une étude future. Ces deux éléments sont modélisés dans la fonction nommée ‘AmpliTrans()’.

Entrée :

Sig : signal a amplifier et a moduler (vecteur colonne) Paramètre :

GainTrans : gain de l'amplificateur Sortie :

SigOut : Signal amplifie et filtre (vecteur) Nous avons considéré que l’antenne effectuait une dérivation point par point du signal,

pour cela nous avons utilisé une fonction Matlab nommée ‘diff()’. Or cette fonction nous faisait perdre un demi-point au début et à la fin du signal, nous avons donc ajouté un point au signal (doublon du dernier point). L’antenne est représentée par la fonction ‘AntenTrans()’.

Entrée : Sig : signal à émettre (vecteur colonne)

Sortie : Wave : Onde émise (vecteur)

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

31 sur 85

2 - Canal de propagation a - Modèle de Saleh-Valenzuela modifié Ce modèle a été implémenté par l’IEEE, nous avons donc utilisé trois des programmes originaux, ‘uwb_sv_cnvrt_ct()’, ‘uwb_sv_model_ct()’, ‘uwb_sv_params()’, et modifié le quatrième ‘uwb_sv_eval_ct()’. L’original de ce dernier sera renommé : ‘uwb_sv_eval_ct_original()’.

1) uwb_sv_params()

On entre en paramètre le numéro d’un modèle et ce programme donne en sortie toutes les caractéristiques expérimentales du canal correspondant à ce numéro. Ces caractéristiques sont : Lam Taux d’arrivée des paquets ( en paquets par nanoseconde) lambda Taux d’arrivée des trajets (en trajets par nanoseconde) Gam Facteur d’affaiblissement du paquet (temps constant, nanoseconde) gamma Facteur d’affaiblissement du trajet (temps constant, nanoseconde) std_ln_1 Pente de la variable log-normale représentant l’affaiblissement du paquet std_ln_2 Pente de la variable log-normale représentant l’affaiblissement du trajet nlos Détermine si l’on se place en configuration NLOS std_shdw Pente de la variable log-normale représentant la réponse impulsionnelle

La fonction propose quatre modèles qui représentent chacun un environnement différent suivant la distance entre les antennes et les conditions de transmission (LOS ou NLOS ).

Modèle 1

LOS 0-4 m 2

NLOS 0-4 m 3

NLOS 4-10 m

4 Pires conditions

du canal Lam 0.0233 0.4 0.0667 0.0667

lambda 2.5 0.5 2.1 2.1 Gam 7.1 5.5 14.00 24

gamma 4.3 6.7 7.9 12 std_ln_1 28.4 28.4 28.4 28.4

std_ln_2 28.4 28.4 28.4 28.4

nlos 0 1 1 1 std_shdw 3 3 3 3

Tableau 2 : Caractéristiques du modèle S-V modifié selon le type de canal

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

32 sur 85

2) uwb_sv_model_ct() Ce programme récupère les données de ‘uwb_sv_params()’ afin d’effectuer un

nombre de réalisations continues (ou réponses impulsionnelles) du canal que l’on spécifie en entrée de cette fonction. Entrée :

num_channels : nombre de réalisations du canal souhaitées Paramètres :

Les huit valeurs données par ‘uwb_sv_params()’

Elle génère quatre éléments : h :une matrice dont chaque colonne représente une réalisation aléatoire du modèle t : matrice dont chaque colonne contient les positions de chaque trajet dont l’amplitude est stockée dans h t0 : un vecteur ligne qui regroupe les temps d’arrivée du premier paquet de chaque réponse np : un vecteur ligne contenant le nombre de trajets par réalisation.

3) uwb_sv_cnvrt_ct()

Elle prend en entrée la réponse continue du modèle h_ct, t la même matrice que pour

‘uwb_sv_model_ct()’, np vecteur contenant le nombre de trajets par réalisation , num_channels le nombre de réalisations aléatoires que l’on souhaite et Paramètres :

h_ct : la réponse continue du modèle t : matrice retournée par ‘uwb_sv_model_ct()’ np : vecteur contenant le nombre de trajets par réalisation num_channels : le nombre de réalisations aléatoires souhaitées ts : la période d’échantillonnage souhaitée

Sorties :

hN : réponse discrète N : nombre de fois que la réponse est sur-échantillonnée.

Cette fonction permet de transformer une réponse continue du modèle en réponse discrète. Elle fait correspondre à chaque numéro de position l’amplitude de la réponse. Le problème est que le modèle n’est pas discrétisé à temps constant puisque les positions des différentes amplitudes ne sont pas régulières. Elle réalise donc ensuite un modèle 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 l’on a renommé uwb_sv_eval_ct_original().

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

33 sur 85

Paramètres :

num_channels : le nombre de réalisations aléatoires souhaitées ts : temps d’échantillonnage cm_num : numéro du modèle de 1 à 4 pour ‘uwb_sv_params()’ Sortie :

h : une matrice dont chaque colonne représente une réalisation aléatoire continue du modèle

Cette fonction utilise les fonctions citées précédemment afin de calculer et afficher diverses informations statistiques sur le modèle que nous n’avons pas exploité dans ce projet mais qu’il est possible d’utiliser dans d’autres études. Elle appelle ‘uwb_sv_model_ct()’ pour obtenir les différentes réalisations qu’elle discrétise en utilisant ‘uwb_sv_cnvrt_ct()’. Elle réalise ensuite de nouveau une réponse continue du canal à partir d’une réponse discrétisée à temps constant.

b - Modèle statistique des pertes Pour calculer les pertes liées à la distance entre l’antenne émettrice et l’antenne réceptrice, il existe une formule tirée des lois de propagation :

42,4

log10)1( 100 ≤≤

⋅⋅+= αλπ α

dmLLdB selon le milieu de propagation

f

cavec =λ

Seulement, le problème est que les systèmes UWB n’émettent pas sur une fréquence

porteuse, donc λ est variable. Il fallait donc trouver un modèle qui se rapprochait le plus possible de la réalité. On démontre :

( )[ ] [ ][ ] SdmLL

dmLL

dmLL

dB

dB

dB

−⋅⋅+=−⋅⋅+=

⋅⋅+=

100

10100

100

log10)1(

log104log10)1(

4log10)1(

γλπ

λπ

αα

α

Avec γ=α et ( )[ ] [ ]αα λπ 1010 log104log10 −⋅=S

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

34 sur 85

Or d’après un article1, on peut définir γ comme une variable dépendante de

l’environnement et S=y*σ telle que σ soit une variable dépendante de l’environnement et y soit une variable aléatoire Gaussienne à moyenne nulle et variance unitaire.

Les essais effectués1, ont donnés les résultats suivants :

Environnement )1(0 mL γ σ Los Commercial 43.7 2.07 2.3 Nlos Commercial 47.3 2.95 4.1 Los Résidentiel 45.9 2.01 3.2 Nlos Résidentiel 50.3 3.12 3.8 Tableau 3 : Caractéristiques de l’atténuation selon le type de canal

Nous avons donc programmé ce modèle dans la fonction ‘Att()’.

Entrée :

Sig : Signal a atténuer (vecteur) Paramètres :

d : Distance en mètres Env : Environnement (LOSR,NLOSR,LOSC,NLOSC,USDEF) Sortie :

SigAtt : Signal atténué

Elle fait appel au sous programme ‘param_att()’, qui sert à paramétrer les valeurs de S=y*σ

et γ, selon les valeurs données ci-dessus. Entrée :

environnement : Type d'environnement (chaîne de caractère) LOSC : Line Of Sight Commercial

NLOSC : Non Line Of Sight Commercial LOSR : Line Of Sight Residential

NLOSR : Non Line Of Sight Residential USDEF : Définie par l'utilisateur en cas de nouvelles valeurs

Sorties : PL0 : Atténuation à 1 mètre gam : variable dépendante de l'environnement de propagation S : Variable aléatoire gaussienne à moyenne nulle

1 - S.S. Ghassemzadeh, L.J. Greenstein, A. Kavčić, T. Sveinsson, V. Tarokh, “ uwb Indoor Path Loss Model for Résidential and Commercial Building ”,2003

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

35 sur 85

c - Bruit Le bruit n’a pas fait l’objet d’une fonction à proprement parlé, il est généré par une fonction de Matlab, nommée ‘randn()’, puis additionné à l’onde finale (avant la réception). Le bruit est un vecteur de variables aléatoires Gaussiennes de moyenne nulle et de variance unitaire, nous avons donc ajouté un coefficient à ce bruit pour maîtriser son amplitude. De plus, nous avons ajouté le calcul du rapport signal à bruit. Finalement, ces deux calculs sont effectués au sein de la fonction, ‘trans_canal()’.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

36 sur 85

3 - Assemblage de la chaîne d’émission et du canal de

réception

Cette fonction et prise en charge par ‘trans_canal()’.

Entrée : Datain : Donnée (mots X bits en vecteur) Paramètre :

demod : démodulation ou non Sorties :

Wave : Onde en sortie d'antenne Waveoutnoise : Onde en sortie de canal

Cette fonction permet de traiter les données, bit à bit, à envoyer au travers de la chaîne d’émission et du canal. Elle permet aussi d’afficher certains signaux tels que : onde en sortie d’antenne d’émission, onde en sortie du canal de S-V, onde en sortie du modèle des pertes, onde en entrée d’antenne de réception (avec le bruit), PSD en entrée du canal et PSD en sortie de canal.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

37 sur 85

3 - Réception

a - La chaîne de réception

La chaîne de réception, ‘Reception()’, fonctionne de manière asynchrone, elle reçoit en entrée une onde, qu’elle découpe en une série « d’ondelettes », puis qu’elle traitera chacune bit à bit. Pour enfin ressortir les données.

Entrée :

WaveIn : Onde transmise par le canal de transmission (Vecteur Colonne) Parametres

Seuil : Seuil de détection d’un pulse (en Volts) Tf : durée d’intégration (en nanosecondes)

Sortie : DataOut : Chaîne de bits

b – Découpage

Après réception il faut traiter l’onde, pour cela nous avons décidé de la « découper » en plusieurs « ondelettes » chacune correspondant à un motif (car nous connaissons la PRP et la période d’échantillonnage) pour enfin traiter chaque bit pas à pas.

c – Retard et multiplication

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

38 sur 85

La fonction ‘Retard_mult()’ a pour effet de retarder l’impulsion. Pour ce faire, nous avons tout simplement utilisé une modulation du type PPM. Ensuite nous avons multiplié l’impulsion d’origine par l’impulsion retardée, ce qui nous permet d’avoir en sortie soit une impulsion positive, soit une impulsion négative. En effet, la deuxième impulsion du train multipliée par la première donne le signe de l’impulsion de sortie : car elles sont soit en phase, soit en opposition de phase (Modulation BPSK). Entrée : SignalRecu : Signal correspondant à un bit (d’une durée égale à la PRP) Paramètres : Delay : délai du retard (en nanosecondes) Periodeech : Période d’échantillonnage (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 – Intégrateur

L’intégrateur intègre le signal en entrée de la fonction par une somme directe. Pour ne pas prendre en compte le bruit, nous lui passons en paramètre le seuil à partir duquel il faut considérer que l’entrée n’est plus un bruit, aussi il faudra définir une durée d’intégration pour ne pas intégrer le bruit suivant l’impulsion et ainsi fausser les résultats. Entrée :

Sig : Signal (vecteur colonne)

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

39 sur 85

Paramètres : Seuil : Seuil (en Volts)

Tf : Durée d’intégration (en nanosecondes) periodeech : Période d'échantillonnage en ps Sortie :

Val : Valeur numérique de l’intégrale (sans unité)

e – Décision (détecteur de niveau)

La décision se fait tout simplement en comparant la valeur en sortie de l’intégrateur à 0, si celle ci est supérieure à 0, alors nous avons un 1, sinon nous avons un 0. Entrée : Val : Valeur numérique (sans unité) Sortie : Data : Bit

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

40 sur 85

5 – Chaîne globale

Afin de réaliser la simulation d’une chaîne de communication UWB l’utilisateur doit remplir le fichier ‘param()’ avec tous les paramètres nécessaires. Sorties :

demod: démodulation ou non periodeech: période 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: Fréquence 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 mètre Env: Type d'environnement (chaîne de caractères)

LOSC : Line Of Sight Commercial NLOSC : Non Line Of Sight Commercial

LOSR : Line Of Sight Residential NLOSR : Non Line Of Sight Residential

USDEF : Définie par l'utilisateur cm_num: Caractéristique 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: Donnée (mots X bits en vecteur) nbits: Nombre de bits à créer Tf: Durée de l'intégration (en ns)

NAmp: Amplitude du bruit La chaîne de transmission sera simulée en tapant la commande ‘test’ dans Matlab, en ayant préalablement modifié les paramètres (voir ci-dessus). Cette fonction permet d’afficher les données entrées et les données reçues.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

41 sur 85

C - Simulation

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

42 sur 85

1 – Essai initial

Paramètres de l’émission et du canal Période d’échantillonnage = 5.0000 ps, Amplitude de l impulsion = 0.4000, Sigma de l impulsion = 0.0570 ns, PRP du motif = 100.0000 ns, Fréquence 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/récepteur = 10.0000 mètres

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

Paramètres de l’atténuation du canal Type d environnement : NLOSR, Atténuation à 1 mètre = 50.3000, gamma = 3.1200, S=5.1256

SNR = 20.3383 BER = 0.6000

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5Emission & Canal

0 50 100 150 200 250 300 350 400 450 500-0.2

-0.1

0

0.1

0.2

Temps en ns

Pui

ssan

ce

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

-4

-2

0

2

4x 10

-3

Points

Pui

ssan

ce

Données

Sortie du modele multi trajetsSortie d antenneSortie du canal sans bruits

Buffer

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

43 sur 85

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits émis

temps en ns

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits reçus

temps en ns

Il est possible de remarquer que les performances sont assez mauvaises, en effet, nous

nous sommes placés dans de mauvaises conditions, NLOSR à 10 m ce qui explique un BER4 de

60%

4 Bit Error Rate – Taux de bits erronés

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

44 sur 85

2 – Conditions favorables

Paramètres de l’émission et du canal Période d’échantillonnage = 5.0000 ps, Amplitude de l impulsion = 8.0000, Sigma de l impulsion = 0.2000 ns, PRP du motif = 100.0000 ns, Fréquence 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/récepteur = 2.0000 mètres 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 Paramètres de l’atténuation du canal Type d environnement : LOSC, Atténuation à 1 mètre = 47.3000, gamma = 2.0700, S=-1.0872 SNR = 119.1632 BER = 0

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5Emission & Canal

0 50 100 150 200 250 300 350 400 450 500-4

-2

0

2

4

Temps en ns

Pui

ssan

ce

0 0.5 1 1.5 2 2.5

x 104

-1

-0.5

0

0.5

1

Points

Pui

ssan

ce

Données

Sortie du modele multi trajetsSortie d antenneSortie du canal sans bruits

Buffer

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

45 sur 85

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits émis

temps en ns

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits reçus

temps en ns

Dans ces conditions, nous voyons bien que la transmission est de loin meilleure que

précédemment. Un facteur pouvant améliorer la communication est le seuil de détection des bits, en effet,

dans les conditions citées ci dessus, il est possible de trouver un BER de 20% ou de 0% selon les valeurs de détection :

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits émis

temps en ns

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits reçus

temps en ns Figure 4 - BER de 0 % avec un seuil de détection a

1.0E-14

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits émis

temps en ns

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.5

0

0.5

1

1.5 Bits reçus

temps en ns Figure 5 - BER de 20% avec un seuil de détection à

1.0E-22

Il faut trouver un compromis entre le seuil le plus élevé et une durée d’intégration plus

courte pour améliorer la détection. En effet, plus le seuil est élevé, meilleure est la détection, cependant il faut raccourcir la durée d’intégration ce qui dégrade sa qualité.

Un autre facteur d’amélioration du BER est la PRP en effet, dans les mêmes conditions que

précédemment nous passons d’un BER de 0% à un BER de 10 %

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

46 sur 85

0 1 2 3 4 5 6 7 8 9 10-0.5

0

0.5

1

1.5 Bits émis

temps en ns

0 1 2 3 4 5 6 7 8 9 10-0.5

0

0.5

1

1.5 Bits reçus

temps en ns

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

0 1 2 3 4 5 6 7 8 9 10-0.5

0

0.5

1

1.5 Bits émis

temps en ns

0 1 2 3 4 5 6 7 8 9 10-0.5

0

0.5

1

1.5 Bits reçus

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

Une amélioration de notre système pourrait être d’envisager un algorithme permettant de définir le seuil de décision idéal en fonction du SNR, de la PRP et de l’amplitude à l’émission.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

47 sur 85

Conclusion

Tout au long de l’étude, nous avons pu voir les différentes façons de générer les signaux caractérisant les systèmes UWB. Ainsi, il est possible de remarquer que l’influence de chaque paramètre est importante si bien qu’il suffit d’en changer un pour ne plus remplir les conditions d’émission imposées par les organismes de régulation. Il a aussi été vu qu’il existe plusieurs types de modulation, cependant, l’architecture de démodulation asynchrone, impose une modulation de type BPSK.

Le canal de transmission pouvait être modélisé de plusieurs façons, mais le cahier des charges imposait une prise en compte des multi-trajets, ainsi il semblait approprié de choisir le modèle de Saleh-Valenzuela modifié. De plus un modèle statistique des pertes a été implémenté pour tenir compte de l’atténuation liée à la distance. L’ajout du bruit a permis de se rapprocher le plus possible des conditions réelles.

L’architecture du démodulateur est asynchrone. De ce fait, tous les types de modulation ne peuvent pas être démodulés. En outre, il serait judicieux d’utiliser un algorithme afin de déterminer le seuil de d’intégration pour améliorer la détection des bits.

Sur le plan technique, nous avons acquis une certaine aisance dans l’utilisation de Matlab

qui est un logiciel très utilisé en entreprise. Ce projet nous a aussi sensibilisé aux concepts fondamentaux des télécommunications. Cette expérience a été enrichissante sur le plan humain puisque venant des trois cursus différents (I3, I3S,I3T), nous avions donc chacun notre propre approche. Nous avons essayé d’utiliser les compétences de tous afin de mener à bien cette étude sur les systèmes UWB. De plus, nous avons découvert les démarches expérimentales nécessaires à tout travail dans le domaine de la recherche.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

48 sur 85

Glossaire

BER : Bit Error Rate – Taux de bits erronés DSE : Densité spectrale d’énergie HDR : High Data Rate (Haut débit). LDR : Low Data Rate (Bas débit). LOS : Line Of Sight (En ligne de vue). Masque : Le masque est le contour limitant la DSP d’un signal. Motif : C’est le signal caractérisant un bit. Multi-Band : La bande UWB est décomposée en un certain nombre de petite bandes .

Multipath : Voir multi-trajets. Multi-Trajets : Les multi-trajets sont liées à la réflexion, la diffraction et réfraction du signal sur les objets. Ex : NLOS : Non Line Of Sight (Pas en ligne de vue). PRP : Pulse Repetition Period (Période de répétition des impulsions). PSD : Power Spectral Density (Densité spectrale de puissance).

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

49 sur 85

Single-Band : La totalité de la bande UWB est utilisée (ex : les systèmes que nous étudions).

WLAN : Wireless Local Area Network (Réseau local sans fil). Ex : WIFI. WPAN : Wireless Personal Area Network (Réseau personnel sans fil). Ex : Bluetooth. Zero padding : Augmentation de la taille d’un vecteur par ajout de zéros.

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

50 sur 85

Index des figures et tableaux

Figure 1: Illustration de la Bf Figure 2 : Doublet Gaussien Figure 3 : Exemples de systèmes partageant la même plage de fréquence que l’UWB Figure 4 : Illustration de la définition de la puissance crête Figures 5 et 6 : Masques de la bande spectrale d’un système UWB « indoor » et « outdoor » pour les applications de

communication imposés par la FCC Figure 7 : Masque des bandes spectrales que doit vérifier un système UWB suivant différents organismes de

normalisation Figure 8 : Réponse impulsionnelle du canal Figure 9 : Décroissance exponentielle des puissances des paquets et des trajets Figure 10 : Impulsion à la sortie du générateur d'impulsion Figure 11 : Impulsion Gaussienne Simple Figure 12 : Dérivée d'ordre 5 d'une impulsion Gaussienne Figure 13 : Cosinus fenêtré par une impulsion Gaussienne Figure 14 : DSE d'un cosinus fenêtré par une impulsion Gaussienne (Fréquence du cosinus = 0.7GHz),

Sigma=0.8 ns Figure 15 : DSE d'une impulsion dérivée d'ordre 5 d'une Gaussienne, Sigma=0.8 Figure 16 : Sigma = 0.8, PRP = 15 et Fréquence = 0.8 GHz Figure 17 : Sigma = 0.2, PRP = 15 et Fréquence = 0.8 GHz Figure 18 : Sigma = 0.8, PRP = 15 et Fréquence = 0.8 GHz Figure 19 : Sigma = 0.8, PRP = 100 et Fréquence = 0.8 GHz Figure 20 : Sigma = 0.8, PRP = 15 et Fréquence = 0.8 GHz Figure 21 : Sigma = 0.8, PRP = 15 et Fréquence = 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 décalage de 10 ns Figure 25 : Modulation ‘PPM’ pour le mot [1,0], une PRP de 30 ns et un décalage de 10 ns

Tableau 1 : Comparaison des systèmes de transmission existants Tableau 2 : Caractéristiques du modèle S-V modifié selon le type de canal Tableau 3 : Caractéristiques de l’atténuation selon le type de canal

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

51 sur 85

Annexes

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

52 sur 85

Annexe A : Simulation de la chaîne totale Conditions Idéales :

Paramètres de l’émission et du canal Période d’échantillonnage = 10.0000 ps, Amplitude de l impulsion = 8.0000, Sigma de l impulsion = 0.2000 ns, PRP du motif = 200.0000 ns, Fréquence du Cos = 3.2000 GHz, Gain de l ampli = 2.0000, Distance émetteur/récepteur = 4.0000 mètres 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 Paramètres de l’atténuation du canal Type d environnement : LOSC, Atténuation a 1 mètre = 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%

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.5

0

0.5

1

1.5 Bits émis

temps en ns

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.5

0

0.5

1

1.5 Bits reçus

temps en ns

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

53 sur 85

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-6

-4

-2

0

2

4

6x 10

-6 Onde à l"entrée du démodulateur

Temps en ns

Am

plitu

de

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-3

-2

-1

0

1

2

3x 10

-11 Signal à la sortie du Retardateur/Multiplieur

Temps en ns

Am

plitu

de

0 20 40 60 80 100 120 140 160 180 200-6

-4

-2

0

2

4

6

8

temps en ns

Am

plitu

de e

n V

olts

100

101

-50

-40

-30

-20

-10

0

Fréquence GHz

DS

E

dB

Part 15FCC Outdoor maskFCC Indoor maskImpulsion

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

54 sur 85

Annexe B : Sources

Les sources* sont données par ordre alphabétique :

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 procédure d’affichage des masques programmée par D. MARCHALAND

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

55 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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

56 sur 85

AntenneRec.m

function [SignalRecu] = AntenneRec(OndeRecue) % function [SignalRecu] = AntenneRec(OndeRecue); % Antenne de reception simple Sortie=Entrée % Entrée : % OndeRecue ==> Onde à la sortie du canal % Sortie : % SignalRecu ==> Signal à la sortie de l'antenne SignalRecu = OndeRecue;

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

57 sur 85

AntenTrans.m

function [Wave]= AntenTrans(Sig)

% Fonction modélisant l'antenne d'émission % % function [Wave]= AntenTrans(Sig) % Entree: Sig: signal à émettre (vecteur colonne) % Sortie: Wave: Onde émise (vecteur) Wave = diff(Sig); % Dérivée point par point du signal Wave = [Wave ; Wave(length(Wave))]; % Pour ne pas perdre d'echantillons car la % derivée enlève 1/2 point avant et 1/2 point après

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

58 sur 85

Att.m

function [SigAtt]=Att(Sig,d,Env) %Fonction atténuant l'onde % %function [SigAtt]=Att(Sig,d,Env) %Entrées: Sig: Signal à attenuer (vecteur) % d: Distance en mètres % Env: Environnement (LOSR,NLOSR,LOSC,NLOSC,USDEF) %Sorties: SigAtt: Signal attenué % Chargement des paramètres selon le type d'environnement [PL0,gam,S]=param_att(Env); % Affichage des paramètres 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); % Atténuation du signal selon le modèle suivant SigAtt=Sig*10^(-(PL0+10*gam*log10(d)+S)/10);

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

59 sur 85

Decision.m

function [Data] = Decision(Val) % [Data] = Decision(Val); % Fonction de décision du bit % Entrée Val : Scalaire % Sortie Data : 1 ou 0 if (Val>0) Data = 1; else Data = 0; end

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

60 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))));

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

61 sur 85

impulsiongen.m

function [impulsion,t] = impulsiongen(A,sgma,PRP,freqcos,periodeech) %Générateur d'une impulsion Gaussienne % Utilisation : % [impulsion,t] = impulsiongen(A,sgma,PRP,freqcos,periodeech); % Entrées : % A : Amplitude du motif (en Volts) % sgma : Paramètre Sigma de l'impulsion Gaussienne (en ns) % PRP : Période de répétition des Pulses (en ns) % freqcos : fréquence du cosinus (en GHz) % periodeech: Période d'echantillonnage (en ps) % Sorties : % impulsion : vecteur colonne décrivant l'impulsion sur % 'tailltotale' points. % t : Base de temps tailleimpulsion = round(10*sgma/(periodeech*0.001)); nbpointmotif = round(PRP/(periodeech*0.001)); % Création du vecteur impulsion = zeros(nbpointmotif,1); %définition des bornes de fenètrage Tcosmin = -5*sgma; Tcosmax = 5*sgma; % Création de la sinusoide fenètrée [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))); % Définition 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);

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

62 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('Fréquence \it GHz'); ylabel('DSE \bf dB'); legend('Part 15','FCC Outdoor mask','FCC Indoor mask','Impulsion'); axis([0.9 20 -50 0]);

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

63 sur 85

Integrateur.m

function [Val] = Integrateur(Sig,Seuil,Tf,periodeech) % [Val] = Integrateur(Sig,Seuil,Tf,periodeech) % Intègre le signal dès qu'il dépasse Seuil, et ce, sur la durée Tf % Entrées : % Sig ==> Signal à Integrér % Seuil ==> Seuil à partir duquel le signal est 'significatif' % Tf ==> Durée de l'integration (en ns) % periodeech ==> Période d'échantillonage en ps % Sorties : % Val ==> Valeur de l'intégrale 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 durée d intégration trop longue'); end

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

64 sur 85

Modul.m

function [SigOut]=Modul(Data, Pulse, Kind, Delay, periodeech) % Fonction modulant l'impulsion en fonction des données % %function [SigOut]=Modul(Data, Pulse, Kind, Delay, periodeech) % Entrées: Data : Donnée à moduler (1 bit) % Pulse : Impulsion (vecteur colonne) % Kind : Type de modulation souhaitée: 'ook','bpsk','ppm','dpim' % Delay: Temps de décalage (chiffre en ns) % periodeech: Période d'échantillonnage (en picosecondes) % Sortie: SigOut: Motif modulé (vecteur) n=length(Pulse); % Taille de l'impulsion if Data==1 % La donnée "1" est inchangée 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 à déplacer SigOut=[Pulse(n-echsup+1:n);Pulse(1:n-echsup)]; % Décalage 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 % Données non binaires error('Data problems'); end

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

65 sur 85

modulcos.m function [Stfin,t] = modulcos(A,sgma,Npts,Tcosmin,Tcosmax,freq) % [Stfin,t] = modulcos(A,sgma,Npts,Tcosmin,Tcosmax,freq); %Génère une Impulsion à partir de la multiplication d'une Gaussienne et %d'un signal Sinusoidal. % Entrées : % A = Amplitude Maximale % sgma = Position du Max % Npts = Nombre de points à calculer % Tcosmin = Borne inférieure de la fenètre du cosinus % Tcosmax = Borne supérieure de la fenètre du cosinus % freq = Fréquence du cosinus % Sortie : % Stfin = Signal de sortie % t = Base de temps nd=0; % Création de la Gaussienne [St,t,Sf,f] = gauss(A,sgma,nd,Npts); % Création de la sinusoide a=1*cos(2*pi*freq*t); % Multiplication des deux signaux Stfin = St.*a;

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

66 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 définir les paramètres nécessaires à 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: démodulation ou non % periodeech: période 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: Fréquence 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 mètre % Env: Type d'environnement (chaine de caractères) % 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: Donnée (mots X bits en vecteur) % nbits: Nombre de bits à créer % Tf: Durée de l'integration (en ns) % NAmp: Amplitude du bruit on=1;off=0; periodeech=10; % Période d'échantillonage en picoseconds %-----Choix des données % Soit : nbits=10; % Nombre de bits datain=(sign(randn(nbits,1))+1)/2; % Série 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]; % Donées % nbits=length(datain); % Taille dumot de données

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

67 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; % Fréquence du cos en GHz %------configuration de la modulation demod=on; % Démodulation 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 mètre Env='LOSC'; % Type d'environnement (chaine de caractères) % 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; % Caractéristiques 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 réception Seuil=1e-8; % Racine carrée du Seuil de début d'intégration Tf = 20*sgma; % Durée d'intégration en ns

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

68 sur 85

param_att.m function [PL0,gam,S]=param_att(environment) % Fonction permettant de paramètrer le modele d'atténuation 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 : Définie 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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

69 sur 85

Reception.m function [DataOut] = Reception(WaveIn,Seuil,Tf) % [DataOut] = Reception(WaveIn,Seuil,Tf); % Démodulateur permettant de restituer les bits provenant du canal % Entrée : WaveIn ==> Onde Arrivant du canal de transmission % Sortie : Data ==> Chaine de bits (0/1) % Chargement des paramètres [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); % Création d'un vecteur qui contiendra un motif WaveDecoupe = zeros(prppts,1); % Traitement bit à bit for I=1:nbits, % Découpage 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 intégrateur Val = Integrateur(Sig,Seuil,Tf,periodeech); % Etage de décision Data(I) = Decision(Val); end % Création des créneaux 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"entrée du démodulateur'); xlabel('Temps en ns'); ylabel('Amplitude'); subplot(212); plot(t,Sig2); title('Signal à la sortie du Retardateur/Multiplieur'); xlabel('Temps en ns'); ylabel('Amplitude');

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

70 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 démodulation Asynchrone % Entrées : % SignalRecu ==> Signal à retarder (vecteur colonne) % Delay ==> Délai du retard (en ns) % periodeech ==> Période d'échantillonage (en ps) % Sortie : % Sig ==> Signal retardé et multiplié (vecteur colonne) [SigDel]=Modul(0, SignalRecu, 'ppm', Delay, periodeech); % Création du retard Sig = SigDel.*SignalRecu; % Multiplication du signal Recu par ce meme signal retardé

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

71 sur 85

test.m clear; % Remise à zéro 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 paramètres [Wave,WaveOut]=trans_canal(datain,demod); % Traitement ds données par la chaine d'émission et le canal DataOut = Reception(WaveOut,Seuil*Seuil,Tf); % Traitement des données par la chaine de reception % Définition 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 données entrées plot(t,DataIn); title('\bf Bits émis'); xlabel('temps en ns'); axis([0,t(prppts*nbits),-0.5,1.5]); subplot(212); % Affichage des données reçues plot(t,DataOut); title('\bf Bits reçus'); 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))

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

72 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) % Entrées: demod : démodulation ou non % Datain : Donnée (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 paramètres de la chaine d'émission et du canal % Affichage des paramètres 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); % Création de l'impulsion n=length(Datain); % Nombre de données h=uwb_sv_eval_ct(n,periodeech,cm_num); % Création des canaux pour chaque bit %---Traitement du premier bit pour créer 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))); % Récuperation de l'onde pour une taille standard (PRP) buffer=convolution(round(1000*PRP/(periodeech))+1:length(convolution)); % Création 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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

73 sur 85

buffer=[buffer;zeros(length(convolution)-length(buffer),1)]; % Ajustement de la taille du buffer avec celle de convolution % en ajoutant des zéros pour permettre une addition buffer=convolution+buffer; % Sommation du buffer et de la convolution (ajout du bruit lié au % bit precedent) wave=[wave ; wavetemp]; % Concaténation de l'ancienne sortie d'antenne avec celle du bit % actuel waveout=[waveout ; buffer(1:length(wavetemp))]; % Concaténation de l'ancienne sortie de canal (sans atténuation) % avec celle du bit actuel tronquée à la taille de la PRP buffer=buffer(round(1000*PRP/(periodeech))+1:length(buffer)); % Actualisation du buffer end waveoutatt=Att(waveout,d,Env); % Atténuation du canal en fonction de la distance Noise=NAmp*randn(length(waveoutatt),1); % Création 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)); % Création 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 données title('Emission & Canal'); legend('Données'); 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')

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

74 sur 85

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))); % Définition 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'entrée 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','Entrée du canal'); xlabel('fréquence 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('fréquence en GHz'); ylabel('PSD en dB') legend('Part 15','FCC Outdoor mask','FCC Indoor mask','Sortie du canal');

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

75 sur 85

TransChain.m function Wave= TransChain (Data,Pulse,demod) % Fonction modélisant la chaine d'emission bit par bit % % function [Wave]= TransChain (Data) % Entrées: demod : demodulation ou non % Data: Donnée à 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 paramètres 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 générée précédemment [SigOut]=SigOut+Pulse; % Sommation du motif et du motif retardé et modulé else [SigOut]=Modul(Data, Pulse, ModulKind, Delay, periodeech); % Modulation de l'impulsion générée précédemment end [Sig]=AmpliTrans(SigOut, GainTrans); % Amplification du signal [Wave]=AntenTrans(Sig); % Emission du signal au moyen de l'antenne

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

76 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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

77 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; %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 );

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

78 sur 85

% 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])

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

79 sur 85

%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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

80 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);

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

81 sur 85

% 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-', ...

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

82 sur 85

[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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

83 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)

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

84 sur 85

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

Simulation d’une chaîne de communication UWB de type impulsionnel

BARDOZ Sébastien MAMMOU Omar MOYSAN Erika

85 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