+ All Categories
Home > Documents > La Planification de Réseaux Locaux sans Fils …perso.citi.insa-lyon.fr/jmgorce/memoires/DEA -...

La Planification de Réseaux Locaux sans Fils …perso.citi.insa-lyon.fr/jmgorce/memoires/DEA -...

Date post: 16-Sep-2018
Category:
Upload: duonganh
View: 214 times
Download: 0 times
Share this document with a friend
42
Diplôme d’Etudes Approfondies Images & Systèmes Année 2002-2003 Mémoire de Recherche La Planification de Réseaux Locaux sans Fils Optimisation et validation d’un moteur de prédiction de couverture radio Algorithme DIRECT PHILIPPE BUHR Tuteurs : Jean-Marie Gorce et Katia Runser Laboratoire CITI INSA Bât. L. de Vinci 69621 Villeurbanne
Transcript

Diplôme d’Etudes Approfondies Images & Systèmes

Année 2002-2003

Mémoire de Recherche

La Planification de Réseaux Locaux sans Fils

Optimisation et validation d’un moteur de prédiction de couverture radio

Algorithme DIRECT

PHILIPPE BUHR

Tuteurs : Jean-Marie Gorce et Katia Runser

Laboratoire CITI INSA Bât. L. de Vinci 69621 Villeurbanne

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 2/42 2002/2003

Remerciements Je désire remercier très particulièrement M. Jean-Marie Gorce pour son soutien et son suivi tout au long de ce stage de DEA. Ses conseils et remarques pertinentes m’ont permis d’avancer continuellement dans mon travail. Je remercie tout spécialement Melle Katia Runser pour son soutien durant tout le stage et tout le temps qu’elle m’a consacré à la fois pendant la prise en main du moteur et dans la phase de développement de l’algorithme d’optimisation. Merci également à M. Stéphane Ubéda, directeur du CITI et à tous les membres du laboratoire pour leur soutien, ils ont tous contribué à créer un cadre de travail très agréable.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 3/42 2002/2003

Résumé De nombreuses méthodes de prédiction de couverture radio existent déjà. Mais la plupart de ces méthodes sont faites pour des prédictions en milieu urbain ou extra-urbain. Il existe relativement peu de méthodes efficaces pour les micro-cellules en milieu intérieur, dont l’application principale serait la planification de réseaux sans fils. Une méthode efficace est le ray-tracing, mais une nouvelle méthode de propagation des flux en domaine de Fourier a été présentée par J.M. Gorce [1] et [2]. Cette méthode part d’un environnement 2D discrétisé et constitué de plusieurs matériaux (mur, air, vitres, etc.). Chacun de ces matériaux a ses propres caractéristiques physiques de propagation des ondes électromagnétiques : son indice et son coefficient d’absorption. Dans ce mémoire, une méthode d’optimisation a été implantée pour identifier ces paramètres à partir de mesures faites sur l’environnement réel. Il s’agit d’une méthode directe qui possède un bon compromis entre recherche globale et recherche locale : il s’agit de DIRECT (DIviding RECTangles). Cette méthode fonctionne très bien sur des environnements où le temps nécéssité par l’évaluation d’une solution est relativement court (quelques secondes). Mais lorsque le coût d’une évaluation est très élevé , comme dans le cas d’environnements réels, le temps devient rapidement un frein. Cette méthode a néanmoins fait ses preuves. Un enjeu important est donc de réduire le temps de calcul de l’évaluation de la solution en accélérant le temps nécessité par une prédiction de couverture. C’est pourquoi des améliorations ont été apportées au cœur du moteur de propagation. Ce rapport décrit principalement le fonctionnement de DIRECT, son implantation dans le moteur de propagation et les résultats des essais de calibrage.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 4/42 2002/2003

Sommaire

1 INTRODUCTION................................................................................................. 6

2 PRESENTATION DU SIMULATEUR.................................................................. 8

2.1 Bibliographie................................................................................................................. 8 2.1.1 Modèles statistiques ............................................................................................... 8 2.1.2 Le ray-tracing, méthode microcellulaire ................................................................ 8 2.1.3 Méthodes temporelles de propagation par flux ....................................................10

2.2 Méthode originale Frequency Domain ParFlow (FDPF) ....................................... 10 2.2.1 Présentation .......................................................................................................... 10 2.2.2 Limites de cette méthode...................................................................................... 12 2.2.3 Exemples de résultats bruts ...................................................................................... 13

3 CALIBRAGE DU MOTEUR PAR OPTIMISATION DIRECT............................. 15

3.1 Bibliographie sur les méthodes d’optimisation ....................................................... 15 3.1.1 Introduction .......................................................................................................... 15 3.1.2 Méthodes continues.................................................................................................. 16 3.1.3 Méthodes de recherche directe............................................................................. 16

3.1.3.1 Méthodes à grille discrète (discrete grid methods) .......................................... 16 3.1.3.2 Algorithme de recherche par motif (pattern search algorithms) ...................... 17 3.1.3.3 Méthodes de recherche de direction adaptée (adaptative direction search methods) 17

3.1.4 Conclusion............................................................................................................ 18

3.2 Présentation d’une méthode continue directe : algorithme DIRECT................... 18 3.2.1 Introduction .......................................................................................................... 18 3.2.2 Origine de l’algorithme : optimisation lipschitzienne.......................................... 19 3.2.3 Principe de l’algorithme DIRECT........................................................................ 20

3.2.3.1 Initialisation...................................................................................................... 20 3.2.3.2 Détermination des rectangles potentiellement optimaux ................................. 20 3.2.3.3 Division des hyper-rectangles potentiellement optimaux ................................ 22

3.2.4 Modification de l’algorithme ............................................................................... 23

3.3 Mise en place de DIRECT ......................................................................................... 24 3.3.1 Implantation ......................................................................................................... 24 3.3.2 Fonction d’évaluation : critère d’erreur ............................................................... 25 3.3.3 Choix du nombre de points de mesure ................................................................. 26

3.4 Validation de l’algorithme......................................................................................... 26 3.4.1 Suivi du critère d’évaluation ................................................................................ 27 3.4.2 Evolution des paramètres ..................................................................................... 27 3.4.3 Suivi de l’erreur en chaque point ......................................................................... 28 3.4.4 Etude des cubes .................................................................................................... 28 3.4.5 Nombre de points de mesure................................................................................ 30 3.4.6 Conclusion et perspectives ................................................................................... 30

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 5/42 2002/2003

3.5 Test en environnement réel ....................................................................................... 31 3.5.1 Protocole de mesure ............................................................................................. 31 3.5.2 Résultats ............................................................................................................... 31

3.6 Proposition d’évolution de DIRECT ........................................................................ 32

4 OPTIMISATION DU CODE............................................................................... 34

4.1 Fonctionnement du programme ............................................................................... 34

4.2 Matrices montantes et matrices descendantes......................................................... 34 4.2.1 Rôle de matrices montantes et descendantes........................................................ 35 4.2.2 Objet de l’optimisation......................................................................................... 35 4.2.3 Résultats ............................................................................................................... 36

4.3 Cœur du calcul............................................................................................................ 37 4.3.1 Théorie et implémentation ................................................................................... 37 4.3.2 Résultats ............................................................................................................... 38

5 CONCLUSION .................................................................................................. 39

6 BIBLIOGRAPHIE.............................................................................................. 40

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 6/42 2002/2003

1 Introduction

L’ensemble des technologies sans fils sont depuis quelques années en pleine expansion. La norme IEEE 802.11b et sa démocratisation en sont les meilleurs témoins. Cette norme pour les réseaux locaux sans fils est de plus en plus utilisée, notamment dans les entreprises. Le déploiement de ce type de réseaux repose sur des méthodes empiriques. On a d’ailleurs vu quelques problèmes à ce sujet aux premières utilisations de la technologie. L’exemple le plus flagrant est celui d’une grande entreprise française ayant son siège à proximité de la Place de l’Etoile à Paris. Le antennes émettrices avaient été mal configurées et elles émettaient tellement fort (depuis l’intérieur du bâtiment) que le signal était perceptible et exploitable depuis les Champs Elysées. L’absence de support matériel pour les réseaux sans fil les rend d’autant plus vulnérables. C’est pourquoi il est très important de les planifier de manière optimale de manière à éviter les fuites à l’extérieur des bâtiments par exemple, même si les transmissions sont cryptées et l’accès au réseau contrôlé. De nombreuses méthodes de prédiction de couverture radio existent déjà, mais peu d’entre elles sont adaptées aux environnement intérieurs ou intra-muros (dits « indoor »), par opposition aux environnements dits ruraux ou urbains. Ces méthodes sont en général basées sur un grand nombre d’approximations qui ne sont pas valables en intra-muros. Au contraire les méthodes très précises, permettant de calculer la puissance reçue en chaque point de l’espace pour une position d’antenne donnée nécessitent une puissance de calcul considérable.. Le milieu intérieur est particulier car les dimensions (hauteur, largeur, taille du mobilier,…) sont beaucoup plus proche de la longueur d’onde du signal propagé, ce qui fait entrer en jeu de nombreux phénomènes de diffraction. Les réflexions y sont également très nombreuses pas rapport à un milieu extérieur, même urbain (nombreuses rues encaissées entre des bâtiments). De ce fait, les interférences sont nombreuses, la liaison radio entre 2 points est du coup la résultante d’un grand nombre de chemins. Pour effectuer une bonne prédiction il faut à la fois être précis, c’est à dire prendre en compte les différents chemins, mais en même temps s’adapter à la précision que l’on a de l’environnement. On ne tient pas compte des personnes, du mobilier. Pour les fréquences UHF, La propagation doit être donc simulée à une résolution de l’ordre du décimètre, alors que les résultats de couverture ne peuvent être raisonablement interprétés à une résolution inférieure au mètre. C’est ce que tente de prendre en compte une méthode proposée par Gorce et al. [1]. Elle repose sur un calcul de la propagation bidimensionnelle, par la méthode TLM (transmission line matrix) [2] effectué dans le domaine fréquentiel, au lieu d’utiliser le domaine temporel comme proposé dans [3] pour un problème de déploiement GSM.. Cette approche a permis de mettre en œuvre un calcul multi-résolution, permettant d’accélérer le temps de calcul en atteignant directement un régime permanent, au lieu de devoir converger vers ce régime d’équilibre. . La multi-résolution permet de garder un calcul physique sous-jacent précis, tout en limitant les calculs à une résolution plus grossière. Cette méthode part de plans d’étages d’immeubles discrétisés où sont repérés par des numéros différents les différents matériaux constituant l’étage : béton, plâtre, verre, plexiglas, … Le moteur se base sur leurs caractéristiques physiques que sont le coefficient d’atténuation (compris entre 0 et 1) et l’indice du milieu (le milieu de référence étant l’air avec un indice de 1). Les valeurs de ces indices vont donc totalement conditionner le résultat obtenu. Mais le point crucial est que ces paramètres changent d’un bâtiment à l’autre. Il est donc nécessaire

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 7/42 2002/2003

d’identifier ces paramètres à chaque utilisation du moteur de propagation dans un environnement différent. C’est pourquoi le principal objectif de ce DEA est de choisir et d’implémenter un moteur d’optimisation permettant d’identifier les paramètres à partir de mesures. Le temps de calcul et la place mémoire occupée par les données intermédiaires utiles au calcul de couverture sont assez importants. Une partie du temps a donc aussi été consacrée à la réduction du temps de calcul et de la place mémoire. Ceci sera décrit dans la dernière partie de ce rapport.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 8/42 2002/2003

2 Présentation du simulateur

Cette partie a pour but de présenter le simulateur sur lequel j’ai effectué mon travail. Ce moteur logiciel permet de prédire la couverture radio en milieu intérieur, en se limitant pour l’instant à la prédiction dans le plan (2D).. Nous nous intéresserons dans un premier temps à l’étude de l’ensemble des méthodes existant déjà, puis sera présentée la méthode originale développé par Gorce et al. dans [1] et [2].

2.1 Bibliographie

La propagation des ondes électromagnétiques est un phénomène complexe. Les premiers modèles sont apparus avec le développement de la radiodiffusion et de la télédiffusion.

2.1.1 Modèles statistiques

Les premières méthodes apparues (dans les années 1960) sont des méthodes statistiques développées de manière empirique. Leur origine tient dans de grandes campagnes de mesures effectuées à différentes fréquences. Le premier modèle ayant fait ses preuves est celui d’Okumura. Il s’agit d’un modèle simple encore très populaire. C’est un ensemble de méthodes statistiques adaptées à différents milieux (urbain, semi-urbain, quasi-ouvert, ouvert). C’est pour les environnements urbains que ce modèle fonctionne le mieux. Mais en milieu urbain, l’orientation des rues les unes par rapport aux autres, hauteur et répartition des immeubles peuvent beaucoup influencer les résultats pratiques. Ce modèle est ainsi très bien adapté aux villes du Japon, pays où il a été développé, et fonctionne moins bien en Europe ou en Amérique. Dans les années 1980, les modèles de Okumura ont été repris et adaptés par Hata. Hata en a tiré des expressions analytiques rendant possible leur implémentation au prix de la réduction de nombre paramètres. Les capacités du modèle on alors quelque peu diminuées, la longueur de propagation a par exemple été limitée à 20km. Ce modèle est tout de même fréquemment utilisé par les opérateurs de téléphonie mobile pour la planification de leur réseau GSM et le placement des antennes-relais. Ce modèle a été revu récemment. La hauteur de l’antenne de réception est maintenant prise en compte, des corrections ont été apportées concernant la prise en compte de la fréquence et la longueur du chemin de propagation a été portée à 300km. Ce modèle ne tient pas compte de l’ensemble de la topographie de l’espace, mais que du type de terrain sur lequel se trouve l’antenne d’émission, conduisant à des erreurs sur les niveaux de champ reçu, parfois inférieurs à ceux que l’on aurait obtenus dans le vide. L’ensemble de ces modèles statistiques sont adaptés à des systèmes cellulaires de grande taille et pour des environnements extérieurs. Les temps de calcul sont faibles mais ces méthodes sont bien trop approximatives pour la propagation intérieure. La propagation intérieure est particulière de par la quantité de réflexions et l’importance du phénomène de diffraction.

2.1.2 Le ray-tracing, méthode microcellulaire

Cette méthode assez récente est la plus utilisée pour la prédiction de couverture radio (à en croire le nombre d’articles trouvés à son sujet), notamment en milieu urbain et semi-urbain.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 9/42 2002/2003

Elle permet de couvrir une zone moins étendue mais de manière plus précise que les méthodes précédentes. Cette méthode est basée sur la méthode de ray-tracing utilisée pour générer des images de synthèses. En imagerie de synthèse, ce sont des ondes électromagnétiques de longueur d’inde de quelques centaines de nanomètres qui sont propagées, la lumière, et ici on décide d’appliquer ceci à des ondes électromagnétiques de fréquences différentes (quelques centaines ou milliers de MHz). L’idée vient de McKnown [4] qui proposa le premier en 1991 d’associer le ray-tracing et une base de données géométriques pour simuler la propagation des ondes dans un réseau radio. En 1992, Schaubach et al. [5] proposèrent d’y ajouter les caractéristiques électromagnétiques des bâtiments. En 1993, Valenzuela [6] propose d’appliquer cette méthode aux environnements indoor. La même année, Seidel [7] met au point la simulation des phénomènes de diffraction par lancer de rayon. Ce phénomène est très présent en milieu indoor. La gestion des ressources radio (handover et allocation de canaux) est modélisée par cette méthode en 1994 par Hussman[8]. La même année, Wagen [9] analyse les effets du passage de zone en vision directe à une zone dite d’ombre (zone où les ondes provenant de l’émetteur n’arrivent pas directement mais indirectement après une ou plusieurs réflexions). Connaissant les grands principes physiques de la théorie de la propagation ondulatoire, on peut dire que le modèle du lancer de rayon permet de tout modéliser. Mais pour se rapprocher de la réalité, de nombreux paramètres doivent être pris en compte et optimisés. Les différentes publications se focalisent le plus souvent sur un point précis et essayent d’améliorer les performances. Un émetteur est modélisé par une source sphérique à partir de laquelle sont émis des rayons de manière isotrope. Plus le nombre de rayons émis est élevé, meilleure est la résolution obtenue (typiquement on considère 3 ou 7 rayons). Les rayons sont soit modélisés par des vecteurs (ray-tracing) soit par des cônes (beam-tracing). D’après Flores[10], le beam-tracing est moins coûteux en temps que le ray-tracing et réduit intrinsèquement les erreurs d’échantillonnage. Mais lorsque l’environnement est trop complexe, l’approximation des petites irrégularités de l’environnement fournit une mauvaise prédiction. Au niveau du récepteur, deux grands modèles existent. Il s’agit soit de la méthode dite de « force brute », soit la « méthode image ». En « force brute » tous les rayons de la source sont pris en compte et calculés jusqu’à ce qu’ils aient subi un certain nombre de réflexions (dans la plupart des cas, 3 réflexions sont suffisantes) ou que leur puissance soit passée sous un certain seuil. Tous les rayons qui passent au voisinage du récepteur contribuent alors à la puissance reçue par celui-ci. Mais cette méthode ne garantit pas que tous les rayons possibles aient été reçus et certains rayons calculés sont inutiles. La seconde méthode ne considère que les rayons allant de la source au récepteur. Elle calcule le nombre exact de rayons nécessaire et calcule tous les rayons reçus. Elle est très rapide mais très sensible à la complexité de l’environnement et n’est utilisable que dans des contextes particuliers (quadrillage de rues par exemple). Des améliorations ont été apportées quant à la modélisation de l’espace, ceci pour gagner du temps de calcul. Plutôt que de conserver l’ensemble des faces des bâtiments, Maurer [11] montre qu’il suffit de conserver les faces en visibilité directe car ce sont les réflexions sur ces faces qui fournissent la plus grande partie du signal reçu par les récepteurs après ceux provenant directement de l’émetteur. Une autre technique proposée par Rajkumar [12] utilise un partitionnement de l’espace en arbre binaire. Plus on descend dans l’arbre, plus on obtient un niveau de résolution important. Les temps de calcul demandés par le ray-tracing sont très importants lorsque l’on augmente la résolution et donc le nombre de rayons lancés. Mais il est très efficace en milieu accidenté ou urbain-dense (rues encaissées,…) …

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 10/42 2002/2003

2.1.3 Méthodes temporelles de propagation par flux

Une alternative à la technique du lancer de rayons est la méthode des différences finies dans le domaine temporel (FDTD, Finite Differences in Temporal Domain) basée sur la discrétisation des équations de Maxwell. Ce concept a été lancé par Pahlavan [13] et Lee [14] dans deux articles distincts, respectivement 1995 et 1998. Les champs électriques E et magnétique H sont discrétisés et propagés grâce aux équations de Taflove qui donnent la valeur du champ EZ en fonction des champs H des cellules voisines et de la valeur des incréments temporels ∆t et ∆. De même Hy est calculé en fonction du champ E des cellules voisines, de H à l’instant précédent et de la permittivité du vide µ0. Cette méthode est réputée pour son exactitude mais les temps de calcul sont conséquents. Elle est ainsi réservée à des environnements indoors de petite taille (quelques longueurs d’onde). Cette méthode est souvent celle utilisée comme méthode témoin. Les mesures physiques et les résultats de la méthode FDTD donnent des résultats quasiment identiques. La seule limitation est la définition de l’environnement qui ne peut pas être parfaite. Des tentatives ont été faites pour combiner le ray-tracing et la méthode FDTD par Wang et. Al. [15]. L’article présente une méthode de propagation qui permet de passer du domaine de la FDTD au domaine du ray-tracing en proposant une relation entre le nombre de rayons incidents sur la surface de séparation et les champs E et H générés par le FDTD. Les méthodes temporelles donnent des résultats très précis. L’obstacle majeur est le temps de calcul et l’amélioration de ce temps de calcul est un axe de recherche important. Chopart et al. [3] proposent ainsi la méthode des flux partiels parFlow (partial flow). Cette méthode est issue de la mécanique des fluides et consiste à diviser un flux en 5 composantes linéaires : les 4 directions (que nous appellerons nord, sud, est et ouest) et un flux réflexif. L’espace est discrétisé en cellules comme dans la méthode FDTD, chacune possédant 5 flux. Les auteurs montrent que la résolution spatiale doit être d’au moins 6 fois la longueur d’onde pour obtenir des résultats valables (à 2.4 GHz, λ=1,25m). Un automate est ensuite créé pour propager le flux de cellule en cellule, de proche en proche. La propagation se poursuit jusqu’à atteindre la convergence de la prédiction, c’est-à-dire lorsque les flux échangés entre cellules deviennent négligeables et que la puissance de couverture se stabilise. La convergence vers ce régime permanent est longue. Pour accélérer les temps de calcul, Guidec et al. [16] partitionnent la zone géographique en bandes. Les bandes adjacentes sont allouées à des processeurs adjacents pour accélérer les échanges interprocesseurs. Un processeur peut travailler avec plusieurs bandes. En entrelaçant des bandes de faible largeur, on s’assure que tous les processeurs se mettront à fonctionner juste après le lancement de la propagation. Ceci permet de faire travailler plusieurs ordinateurs en parallèle.

2.2 Méthode originale Frequency Domain ParFlow (FDPF)

2.2.1 Présentation

La méthode proposée par Gorce et al. [1] et [2] est basée sur la méthode parFlow. Au lieu de travailler dans le domaine temporel par itérations successives jusqu’à atteindre l’équilibre de la couverture, cette méthode travail dans le domaine fréquentiel et aboutit directement à l’état

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 11/42 2002/2003

Figure 2 : la structure pyramidale et les blocs associés à chaque niveau de la pyramide. Le bloc blanc représente le bloc source à chaque niveau.

d’équilibre. Lorsque le problème est formulé dans le domaine de Fourier, le calcul du champ électrique émis par une source située à un point précis de l’espace 2D s’effectue en résolvant l’équation globale suivante : F(ν)=Ω⋅F(ν)+S(ν) où F(ν) est le vecteur contenant tous les flux, c’est-à-dire 5 flux par pixel, S(ν) est le vecteur source et Ω la matrice de propagation globale. Ceci ramène donc le problème à la résolution d’un système d’équations linéaires. Dans le domaine fréquentiel, il est possible de simplifier le modèle en ne tenant pas compte du flux interne. Ainsi, on peut regrouper les blocs pour travailler à une résolution moins fine. En effet, les flux inter blocs deviennent des flux internes et il est possible de les simplifier car ils ne sont plus nécessaires au calcul de propagation à une résolution inférieure. Par contre, il est nécessaire de les mémoriser pour retrouver la couverture à une résolution plus fine.

Pour passer d’une résolution à une autre, une matrice de passage doit être calculée. Pour la calculer, une inversion matricielle est nécessaire, mais elle ne dépend pas de la position de la source et peut être réalisée une fois pour toute. Ces différentes résolutions peuvent être représentées sous la forme d’une pyramide. Cette structure possède l’avantage d’être indépendante de la position de la source dont on recherche les performances. Elle n’est fonction que de l’environnement de calcul. Le calcul de cette pyramide ne se fait qu’une seule fois dans une étape de pré-traitement. Dans la représentation ci-dessous, le regroupement se fait de façon régulière. Un regroupement irrégulier des blocs a été proposé par Jullo [17] de façon à former des blocs homogènes en matériau (qui ne contiennent que de l’air ou un mur). Il existe une résolution à partir de laquelle tous les blocs sont homogènes. On est alors certain que le calcul des niveaux de champs à l’intérieur de ces blocs est cohérent. De plus, cette technique permet d’éviter le calcul superflu du champ à l’intérieur des murs.

Pour obtenir une carte de couverture à une résolution donnée, la source est tout d’abord placé au niveau le plus bas de la pyramide puis propagée vers les niveaux supérieurs. Lorsque l’on a la source dite équivalente au niveau le plus haut, on redescend dans la pyramide pour s’arrêter à la résolution souhaitée. Si l’on désire déplacer la source, il ne faut plus recalculer l’ensemble des étapes, il suffit de placer

Figure 1 : illustration de la structure hiérarchique. A gauche, 4 blocs au niveau N sont représentés. Un vecteur de taille 2N !2 contient les flux internes associées à chaque face de ces blocs. Au centre, les blocs ont été regroupés par deux, on est maintenant au niveau N+1. A droite le niveau N+2 où la taille du vecteur des flux est maintenant 2N/2+1. A chaque niveau les flux internes sont supprimés. Les flèches représentent les vecteurs de flux.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 12/42 2002/2003

la source ailleurs au bas de la pyramide puis la propager vers le haut pour enfin propager l’ensemble des flux vers le bas. Ceci est très avantageux car la majorité du temps de calcul est utilisé pour calculer les matrices de passage (nombreuses inversions matricielles sur des matrices de très grande taille) d’un niveau à un autre. Nous reviendrons plus loin sur le détail du fonctionnement du moteur de propagation. Ce moteur a été développé sous Matlab par J.-M.Gorce et a été porté sous environnement Java pas E. Jullo. La recherche de l’implantation des algorithmes de création de la structure pyramidale, et de propagation des sources ont été réalisées par E. Jullo. La structure des données a été choisie de manière à optimiser la place mémoire et le temps de calcul. E. Jullo montre qu’une telle approche permet la réduction du temps de calcul d’un facteur asymptotique significatif : pour un espace bidimensionnel de taille NxN, on a une complexité de calcul proportionnelle à N2.log2(N) au lieu de N3 pour la méthode initiale dans le domaine temporel. Détail du déroulement d’un calcul de couverture :

1. Pré-traitement : lecture dans un fichier de l’environnement modélisé, découpage de l’environnement de manière irrégulière selon la constitution (matériau) de chaque pixel puis création de la pyramide hiérarchique

2. Calcul des matrices de passage pour passer d’un niveau de la pyramide au niveau directement supérieur ou directement inférieur

3. Lecture de la position de la source et remontée de la source jusqu’en haut de la pyramide (calcul de la source équivalente au sommet)

4. Redescente le long de la pyramide vers des pixels (points de l’environnement) donnés ou vers l’ensemble de l’environnement, et ce jusqu’à une résolution donnée (résolution fixe ou blocs homogènes)

2.2.2 Limites de cette méthode

Le moteur travaille à partir de matériaux (mur, air, vitre, etc.) dont il faut connaître les caractéristiques, à savoir son coefficient d’atténuation et l’indice du milieu. Souvent ces caractéristiques ne peuvent pas être évaluées précisément de manière simple et risquent de changer fortement d’un bâtiment à un autre. Des facteurs assez variables influent ces paramètres : épaisseur des murs, matériau du mur (plâtre, béton, brique), épaisseur des vitres et type de verre,… On en vient donc tout naturellement à la conclusion que ces paramètres doivent être identifiés avant de calculer une carte de couverture dans un bâtiment. C’est exactement ce point qui fera l’objet principal de ce DEA : optimisation et identification des paramètres des matériaux. La principale limitation de ce moteur de propagation est le temps de calcul ainsi que la place mémoire occupée par le programme. Les blocs et leurs matrices associées sont enregistrés sur le disque dur de l’ordinateur. Ce sont principalement les matrices de propagation qui consomment du temps de calcul. En effet, une inversion matricielle est réalisée.

Figure 3 : étapes 3 et 4 de propagation de la source vers le haut puis redescente vers la cible

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 13/42 2002/2003

Plusieurs améliorations du temps de calcul ont été apportées au cours de ce stage de DEA. En effet, apporter ces améliorations a permis de se plonger dans le code du moteur et de comprendre son fonctionnement de manière très fine. Ces améliorations et modifications du moteur sont décrits dans la dernière partie de ce rapport. Une autre limitation est le fait de ne considérer qu’un environnement en deux dimensions. Vu les proportions des pièces dans les immeubles (hauteur et largeur des pièces dans les mêmes ordres de grandeur), il peut paraître surprenant de se limiter d’une part à un environnement en deux dimensions et d’autre part de négliger, par exemple, l’effet des meubles. Layer [18] conclue dans sa publication que l’effet des meubles sur la prédiction de couverture radio est quasiment négligeable comparé au bon positionnement de l’émetteur et du récepteur ainsi qu’à la configuration du sol. Les résultats expérimentaux montrent que l’on obtient des prédictions proches de la réalité malgré le fait qu’on a modélisé l’environnement en 2D. Des améliorations futures pourraient être amenées au moteur pour qu’il utilise des environnements en pseudo-3D, c’est-à-dire en superposant différentes couches 2D. Les approximations bidimensionnelles ont pu être justifiées par Zhang [19] et Kanatas [20] dans le cadre de prédictions en milieu extérieur. L’une des contraintes de ce problème a été de se limiter à une source monofréquentielle ou harmonique. C’est pourquoi la différenciation des chemins multiple n’est pas prise en compte. En réalité, c’est déjà le cas dans la méthode de Chopard et al. [3] où l’analyse des chemins multiples aurait requis la simulation de sources impulsionnelles et donc le stockage de toutes les itérations, ce qui n’est pas fait en pratique.

2.2.3 Exemples de résultats bruts

Voici des exemples de cartes de couverture calculées par le moteur. Ces premières cartes représentent un environnement réel, le deuxième étage du bâtiment Léonard de Vinci dans lequel se trouve le Citi. La figure de gauche représente la couverture à la résolution maximale, celle de droite à la résolution des blocs homogènes. L’échelle est graduée en dBm. La résolution des blocs homogène est une résolution particulière. Lorsque l’on redescend la pyramide, dès que l’on atteint un bloc homogène, c’est-à-dire un bloc ne contenant qu’un seul et unique matériau, on calcule la puissance moyenne dans ce bloc plutôt que de descendre à une résolution plus fine encore.

Figure 4 : carte de couverture de l’étage du CITI, calculée à résolution maximale puis à la résolution des blocs homogènes.

dBm

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 14/42 2002/2003

Voici des exemples sur un environnement de test à la résolution maximale 1x1, puis 10x10 puis aux blocs homogènes (les échelles ne sont pas indiquées, l’environnement est fictif et ne correspond à rien de réel) :

Figure 5a. Résolution 1x1 Figure 5b. Résolution 10x10

Figure 5c. Résolution des blocs homogènes

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 15/42 2002/2003

3 Calibrage du moteur par optimisation DIRECT

3.1 Bibliographie sur les méthodes d’optimisation

3.1.1 Introduction

Bon nombre de problèmes techniques que l’on rencontre sont des problèmes d’optimisation. Le problème est de trouver une solution qui remplit le mieux un critère donné. Cohen [21] définit l’optimisation comme l’art de décrire des problèmes de prise de décision. Pour lui, l’optimisation est non seulement une théorie mathématique mais aussi une sorte de « cuisine algorithmique » où c’est principalement l’expérience qui guide l’utilisateur dans le choix de l’algorithme à implanter. Dans cette partie nous étudierons quelques méthode d’optimisation utilisées, d’après K. Runser [22], dans le cadre de la planification de réseaux sans fils. Ces méthodes sont principalement divisées en deux familles : les méthodes continues et les méthodes discrètes. Les méta-heuristiques de type recuit simulé, tabou ou optimisation par colonies de fourmis ont été rejetées d’emblée. Ces méthodes demandent beaucoup d’itérations et se révèlent être particulièrement efficaces lorsque le coût d’évaluation d’une solution est faible. Or ce coût est extrêmement élevé dans notre cas (pouvant facilement atteindre quelques minutes dans le cas de la modélisation de tout un étage d’immeuble par exemple). La difficulté d’un problème d’optimisation est donnée par trois paramètres :

- le nombre de variables - le coût d’une fonction d’évaluation - la forme de la fonction d’évaluation

Le nombre de variables est directement lié à la dimension de l’espace de recherche. Plus le nombre de dimensions est élevé, plus il sera difficile de faire une recherche exhaustive. L’algorithme aura alors pour but de tester un nombre limité de solutions, tout en garantissant la convergence vers l’extremum global, ou à défaut vers une solution « acceptable ». La recherche exhaustive est la seule garantissant que l’extremum global va être trouvé. Lorsque l’évaluation d’une solution est rapide et ne nécessite que peu de mémoire, des algorithmes basés sur un grand nombre d’évaluations peuvent être très efficaces. Mais lorsque le test d’une seule solution demande plusieurs dizaines de secondes, voire des minutes, il est mieux de n’avoir à tester qu’un petit nombre de solutions. Dans ces cas, l’algorithme est contraint de trouver un optimum avec aussi peu d’évaluations de solutions que possible. Lorsque la fonction d’évaluation est convexe, chercher le minimum est assez simple, quelle que soit la taille de l’espace de recherche. Mais dans le cas où la fonction présente des extremums locaux, ceci serait plus compliqué car les algorithmes basés sur l’étude du gradient de la fonction peuvent rester coincés dans ces extremums locaux. Le résultat est en plus conditionné par le point de départ choisi. Le problème se complique encore lorsque la fonction d’évaluation n’est pas continue. Dans ce cas-là, les algorithmes déterministes ne peuvent pas converger. L’identification des paramètres des matériaux est un problème difficile car le nombre de solutions possibles est trop important pour effectuer une recherche exhaustive. L’évaluation d’une solution est très coûteuse, et augmente rapidement avec la taille de l’environnement , le nombre de matériaux à identifier, et la précision de calcul de la carte de couverture. De plus,

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 16/42 2002/2003

plusieurs solutions peuvent être possibles si on ne définit pas suffisamment de points de mesure.

3.1.2 Méthodes continues

Les méthodes continues sont basées sur un environnement supposé continu, c’est à dire que les variables peuvent varier de manière continue sur l’espace des solutions. Les méthodes continues peuvent se dériver en 3 familles : les méthodes basées sur le gradient, les méthodes de recherche directe et la famille des RSM (Response Surface Modelling) qui approchent la fonction d’évaluation par une fonction polynomiale. Les méthodes à gradients supposent que l’on connaît la valeur du gradient de la fonction d’évaluation. Dans notre cas, nous n’avons pas directement accès à la dérivée de la

fonction d’évaluation. La fonction à minimiser ne peut qu’être appréhendée directement et non au travers de son gradient. Il est bien sur toujours possible d’estimer un gradient à partir d’une fonction de coût, mais au prix d’une augmentation du nombre de simulations. Les méthodes de recherche à gradients ont donc été écartées.. Les méthodes utilisant RSM (global optimization using response surface modelling) sont trop complexes pour être mises en œuvre ici, notamment à cause de la grande dimensionnalité du problème. Elles peuvent cependant se révéler très puissantes. Ces algorithmes partent d’un certain nombre de points et tentent à partir de ces points de modéliser (d’imiter) la fonctionnelle et de l’approcher par une surface lisse.

3.1.3 Méthodes de recherche directe

Les méthodes de recherche directe sont utilisées pour résoudre des problèmes d’optimisation en utilisant directement la fonction d’évaluation, et donc sans passer par sa dérivée. La dérivée est souvent inaccessible directement et doit souvent être approchée par un calcul aux différences finies, ce qui est très consommateur de temps. D’où l’intérêt des méthodes de recherche directe. La définition des méthodes directes est donnée par Hooke et Jeeves en 1961 dans [23] : « On utilise le terme de recherche directe pour décrire une méthode de recherche utilisant différents essais de solution possible en comparant chaque essai au meilleur résultat obtenu jusqu’à présent, combiné à une stratégie permettant de déterminer quelle est la prochaine solution à tester ». Il existe trois principaux groupe d’algorithmes de recherche directe. Leur convergence vers un extremum de premier ordre (point où la dérivée nulle) a été prouvée pour la plupart d’entre eux.

3.1.3.1 Méthodes à grille discrète (discrete grid methods)

Ces méthodes discrétisent l’espace ℜn borné. Une grille régulière G est définie sur cet espace et chaque nœud correspond à une solution. Le but d’un algorithme à méthode discrète est de donner à chaque itération k la valeur xk+1∈ G satisfaisant f(xk) ≤ f(xk+1). Une solution de

Figure 6 : classification des méthodes d’optimisation continues (source [23])

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 17/42 2002/2003

départ est choisie et l’algorithme s’arrête lorsque aucune amélioration n’a été observée après un certain nombre d’itérations successives. Une méthode à grille discrète est efficace si un nombre suffisant de directions de recherche sont explorées. Si l’espace des solutions est ℜn, n directions doivent être utilisées pour explorer l’ensemble des solutions. La méthode de variation locale est l’exemple le plus simple de méthodes à grille discrète. A chaque itération, le voisinage Vk = xk + hk di , i∈[1,n] du vecteur courant xk est évalué. Le vecteur di est une des n directions de recherche, n étant le nombre de variables. La valeur minimum est sélectionnée et la taille du pas dk est diminuée. Ainsi, à l’itération k+1, on recommence avec xk+1 comme point de départ. Quand la résolution de la grille hk a diminué, l’algorithme a trouvé un minimum local sur le voisinage Vk. Une autre méthode employée couramment est la méthode de Hooke et Jeeve [23]. A chaque itération (après initialisation), une ligne exacte est tracée dans la direction dk = 2xk – xk-1. (Concrètement, les points xk-1, xk et xk+1 sont alignés et xk est le milieu du segment [xk-1, xk+1]). La solution xk+1 obtenue ainsi est sélectionnée uniquement si f(xk+1) ≤ f(xk). Comme f a diminué de xk-1 à xk, on suppose qu’il y a encore des chances que f diminue en regardant dans la direction dk. Sinon on cherche dans les n directions de l’espace. Cet algorithme prend en compte les valeurs passées pour améliorer ses performances. Le problème de ces algorithmes, notamment celui de la méthode de variation locale, est que la convergence, même si elle est prouvée, est assez lente. Le pas de discrétisation de l’espace fini borné est un point important qui détermine beaucoup la vitesse de convergence mais a des effets sur la précision de la solution recherchée. De plus ces méthodes requièrent encore un grand nombre d’itérations pour converger correctement.

3.1.3.2 Algorithme de recherche par motif (pattern search algorithms)

Cette famille d’algorithmes recherche un motif ou une figure donnée pour explorer l’espace. L’évolution de la figure ou du motif détermine l’itération suivante en amenant le motif à évoluer dans la partie intéressante de l’espace de recherche.

L’algorithme le plus connu et le plus utilisé est la méthode simplex proposé par Spenley [24]. Un simplex est une figure géométrique à n+1 sommets dans l’espace à n dimensions. Ces n+1 points représentent un plan dans l’espace ℜn× ℜ. Chaque sommet du simplex représente une valeur obtenue pour une solution x∈ℜn. L’idée de cette méthode est de construire à chaque itération un simplex non vide dont l’inclinaison indique la direction de recherche à suivre. Des améliorations de cet algorithme ont été proposées par Nelder et Mead [25] en ajoutant d’autres mouvements : en

plus de la réflexion, ils proposent la contraction, la réduction et l’étirement. Sa convergence n’est cependant pas possible dans tous les cas : si le simplex décrit un plan orthogonal à la direction du gradient, la convergence ne peut pas être poursuivie. Il a aussi été montré dans [26] que cette méthode peut échouer sur une fonction f convexe. L’algorithme DIRECT fait également partie des méthodes de recherche à motifs. Très intéressant, cet algorithme présente un bon compromis entre recherche globale et recherche locale en effectuant les deux à la fois. Cet algorithme sera développé plus tard.

3.1.3.3 Méthodes de recherche de direction adaptée (adaptative direction search methods)

La méthode de recherche de direction conjuguée est l’implémentation directe de la méthode de recherche par gradient conjugué (conjugate gradient search).

xworst

xa

xb

xnew

G

Figure 7 : un simplex avec le mouvement de base, la réflexion.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 18/42 2002/2003

La méthode de recherche par gradient conjugué est une modification de la méthode de recherche de plus forte pente. Nous ne donnerons pas les détails de leur fonctionnement. La méthode de plus forte pente, à l’origine basée sur l’étude du gradient d’une fonction converge lentement. La vitesse de convergence diminue à mesure que l’on s’approche du minimum recherché. Les résultats de cette méthode sont dépendants du point de départ considéré. En d’autres termes, elle est intéressante lorsque l’on a une idée approximative de la position de l’extremum dans l’espace de recherche. Elle est souvent considérée comme un mauvais choix pour les problèmes d’optimisation. C’est pourquoi la méthode de recherche par gradient conjugué a été développée, en modifiant la méthode de plus forte pente notamment en considérant l’historique des solutions explorées. D’une manière générale, ces méthodes définissant des directions de recherche sont très locales, et dans le cas d’un problème à forte dimensionnalité sont coûteuses. De plus, elles fonctionnent d’autant plus que la fonction est convexe. Or dans notre cas, la fonction est totalement inconnue et ne peut être à priori considérée convexe.

3.1.4 Conclusion

Nous venons de voir que les méthodes qui s’adaptent le mieux à notre problème sont des méthodes continues à recherche par motifs (pattern search algorithms). La méthode DIRECT semble particulièrement intéressante car elle présente un excellent compromis entre recherche locale et recherche globale. Cette méthode est détaillée dans le chapitre suivant.

3.2 Présentation d’une méthode continue directe : algorithme DIRECT

3.2.1 Introduction

La méthode DIRECT a déjà été utilisée dans le cadre de la planification de réseaux sans fils. Le problème pour lequel cet algorithme a été utilisé est légèrement différent. Il s’agissait dans [27] du problème de placement des antennes lors de la planification de réseaux sans fils. Cette méthode a été associée à un moteur de prédiction de couverture radio basé sur le système de lancer de rayons en trois dimensions. La similarité de notre problème avec celui-ci est le coût de calcul de la fonction d’évaluation qui est assez élevé. DIRECT est un algorithme développé par Jones et al. [26] pour l’optimisation de fonctions à plusieurs variables sans utiliser d’information sur la dérivée. Le nom DIRECT vient d’une des étapes de l’algorithme : DIviding RECTangles (division de rectangles). Cette méthode de recherche par motif a été classée dans les méthodes de recherche directe par Lewis et al. [28]. D’une manière générale, la recherche par motifs est caractérisée par une recherche du comportement de la fonction en un certain nombre de points constituant un motif. Avec DIRECT, ces points sont considérés comme étant les centres d’hyper-rectangles. D’après He et al. [29], cette manière de tester un hyper-rectangle en sont centre réduit les temps de calcul, en particulier pour les problèmes à dimensions élevées. Or le problème que nous nous posons est un problème à dimensions élevées. De plus, DIRECT permet un compromis entre recherche globale et recherche locale en sélectionnant des rectangles optimaux à explorer (il s’agit du principal avantage de DIRECT d’après [30]). Ceux qui ne sont pas optimaux à un moment donné peuvent le devenir par la suite. Cette stratégie permet, selon He et al. [29], une convergence rapide avec un espace de recherche raisonnablement large. D’après [30], la recherche DIRECT est très utile lorsque l’on cherche à évaluer l’optimum d’une fonction de type « boite noire » ou le résultat d’une simulation. Il s’agit en plus d’un algorithme ne nécessitant que peu de paramétrage pour fonctionner correctement.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 19/42 2002/2003

Ces caractéristiques ont motivé l’utilisation de DIRECT pour la résolution de notre problème d’optimisation.

3.2.2 Origine de l’algorithme : optimisation lipschitzienne

Une fonction f : M→R est dite continue sur M⊆R1 au sens de Lipschitz et de constante de Lipschitz α si | f(x) - f(x’)| ≤ α | x-x’| ∀ x , x’ ∈ M Si par exemple M= [a ,b] ⊂ R1, cela revient à satisfaire f(x) ≥ f(a) - α (x – a) f(x) ≥ f(b) - α (x – b) Ceci correspond à deux lignes placées en V comme sur le schéma ci-dessous :

Si une fonction f est continue au sens de Lipschitz et de constante α, alors on peut utiliser cette information pour construire un algorithme itératif cherchant le minimum de f. L’algorithme de Schubert est l’une des plus importante application de cette idée. Dans le schéma ci-dessus, l’intersection des deux droites donne un premier point qui est l’estimation du minimum de f. L’algorithme de Schubert continue en faisant la même opération sur les domaines [a,x1] et [x1,b] en divisant d’abord le domaine avec la plus petite valeur de la fonction. Il y a deux problèmes avec ce type d’algorithmes. Ils ne se transposent pas de manière intuitive dans les espaces de plus grandes dimensions, et sont donc difficilement généralisables (d’après [30]). Ensuite, la constante de Lipschitz n’est que rarement évaluable. D’ailleurs la plupart des applications industrielles ne donnent pas lieu à des fonctions continues au sens de Lipschitz sur le domaine d’application. Même si la constante de Lipschitz peut être évaluée, son choix est difficile et pourtant primordial. Si l’estimation de la constante est trop faible, le résultat peut ne pas être un minimum de f , et si elle est trop grande, le convergence de l’algorithme de Schubert sera trop lente. L’idée de DIRECT vient de ces deux limitations précédentes. DIRECT évalue la fonction au centre d’hyper-rectangles, réglant le problème pour des dimensions supérieures. En plus, DIRECT n’utilise plus directement la constante de Lipschitz mais teste toutes les solutions pour déterminer si une région ou un domaine de l’espace doit être divisé en sous-régions pour l’itération en cours.

Figure 8 : représentation graphique de la recherche d’une constante de Lipschitz (source [30])

f(x)

x

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 20/42 2002/2003

3.2.3 Principe de l’algorithme DIRECT

3.2.3.1 Initialisation

DIRECT commence l’optimisation en transformant l’espace de recherche en un hypercube unité. Direct travaillera toujours à partir de ce cube normé en ne faisant référence aux valeurs réelles qu’au moment où la fonction est évaluée. Le centre de ce cube est c1 et la valeur de la fonction d’évaluation en son centre est f(c1). L’étape suivante est de diviser cet hypercube. La fonction est alors évaluée aux points c1 ± δ ei , i = 1,…,n où δ vaut un tiers de la longueur du cube et ei est le vecteur unité dans la ième direction. On définit alors : wi = min ( f(c1 + δ ei), f(c1 - δ ei) ) , 1 < i < N puis on divise le cube dans la dimensions avec le plus petit wi en tiers pour qu’ainsi c1 ± δ ei soient les centres des nouveaux hyper-rectangles. Ceci est répété pour toutes les dimensions sur l’hyper-rectangle central, en choisissant la dimensions suivante par ordre croissant de wi. La figure suivante montre cette initialisation sur un espace à 2 dimensions.

L’algorithme entre maintenant dans sa boucle principale pour déterminer les rectangles potentiellement optimaux qui vont être divisés.

3.2.3.2 Détermination des rectangles potentiellement optimaux

Les rectangles potentiellement optimaux sont ceux qui vont être divisés à l’itération suivante. DIRECT est à la fois global et local car il va diviser tous les rectangles répondant au critère suivant. Soit ε > 0 une constante positive et soit fmin le minimum de la fonction trouvé jusqu’à présent. Un hyper-rectangle j est dit potentiellement optimal s’il existe K>0 tel que f(cj) – K.dj ≤ f(ci) – K.di , ∀ i (1) et

f(cj) – K.dj ≤ fmin - ε |fmin| (2) avec cj le centre de l’hyper-rectangle j et dj une mesure de cet hyper-rectangle. Jones et al. dans [27] utilisent la distance du centre au côtés du cube comme mesure du cube. D’autres mesures sont possibles, comme par exemple celle proposée dans [32]. K joue ici le rôle de la fameuse constante de Lipschitz. Le paramètre ε est utilisé pour que f(cj) améliore la meilleure solution courante d’un facteur non nul. Selon [29], l’expérience montre que avec 1×10-2 ≤ ε ≤1×10-7, la valeur de ε n’a que peu d’effet sur les calculs. Une bonne valeur de ε est 1 × 10-4.

200.6 1489.2

1260.2

209.3

1 3 2

4

5

200.6 1489.2

1260.2

209.3

1 3 2

4

5

200.6 1489.2

1260.2

209.3

1 3 2

4

5

Figure 9 : après avoir calculé le point 1, on évalue les points dans toutes les directions situés à un tiers de la longueur du cube (1). Le minimum est trouvé dans la direction portant les points 2 et 3. On divise le cube dans cette direction (2). Puis ensuite, le minimum suivant est dans la direction portée par les points 4 et 5. On divise donc le rectangle central dans cette direction.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 21/42 2002/2003

On peut en tirer plusieurs remarques de cette définition de la potentielle optimalité : - si un hyper-rectangle i est potentiellement optimal, alors f(ci) ≤ f(cj) pour tous les

hyper-rectangles de la même taille que i (c’est-à-dire di=dj). - si di ≥ dk , pour tous les hyper-rectangles k , et f(ci) ≤ f(cj) pour tous les hyper-

rectangles de même taille que i, alors i est potentiellement optimal. - Si di ≥ dk pour tous les hyper-rectangle k , et si i est potentiellement optimal, alors

f(ci) = fmin La définition de l’optimalité potentielle n’est pas facile à implémenter en pratique. C’est pourquoi on utilise le lemme suivant. Soit I l’ensemble de tous les indices des intervalles existants, c’est-à-dire des cubes existants. Soit : I1 = i ∈ I : di < dj c’est-à-dire que I1 représente les cubes plus petits que le cube j

I2 = i ∈ I : di > dj c’est-à-dire que I2 représente les cubes plus grands que le cube j I3= i ∈ I : di =dj c’est-à-dire que I3 représente les cubes de même taille que j

Un cube j ∈ I est potentiellement optimal si f(cj) ≤ f(ci) , ∀ i ∈ I3 et s’il existe K > 0 tel que

ji

ji

Iiij

ij

Ii ddcfcfK

ddcfcf

−−≤≤−

−∈∈

)()(min)()(max21

et

0,)()(min||||

)(min

minmin

min

2

≠−−+−≤

∈f

ddcfcf

fd

fcff

ji

ji

Ii

jjε

ou

0,)()(min)( min2

=−−≤

∈f

ddcfcfdcf

ji

ji

Iijj

La preuve de ce lemme a été apportée par Gablonsky [32]. Il peut y avoir un ou plusieurs rectangles potentiellement optimaux. Ces considérations mathématiques ne sont pas facile à se représenter. Satisfaire les inéquations données ci-dessous revient pour un point à se situer sur l’enveloppe convexe de l’ensemble des points représentés dans la schéma ci-dessous avec en abscisse la mesure (taille) des cubes et en ordonnées la valeur de la fonction d’évaluation.

De manière concrète, le paramètre ε permet de privilégier les recherches globales. En effet, la condition qu’il ajoute élimine dans certains cas les cubes plutôt petits. Lorsqu’il vaut 0, il n’a aucun effet, et plus il s’approche de 1, plus il va favoriser les grands cubes. Les hyper-cubes ou hyper-rectangles sélectionnés comme étant potentiellement optimaux sont ensuite divisés un à un.

fmin

f*

Mesure (taille) des rectangles

Val

eur

de

la f

onct

ion

d

’éva

luat

ion

au

cen

tre

des

rec

tan

gle

s

Rectangles optimaux Figure 10 : représentation graphique de la recherche de l’enveloppe convexe de l’ensemble des points.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 22/42 2002/2003

3.2.3.3 Division des hyper-rectangles potentiellement optimaux

La division des hyper-rectangles ne peut se faire que le long des côtés qui sont les plus longs. Ceci assure que les hyper-rectangles vont rétrécir dans toutes les dimensions. Si l’hyper-rectangle est un hyper-cube, la division est faite le long de toutes les dimensions, comme ça a été le cas dans l’étape d’initialisation. Ici encore, on évalue la fonction aux points ci ± δi ej avec ej le j-ième vecteur unité, δi le tiers de la longueur du plus grand côté de l’hyper-rectangle i. La variable j prend toutes les valeurs des dimensions où la longueur est maximale. Comme dans la phase d’initialisation on définit : wj = min f(ci + δi ej), f(ci - δi ej) , j ∈ I Ici, I est l’ensemble des dimensions où la longueur du rectangle est maximale. La première division est faite dans la direction avec le plus petit wj, disons wk. DIRECT divise ainsi l’hyper-rectangle en trois hyper-rectangles le long de la dimension k de manière à ce que ci , ci + δ ek et ci + δ ek soient les centres des nouveaux hyper-rectangles. Cette opération est répétée pour dans la dimensions avec le deuxième plus petit wj sur l’hyper-rectangle de centre ci et ainsi de suite pour toutes les dimensions de I. Le schéma suivant représente plusieurs itérations de l’algorithme DIRECT. Chaque ligne représente une itération de l’algorithme. Les rectangles grisés représentent les rectangles désignés comme étant potentiellement optimaux.

L’algorithme DIRECT peut être résumé comme suit : Soit une fonction objectif f définie dans un espace D = x ∈ En | l ≤ x ≤ u .

1. Normaliser l’espace D en un hypercube unité. Calculer le centre ci et évaluer f(ci). Initiliser fmin= f(ci) , le conteur d’évaluations m=1 et le compteur d’itérations t=1.

2. Identifier l’ensemble S des hyper-rectangles potentiellement optimaux 3. Sélectionner un hyper-rectangle j∈ S 4. Diviser l’hyper-rectangle j comme suit :

Figure 11 : représentation de plusieurs itérations DIRECT, chaque ligne correspondant à une itération

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 23/42 2002/2003

a. Identifier l’ensemble I des dimensions où les côtés sont de longueur maximale. Soit δ le tiers de cette longueur maximale des côtés

b. Evaluer la fonction objectif f aux points c ± δ ei , pour tout i∈ I, avec c le contre de l’hyper-rectangle et ei le i-ème vecteur unité.

c. Diviser l’hyper-rectangle j contenant c en tiers le long des dimensions dans I en commençant par la dimensions avec la plus petite valeur de wi = min f(c + δ ei), f(c - δ ei) et en continuant par ordre croissant des wi Mettre à jour fmin et m

5. S = S – j. Si S ≠ ∅, reprendre à l’étape 3 6. t = t + 1. Tant que l’on n’a pas atteint la limite du nombre d’itérations ou la limite de

du nombre d’évaluations, reprendre à l’étape 2, sinon fin.

3.2.4 Modification de l’algorithme

L’algorithme a été implanté tel quel. Deux modification proposées par He et al. dans [29] ont cependant été apportées. Il s’agit dans les deux cas de modifications concernant le critère d’arrêt. Nous introduisons deux nouveaux critères d’arrêt car ils semblent plus pragmatiques et mieux exploitables en pratique que simplement un nombre maximum d’itérations ou d’évaluations. Voici ces deux critères :

- le diamètre minimum d’un hypercube - le minimum d’amélioration à chaque itération

L’algorithme va s’arrêter lorsque le diamètre des cubes passera sous une certaine taille. Le diamètre d’un hypercube représente le degré de partitionnement de l’espace. Ceci est un point important des problèmes d’optimisation. Il revient à fixer une résolution maximale de l’espace de recherche. Reste encore à dfinir la notion de diamètre d’un hyper-rectangle à N dimensions. Nous prendrons arbitrairement comme définition du diamètre d’un hypercube la distance euclydienne entre deux sommets opposés, c’est-à-dire :

∑=

=N

j

ji ld1

2

Le minimum d’amélioration à chaque itération évite de faire chercher l’algorithme alors que l’amélioration obtenue est minime. Nous introduisons donc le critère suivant d’après [29] :

min

minmin~

0.1

~

f

fff

+−=τ

τf est une mesure de la convergence de l’algorithme. Les tests effectué ont cependant montré (voir section suivante 3.3) qu’il peut arriver que au cours d’une itération, aucune amélioration n’est trouvée, alors que en redivisant le cube minimum, on peut encore améliorer la valeur du critère d’erreur. Ceci se passe notamment lorsque le minimum vers lequel on cherche à tendre est entouré de maximas locaux. Ce qui expliquerait qu’en cherchant trop loin du minimum précedent, on se trouve sur les maximas locaux, alors qu’en cherchant plus près du minimum précédent (après avoir divisé le cube) on peut encore améliorer la fonction d’évaluation. Ce critère a donc simplement été abandonné. Le critère proposant de s’arrêter lorsque l’on a atteint une certaine taille de cubes a lui été légèrement modifié. En effet, on s’aperçoit (voir section suivante 3.3) que très vite coexistent de cubes assez grands et des cubes petits. S’arrêter dès qu’un cube est trop petit limite la recherche plus exhaustive dans les grands cubes. Nous avons donc décidé de ne plus considérer optimaux les cubes inférieurs à une taille limite. Ainsi on continuera de diviser les grands cubes.

avec N le nombre de dimensions de l’espace et l j la longueur de l’hypercube dans la direction j

avec min~f le minimum trouvé précédemment

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 24/42 2002/2003

Un dernier critère d’arrêt a été ajouté. Il est lié à la nature du critère d’erreur et sera décrit plus tard (section 3.3.2).

3.3 Mise en place de DIRECT

3.3.1 Implantation

L’algorithme a été implanté dans le moteur Java tel qu’il a été décrit ci-dessus et avec les deux nouveaux critères d’arrêt. Les variables à identifier sont les variables décrivant les matériaux. Chaque matériau est défini par son indice n et son coefficient d’absorption α. L’indice de l’air est considéré comme tant l’indice de référence et vaut donc 1. Il ne sera donc pas à optimiser. Les indices à optimiser sont donc :

- le coefficient d’absorption de l’air αair : - l’indice ni de chaque matériau i (sauf l’air) - le coefficient d’absorption αi de chaque matériau i (sauf l’air)

Un coefficient d’absorption de 1 correspond à un milieu où il n’y a pas d’atténuation, tandis qu’un coefficient d’absorption tendant vers 0 correspond à un milieu où l’absorption est totale. En général, αair est très proche de 1 alors que les autres coefficients d’absorption αi sont compris entre 0.7 et 1, 0.7 correspondant déjà à un milieu très absorbant. Les indices des milieux sont tous plus grands que celui de l’air, c'est-à-dire supérieurs à 1. Nous considérons qu’ils sont compris entre 1 et 3. Le nombre de paramètres à identifier est donc de 2N-1 avec N le nombre de matériaux, y compris l’air. Un fichier séparé permet de spécifier les plages de valeurs que peuvent prendre chacun des paramètres des matériaux. L’optimisation se déroule de la manière suivante : à chaque fois qu’un jeu de paramètres est testé, il faut recalculer les matrices de propagation, ce qui assez coûteux en temps. Par contre, la toute première étape de calcul où l’environnement est découpé en blocs n’est pas à refaire car la distribution spatiale des matériaux dans l’environnement reste la même (seuls changent les descriptions des matériaux). Une fois les matrices de propagation calculée, il faut faire remonter la source le long de la pyramide puis redescendre de manière ciblée vers des points précis de l’environnement, en l’occurrence les points de mesure (il est inutile et beaucoup trop coûteux de propager vers l’environnement en entier). Il n’est d’ailleurs même pas nécessaire de redescendre à la précision de 1 pixel. La fréquence de simulation est de 1GHz alors que la fréquence réelle est de 2,4GHz. La raison à ceci est que Choppard a démontré dans [3] que la résolution de l’environnement doit être au moins 6 fois inférieur à la longueur d’onde. Donc si on voulait simuler à 2,4GHz (λ=12,5cm), il faudrait une précision d’environ 2cm, ce qui donnerait des environnement encore plus grands et beaucoup plus longs à simuler. On se limite donc à 1GHz et pour pouvoir se permettre une résolution spatiale de 5cm. Mais on se rend compte sur les cartes de couverture que les interférences nombreuses font apparaître des variations locales , les maxima étant séparés de distances voisines de la longueur d’onde λ. Si ces variations correspondent à une réalité bien physique, elles rendent instables le critère de coût de notre fonction d’évaluation, car la moindre variation d’un paramètre peut entraîner le déplacement des maxima et minima. Il faut donc faire abstraction

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 25/42 2002/2003

de ces ondulations stationnaires de puissance. Le simulateur multi-résolution offre facilement cette possibilité en limitant le calcul à une résolution plus grossière. Pour obtenir un bon effet de moyennage, il faut limiter le calcul de champ moyen à des blocs de taille supérieure à la longueur d’onde.

3.3.2 Fonction d’évaluation : critère d’erreur

La valeur du champ ψmesuré en un point en dBm vaut : ψmesuré = ψsimulé + ∆ψ où ψmesuré et ψsimulé sont des vecteurs contenant respectivement l’ensemble des valeurs relevées aux points de mesure, et l’ensemble des valeurs du champ trouvées par simulation. Chaque valeur de ψmesuré est exprimée en dBm, car c’est une mesure absolue. Les valeurs de ψsimulé sont quand à elles en dB, car le simulateur n’est pas étalonné. Pour rendre ces valeurs comparables, il faut convertir ψsimulé en dBm en appliquant un coefficient d’étalonnage, ce qui équivaut à un décalage des valeurs en dB. En effet, les valeurs obtenues par simulation, puisque ce sont des dB, n’expriment qu’un rapport de proportionnalité entre les valeurs de la puissance reçue en chaque point. Il s’agit donc de les ramener à la valeur de référence, le milliwatt (mW), c’est-à-dire à exprimer ces valeurs en dBm, comme le sont les valeurs indiquées par le logiciel de mesure. C’est là qu’intervient ∆ψ. Il est le même pour l’ensemble des mesures : toutes les valeurs mesurées sont décalées vers le haut ou vers le bas par rapport aux valeurs trouvées par simulation. Ce ∆ψ peut être évalué :

∑=

∆+−=∆N

n simulémesurénnf

1

2

])([)()( ψψψψ

Recherche de l’expression de ∆ψ . Etude de la dérivée dans la direction ∆ψ (on remarquera au passage que f est quadratique pour ∆ψ):

∑=

∆−−−=∆∂∂ N

n simulémesurénnf

1

)()(2)( ψψψψψ

f(∆ψ) est minimum lorsque sa dérivée s’annule

0)()(0)(1

=∆−−⇔=∆∂∂ ∑

=

N

n simulémesurénnf ψψψψψ

∑=

=−+∆−⇔N

n simulémesurénnN

1

0)()(. ψψψ

N

nnN

n simulémesuré∑

=−

=∆⇔ 1

)()( ψψψ

On connaît maintenant l’expression de ∆ψ. Remarquons ici que ∆ψ n’est rien d’autre que la moyenne des écarts entre les valeurs mesurées et les valeurs simulées. Il suffit maintenant de remplacer ∆ψ dans l’expression du critère d’erreur f à minimiser :

∑∑

=

=−

−−=N

i

N

j simulémesuré

simulémesurésimulé

N

jjiif

1

2

1

)()()()()(

ψψψψψ

Le critère d’évaluation n’est donc rien d’autre que la somme des erreurs entre les valeurs mesurées et les valeurs simulées normées par ∆ψ . Or en effectuant les mesures, nous nous sommes rendus comptes que la mesure d’un signal varie avec le temps. En effet le canal radio à chemins multiples est un canal relativement instable. C’est pourquoi il n’est pas nécessaire

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 26/42 2002/2003

de descendre au-delà d’une certaine précision de prédiction. Comme nous savons le nombre de points de mesure et la somme des erreurs, nous pouvons en déduire la moyenne des erreurs de simulation. Posons par exemple que nous n’avons besoin que d’une précision de x dB. Donc si nous avons N points, nous pouvons arrêter l’optimisation lorsque le critère aura atteint la valeur N.x. La valeur de Nx peut être prise en pratique autour de 2 à 3 dB.

3.3.3 Choix du nombre de points de mesure

Un environnement contenant N matériaux nécessite l’optimisation de 2N-1 paramètres. Donc si l’on fait moins de 2N-1mesures, le problème sera sous-déterminé et plusieurs solutions peuvent être trouvées. Evidemment, ces solutions seront satisfaisante au voisinage des points de mesure mais la simulation risque d’être très éloignée de la réalité dans des zones de l’environnement éloignées des points de mesure. A l’inverse, en prenant plus de 2N-1 points de mesure, le problème sera sur déterminé. Ceci se traduit en une convergence qui sera plus lente car plus on a de points, plus on sera sensible aux moindres variations de paramètres. Un autre choix est important, il s’agit du placement des points de mesure. Ceci sera très visible dans l’exemple de validation. Dans cette exemple fictif, un espace est divisé en 9 pièces, l’une d’elle contenant la source. Les mesures (fictives) sont entrées dans le moteur d’optimisation en disant que les points de mesure situés dans la pièce contenant la source reçoivent un signal important, alors que ceux situés dans d’autres pièces reçoivent un signal extrêmement faible. Si la plupart des points de mesure se trouvent à l’extérieur de la pièce, vu le critère employé, une forte importance sera donnée au fait que l’air doit atténuer fortement car le signal reçu par ces points traverse 90% d’air (le reste pouvant être des murs, des vitres, des portes, etc.). C'est-à-dire qu’après le premier essai où des valeurs moyennes des paramètres vont être prises, l’algorithme va commencer par baisser αair. Si au contraire beaucoup de points sont dans la pièce, l’importance va être donnée au fait que le signal leur arrivant n’a subi presque aucune atténuation. Donc αair va commencer par être augmenté. Le résultat recherché dans ce test était en fait un αair fort (peu d’atténuation) et un αmur faible (forte atténuation).

3.4 Validation de l’algorithme

L’algorithme a été validé sur un environnement fictif de 64x64 pixels divisé en 9 pièces, ce qui est en réalité très petit pour un environnement réel. Ceci correspondrait à un environnement de 3,20m×3,20m. La source a été placée arbitrairement. 9 points de mesure ont été définis. Cet environnement ne comporte que 2 matériaux : de l’air et des murs. Ceci signifie qu’il y a 3 critères à optimiser : l’atténuation de l’air αair, l’indice des murs nmur et leur coefficient d’absorption αmur.

Les essais ont été faits sur l’environnement pièce64. Nous avons lancé une propagation sur tout l’environnement avec des paramètres de propagation réglés manuellement. Ces paramètres étant connus, nous avons regardé si l’algorithme d’optimisation retrouve bien des paramètres proches de ce qui a été entré manuellement. Les paramètres choisi sont αmur=0.78, nmur=1.8 et αair=0.999. La figure ci-contre représente la carte de couverture avec les coefficients ci-dessus et les 9 points de mesure. Figure 12 : environnement

pièce64 avec la carte de couverture obtenue avec les paramètres indiqués et les 9 points de mesure

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 27/42 2002/2003

Figure 14 : évolution des valeurs des paramètres à optimiser

3.4.1 Suivi du critère d’évaluation

Voici le suivi de l’évolution du critère d’évaluation en fonction du temps :

L’algorithme semble fonctionner correctement car le critère d’erreur décroît jusqu’à atteindre une valeur très faible. La décroissance est logarithmique, ce qui signifie que le gain absolu est de plus en plus faible lorsque le nombre d’itérations augmente. On remarque cependant qu’il n’y a pas d’amélioration du critère dans certains cas. Ceci arrive lorsque peu d’hyper-rectangles ont été détectés comme étant optimaux et qu’ils ne sont divisés que dans certaines directions. Ceci laisse en tout cas supposer que le critère d’arrêt imposant à l’amélioration d’être au-delà d’un certain seuil relatif n’est pas bien adapté. Ce critère d’arrêt a été abandonné.

3.4.2 Evolution des paramètres

Vérifions à présent l’évolution des paramètres à optimiser. A l’itération 0, les paramètres αair, αmur, et nmur sont initialisés, le critère d’erreur (la somme des erreurs quadratiques) vaut 708. Jusqu’à l’itération 3, c’est αair qui est modifié. Ceci était prévisible car l’environnement contient beaucoup d’air, c’est donc le paramètre qui a le plus d’influence sur la propagation du signal. C’est

ensuite αmur puis nmur qui sont ajustés pour faire baisser le critère d’erreur. A la huitième itération, on est déjà très proche des valeurs recherchées des paramètres. A la douzième itérations, le critère d’évaluation ne veut plus que 0,02, ce qui correspond à une erreur minime par point de mesure.

Figure 13 : Evolution du critère d’erreur en fonction du temps sur pièce64 avec 9 points de mesure (échelle logarithmique)

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 28/42 2002/2003

3.4.3 Suivi de l’erreur en chaque point

Nous avons tracé pour chaque point de mesure, l’évolution de l’erreur entre la valeur simulée avec les meilleurs paramètres trouvés à l’itération donnée et les valeurs cibles que nous recherchons.

L’échelle en ordonnées est logarithmique, ce qui permet de constater qu’au-delà de la quatrième itération, l’erreur sur chaque point de mesure devient inférieure à 1 et continue encore de baisser. Comme nous l’avons vu précédemment, une erreur de 1dBm est très faible relativement aux minima et maxima résultant des interférences.

3.4.4 Etude des cubes

Le temps pris par le calcul d’une itération est le temps mis pour diviser tous les cubes potentiellement optimaux. La figure 12 a déjà permis de se rendre compte que la durée d’une itération augmente peu au fil des itérations. La cause en est que le nombre de cubes potentiellement optimaux augmente très lentement par rapport au nombre total de cubes qui ont déjà été évalués. Le nombre total de cubes évalués augmente d’autant plus que la dimensionnalité du problème est grande. En effet, en dimension 3 comme ici, diviser un cube donne naissance à 8

Figure 16 : Evolution du nombre de cubes évalués et du nombre de cubes potentiellement optimaux à chaque itération

Figure 15 : Erreur sur chacun des 9 points de mesure en fonction de l’itération en cours

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 29/42 2002/2003

cubes, un dimension 2 on aurait eu 5 cubes, et en généralisant à la dimension N, 2×N + 1 cubes. Ce qui veut dire que la durée des itérations augmente plus vite au fil des itérations avec des problèmes à forte dimensionnalité. Voici également la représentation des cubes pour les itérations 1 à 4. Ils sont placés en fonction de leur taille et de la valeur de leur critère d’évaluation. C’est sur une graphe de ce type qu’est effectuée la sélection des cubes potentiellement optimaux situés sur l’enveloppe convexe de l’ensemble des cubes. Au fil des itérations, les cubes potentiellement optimaux sont divisés : eux disparaissent donc en donnant naissance à 2×N + 1 cubes plus petits. Au fil des itérations les cubes deviennent de plus en plus petits et les grands cubes tendent à disparaître. Cette disparition des grands cubes illustre bien le fait que l’algorithme DIRECT est aussi un algorithme global.

Figure 17 : représentation des cubes en mémoire aux itérations 1 à 4, illustrant la manière dont sont sélectionnés les cubes optimaux situés sur l’enveloppe convexe de l’ensemble des cubes

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 30/42 2002/2003

Figure 18 : comparaison de l’évolution du critère selon le nombre de points de mesure (échelle logarithmique en ordonnées). Le critère d’erreur a été ramené au nombre de points : il s’agit donc de l’erreur quadratique moyenne par point

3.4.5 Nombre de points de mesure

Jusqu’à présent, les effets ont été faits en considérant 9 points de mesure. Les mêmes tests ont été faits avec 4 points de mesure. Le critère, qui est la somme des erreurs quadratiques des points de mesure, a été ramené à l’erreur quadratique par point (on l’a simplement divisé par le nombre de points). On remarque qu’avec 4 points de mesure, le critère est beaucoup plus élevé au départ mais baisse plus vite qu’avec 9 points (attention, graphe logarithmique en ordonnées), pour se rapprocher de plus en plus de la valeur obtenue avec 9 points. Il vaut donc mieux prendre un maximum de points de mesure (en prendre plus n’a que très peu d’effet sur le temps d’évaluation de la valeur du critère d’un cube), le résultat sera toujours meilleur qu’avec moins de points. En plus, prendre beaucoup de points garantit une meilleure prédiction dans tout l’environnement, surtout si les points sont répartis judicieusement dans l’espace.

3.4.6 Conclusion et perspectives

Nous pouvons en conclure que l’algorithme fonctionne correctement et est assez efficace pour cet environnement. Le nombre d’évaluations nécessaire à chaque itérations augmente de plus en plus, et d’autant plus quand la dimensionnalité est grande (puisque la division d’un hyper-cube de dimension N nécessite 2N+1 évaluations). Ceci laisse présager quelques soucis Figure 19 : évolution du nombre d’évaluations nécessaire pour atteindre

une itération. Pour information, l’évolution du critère d’évaluation est indiquée (échelle non respectée)

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 31/42 2002/2003

de temps de calcul pour des problèmes à forte dimensionnalité. Dans le cas de pièce64, le temps nécessaire à une évaluation de critère d’erreur est d’environ 1,5s. Donc arriver à une critère raisonnable (disons après 5 itérations) nécessite une cinquantaine d’évaluations, soit environ 75s. Dans un environnement où l’on aurait N=17 dimensions, on peut estimer le nombre d’évaluations nécessaires pour arriver à l’itération 5 de 12×(2N+1)=420 (on considère sur le modèle de pièce64 que 12 cubes ont été divisés pour arriver à l’itération 5).

3.5 Test en environnement réel

3.5.1 Protocole de mesure

Les mesures ont été effectuées dans les locaux du CITI, au deuxième étage du bâtiment Léonard de Vinci, à l’aide d’ordinateurs portables équipés de cartes Wifi (réseau sans fil) communiquant directement l’une avec l’autre (mode de communication dit « Ad-Hoc »). Cet environnent a été numérisé en un espace de 200x730 pixels alors qu’il mesure en réalité 20m x 73m. Il a été réparti en 8 matériaux.

Le source a été placée en un point de l’espace, il s’agissait concrètement d’un ordinateur portable équipé d’une carte Wifi envoyant des requêtes ping vers l’ordinateur qui mesure la valeur de la puissance reçue. Les mesures ont été faites en une dizaine de points comme représenté ci-dessus.

3.5.2 Résultats

Nous n’avons pu obtenir de résultats probants avec un environnement de cette taille. En effet, l’algorithme a fonctionné pendant environ 48 heures, et le critère d’erreur n’est descendu qu’à 11515 pour 10 points de mesure, ce qui correspond à une erreur moyenne d’environ 40dBm par point de mesure, ce qui est énorme et non exploitable. Il s’agit donc pour l’instant d’un simple problème de temps. En effet, alors que

Figure 20 : mesures effectuées sur le 2ème étage du bâtiment Léonard de Vinci à L’INSA. Les 10 points de mesure sont représentés par des points rouges, la source est marqué d’un S et représentée par une croix rouge.

Figure 21 : évolution du critère d’erreur sur l’optimisation de l’environnement réel du CITI

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 32/42 2002/2003

précédemment une évaluation du critère d’erreur prenait 1,5s, il faut maintenant environ 4mn. Or nous avons déjà pu accélérer ce temps en évitant de descendre à la résolution maximale (cf. 3.3.1) et en optimisant le code (cf. partie 4). Non seulement le temps de calcul d’une évaluation est 160 fois plus élevé, mais en plus le problème est maintenant un problème à 17 dimensions, ce qui signifie par exemple que la division d’un cube ne nécessite plus 5 évaluations comme pour pièce64 mais 35 évaluations. Au bout de 48h nous en sommes donc arrivé à la 7ème itération, et ceci après 536 évaluations.

Comme le problème est à plus forte dimensionnalité, le nombre total de cubes augmente plus vite au fil des itérations et on a donc un peu plus de cubes potentiellement optimaux à tr Cette partie illustre bien la nécessité de continuer à optimiser le code de calcul pour que l’on puisse atteindre des temps de calcul raisonnables. Les optimisations du code JAVA présentées dans le chapitre suivant (partie 4) ont déjà été intégrées dans le code du programme lors de l’essai de DIRECT sur l’environnement réel.

3.6 Proposition d’évolution de DIRECT

L’avantage de DIRECT est de bien fonctionner pour des fonctions dont on n’a aucune idée ni de la dérivée ni de l’allure. C’est une assez bonne recherche aveugle. Mais nous nous sommes rendu compte en suivant l’évolution des essais faits par l’algorithme qu’il serait peut-être possible d’amener une certaine aide à l’algorithme, une idée à priori des paramètres qu’il faut modifier en premier. Bien sûr, DIRECT modifie les paramètres qui ont le plus d’effet sur le critère d’évaluation en premier, mais il ne connaît que leur effet après avoir calculé une solution en modifiant ce paramètre. Je pense qu’il pourrait y avoir une méthode intuitive pour trouver l’effet d’un paramètre sur la valeur de la puissance prédite en un point de l’espace. Je pense en particulier à une sorte de prétraitement au début qui calcule grossièrement l’effet des paramètres sur les différents points. Pour chaque cube optimal on peut par exemple voir quels sont les points dont les valeurs correspondent le moins avec les mesures (repérer quelques points où la prédiction est très éloignée de la mesure). On commencerait alors à modifier en premier les paramètres ayant beaucoup plus d’effet sur ces points que sur les autres. Une méthode pour évaluer l’effet d’un paramètre sur un point serait par exemple de voir quels sont les milieux traversés par les ondes suivant un chemin direct de la source au point de mesure. Cela peut paraître audacieux de trouver quels sont les paramètres ayant un effet important sur la prédiction en un point. Mais on peut retourner le problème et essayer de trouver les matériaux qui n’auront à priori que peu d’effet sur la valeur en un point. Si par exemple un matériau relativement peu présent dans l’environnement n’est présent que dans un secteur de l’environnement, il sera inutile d’essayer de le modifier si les principales erreurs de simulation sont pour des points situés à l’autre extrémité de l’environnement.

Figure 22 : évolution du nombre de cubes potentiellement optimaux et totaux (échelle semi-logarithmique)

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 33/42 2002/2003

La plus grande difficulté de ce principe est d’évaluer de manière réaliste l’effet (ou le non-effet) d’un paramètre sur la prédiction en un point. Mais cela mériterait des recherches plus amples. Dans l’immédiat, on peut songer à réduire le nombre de matériaux utilisés, ce qui revient à simplifier le problème en diminuant sa dimensionnalité. On peut également faire tourner ces calculs sur des machines parallèles afin d’avoir une idée précise de l’intervalle typique de valeurs de chaque paramètre (arriver à dire par exemple que pour les vitres en verre ordinaire, le coefficient d’atténuation varie généralement enter 0.87 et 0.93 et l’indice compris entre 1.42 et 1.56). De toute manière l’identification des paramètres n’a pas à être faite avant chaque simulation et les bornes que l’on trouverait « en laboratoire » pourraient suffire.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 34/42 2002/2003

4 Optimisation du code

4.1 Fonctionnement du programme

L’algorithme mis en œuvre peut être décomposé en 4 parties indépendantes : Prétraitement Cette phase est exécutée pour un environnement, dès qu’il est spécifié, et indépendamment des sources que l’on voudra y positionner. Cette étape, qui est relativement longue n’est faite qu’une seule fois.

1. Lecture dans un fichier de l’environnement pixelisé, découpage multi-résolution de l’environnement de manière irrégulière selon la constitution (matériau) de chaque pixel. Cette étape fournie la structure pyramidale.

2. Calcul des matrices de passage pour passer d’un niveau de la pyramide au niveau directement supérieur ou directement inférieur. La pyramide est un ensemble de blocs (ou morceaux d’image), chaque bloc étant défini par les 2 blocs fils qui le constituent. Les matrices de passage permettent d’exprimer les flux de bords des blocs fils, connaissant ceux du père, et vice-versa.

Traitement d’une source

3. Lecture de la position de la source et remontée de la source jusqu’en haut de la pyramide (calcul de la source équivalente au sommet). Il s’agit de sélectionner un bloc de base (taille 1x1), et de calculer les flux de la source équivalente que constitue le bloc père. On procède de la sorte jusqu’à atteindre le sommet de la pyramide.

4. Redescente le long de la pyramide vers des pixels (points de l’environnement) donnés ou vers l’ensemble de l’environnement, et ce jusqu’à une résolution donnée (résolution fixe ou blocs homogènes). On redescend la pyramide de la façon suivante : connaissant les flux entrant dans un bloc père, les matrices de passage permettent de calculer les flux entrants dans les blocs fils. On effectue cette descente, soit vers l’ensemble des pixels, soit vers un nombre de points pré-determinés (dans le cas d’une simulation de liaison radio entre plusieurs mobiles). Dans le cas où on étudie la couverture radio, il n’est pas forcément nécessaire de descendre la pyramide jusqu’au pixel, il est même préférable de s’arrêter à une résolution moins fine, (par exemple aux blocs de taille 10x10), ce qui permet de gagner du temps et de fournir des résultats moins sensibles aux interférences.

4.2 Matrices montantes et matrices descendantes

La phase de calibrage que nous avons mise en place lors de ce DEA et décrite aux chapitres précédents , implique le calcul successif de plusieurs couvertures. C’est pourquoi nous nous sommes particulièrement intéressés à la réduction des temps de calcul de la version initiale. Une simplification assez évidente a pu être faite dans le moteur, réduisant en théorie la place mémoire occupée par les données du programme par un facteur 2.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 35/42 2002/2003

4.2.1 Rôle de matrices montantes et descendantes

Ces matrices sont celles utilisées lors de la propagation vers le haut de pyramide de la source puis lors de la propagation vers le bas des flux ainsi calculés. La méthode pyramidale nécessite des matrices de passages entre blocs père et fils qui doivent être calculées lors de la phase de pré-traitement. Pour chaque bloc, il faut effectuer :

- le calcul d’une matrice de propagation W qui permet de calculer les flux sortants d’un bloc en fonction des flux entrants, sur les 4 faces. Cette matrice se calcule à partir des matrices W des blocs fils [33]

- le calcul d’une matrice dite « montante » qui permet de calculer les flux de source

d’un bloc père à partir des flux de source d’un des fils : comme le montre la figure ci-dessous, il s’agit de propager le flux entre les 2 blocs fils vers les flux sortants du père.

- le calcul d’une matrice dite « descendante » qui permet de calculer les flux entrants

dans les blocs fils, en fonction des flux entrants dans le bloc père. Comme le montre la figure ci-dessous, il s’agit de calculer les flux situés à l’interface entre les 2 blocs fils. Les autres sont connus, car ils sont identiques à ceux du père.

4.2.2 Objet de l’optimisation

La version initiale du moteur de calcul nécessite donc le stockage, pour chaque bloc-type, des matrices montantes et des matrices descendantes. Or, de part la nature des ondes électromagnétiques, la propagation est un phénomène réversible (le canal radio de A vers B est le même que celui de B vers A).. Les matrices de

Figure 23 : illustration de la matrice W qui permet de calculer tous les flux sortants sur chaque face à partir d’un flux entrant par l’une des quatre faces

Figure 24 : illustration de la matrice montante qui permet de calculer tous les flux sortants d’un bloc de niveau N à partir des flux sortants d’un bloc fils de niveau N-1.

Figure 25 : illustration de la matrice descendante qui permet de calculer les flux entrants sur chacun des blocs fils à partir d’un flux entrant dans le bloc père

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 36/42 2002/2003

propagation W permettent de le vérifier facilement car ce sont des matrices symétriques (le coefficient qui exprime la propagation d’un flux i vers un flux j est le même que celui qui exprime la propagation d’un flux j vers le flux i). La conséquence remarquable de ce principe est que les matrices montantes sont les transposées des matrices descendantes. Cela a pu être implémenté simplement dans le moteur en faisant pointer les objets matrices montantes vers la transposée des matrices descendantes, grâce à la puissance des objets matriciels fournis par la bibliothèque mathématique JAVA du CERN. En fait, une matrice n’est pas directement un tableau de nombres. On a en fait accès à une interface, qui détermine entre autre la manière de laquelle sont lues les valeurs de la matrices (directement ou de manière transposée). Pour pointer vers la transposée d’une matrice, il suffit donc simplement de dupliquer son interface (et non les données) et de modifier le champ indiquant la manière de lire la matrice.

4.2.3 Résultats

Le gain ainsi obtenu devrait être double : d’une part en temps de calcul et d’autre part en place mémoire. En effet, ces matrices, qu’elles soient montantes ou descendantes sont obtenues par des opérations matricielles qu’il serait fastidieux de détailler ici. Mais le fait de ne plus avoir à calculer les matrices montantes (puisqu’on les déduit des matrices descendantes) revient à éviter un certain nombre d’opérations matricielles ; dans la phase de pré-traitement, En terme de place mémoire, on n’a plus besoin de stocker à la fois les matrices montantes et les matrices descendantes puisqu’il suffit de prendre la transposée des matrices descendantes lorsque l’on a besoin des matrices montantes. Mais il faut toujours stocker les matrices de propagation propres à chaque bloc : ce sont celles qui indiquent comment est propagé un flux entrant par une face sur l’ensemble des 4 faces du bloc (matrices appelées matrices W). Comme ce sont ces matrices qui occupent la quasi-totalité de l’espace mémoire, on peut s’attendre à ce que le gain en place mémoire soit de l’ordre d’un tiers. Les calculs ont été faits sur le même ordinateur équipé d’un processeur Pentium IV à 2,4GHz et 256Mo de mémoire vive. Les essais ont été faits sur deux environnements de référence. L’un intitulé piece64 de taille relativement petite de 64x64 pixels et l’autre intitulé env_test de taille plus réaliste de 256x128 pixels (ce qui pourrait correspondre à la modélisation d’un environnement réel de 12,80m × 6,40m, sachant que souvent la résolution est de 5cm). Nous avons considéré le déroulement du calcul de propagation en 4 étapes :

1. Preprocess : construction de la pyramide, c’est-à-dire découpage de l’environnement en blocs

2. BlocMatrix : calcul des matrices de propagation 3. PropagUp : propagation de la source vers le haut 4. PropagDown : propagation de la source vers le bas vers tout l’environnement

Les tests confirment qu’il n’y a pas de gain sur l’étape Preprocess. En effet, ici seul le découpage de l’environnement est fait. Les différences de temps observées dans cette étape devraient être dues aux seuls aléas de fonctionnement de l’ordinateur.

interface données

23 34 11 354 32 4 78 45 33 2 1 0 0 5

Figure 26 : structure de l’objet Java Matrix

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 37/42 2002/2003

Dans l’étape BlocMatrix, les gains sont d’autant plus grands que l’environnement est grand : plus l’environnement est grand, plus les matrices à inverser sont grandes. Le gain pour le petit environnement de 64×64 pixels est de 6,5%, et pour l’environnement plus grand de 256×128 pixels il est de 17,6% en moyenne. Le temps nécessaire à l’étape PropagUp est sensiblement le même, aux aléas de fonctionnement près. Un gain notable est obtenu pour la phase PropagDown. En effet, comme maintenant les matrices montantes et descendantes sont les mêmes, et qu’elles ont déjà été chargées en mémoire dans la phase précédente, il n’est plus nécessaire de les lire sur le disque, elles sont déjà en mémoire vive, mémoire beaucoup plus rapide. Pour piece64 on obtient un gain de 6,8% tandis que pour env_test il atteint même les 50%. Le gain en place mémoire est le même quelle que soit la taille de l’environnement. En effet, on supprime de la mémoire un type (parmi les 3 types – montantes, descendantes et W), ce qui représente la même proportion quel que soit l’environnement. Le gain est de 20%.

4.3 Cœur du calcul

4.3.1 Théorie et implémentation

Considérons la propagation entre deux niveaux : le bloc niveau supérieur est de taille 2N×N et il se divise au niveau inférieur en deux blocs de N×N. Dans le fonctionnement initial du moteur, c’étaient les matrices descendantes ou montantes qui étaient utilisées. Prenons l’exemple (plus intuitif) où l’on propage une source vers le haut.. Dans ce cas, les matrices montantes permettaient de calculer les effets de E1 (premier flux interne) sur les flux sortant du bloc au niveau supérieur, et les effets de W2 (deuxième flux interne) sur la source de niveau supérieur. On a donc les complexités suivantes :

- E1 vers N : matrice N×2N - E1 vers S : matrice N×2N - E1 vers W : matrice N×N - E1 vers E : matrice N×N

Soit une complexité totale de 6N2 pour la propagation du flux interne E1 vers le bloc de niveau supérieur. De même pour W2, ce qui donne une complexité totale de 12N2. En supprimant les matrices montantes et descendantes, nous avons maintenant le fonctionnement suivant. Prenons l’exemple (plus intuitif) de la propagation d’un flux vers les niveaux inférieurs. Les vecteurs de flux S et N sont directement divisés chacun en deux vecteurs respectivement S1 et S2, N1 et N2. Les flux E et W donnent, eux, directement E1 et W2. Ensuite, grâce aux matrices W de chaque bloc fils, les flux entrants S1, E1 et N1 sont propagés à travers le bloc vers un flux W1* pour le fils de gauche et les flux S2, W2 et N2 vers le flux E2* pour le fils de droite. Pour chaque flux latéral de taille N on a donc utilisé une matrices N×N pour le propager vers un flux interne W1* de taille N aussi. On a donc utilisé 6

N

E W

S

S1

N1

E1 W1

S2

N2

E2 W2

Figure 27 : Propagation des sources vers le haut

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 38/42 2002/2003

matrices de taille N×N. Ensuite, chaque flux interne W1* et E2* sont propagés en régime permanent grâce aux matrices internes de taille N. Ce qui fait encore 2 matrices N×N. Soit au total une complexité de 6N2+2N2=8N2

Nous sommes passés d’une complexité de 12N2 à 8N2, soit un gain de 33%. Dans le moteur, à chaque fois que l’on avait besoin d’une matrice montante ou d’une matrice descendante dans les phases de calcul, on charge en fait les matrices W des 2 blocs fils et la matrice de propagation interne en régime permanent. Mais en réalité nous avons laissé les objets représentants les matrices montantes et descendantes mais ces objets pointent maintenant vers les matrices W des deux fils.

4.3.2 Résultats

Les tests ont été effectués dans les mêmes conditions que pour les tests de l’optimisation précédente (partie 4.2). Les gains sont ici encore plus importants car c’est tout le cœur du calcul qui a été modifié. On n’a plus ni matrices montantes ni matrices descendantes, ne restent que les matrices W. On peut s’attendre à un gain important en place mémoire. Pour les mêmes raisons que précédemment, ce gain est proportionnel à la taille de l’environnement. Il est de plus de 60% dans les deux cas (environnement de 64×64 pixels et 256×128 pixels). A nouveau, pas de gains visibles sur la phase de Preprocess , celle-ci étant complètement inchangée. En revanche les gains sont notables pour la phase BlocMatrix. En effet, par rapport à la version initiale du moteur de propagation, on n’a à calculer ni les matrices montantes, ni les matrices descendantes ; ne restent que les matrices W. C’est pourquoi on observe des gains de respectivement 25% et 39% sur le petit et le grand environnement. On s’aperçoit ici encore que le gain augmente avec la taille de l’environnement, et ce encore pour les mêmes raisons. Il n’y a toujours pas de changements visibles pour la phase PropagUp, bien que celle-ci ait maintenant changé dans son fonctionnement : au lieu de charger directement les matrices de propagation vers le haut, on charge les matrices W du niveau directement inférieur. Un excellent gain peut être observé pour la phase de propagation descendante (PropagDown). Il est de 33% pour piece64 et de 73% pour env_test. De nombreux accès disques (pour de petites quantités de données) sont évités, accès qui sont très consommateurs en temps. Mais la principale raison reste le changement du mode de calcul et la place en mémoire vive des matrices utilisées : le gain en complexité est d’un tiers (33%), comme nous l’avons vu précedemment. Mais on obtient beaucoup plus en pratique.

N2

S2

W2 E2

S

W E

N

N1

S1

W1 E1

Figure 28 : propagation des flux vers le bas

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 39/42 2002/2003

5 Conclusion

Ce DEA est basé sur un moteur de propagation en milieu intérieur basé sur une méthode de propagation de flux. Cette méthode originale a été développée par J.M. Gorce [1]. Elle part des équations de Maxwell discrétisées et travaille directement dans le domaine de Fourier. d’autres méthodes partent aussi des équations de Maxwell discrétisées (Chopart [3] par exemple) mais toutes souffrent d’une lourdeur ne leur permettant presque pas de concurrencer les méthodes de lancer de rayons. La méthode employée dans notre cas est une méthode discrète simplifiée qui bénéficie de la qualité de prédiction des méthodes discrètes, à l’opposé des méthodes de lancer de rayon dont la qualité de prédiction reste à améliorer. L’un des points clé de ce moteur de propagation est le découpage de l’environnement en matériaux dont il faut connaître les paramètres physiques que sont l’indice et le coefficient d’absorption. C’est pourquoi nous avons décidé d’implanter un algorithme d’optimisation afin d’identifier ces paramètres à partir de mesure. L’algorithme qui semblait s’y prêter le mieux était l’algorithme DIRECT. Il s’agit d’une méthode directe dont le principal avantage est le compromis trouvé entre recherche globale et recherche locale. Cet algorithme a fait ses preuves sur un petit environnement où le coût d’une évaluation n’est pas trop élevé (1,5s). Mais nous ne sommes pas arrivés à des résultats probants sur un environnement réel à cause de la lenteur des calculs. En effet sur cet environnement (beaucoup plus grand que le précédent), une évaluation requière entre 4 et 6 minutes. Le temps de calcul d’une évaluation est le seul obstacle au bon fonctionnement de l’algorithme. C’est pourquoi il est important de continuer à travailler sur ce moteur de propagation afin de réduire les temps de calcul. D’ailleurs une optimisation de code portant sur deux points précis du fonctionnement du moteur de prédiction avait été faite en début de stage, l’autre but étant la prise en main du moteur. D’autres améliorations peuvent encore être amenées, notamment au niveau du format de stockage des données, ce qui permettrait de réduire l’espace mémoire requis. Lorsque des gains notables de temps de calcul auront été faits, DIRECT sera très efficace. On pourrait également envisager que l’algorithme soit lancé sur des machines parallèles et que l’on puisse éditer une liste type des matériaux courants dans les bâtiments (murs en béton, séparations en plâtre, béton armé, vitres, double-vitrage,…). Peut être que DIRECT lui-même pourrait être améliorer en essayant de savoir à priori dans quelle dimension il sera plus efficace de diriger la recherche en premier (partie 3.6) Il serait également intéressant de comparer de manière précise les performances de ce moteur (en terme de rapport temps de calcul/qualité de la prédiction) avec celles des moteurs par lancer de rayons.

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 40/42 2002/2003

6 Bibliographie

[1] J.-M. Gorce, S. Frénot, V. Crespo, S. Ubéda, “Modélisation de la propagation en environnement indoor dans la bande de fréquences UHF”, in Internal Conference on Image and Signal Processing (ICISP), Agadir, 2001 [2] J.-M. Gorce and S. Ubéda, “Propagation simulation with the ParFlow method : fast computation using a multi-resolution scheme”, in IEEE 54th Vehicular Technology Conference Fall 2001, Atlantic City, USA, October 2001 [3] B. Chopard, P.O. Luthi, J.F. Wagen, “a lattice boltzmann method for wave propagation in urban microcells”, IEEE Proceedings – Microwave, antennas ans propagation, vol. 144, 1997, pp.251-255 [4] J.W. McKnown, R.L. Hamilton Jr., “Ray tracing as Design Tool for Radio Networks”, IEEE Network Magazine, Vol. 5, Nov. 1991, pp.27-30 [5] K.R. Schaubach, N.J. Davis IV and T.S. Rappaport “A ray tracing method for predicting path loss and delay spread in microcellular environments”, 42nd IEEE Vehicular Technology Conference, Denver, May 1992, pp.923-935 [6] R.A. Valenzua, “Ray tracing approach to predict indoor wireless transmission”, 43rd IEEE Vehicular Technology Conference, May 1993, pp.214-218 [7] S.Y. Seidel, K.R. Schaubach, T.T. Tran, T.S. Rappaport, “Research in site-specific propagation modelling for PCS system design”, 43rd IEEE Vehicular Technology Conference, May 1993, pp.261-264 [8] H. Hussman, “Performance analysis of handover and channel management schemes for indoor scenarios based on ray tracong techniques”, 44th IEEE Vehicular Technology Conference, June 1994, pp.843-847 [9] J.F. Wagen, K. Rizk, “Ray tracing based prediction of impulse responses in urban microcells”, 44th IEEE Vehicular Technology Conference, June 1994, pp.210-214 [10] S.J. Flores, L.F. Mayorgas, F.A. Jimenez, N. Cardona, “Comparison between two geometric indooe propagation models : tube-launching and ray-launching, PIMRC’98, Feb. 1997 [11] J. Maurer, O. Drumm, D. Didascalou and W. Wiesbeck, “A new approach in the determination of visible surfaces in 3D vector geometries for ray-optical wave propagation modelling”, IEEE Vehicular Technology Conference, May 2000, pp. 1651-1655 [12] A. Rajkumar, B.F. Naylor, F. Feisullin, L. Rogers, “Predicting RF coverage in large environments using ray-beam tracing and partitionning tree represented geometry”, ACM Journal of Wireless Networks, vol. 2, June 1996

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 41/42 2002/2003

[13] K. Pahlavan, A.H. Lavesque, “Wireless information networks“, Wiley Series in telecommunication and signal processing, 1995, pp. 195-196 [14] J.W.H. Lee and A.K.Y. Lai, “FDTD analysis of indoor radio propagation”, IEEE Antennas Propagation Soc. Int. Symp., vol. 3, Atlanta, June 1998, pp. 1664-1667 [15] Y. Wang, S. Safati-Naeni and S.K. Chaudhuri, “A hybrid technique based on combining ray tracing and FDTD methods for site-specific modelling of indoor radio wave propagation”, IEEE Transactions on Antennas and Propagation, vol. 48 no. 5, May 2000, pp. 743-754 [16] F. Guidec, P. Kuonen, P. Caligari, “Radiowave propagation simulation on the cray T3D”, Future Generation Computer System (FGCS), N.H. Elsevier, 13(4-5), March 1998, p.279-289 [17] E. Jullo, “Prédiction de couverture radio : rapport de stage de DEA“, DEA DISIC, INSA de Lyon, 2002 [18] F. Layer, R. Kattenbach and H. Früchting, “Modeling and analysis of dominant propagation effects in real indoor environments at 5.2 GHz”, in 49th IEEE nternational Symposium on Personal, Indoor and Mobile Communications, pp. 630-634, Boston, Sept. 1998 [19] W. Zhang, “Fast two-dimensional diffraction modeling for site-specific propagation in urban microcellular environments”, IEEE transactions on Vehicular Technology, vol. 149, No.2, pp. 428-436, March 2000 [20] AG. Kanatas, I.D. Kountounis, G.B. Kostaras, P. Constantinou, “A UTD propagation model in urban microcellular environments”, in IEEE transactions on Vehicular Technology, vol.46, pp. 185-193; Feb. 1997 [21] G. Cohen, “Convexité et optimisation”, Ecole Nationale des Ponts et Chaussées, http://www-rocq.inria.fr/scilab/cohen/enseign-f.html, 2000 [22] K. Runser, J.M. Gorce, “Présentation d’une méthode déterministe de planification de réseaux locaux sans fils”, Rapport de recherche, Institut National de Recherche en Informatique et Automatique, Juillet 2003. [23] R. Hooke, T.A. Jeeves, “Direct search solution of numerical and statistical problems”, J. Assoc. Comput. Mach., 8:212-229, 1961 [24] W. Spenley, G.R. Hext, F.R. Himsworth, “Sequential applcation of simplex desogns in optimisation and evolutionary operation”, Technometrics, 4:441-461, 1962 [25] J.A. Nelder, R. Mead, “A simplex method for function minimisation”, computer Journal, 7:303-313, 1965 [26] K.L.M. McKinnon, “Convergence of the nelder-mead simplex method to a nonstationary pont”, SIAM journal of Optimization, Vol. 9, pp. 148-158, 1998

DEA Images et Systèmes Optimisation de prédiction de couverture radio

Philippe Buhr 42/42 2002/2003

[27] D.R. Jones, C.D. Perttunen, B.E. Stuckman, “Lipschitzian optimization without the Lipschitz constant”, Journal of Optimization Theory and Applications, vol. 79(1), pp. 157-181, 1993 [28] R.M. Lewis, V. Torczon, M.W. Trosset, “Direct search mehods : then and now”, Journal of Computational and Applied Mathematics, vol. 124, pp. 191-207, 2000 [29] J. He, L.T. Watson, C.A. Stinson et. al., “Globally optimal transmitter placement for indoor wireless communications systems”, Technical Report TR-02-17, Computer Science, Virginia Tech., 2002 [30] D.E. Finkel, “DIRECT optimization algorithm user guide”, Center for Reasearch in Scientific Computation, North Carolina State University, Raleigh, 2003 [31] J.M. Gablonsky, C.T. Kelley, “A locally-biased form of the DIRECT algorithm”, Journal of Global Optimization, vol. 21, pp. 27-37, 2001 [32] J.M. Gablonsky, “Modifications of the DIRECT algorithm”, PhD thesis, North Carolina State University, Raleigh, 2001 [33] J.M. Gorce, E. Jullo, K. Runser, “An adaptative multi-resolution algorithm for 2D simulations of indoor propagation”, in IEEE Proceedings of the 12th International Conference on Antennas and Propagation, Exeter, United Kingdom, 2003


Recommended