• Aucun résultat trouvé

Codage coopératif pour réseaux de communications sans fil: Cocorécom Proposition technique par J.P. Cances Xlim UMR 7252

N/A
N/A
Protected

Academic year: 2021

Partager "Codage coopératif pour réseaux de communications sans fil: Cocorécom Proposition technique par J.P. Cances Xlim UMR 7252"

Copied!
25
0
0

Texte intégral

(1)

HAL Id: hal-03134896

https://hal.archives-ouvertes.fr/hal-03134896

Submitted on 8 Feb 2021

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Codage coopératif pour réseaux de communications sans

fil: Cocorécom Proposition technique par J.P. Cances

Xlim UMR 7252

Jean Pierre Cances

To cite this version:

Jean Pierre Cances. Codage coopératif pour réseaux de communications sans fil: Cocorécom Propo-sition technique par J.P. Cances Xlim UMR 7252. [Rapport de recherche] Xlim ULR CNRS 7252. 2013. �hal-03134896�

(2)

Codage coopératif pour réseaux de communications sans fil: Cocorécom

Proposition technique par J.P. Cances

Xlim UMR 7252

I. Contexte applicatif :

Le projet de recherche proposé dans cette ANR a pour objet de proposer et d’optimiser des schémas de codage coopératif pour différents types d’applications en communications sans fil. Parmi ces types d’applications nous nous intéresserons à deux contextes particuliers bien différents: le contexte des radiocommunications cellulaires et le contexte des réseaux de capteurs « low-cost ». Par abus de langage on considérera dans tout ce qui suit que le mot capteur peut s’appliquer tout aussi bien à un radio-téléphone qu’à un capteur de présence ou de fumée. La grosse différence entre ces deux contextes applicatifs est le type de connections établies par les émetteurs-récepteurs radio. Dans le cas des radiocommunications cellulaires on considèrera que l’on a affaire à des liaisons point-multipoints où les portables (capteurs) peuvent à priori communiquer avec tout un ensemble de relais dispersés sur une zone géographique donnée. Dans le contexte des réseaux de capteurs on supposera que les liaisons ne peuvent se faire que point à point de par les ressources radio-électriques (puissance, gain antenne) très limitées de chaque capteur. Il est clair que dans ce dernier cas on aura donc besoin de plusieurs relais pour transmettre l’information depuis le capteur vers le puits de traitement.

1.1 L’essor des réseaux de capteurs :

De nombreuses avancées techniques et technologiques dans les domaines de la micro-électronique, de la micro-mécanique, et des technologies de communication sans fil permettent maintenant de créer de petits objets communicants équipés de capteurs à un coût raisonnable. Ces nouveaux objets appelés nœuds ou capteurs sont équipés d’une unité de mesure (le ou les capteurs), d’une unité de calcul, de mémoires et d’une radio pour communiquer. Enfin, pour l’alimentation, ces nœuds possèdent une pile ou un système de récupération d’énergie dans l’environnement. Cette technologie rend possible le déploiement de réseaux de capteurs sans fil. Les réseaux de capteurs ont de nombreuses perspectives d’applications dans des domaines très variés : applications militaires, domotique, surveillance industrielle ou de phénomènes naturels, relevé de compteurs...Chaque application a ses propres contraintes. Dans tous les domaines, le rôle d’un réseau de capteurs est cependant à peu près toujours le même, voir figure 1.

Fig. 1 : Schéma d’un réseau de capteurs puits

Evènement

messages

(3)

Les nœuds doivent surveiller certains phénomènes grâce à leurs capteurs puis envoient les informations à un puits. Le puits (ou sink en anglais) est un nœud particulier doté d’une puissance de calcul supérieure et d’une quantité d’énergie potentiellement infinie. Ce puits peut être connecté à Internet ou possède un lien radio de type GSM ou GPRS par exemple qui lui permet d’envoyer les informations (données ou alertes) `a un centre de contrôle pour l’utilisateur final. Il peut y avoir plusieurs puits mobiles ou fixes dans un réseau mais pour des raisons de coût, il y a, de toute façon, beaucoup moins de puits que de nœuds. Ce type d’application implique des contraintes communes à de nombreux réseaux de capteurs.

Les capteurs sont déployés sur la zone à contrôler. Comme celle-ci est étendue et potentiellement difficile d’accès, ils doivent s’auto-organiser pour envoyer de proche en proche les messages jusqu’au puits. On ne remplace pas les nœuds qui ne fonctionnent pas ou qui n’ont plus d’énergie, il faut donc qu’ils vivent le plus longtemps possible avec une quantité d’énergie très faible étant donné le coût élevé des piles. Par exemple, pour certaines applications de surveillance où le trafic est très sporadique, on souhaite plusieurs dizaines d’années d’autonomie pour le réseau. Enfin, ces réseaux peuvent être composés d’un très grand nombre de nœuds, plusieurs centaines voire plusieurs milliers de nœuds.

1.2 Le contexte des radio-commnications cellulaires :

Dans le contexte des radio-communications cellulaires, le concept de relai a été explicitement introduit dans les normes récentes (LTE, IEEE 802.16 j…). A l’heure où il est de plus en plus difficile d’installer des stations de base de forte capacité sur les toits des immeubles, l’utilisation de simples portables comme relais peut s’avérer être une excellente solution pour étendre et améliorer la couverture des systèmes radio-cellulaires à moindre coût. La figure 2 montre comment les portables peuvent se comporter comme des relais qui peuvent améliorer la couverture d’un système radio-cellulaire en collaborant éventuellement entre eux.

Fig. 2 : Extension de couverture par portable relai

L’utilisation de portables-relai permet de plus de limiter les puissances transmises au niveau des autres portables dans cette même cellule ce qui engendre un niveau d’interférences plus limité et donc permet d’accroître la capacité au final. Il est également possible d’utiliser certains portables comme des relais qui implémentent des équations de parité en effectuant des OU exclusifs entre des flux d’entrée. Ces nœuds de parité supplémentaires combinés aux

(4)

bits d’information peuvent permettre en réception d’obtenir un code en bloc performant décodable à l’aide de l’algorithme de propagation de croyance.

1.3 Contexte des réseaux de capteurs: applications

Nous citons ici plusieurs exemples de contextes applicatifs porteurs dans lesquels peut s’insérer le projet proposé.

Détection de feux de forêt :

Les réseaux de capteurs se prêtent particulièrement bien à des applications de remontées d’alarmes où la zone à surveiller est difficile d’accès. Les réseaux de capteurs sont notamment pressentis pour aider à la surveillance et à la prévention des feux de forêt. L’application consiste à déployer un réseau de capteurs qui permet, d’alerter les secours en cas d’incendie, et d’évaluer le risque de départ de feux grâce à des relevés périodiques (température, humidité ...). Les nœuds d’un tel réseau sont donc équipés entre autres de capteurs de température et d’humidité. Sans les nouvelles solutions apportées par les réseaux de capteurs, une personne, placée sur un mirador, est chargée de surveiller la forêt en continu. Non seulement cette méthode n’est pas toujours faisable suivant la configuration de la forêt mais en plus la détection des premières flammes est tardive. Dans cette application, le réseau a deux tâches. Une première tâche consiste à envoyer périodiquement l’état de ses capteurs pour permettre la prévention. Il faut décider de la période nécessaire, envoyer trop souvent une information sur la température peut s’avérer inutile et coûteux en énergie. L’autre tâche consiste à envoyer une alarme en cas de détection de feux. Cette tâche est plus critique : il faut que l’alarme arrive au puits et qu’elle ne mette pas trop longtemps à arriver. Un puits est un nœud non contraint en énergie qui collecte les données et les envoie (via Internet par exemple) au centre de traitement. Comme les nœuds sont inaccessibles, ou du moins on ne sait pas les localiser précisément, ils ne sont pas rechargés en énergie. Donc, une fois qu’un nœud a épuisé son énergie, il disparaît du réseau, et quand tous les nœuds n’ont plus d’énergie, le réseau est mort. En fait, le réseau est de moins en moins opérationnel au fur et à mesure que les nœuds disparaissent. Pour prolonger la vie du réseau, on peut vouloir ajouter de nouveaux nœuds, mais dans ce cas, il faut un mécanisme d’auto-association pour que ces nouveaux nœuds intègrent le réseau.

Contrôle des secousses sismiques dans les bâtiments:

Une autre application avec des contraintes semblables est celle qui consiste à contrôler les secousses sismiques dans les bâtiments. L’idée est de doter les bâtiments de capteurs dès la construction. Ceux-ci sont enfouis dans les fondations et détectent les différents efforts. Ils permettent donc de prévenir des affaiblissements de la structure du bâtiment dès les premiers effets. Ainsi, on pourra consolider le bâtiment avant que les fissures ne soient irréparables. Au vu du trafic, cette application a des contraintes semblables à la précédente, le trafic est très sporadique. De même, on peut difficilement remplacer les nœuds morts.

Télé-gestion de compteurs d’énergie:

La relève automatique d’index de compteurs d’eau, de gaz d’´electricité et de chaleur est une application qui émerge en Europe tandis qu’elle est très largement exploitée depuis de nombreuses années aux USA en raison de la réglementation.qui a imposé un paiement mensuel des consommations réelles. La télé-relève (ou “metering” en anglais) consiste à doter les compteurs d’une fonction communicante (PLC, radio, bus série) qui permet une

(5)

supervision automatisée, au moyen d’équipements de relève mobiles (PDA, TSP, véhicule) ou bien grâce à des réseaux fixes, et ce, afin d’éviter une lecture manuelle des index.

Ce cas applicatif comporte de nombreuses contraintes que l’on retrouve dans les réseaux de capteurs. Essentiellement, les nœuds sont autonomes en énergie. En effet, même si l’on peut imaginer que les nœuds soient alimentés par une connexion au réseau électrique, pour limiter le coût du déploiement d’un tel réseau, ils sont autonomes. La solution consiste à remplacer les anciens compteurs purement mécaniques par un ensemble composé d’un compteur d’eau ”nouvelle génération ” capable de délivrer des informations (impulsions, bus série) et d’un émetteur-récepteur radio alimenté sur pile. Cette limitation du budget énergie implique une autre contrainte typique des réseaux decapteurs: les nœuds envoient leurs messages en multi-sauts jusqu’au point de collecte quand ils ne sont pas à portée radio directe. Ils sont coopératifs : un compteur d’eau peut avoir à relayer les consommations d’autres compteurs bien que des équipements répéteurs soient préférés pour remplir cette fonction. Généralement dans le metering, l’autonomie d’un réseau autonome doit atteindre plusieurs années pour en assurer la rentabilité. Les nouvelles exigences du marché portent désormais sur des autonomies de 10, 15 voire 20 ans. L’autonomie se calcule généralement au travers d’une analyse poussée du MTBF (Mean Time Between Failure) sur les cartes et les composants, avec des tests de vieillissement accéléré en laboratoire, une émulation du comportement radio (et donc de consommation d’énergie)…

Les réseaux Domotiques:

Un autre type d’application dans lequel les réseaux de capteurs émergent est la domotique. Dans ces applications, le réseau de capteurs est déployé dans l’habitation. Le principe est que le réseau de capteur forme un environnement, dit environnement pervasif. Son but est de fournir toutes les informations nécessaires aux applications de confort, de sécurité et de maintenance dans l’habitat. Les capteurs sont des capteurs de présence, de son, ils peuvent même être équipés de caméras. Un tel réseau déployé doit permettre de créer une maison intelligente capable de comprendre des situations suivant le comportement des occupants et d’en déduire des actions. Ces réseaux sont donc très hétérogènes, des éléments d’´electroménager peuvent faire partie du réseau aussi bien que les ordinateurs personnels ou le routeur. Il se peut que certains éléments aient besoin d’être économes en énergie mais ça n’est pas le cas de tout le réseau. Il ne s’agit pas pour ces applications de réseaux grande échelle. Par contre ces réseaux doivent être hautement reconfigurables: d’une part la topologie du réseau peut changer d’un jour à l’autre avec l’aménagement, d’autre part on peut avoir besoin de changer le type d’application pendant la durée de vie du réseau. Le consortium Zigbee, s’appuyant sur les couches 1 et 2 standardisées IEEE802.15.4, répond assez bien aux contraintes de ces réseaux.

1.4 But du projet

Le projet de recherche proposé dans cette ANR consiste à optimiser la transmission d’un réseau de capteur à l’aide d’un codage coopératif entre les nœuds du réseau. En effet, on propose d’introduire un certain nombre de nœuds supplémentaires qui vont jouer le rôle de relais actifs en produisant des OU exclusifs (XOR) entre leurs différents flux d’entrée. L’ensemble des informations transmises directement à la source et des bits de parité générés par les relais constituera un code en bloc que l’on essaiera d’optimiser pour minimiser la probabilité d’erreur à la destination. On montrera comment la présence de ce codage coopératif permet de limiter le nombre de retransmissions des capteurs ce qui permet

(6)

d’optimiser la durée de vie de ces capteurs. De plus, une approche de type network coding pourra compléter ces travaux en tenant compte du routage des informations de nœud en nœud pour minimiser le coût global des transmissions.

II. Description technique de l’étude proposée : Système particulier considéré, protocoles de transmission:

2.1 Système considéré, protocoles de transmission :

On considère un ensemble de N terminaux qui communiquent avec une destination commune qui représente le terminal de traitement de l’ensemble des données transmises par les capteurs. On considère qu’il y a en tout dans le réseau étudié M capteurs qui se comportent comme des nœuds de variable (variable nodes) au niveau du codage réseau. Ils restent alors (N – M) capteurs qui jouent le rôle de relais. Ces relais servent à implémenter des équations de parité en réalisant des OU exclusifs depuis les flux de données en provenance des capteurs et jouent donc le rôle de nœuds de parité (parity check nodes). Le schéma du système étudié est illustré sur la figure ci-dessous (Fig. 3).

Fig. 3 : Système étudié, réseau de capteurs et relais

Le protocole de transmission dans ce système opère typiquement en deux phases.

Dans la première phase, appelée phase de diffusion (broadcast), les capteurs envoient leurs

données à la fois vers la source et vers les relais. Les canaux utilisés par les différents capteurs sont orthogonaux entre eux pour éviter les interférences, on peut par exemple hiérarchiser cette première phase de transmission par un accès multiple de type FDMA ou TDMA pour obtenir N canaux de transmission orthogonaux.

Si on considère le contexte des radiocommunications cellulaires on peut faire l’hypothèse que chaque relai est susceptible de recevoir l’ensemble des informations en provenance de tous les capteurs. Dans le contexte des réseaux de capteurs, cette hypothèse n’est plus valable et il faudra en place plusieurs couches de relais (i.e. plusieurs relais successifs) pour transmettre les informations à bon port en tenant compte de la topologie du réseau. Ce contexte plus

Relai = nœud de parité

Canal Relai-Destination : second créneau temporel Canal Source-Destination :

premier créneau temporel

Canal Source-Relai : premier créneau temporel

CN-M CN-M-1 C3 C2 C1 Destination, traitement des données V1 V2 V3 VN-1 VN

(7)

délicat ne sera pas évoqué tout de suite et fera partie des perspectives de développement du système proposé initialement.

Cependant, même dans le cas des radiocommunications cellulaires, si on considère des liens en espace libre, avec une modélisation de chaque canal par un modèle de Rayleigh non sélectif en fréquence (utilisation de l’OFDM par exemple) on comprend aisément que certains liens vont être fortement défavorisés par rapport à d’autres et ainsi chaque relai ne pourra pas décoder correctement l’ensemble des informations en provenance des différents capteurs. Exprimé de façon plus concise, ceci veut dire qu’un relai ne peut décoder correctement (sans erreur) les informations qu’en provenance d’un nombre restreint de capteurs. Si on connaît les paramètres des différents canaux de communication entre les capteurs et les relais, il est possible de définir par le calcul des rapports de vraisemblance logarithmiques (LLR : Log-Likelihood Ratio) en réception aux relais quels sont les liens les plus privilégiés. Par exemple, si on considère le lien entre le capteur m et le relai n et si on suppose une transmission MDP2-NRZ avec un coefficient de canal , Re( , ) .Im( , ) , . ,

R I m n m n m n m n m n hhi hhi h où , R m n h et , I m n h sont deux variables aléatoires Gaussiennes de moyenne nulle et de variance 0.5 on a l’écriture en réception au relai n :

, , . ,

m n m n m m n

yh xn (1) m

x désigne un symbole d’information MDP2-NRZ transmis par le capteur m et nm n, désigne un bruit additif Gaussien de moyenne nulle et de variance  . Le rapport de vraisemblance 2

logarithmique au relai n pour la réception du signal xm s’écrit alors :

2 2 , , , 2 2 , , , * 2 * , , , , 0 Proba( 1 ) exp( / 2. ) ( ) log[ ] log[ ] Proba( 1 ) exp( / 2. ) 2.Re( . ) / 4.Re( . ) / m m n m n m n n m m m n m n m n m n m n m n m n x y y h x x y y h h y h y N              (2)

Avec, classiquement: 2 N0/ 2. Ainsi, les rapports de vraisemblance logarithmiques

( )

n xm

 nous serviront à caractériser la qualité des liaisons entre le réseau de capteurs et les relais. On supposera dans un premier temps, en ce qui concerne l’évolution temporelle du canal de propagation, que l’on peut utiliser un modèle très simple comme le canal quasi-statique à évanouissements par bloc. Ainsi, sur la durée de la trame transmise pendant la phase de broadcast, les paramètres des canaux sources-relais restent constants et changent de façon aléatoire et indépendante à chaque nouvelle trame transmise.

Dans la deuxième phase les relais forment des équations de parité à partir des flux de

données qu’ils ont décodés lors de la première phase de diffusion. Il est clair que le décodage convenable des données transmises lors de la première phase est vital pour éviter la propagation d’erreurs. Supposons que les équations de parité formées aux relais soient toutes de même degré . Dans ce cas, cela signifie par exemple, que lors de la première phase de diffusion, chaque relai sélectionne les meilleurs LLR’s à sa disposition et forme un OU exclusif à partir des flux de données décodées issus des capteurs ainsi sélectionnés. Cependant, on peut aussi supposer que les relais ne sélectionnent que les liens dont les LLR’s franchissent un certain seuil de qualité. Dans ce cas, il est évident que le nombre de capteurs sélectionnés à chaque relai sera variable. On va se retrouver avec des équations de parité de degrés différents selon les relais considérés. Il faut de plus préciser que dans chaque paquet

(8)

transmis par les relais se trouve un en-tête (header) qui spécifie la façon dont ont été calculés les bits de parité à chaque relai. Ceci est nécessaire pour que la destination puisse reconstituer le graphe équivalent du code utilisé.

Ainsi en réception, l’unité de traitement disposera, après les deux phases de transmission décrites précédemment, de l’ensemble des bits systématiques bruités et déformés par le canal mais aussi d’un ensemble de bits de parité bruités et déformés par le canal ce qui va lui permettre de reconstituer le graphe du code équivalent (graphe de Tanner) pour décoder de façon très efficace à l’aide de l’algorithme de propagation de croyance (BP : Belief Propagation) l’ensemble des bits d’information transmis par les capteurs.

Il est clair que le décodage sera d’autant plus efficace que la matrice équivalente de parité reconstituée à la destination ressemblera à celle d’un code LDPC (Low Density Pariy Check code) qui n’exhibe pas de cycles courts (si possible). Le but du jeu est donc de faire en sorte que la topologie des liens sélectionnés dans le réseau de capteurs épouse au mieux la forme du graphe d’un code LDPC optimisé. Ceci est particulièrement délicat à réaliser car on comprend bien que la qualité des liens variant sans cesse, on va rencontrer un grand nombre de configurations possibles qui ne pourront pas toutes correspondre à de bons codes LDPC. Cependant, et c’est là le but de l’étude proposée, on peut à l’aide d’algorithmes de sélection optimisés des capteurs et d’un choix judicieux des équations de parité faire en sorte qu’en moyenne les matrices obtenues conduisent à de bons codes.

Exemple : Pour illustrer le principe du codage de réseau proposé, on peut prendre un cas très

simple avec un réseau comportant quatre capteurs et cinq relais. Compte tenu de la première phase où on a imposé un seuil de qualité sur la transmission entre les capteurs et les relais, on voit que le relai 1 peut décoder correctement les flux de données provenant des capteurs 1 et 3. De même, le relai 2 peut décoder correctement les flux de données provenant des capteurs 1, 2 et 4. Le relai 3 peut décoder correctement les flux de données provenant des capteurs 2 et 3. Le relai 4 peut décoder correctement les flux de données provenant des capteurs 1 et 4. Enfin, le relai 5 peut décoder correctement les flux de données provenant des capteurs 2, 3 et 4. A l’issue de la première phase, on a donc le graphe de codage suivant pour notre réseau de capteurs (Fig. 4).

Fig. 4 : Exemple de graphe à l’issue de la phase de diffusion (broadcast)

V1 V2 V3 V4 C1 C2 C3 C4 C5 1 3 VV 1 2 4 V V V 2 3 V V 1 4 V V 2 3 4 V V V

(9)

Appelons bV i,( )k le kième bit transmis par le capteur i à l’instant k.T et bC i,( )k le kième bit transmis par le relai i. On a, à l’issue de la première phase, transmis dans les quatre premiers créneaux temporels les bits

bV,1( ),k bV,2( ),k bV,3( ),k bV,4( )k

. A l’issue de la seconde phase on transmet les bits

bC,1( ),k bC,2( ),k bC,3( ),k bC,4( ),k bC,5( )k

avec les équations suivantes :

,1 ,1 ,3 ,2 ,1 ,2 ,4 ,3 ,2 ,3 ,4 ,1 ,4 ,5 ,2 ,3 ,4 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) C V V C V V V C V V C V V C V V V b k b k b k b k b k b k b k b k b k b k b k b k b k b k b k b k b k             (3)

Ainsi la destination va bénéficier de l’ensemble des bits :

1 9 ,1 ,2 ,3 ,4 ,1 ,2 ,3 ,4 ,5 ( ) ( ( ),..., ( )) ( V ( ), V ( ), V ( ), V ( ), C ( ), C ( ), C ( ), C ( ), C ( )) k d k d k b k b k b k b k b k b k b k b k b k   D (4)

L’ensemble des bits d’information et de parité forme un mot de code d’une matrice équivalente LDPC dont la partie systématique est constituée par :

,1 ,2 ,3 ,4

( ) ( ( ), ( ), ( ), ( ))

s kbV k bV k bV k bV k

B (5)

La matrice génératrice équivalente G d’un tel code est définie par la relation : ( )ks( ).k D B G (6) On trouve ici : 4 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 1 [ ] 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1               G I P (7)

Puisqu’il s’agit d’un code systématique, sa matrice de parité se calcule aisément :

5 1 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 [ ] 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 T                   H P I (8)

A partir de la matrice H définie par l’équation (8) on peut alors dessiner le graphe du code équivalent en vue d’appliquer l’algorithme de décodage par propagation de croyance. On obtient aisément le graphe de la figure 5.

(10)

Fig. 5 : Graphe de décodage équivalent pour la topologie du réseau de la figure 2

2.2 Inconvénients du système proposé, Solutions à explorer

Le protocole proposé dans la première partie soulève de nombreux problèmes en particulier en ce qui concerne le choix des capteurs à sélectionner par les relais pour établir les équations de parité. Chacune des deux approches proposées possède ses propres inconvénients.

- Si l’on choisit de sélectionner un nombre fixe de capteurs à chaque relai, par exemple on suppose ce nombre égal à D, on peut, comme on l’a expliqué dans la première partie, sélectionner les capteurs correspondant aux D LLR’s les plus importants à chaque relai. On obtient alors un code LDPC dont le degré des nœuds de parité est constant mais dont les degrés des nœuds de variables sont différents. On peut caractériser classiquement la distribution des degrés des nœuds de variables par un polynôme de la forme :

v 1 1 ( ) . d i i i X X     

(9)

La quantité  dénote le pourcentage de nœuds de variables de degré i et dv représente le i degré maximum d’un nœud de variable. L’optimisation de la distribution des degrés d’un tel code LDPC irrégulier pose un certain nombre de problèmes. Le plus important et le plus pénalisant en termes de performances concerne le fait que certains capteurs ne soient jamais sélectionnés par les relais. La matrice de parité H donnée en équation (10) ci-dessous illustre u l’exemple d’un nœud de variable i.e. un capteur qui n’est pas sélectionné par l’ensemble des relais à l’issue de la phase de diffusion.

V1 V2 V3 V4

(11)

0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 u                                  H (10)

Chaque ligne i de la matrice H correspond à l’équation de parité numéro i autrement dit elle u décrit la connexion du nœud de parité i avec les nœuds de variables impliqués dans cette équation et chaque colonne j de H décrit la connexion des nœuds de parité avec le nœud de u variable j. Ainsi l’entrée (i, j) de la matrice Hu est égale à 1 si le nœud de variable j participe à l’équation de parité i ou encore si le capteur j est relié au relai i. Dans la matrice H donnée u en équation (10) les colonnes ont un poids ou un degré variable tandis que les lignes ont toutes un poids ou un degré égal à 3. On peut constater que la colonne numéro 3 est vide ce qui implique que le capteur numéro 3 ou nœud de variable numéro 3 n’est jamais sélectionné par les relais donc il n’est jamais inclus dans la moindre équation de parité, ce qui entraîne que son information est transmise directement à la destination sans protection. Cet évènement a d’autant moins de chances de se produire que le degré D augmente.

Nous proposons plusieurs solutions que nous souhaitons explorer dans le cadre de ce projet de recherche.

- Une première approche consiste à faire une optimisation du degré des nœuds de variables

sélectionnés à chaque nouveau nœud de parité étudié, elle portera le nom d’optimisation du

degré des nœuds sources (ODNS). Elle suppose que l’on optimise les degrés des nœuds de

variables et donc que les degrés de ces mêmes nœuds deviennent non-constants. On suppose juste qu’il y a un degré maximalD à respecter. La méthode est basée sur les v

principes suivants : (1) un seuil  est déterminé pour sélectionner les capteurs ou nœuds de variables qui apparaîtront dans les équations de parité, (2) puisque chaque relai transmet séquentiellement vers la destination, on peut supposer que chaque nouveau relai étudié dispose de l’information sur la distribution des nœuds de variables  obtenue au relai précédent. La construction du code se fait alors en examinant les nœuds de variables les uns après les autres afin d’éviter que certains nœuds de variables soient trop souvent sélectionnés. Chaque relai va vérifier une fraction  des nœuds de variables. Si jamais on a   alors le capteur ou nœud source correspondant sera rejeté et le relai devra choisir un autre nœud de variable ou capteur. L’algorithme de sélection des nœuds de variables ou capteurs se poursuit alors jusqu’à ce que tous les nœuds de parité aient pu être examinés. On peut alors construire les matrices de génération et de parité du code.

(12)

Fig. 6 : Système étudié, réseau de capteurs et relais avec code RA distribué

- Une seconde approche qui nous semble prometteuse à tester consiste en l’utilisation de structures de codes de type R.A (Repeat Accumulate) inspirés des travaux de S. Brink [1-2]. Pour l’application de tel schéma de codage on va supposer non seulement que le relai courant connaît la distribution des nœuds de variables jusqu’au relai précédent mais en plus que le relai courant connaît le symbole de parité envoyé par le relai précédent. Le nouveau système étudié est représenté sur la figure 6.

Au niveau de la destination, l’ensemble du système peut être considéré comme un code LDPC distribué. Nous proposons d’utiliser une technique semi-aléatoire pour construire la matrice de parité du code. La matrice de parité ainsi construite H contient deux parties :

1 2

[ , ]

H H H (11)

La matrice H est une matrice binaire 1 MM qui est générée à partir de l’algorithme de

sélection ODNS présenté précédemment. La partie restante H est une matrice 2 M(NM)

qui est construite de façon déterministe. Chaque colonne de H a un poids de 2 qui 2

correspond à un accumulateur de rendement 1 dans le code R.A. L’avantage d’utiliser cet accumulateur est que la plupart des nœuds de relai peuvent avoir un degré plus grand que un en sortie (à l’exception du dernier relai). Ce motif en zig-zag permet de faire en sorte que la plupart des nœuds de parité obtiennent une mise à jour de leurs informations extrinsèques lors du décodage itératif et permet d’éviter au code d’entrer dans une zone de TEB plancher relativement élevé. H s’exprime sous la forme : 2

2 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1                        H (12) Canal Relai-Destination : second créneau temporel Canal Source-Destination :

premier créneau temporel

CN-M-1

destination

Relai = nœud de parité Canal Source-Relai :

premier créneau temporel

CN-M

C3

C2

C1

(13)

Les symboles de parité, p[p1,...,pN M ] à la sortie de l’accumulateur se calculent à l’aide des équations suivantes :

1 1 1 , , 2,..., j j j p r p p r j N M      (13)

rj [ ,...,r1 rN M ] est la somme modulo 2 (XOR) des bits d’information des capteurs sélectionnés à chaque relai Cj.

Il reste néanmoins la difficulté d’optimiser les degrés des nœuds de variables, sachant que le degré des nœuds de parité est fixe. Une première approche est proposée en Annexe 1.

2.3 Evolution du système proposé, Perspectives de recherche:

2.3.1 Transmissions par relais multicouches :

Il est possible de généraliser les systèmes décrits en figures 3 et 6 au cas plus général où les relais peuvent aider d’autres relais à transmettre leurs informations. Ce contexte est bien adapté au cas des réseaux de capteurs puisque les communications se font point à point. On obtient un système beaucoup plus complexe à optimiser. Un exemple est donné sur la figure ci-dessous (Fig. 7).

Fig. 7 : Exemple de réseau avec deux couches de relais

On voit par exemple sur la figure 6 que le relai C4 fait appel non seulement à la transmission des capteurs 1 et 4 mais aussi à la transmission des relais 1 et 3. En écrivant l’ensemble des équations de parité du système on arrive à la matrice de contrôle de parité H définie par :

1 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 [ , ] 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 T tri                   H P P (14) 3 4 2 4 V V C C 1 4 1 3 V V C C C4 1 3 V V V1 V2 V3 V4 C1 C2 C5 1 2 4 C V V 2 3 2 V V C C3

(14)

P est une matrice triangulaire inférieure. On peut remarquer qu’à chaque fois que l’on tri construira un système de relais multicouches on obtiendra une matrice de type triangulaire inférieure à la place de la partie identité classique dans un système à une seule couche. Le graphe du code correspondant est donné sur la figure 8 ci-dessous.

Fig. 8 : Graphe de décodage équivalent pour la topologie du réseau de la figure 7 Il reste à inventer une méthodologie d’optimisation de tels codes LDPC dans les réseaux de relais multicouches. La méthodologie utilisée pour les systèmes à une couche doit être généralisée à ce contexte beaucoup plus délicat. Il faut veiller une fois de plus à faire en sorte que les capteurs soient inclus le plus équitablement possible dans les équations de parité et faire en sorte que les matrices équivalentes H ne présentent pas de cycles courts. C’est une perspective de recherche très riche et inédite dans un tel contexte.

2.3.2 Etude des protocoles de retransmission :

Un des rôles essentiels du codage coopératif de canal est de minimiser les retransmissions dans le réseau afin d’optimiser la durée de vie des capteurs. On supposera évidemment que les transmissions se font par paquets dans tous les contextes étudiés. Certains auteurs ont déjà proposé des approches où ils ont quantifié à la fois de façon théorique et par simulations le gain apporté par l’utilisation du codage coopératif. C’est ainsi que A. Molisch & al [3] ont proposé d’utiliser des codes fontaine dans le contexte du codage coopératif et ont montré le gain substantiel apporté par un tel choix. Il est évident qu’une étude détaillée des mécanismes de reprises de transmission après détection d’erreurs (ARQ) devra être menée pour les deux contextes proposés à savoir les réseaux de capteurs et les radiocommunications cellulaires. On peut citer parmi les principales techniques ARQ les protocoles Stop and Wait et le protocole N-SAW [4-5] où on peut anticiper sur la retransmission des paquets à laide de mémoires tampon. De plus, lorsque les relais ont la possibilité de stocker les paquets erronés, il existe des méthodes de recombinaison des LLR’s qui permettent d’obtenir un paquet correctement détecté à partir de plusieurs répliques erronées. Parmi ces techniques, on peut citer l’algorithme de Chase [6] qui consiste à retransmettre à plusieurs reprises le même paquet codé. En cas d’échec de décodage du premier paquet reçu, l’émetteur retransmet le même paquet après le temps d’attente RTD fixé par les couches hautes. On compte donc sur la diversité temporelle du canal pour construire un bon paquet à partir de répliques erronées. On peut également citer l’algorithme IR (Incremental Redundancy) [7] qui offre en plus une diversité de codage puisque les retransmissions utilisent des schémas de codage différents avec ajout ou retrait de bits systématiques ou de bits de parité. L’étude de ces différents protocoles devra permettre de dégager les mieux adaptés aux contextes de réseaux coopératifs étudiés et de quantifier le gain réalisé en termes de retransmissions par rapport à un réseau classique non-coopératif.

(15)

2.3.3 Codage conjoint de canal et de réseau :

Lorsque l’on étudie le codage de réseau on suppose toujours que les capteurs ou les sources transmettent des messages non codés. On regarde alors comment placer des relais dans le réseau pour obtenir des équations de parité judicieusement de telle sorte à obtenir une matrice de contrôle de parité H qui conduise à un bon code LDPC. En vérité, il est clair que les capteurs utiliseront un codage de canal pour protéger les informations à transmettre. Il peut alors apparaître particulièrement judicieux d’étudier l’interaction entre le codage de canal utilisé au niveau des capteurs et le codage de réseau utilisé en couche supérieure. Par exemple, pour le contexte des capteurs non sélectionnés par certains relais, il est clair qu’il est plus grave d’oublier un bit d’information de ce capteur plutôt qu’un bit de parité. Il faudra étudier le graphe conjoint de l’ensemble codage-canal des capteurs plus codage réseau pour essayer d’optimiser au mieux le code résultant. On peut penser que la présence d’un codage de canal simple aux capteurs permettra de relâcher certaines contraintes sur la réalisation du codage de réseau. Il s’agit là d’une voie de recherche à explorer entièrement nouvelle.

2.3.4 Utilisation d’antennes multiples aux capteurs avec formation de faisceaux :

On a évoqué dans la première phase de diffusion la nécessité pour les capteurs d’utiliser des canaux orthogonaux i.e. typiquement de transmettre les uns après les autres dans des créneaux temporels distincts. Ceci entraîne une perte d’efficacité considérable dans les débits transmis. On peut alors envisager, dans le cas des radiocommunications cellulaires, l’utilisation d’antennes multiples sur ces mêmes capteurs pour optimiser la capacité de transmission et l’utilisation conjointe de formateurs de faisceaux c'est-à-dire de vecteurs de précodage en émission aux capteurs pour discriminer ou favoriser en réception sur tel ou tel relai les flux d’un certain nombre de capteurs. Il existe par exemple des procédés simples de précodage basés sur le procédé de Gram-Schmidt qui permettent d’obtenir d’excellentes performances [8].

Il apparaît de plus, que dans un tel contexte, des algorithmes d’optimisation de la puissance allouée aux capteurs peuvent être mis en place pour optimiser la durée de vie de ces derniers. 2.3.5 Utilisation du codage temps-espace coopératif :

Le codage de réseau coopératif à base de structures de code de type LDPC ne peut être réellement performant que pour un nombre suffisamment élevé de capteurs dans le réseau. Lorsque le nombre de capteurs est faible il est plus que probable que le gain de diversité devient plus avantageux que le gain de codage. Dans ce cas là la mise en place d’un système à codage temps-espace coopératif peut s’avérer plus performante que le système à codage de réseau proposé. Nous avons déjà entrepris des études dans le cadre de l’application des codes temps-espace algébriques au contexte des communications par relais asynchrones. En particulier nous avons proposé des structures de codes temps-espace basé sur les codes TAST de Damen & al [9-11] qui affichent des longueurs temporelles minimales tout en maintenant un gain de diversité maximal. Il faudrait pouvoir cerner à partir de quelle limite en termes du nombre de capteurs le système à codage de canal coopératif ou codage de réseau devient plus performant que le système à codage temps-espace. Il s’agit là encore d’un problème particulièrement délicat qui ouvre de larges perspectives de recherche.

2.3.6 Utilisation des codes CORTEX :

Toujours dans le contexte des réseaux à faible nombre de capteurs, il nous est apparu intéressant d’examiner l’utilisation des codes CORTEX mis au point par J.C Carlach [12-14]. En effet, ces codes permettent, même sur des blocs courts, de générer de grandes distances libres qui confèrent d’excellentes propriétés de correction aux codes réalisés. Le principe des

(16)

codes CORTEX est le suivant. La construction Cortex utilise de petits codes de base Cb mis

en parallèle dans un nombre s d’étages en série d’indices 0,1…,s-1 séparés par des permutations  0, 1,...,s2 comme le montre la figure ci-dessous :

Fig. 9 : Schéma général de la construction Cortex

Les bits d’information (x0, x1,…, xk-1) sont disposés à gauche à l’entrée de la structure et les

calculs s’effectuent de gauche à droite suivant les règles de calcul des petits codes de base Cb

pour obtenir à droite les bits de redondance (r0; r1,…,rk-1). Les permutations pi sont

fondamentales pour "mélanger" les informations entre étages. Intuitivement, plus ce mélange ou cette diffusion d’information entre les codes est "bien" effectuée, selon des critères restant à définir, plus le code sera "bon". Autrement dit, ces permutations ou entrelacements de liaisons entre étages permettent d’augmenter la distance minimale du code et donc par là même sa capacité de correction d’erreurs. On peut aussi dire, que ces connexions définissent les mots du code considérés comme des signaux mémorisés. Cette première analogie de forme et de fonction avec les neurones du néo-cortex d’un cerveau (structurés en 6 couches [15]) a motivé en 1998 l’appellation "Cortex" de ces codes.

L’invention des codes "Cortex" se place dans le prolongement de l’invention des Turbo codes [16] par Claude Berrou et Alain Glavieux en 1991 qui a révolutionné le domaine des transmissions numériques pour mener à la re-découverte en 1995 par MacKay [17] des codes LDPC (Low-Density Parity Check) inventés en 1961 par Robert Gallager [18]. Les permutations ou entrelaceurs sont fondamentales dans les Turbo codes, les codes LDPC et toutes les variantes imaginées après l’impact de la publication des Turbo codes en 1993. Berrou & al. ont appelé "concaténation parallèle" le fait d’encoder en parallèle les bits d’informations utiles une fois dans l’ordre naturel et une fois dans l’ordre permuté. La notion de Turbo codes "concaténation série" a été introduite par Benedetto et al.[19] en codant une première fois les données utiles pour produire un premier ensemble de bits de redondance, ces bits de redondance étant eux-mêmes permutés et encodés pour produire un deuxième ensemble de bits de redondance. Ces codes Cortex peuvent donc être considérés comme des Turbo codes à "concaténation série" dans lesquels on ne transmet que les données utiles et le dernier ensemble de bits de redondance. Peu après leur invention en 1998, les études théoriques de ces codes Cortex ont montré leurs étonnantes performances [20] mais leur nouveauté et leur énorme potentiel de correction d’erreurs en faisaient a priori des codes difficiles à décoder simplement.

De plus, étant donné le nombre k!       k (k 1) (k 2) ... 2 1 de permutations possibles (entre 2 étages) croissant très rapidement avec la longueur k, il est a priori difficile de trouver les permutations optimales générant les codes optimaux de distances dmin maximales pour des

longueurs n et k données. Cb Cb Cb Cb  Cb Cb Cb  Cb Cb Cbs Cb Cb

(17)

Construire des codes correcteurs courts de grandes distances minimales est encore pour l’instant un défi technologique. Pourtant c’est un domaine d’un grand intérêt pratique pour l’industrie des télécommunications. Ce qui reste à faire pour les codes Cortex est de trouver leurs architectures avec un minimum de permutations (et donc d’étages) afin de construire avec la plus faible complexité possible les codes optimaux de paramètres (n; k; dmin), mais

aussi de les décoder de façon quasi-optimale avec une très faible complexité. L’approche qui a été choisie, depuis le début en 1998, est d’essayer de construire les codes Cortex optimaux de rendement 1/2 afin d’en dériver les codes optimaux de rendement inférieurs et supérieurs à 1/2. Pour les rendements supérieurs à 1/2, l’approche choisie doit être différente de celle classique du poinçonnage qui "casse" l’optimalité du code "mère" de rendement 1/2. De plus, cette technique de dérivation de codes optimaux de rendement inférieurs et supérieurs à 1/2 doit être très flexible. Cette flexibilité de programmation du rendement du code Cortex pourra être utilisée dans chaque nœud du réseau pour effectuer soit un codage de réseau et/ou une détection/correction d’erreur classique.

2.3.7 Multiplexage de plusieurs réseaux de capteurs :

Pour terminer la partie concernant les perspectives nous devons évoquer le contexte où plusieurs réseaux de capteurs communiquent avec plusieurs stations de destination à travers le même ensemble de relais. La configuration du réseau est décrite sur la figure ci-dessous (Fig. 10) :

Fig. 10 : Multiplexage de plusieurs réseaux de capteurs

Le but du schéma de codage de réseau à concevoir est de faire en sorte que les sous-ensembles A et B communiquent avec les bonnes destinations sans créer d’interférences entre eux. Nous proposons une première solution qui demandera à être approfondie dans le cadre du projet de recherche proposé ici. On suppose qu’il y a M capteurs V1,...,V dans le groupe A, N M

capteurs V1',...,VN' dans le groupe B et L relais C1,...,C . On appellera de plus L A( ,...,A1 AM) et B( ,...,B1 BN) les séquences de bits envoyés respectivement par les capteurs du groupe A et du groupe B.

Le protocole de transmission dans ce système se déroule de la manière suivante : dans une première phase de diffusion chaque capteur transmet ses informations à la fois vers les relais et les destinations. A partir des bits reçus correctement détectés, les relais sélectionnent un certain nombre d’entre eux pour former des équations de parité avec des OU exclusif. A partir

Relais dA dB Groupe A : Ensemble de capteurs V1 VM Groupe B : Ensemble de capteurs V’1 V’N Destination pour l’ensemble des capteurs du groupe A Destination pour l’ensemble des capteurs du groupe B C1 Ci CL

(18)

de ce schéma d’encodage un graphe équivalent du code est formé à chaque destination. Un exemple est donné sur les figures 11 et 12 avec MN3 et L 4.

Fig. 11 : Graphe de décodage équivalent à la destination dA

après annulation des interférences du groupe B

Fig. 12 : Graphe de décodage équivalent à la destination dB

après annulation des interférences du groupe A

Pour le processus d’annulation des interférences, nous proposons le processus suivant. On appelle G et A G les matrices génératrices des codes CB A et CB obtenus aux destinations dA et

dB. On peut représenter les matrices G et A G sous forme de matrices blocs : B

,1 ,1 ,2 ,2 , A B A B A B          G G G G G G (15)

Les contraintes sur les dimensions par rapport aux nombres de capteurs et de relais conduisent à : Nlignes(GA,1)Nlignes(GB,1)Ncol( )AM et Nlignes(GA,2)Nlignes(GB,2)Ncol( )BN (avec des notations évidentes Nlignes(X) représente le nombre de lignes de la matrice X et Ncol(X ) représente le nombre de colonnes de la matrice X. Si on appelle DA(D1A,...,DAM N L  ) et

V3 V2 V1 V’ V’2 1 C2 C3 C4 C1 V’3 V3 V2 V1 V’ 2 V’1 C2 C3 C4 C1 V’3 Ensemble capteurs

Groupe A Ensemble capteurs

Groupe B Ensemble capteurs Groupe A Ensemble capteurs Groupe B C4 C2 V3 V2 V1 V’ 2 V’1 C2 C3 C4 C1 V’3 Ensemble capteurs

Groupe A Ensemble capteurs

Groupe B V3 V2 V1 V’ V’2 1 C3 C1 V’3 Ensemble capteurs Groupe A Ensemble capteurs Groupe B

(19)

1

( ,..., M N L)

B DB DB

 

D des mots de code respectivement de CA et CB on doit avoir les

relations :

,1 ,2 ,1 ,2 . . . . A A A A B A B B             G D A B G A B G G D A B G A B G (16)

On peut voir par exemple à partir de l’équation de (16) que les mots de code reçus D et A D B aux destinations dA et dB.sont des combinaisons linéaires à la fois de A et de B. Il semble alors

difficile d’éliminer les interférences en réception. Cependant, si l’on divise le code CA en deux

sous codes CA,1 et CA,2 générés par GA,1 et GA,2 et le code CB en deux sous codes CB,1 et CB,2

générés par GB,1 et GB,2.et si l’on appelle HA,2 et HB,1 les matrices de parité de GA,1 et GA,2,

on doit avoir les relations :

,2 ,2 ( ) ,1 ,1 ( ) . . T A A N M L T B B M M L       G H G H 0 0 (17)

A partir de ces deux équations il est facile de déduire que :

,1 ,2 ,1 ,2 ,2 ,1 ,2 ,2 ,1 ,1 ,1 ,2 ,2 ,1 ,2 ,1 . . . ( ). ( ). . . . . ( ). ( ). . . . T T A A T A A A A A T A A A T B B T B B B T T B B B B B                           G H G H D D H A B A B A G G H G H D D H A B A B B G G H G H 0 0 (18)

Avec : GA,1GA,1.HTA,2 et GB,2GB,2.HTB,1. A partir des équations (18) on peut se rendre compte que la multiplication du mot de code D par la matrice A HTA,2 conduit à un nouveau mot de code DA à la destination dA avec une matrice équivalente de génération de code GA,1.

A

D est bien un mot de code de A et ne contient pas d’interférences en provenance de B. De la même façon on peut voir que la multiplication du mot de code D par la matrice B HTB,1 conduit à un nouveau mot de code DB à la destination dB avec une matrice équivalente de

génération de code GB,2 et qui ne contient pas d’interférences en provenance de A.

Avec ces matrices d’encodage on peut considérer que le réseau global se décompose en deux sous-réseaux avec des matrices d’encodage GA,1 et GB,2, respectivement et les interférences

entre groupes sont supprimées. La figure 13 illustre le réseau équivalent obtenu.

En supposant, pour des raisons de simplicité, que les codes CA et CB sont des codes

systématiques comme les matrices de codes LDGM (Low Density Generator Matrix), on peut écrire :

(20)

Fig. 13 : Décomposition du système complet en deux sous-systèmes équivalents ,1 ,1 ,2 ,2 ,1 ,1 ,2 ,2 A A M M N A A A N M N B B M M N B B B N M N                           G P I G G P I G P I G G P I 0 0 0 0 (19) Et : ,2 ,2 ,2 ,1 ,1 T T A L L N A A M L M N M L M M N T L B L N B N L N M N                           P I P H I I I P H I I 0 0 0 0 0 0 (20)

On peut alors, en reportant ces valeurs dans les équations (18) trouver les expressions des matrices GA,1 et GB,2. ,1 ,1 ,2 ,1 ,2 ,1 . ( ). ( ) L L M T A A A A M M N M L M A N M A M                I G G H P I I P P I 0 0 0 0 (21) Capteurs groupe A Capteurs groupe B GA,1 GB,2 GA,2 GB,1 Destination dA Destination dB (M+N+L, M+N) Code (M+N+L, M+N) Code G Capteurs groupe A Capteurs groupe B ,1 ,1.( ,2) T AA A G G H ,2 ,2.( ,1) T BB B G G H Destination dA Destination dB (M +L, M) Code (N +L, N) Code

(21)

,2 ,2 ,1 ,2 ,1 ,2 . ( ). ( ) L L M T B B B B N M N B M N N L N B N                I G G H P I P I P I 0 0 0 0 (22)

(22)

Références :

[1] X. Bao, J. Li, “Adaptive Network Coded Cooperation (ANCC) for Wireless relay Networks: Matching Code-on-Graph with Network-on-Graph”, IEEE Trans. Wire. Commun., vol. 7, n°2, pp. 574-583, Feb. 2008.

[2] K. Pang, Z. Lin, Y. Li and B. Vucetic, “Joint Network-Channel Code Design for Real Wireless Relay Networks”, 2010 6th International Symposium on Turbo Codes & Iterative Processing, pp. 439-443, Sept. 2010.

[3] S. Brink, G. Kramer and A. Ashikhmin, “Design of Low-Density Parity-Check Codes for Modulation and Detection”, IEEE Trans. Commun., vol. 52, n°4, pp. 670-678, Apr. 2004. [4] S. Brink, G. Kramer and A. Ashikhmin, “Design of Repeat-Accumulate Codes for Iterative detection and Decoding”, IEEE Trans. Signal Processing., vol. 51, n°11, pp. 2764-2772, Nov. 2003.

[5] A. Molisch, N. Mehta, J. Yedida, J. Zhang, “Cooperative Relay Networks Using Fountain Codes”, IEEE Global Telecommunications Conference (GLOBECOM) 2006, pp. 1-6.

[6] Tanenbaum, Andrew S., Computer Networks, 4th ed. ISBN 0-13-066102-3

[7] S. Hara, A. Ogino, M. Araki, M. Okada, N. Morinaga, “Throughput performance of SAW-ARQ protocol with adaptive packet length in mobile packet data transmission”, IEEE Trans. Veh. Technol., vol. 45, n°3, pp. 561-569, March 1996.

[8] D. Chase, P. D. Muellers, J. K. Wolf, “Application of code combining to a Selective-Repeat ARQ link”, IEEE MILCOM Conference, pp. 247-252, Oct. 1985.

[9] S. Sesia, G. Caire, G. Vivier, “Incremental redundancy hybrid ARQ schemes based on low-density parity check codes”, IEEE Trans. on Com., vol. 52, n°8, pp. 1311-1321, Aug. 2004.

[10] H. Meghdadi, J.P. Cances, V. Meghdadi, “Simple Precoding Algorithms using Gram-Schmidt Orthonormalization process for Multi-User Relay Communications with Optimized Power Allocation”, soumis à IEEE Trans. Veh. Tech., May 2010.

[11] H.E. Gamal, M. O. Damen, “Universal Space-Time Coding”, IEEE Trans. on Inform. Theory., vol. 49, n°5, pp. 1097-1119, May 2003.

[12] M. O. Damen, A. Tewfik and J. C. Belfiore, “A Construction of a Space-Time Code based on Number Theory”, IEEE Trans. on Inform. Theory, vol. 48, n°3, pp. 753-760, March 2002.

[13] M. O. Damen, A. Tewfik and J. C. Belfiore, “A Construction of a Space-Time Code based on Number Theory”, IEEE Trans. on Inform. Theory, vol. 48, n°3, pp. 753-760, March 2002.

[14] J.C. Carlach and C. Vervoux, “A New Family of Block Turbo-Codes”, pp.15-16, AAECC-13 Proceedings, Honolulu (Hawaii, USA), November 1999.

[15] J.C. Carlach, A. Otmani and C. Vervoux, “A New Scheme for Building Good Self-Dual Codes”, page 476, ISIT’2000 Proceedings, Sorrento (Italy), June 2000.

[16] J.C. Carlach and A. Otmani, “A Systematic Construction of Self-Dual Codes”, IEEE Transactions on Information Theory, Vol.IT-49, pp.3005-3009, November 2003.

[17] J.P. Changeux, “L’homme neuronal”, Ed. Fayard, Paris,1983.

[18] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes”, in Proceedings of the IEEE Int. Conf. on Communications (ICC’93), Geneva, Switzerland, pp. 1064-1070, May 1993,

[19] D.J.C. MacKay and R.M. Neal, “Good codes based on very sparse matrices”, in Cryptography and Coding 5th IMA Conference, C. Boyd Ed., Lecture Notes in Computer Science, no.1025, Berlin (Germany), Ed. Springer, pp. 100-111, 1995.

[20] R.G. Gallager, “Low-Density Parity Check codes”, MIT Ph.D. Thesis, Cambridge, Massachussets,USA, July 1963.

(23)

[21] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial Concatenation of Interleaved Codes: Performance Analysis, Design and Iterative Decoding”, IEEE Transactions on Information Theory, Vol.44, no.3, pp.909-926, May 1998.

[22] G. Olloco and J.P. Tillich, “A family of self-dual codes which behave in many respects like random linear codes of rate 1/2”, ISIT’2001 Proceedings, Washinghton (DC, USA), pp. 15, 24-29 June 2001.

(24)

Annexe 1 : Optimisation des codes de type R.A.

Nous proposons d’utiliser la méthode présentée par S. T. Brink dans [1] pour l’optimisation des codes LDPC utilisés conjointement avec un détecteur MIMO. Le but est de caractériser, à l’aide des fonctions de transfert EXIT charts, d’une part l’information mutuelle IA CND, en sortie de l’ensemble codeur-accumulateur plus nœuds de parité en fonction de l’information mutuelle en entrée IE CND, et d’autre part l’information mutuelle IE VND, en sortie des nœuds de variable en fonction de l’information mutuelle d’entrée IA VND, . Nous proposons en Annexe 1

une première approche d’optimisation de ce type de codes.

On peut visualiser ce procédé sous la forme du schéma ci-dessous (cf Fig. ci-dessous)

Principe du décodage itératif pour le réseau de capteurs On a la relation (cf [1]) : v 1 2 2 , , 0 v, , 1 ( , / , ) . ( ( 1).[ ( )] ) D E VND A VND s i i A VND c i I I E N R b J d JI   

  (1) Avec : 3 2 ,2 ,2 ,2 ,2 3 2 * ,1 ,1 ,1 . . . * . . . 0 ( ) 1 10 1, 10 J J J J J J J a b c d a b c J e                            (2) * ,1 ,1 ,1 ,2 ,2 ,2 ,2 1.6363, 0.0421061, 0.209252, 0.000640081 0.00181491, 0.1421675, 0.0822054, 0.0549608 J J J J J J J a b c a b c d              Et : 2 * 1 ,1 ,1 ,1 * ,2 ,2 ,2 . . . 0 ( ) .ln[ .(1 )] . 1 a I b I c I I I J I a b I c I I I                    (3) * ,1 ,1 ,1 ,2 ,2 ,2 0.3646, 1.09542, 0.214217, 2.33727 0.706692, 0.386013, 1.75017 I a b c a b c               , E CND RAI , A CND I , A VND I , E VND I entrelaceur au niveau des liens

décodeur nœud de parité plus accumulateur décodeur nœud de variable 1    canal - - -

(25)

Dans l’équation (14) b désigne la proportion de liens provenant des nœuds de variables avec i

un degré dv,i, i1, 2,...,Dv avec la contrainte :

v 1 1 D i i b  

, R est le taux de codage et l’on a :

2 2 , 0 [8. . . s ] c m n E E R h N   (4)

Pour le calcul des EXIT charts avec les nœuds de parité et le code R.A on a la relation :

1 2 1 2

, ( , , , / 0, ) 1 ( ( 1).[ (1 , )] [ (1 , )] )

E CND RA A CND c s c A CND E RA

II d E N R  J dJ IJ I (5)

La quantité IE RA, désigne la fonction de transfert du décodeur accumulateur, elle est fonction des quantités : IRA RA, , Es/N et 0 R. Ici, IRA RA, désigne la courbe EXIT charts du décodeur accumulateur depuis les nœuds de parité vers l’accumulateur. La quantité IRA RA, peut être

approximée par :

1

, ( , , ) 1 ( . (1 , ))

RA RA A CND c c A CND

I I d  J d J I (6)

Il reste à décrire la dépendance entre IE RA, et IRA RA, ; qui reste encore un problème ouvert. Au pire, il est possible d’obtenir la courbe (5) par simulations si l’obtention de cette dépendance s’avère trop délicate.

Figure

Fig. 1 : Schéma d’un réseau de capteurs
Fig. 2 : Extension de couverture par portable relai
Fig. 3 : Système étudié, réseau de capteurs et relais
Fig. 4 : Exemple de graphe à l’issue de la phase de diffusion (broadcast)
+7

Références

Documents relatifs

Then the patch and its timestamp are published to the members of the group using an update protocol, called UCT protocol (see the details in Section 3.3). To retrieve

Keywords Machine learning  Support vector regression  Multi-scale environmental modelling  Spatial mapping  Kernel methods..

عوضوملل ةقباسلا تاساردلا : و رئازجلا ةعماج يتبتكم اصوصخ ةيرئازجلا ةبتكملل انحفصت للاخ نم ةملاق ةعماج ، ضعب اندجو عوضوملا بناوج ضعب تلوانت ةقباسلا

In this work we will (i) review and discuss to what extent the link between cognitive functioning and schizophrenia is underpinned by genetics according to recent studies using GWAS

[r]

Laurans M, Martin O, Nicolini E, Vincent G (2012) Functional traits and their plasticity predict tropical trees regeneration niche even among species with intermediate

43- Alexandre Yaghi: Dictionnaire francais francais arabe,Ed dar el houda, Ain Melila,Algerie,2014... 63- Gustave Nicolas F:psychologie des violences social,dunod,

La capacité antioxydante a été étudiée par le DPPH et l’évaluation de cette activité biologique des quatre phases a donné des valeurs très intéressantes, jusqu’a 95,87%