FR 3067503 A1 20181214 FR 1700616 A 20170609 Page 1 Une carte d'environnement radio haute performance DESCRIPTION DE L'INVENTION Description des figures La figure 1 montre un modèle architecture de processeur SIMD « Single 5 Instruction on Multiple Data » telle que décrite par l'état de l'art. La figure 2 montre la modélisation de la dimension spatiale de l'environnement radio à cartographier de la REM appelée grille de points ou grille de propagation RF. La figure 3 montre la modélisation fréquentielle de la REM et qui 10 consiste à dupliquer la grille de propagation RF pour chaque fréquence constituant l'environnement radio à cartographier. La figure 4 montre comment les points de la ou des grilles de propagation RF sont affectés linéairement en balayant la ou les grilles par ligne de gauche à droite pour garder un temps de calcul 15 uniforme entre les unités de calcul SIMD. La figure 5 montre le principe de calcul de propagation RF en mode « point à point » pour le rendre compatible avec une architecture SIMD. La figure 6 montre la modélisation temporelle de la REM et qui consiste 20 à séquencer et à enregistrer dans le temps le calcul de propagation de la ou les grilles de propagation RF. Etat de l'art sur le calcul parallèle « SI ND » Single Instruction on Multiple Data (signifiant en français : « instruction unique, données multiples »), ou SIMD, est une des 25 quatre catégories d'architecture définies par la taxonomie de Flynn en 1966 et désigne un mode de fonctionnement des ordinateurs dotés de capacités de parallélisme. Dans le mode SIMD (voir figure 1), la même instruction est appliquée simultanément à plusieurs données pour produire plusieurs résultats. 30 On utilise cette abréviation par opposition à SISD (Single Instruction on Single Data), le fonctionnement traditionnel, et MIMD (Multiple Instructions on Multiple Data), le fonctionnement avec plusieurs processeurs aux mémoires indépendantes. Le modèle SIMD convient particulièrement bien aux traitements dont la 35 structure est très régulière, comme c'est le cas pour le calcul matriciel. Généralement, les applications qui profitent des architectures SIMD sont celles qui utilisent beaucoup de tableaux, de matrices, ou de structures de données du même genre. On peut notamment citer les 40 applications scientifiques, ou de traitement du signal. Page 2 Toutes ces instructions SIMD travaillent sur un ensemble de données de même type. Ces données sont rassemblées dans des blocs de données, d'une taille fixe, qu'on appelle un vecteur. Ces vecteurs contiennent plusieurs nombres entiers ou nombres flottants placés les uns à côté des autres. Une instruction SIMD va traiter chacune des données du vecteur indépendamment des autres. Par exemple, une instruction d'addition SIMD va additionner ensemble les données qui sont à la même place dans deux vecteurs, et placer le résultat dans un autre vecteur, à la même place. Quand on exécute une instruction sur un vecteur, les données présentes dans ce vecteur sont traitées simultanément. Afin de faciliter d'utilisation des architectures SIMD, divers langages ont été inventés. Ces langages cherchent à rendre le parallélisme de donnée utilisable plus facilement par les 15 compilateurs. Dans les langages procéduraux conventionnels, les compilateurs ont du mal à déterminer si des instructions travaillent sur des données indépendantes ou non. En conséquence, les compilateurs peuvent rater certaines opportunités d'utilisation d'instructions SIMD ou 20 d'instructions vectorielles. C'est pour éviter au maximum ce genre de situations que certains langages SIMD ont été inventés. Parmi ces langages, on peut citer Le langage CUDA. Ce langage permet l'utilisation des cartes graphiques pour le calcul numérique, et on y trouve de nombreuses instructions qui agissent sur plusieurs données 25 en même temps. Etat de l'art sur la carte d'environnement radio Une carte d'environnement radio ou REM (en anglais « Radio Environment Map »), représentant un environnement radio dynamique, multidimensionnels, et temps réel, peut être utilisée pour aider au 30 processus de prise de décision dans de nombreuses applications de télécommunication telles que la configuration, l'optimisation, la réparation de réseaux radio, la planification radio dynamique, ou encore le partage de spectre radio pour le domaine des télécommunications civil, de sécurité et de défense. 35 La REM peut être conçue comme une base de données contenant l'information sur l'environnement radio, par. ex., la puissance reçue d'un signal radio fréquence (RF), l'affaiblissement d'un signal radio fréquence (RF) lié à sa propagation dans l'environnement physique environnent, ou encore un niveau d'interférence radio fréquence (RF) 40 agrégé et représenté dans les dimensions spatiales, temporelles et fréquentielles. La REM calcule l'information qui va constituer la carte de l'environnement radio pour les dimensions spatiales, temporelles et fréquentielles à l'aide de modèles avancés de propagation RF. Ces 45 modèles de propagation RF complexes prennent en compte une multitude de phénomènes physiques liés à la propagation des signaux RF. Page 3 La REM construit la carte de l'environnement radio à l'aide de l'information sur la topologie de déploiement des émetteurs et des récepteurs radio, à l'aide de leurs caractéristiques techniques et configurations RF, à l'aide des données sur l'environnement 5 environnent tel que les modèles numériques de terrain, les modèles d'occupation des sols, les modèles numériques de bâti, des modèles statiques de climat, de réfractivité du sol, la permittivité de l'air, et en général, de toute donnée qui interfère dans la propagation des signaux RF. 10 De plus la REM est enrichie avec des mesures RF ponctuelles mesurées sur le terrain ; ces mesures réelles permettent de calibrer, en temps réel, les modèles de propagation RF. La REM peut être visualisée par exemple à l'aide d'une interface SIG (Système d'information géographique), afin de montrer l'information 15 dans les dimensions spatiales, temporelles et fréquentielles. Le concept de la REM a fait l'objet depuis de nombreuses années de travaux principalement académiques sans objectif d'industrialisation. Pour être exploitable dans un domaine industriel, tel que le domaine des télécommunications civil, de sécurité et de défense, la REM a 20 besoin d'obtenir des résultats fiables représentant un environnement radio fréquence proche de la réalité. Pour atteindre cette fiabilité, la REM doit travailler avec des résolutions spatiales, temporelles et fréquentielles très faibles par rapport à l'environnement à cartographier, de l'ordre de 100,000 à 25 1,000,000 de fois plus faible. Cette résolution dépend aussi de la résolution des données d'environnements géographiques qui sont nécessaires aux modèles de propagation RF ; par exemple un modèle numérique de bâti à une résolution pouvant aller jusqu'à quelques centimètres et un modèle de 30 terrain à une résolution pouvant aller jusqu'à quelques mètres. Cela fait de la REM une technologie difficile à industrialiser compte tenu de la volumétrie des données à traiter (résolution, multi dimensionnalité), de la complexité (modèles de propagation RF) et des contraintes temps réel. 35 La présente invention décrit une méthode de calcul haute performance d'une carte d'environnement radio ou REM (en anglais « Radio Environment Map ») qui entend réconcilier les aspects de volumétrie, de complexité/fiabilité et de performance pour permettre son exploitation industrielle. 40 Cette méthode combine un modèle d'architecture de processeur SIMD « Single Instruction on Multiple Data » doté de capacités de parallélisme, un jeu d'instruction pour le calcul de propagation RF adapté spécifiquement au mode SIMD et enfin une modélisation des données de la REM spécifiquement adaptée au mode SIMD. Page 4 Ceci permet une parallélisation étendue des calculs sur un nombre très important d'unités de calcul SIMD. Ce qui fait de cette méthode un élément déterminant d'une industrialisation possible de la REM. Description de la méthode 5 La méthode est composée des opérations suivantes : i. La zone géographique à cartographier est divisée en une grille de points, par exemple, représentée par un système de coordonnées cartésiennes ou chaque point est représenté par sa latitude et sa longitude et équidistants les uns des 10 autres ; cette grille est appelée « grille de propagation RF » (voir figure 2) ; La résolution de cette grille et par conséquent le nombre de points par grille est fonction de la taille de la zone géographique à cartographier et de la fiabilité du résultat attendue ; ii. La grille est dupliquée pour chaque fréquence constituant l'environnement radio à cartographier (voir figure 3). Un même jeu d'instructions est affecté pour toutes les unités de calcul SIMD (voir figure 1) ; le jeu d'instructions correspond au programme de propagation RF ; ce jeu d'instructions travaille sur un ensemble de données de même taille et de même type. - Le programme de propagation RF qui constitue le jeu d'instruction fonctionne en mode « point à point », c'est-à-dire le programme calcule une propagation entre deux points géographiques représentés par un émetteur radio (n'appartement nécessairement pas à un point de la ou des grilles) et un récepteur radio (un point de la ou des grilles), ce qui rend le calcul en chaque point de la ou des grilles indépendant et ce qui fait le calcul compatible avec une architecture SIMD (voir figure 5). - En plus du calcul de propagation RF, le jeu d'instruction peut être enrichi de fonctions arithmétiques principalement additives et multiplicatives pour représenter l'ajout, la suppression, la convolution ou l'interpolation des données de la REM. iv. Les données sont constituées de couples de points où un couple de points représente la position d'un émetteur radio (n'appartement pas à un point de la ou des grilles) et la position d'un récepteur radio (appartenant à un point de la ou des grilles), des caractéristiques techniques et de configuration RF des émetteurs et récepteurs radio ainsi que des données d'environnements géographiques qui sont nécessaires au calcul de la propagation RF; ces données sont rassemblées dans des blocs de données, d'une taille fixe, qu'on appelle vecteur ; ces vecteurs contiennent soit des nombres entiers soit des nombres flottants placés les uns à côté des autres. v. Une instruction va traiter chacune des données du vecteur Page 5 indépendamment des autres. Quand une instruction est exécutée sur un vecteur, les données présentes dans ce vecteur sont traitées simultanément. - Pour répartir la charge de calcul de manière uniforme 5 sur les unités de calcul SIMD disponibles, le nombre total de points de la ou des grilles affecté à chaque unité est déterminé par le modulo du nombre total de points de la REM par le nombre d'unités de calcul disponibles. 10 - Pour un temps de calcul uniforme, les points sont affectés linéairement, par exemple, en balayant la ou les grilles par ligne de gauche à droite (voir figure 4) vi. La REM séquence et enregistre les calculs dans le temps soit 15 d'une manière périodique, par exemple toutes les secondes (voir figure 6), soit à la suite d'un événement extérieur de nature à modifier l'environnement radio, par exemple, l'ajout d'un émetteur radio. Page 6 Une carte d'environnement REVENDICATIONS1) Une méthode de calcul haute performance d'une carte d'environnement radio ou REM (en anglais « Radio Environment Map ») qui combine un modèle d'architecture de processeur « instruction unique, données multiples » ou SIMD (en anglais « Single Instruction on Multiple Data ») doté de capacités de parallélisme, un jeu d'instruction pour le calcul de propagation RF adapté spécifiquement au mode SIMD et une modélisation des données de la REM spécifiquement adaptée au mode SIMD, composée des opérations suivantes : i. La zone géographique à cartographier est divisée en une grille de points représentée par un système de coordonnées cartésiennes ou chaque point est représenté par sa latitude et sa longitude et équidistants les uns des autres ; cette grille est appelée « grille de propagation RF » ; La résolution de cette grille et par conséquent le nombre de points par grille est fonction de la taille de la zone géographique à cartographier et de la fiabilité du résultat attendue ; La grille est dupliquée pour chaque fréquence constituant l'environnement radio à cartographier. Un même jeu d'instructions est affecté pour toutes les unités de calcul SIMD ; le jeu d'instructions correspond au programme - de propagation RF ; ce jeu d'instructions travaille sur un ensemble de données de même taille et de même type. iv. Les données sont constituées de couples de points où un couple de points représente la position d'un émetteur radio (n'appartement pas nécessairement à un point de la ou des grilles) et la position d'un récepteur radio (appartenant à un point de la ou des grilles), des caractéristiques techniques et de configuration RF des émetteurs et récepteurs radio ainsi que des données d'environnements géographiques qui sont nécessaires au calcul de la propagation RF; ces données sont rassemblées dans des blocs de données, d'une taille fixe, qu'on appelle vecteur ; ces vecteurs contiennent soit des nombres entiers soit des nombres flottants placés les uns à côté des autres. v. Une instruction va traiter chacune des données du vecteur indépendamment des autres. Quand une instruction est exécutée sur un vecteur, les données présentes dans ce vecteur sont traitées simultanément. vi. La REM séquence et enregistre les calculs dans le temps soit d'une manière périodique, par exemple toutes les secondes, soit à la suite d'un événement extérieur de nature à modifier l'environnement radio, par exemple, l'ajout d'un émetteur radio. Page 7 2) La méthode selon la revendication 1 dans laquelle Le programme de propagation RF qui constitue le jeu d'instruction fonctionne en mode « point à point », c'est-à-dire le programme calcule une propagation entre deux points géographiques représenté par un émetteur radio 5 (n' appartement pas nécessairement à un point de la ou des grilles) et un récepteur radio (un point de la ou des grilles), ce qui rend le calcul en chaque point de la ou des grilles indépendant et ce qui fait le calcul compatible avec une architecture SIMD. 3) La méthode selon l'une au moins des revendications 1 à 2 dans 10 laquelle le jeu d'instruction est enrichi de fonctions arithmétiques principalement additives et multiplicatives pour représenter l'ajout, la suppression, la convolution ou l'interpolation des données de la REM. 4) La méthode selon l'une au moins des revendications 1 à 3 dans 15 laquelle le nombre total de points de la ou des grilles affectées à chaque unité est déterminé par le modulo du nombre total de points de la REM par le nombre d'unités de calcul disponibles. 5) La méthode selon l'une au moins des revendications 1 à 4 dans laquelle les points sont affectés linéairement en balayant la ou les 20 grilles par ligne de gauche à droite.