PROPOSITION D’AMELIORATION DE SOLUTIONS : LDPC ET SYSTEMES COOPERATIFS

Télécharger le fichier pdf d’un mémoire de fin d’études

Types de diversité

On connait plusieurs techniques de diversité et de combinaison de techniques de diversité, mais voici les principales :

Diversité spatiale

La diversité spatiale, aussi connue sous le nom de diversité d’antennes, ou diversité matricielle est l’une des techniques les plus anciennes. Elle est facile d’implémentation et ne requière pas de ressources fréquentielles supplémentaires. L’objectif est d’avoir plusieurs antennes séparées d’une distance suffisante pour avoir un dé corrélation de canal. Il faut donc avoir un espacement suffisant. La distance nécessaire dépend de divers éléments, soit du terrain, de l’environnement, de l’antenne elle-même, ses dimensions, etc. Lorsque le canal est connu, le transmetteur peut aussi utiliser ce type de diversité. Sinon, il en profitera via un autre type de diversité tel qu’on verra en sous-section.

Diversité angulaire

Cette technique est grandement reliée à la diversité spatiale, elle implique que lorsque les faisceaux émis par les antennes sont suffisamment séparés angulairement, il est possible que le niveau de corrélation soit assez bas pour profiter d’un degré de diversité.
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile Cette technique est surtout utilisée pour les réseaux internet sans-fil domestiques pour accroître la capacité en débit du réseau.

Diversité fréquentielle

Cette technique, de catégorie explicite, demande l’envoi du même signal sur des fréquences différentes. Il faut toutefois faire attention à la largeur de bande cohérente et à l’étendue fréquentielle due au multi parcours et aux distances à franchir par la transmission. On doit faire également attention à la bande de fréquence disponible pour l’utilisation de cette technique qui est exigeante de ce côté.

Diversité de parcours

Cette technique implicite est utilisable lorsque la largeur de bande du signal est plus grande que la largeur de bande cohérente du canal. C’est la technique derrière le multi parcours, où le récepteur profite de la présence de plusieurs versions du signal pour obtenir un gain en diversité.

Diversité temporelle

Lorsque l’on sépare l’envoi du même signal par le temps cohérence du canal, il est possible de profiter de la diversité temporelle. Tout dépend également de la vitesse de déplacement du mobile et de la fréquence porteuse. Il faut toutefois que la vitesse du mobile demeure assez élevée ou que les délais entre les signaux restent suffisamment grands.

Diversité spatio-temporelle

La diversité spatio-temporelle est un exemple de combinaison de techniques de diversité. En effet, cette technique envoie deux versions de signal différées dans le temps via deux antennes transmetteurs. Ainsi, atteint un niveau de diversité plus aisé.
Comme nous l’avons vu tantôt, la diversité spatiale est utilisée pour lutter contre les effets délétères de la décoloration par la transmission, les signaux provenant de différents endroits, permettant ainsi différentes versions fanées indépendamment du signal au niveau du récepteur. L’idée d’un système avec entrée multiple sortie multiple (MIMO) a été proposée pour générer de la diversité spatiale en équipant les appareils sans fil de plusieurs antennes.
Ainsi dans la section qui suit nous aborderons plus en détails les systèmes MIMO.

MIMO

Principe de la technique MIMO

Dans les systèmes de transmission traditionnel, chaque nœuds possède une antenne : l’émetteur tout comme le récepteur. On les appelle les systèmes SISO pour Single Input Single Output. Or avec l’avancée de la technologie, y a une demande de plus en plus forte de transmission de données, donc une augmentation de la capacité de transmission. Ainsi pour augmenter cette capacité des SISO et satisfaire à la demande, les bandes passantes de ces systèmes et les puissances de transmission ont été largement augmenté. Mais les récents travaux ont montré qu’il était possible d’accroitre le débit de transmission des données et cela sans augmenter ni la bande passante de l’antenne, ni la puissance du signal à l’émission grâce à l’utilisation de plusieurs antennes à l’émission et à la réception. Cette technique s’appelle MIMO (Multiple Input Multiple Output).

Les différents types de codage MIMO

Différentes méthodes sont utilisées pour le codage dans ces systèmes :
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile

Le multiplexage par répartition de fréquence orthogonale (OFDM)

Il consiste à diviser sur un grand nombre de porteuses, le signal numérique que nous souhaitons transmettre (comme si nous combinons le signal à transmettre sur des émetteurs indépendants et à des fréquences différentes) . Pour que les fréquences des porteuses soient les plus proches possibles et ainsi transmettre le maximum d’informations sur une portion de fréquences donnée, l’OFDM utilise des porteuses orthogonales entre elles.
Les signaux des différentes porteuses se chevauchent mais grâce à l’orthogonalité, n’interfèrent pas entre eux. Ainsi, dans un environnement multi- trajets où certaines fréquences seront détruites à cause des perturbations, le système sera tout de même capable de récupérer l’information perdue sur d’autres fréquences porteuses qui elles n’auront pas été détruites.

Le multiplexage par division spatiale (SDM)

Au cours duquel plusieurs flux de données indépendants (essentiellement des canaux virtuels) sont simultanément multiplexés dans un canal spectral. Le multiplexage SDM peut améliorer le débit de façon significative, car le nombre de données spatiales résolues est plus important.
Chaque flux spatial doit disposer de sa propre paire d’antennes de transmission/réception à chaque extrémité du lien radio. Il est important de noter qu’une chaîne de radio fréquences RF et qu’un convertisseur analogique-numérique distincts sont nécessaires pour chaque antenne du système MIMO. Les configurations qui nécessitent plus de deux chaînes d’antennes RF doivent être conçues avec attention pour maintenir des coûts peu élevés tout en répondant aux attentes en matière de performances.

Le codage spatio-temporel par bloc (STBC)

Tout comme le SDM permet d’envoyer des signaux différents sur chaque antenne. Le principe du STBC est d’introduire une redondance d’information entre les deux antennes. Le canal STBC comprend M*N sous canaux. Chaque sous canal est un canal à évanouissements indépendants ; ce qui fait que le STBC augmente la diversité du canal de transmission et donc la robustesse du récepteur. Cette méthode est très attractive car elle n’exige pas la connaissance de l’état du canal (CSI) même si cela peut réduire la capacité de transmission des données. Le gain de diversité résultant améliore la fiabilité des liaisons sans fil à évanouissements et la qualité de la transmission. Il est à noter que ce type de codage n’améliore pas la capacité de transmission linéairement avec le nombre d’éléments utilisés.
Ainsi pour améliorer à la fois la capacité et la qualité, un système MIMO doit être implémenté avec les deux types de codages à savoir le SDM et le STBC.

Capacité de canal

Nous allons ici comparer les capacités des différents canaux existants (SISO, SIMO, MIMO) sans connaissance préalable de l’état du canal CSI. De même, nous allons aussi comparer les limites théoriques données par la capacité de Shannon qui est l’espérance de la capacité et qui ne peut être obtenue que dans un canal idéal, avec un codage idéal.

Capacité d’un système SISO

Soit un système SISO (Figure 1- 1) avec h le gain du canal, γ le rapport signal sur bruit à l’antenne de réception ; la capacité sans connaître le CSI est : = log2 (1 + |ℎ|2) (1.1)
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile
Ainsi la capacité théorique sera alors : t = ( ) = log2 (1 +(|ℎ|2)) (1.2)
Or (hi2) = 1, ainsi : t = log2 (1 + ) (1.3)
Elle augmente, en fonction du logarithmique de 1 + . Lorsque le SNR est élevé, un gain de 3dB sur le γ ne fournira une augmentation que d’un bit par seconde par hertz (bit/s/Hz) [1].

Canal SIMO

Un canal SIMO (Single Input, Multiple Output), est un système multi-antennes (Figure 1- 2) (réalisant par exemple, de la formation de voix en réception) avec une antenne à l’émission et N antennes à la réception. Avec hi le gain complexe entre l’antenne émettrice et la i-iéme antenne réceptrice, sa capacité sera alors: = log2 (1 + ∑ =1 │ℎ │2) (1.4)
Sa capacité de Shannon est donnée par : t = ( ) = log2 (1 +2) (1.5) Avec (∑ = │ │2) = N2
Nous constatons que sa capacité augmente en fonction du logarithmique de 1+ N², soit un peu plus vite que dans le cas SISO.

Étapes à suivre pour concrétiser la coopération:

Cette section traite de la procédure de coopération qui est effectivement mis en œuvre dans la pratique. Il est supposé que chaque nœud du réseau possède un numéro d’identification distinct. Les étapes impliquées dans la réalisation de cette coopération sont les suivants:
 Etape 1 : Maintenance Voisin
Chaque nœud source dans le groupe diffusera à un intervalle régulier un COR (Coopérative Demande). Cela va être diffusé sur une chaîne de contrôle, et sera reçu par tous les nœuds voisins qui sont dans le rayon d’émission. Une fois que le COR est transmis, il y a deux conditions probables: La première est que le nœud qui a reçu le COR va coopérer et l’autre est que le nœud est occupé ou n’a pas assez d’énergie, donc ne peut pas coopérer. Si le nœud est disponible, il enverra à son tour au nœud demandeur un AOC (accord de coopération) avec son nom d’utilisateur. Ainsi la source va stocker l’ID de tous les nœuds prêts à coopérer dans un tableau similaire à celui de routage.
 Etape2 : l’échange d’informations
Lorsque le AOC est reçue par le nœud demandeur, il envisage de transmettre l’information. Maintenant, reste à savoir est ce que le nœud relais est prêt à recevoir des informations de la source. Et pour cela la source envoi un TR (demande de transmission).
 Etape3 : Installation de distribution locale
Après toutes ces étapes de sélection de nœud et de données, la répartition de puissance se fait avec l’un des proposés algorithmes. Enfin les données sont diffusées à chacun des nœuds sélectionnés programmés, et donc la coopération est réalisée et mise en place.

Etude des stratégies de relayage

Considérons un système à 3 nœuds comme le montre la figure 1-9. La source S est reliée au relais R par un canal ℎsr et à la destination D par un canal ℎsd. Le relais est relié à la destination par un canal ℎrd.
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile Dans la première phase, le nœud source diffuse des informations s à la fois en direction de la destination et du nœud de relais. Le signal reçu à la destination, et au nœud de relais sont respectivement :
d,s = ℎds s + ds (1.8)
r,s = ℎrs s + rs (1.9)
Où nrs est le signal de bruit ajouté à ℎrs et ds est le signal de bruit ajouté à ℎds.
Dans la seconde phase, le relais peut retransmettre le signal reçu à la destination que par le mode de transmission directe.
Voilà un modèle de coopération en deux phases qui est le modèle le plus simple, et il en existe d’autres.

Signal de décodage

Nous introduisons quatre régimes de décoder le signal à la destination qui sont le régime direct, le régime non-coopératif, le régime coopératif et le schéma adaptatif. Sauf le régime direct, la destination utilise le signal relayé dans tous les autres régimes.

Programme Direct

Dans le schéma direct, la destination décode les données à l’aide du signal reçu à partir de la source à la première phase où la transmission de la deuxième phase est supprimée de sorte que le relais n’est pas impliqué dans la transmission. Le signal codé reçu depuis la source est: ds = hdsxs + nds (1.10)
Bien que l’avantage du régime direct soit sa simplicité en termes de traitement de décodage, la puissance du signal reçu peut être sévèrement faible si la distance entre la source et la destination est importante. Ainsi, dans ce qui suit, nous considérons le régime non-coopératif qui exploite le signal du relais pour améliorer sa qualité.

Régime non coopératif

Dans le régime non coopératif, la destination décode les données en utilisant le signal reçu du relais sur la deuxième phase, ce qui conduit à la puissance du signal augmentant le gain. Le signal reçu à partir du nœud relais qui n’est rien d’autre que la retransmission du signal source s’écrit: dr = ℎdr rs + dr = ℎdrℎrs s + ℎdr rs + dr (1.11)
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile Où ℎdr est le canal entre le relais et les nœuds de destination et rs est le signal de bruit ajouté à ℎdr.
La fiabilité de décodage peut être faible. Il n’y a aucune augmentation de l’ordre de diversité puisque ce système exploite uniquement le signal relayé et le signal direct du nœud source n’est pas exploitable ou n’est pas pris en compte. Ainsi, dans ce qui suit, nous considérons le système coopératif qui décode le signal combiné à la fois des signaux direct et relayé.

Le schéma coopératif

Pour le décodage coopératif, la destination combine deux signaux reçus à partir de la source et du relais qui se traduit par l’avantage de la diversité. Le vecteur du signal reçu à la destination peut être modélisé comme: = [ ds dr] T = [ℎdsℎdrℎrs] T s + [1 + √|ℎ |2 + 1] T d = ℎ s + d (1.12)
Où ds et dr sont les signaux reçus à la destination à partir de la source et du relais respectivement. On remarque qu’ici les deux versions du signal sont utilisées.

Le schéma adaptif

Le schéma adaptatif sélectionne l’un des trois modes décrits ci- dessus qui sont le direct, le non-coopératif, et les schémas de coopération, en s’appuyant sur les informations des états des canaux et d’autres paramètres de réseau.

Les techniques de coopération

Les techniques de communications coopératives s’organisent en deux grandes familles : les protocoles de relayage régénératifs et les protocoles de relayage transparents.
Dans le relayage transparent, le signal est relayé tel qu’il est reçu sans aucune modification. Dans cette famille de techniques, nous pouvons citer : Amplify-and- Forward (AF) ou Linear-Process and Forward.
Les protocoles de relayage régénératifs quant à eux, modifient le signal reçu avant de le retransmettre. Dans cette famille, nous pouvons nommer les protocoles Estimate-and-forward, Compress-and-Forward ou Decode-and-Forward (DF).
D’une manière générale, les techniques régénératives sont plus performantes que celles transparentes et nécessitent beaucoup plus de capacité de calcul.

Etude détaillée des techniques de coopération

Ici nous nous intéressons aux protocoles de relayage fixes à savoir Decode-and-Forward et Amplify-and-Forward et aux protocoles de relayage adaptatifs.

Amplify and Forward(AF)

Amplify-and-Forward (AF) est l’une des techniques de coopération les plus simples et les plus populaires. La source transmet le signal en premier lieu, et le relais l’amplifie et le transmet vers la destination en second lieu. La destination reçoit donc deux copies du même signal : la copie transmise par la source et celle donnée par le relais. La copie du signal transmise par le relais est modélisée par l’expression suivante : R[]=R[] (1.13)
Où R [ ] est le symbole transmis par le relais R, R [ ] est le signal reçu par le relais et émis par S et β est le coefficient d’amplification.
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile Ce schéma peut être considéré comme une transmission à partir de deux antennes différentes.
En revanche, le relais amplifie le bruit reçu en amplifiant le signal.

Decode and Forward(DF)

La plus importante des stratégies de relayage est sans doute le DF. Le relais décode le paquet reçu donc élimine le bruit avant de ré-encoder puis de retransmettre. La première partie de la communication pour Decode-and- Forward (DF) est la même que celle de AF, la source transmet le paquet et la destination et les voisins entendent. Ensuite, les relais qui ont réussi à décoder le signal le ré-encodent et vont essayer de le relayer vers la destination. Dans ce cas, contrairement à AF, le bruit n’est pas amplifié et une nouvelle version du signal est transmise. Le signal transmis par R peut être donné par: R[ ]= ′R[ ] (1.14)
Où ′R [ ] est le symbole décodé et ré-encodé du signal reçu.
Mais il faut savoir que les techniques énoncées précédemment concernent le relayage fixe qui a l’avantage d’être facilement mis en œuvre et ont comme inconvénient une faible bande passante. En effet, la moitié des ressources du canal est affectée à l’équipement de transmission, ce qui réduit le taux global. Cela est particulièrement vrai lorsque le canal source-destination n’est pas très mauvais, car dans un tel scénario un pourcentage élevé des paquets transmis par la source à la destination peut être reçu correctement par la destination et les transmissions du relais ne seront que gaspillages. Pour surmonter ce problème, les protocoles de relayage adaptatif peuvent être développés pour améliorer l’inefficacité.

Le protocole de relayage ARP (Adaptive Relaying Protocol)

Le protocole de relayage ARP [1] combine d’une manière adaptative les deux protocoles de relayage fixe AF et DF. Ce protocole se fait en deux phases. Dans un premier temps, la source diffuse le paquet à la destination et au relais. Ensuite, le relais décode le paquet reçu en utilisant un décodeur correcteur d’erreurs puis en utilisant un décodeur détecteur d’erreurs. S’il n y a pas d’erreurs de décodage alors le relais fonctionne selon le protocole de relayage DF. Par contre, s’il y a des erreurs de décodage, le relais transmet le paquet en utilisant le protocole de relayage AF. Ce protocole bénéficie des avantages des deux protocoles de relayage fixe AF et DF et il se débarrasse des inconvénients de ces deux protocoles. Le signal transmis par le relais est exprimé par :
R [ ] =R [ ], CRC=ok (1.15)
R [ ] = ′R [ ], CRC=No (1.16)

Le protocole de relayage par sélection des relais

Dans le protocole DF, le relais transmet toujours les paquets ré-encodés à la destination. Ce protocole souffre de propagation des erreurs générées par le codage d’un paquet erroné. Pour surpasser cet inconvénient, le protocole de relayage par sélection a été proposé [1].Ce protocole se fait en deux périodes. Tout d’abord, la source diffuse le signal à la destination et aux relais. Après la réception du paquet, le relais décode, ré-encode puis avant de transmettre le signal à la destination, il mesure les conditions de transmission. Si ces mesures sont supérieures à un certain seuil alors le relais transmet les données à la destination. Sinon, le relais n’envoie pas son paquet ré-encodé et il reste dans un état inactif. Ceci a pour rôle d’éviter le phénomène de propagation d’erreurs qui perturbe le décodage du paquet combiné au niveau de la destination. Le signal transmis par le relais est exprimé par :
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile R[ ]= ′R[ ] (1.18)
Si le seuil est atteint le relais est inactif, sinon dans [1], un seuil optimal à appliquer au niveau du relais a été proposé. Ce seuil calculé dépend de la puissance du signal reçu, de la densité de puissance du bruit, des interférences set des coefficients d’atténuation du canal.

Les techniques de combinaison

Nous allons clore cette section par les techniques de combinaison à la réception qui vont permettre la récupération optimale du signal original.
Un système de diversité combine les chemins de décoloration indépendants pour obtenir un signal. La combinaison peut se faire de plusieurs manières selon la complexité ou la performance globale. Voici trois types de combinaison qu’on peut utiliser à la réception et dans n’importe qu’elle type de diversité:
 La combinaison sélection.
 Égale à la combinaison de gain.
 La combinaison de ratio maximale (MRC).
La plupart des techniques de combinaison sont linéaires : la sortie du combinateur est juste une somme pondérée des différents chemins de décoloration ou des branches, comme illustré à la Figure 1.10 pour la diversité avec M branches.
Parlons par exemple de la technique Maximal Ratio Combining (MRC) : Elle permet de combiner plusieurs copies de signal issues de plusieurs canaux afin de restaurer la version originale du signal et de combattre la distorsion du canal. En effet, dans un système de diversité d’ordre M (où la destination reçoit M copies indépendantes du même signal) ayant un débit et une puissance de transmission fixe, l’énergie d’un symbole d’une copie transmise est de 1/ .Le récepteur reçoit donc une copie dont le SNR (Rapport Signal sur Bruit) est la somme des SNR des M copies du signal propagé.
Optimisation des codes LDPC dans les systèmes coopératifs à relais dans la téléphonie mobile Le récepteur commence par modifier la phase de chaque copie reçue pour aligner les phases de toutes les copies. Ensuite, il affecte un poids à chaque copie suivant la qualité du canal duquel elle est issue, celles provenant d’un canal robuste obtiennent les poids les plus forts et celles des canaux les plus faibles obtiennent les poids les plus faibles. Le récepteur effectue ensuite une somme pondérée de ces signaux pour avoir le signal final. Cette technique de combinaison s’appelle Maximal Ratio Combining (MRC).

Propriétés des codes linéaires

On appelle distance de Hamming entre deux vecteurs x et y, le nombre de positions où ces deux vecteurs sont différents. On note cette distance H (x, y). Le poids de Hamming d’un vecteur x, noté H(x) est égal au nombre de composantes non nulles. On peut donc aussi exprimer le poids de Hamming comme la distance de Hamming entre x et un vecteur nul. Par définition, on appelle i le plus petit poids d’un mot de code généré par un mot d’information de poids . On peut noter que 1 correspond au plus petit nombre d’éléments non nuls par ligne de la matrice génératrice 1.
La capacité de correction d’un code est mesurable2 si on a connait la distance minimale du code notée min. La distance minimale d’un code est la plus petite distance de Hamming entre deux mots de codes. Comme nous nous intéressons a des codes linéaires (et donc la différence entre deux mots de code est également un mot de code), la distance minimale entre deux mots de code distincts est égale au plus petit poids de Hamming d’un mot de code non nul. On peut donc exprimer la distance minimale de la façon suivante : min = min i∀ ∈ [1, ] (2.7)
On note ( ), le nombre de mots de code de poids . Nous définissons le spectre de distance d’un code par l’ensemble {( ), ≥ 1}. A partir du spectre de distance on peut définir la fonction énumératrice des poids (Weight Enumerating Function WEF) donnée par : = ∑ ≥1 ( ) l (2.8)
Où est une variable formelle. Cet outil est très utile pour calculer des bornes relatives à la probabilité d’erreur binaire trame, (Frame Error Rate) (FER), pour le canal à bruit additif blanc gaussien (AWGN : Additive White Gaussian Noise) dans la région de rapport signal sur bruit élevé, et sous l’hypothèse d’un décodage à maximum de vraisemblance : ≤ 1 ( ) | l =(√ ) (2.9)
Où b / 0 est le rapport de l’énergie par bit sur la densité spectrale de puissance du bruit.

Exemple de codes linéaires

La famille de codes linéaires sans doute la plus connue, est la famille des codes convolutifs. Ces codes inventés en 1954 par P. Elias [2] constituent une famille de codes dont la simplicité et les bonnes performances sont en grande partie à l’origine de leur succès. Leur décodage se réalise très facilement en utilisant l’algorithme de Viterbi. Cet algorithme parcourt le diagramme en treillis du code et détermine le chemin le plus vraisemblable. Ce diagramme en treillis représente l’évolution de l’état du codeur en fonction du temps. Les codes convolutifs sont souvent associés à un code externe formant un code concaténé puissant avec un fort pouvoir de correction. Ces schémas de codes concaténés introduits par Elias et Forney [2] [3] ont une complexité de décodage raisonnable obtenue grâce à un décodage séquentiel des codes constitutifs. Les schémas de concaténation les plus connus sont sans doute la concaténation d’un code convolutif avec un code BCH (du nom de leurs auteurs Bose Chaudhuriet Hocquenghem) [4] dit réciproquement, code interne et code externe (exemple figure 2-4). En particulier les codes RS (Reed-Solomon) sont très largement utilisés dans nombreux standards (DVB-T par exemple).
Ces codes RS sont des codes correcteurs très puissants dans lequel les bits du mot de code sont remplacés par un symbole d’un corps de Galois (en pratique on se restreint à GF (2q)). Une des propriétés intéressantes des codes RS est l’expression analytique de la distance minimale qui est égale à − + 1.
D’autres familles de codes sont très largement utilisées et non détaillées dans ce manuscrit. Nous citerons par exemple les codes CRC (Cyclic Redundancy Code) qui permettent de vérifier l’intégrité d’un mot formé de plusieurs bits, ou encore les codes de Hamming.
Cette première partie illustre succinctement quelques principes de base nécessaires à la bonne compréhension du document. La suite de ce chapitre a pour but d’introduire les techniques de codage canal dites avancées notamment les Turbo-codes et les codes LDPC.

Principe turbo et Turbo-codes

Principe Turbo

L’invention des Turbo-codes ne découle pas d’une théorie linéaire et limpide et encore moins d’un beau développement mathématique. Elle est le fruit d’un long tâtonnement [5]. Cette phrase résume l’état d’esprit grâce auquel le principe turbo a vu le jour. La concaténation de deux codes (par exemple deux codes convolutifs) est un moyen simple d’obtenir des distances élevées. Cependant les performances à faible rapport signal sur bruit sont dégradées du fait de la répartition de l’énergie de la redondance entre les différents codes constituants. En effet, dans un schéma classique de récepteur où des décodeurs sont concaténés, l’exploitation de l’information n’est pas optimale. Plus généralement, un décodeur composé de sous-décodeurs optimaux ne forme pas un système optimal. Dans le cas d’une concaténation d’un code interne et externe, le décodeur externe ne bénéficie que de l’information contenue dans les symboles de redondance qui lui sont associés. Le second décodeur bénéficie quant à lui des symboles de redondance et du travail du décodeur externe qui le précède. Cette dissymétrie suggère de réinjecter une information issue du deuxième décodeur dans le premier décodeur.
Cette réinjection de la sortie vers l’entrée est analogue au principe du moteur turbo. Ce principe a été proposé par C. Berrou, A Glavieux et P.Thitimajshima, en 1993 [6] et a été rendu possible grâce aux travaux de G. Battail [7], J. Hagenauer et P. Hoeher [8] sur le décodage à sorties pondérées. Le principe turbo, initialement introduit pour le codage canal, a été ensuite étendu à l’ensemble de la chaîne de réception. Ainsi, on parle de turbo synchronisation, turbo estimation de canal, turbo égalisation et plus généralement de récepteurs itératifs.

Turbo-codes

Il faut souligner que pour la première fois, un code correcteur d’erreurs fonctionnant à moins de 0.5 dB de la limite de Shannon fut démontré. Cette rupture technologique dans le domaine du codage de canal a tout d’abord surpris la communauté scientifique, mais les résultats ont été très rapidement confirmés. L’idée d’un décodeur itératif fut aussi introduite pour la première fois.
Cette idée, très simple en soi, consiste en un décodeur comportant deux sous- ensembles de décodage s’échangeant de l’information. Pour expliquer le fonctionnement d’un tel décodeur, la notion d’information extrinsèque fut introduite. Cette information associée à un symbole est l’information apportée par le décodage du lien entre le symbole considéré et l’ensemble des autres symboles. C’est cette information qui est échangée entre les décodeurs au cours des itérations. Un Turbo-code est donc caractérisé par ces codes constituants et la fonction d’entrelacement. Tout d’abord, dans le cas des Turbo -codes parallèles, au moins l’un des codes constituants doit être un code convolutif récursif. En pratique les codes constituants sont choisis identiques. La fonction d’entrelacement permet d’introduire une fonction d’aléatoire entre les décodeurs. Ainsi, plus l’effet de brassage sera important, plus les informations extrinsèques seront dé corrélés, ce qui améliorera la qualité du décodage. Cette fonction a aussi un rôle important sur la propriété de distance minimale du code [9].
Les Turbo -codes ainsi présentés ont ouvert de nombreuses voies de recherche dans le domaine du codage de canal. Ce bouleversement dans la façon de concevoir un système de décodage a également permis de redécouvrir les travaux de Gallager sur les codes LDPC [4].

Codes LDPC

Les codes LDPC (Low Density Parity Check) ont été inventés par Gallager en 1962. Ils forment une classe de codes en bloc qui se caractérisent par une matrice de contrôle creuse. Du fait de leur complexité d’encodage, de décodage et des moyens matériels de l’époque, ces codes n’ont pas suscité suffisamment d’intérêt au sein de la communauté de la théorie du codage. Ils ont été décrits pour la première fois dans la thèse de Gallager au début des années 60. Dans cette thèse, l’auteur y proposait déjà le décodage itératif qui est basé sur la propagation de croyance (en anglais Belief Propagation (BP)).
Après l’invention des turbo-codes [3], les codes LDPC furent redécouverts au milieu des années 90 par Mackay et Neal. Depuis, des progrès considérables sur les règles de construction de bons codes LDPC, sur les techniques d’encodage et de décodage, ont permis aux codes LDPC d’être utilisés, tout comme les turbo-codes, dans des applications pratiques.
Dans cette session nous allons étudier le principe de fonctionnement des codes LDPC : méthodes de construction, d’optimisation, d’encodage et de décodage

Définitions et Notations

Un code LDPC est un code dont la matrice de contrôle de parité H est de faible densité. La faible densité se traduit par le fait que le nombre de « 0 » est supérieur à celui de « 1 » dans la matrice H. Rappelons que la relation de contrôle de parité entre un mot de code x et la matrice de contrôle de parité H est : t = 0 (2.10)
La matrice de contrôle de parité H est de dimension × définissant ainsi un code en bloc où le nombre de bits d’information est = − .
Les équations de parité (voir [3]) associées à cette matrice et à un mot de code = [ 0, 2,……, 7] sont :
0+ 4=0
1+ 4+ 5=0
2+ 5+ 6=0
3+ 6+ 7=0
Les codes LDPC peuvent être aussi représentés sous forme graphique. Cette représentation est souvent appelée graphe de Tanner ou bipartite. Le graphe bipartite contient deux types de nœuds : les nœuds de données (variables) et les nœuds fonctionnels (contrôles). Un nœud de données i est relié à un nœud de contrôle j par une branche, si et seulement si, l’élément correspondant à la -iéme ligne et à la – iéme colonne de la matrice est non nul. Par convention, les nœuds de données sont représentés par des cercles et ceux de contrôle par des carrés. La figure 2-4 donne une représentation du graphe bipartite de la matrice H ci-dessus.
Le graphe bipartite est une représentation très simple d’un code LDPC. Ce graphe permet d’illustrer les algorithmes de décodage associés aux codes LDPC qui seront représentés par la suite.
Une famille de codes peut être distinguée par le taux de connexion des équations de parité. On distingue deux familles de codes LDPC :
 les codes LDPC réguliers.
 Les codes LDPC irréguliers.
Les codes LDPC réguliers sont les codes dont le nombre de « 1 » par ligne et le nombre de « 1» par colonne est constant. Par extension, les codes LDPC irréguliers sont les codes définis par des matrices de contrôle de parité où le nombre de « 1 » par ligne ou par colonne n’est pas constant. L’irrégularité de ces codes se spécifie à travers deux polynômes ( ) et ( ).
( ) = Σi≥1 i i-1 (2.11)
( ) = Σi≥2 i i-1 (2.12)
Où i (respectivement i) Caractérise la proportion du nombre de branches connectées aux nœuds de données (aux nœuds de contrôle) de degré par rapport au nombre total de branches. Le degré est défini comme le nombre de branches connectées à un nœud. On peut relier le profil d’irrégularité du code au rendement de codage de la façon suivante : ∑ ≥2ᵠ ⁄ ≥1≥ 1 − ∑ ⁄ (2.13)
Le degré est défini comme le nombre de branches connectées à un nœud. Par conséquent, nous pouvons en déduire que :
(1) = Σi≥1 1 = 1 (2.14)
(1) = Σi≥2 1 = 1 (2.15)
Remarque : Concernant les codes réguliers ce rendement est donné par : R = 1 – v⁄ (2.16)
Où et représentent respectivement le nombre de « 1 » par colonne et ligne respectivement. On peut aussi déterminer l’irrégularité d’un code si la matrice de contrôle de parité est de rang plein par deux autres polynômes ̌ ( ) et ҃( ) qui caractérisent la proportion de nœuds de même degré (plutôt que la proportion de branches) de la manière suivante : ̌ ̃ i-1 (2.16) ( ) = Σi≥1 i (҃ ) = Σi≥2 ҃i i-1 (2.17)
Ou ̌i et ҃ireprésentent la proportion des nœuds de données et de contrôle de parité de degré i.
Les deux représentations polynômiales sont reliées par les équations suivantes : ̌ 1 i = (2.18) ∑ ⁄ ≥1 ҃i= 1 ᵠ (2.19)
La représentation par graphe d’un code LDPC nous permet d’introduire la notion de cycle. Un cycle existe dans un graphe dès lors qu’il y a un chemin pour quitter et revenir à un nœud sans passer par les mêmes branches. Le nombre de branches traversées déterminent la longueur du cycle. Un graphe sans cycle est appelé un arbre.

Décodage des codes LDPC

En général le décodage des codes ldpc se fait à l’aide d’un algorithme de décodage souple (BP) ou plutôt des dérivées de la méthode BP.

Algorithme à propagation de croyance

L’algorithme de décodage itératif souple présenté initialement par Gallager [10], revu ensuite par Mackay [11] dans le cadre de la théorie des graphes, est connu sous le nom d’algorithme de propagation de croyance5 (Belief Propagation (BP)). Le principe de la propagation de croyance est l’application directe de la règle de Bayes sur chaque bit d’une équation de parité. La vérification de parité permet de calculer une estimation de chaque bit. Ces estimations, formant des messages se propageant sur les branches du graphe, sont alors échangées itérativement afin de calculer une information à posteriori sur chaque bit. Dans le cas d’une propagation de croyance sur un graphe sans cycle, les messages échangés sont indépendants, ce qui conduit au calcul simple et exact des probabilités a posteriori : l’algorithme est dans ce cas optimal. Si le graphe factoriel présente des cycles, l’hypothèse de messages indépendants n’est plus valide. Cependant, plus le graphe est creux (c’est à dire moins la matrice de contrôle de parité est dense), plus l’approximation d’un graphe sans cycle devient valide.
C’est donc sous cette hypothèse que l’algorithme de décodage est décrit.
Ainsi, le BP est un algorithme d’échange d’informations entre les nœuds de données et ceux de contrôle associés à travers les blanches. Il peut être décomposé en plusieurs étapes :
 Une première phase consiste à calculer les messages se propageant d’un nœud de données à un nœud de contrôle (cf. figure 2-6).
 Une seconde étape calcule les messages générés au niveau des nœuds de contrôle.
 Une fois l’ensemble des messages mis à jour, ceux-ci sont propagés des nœuds de contrôle vers les nœuds de données (cf. figure 2-7).
 Enfin, après un certain nombre d’itérations, l’information à posteriori associée à chaque nœud de données est mise à jour avant la prise de décision.
Pour la suite, nous noterons vc les messages se propageant d’un nœud de données à un nœud de contrôle, cv est utilisée pour désigner les messages issus d’un nœud de contrôle et transmis à un nœud de données.
La mise à jour des messages vc issus du nœud de données à l’itération est calculée de la façon suivante (cf. figure 2-6) : mivc =v0 + ∑ ′ ∁v⁄ ′ −1 (2.20)
Où 0 représente le log-rapport de vraisemblance issue de l’observation v en sortie du canal : V0 = ln Pr( │ =0) (2.21) Pr( │ =1)
Et où représente l’ensemble des nœuds de contrôle connecté au nœud de données . A la première itération, les messages provenant des nœuds de contrôle sont nuls. La deuxième étape de l’algorithme de propagation de croyance consiste à mettre à jour les messages en sortie d’un nœud de contrôle. Les messages cv sont calculés à l’itération de la façon suivante (fig 2.7) :A

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTIONGENERALE
CHAPITRE 1 : GENERALITES SUR LES SYSTEMES COOPERATIFS
INTRODUCTION
1.1 Ladiversité
1.1.1 Généralité
1.1.2 Types de diversité
1.2 MIMO
1.2.1Principe de la technique MIMO
1.2.2Les différents types de codage MIMO
1.3Les systèmes de communication coopératifs
1.3.1Étapes à suivre pour concrétiser la coopération:
1.3.2 Etude des stratégies de relayage
1.3.3 Signal de décodage
1.3.4 Les techniques de coopération
1.3.5 Etude détaillée des techniques de coopération
1.3.6 Les techniques de combinaison
CONCLUSION
CHAPITRE 2 : LES CODES CORRECTEURS D’ERREURS
INTRODUCTION
2.1 Le codage canal
2.1.1 Concepts de base
2.1.2 Quelques Rappels
2.1.3 Propriétés des codes linéaires
2.1.4 Exemple de codes linéaires
2.2 Principe turbo et Turbo-codes
2.2.1 Principe Turbo
2.2.2 Turbo-codes
2.3 Codes LDPC
2.3.1 Définitions et Notations
2.3.2 Décodage des codes LDPC
2.3.3 Encodage des codes LDPC
2.3.4 Construction des codes LDPC
CONCLUSION
CHAPITRE 3 : PRESENTATION ET ANALYSE DES TRAVAUX PRECEDENTS
INTRODUCTION
3.1 Le modèle de canal à relais
3.1.1 Le modèle simple
3.1.2 Le modèle complexe
3.2 Codage réseau pour canal à accès multiple avec relais
3.3 Stratégie de coopération DF
3.4Application des codes LDPC aux systèmes coopératifs
CONCLUSION
CHAPITRE 4 : PROPOSITION D’AMELIORATION DE SOLUTIONS : LDPC ET SYSTEMES COOPERATIFS
INTRODUCTION
4.1 Codes SC-LDPC
4.1 Description des codes SC-LDP
4.1.2 Méthode de construction
4.1.2.1 Principe générale
4.2 Application des codes SC-LDPC au système coopératifs
4.2.1 Modèle d’étude
4.2.2 Le Relayage d’information souple (SIR)
4.2.2.1 Calcul des bits d’information
4.2.2.2 Calcul des LLR à la destination
4.3 Résultats de la simulation et discussions
CONCLUSION
CONCLUSION GENERALE
REFERENCES

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *