Le codeur
Un codeur est un organe qui s’opère sur le signal analogique pour engendrer un signal numérique contenant la totalité de l’information débitée par la source et adapté aux caractéristiques du canal de transmission. Le codage de l’information est effectué suivant des règles spécifiques à la représentation du message. Les buts principaux de l’introduction du codage sont :
– réduire et éliminer la redondance naturelle dans l’information source (codage de source).
– Assurer la sécurité de la transmission en présence de bruit, en ajoutant à l’information utile une redondance permettant la détection et la correction des erreurs durant la transmission.
On parle de codage de canal.
– Assurer le secret de la communication (cryptographie)
Le codage de canal [1] C’est le codage à l’entrée du canal de transmission qui protège l’information issue de la source des perturbations introduites par le canal. C’est une opération d’adaptation du signal transmis au milieu qu’il doit traverser. Le codeur de canal segmente le message binaire, qu’il reçoit en mot (bloc ou suite binaire) de k bits et transforme chacun d’eux en un mot de n bits avec n>k. Il injecte donc n-k bits de redondance aux bits utiles.
Les types de codage de canal [2] Soit k 2 le nombre de mots possibles à l’entrée du codeur, à la sortie, on obtient n 2 mots avec n k 2− fois plus de mots utilisables, autant qu’il n’est nécessaire. Ce résultat permet de bien définir les 2^k mots de n bits utilisés.
-Codage en bloc [2] : Lorsque les n-k bits supplémentaires ou de redondance sont fonction, linéairement ou non, des k bits des mots à coder. Les mots d’un même code auront la même longueur.
-Le codage convolutif [2] : Lorsque les n-k bits de redondance, dépendent des L-1 mots à coder précédents, le codage est dit convolutif. Les mots d’une même code pourront ne pas avoir la même longueur.
Les différentes variétés de l’algorithme de Viterbi
Il existe plusieurs dérivés de l’algorithme de Viterbi dont nous allons citer quelques exemples, très utilisés aujourd’hui, qui sont :
– La liste de décodage à 2-maximum de vraisemblance qui est proposé pour le décodage à analyse séquentielle.
– l’algorithme ARQ ou Y-I (Yamamoto et Itah)
– le décodage à contrainte réduite qui contient le :
* l’algorithme de Viterbi.
* le M-algorithme.
Codage et décodage par l’algorithme de Viterbi
Ce programme permet de simuler le codage d’une information de longueur fixe choisie par l’utilisateur . L’ information à transmettre est de type binaire, ayant une longueur fixe entre 8 et 12 . Le programme génère ce message de façon aléatoire. Les séquences binaires prennent des valeurs 0 ou 1 et peuvent être remplacées par autant de séquences que l’utilisateur a besoin . L’opération de codage s’effectue suivant une loi bien déterminée par le codeur .Cette opération est décrite au Chapitre III . Les caractéristiques de chaque code convolutif utilisées dans ce programme sont : Le premier code est un code convolutif non systématique et non récursif dont les caractéristiques sont les suivantes :
Longueur de contrainte : 7
Rendement : ‘1/2 ‘
Polynômes générateurs :
G (0 D) D D D D 16 5 4 3= + + + + , en octal : 171.
G (1 D) D D D D 16 4 3= + + + + , en octal : 133.
La distance libre de ce code est dfree = 10.
Sa capacité de correction est t = 4.
Le nombre d’état du codeur est M = 64.
Le deuxième code est aussi un code convolutif non systématique et non récursif dont les caractéristiques sont les suivantes :
Longueur de contrainte : 5
Rendement : ‘1/2’
Polynômes générateurs :
G (0 D) D D D 14 3 2= + + + , en octal : 35.
G (1 D) D D 14= + + , en octal :23.
La distance libre du code est : dfree = 7.
Sa capacité de correction est : t = 3.
Le nombre d’état du codeur est : M =16.
Le décodage de l’information s’effectue en utilisant l’algorithme de Viterbi décrit au chapitre III. Le programme utilise l’algorithme parallèle pour détecter toutes les séquences décodées ayant des métriques minimales.
Règle d’utilisation du logiciel
Chaque action est obtenue en cliquant sur les différents boutons dans chaque fenêtre, mais il faut suivre un chemin spécifique pour obtenir les résultats. La première étape à faire avant d’utiliser le logiciel est la saisie des différents paramètres à utiliser dans chaque programme du logiciel. On distingue trois sortes de paramètres dans ce programme qui sont :
– La longueur de l’information binaire à transmettre
– Les différents paramètres du système CPM à utiliser, qui sont :
• Le type du système CPM
• La longueur de sa réponse en fréquence
• L’indice de modulation
– Les paramètres du code convolutif à savoir
• La longueur de contrainte du code convolutif avec ses polynômes générateurs
Chaque paramètre est obtenu en cliquant sur chaque bouton qui l’indique sur chaque fenêtre du programme .
Les distances euclidiennes minimums de tous les systèmes CPM avec du code 7 171 133
Un simple clique sur chaque bouton permet d’obtenir les caractéristiques de chaque système CPM utilisant comme code de canal le code convolutif 7 171 133 .
CONCLUSION
Nous avons constaté que le code convolutif ne joue pas seulement le rôle de protecteur de l’information mais améliore aussi la qualité de la transmission. Cependant, pour les systèmes de transmission sans code ou codé avec un autre code correcteur d’erreur que le code convolutif, on devrait augmenter l’énergie du signal pour obtenir cette amélioration. Or les énergies utilisées pendant la transmission sont limitées pour des systèmes sophistiqués tel que la transmission par satellite ou les téléphonies GSM. Le code convolutif est donc le seul code permettant de réduire cette énergie consommée pendant la transmission et de protéger le signal aux différents bruits provenant du canal de transmission en tenant compte de la bonne qualité de la communication. Les avantages du code convolutif par rapport aux autres codes correcteurs d’erreurs sont les gains énergétiques qu’il apporte et son algorithme de décodage qui rend la détection et la correction des erreurs très efficace. Nous avons montré ces caractéristiques en utilisant un système de transmission dont le modulateur est de type modulation à phase continue à réponse pleine ou réponse partielle, qui présente une meilleure performance par rapport aux autres modulations numériques, à l’aide du logiciel que nous avons conçu. L’utilisation du code convolutif avec un modulation à phase continue permet de diminuer la probabilité d’erreur en augmentant la distance euclidienne minimum du système. Alors on obtient une valeur de la distance euclidienne minimum entre 5 et 8, seulement pour une longueur de l’intervalle d’observation du démodulateur N inférieure ou égale à 6 alors que pour un système binaire sans code, cette distance est inférieure ou égale à 4. Pourtant, on peut obtenir ces distances avec un système M-aire (M>2) , pour une valeur de l’intervalle d’observation des symboles supérieure ou égale à 12 , mais la structure du système est compliquée car plus le nombre des états de phase du modulateur et la longueur de l’intervalle d’observation du démodulateur augmentent, plus la structure du démodulateur se complique. Les principaux avantages des systèmes CPM sont :
– réduction de la bande de fréquence allouée pendant la transmission.
– le spectre du signal émis est compact car son enveloppe est constante.
– une très grande souplesse pour l’amélioration des performances de la transmission car pour les systèmes non minimaux, la valeur de la distance euclidienne minimum est une fonction non décroissante du nombre d’intervalle d’observation des symboles du démodulateur.
– Les systèmes CPM M-aires à réponse partielle permettent aussi d’obtenir des meilleures performances car leurs distances euclidiennes minimums sont très élevées par rapport aux systèmes binaires.
Les caractéristiques des codes convolutifs et des modulations ont des impacts importants sur les transmissions par satellite. Il faut remarquer que plusieurs contraintes s’imposent pendant la communication entre le satellite et la station terrienne ou entre les différents satellites. La distance parcourue par les ondes est très élevée donc ce signal subit différentes sortes d’atténuations et de brouillages. Ensuite, certaines grandeurs limitent les caractéristiques des éléments utilisés au bord du satellite tel le gain des antennes, la puissance des amplificateurs . Ces grandeurs sont la taille, la masse du satellite et l’énergie disponible à bord. En outre, plus le nombre des satellites dans l’espace est grand, plus l’effet de l’interférence pendant la transmission est important. Pourtant, Ces phénomènes nécessitent l’amélioration du plan de fréquence utilisé, la directivité et la précision des faisceaux. Une solution pour remédier à ces problèmes est l’utilisation d’un système CPM, qui diminue les effets de non linéarité des amplificateurs et des répéteurs à bord du satellite et du code convolutif pour se protéger contre les signaux perturbateurs produits par le canal de transmission en utilisant le décodage par l’algorithme de Viterbi à décision souple ou les LVA, qui améliorent les performances du système de transmission. Ainsi, on peut diminuer la directivité des antennes par l’utilisation de l’algorithme de Viterbi dont l’efficacité est très puissante dans les corrections des erreurs de transmission. Les gains d’énergies obtenus permettent de diminuer la puissance des amplificateurs pendant la transmission et réduire les effets de l’interférence sur les différents trajets car le satellite ou la station terrienne n’émet pas à puissance maximale. En guise de conclusion nous avons pu montrer l’efficacité de l’utilisation du code convolutif sur un signal de modulation à phase continue dans les systèmes de transmissions numériques dont les applications sur la transmission par satellite où ce sont les seuls systèmes qui rendent optimum l’efficacité de cette dernière.
|
Table des matières
INTRODUCTION
CHAPITRE I : GENERALITES SUR LA TRANSMISSION NUMERIQUE
I.1 Introduction
I.2 Le codeur
I.2.1 Le codage de canal
I.2.2 Les types de codage de canal
1.2.2.1 Codage en bloc
I.2.2.2 Le codage convolutif
I.3 L’Emetteur
I.3.1 La modulation d’amplitude
I.3.2 La modulation de fréquence
I.3.3 La modulation de phase
I.4 Le récepteur
I.5 Le décodeur
CHAPITRE II : LES CODES EN BLOC LINEAIRES ET CODES CYCLIQUES
II.1 Code en bloc linéaire
II.1.1 Définition
II.1.2 Matrice génératrice d’un code en bloc linéaire
II.1.3 Code dual et matrice de contrôle de parité
II.1.3.1.Orthogonalité de 2 vecteurs
II.1.3.2 Principe de détection et correction des erreurs
II.1.3.2.1 Distance entre deux mots binaires : distance de Hamming
II.1.3.2.2 Règle de décodage
II.1.3.3 Distance minimale d’un code en bloc
II.1.3.4 Pouvoir de détection et de correction d’un code en bloc
II.1.4 Performances des codes en bloc linéaires
I.2 Les codes cycliques
II.2.1 Définition et représentation polynomiale
II.2.2 Matrice génératrice d’un code cyclique
II.2.3 Code cyclique sous forme systématique
II.2.4 Matrice de contrôle H du code cyclique
II.2.5 Décodage des codes cycliques
II.2.5.1 Décodeur de Meggit
II.2.5.1.1 Paquet d’erreur
II.2.5.1.2 Capacité de détection
II.2.6 Probabilité d’erreur
II.2.6.1 Probabilité de non-détection d’erreur
II.2.7 Quelques codes cycliques très utilisés dans les systèmes de Télécommunications
II.2.7.1 Le code BCH
II.2.7.2 Les codes de Reed Solomon
III : LES CODES CONVOLUTIFS
III.1 Introduction
III.2 Principe du codage convolutif
III.3 Représentation des codes convolutifs
III.3.1 Représentation polynomiale des codes convolutifs
III.3.2 Représentation matricielle des codes convolutifs
III.3.3 Polynômes générateurs
III.3.3.1 Codes convolutifs récursifs systématiques
III.3.3.1.1 Code convolutif récursif
III.3.3.1.2 Code convolutif systématique
III.3.3.1.3 Transformation d’un code convolutif NRNSC en un code convolutif RSC
III.3.3.1.4 Exemple
III.4 Représentations graphiques des codes convolutifs
III.4.1Diagramme en arbre
III.4.2 Diagramme en treillis
III.4.3 Le diagramme d’état
III.5 Probabilité d’erreur
III.5.1 La fonction de transfert d’un code convolutif
III.5.2 La distance libre
III.5.3 Capacité de correction
III.6 Transformations des codes convolutifs
III.6.1 Perforation
III.6.2 Fermeture du treillis : transformation en code en bloc
III.7 Performances des codes convolutifs
III.7.1 Transmission sur un canal binaire symétrique
III.7.2 Transmission sur un canal à bruit blanc additif Gaussien
III.8 Décodage des codes convolutifs
III.8.1 Introduction
III.8.2 L’algorithme de Viterbi
III.8.3 Les différentes variétés de l’algorithme de Viterbi
III.8.4 Le L Viterbi Algorithm (LVA)
III.8.4.1 Présentation de l’algorithme de Viterbi
III.8.4.2 Le LVA parallèle
III.8.4.2.1 Algorithme LVA parallèle
III.8.4.3 Le LVA série
III.8.4.3.1 L’algorithme série
III.8.4.4 Décodage à décision douce en entrée (SOVA)
III.9 Applications aux transmissions de données
III.9.1 Les gains asymptotiques pour le rapport signal sur bruit (SNR) avec le décodage LVA pour un canal à bruit blanc additif Gaussien
III.9.1.1 L=1
III.9.1.2 L=2
CHAPITRE IV: LES MODULATIONS A PHASE CONTINUE
IV.1 Introduction
IV.2 Présentation du signal CPM
IV.2.1 Les différents types de systèmes CPM
IV.3 La phase du signal émis
IV.4 Performances des systèmes CPM
IV.4.1 Analyse de la détection du signal CPM
IV.4.2 Les propriétés de la distance euclidienne minimum
IV.4.2.1 Arbre de phase et arbre différence de phase
IV.4.2.1.1 Exemple
IV.4.2.2 L’indice de modulation minimum
IV.4.2.3 La limite supérieure sur la distance euclidienne
IV.4.2.4 Les systèmes minimaux
IV.4.3 Algorithme séquentiel pour le calcul de la distance euclidienne minimum
IV.4.3.1 Présentation de l’algorithme
IV.4.3.2 L’organigramme représentant l’algorithme de calcul de la distance euclidienne minimum
PARTIE II : SIMULATIONS SUR MICRO-ORDINATEUR
CHAPITRE I : PRESENTATION DU LOGICIEL
I 1.Introduction
I.2 Les fonctionnements du logiciel
I.2.1 Codage et décodage par l’algorithme de Viterbi
I.2.2 La performance d’un système CPM codé avec un code convolutif en fonction de N
I.2.3 Comparaison des performances des systèmes CPM codés pour les différentes valeurs de h
I.3 Les différentes fenêtres du logiciel
I.3.1 La fenêtre d’ouverture du logiciel
I.3.2 La fenêtre « performances des systèmes CPM en fonction de la longueur de l’intervalle de l’observation des symboles du démodulateur N »
I.3.3 La fenêtre « les distances euclidiennes minimums de tous les systèmes CPM avec du code 7 171 133 »
I.3.4 La fenêtre « simulations sur les codes convolutifs »
I.4.1 Les différentes variables globales utilisées dans le programme
I.4.2 Les differentes fonctions utilisées dans ce programme
Chapitre II : UTILISATION ET MANIPULATION DU LOGICIEL
II.1 Règle d’utilisation du logiciel
II.2 Manipulations du logiciel
II.2.1 Simulations sur les codes convolutifs
II.2.2 Simulations de performances en fonction de la longueur de l’intervalle d’observation du démodulateur N
II.2.3 Les distances euclidiennes minimums de tous les systèmes CPM avec du code 7 171 133
II.3 quelques résultats de la simulation
II.3.1 simulations sur les codes convolutifs à décodage LVA
II.3.2 simulations sur les performances des codes convolutifs sur un signal de modulation à phase continue
II.4 Utilisations, applications des codes convolutifs et des modulations a phase continue
CONCLUSION
ANNEXE I : LES MODULATIONS DE FREQUENCES A PHASE CONTINUE
I.1 Introduction
I.1.1 Définition
I.2 La modulation CPFSK
I.3 La modulation MSK
ANNEXE 2 :EXEMPLE DE SYSTEME CPM M-AIRE UTILISE AVEC LE CODE CONVOLUTIF
III.1 La structure concaténée du système de transmission
ANNEXE4 : EXEMPLE DE SYSTEME UTILISANT LE LVA
IV.1 Le système de codage utilisé par le système GSM
IV.2 Principe du codage CRC
BIBLIOGRAPHIE
Télécharger le rapport complet