Télécommunication Radiocommunications LE CODE …

84
N° d’ordre : 02 /TCO/RC Année Universitaire : 2003 / 2004 UNIVERSITE D’ANTANANARIVO ------------------------ ECOLE SUPERIEURE POLYTECHNIQUE ------------------------ DEPARTEMENT TELECOMMUNICATION MEMOIRE DE FIN D’ETUDES en vue de l’obtention du DIPLOME D’INGENIEUR Spécialité : Télécommunication Option : Radiocommunications par : ANDRIANTSIFERANA Rindra Tahiana Soutenu le vendredi 25 février 2005 devant la Commission d’Examen composée de : Président : M. RANDRIAMITANTSOA Paul Auguste Examinateurs : M. BOTO Andrianandrasana Jean Espérant M. RAMORASATA Joseph Raphaël M. RANDRIANTSIRESY Ernest Directeur de mémoire : M. RAZAKARIVONY Jules LE CODE CONVOLUTIF EN UTILISANT LE DECODEUR DE VITERBI

Transcript of Télécommunication Radiocommunications LE CODE …

Page 1: Télécommunication Radiocommunications LE CODE …

N° d’ordre : 02 /TCO/RC Année Universitaire : 2003 / 2004

UNIVERSITE D’ANTANANARIVO ------------------------

ECOLE SUPERIEURE POLYTECHNIQUE ------------------------

DEPARTEMENT TELECOMMUNICATION

MEMOIRE DE FIN D’ETUDESen vue de l’obtention

du DIPLOME D’INGENIEUR

Spécialité : TélécommunicationOption : Radiocommunications

par : ANDRIANTSIFERANA Rindra Tahiana

Soutenu le vendredi 25 février 2005 devant la Commission d’Examen composée de :

Président : M. RANDRIAMITANTSOA Paul Auguste

Examinateurs :M. BOTO Andrianandrasana Jean Espérant M. RAMORASATA Joseph Raphaël M. RANDRIANTSIRESY Ernest

Directeur de mémoire :M. RAZAKARIVONY Jules

LE CODE CONVOLUTIF EN UTILISANT LE DECODEUR DE

VITERBI

Page 2: Télécommunication Radiocommunications LE CODE …
Page 3: Télécommunication Radiocommunications LE CODE …

REMERCIEMENTS

Je rends grâce à Dieu pour sa bonté, de m’avoir donné la force et la santé durant la réalisation de ce mémoire.

Je tiens également à adresser mes vifs remerciements aux personnes suivantes sans qui ce travail de mémoire n’aurait pas pu être réalisé :

Monsieur RANDRIANOELINA Benjamin, Professeur, Directeur de l’Ecole Supérieure Polytechnique d’Antananarivo (ESPA), pour mes cinq années d’études ;

Monsieur RANDRIAMITANTSOA Paul Auguste, Professeur, Chef du Département Télécommunication à l’ESPA, qui me fait l’honneur de présider le Jury de ce mémoire ;

Monsieur RAZAKARIVONY Jules, Maître de conférence, Enseignant Chercheur au sein du Département Télécommunication à l’ESPA, Directeur de ce mémoire, qui malgré ses responsabilités m’a toujours prodigué ses conseils. Je tiens à lui adresser toute ma gratitude.

Monsieur BOTO Andrianandrasana Jean Espérant, Assistant, Enseignant Chercheur au sein du Département Télécommunication à l’ESPA, membre du Jury ;

Monsieur RAMORASATA Joseph Raphaël, Assistant, Enseignant Chercheur au sein du Département Télécommunication à l’ESPA, membre du Jury ;

Monsieur RANDRIANTSIRESY Ernest, Assistant, Enseignant Chercheur au sein du Département Télécommunication à l’ESPA, membre du Jury.

Mes vifs remerciements s’adressent également à tous les enseignants et personnels de l’Ecole Supérieure Polytechnique d’Antananarivo en général et ceux du Département Télécommunication particulièrement, sans leurs efforts notre formation n’aurait pas pu atteindre cette étape.

Je n’oublierai pas ma famille pour leurs soutiens bienveillants et leurs encouragements, pour ce mémoire.

Plus particulièrement, à mes parents pour leurs sacrifices durant ces longues années afin que je puisse arriver à ce niveau.Et pour tout ceux qui ont contribué de près ou de loin à l’élaboration de ce mémoire.

Page 4: Télécommunication Radiocommunications LE CODE …
Page 5: Télécommunication Radiocommunications LE CODE …

TABLE DES MATIERES

TABLE DES MATIERES........................................................................................................................... i

NOMENCLATURE.................................................................................................................................. iii

INTRODUCTION....................................................................................................................................... 1

CHAPITRE I. GENERALITES SUR LA TRANSMISSION NUMERIQUE ...................................... 1

0.1 Introduction [1] ..................................................................................................................................................... 1

0.2 La chaîne de transmission numérique [1] ............................................................................................................ 2

0.2.1 La source de message ...................................................................................................................................... 3

0.2.2 Le codage de source ........................................................................................................................................ 3

0.2.3 Le codage de canal ........................................................................................................................................... 4

0.2.4 L’émetteur ........................................................................................................................................................ 4

0.2.5 Le canal de transmission ................................................................................................................................. 6

0.2.6 Le récepteur ..................................................................................................................................................... 8

0.3 La qualité d’une transmission numérique ........................................................................................................... 9

0.3.1 Mesure du taux d’erreur ................................................................................................................................ 9

0.3.2 Interférence Entre Symbole (IES) [2] .......................................................................................................... 11

0.3.3 Caractérisations de l'IES : diagramme de l'œil et distorsion maximale .................................................. 12

CHAPITRE I . MODULATIONS DE PHASE CONTINUE (CPM) ................................................... 15

I.1 Introduction ........................................................................................................................................................ 15

I.2 Descriptions générales du système [14] .............................................................................................................. 15

I.3 Différentes classes du système CPM [9], [15] ..................................................................................................... 16

I.4 Propriétés de la distance euclidienne minimum [14] ......................................................................................... 17

I.4.1 L'arbre de Phase et l'arbre de la différence de Phase [9] .......................................................................... 19

I.4.2 Indice de Modulation Faible ........................................................................................................................ 20

I.4.3 La Limite supérieure sur la distance euclidienne minimum ...................................................................... 23

CHAPITRE II . CODAGE CONVOLUTIF .......................................................................................... 25

II.1 Introduction ................................................................................................................................................... 25

II.2 Structures des codes convolutifs ...................................................................................................................... 25

II.2.1 Code convolutif de rendement 1/n .............................................................................................................. 25

II.2.2 Code convolutif de rendement k/n .............................................................................................................. 26

II.3 Présentation du code convolutif ........................................................................................................................ 27

II.3.1 Représentation polynomiale [4] ................................................................................................................... 27

II.3.2 Représentation matricielle .......................................................................................................................... 27

II.3.3 Codeur convolutif [3] ................................................................................................................................ 28

II.3.4 Principe de codage [7] .................................................................................................................................. 29

i

Page 6: Télécommunication Radiocommunications LE CODE …

II.3.5 Les codes convolutifs récursifs systématiques ........................................................................................... 30

II.4 Représentations graphiques du code convolutif ............................................................................................... 30

II.4.1 Diagramme en arbre ..................................................................................................................................... 30

II.4.2 Diagramme en treillis [4],[5] ..................................................................................................................... 31

II.4.3 Diagramme d’états [5] .................................................................................................................................. 33

II.5 Fonction de transfert du code convolutif [5] ..................................................................................................... 33

II.6 Transformation des codes convolutifs [4] ......................................................................................................... 35

II.6.1 Perforation .................................................................................................................................................... 35

II.6.2 Fermeture du treillis : transformation en un code en bloc ....................................................................... 35

II.7 Performances des codes convolutifs [1], [5], [8] .............................................................................................. 35

II.7.1 Probabilité d’erreur et la quantité Δ .......................................................................................................... 35

II.7.2 Cas du canal binaire symétrique ................................................................................................................. 36 II.7.2.1 Gain de codage ................................................................................................................................................... 37

II.7.3 Cas du canal à bruit additif blanc gaussien ............................................................................................... 37 II.7.3.1 Gain de codage ................................................................................................................................................... 38

CHAPITRE III . DECODAGE ............................................................................................................... 40

III.1 Décodage des codes convolutifs [4] .................................................................................................................. 40

III.2 Accroissement de métrique sur un chemin ...................................................................................................... 41

III.3 Algorithme de Viterbi [1] ............................................................................................................................... 42

III.4 L’algorithme de Viterbi à sortie souple (SOVA) ............................................................................................. 46

III.4.1 Stockage ...................................................................................................................................................... 48

III.4.2 Mise à jour .................................................................................................................................................. 48

III.4.3 Sorties ferme et souple ............................................................................................................................... 48

CHAPITRE IV . SIMULATION DU CODE CONVOLUTIF EN UTILISANT LE DECODEUR DE

VITERBI (SOUS MATLAB 5.3) .............................................................................................................. 50

IV.1 Présentation du logiciel MATLAB ................................................................................................................... 50

IV.1.1 Généralités ................................................................................................................................................... 50

IV.1.2 Quelques fonctions de MATLAB .............................................................................................................. 50

IV.2 Présentation de l’interface de la simulation .................................................................................................... 51

IV.3 Quelques résultats numériques ....................................................................................................................... 55

IV.4 Les programmations pour la réalisation de cette simulation .......................................................................... 58

CONCLUSION......................................................................................................................................... 64

ii

Page 7: Télécommunication Radiocommunications LE CODE …

NOMENCLATURE

0Γ Constante positive

c∆ Accroissement de métrique

0ϕ Constante arbitraire du changement de la phase

NDmin, Distance euclidienne minimum

cδ Ecart entre l’accroissement de métrique et sa valeur minimale

nθ Etat de phase)(2 hd B Limite supérieure

τm Moyenne ν2 Nombre d’états du codeur

Ψ Nombre de niveauxL∆ Pas de L

p̂ Probabilité qu’un bit au chemin 1 soit erronéNγ Séquence de la différence

),( αts Signal transmisebτ Taux d’erreur par élément binaire

µ Valeur de confiance2

τσ Variance),( αϕ t Information portée par la phase),( tstλ Valeurs des métriques cumulées

AWGN Additive White Gaussian NoiseB(t) Bruit additif stationnaireBCH Bose – Chaudhuri - HocquenghemBPSK Binary Phase Shift KeyingC(n,k) Code de longueur n et de dimension kCODEC Codeur/DécodeurCPFSK Continuous Phase Frequency Shift KeyingCPM Continuous Phase ModulationD Symbolise un retard d’une périoded2 Distance euclidienne normalisée au carré Db Débit binairedfree Distance libredH Distance de HammingdHmin Distance minimaleDmax Distorsion maximaleE Energie du signalE Espérance mathématiquee Suite d’informatione.b. Elément binaireEb Energie par bit émisEc Entré du codeurek Registre à décalage

iii

Page 8: Télécommunication Radiocommunications LE CODE …

erfc Erreur fonctionf Fréquence d’un signalF{g(t)} Transformé de Fourrier de g(t)f0 Fréquence porteuse d’un signalFM Frequency ModulationG Matrice génératriceg(D) Polynôme générateurg(t) Réponse en fréquence d’une modulation à phase continuegl Elément de la matrice Gh Indice de modulationhc Indice de modulation faibleIES Interférence entre symbolei-i-d Indépendant et Identiquement Distribuék Nombre de lignes de la matrice gl

L Longueur d’impulsion Lc Longueur de contrainteLRC L Raised CosineLSRC L Spectral Raised CosineM Niveau, un nombre ne prenant que les valeurs d’une puissance de 2MDP Modulation De PhaseMSK Minimum Shift KeyingN Intervalle d’observationn Nombre de colonnes de la matrice gl

N0 Energie de bruitNRNSC Non Récursif Non Systématique p élément binairep0 Probabilité d’apparition de 0p1 Probabilité d’apparition de 1Pe Probabilité d’erreur

Peb Probabilité d’erreur par élément binaire

PSK Phase Shift Keyingq(t) Intégrale de g(t)QPSK Quaternary Phase Shift KeyingR Rapidité de modulationR Rendement du codeRN Suite de N symboles RSC Récursif Systématiques Elément de Ss Suite de mot codéS0 et S1 Signaux sinusoïdauxSc Sortie du codeurSNR Signal to Noise RatioSOVA Soft Output Viterbi AlgorithmT Période du signalt TempsT(D,N) Fonction de transfertTb Intervalle de temps séparant l’émission par la source de deux éléments binaires

iv

Page 9: Télécommunication Radiocommunications LE CODE …

TFM Tamed Frequency ModulationVA Viterbi AlgorithmW(d) Spectre de distance du codeWm Largeur d’une fenêtre

v

Page 10: Télécommunication Radiocommunications LE CODE …
Page 11: Télécommunication Radiocommunications LE CODE …

INTRODUCTION

L’informatique et la communication ont connu un épanouissement inédit durant la dernière décennie. Cette évolution a engendré un accroissement considérable de leur place et rôle dans une société moderne.

L’accessibilité gonfle une demande de plus en plus exigeante que l’offre a du mal à suivre.

Pour y faire face, des moyens plus performants sont nécessaires. Concernant particulièrement la communication, ces moyens ne sont pas seulement d’ordre physique (support d’information) mais aussi d’ordre logique (qualité de l’information à émettre). Sur cette dernière, l’objectif est d’amoindrir le taux d’erreur.

Afin de parvenir à l’objectif visé, dans de nombreuses situations, un traitement du message binaire ou non binaire permet d’améliorer cette qualité. A ce propos, il est nécessaire de coder puis de décoder les informations.

En parlant de « codage - décodage », le présent mémoire consiste à en présenter une méthode : «Le code convolutif utilisant le décodeur de Viterbi». Ceci consiste à traiter les informations bit par bit. Code convolutif, car il a un gain énergétique plus élevé par rapport aux autres codes (par exemple le code BCH).

Pour ce faire, le travail est subdivisé en cinq chapitres : les généralités sur la transmission numérique la modulation de phase continue le code convolutif le décodage la simulation sous MATLAB du code convolutif en utilisant le décodeur de Viterbi.

CHAPITRE I. GENERALITES SUR LA TRANSMISSION NUMERIQUE

0.1 Introduction [1]

Un message numérique est défini comme une suite d’éléments pouvant prendre une valeur parmi

Q valeurs possibles ; on appelle « alphabet » l’ensemble de ces valeurs. Les éléments, qui peuvent

être aussi considérés comme des variables aléatoires discrètes, sont dits « Q - aires». Dans le cas

particulier (et fréquent) où l’alphabet est constitué uniquement de deux valeurs, notées

traditionnellement 0 et 1, les éléments sont dits binaires. Etant donné qu’un message numérique

est un concept abstrait, deux exemples vont nous permettre de mieux en saisir le sens :

1

Page 12: Télécommunication Radiocommunications LE CODE …

•le contenu d’une page dactylographiée est, par exemple un message numérique où chaque

élément Q - aire qui le constitue a pour réalisation une lettre (a, A, b, B, …) ou un signe de

ponctuation.

•le code Morse qui utilise une suite de tirets et de points pour représenter l’information à

transmettre, est un second exemple de message d’éléments binaires.

Ces deux exemples simples montrent bien que les messages peuvent être constitués d’éléments

binaires ou d’éléments Q - aires. En fait, il est toujours possible de ramener une structure binaire

des messages en remplaçant chaque élément Q - aire par un ensemble de p éléments binaires,

avec :

p = [ Qlog2 ] + 1

p = [X] +1

où [X] désigne la partie entière de X, par valeur inférieure (exemple [3,2] = 3).

C’est la raison pour laquelle nous ne considérons que des messages à éléments binaires dans la

suite de ce travail.

Le concept de message numérique étant précisé, nous pouvons maintenant aborder la présentation

d’une chaîne de transmission numérique.

0.2 La chaîne de transmission numérique [1]

Le schéma de principe d’une chaîne de transmission numérique est représenté sur la figure 1.1.

On peut y distinguer : la source de message, le milieu de transmission et le destinataire qui sont

des données du problème. Le codage et le décodage de source, le codage et le décodage de canal,

l’émetteur et le récepteur qui représentent les degrés de liberté du concepteur pour réaliser le

système de transmission. Nous allons maintenant décrire de façon succincte les différents

éléments qui constituent une chaîne de transmission, en partant de la source de message vers le

destinataire. Notons au passage que la même description s’applique à un système d’enregistrement

numérique.

2

Page 13: Télécommunication Radiocommunications LE CODE …

Suite des éléments binaires à transmettre

Figure 1.1 : Principe d’une chaîne de transmission numérique

0.2.1 La source de message

Pour réaliser une transmission numérique, le message à transmettre doit être sous forme

numérique. Si la source délivre un message analogique tel que le signal de parole (sortie d’un

microphone) ou le signal d’image (sortie d’une caméra), il faut le numériser. Mais le propos de ce

travail n’étant pas la numérisation des sources, nous rappelons simplement qu’elle se fait en

échantillonnant le message analogique, puis en quantifiant les échantillons obtenus. Chaque

échantillon quantifié est ensuite codé sur m éléments binaires (appelés traditionnellement, mais

improprement bits). Les principales étapes de la numérisation d’un signal analogique sont

résumées sur la figure 1.2.

Figure I.2 : Principe de la numérisation d’une source analogique

0.2.2 Le codage de source

Le principe du codage de source qui trouve ses fondements dans la théorie de l’information ne

sera pas abordé ici. Disons simplement qu’après codage de source, certains éléments binaires peu

Source de

message

Codeur

de source

Codeur

de canalEmetteur

Milieu de Transmission

RécepteurDécodeur

de canal

Décodeur

de sourceDestinataire

Message

binaireSource

analogique

Echantil-

lonnage

Quantifi-

cation

Codage

binaire

3

Page 14: Télécommunication Radiocommunications LE CODE …

significatifs du message ont été supprimés. Le message est alors sous forme concise et constitué

par une suite d’éléments binaires mutuellement indépendants et prenant les valeurs 0 et 1, avec des

probabilités d’apparitions p0 et p1 . Dans la suite de l’exposé, nous caractériserons cette source

codée par le sigle i-i-d, c’est-à-dire source à éléments binaires indépendants et identiquement

distribués sur l’alphabet {0,1}.

Après numérisation et codage, la source de message numérique est caractérisée par son débit

binaire Db, défini comme le nombre d’éléments binaires qu’elle émet par unité de temps. L’unité

de débit binaire Db est l’élément binaire ou bit par seconde. Si l’intervalle de temps séparant

l’émission par la source de deux éléments binaires consécutifs est constant et égal àT b , alors le

débit binaire Db est égal à :

Db = )/(1 sbitT b

(I.1)

Une transmission est dite synchrone si l’émission d’éléments binaires par source s’effectue à

cadence constante, c’est-à-dire à raison d’un élément binaire toutes les T b secondes.

Elle est dite asynchrone lorsque la cadence d’émission est variable dans le temps.

Dans ce travail, nous nous placerons dans l’hypothèse de transmissions synchrones, et nous

désignerons désormais par α k l’élément binaire émis à l’instant kT b .

0.2.3 Le codage de canal

Le codage de canal, aussi appelé codage détecteur et/ou correcteur d’erreur est une fonction

spécifique des transmissions numériques, qui n’a pas son équivalent en transmission analogique.

Cette opération permet d’améliorer la qualité de la transmission. Le codage de canal consiste à

insérer dans le message, des éléments binaires dits de redondance suivant une loi donnée. Cette

opération conduit donc à une augmentation du débit binaire de la transmission. Le décodeur de

canal, qui connaît la loi de codage utilisée à l’émission, vient vérifier si cette loi est toujours

respectée en réception. Si ce n’est pas le cas, il détecte la présence d’erreurs de transmission qu’il

peut corriger sous certaines conditions.

4

Page 15: Télécommunication Radiocommunications LE CODE …

0.2.4 L’émetteur

Le message numérique, en tant que suite d’éléments binaires, est d’une grandeur abstraite. Pour

transmettre ce message, il est donc nécessaire de lui associer une représentation physique, sous

forme d’un signal électrique. C’est la première fonction de l’émetteur, appelée généralement

opération de modulation.

Plus précisément, la modulation consiste à associer à chaque mot de n éléments binaires

(n – uplet) issu du message, un signal ,,...,1),( MitS i = de durée T = nT b , choisi parmi M = 2n

signaux, en fonction de la réalisation du n – uplet.

Le message binaire de débit Db est donc représenté par un signal, dont on définit alors la rapidité

de modulation R (exprimée en Bauds), comme le nombre de signaux émis par le modulateur par

unité de temps :

R = T1 (Bauds) (I.2)

On parle alors de transmission M-aire et dans ce cas, la rapidité de modulation R peut s’exprimer

en fonction du débit binaire Db par la relation :

R = MDb

2log (I.3)

L’opération de modulation est illustrée sur la figure 1.3 lorsque n = 1 (transmission binaire). Dans

cet exemple, deux signaux sinusoïdaux )(0 tS et )(1 tS , de même fréquence et déphasés de π , sont

respectivement associés aux éléments binaires 0 et 1.

00 =α 01 =α 12 =α 13 =α

)(0 tS )(0 TtS − )2(1 TtS − )3(1 TtS −

Figure 1.3 : Illustration de l’opération de modulation

5

Page 16: Télécommunication Radiocommunications LE CODE …

Le choix du type de signaux dépend bien entendu des propriétés physiques du milieu de

transmission que le signal va traverser ; l’émetteur assure donc aussi une fonction d’adaptation du

signal modulé au milieu de transmission. Parmi les traitements effectués par l’émetteur, on peut

citer le filtrage du signal modulé pour limiter sa bande, et permettre ainsi à plusieurs utilisateurs

de partager un même milieu de transmission sans risque d’interférence. Lorsque la bande allouée à

la transmission est centrée autour d’une fréquence f 0 élevée, le modulateur élabore parfois un

signal dont le spectre est centré autour d’une fréquence dite intermédiaire et plus basse que la

fréquence f 0 ; l’émetteur assure alors une fonction de changement de fréquence qui permet de

centrer le signal modulé autour de la fréquence f 0 souhaitée.

0.2.5 Le canal de transmission

Le canal de transmission est un élément de la chaîne de communication toujours délicat à définir

puisqu’il n’à pas la même signification selon que l’on se place du point de vue de la propagation,

de la théorie de l’information ou de la théorie des communications.

Figure 1.4 : Le canal de transmission

Pour ce qui nous concerne, c’est-à-dire au sens de la théorie des communications, le canal de

transmission peut inclure le milieu de transmission, le bruit, ainsi que les antennes d’émission et

de réception pour les transmissions en espace libre.

Cette représentation du canal de transmission, illustrée sur la figure 1.4, revêt un caractère plutôt

symbolique mais elle est bien adaptée à l’analyse que nous ferons de la chaîne de transmission.

o Le milieu de transmission représente le lien physique entre l’émetteur et le récepteur ;

il est pratiquement constitué par l’un des supports suivants :

Canal de transmission

RécepteurMilieu de transmission

Filtre d’émission

Emetteur théorique

Bruit

6

Page 17: Télécommunication Radiocommunications LE CODE …

−un câble filaire, dont la bande passante est faible et qui est en général réservé pour les

transmissions à bas débit (inférieur à 2Mbit/s sur le réseau téléphonique),

−un câble coaxial, qui possède une bande passante plus importante que le câble

bifilaire et qui permet de réaliser des transmissions avec un débit relativement élevé :

plusieurs centaines de Mbit/s (jusqu’à 565Mbit/s sur le réseau téléphonique). Le câble

coaxial est notamment utilisé pour connecter les centraux téléphoniques entre lesquels

transite un grand nombre de communications,

−une fibre optique, qui apparaît aujourd’hui, grâce à sa bande passante très élevée et sa

faible atténuation, comme un support très intéressant. Les fibres optiques sont de plus

en plus utilisées pour les réseaux terrestres à grande capacité (plusieurs Gbit/s, voire

dans le futur, plusieurs dizaines de Gbit/s), pour les câbles sous-marins (où elles ont

supplanté le câble coaxial), ainsi que pour les réseaux de distribution (c’est-à-dire sur

les liaisons entre centraux téléphoniques et abonnés),

−l’espace libre, qui utilise la propagation d’une onde électromagnétique dans

l’atmosphère. Ce milieu est généralement réservé aux transmissions par satellite ou par

faisceaux hertziens ainsi qu’aux radiocommunications avec les mobiles.

La modélisation du milieu de transmission peut être très complexe. Le milieu peut se comporter

comme un simple filtre linéaire, de réponse en fréquence C(f), mais aussi être non stationnaire (la

réponse C(f) est alors fonction du temps) ou présenter des non linéarités ou encore un effet

Doppler. Dans ce travail, nous n’aborderons que les milieux de transmission linéaires.

o Le bruit est une perturbation aléatoire dont les origines sont le milieu de transmission

(bruit externe), ou les dispositifs électroniques utilisés dans le récepteur (bruit interne).

Parmi les sources de bruit externes, on peut citer les rayonnements divers captés par

l’antenne (cas des transmissions en espace libre), les interférences éventuelles entre les

différents utilisateurs du milieu de transmission ou encore les bruits d’origine

industrielle (moteurs, lignes à haute tension, etc…).

Terminons ce paragraphe sur le canal de transmission en distinguant les transmissions en bande de

base des transmissions dites sur onde porteuse. Lorsque la bande de fréquence B allouée à la

transmission du message numérique est comprise entre une fréquence égale ou proche de zéro et

une fréquence F, la transmission est dite en bande de base. Les transmissions en bande de base

utilisent les câbles comme milieu de transmission. Si la bande de fréquence B allouée à la

7

Page 18: Télécommunication Radiocommunications LE CODE …

transmission est centrée autour d’une fréquence f 0 , on parle alors de transmission sur onde

porteuse ou simplement sur porteuse. Pour les transmissions sur onde porteuse, le milieu de

transmission est constitué principalement par l’espace libre. Toutefois, les transmissions sur onde

porteuse sont aussi utilisées sur câble à chaque fois que le signal modulé doit occuper une sous

bande donnée du câble, centrée autour d’une fréquence f 0 .

Notons enfin que l’on réserve plutôt le terme de modulation pour les transmissions sur onde

porteuse, et que l’on préfère parler de codage en ligne (line code en anglais), pour les

transmissions en bande de base.

0.2.6 Le récepteur

Le récepteur, qui a pour fonction de reconstituer le message émis par la source à partir du signal

reçu, comporte des circuits d’amplification, de changement de fréquence et de démodulation pour

les transmissions sur onde porteuse, de filtrage puis d’échantillonnage et de prise de décision (ou

comparateur à seuil) (figure 1.5). Le changement de fréquence et le démodulateur permettent de

ramener le signal modulé en bande de base. Pour minimiser l’influence du bruit, source

incontournable des erreurs de transmission, le signal en bande de base est ensuite filtré puis

échantillonné à des instants caractéristiques. Finalement un circuit de décision identifie la valeur

des éléments binaires transmis à partir des échantillons reçus. Le choix effectué par le circuit de

décision est binaire, décision 0 ou décision 1, ce qui correspond à une opération dite de

« détection ».

Figure 1.5 : Principe d’un récepteur pour transmission sur onde porteuse

Enlève les enveloppes du signal porteuse

Amplifi-cation

Circuit de décision

Echantil-lonnage

Démodula-tion

Change-ment de

fréquence

Signal reçu Message reconstitué

8

Page 19: Télécommunication Radiocommunications LE CODE …

Le décodage de canal ayant été évoqué avec le codage de canal, nous terminons cette présentation

de la chaîne de transmission en abordant l’évaluation de la qualité de la transmission.

0.3 La qualité d’une transmission numérique

La qualité d’une transmission dépend de la fidélité avec laquelle les éléments binaires du message

sont restitués au destinataire. Elle se mesure en général en évaluant la probabilité d’erreur par

élément binaire, notée Peb , définie comme la probabilité de prendre une décision erronée sur un

élément binaire.

Cette probabilité d’erreur n’est jamais strictement nulle, mais cela ne signifie pas pour autant que

la transmission soit de mauvaise qualité ; en effet, il suffit qu’elle prenne une valeur suffisamment

faible pour satisfaire à un certain critère de fidélité, cette valeur dépendant du type d’information

transmise (parole, son, image, données, …) et du niveau de fidélité exigé : une probabilité d’erreur

de 10-6 par exemple peut être jugée tout à fait satisfaisante pour la transmission de la parole en

téléphonie.

Désignons par α k l’élément binaire émis à l’instant kT b . En tenant compte du fait que les

éléments binaires α k issus de la source sont i-i-d sur l’alphabet {0,1}, la probabilité d’erreur par

élément binaire Peb est égale à :

Peb = Pr{α k = 1} Pr{α̂ k = 0 | α k = 1} + Pr{α k = 0} Pr{α̂ k = 1 | α k = 0} (I.4)

où α̂ k représente le résultat de la décision prise sur l’élément binaire α k .

Pour un canal perturbé par un bruit additif B(t) stationnaire, cette probabilité d’erreur par élément

binaire ne dépend pas de l’indice k considéré.

0.3.1 Mesure du taux d’erreur

La mesure en laboratoire de cette probabilité d’erreur est réalisée en émettant une séquence de N

éléments binaires connue du destinataire, puis en évaluant en réception le rapport entre le nombre

n d’éléments binaires erronés et le nombre N d’éléments binaires émis. Ce rapport, appelé taux

d’erreur par élément binaireτ eb , est, sous certaines conditions, une bonne estimation de la

probabilité d’erreur Peb .

On peut écrire :

9

Page 20: Télécommunication Radiocommunications LE CODE …

τ eb = ∑=

N

kkXN 1

1 (I.5)

où X k est une variable aléatoire discrète qui prend la valeur 1 avec la probabilité Peb si l’élément

binaire α k est mal décodé et la valeur 0 avec la probabilité (1 - Peb ) dans le cas contraire ; il

s’agit donc d’une variable aléatoire qui suit une loi Bernoulli de paramètre Peb .

Le taux d’erreur par élément binaire est donc aussi une variable aléatoire que l’on peut caractériser

au second ordre par sa moyenne mτ et sa variance σ τ2 :

mτ = E[τ eb ] = ∑=

N

kkXE

N 1]1 [ et σ τ

2 = E[(τ eb - E[τ eb ])2]

La grandeur β (τ eb ) = E[τ eb ] - Peb est appelé le « biais » de l’estimateur ; elle mesure en

quelque sorte l’erreur systématique, la variance de l’estimateur mesurant quant à elle la précision

de la mesure. Un bon estimateur a bien entendu un biais nul et une variance faible.

En tenant compte du fait que l’espérance de la variable X k est égale à Peb , et ceci quel que soit

l’indice k considéré, la valeur moyenne du taux d’erreur est égale à la probabilité d’erreur :

mτ = E[τ eb ] = Peb (I.6)

L’estimateur τ eb est donc sans biais. Si les erreurs de transmission sont indépendantes et la

variance σ τ2 est égale à :

σ τ2 =

NPP ebeb )1( −

(I.7)

L’estimation de la probabilité d’erreur Peb à partir de la mesure du taux d ‘erreur τ eb est donc

entachée d’une erreur de mesure qui est fonction du nombre N éléments binaires utilisés et de la

probabilité d’erreur considérée. Cette erreur peut être évaluée à partir de l’erreur quadratique

relative ε 2 , égale à :

NPNPP

m ebeb

eb 112

22 ≈−==

τ

τσε si Peb << 1 (I.8)

L’expression ci-dessus permet de déterminer le nombre N d’éléments binaires (et donc la durée

N/Db pour un débit Db) nécessaire pour mesurer un taux d’erreur τ eb avec une erreur de mesure ε

10

Page 21: Télécommunication Radiocommunications LE CODE …

donnée. Le temps nécessaire à la mesure d’un taux d’erreur binaire petit peut devenir rapidement

important, pour une transmission à faible débit. Ainsi pour estimer une probabilité d’erreur Peb

= 10-6 avec une erreur de mesure inférieure à 10% ( ε 2 < 10-2), il faudra mesurer le taux d’erreur

τ eb à partir d’un échantillon de N = 108 éléments binaires, ce qui nécessitera une seconde pour un

débit de 100Mbit/s, mais 105 secondes, soit plus d’une journée, pour un débit de 1kbit/s. On notera

enfin que, d’après (I.6) et (I.8), on peut écrire :

E[n] ε 21≈

Ce qui signifie que si l’on veut une erreur de mesure inférieure à 10%, il faut compter, en

moyenne, n = 100 erreurs. Cette valeur est intéressante à connaître quand on fait des mesures de

taux d’erreur par simulation.

Il importe de souligner, pour terminer sur ce point, que les résultats établis ci-dessus ne sont

valables qu’à condition que les erreurs successives soient bien indépendantes, ce qui n’est pas

toujours le cas.

0.3.2 Interférence Entre Symbole (IES) [2]

Considérons maintenant la transmission d'une suite de symboles M-aires sur un canal à bande limitée. Nous supposerons dans ce paragraphe que la limitation de bande est due à la présence d'un filtre d'émission de réponse impulsionnelle ge(t) en sortie du codeur en ligne (Figure 1.6).

Le signal x(t) reçu par le récepteur est égal à :

∑ +−=k

ek tBkTthatx )()()( (I.9)

où he(t) résulte du filtrage de la forme d'onde h(t) par le filtre d'émission :

)()()( tgthth ee ⊗= (I.10)

t=t0+nT

Filtre d’émission

Filtre de réception

Détecteur à seuil

Codeur en ligne

Gr(f)G

e(f) Se(t)

B(t)

x(t)

y(t)nα

11

Page 22: Télécommunication Radiocommunications LE CODE …

Figure 1.6 : Principe d'une chaîne de transmission en bande de base avec filtrage à l'émission

En considérant toujours un récepteur linéaire constitué d'un filtre de réponse gr(t), d'un échantillonneur et d'un comparateur à seuils, la sortie y(f0 +nT) du filtre de réception à l'instant t0 + nT a pour expression :

∑ ++−+=+k

k nTtbTkntranTty )())(()( 000 (I.11)

où r(t) et b(t) résultent respectivement du filtrage du signal he(t) et du bruit B(t) par le filtre de réception de réponse impulsionnelle gr(t) :

)()()()()()(

tgtBtbtgthtr

r

re

⊗=⊗=

(I.12)

Pour un canal à bande passante infinie, nous avons vu que chaque échantillon y(t0 + nT) dépendait du seul symbole an et du bruit. Ceci était dû à l'utilisation d'un filtre de réception adapté à la forme d'onde h(t) de durée T. Avec un canal à bande passante finie, le signal r(t) n'est plus de durée T. L'échantillon y(t0 + nT) peut désormais dépendre du symbole an, mais aussi des symboles antérieurs, et même postérieurs, au symbole an si l'instant initial de décision t0 est supérieur à T. Cette situation est illustrée sur la figure 1.7. A l’instant to+T, le signal échantillonné dépend du symbole a1 mais aussi des symboles a0 et a2 Nous pouvons donc décomposer l'échantillon y(t0 +nT) en une somme de trois termes : Le premier terme dépend du symbole an, le deuxième qui dépend des symboles an-m (m ≠ 0) est appelé terme d'Interférence Entre Symboles (IES) et le troisième représente le bruit.

Figure 1.7 : Illustration de l’interférence entre symboles

0.3.3 Caractérisations de l'IES : diagramme de l'œil et distorsion maximale

Le diagramme de l'œil, appelé ainsi par analogie avec la forme d'un œil humain comme nous allons le voir plus loin, est la figure obtenue en superposant toutes les traces ou réalisations du signal y(t) non bruité, noté z(t) :

∑ −=m

m mTtratz )()( (I.13)

Examinons d'abord le diagramme de l'œil sur un intervalle [ [Ttt +11 , où t1 représente un instant arbitraire. Sur cet intervalle, écrivons le signal z(t) sous la forme :

∑ −+=+m

m mTttrattz )()( 11 Tt ≤≤0 (I.14)

a0 r(t) a

2 r(t-2T)

a1 r(t-T)

T 2T 3T 4Tt0+T t

12

Page 23: Télécommunication Radiocommunications LE CODE …

En considérant un canal de transmission de réponse impulsionnelle finie, supposons que le signal r(t) soit nul ou négligeable en dehors de l'intervalle [t1-L1T, t1+L2T[ (L1 et L2 entiers). En présence d'une suite de symboles binaires, le nombre possible de traces du signal )( 1ttz + pour t appartenant à l'intervalle [0, T[est alors égal à )1( 212 ++ LL . La superposition de ces traces constitue le diagramme de l'œil associé au signal z(t) sur l'intervalle [t1, t1+T [ . Décalons maintenant l'intervalle d'observation d'une quantité T, le signal z(t) peut s'écrire :

∑∞

− ∞=+ −+=++

mm mTttratTtz )()( 111 (I.15)

En conservant les hypothèses précédentes sur le domaine de définition de r ( t ), le nombre possible de traces du signal z(t + T + t 1 ) pour t appartenant à l'intervalle [0,T [ est toujours égal à )1( 212 ++ LL . Le diagramme de l'œil est donc une figure qui se répète tous les T et son analyse peut en conséquence être limitée à un intervalle quelconque de durée T.Le diagramme de l'œil peut être visualisé sur un oscilloscope. En effet, les différentes traces du signal z(t) peuvent être conservées à l'écran si la vitesse de balayage de l'oscilloscope est suffisamment grande devant la durée de rémanence du tube cathodique ou, mieux, si l'oscilloscope est à mémoire. Le diagramme de l'œil est donc une représentation, facilement exploitable en laboratoire, du montant de l'IES à un instant quelconque.Nous avons représenté sur la figure 1.8 un diagramme de l'œil associé à un code en ligne à symboles binaires.

Figure 1.8 : Diagramme de l'œil en l'absence d'IES

Figure 1.9 : Diagramme de l'œil en présence d'IES

En l'absence d'IES à l'instant de décision (t0 +nT), toutes les traces du signal z(t) passent par un point unique, comme c'est le cas sur la figure 1.8. Plus le diagramme de l'œil est ouvert à l'instant de décision et plus l'immunité de la transmission au bruit est grande. De la même façon, plus l'ouverture

13

Page 24: Télécommunication Radiocommunications LE CODE …

horizontale du diagramme de l'œil est importante et moins la transmission est sensible aux erreurs de positionnement de l'instant de décision. Sur la figure 1.9, nous avons représenté un second exemple de diagramme de l'œil pour un code en ligne à symboles binaires mais cette fois-ci en présence d'IES.Les différentes traces du signal z(t) ne passent plus par un point unique à l'instant de décision et l'IES contribue à fermer le diagramme de l'œil. Enfin, sur la figure 1.10, nous présentons un diagramme de l'œil pour un code en ligne à symboles quaternaires sans et avec IES.

Nous venons de voir sur la figure 1.9 que la présence d'IES réduit l'ouverture verticale du diagramme de l'œil. Si l'IES devient trop importante, elle peut même conduire à des erreurs de décision en l'absence de bruit. Pour un code en ligne à symboles M-aires, utilisant l'alphabet At, la sortie non bruitée de l'échantillonneur z(t0 + nT) est de la forme (2p + 1)r(t0) en l'absence d'IES. Les seuils de décision étant distants de 2r(t0), des erreurs dues à l'IES pourront se produire si pour certaines configurations de la séquence {a k}, l'échantillon z(t0 +nT) se trouve en dehors de la région de décision correcte, c'est-à-dire si la valeur absolue de l'IES est supérieure à r(t0). Cette situation peut se traduire par la condition suivante :

{ })()( 0

00 trmTtraMax

mmna mn

≥+∑≠

−−

(I.16)

ou encore, en tenant compte du fait que la plus grande valeur de l'alphabet At est (M-l):

1)(

)()1(

0

00

max ≥+

−=∑

tr

mTtrMD m (I.17)

Figure 1.10 : Diagrammes de l'œil associés à un code en ligne à symboles M-aires ( M = 4)

14

Page 25: Télécommunication Radiocommunications LE CODE …

La quantité Dmax est appelée distorsion maximale. Lorsque la distorsion maximale est supérieure à l'unité, le diagramme de l'œil est complètement fermé aux instants de décision (t0 + nT) et des erreurs de décision sont possibles en l'absence de bruit. On comprend bien dans ces conditions que, pour réaliser une transmission numérique, il est essentiel que l'œil soit ouvert, et donc que la distorsion maximale soit inférieure à un. Comme nous venons de le voir, l'IES est un phénomène de nature à dégrader la qualité d'une transmission. Nous allons maintenant examiner sous quelles conditions un signal en bande de base peut être filtré sans création d'IES aux instants de décision.

15

Page 26: Télécommunication Radiocommunications LE CODE …

CHAPITRE I. MODULATIONS DE PHASE CONTINUE (CPM)

I.1 Introduction

Le système développé et étudié dans ce chapitre est la modulation numérique de phase continue (CPM : Continuous Phase Modulation) à enveloppe constante. Modulation de phase continue parce que le symbole de données module instantanément la phase du signal transmis et cette phase est une fonction continue dans le temps. Dans ce travail, le signal à « full response » et « partial response » du système CPM est utilisé. [10], [15] et [18]Supposons que la détection est cohérente [9] et le canal est Gaussien. Le récepteur observe le signal reçu sur plus qu'un intervalle de symbole pour se servir des propriétés corrélatives du signal transmis. Les systèmes sont à M-aire, et une impulsion en bande de base prenant forme sur plusieurs intervalles de symbole est considérée. La performance qui est en fonction de la distance euclidienne dépend de l’indice de modulation h et de l’intervalle d’observation N.

I.2 Descriptions générales du système [14]

Pour les systèmes CPM, le signal transmis est :

)),(2cos(2),( 00 ϕαϕπα ++= ttfTEts (II.1)

En supposant que 00 =ϕ , cette équation peut s’écrire

[ ])2sin()()2cos()(2),( 00 tftQtftITEts ππα −= (II.2)

avec[ ][ ]

==

),(sin)(),(cos)(

αϕαϕ

ttQttI

(II.3)

où l'information portée par la phase est

∫ ∑∞−

− ∞=

−=t

ii diTght τταπαϕ )(2),( ; + ∞<<∞− t (II.4)

Et 1012 ααααα −−= est une séquence infinie de M-aire symboles de données non corrélées, qui prend chacune une des valeurs

);1(,,3,1 −±±±= Mi α ,2,1,0 ±±=i (II.5)avec la même probabilité 1/M. E est l'énergie, T est la période, f0 est la fréquence porteuse, et 0ϕ est un constant arbitraire du changement de la phase qui est sans perte et en générale il peut être mis à zéro dans le cas de transmission cohérente. La variable h est connu sous le nom de l'indice de modulation, et l'amplitude de la pulsation en bande de base g(t) est choisi pour donner le changement maximum πα h radians de la phase sur chaque intervalle du symbole quand tous les symboles de la donnée dans la séquence α prend la même valeurα . Pour les raisons de la mise en oeuvre, les valeurs rationnelles de l’indice de modulation h sont utilisées. Cela est discuté sur quelque détail dans [11]

16

Page 27: Télécommunication Radiocommunications LE CODE …

Pour avoir un signal CPM, l'information que porte la phase ),( αϕ t est une fonction continue dans le temps t, qui implique que de l’impulsion en bande de base g(t) ne contient pas toutes les impulsions.

Figure 2.1 : Schéma d’un modulateur CPM

Un schéma d’un modulateur est montré dans la figure 2.1. Notons qu'un signal CPM a toujours une enveloppe constante. Définissons la réponse en phase

∫ ∞−=

tdgtq ττ )()( ; + ∞<<∞− t (II.6)

Donc, la phase du signal CPM est formée par

∑∞

− ∞=

−=i

i iTtqht )(2),( απαϕ ; + ∞<<∞− t (II.7)

Qui est équivalent à :

∑ ∑+−=

− ∞=+≤≤+−=

n

Lni

Ln

iii TntnThiTtqht

1)1(,)(2),( απαπαϕ (II.8)

avec n c’est la longueur d’une séquence et nθ est l'état de phase définit par:

∑−

− ∞=

=Ln

iin uloh .2mod παπθ (II.9)

Un système CPM causal est obtenu si l’impulsion g(t) satisfait

≤≤≠><≡

LTttgLTtttg

0;0)(,0;0)(

(II.10)

où la longueur de la pulsation L mesurée dans l’intervalle de symbole N peut être infinie. L = 1 représente un système « full response » et L= 2, 3, 4… représentent le système « partial response ».

I.3 Différentes classes du système CPM [9], [15]

La première classe de la réponse partielle du système CPM est définie par l’impulsion :

≤≤

−=

,;0

;2cos12

1)(

ailleurs

LTtfLT

tLTtg

π (II.11)

c’est-à-dire, l’impulsion g(t) est un cosinus surélevé sur L intervalles du symbole. La classe est obtenue en variant M, L, et l'indice de modulation h.Une autre classe des systèmes CPM qui sera aussi considérée, est ceux ayant la transformée de Fourier de l’impulsion g(t)

α )(tghπ2

Modulateur FM ),( αts

0f

17

Page 28: Télécommunication Radiocommunications LE CODE …

{ }

+==

,;0

2;2

cos141

)()(ailleurs

LTffLT

tgFfGπ

(II.12)

c’est-à-dire, la transformation de Fourier de l’impulsion g(t) est le cosinus surélevé ; développé en [12]. L’impulsion est :

2241

2cos

2

2sin1)(

=

LTt

LTt

LTt

LTt

LTtg

π

π

π

(II.13)

qui a une durée infinie.La troisième classe des systèmes CPM a été considérée précédemment [13] pour le cas spécifique h = 1/2, M = 2, et une approximation de l’impulsion utilisée est [9], [18]

[ ])()(2)(81)( 000 TtgtgTtgtg +++−= (II.14)

−−−≈ 3

22

0 )()sin()()cos()2()sin(2

24)sin(1)(

TtTtTtTtTtTt

TtTt

Ttg

πππππππ

ππ

(II.15)

Ce système sera connu sous le nom du TFM (Tamed Frequency Modulation), le système comme dans [13]. Il sera analysé seulement pour le cas binaire, mais l'indice de modulation ne sera pas contraint à ½ comme dans l'analyse approximative présentée dans [13].

Une autre classe est donnée par l’équation :

=ailleurs

LTtLT

tg;0

0;2

1

)(

(II.16)

Les systèmes donnés par (II.11) seront dénotés par 1RC (= RC), 2RC, 3RC, etc puisque l’impulsion g(t) est un cosinus surélevé de longueur L = 1, 2, 3, etc. Les systèmes définis par (II.13) seront dénotés par 1SRC, 2SRC, etc puisque l’impulsion g(t) a une transformée de Fourier sur laquelle la cosinus sur élevé se développe (Spectral du Cosinus surélevé ) et la largeur du lobe principal de cette impulsion est L = 1, 2, 3, etc.

I.4 Propriétés de la distance euclidienne minimum [14]

Dans ce paragraphe, les propriétés générales de la distance euclidienne minimum qui sont en fonction de l’indice de modulation h, sont données pour le système à réponse partielle CPM. Rappelons que la distance euclidienne [ ]NlNkD ,, ,αα étant la distance entre les signaux ),( ,Nkts α et

),( ,Nlts α est définie par :

−=

NT

NlNk dtNltsNktsD0,,

22

),,(),,(),( αααα [ ]∑ ∫−

=

+α−α=

1N

0i

T)1i(

iT

2N,lN,k dt),t(s),t(s (II.17)

En supposant 12 0 > >Tfπ , on peut écrire

18

Page 29: Télécommunication Radiocommunications LE CODE …

−⋅−−= ∫ ∑

=

NT N

i

li

kiNlNk dtiTtqh

TNED

0

1

0,,

2 )()(2cos12),( ααπαα (II.18)

L'indice supérieur indique la valeur du premier symbole dans le séquence de N symboles, c’est-à-dire,

−=α=α=α

1N,,2,1i;k

iki

k0

(II.19)

L’équation (II.18) peut être écrit

[ ]

−−= ∫

NT

NlNkNlNk dttT

NED0 ,,,,

2 ),(cos12),( ααϕαα (II.20)

Avec Nγ la séquence de la différence

NlNkN ,, ααγ −= (II.21)

des paires de séquence Nk ,α et Nl ,α . Pour un large rapport signal sur bruit, la probabilité d’erreur par symbole est donnée par l’approximation :

⋅Γ≈

0

min,0 2N

DQP N

e (II.22)

Supposons que E/N0 est suffisamment élevé pour que cette approximation soit valide. Les limitations de cette supposition sont considérées en détail dans [17]. 0Γ est une constante positive, indépendant de E/N0 , et NDmin, est le minimum de ),( ,, NlNkD αα . Cette quantité peut être calculée en utilisant aussi la séquence de la différence

[ ]

−⋅= ∫

NT

NN dttT

NEDN 0

2min, ),(cos1min2 γϕ

γ (II.23)

avec la restriction

−=−±±±=−=

.1,,2,1;)1(2,,4,2,0)1(2,,6,4,20

NiMM

i

γγ

(II.24)Dans ce travail, nous ne traiterons que les distances euclidiennes normalisées au carré par énergie par bit émis

bEDd2

22 = (II.25)

Notons que)(log 2 MEE b ⋅= (II.26)

où Eb est l’énergie par bit émis. Donc, les comparaisons de la probabilité d'erreur pour SNR élevé peuvent être faites directement dans Eb/N0 entre les mêmes systèmes, si M est différent. Seulement les valeurs en puissance de deux (M = 2, 4, 8,…) seront considérées. Comme un point de référence, noté que 22

min =d pour MSK, PSK binaire (BPSK), et QPSK.

19

Page 30: Télécommunication Radiocommunications LE CODE …

I.4.1 L'arbre de Phase et l'arbre de la différence de Phase [9]

Un outil important pour le calcul de la distance euclidienne minimum est l'arbre de phase. Cet arbre est formé par l'ensemble de trajectoires de phase ayant une phase de début commune (origine), dite le zéro, au temps t=0. Les symboles de données pour toutes les trajectoires de la phase dans l'arbre avant ce temps sont tous égaux. La valeur de ces symboles de données précédents peut être choisie arbitrairement, mais pour l’unanimité des résultats, ils seront choisis pour être M-1; c'est-à-dire; 1−= Miα tel que i = -1,-2, …. On montre un exemple d'un arbre de phase pour le système CPFSK [16] à réponse partielle binaire sur la figure2.1, et l'impulsion g (t) est:

=ailleurs

TtTtg

;0

30;61

)( (II.27)

Quand le calcul de la distance euclidienne minimum sera exécuté; la première paire de symboles de données doit être par définition différente, et de là, les trajectoires de phase sont toujours différentes sur cet intervalle de symbole. Allant plus profond dans l'arbre cependant, il est toujours possible de trouver une paire des trajectoires de phase qui coïncide (modulo 2π ) à un temps spécifique; et ce phénomène se répète dans la suite. Ceci est appelé une fusion. En dénotant par mt le temps où les deux trajectoires de la phase se fusionnent, on peut voir que le calcul de la distance euclidienne doit être exécuté seulement sur l'intervalle 0 < t < mt (II.20).Les trajectoires de la différence de phase sont définies par :

∑+ ∞

− ∞=

−=i

i iTtqht );(2),( γπγϕ ).1(2,,4,2,0 −±±±= Mi γ (II.28)

L'arbre de la différence de phase est maintenant obtenu de l'ensemble de trajectoires de différence de phase. Puisque la première paire de symboles de données doit être différente dans l'arbre de phase, le premier symbole de différence 0γ ne doit pas être égale à zéro dans l'arbre de la différence de phase. Dans l'arbre de phase, la valeur des symboles de données précédente est la même pour toutes les trajectoires de phase et ainsi les symboles de différence formant cette valeur dans l'arbre de la différence de phase doivent être à zéro. Cela signifie que l'arbre de la différence de phase ne dépend pas de la valeur des symboles de données précédents. Il en est de même pour les distances euclidiennes [14].

20

Page 31: Télécommunication Radiocommunications LE CODE …

0 1 2 3 4 5- 3 h p i

- 2 h p i

- h p i

0

h p i

2 h p i

3 h p i

4 h p i

5 h p i

6 h p i

t

A

B

B

C

C

C

Figure2.I : Arbre de phase (ensemble des trajectoires de la phase) quand l’impulsion g(t) est

constante et de longueur L=3. Il est supposé que tous les symboles de données binaires (M = 2) avant t = 0 sont tous + 1. Notons que A est un croisement et pas une fusion. B et C sont

respectivement la première et la deuxième fusion.

Puisqu'il y a une symétrie de signe parmi les séquences de la différence et aussi parmi les trajectoires de la différence de phase, cela peut être enlevé pour le calcul de la distance euclidienne. Pour le calcul de la distance euclidienne minimum, quand l'intervalle d'observation du récepteur est égale à N intervalles de symboles, il est suffisant de considérer l'arbre de la différence de phase, en employant la séquence de la différence Nγ défini par :

−=−±±±=−=

=

1,,2,1);1(2,,4,2,0)1(2,,6,4,2

00

0

NiMM

i

i

i

γγγ

(II.29)

La fusion est facilement identifiée dans l'arbre de la différence de phase, puisque cela correspond à une trajectoire de la différence de phase qui est identiquement égal à zéro pour tout mtt ≥ .La fusion et l'arbre de la différence de phase avec symétrie de signe enlevée pour une impulsion définie par (II.27) sont montrés sur la figure 2.2. Notez que sur la figure2.1, les paires de trajectoires de la phase doivent être considérées dans le calcul de la distance euclidienne; mais sur la figure 2.2, seulement les seules paires de trajectoires de la différence de phase ont besoin de l’être.

I.4.2 Indice de Modulation Faible ch

Comme a été mentionné auparavant, une trajectoire de la différence de phase identiquement égale à zéro pour tout mtt ≥ définit la fusion. Puisque l'arbre de la différence de phase doit être toujours

),( xtϕ

g(t)

t0 3T2TT

1/6T

21

Page 32: Télécommunication Radiocommunications LE CODE …

vu modulo π2 dans la conjonction avec des calculs de distance, une fusion qui dépend de l'indice de modulation h est obtenue s’il existe une trajectoire de la différence de phase qui est différente de zéro multiple de 2 π pour tout ctt ≥ . La valeur de trajectoire de la différence de phase dépend de l'indice de modulation h et une situation comme cela arrive :

− il existe une trajectoire de la différence de phase qui est un constant non égal à zéro pour tout ctt ≥ ;

− l'indice de modulation h est choisie pour que ce constant soit un multiple de π2 .Puisque n'importe quelle trajectoire de la différence de phase est réalisée en introduisant la séquence de la différence dans un filtre ayant la réponse impulsionnelle q(t) et en multipliant la sortie de ce filtre par hπ2 , la première exigence est satisfaite pour LTtc = en choisissant:

=−=0;00);1(2,,6,4,20;0

iiMi

iγ (II.30)

Puisque pour une impulsion g(t) de longueur L intervalles de symbole, )()( LTqtq = , LTt ≥ . Toutefois cela peut aussi se produire pour TLTLtc )2(,)1( −−= et ainsi de suite, mais seulement pour des réponses de phase spécifiques q(t).La deuxième exigence ci-dessus est satisfaite si :

)1(2,,6,4,2,2,1;2)(2

0

0

−===

MkkLTqhc

γπγπ

(II.31)

où il est supposé que 0)( ≠LTq . Donc, pour ces indices de modulation, dans la suite appelée faible, ch satisfait :

)1(2,,6,4,2

,2,1;)(

0

0

−=

==

M

kLTq

khc

γγ (II.32)

22

Page 33: Télécommunication Radiocommunications LE CODE …

Figure 2.2 : Arbre de la différence de phase quand la fréquence impulsionnelle g est constant et de longueur L = 3 intervalles du symbole. Notons que A n'est pas une fusion puisque la trajectoire ne

peut pas être identiquement zéro dans le futur. B et C indiquent la fusion.

Une fusion, modulo π2 , se produit à t = LT.D'une façon semblable, la trajectoire de la différence de phase peut être constante pour tout

TLLtt c )( ∆+=≥ en choisissant

∆∆=−±±±

=−=

LiLiM

iMi

i

;0,,2,1);1(2,,4,2,0

0);1(2,,6,4,20;0

γ (II.33)

et l’indice de modulation faible est:

=

=

==

L

ii

L

ii

c

LTq

kLTq

kh

0

0

0

0)(

,3,2,1;)(

γ

γ

(II.34)

Notons que pour un intervalle donné fini de l'indice de modulation, le nombre d'indices de modulations faibles dans cet intervalle augmente avec M comme dans [14].Dans [9], la distance euclidienne minimum normalisée au carré est en fonction de h quand N = 1, 2,…, 10 intervalles du symbole observés pour le système CPM binaire donné par (II.27). Pour la plupart de h, la distance euclidienne minimum augmente à une limite supérieure )(2 hd B avec N, mais pas pour les indices de modulation faible

23

Page 34: Télécommunication Radiocommunications LE CODE …

⋅=23,

79,

56,

89,1,

43

ch (II.35)

Pour certains des indices de modulation "faibles", par exemple 87,54=ch , ils n’affectent pas l'augmentation de la distance euclidienne minimum avec N. Cependant, l'indice comme 23=ch est catastrophique.

I.4.3 La Limite supérieure sur la distance euclidienne minimum

La trajectoire de la différence de phase identiquement égale à zéro pour tout mtt ≥ n'augmente pas la distance euclidienne si l'intervalle d'observation est plus long que TtN m= intervalles de symbole. En choisissant toute séquence de la différence fixe pour qu'une fusion soit obtenue, une limite supérieure sur la distance euclidienne minimum est obtenue. Le premier instant pour lequel n'importe quelle trajectoire de la différence de phase peut être faite identiquement à zéro pour toujours est en général TLt )1( += , où L est la longueur de l'impulsion de fréquence causale g(t). Ceci est appelé la première fusion, et la trajectoire de la différence de phase donnant cette fusion est obtenue en choisissant les séquences de la différence :

=−=−=

=

1;01;0);1(2,,6,4,2

0;0

0

0

iiiM

i

i γγ

γ (II.36)

Donc, la trajectoire de la différence de phase est :

[ ][ ]

+≥=−++≤≤−−

≤≤≤

=

TLtLTqTLqhTLtTTtqtqhTttqh

t

t

)1(;0)())1((2)1(;)()(2

0);(20;0

),(

0

0

0

πγπγπγ

γϕ (II.37)

En prenant le minimum des distances euclidiennes entre les signaux ayant les trajectoires de la différence de phase ci-dessus, une limite supérieure sur la distance euclidienne minimum comme une fonction de h, pour M et g(t) fixés , est atteinte de même qu'en [14]. Cependant, la limite résultante est plus complexe.On peut aussi considérer la seconde fusion, comme les trajectoires de la différence de phase qui fusionnent à TLt )2( += . Ces trajectoires de la différence de phase sont obtenues de (II.28) en employant :

=−±±±=−

=

2;02,1);1(2,,4,2,00);1(2,,6,4,20;0

iiM

iMi

iγ (II.38)

qui satisfait: ∑=

=2

0

0i

iγ (II.39)

24

Page 35: Télécommunication Radiocommunications LE CODE …

Il pourrait arriver que la distance euclidienne associée à ces trajectoires de la différence de phase pour une valeur de h spécifique soit plus petite que ceux donnant la première fusion. De là, l'ancienne limite supérieure peut être fixée en prenant aussi le minimum des distances euclidienne associées à la deuxième fusion. Cette nouvelle limite supérieure pourrait être aussi fixée en prenant la troisième fusion en considération, et ainsi de suite.Comme il a été mentionné ci-dessus, pas tous les indices de modulation faibles n’affectent pas la distance euclidienne minimum. Dans ce cas, les trajectoires de la différence de phase associées avec (II.33) donnent une plus grande distance euclidienne que la limite supérieure. Seulement ceux des indices de modulation faibles qui ont des trajectoires de la différence de phase ayant la distance plus petite que la limite supérieure affecte la distance euclidienne minimum [9].

25

Page 36: Télécommunication Radiocommunications LE CODE …

CHAPITRE II. CODAGE CONVOLUTIF

II.1 Introduction

Les codes convolutifs, introduits en 1955 par Elias, peuvent être considérés comme un cas particulier des codes en bloc linéaires, mais un point de vue plus large nous fera découvrir que la structure convolutive additionnelle munit le code linéaire de propriétés favorables qui facilitent à la fois son codage et améliorent ses performances. Les codes convolutifs forment une classe extrêmement souple et efficace de codes correcteurs d’erreurs. Ce sont les codes les plus utilisés dans les systèmes de télécommunications fixes et mobiles. Théoriquement, ils ont les mêmes caractéristiques que les codes en blocs sauf pour la valeur de leur dimension et leur longueur. Les codes convolutifs s’appliquent sur des séquences infinies de symboles d’information et génèrent des séquences infinies de symboles codés. C’est pourquoi que lorsque l'on affronte des milieux très bruités comme dans le cas des liaisons satellites ou terrestres, il convient de renforcer encore les mesures de protection des données à transmettre. Alors, nous allons mettre en oeuvre un code convolutif. L'idée du code convolutif est de lier un bit à un ou plusieurs bits précédents de sorte à pouvoir retrouver sa valeur en cas de problème. Rappelons que comme tous les codes correcteurs d’erreur, le code convolutif peut détecter jusqu’à (dH-1) erreurs et corriger jusqu’à (dH-1)/2 erreurs, avec dH distance de Hamming minimum.

II.2 Structures des codes convolutifs

II.2.1Code convolutif de rendement 1/n

Considérons le code en bloc linéaire binaire spécifié par la matrice génératrice suivante :

=

1210

1210

1210

1210

c

c

c

c

L

L

L

L

gggg

gggggggg

gggg

G

(III.1)

Chaque élément lg 0 ≤ l ≤ Lc-1, de la matrice est un vecteur ligne binaire à n composants de la forme :

[ ]ln21 gggg lll =Les zones laissées vides en bas à gauche et en haut à droite correspondent à des éléments tous nuls. Chaque ligne s’obtient en décalant la précédente de n colonnes vers la droite. Cette matrice, de taille )1(* −+ cLnBB décrit donc un code linéaire en bloc dont les mots de code pourraient être engendrés par le dispositif de la figure 3.1. Généralement, les mots de codes sont très longs, c’est à dire B>>Lc et nous pouvons même considérer cette matrice comme infinie. Ce code linéaire ne possède donc plus à proprement parler de dimension ni de longueur.Le rendement ne peut alors être défini comme pour les codes en blocs. Cependant en négligeant la fermeture du code (le vidage des registres), nous remarquons qu’il existe un rapport 1/n entre le nombre de bits d’information et le nombre de bits du mot de code. Le rendement de ce code est donc : nR 1=

26

Page 37: Télécommunication Radiocommunications LE CODE …

Figure 3.1 : Codeur d’un code convolutif de rendement nR 1=

La quantité Lc est appelée longueur de contrainte du code convolutif.Le terme « convolutif » s’applique à cette classe de codes parce que la suite de bits codés s peut s’exprimer comme le résultat de la convolution de la suite de bits d’information e par les coefficients g. En effet, puisque le code est linéaire, nous avons : s = e * G. En observant la forme particulière de G, les n bits en sortie du codeur à l’instant t, correspondant à une entrée, s’écrivent :

∑+−=

−=t

Ltlukukt ges

)1,max( (III.2)

La complexité du codeur est indépendante de la longueur de la séquence de bits d’information émise et ne dépend que de la longueur de contrainte du code.

II.2.2 Code convolutif de rendement k/n

Pour obtenir un rendement égal à un nombre rationnel quelconque inférieur à 1, il nous faut généraliser la forme (III.1) de la matrice génératrice et le schéma à la figure 3.1 du codeur. Nous supposons maintenant que k bits d’information sont introduits en parallèle à un instant donné dans le codeur ou qu’un décalage temporel du vecteur e des bits d’information se fait par bloc de k bits. Cela revient à remplacer la ligne [ 0g 1g … 1−Lg ] de taille 1×Lc.n par une sous matrice binaire de taille k×Lc.n. dont les éléments constituant 1g sont de taille k×n. La construction générale par décalage de la matrice reste la même :

g01

g11 g

21g

Lc-1,1

g02

g0n

g12

g1n

g22

g2n

gLc-1,2

gLc-1,n

27

Page 38: Télécommunication Radiocommunications LE CODE …

=

110

110

110

c

c

c

L

L

L

ggg

ggggggk

n

G

(III.3)

Ce décalage est représenté par des registres à décalage au niveau du codeur réel.D’où la sortie d’un codeur convolutif à l’instant t dépend de ses entrées à l’instant t et de l’état des registres du codeur à cet instant. En posant ν =Lc-1, tout code convolutif de rendement k/n et de longueur de contrainte Lc possède kLc registres, qui peuvent donc prendre νk2 états différents. Comme l’entrée est constituée de k bits différents, il existe 2k transitions possible à partir d’un état du codeur à un instant donné.

II.3 Présentation du code convolutif

II.3.1Représentation polynomiale [4]

Soit un code convolutif de rendement k/n et de longueur de contrainte Lc. Son entrée peut être vue comme la donnée de k séquences infinies de bits, que nous représentons par des séries en D :

∑+ ∞

=

=0

)(l

lili DeDe , i = 1, …, k (III.4)

où l’inconnue D symbolise un retard d’une période. Le coefficient ile est le bit présent à la i-ème entrée du codeur à l’instant l. De la même manière, les n sorties du codeur peuvent être indexées par j et s’écrivent :

∑+ ∞

=

=0

)(l

ljlj DeDs , j = 1, …, n (III.5)

La relation introduite par le code convolutif entre les entrées et les sorties peut s’écrire de façon élégante avec ses notations, en introduisant les polynômes générateurs. Le polynôme générateur qui lie la i-ème entrée à la j-ième sortie est noté )(Dg ij , et est de degré inférieur ou égal à Lc-1. Le coefficient de degré r de ce polynôme vaut 1 si une connexion existe entre la sortie j et le bit présent dans le r-ième registre correspondant à l’entrée i. La notation octale est couramment utilisée pour représenter ces polynômes. Ainsi )(Dg = 1+D+D3 sera représenté par le nombre 13 et

)(' Dg = 1 + D + D2 sera représenté par le nombre 7.Les sorties se calculent en fonction des entrées à l’aide des polynômes générateurs :

∑=

=k

iiijj DeDgDs

1

)()()( , j =1, …, n (III.6)

puisque la convolution temporelle correspond à la multiplication polynomiale.

II.3.2 Représentation matricielle

Une représentation matricielle compacte de la formule (III.5) se déduit de l’écriture sous forme vectorielle des entrées et sorties :

[ ])()()( 21 DeDeDeE kc = [ ])()()( 21 DsDsDsS ns =

28

Page 39: Télécommunication Radiocommunications LE CODE …

Sc = GEc

=

)()()(

)()()()()()(

21

22221

11211

DgDgDg

DgDgDgDgDgDg

G

knkk

n

n

(III.7)

La représentation courante de G est en fonction de la natation octale. Par exemple G( 7,15 ) avec 7 représente le polynôme 1+D +D2et 13 représente le polynôme 1+D + D3

II.3.3 Codeur convolutif [3]

Comme un code bloc linéaire, un code convolutif a ses paramètres – C(n, k) : code de longueur n, à k élément binaire(e.b.) d’information.– Rendement d’un code C(n, k) est R = k / n– Longueur de contrainte Lc

Un codeur convolutif est constitué – d’un registre à kLc étages qui mémorise les ν blocs précédents ;– d’un logique combinatoire calculant les blocs de n éléments binaires de sortie ;– d’un sérialiseur

Figure 3.2 : Codeur convolutionnel

La longueur de contrainte Lc d’un code C(n, k), c’est le nombre de décalages d’un bloc de k éléments binaires tel que la sortie soit influencée par ce bloc. Le codage convolutif est aussi utilisé lorsque le train binaire d’entrée n’est pas séparé en blocs à l’issue du codage de source. Dans la suite de l’ouvrage nous allons prendre les codes qui existent, et qui sont utilisés au sein de la télécommunication.Soit, par exemple, le code convolutif de rendement R = ½, de longueur de contrainte Lc = 3, de polynôme générateur G = (7,5) et 3 registres à décalage

Entrée

bloc de k e.b.Registre à kL

c étages

Logique combinatoire SérialiseurSortie de n

e.b.

29

Page 40: Télécommunication Radiocommunications LE CODE …

Figure 3.3 : Codeur convolutif d’un code de rendement ½, de longueur de contrainte 3 de polynôme générateur )(1 DG = 1 + D + D2, )(2 DG = 1 + D2

II.3.4 Principe de codage [7]

Ce codeur suit les formules suivantes

⊕=⊕⊕=

−−

2kk2

2k1kk1

eeseees

où ⊕ désigne une somme modulo 2

ou

==

EGsEGs

22

11 avec [ ]21 ,, −−= kkk eeeE (III.8)

En introduisant la notion de retard D dans cette dernière formule

++=++=

−−

−−2

21

10

2

22

11

01

)0()()(

DeDeDeDsDeDeDeDs

kkk

kkk (III.9)

On voit bien le polynôme générateur qui relie l’entrée et les deux sorties où G1 = [1 1 1] = 7 en octal

G2 = [1 0 1] = 5 en octal.Il y a 22 = 4 états différents des registres.

G1 = [1 1 1]

G2 = [1 0 1]

s2

Sortiee

k ek -1

ek-2

+

Entrée

s1

+

30

Page 41: Télécommunication Radiocommunications LE CODE …

Voici le tableau de fonctionnement du codeur :

Bit d’entréeek

Etat des registresek - 1 ek -2

Contenu des registres Bits de sorties1 s2

0 00 000 001 00 100 110 01 001 111 01 101 000 10 010 101 10 110 010 11 011 011 11 111 10

Tableau 3.1 : Fonctionnement du codeur

II.3.5 Les codes convolutifs récursifs systématiques

Un code convolutif est dit récursif lorsque ses polynômes générateurs sont remplacés par les quotients de deux polynômes. Une partie de la sortie est alors réintroduite dans le registre à décalage selon les connexions définies par les polynômes situés aux dénominateurs.Un code convolutif est dit systématique lorsque une partie de ses sorties est exactement égale à ses entrées. Cela revient à dire que ( 11g (x)=1, 21g (x)=0, …, 1kg (x)=0), ( 12g (x)=0, 22g (x)=1, …, 2kg(x)=0), …, et ( kg1 (x)=0, kg 2 (x)=0,…, kkg (x)=1).Un cas particulièrement intéressant est celui de la transformation d’un code convolutif non récursif non systématique (NRNSC) de rendement k/(k+1) en un code récursif systématique (RSC). Prenons l’exemple d’un code NRNSC de rendement ½. Il est défini par la donnée de ses deux polynômes générateurs 11g (x) = 1g (x) et 12g (x) = 2g (x), qui forment la matrice :

G = [ 1g (x) 2g (x)] (III.10)

La transformation en code RSC correspond à considérer le code défini par la matrice génératrice suivante :

G =

)()(

11

2

xgxg

(III.11)

II.4 Représentations graphiques du code convolutif

L’idée d’une représentation graphique d’un code convolutif provient des caractéristiques markoviennes de la sortie du codeur. En effet, la sortie du codeur dépend de son entrée et de ses états. Les graphes équivalents à la représentation polynomiale sont souvent plus faciles à manipuler et permettent de dériver des résultats plus puissants. Tout code convolutif est représenté par trois graphes équivalents mais différents : diagramme en arbre, diagramme en treillis et le diagramme d’état.

II.4.1Diagramme en arbre

L’arbre est un graphe de hauteur et de largeur infinies. Un sommet dans l’arbre représente un état possible du codeur. Une arrête symbolise une transition d’un état à l’autre. Classiquement l’arbre

31

Page 42: Télécommunication Radiocommunications LE CODE …

commence à son sommet par l’état 0 (le registre à décalage est initialisé à 0). Tout chemin dans l’arbre du code est une séquence possible (un mot de code) à la sortie du codeur convolutif. Prenons l’exemple précédent, le code convolutif de rendement R = ½, de longueur de contrainte Lc

de valeur égale à 3, de polynôme générateur G = (7,5) et 3 registres à décalage, qui suit le tableau 3.1. Ce code convolutif possède 2k(Lc-1) = νk2 =4 états, il y a 2k = 2 transitions par états et 2kLc=8 transitions possible entre deux instants consécutifs. Soient : a = 00, b = 01, c = 10 et d = 11 les 4 états possibles du codeur convolutif. Supposons que le codeur est à l’état a à l’instant t=0. Deux transitions, correspondant aux valeurs possibles du bit à l’entrée du codeur partent de l’état a.

� la première a → a correspond à une entrée e=0 et une sortie s=00.� la seconde a → c correspond à une entrée e=1 et une sortie s=11.

Ces deux transitions restent valables à n’importe quel instant t dans le treillis.Supposons maintenant le codeur dans l’état b. Les deux transitions partant de l’état b sont les suivantes :

� b → c correspond à une entrée e=1 et une sortie s=00.

� b → a correspond à une entrée e=0 et une sortie s=11.Les deux transitions qui partent de l’état c sont les suivantes :

� c → b correspond à une entrée e=0 et une sortie s=10.

� c → d correspond à une entrée e=1 et une sortie s=01.Les deux transitions partant de l’état d sont :

� d → d correspond à une entrée e=1 et une sortie s=10.

� d → b correspond à une entrée e=0 et une sortie s=01. La Figure 3.4 représente l’arbre de ce code.

II.4.2 Diagramme en treillis [4],[5]

Le treillis est obtenu en repliant l’arbre sur sa hauteur, par fusion des sommets représentant le même état au même instant. Il est représenté à la figure 3.5. Les deux premiers bits sur chaque transition représentent la sortie, et le dernier l’entrée correspondante. Notons que le treillis devient périodique à partir de la 3ème étape où l’on retrouve les 8 transitions entre les 4 états. En général, le treillis d’un code convolutif devient stationnaire après L étapes.

Les mots du code (7,5) sont tous les chemins possibles dans le treillis. Il est facile de vérifier que le code est linéaire, c'est-à-dire 00…0 appartient au treillis et la somme binaire modulo 2 des bits codés présents sur les branches de 2 chemins correspond aux bits présents sur les branches d’un troisième chemin dans le treillis.

D’autre part, le treillis permet de trouver facilement la distance minimale du code. Il s’agit du poids de Hamming minimal entre deux mots de code, donc deux chemins. En comparant tous les chemins au chemin tout à zéro, dans notre cas un chemin divergeant à n’importe quel instant du chemin tout à zéro, en suivant a → c → b → a pour converger à nouveau vers le chemin tout à zéro possède le poids de sortie minimal dfree= 5

32

Page 43: Télécommunication Radiocommunications LE CODE …

Figure 3.4 : Diagramme en arbre du code convolutif NRNSC (7,5)

Figure3.5 : Treillis du code convolutif NRNSC (7,5)

0

1

00

11

10

01

00

11

00

11

11

10

10

01

01

00

a

a

a

a

c

c

c

c

b

d

b

b

d

d

a

0011

11

1100

1001

1100

1001

00

1001

01

10

Etats

a = 00

b = 01

c = 10

d = 11

00/0 00/0 00/0 00/0 00/0

11/1 11/111/1 11/1 11/1

01/1 01/1 01/101/1

10/1 10/1 10/1

10/010/0 10/0 10/0

11/0 11/0 11/0

00/1 00/1 00/1

01/0 01/0 01/0

33

Page 44: Télécommunication Radiocommunications LE CODE …

Nous en déduisons que la distance minimal dHmin (aussi appelé distance libre dfree) du code convolutif (7,5) est égale à 5. Ce chemin correspond à un poids en entrée de 1.

Figure 3.6 : distance libre d’un code convolutif

Cette distance représente la distance entre deux chemins les plus proches sans erreur. Plus elle est grande, plus le code sera performant.

II.4.3Diagramme d’états [5]

Le diagramme d’états est à son tour construit en repliant le treillis sur sa longueur, par fusion des sommets représentant aussi le même état, à des instants différents.

Figure 3.7 : Diagramme en arbre du code convolutif NRNSC (7,5)

0/00

0110

00

11

0/111/11

1/01 0/01

0/10

1/00

1/10

Etats00

01

10

11

00 00 00 00

11 11

1111

11

11

11

11

00 00 00 00

10 10 10 10

01

01

01

01

01

01 01

01

10 10 10 10

Entrée ek = 0

Entrée ek = 1

dfree

= 5

34

Page 45: Télécommunication Radiocommunications LE CODE …

II.5 Fonction de transfert du code convolutif [5]

On peut à partir de ce diagramme calculer une fonction de transfert qui dépend des poids des séquences codées, des poids des séquences d’information (entrée). Pour cela, on introduit, à chaque transition, les variables D affecté de l’exposant égal au poids du mot de code et N affecté de l’exposant égal au poids du mot d’information.

Figure3. 8 Diagramme de la fonction de transfertOn va ouvrir ce diagramme pour avoir un noeud d’entrée et un noeud de sortie : ces deux noeuds seront les mêmes de façon à observer les chemins qui partent d’un noeud et qui y retournent. Par exemple on prend ae et as le noeud a d’entrée et de sortie :

Figure3. 9 Ouverture du diagramme de la fonction de transfert

c=10

a=00

d=11

D2ND2

ND D

DN

b=01

ND2

N

ND

ND

D

D2

ae

c b as

d

35

Page 46: Télécommunication Radiocommunications LE CODE …

Les équations de passage sont :

c = ND2ae + Nbb = Dc + Ddd = NDc + NDdas = Db

Après résolution de système :

T (D,N) = e

s

aa

= )21(

5

DNND

− (III.12)

Soit en développant le numérateur de la fonction de transfert en série :

T (D,N) = ∑∞

= 0

2k

k Dk+5Nk+1 (III.13)

On en déduit que :-il existe 2k chemins partant d’un noeud et aboutissant au même de poids k+5 dont la

séquence d’entrée a le poids k+1-en particulier si k=0, il existe 1 chemin de poids le plus faible 5 :c’est la distance libre.

En général :

T (D,N) = ∑∞

= dlibka(h)DhNw(h) (III.14)

II.6 Transformation des codes convolutifs [4]

II.6.1 Perforation

Considérons un code convolutif binaire récursif ou non de rendement R = k/n et de mémoire quelconque. Durant u étapes dans le treillis, le codeur reçoit k*u bits d’information et délivre n*u bits codés. Parmi ces bits codés, v sont supprimés et n*u-v sont émis sur le canal. Cette opération, appelée perforation du code convolutif, transforme le rendement R = k/n en un rendement R’= (k*u)/(n*u-v). Par exemple, un code convolutif de rendement 1/2 est facilement converti par perforation en un code de rendement 2/3 (u= 2, v= 1) ou un rendement 3/4 (u= 3, v= 2)Le choix des bits codés non transmis (on dit perforés) se fait généralement suivant un motif périodique décrit par une matrice binaire, dite de perforation, de taille n*u qui comporte v zéro.

II.6.2 Fermeture du treillis : transformation en un code en bloc

Tout code convolutif est convertible en un code en bloc. Il suffit de stopper l’avance dans le treillis après un nombre de branches fixé par la longueur du code en blocs recherché. Une méthode triviale consiste à couper le treillis sans spécifier l’état final (troncature). La bonne méthode transforme le code convolutif en un code en bloc en forçant le retour à l’état 0 par une terminaison du treillis.Inversement, il est possible de construire un treillis représentant tout code en bloc.

36

Page 47: Télécommunication Radiocommunications LE CODE …

II.7 Performances des codes convolutifs [1], [5], [8]

II.7.1 Probabilité d’erreur et la quantité Δ

Le calcul de la probabilité d'erreur Peb sur les éléments binaires d'information en sortie du décodeur étant relativement complexe, pour un code de rendement R = k / n, la probabilité d'erreur Peb peut être bornée par :

1,

),(1

=∆=∂∂≤

NDeb N

NDTk

P (III.15)

où T(D,N) est la fonction de transfert du codeur et Δ est une quantité qui dépend du type de canal utilisé. La fonction de transfert du codeur était définie précédemment, et nous donnons ci-dessous, à titre d'exemple, la valeur de Δ pour deux canaux classiques :

− Canal discret à sortie binaire

∑=

=∆1

010

jjj pp (III.16)

où pij i = 0,l est la probabilité qu'un échantillon binaire à l'entrée du décodeur soit égal à j, conditionnellement à l'émission par le codeur d'un élément binaire ayant la valeur i

− Canal à sortie continue

dyypyp∫+ ∞

∞−=∆ )()( 10 (III.17)

où Pi(y) i = 0,1 est la densité de probabilité des échantillons analogiques y à l'entrée du décodeur, conditionnellement à l'émission par le codeur d'un élément binaire ayant la valeur i. II.7.2 Cas du canal binaire symétrique

Rappelons que l'entrée et la sortie d'un canal binaire symétrique sont constituées par des éléments binaires, prenant leur valeur dans l'alphabet {0,1}. Les quantités pij, i = 0,1 apparaissant dans l'expression (III.16), représentent donc les probabilités de transition du canal. En appelant p la probabilité d'erreur sur le canal,

pij = p si i ≠ jpij =1-p si i=j

La quantité Δ (relation III.16) est alors égale à : )1(2 pp −=∆

Nous avons :En considérant le codeur convolutif de la figure 3.3, et en tenant compte du fait que :

[ ] 2

5

21),(

DND

NNDT

−=

∂∂

(III.18)

La probabilité d'erreur Peb par élément binaire d'information d'après (III.15) est bornée par :

37

Page 48: Télécommunication Radiocommunications LE CODE …

[ ][ ]2

5

)1(41

)1(32

pp

ppPeb

−−

−≤

(III.19)En considérant une modulation binaire (modulation de phase à deux ou quatre états), la probabilité d'erreur p sur le canal binaire symétrique est égale à :

021

NRE

erfcp b= (III.20)

où Eb représente l'énergie reçue par élément binaire d'information transmis, R = 1/2 le rendement du code et N0 la densité spectrale de puissance mono latérale du bruit.Sur la figure 3.8, nous avons tracé la probabilité d'erreur par élément binaire d'information, avec et sans codage, en fonction du rapport Eb/No.

II.7.2.1 Gain de codage

A partir des deux courbes de probabilité d'erreur de la figure 3.10, il est facile de déterminer le gain de codage apporté par l'utilisation du code convolutif de la figure3.3. Pour une probabilité d'erreur de 10-6

par exemple, le système non codé nécessite un rapport Eb/N0 supérieur de 0,65 dB à celui du système codé. Le gain de codage est donc de 0,65 dB. On notera que le gain de codage dépend de la probabilité d'erreur pour laquelle il a été déterminé. A 10-3 de probabilité d'erreur par exemple, le gain de codage est négatif et il est alors préférable de ne pas coder.

Figure 3.10 : Probabilité d'erreur par élément binaire avec décodage ferme

II.7.3 Cas du canal à bruit additif blanc gaussien

La sortie du canal à bruit additif blanc gaussien étant constituée par des échantillons analogiques, les quantités pi(y), i = 0,l représentent les densités conditionnelles de probabilité de ces échantillons. La quantité∆, définie par la relation (III.17) est égale à :

38

Page 49: Télécommunication Radiocommunications LE CODE …

)exp()()(0

10 NRE

dyypyp b−==∆ ∫∞+

∞−

et la probabilité d'erreur par élément binaire d'information, pour le code convolutif de la figure 3.3, peut être bornée d'après (III.15) et en utilisant (III.18) par :

22

25

)21( 0

0

NE

NE

eb b

b

e

eP−

−≤ (III.21)

Le calcul de la probabilité d'erreur Peb à partir de la borne (III.15) nécessite de déterminer la fonction de transfert du codeur. Malheureusement, le nombre d'états du codeur augmente exponentiellement en fonction de sa longueur de contrainte, le calcul de la fonction de transfert devient difficile à mener dès lors que la longueur de contrainte excède quelques unités.

Figure 3.11 : Probabilité d'erreur par élément binaire avec décodage pondéré (code de la figure 3.3)

Ce problème peut être contourné en remplaçant la fonction de transfert par son développement en série dans l'expression (III.15) de la probabilité d'erreur Peb. Pour le codeur de la figure 3.3, en tenant compte de la relation (III.13), nous obtenons :

∑+ ∞

=

− ∆−≤5

5 )4(2d

ddeb dP (III.22)

En posant :)4(2)( 5 −= − ddW d (III.23)

et en remarquant que dfree = 5 est la distance libre du code, l'expression (III.22) peut s'écrire plus généralement, pour un code de rendement k /n, sous la forme :

39

Page 50: Télécommunication Radiocommunications LE CODE …

∑+ ∞

=

∆≤libdd

deb dW

kP )(1

(III.24)

Les quantités {W(d)}, appelées spectre de distance du code, peuvent se déterminer à partir de son diagramme en treillis, en utilisant des algorithmes appropriés. La quantité Δ est généralement, lorsque le rapport Eb / N0 est supérieur à quelques dB, très inférieure à l'unité, et ainsi, la probabilité d'erreur Peb peut être déterminée à partir de la relation (III.24) en se limitant aux premiers termes (4 ou 5) de la série. Pour un fort rapport Eb /N0, il est même possible d'obtenir une bonne approximation de la probabilité d'erreur Peb en se limitant au premier terme de cette série, et, dans ce cas, les performances du code sont directement fonction de sa distance libre dfree.

II.7.3.1 Gain de codage

Pour une probabilité d'erreur de 10-3 par exemple (voir figure 3.11), le système non codé nécessite un rapport Eb /N0 supérieur de 1,75 dB à celui du système codé ; le gain de codage est donc de 1,75 dB. Le décodage pondéré permet d'obtenir des gains de codage bien supérieurs à ceux du décodage ferme. Asymptotiquement (c'est-à-dire pour un fort rapport signal à bruit), le décodage pondéré permet de gagner environ 3 dB par rapport au décodage ferme.

40

Page 51: Télécommunication Radiocommunications LE CODE …

CHAPITRE III. DECODAGE

III.1 Décodage des codes convolutifs [4]

Rappelons que les mots en sortie d'un codeur convolutif sont corrélés, puisque chaque mot est fonction de Lc blocs d'information. Pour décoder une séquence binaire constituée de N mots, il est donc nécessaire de considérer la séquence reçue dans son ensemble. En sortie du codeur, seules certaines séquences binaires sont possibles, elles correspondent aux différents chemins qui existent dans le diagramme en arbre ou en treillis.

Comme pour les codes en blocs, le décodage d'un code convolutif en présence de canal binaire symétrique va consister à rechercher, dans l'arbre ou dans le treillis, la séquence binaire la plus proche de la séquence reçue. Cette séquence sera appelée dans la suite séquence la plus vraisemblable. En adoptant le même critère que pour les codes en blocs, la séquence émise la plus vraisemblable est donc celle qui se trouve à la distance minimale de la séquence reçue. Le nombre de séquences possibles étant généralement très important (N grand), l'application de cette règle de décodage est donc d'une complexité prohibitive. Des algorithmes permettant de contourner cette difficulté ont été développés.

Pourtant on distingue deux types de décodage : le décodage à décision dure et le décodage à décision souple.Le décodage à décision dure est effectué en supposant que le démodulateur a pris une décision 0 ou 1 en ses sorties.

Le décodage à décision souple s’effectue en supposant que le démodulateur n’a pas pris une décision ou que la valeur du signal est codée sur plusieurs bits. Alors parmi les algorithmes existants, on peut citer l'algorithme séquentiel de Fano qui utilise l'arbre pour rechercher la séquence la plus vraisemblable. Cet algorithme très performant peut revenir en arrière dans l'exploration de l'arbre si cela s'avère nécessaire. Cette possibilité de reconsidérer certaines étapes du décodage, conduit malheureusement à un volume de calculs variable pour le décodage d'une séquence. Cet algorithme nécessite donc l'utilisation d'une mémoire tampon pour enregistrer les données reçues à l'entrée du décodeur, afin d'éviter des phénomènes de saturation.L'algorithme de Fano est plutôt réservé au décodage des codes convolutifs à grande longueur de contrainte (> 8) en présence de faible rapport signal à bruit. Les principaux exemples d'applications de cet algorithme sont le décodage de données en provenance de lointaines.Un second algorithme utilisant le treillis et dû à Viterbi, permet aussi de décoder les codes convolutifs en recherchant la séquence la plus vraisemblable à partir du treillis. Cet algorithme, beaucoup plus utilisé que l'algorithme de Fano, est surtout bien adapté pour le décodage des codes de longueur de contrainte peu élevée (typiquement inférieure ou égale à 7). L’algorithme de Viterbi permet de trouver le chemin du treillis qui a le coût le plus faible. Sa structure est itérative dans le temps ; à chaque instant t, le traitement consiste pour chaque nœud du treillis, à considérer les chemins y arrivant, à mettre à jour leurs coûts respectifs, à choisir enfin celui de plus petit coût. Le coût d’un chemin est alors la somme des coûts de chacune des branches constituant ce chemin et on associe à chaque nœud une quantité, appelée métrique de nœud, égale au minimum des coûts des chemins arrivant en ce nœud.Un troisième algorithme applicable aux codes convolutifs c’est un Viterbi modifié afin de fournir une sortie souple (SOVA : Soft-Output Viterbi Algorithm) qui, comme l’algorithme de Viterbi, effectue leurs opérations sur un treillis représentant la structure du code. A chacun des symboles

41

Page 52: Télécommunication Radiocommunications LE CODE …

associés aux transitions du chemin choisi, il fait correspondre une information de fiabilité sous optimale.

III.2 Accroissement de métrique sur un chemin

Soit R1, R2, …, RN une suite de N symboles reçus en sortie du démodulateur, chacun d’eux étant un point de R2 de la forme Rk = (Xk,Yk). On considère un chemin C constitué de N branches consécutives du treillis portant respectivement les symboles Z1,Z2,…,ZN. Dans l’hypothèse d’un bruit blanc additif gaussien, l’accroissement de métrique sur ce chemin est égal à [2] :

⋅−+=∆

−=∆=

kkkkc

N

kkkc

ZRZR

ZR

222

1

2

(IV.1)

On suppose que la modulation utilisée est une MDP, de sorte que les symboles émis sont de la forme Zk = (2Ak – 1, 2Bk – 1) où Ak et Bk sont des élément binaire. L’expression (IV.1) prend alors la forme :

∑ ∑= =

−+−−+=∆N

k

N

kkkkkkc BYAXRN

1 1

2 )12()12(22 (IV.2)

Pour un ensemble de symboles reçus donnés, cet accroissement prend une valeur minimale, atteinte pour des bits αk et βk tels que (2αk - 1) Xk ≥ 0 et (2βk - 1) Yk ≥ 0 (ce qui revient à dire que αk et βk

sont obtenus par décision binaire sur les symboles issus du démodulateur). Comme ce minimum est indépendant des symboles de branches Zk, il est naturel de considérer, pour tous les chemins C, l’écart entre l’accroissement de métrique et sa valeur minimale :

∑=

−+−=L

kkkkkkkc BYAX

1

)()(4 βαδ (IV.3)

Il est facile de vérifier que la quantité ainsi définie est non négative et qu’elle correspond à l’opération qui consiste, à chaque étape, à retrancher la plus petite métrique de branche à toutes les métriques de branche de sorte que la distance du symbole reçu au symbole le plus proche soit égale à zéro. D’autre part nous pouvons introduire l’opération de quantification effectuée en sorte du démodulateur, faite de manière identique sur les deux axes : le nombre Ψ de niveaux est choisi pair, la valeur crête est S et Te le pas de quantification. Les valeurs quantifiées seront alors des multiples impairs de la quantité Te /2 de la forme Xk = Mk Te /2 et Yk = Nk Te /2 où Mk et Nk sont des nombres impaires de l’ensemble {-( Ψ -1),…-5, -3, -1, 1, 3, 5,…, ( Ψ -1)}.

A un facteur multiplicatif près qu’on peut négliger parce qu’il n’affecte pas le résultat des comparaisons de métriques de nœud, on peut prendre comme accroissement de métrique sur un chemin C la quantité :

∑=

−+−=N

kkkkkkkc BNAM

1

)()( βαδ . (IV.4)

Enfin, en remarquant que Mk(αk – Ak)=|Mk|(αk ⊕ Ak) où ⊕ désigne l’addition modulo 2, l’équation précédente se met sous la forme :

42

Page 53: Télécommunication Radiocommunications LE CODE …

∑=

⊕+⊕=N

kkkkkkkc BNAM

1

)()( βαδ (IV.5)

Expression qui montre que les accroissement de métrique possibles à chaque itération sont : 0, |Mk|, |Nk|, |Mk| + |Nk|. Toutes les opérations sur les métriques mises en œuvre par l’algorithme de Viterbi (addition, comparaison, choix) porteront donc sur des nombres entiers dont il faut étudier la plage de variation pour déterminer le nombre de bits nécessaire à leur représentation. On a l’encadrement suivant sur cδ : 0 ≤ cδ ≤ 2N( Ψ -1), cδ étant nul lorsque la suite des bits obtenue par décision ferme sur les symboles reçus correspond à celle d’un chemin du treillis (i.e. αk = Ak et βk = Bk, ∀ k sur un chemin C donné.Devant la portée pratique de cet algorithme, nous allons le présenter de façon détaillée.

III.3 Algorithme de Viterbi [1]

Pour présenter cet algorithme, considérons d'abord que le canal est de type binaire symétrique (sans mémoire). L'entrée du décodeur est donc constituée par une séquence d'éléments binaires.A chaque instant, deux branches appartenant à deux chemins différents convergent vers chaque noeud du treillis. De ces deux chemins, l'un est plus vraisemblable, c'est- à- dire se trouve à une distance plus petite de la séquence reçue que l'autre chemin.

Figure 4.1.a

a = 00

b = 01

c = 10

d = 11

2

0

(2)

(0)

t=0 t=1

43

Page 54: Télécommunication Radiocommunications LE CODE …

Figure 4.1.b

Figure 4.1.c

Figure 4.1.d

t=0 t=1 t=2

0

2

1

1

(2)

(4)

(1)

(1)

a = 00

b = 01

c = 10

d = 11

a = 00

b = 01

c = 10

d = 11

0

0

1

1

t=0 t=1 t=2t=3

(1)

(2)

(2)

(2)

t=0 t=1 t=2 t=3 t=4

(2)

(3)

(1)

(3)

0

0

1

1

a = 00

b = 01

c = 10

d = 11

44

Page 55: Télécommunication Radiocommunications LE CODE …

Figure 4.1 : Déroulement de l’algorithme de ViterbiLes distances étant additives, il est possible de ne conserver en chaque noeud que le chemin le plus vraisemblable, appelé survivant. Si deux chemins sont aussi vraisemblables, un seul chemin est toutefois conservé et le choix peut être arbitraire.

Pour bien saisir le principe de cet algorithme, considérons l'exemple suivant. Supposons que la séquence à l'entrée du codeur convolutif de la figure 3.3 soit 1001. En faisant l'hypothèse que le codeur est dans l'état a = 00 à l'instant initial (t = 0) , la séquence correspondante en sortie du codeur est 11 10 11 11. Considérons un canal binaire symétrique introduisant une erreur en position 3. Sous cette hypothèse, la séquence à l'entrée du décodeur est 11 00 11 11. L'algorithme de Viterbi se déroule comme suit (Figure 4.1).

A l'instant t = 0 nous avons deux branches qui partent de l'état a = 00 et qui sont respectivement à la distance 2 et 0 du premier couple binaire reçu (11). Reportons ces deux distances appelées métriques de branche sur la figure 4.1. a.A l'instant t = 1 évaluons de nouveau la distance entre le deuxième couple reçu (00) et les quatre branches qui partent deux à deux des états a = 00 et c = 10, puis reportons ces quatre métriques de branche sur le graphe de la figure 4.1.b.Nous avons désormais quatre chemins qui permettent d'accéder en t = 2 aux quatre états possibles du codeur. En sommant les métriques de branche appartenant à un même chemin, nous obtenons une métrique cumulée par chemin. Ces métriques cumulées, respectivement égales à 2, 1, 4 et 1 sont une mesure de la vraisemblance de ces quatre chemins.L'algorithme de Viterbi commence véritablement à l'instant t = 2 puisqu'il existe désormais deux chemins qui convergent vers chaque noeud du treillis. L'algorithme se déroule en trois étapes : calcul des métriques de branche puis des métriques cumulées pour chaque chemin atteignant en t = 3 un noeud donné du treillis ; la troisième étape de l'algorithme consiste à retenir en chaque noeud le survivant, c'est-à-dire le chemin dont la métrique cumulée est la plus faible. Ainsi, par exemple, le survivant en t = 3 qui permet d'accéder à l'état a = 00 provient de l'état b = 01. En t = 2, le chemin provenant de l'état a = 00 est donc abandonné.A l'instant t = 4, on procède de la même façon, et finalement le chemin le plus vraisemblable est celui qui arrive à l'état c = 10. Sa métrique cumulée étant de 1, il est donc à la distance 1 de la séquence reçue (11 00 11 11). En remontant le treillis de la droite vers la gauche, on peut voir que la séquence la plus vraisemblable est celle qui part de l'état a = 00 en t = 0 et qui converge vers l'état c = 10 en t = 4. Elle correspond à une séquence à l'entrée du codeur égale à (1001). L'erreur en position 3 est donc corrigée.Notons que les deux chemins qui convergent en t = 4 vers l’état b = 01 possèdent des métriques cumulées identiques, le survivant est alors choisi de façon arbitraire entre ces deux chemins. Cette situation se retrouve aussi en t = 4 pour l'état d = 11

Nous venons de présenter l'algorithme de Viterbi en considérant un canal binaire symétrique, c'est-à-dire en supposant que l'entrée du décodeur était constituée par une suite d'éléments binaires (décisions fermes). Les codes convolutifs se prêtent bien au décodage pondéré en utilisant l'algorithme de Viterbi. Avec le décodage pondéré, l'entrée du décodeur est désormais constituée par une suite d'échantillons analogiques. En se plaçant dans l'hypothèse d'une transmission sur un canal à bruit additif blanc gaussien, ces échantillons sont gaussiens et non corrélés conditionnellement aux éléments binaires émis par le codeur. Sous cette hypothèse, on peut montrer que la distance pertinente à utiliser pour mesurer la vraisemblance de chaque chemin du treillis, est la distance euclidienne. En appelant ( 1

ky

45

Page 56: Télécommunication Radiocommunications LE CODE …

, 2ky ) le couple d'échantillons analogiques présent à l'entrée du décodeur à l'instant t = k et ( 1

ka , 2ka ) le

couple binaire associé à une branche donnée du treillis, le carré de la distance euclidienne entre ces deux couples (métrique de branche) est égal à :

∑=

−=2

1

22 )(i

ik

ikk ayd (IV.6)

L'utilisation de décisions pondérées ne modifie pas le déroulement de l'algorithme de Viterbi, il suffit simplement de remplacer les distances de Hamming par des distances euclidiennes dans le calcul des métriques de branche.

Exemple [8]

Supposons que les couples d'éléments binaires ( 1kc , 2

kc ) en sortie du codeur de la Figure 3.3 soient transmis à l'aide d'une modulation binaire (modulation de phase à deux ou quatre états). La modulation associant à chaque élément binaire i

kc , i = 1,2 à valeur dans l'alphabet {0,1}, un symbole binaire ika à

valeur dans l'alphabet {-1,1), les métriques de branche sont égales à :

∑=

−=2

1

2)(i

ik

ikk ayd avec 12 −= i

kik ca i = 1,2 (IV.7)

Dans les équipements de transmission, le décodage pondéré n'utilise pas exactement une séquence d'échantillons analogiques mais une séquence d'échantillons quantifiés et codés sur 3 à 4 éléments binaires. Cette simplification permet de réaliser des décodeurs selon l'algorithme de Viterbi à l'aide de circuits numériques (circuits logiques et mémoires ou processeur de signal). Cette quantification assez grossière, sur 8 ou 16 niveaux, est généralement suffisante pour conserver au décodeur toute sa capacité de correction.

Pour terminer ce paragraphe sur le décodage, disons qu'il est généralement difficile d'attendre que toute la séquence binaire émise soit reçue pour commencer l'opération de décodage. En effet, cela introduirait un retard au décodage trop important, et nécessiterait de disposer d'une mémoire de taille excessive pour mémoriser tous les survivants.

En observant le déroulement de l'algorithme de Viterbi jusqu'à l'instant courant t = n, on peut remarquer qu'en remontant suffisamment le temps, les chemins survivants convergent presque toujours vers un même chemin en t = n- x (Figure 4.2).

46

Page 57: Télécommunication Radiocommunications LE CODE …

Figure 4.2 : Convergence des survivants vers un chemin unique en t = n - 4 (x = 4)

Ainsi, pour décoder l'élément binaire d'information émis à t = n- x , il est rarement nécessaire d'observer la séquence reçue au-delà de t = n. Pratiquement, la mémorisation des survivants peut donc être limitée à un intervalle temporel de durée x, et ainsi, le retard au décodage reste fini pour décoder une séquence infinie. A chaque instant t = n, le décodeur de Viterbi fournit une décision concernant l'élément binaire d'information présent à l'entrée du codeur à l'instant t = n - x. On peut montrer, à base de simulations, que la quantité x doit être d'autant plus grande que le rendement du code est plus élevé. Pour un code de rendement R = 1 / 2 par exemple, x est égal à 5 ou 6 fois la longueur de contrainte du code.

III.4 L’algorithme de Viterbi à sortie souple (SOVA)

L’algorithme de Viterbi peut être modifié afin de fournir à sa sortie une valeur de confiance ou de fiabilité (approximant une probabilité a posteriori) associée à chaque bit décodé. La valeur des bits décodés est toujours donnée par le chemin ayant la métrique cumulée minimale fourni par l’algorithme classique.Le SOVA présente des performances proches de l’algorithme Forward-Backward qui calcule de manière exacte les probabilités a posteriori des bits décodés.Pour simplifier la description du SOVA, plaçons nous dans le cas d’un code convolutif binaire de rendement 1/n.Le nombre d’états du treillis est noté S=2ν où ν=L-1 est la mémoire du code.Supposons que le VA classique prenne des décisions avec un délai W suffisamment grand pour que les survivants convergent vers le même chemin avec une très grande probabilité. A l’instant t, l’algorithme de Viterbi doit choisir un survivant pour l’état 0 ≤ st <S. Ceci est illustré par la Figure 4.3. Le VA sélectionne le chemin ayant la plus petite métrique cumulée. Dans le cas où le canal est un canal additif à bruit blanc gaussien (AWGN), les métriques cumulées s’expriment sous la forme :

∑ ∑−= =

−=−

=t

Wtj

n

i

mijij

Sm

m xrNE

N

xrM

1

2)(

00

2)(

)(2

2,1=m

Etats

a = 00

b = 01

c = 10

d = 11

t=n-4 t=n-3 t=n-2 t=n-1 t=n

47

Page 58: Télécommunication Radiocommunications LE CODE …

où )(mijx est le i-ème bit codé à l’instant j parmi les n bits associés à une branche du chemin d’indice

m arrivant à l’état st. L’échantillon ijr est l’observation en sortie du canal correspondant au bit numéro i à l’instant j. Nous supposons que les symboles appartiennent à une modulation BPSK, c’est-à-dire Sij Ex 2±= où SE est l’énergie moyenne par symbole codé sur fréquence porteuse.

En mettant en facteur SE2 , nous écrivons les symboles sous la forme 1±=ijx d’où le rapport

0NES .Avec les notations définies ci-dessus, la probabilité que le chemin m soit émis sachant que l’observation est proportionnelle à la probabilité conditionnelle de l’observation sachant le chemin m émis :

P(chemin m|observation) Me −α

Nous indexons arbitrairement le chemin ayant la métrique cumulée minimale par m=1. Ainsi nous avons 21 MM ≤ et le VA choisit le chemin survivant d’indice 1. Après normalisation par la somme des probabilités des deux cas possibles, la probabilité de choisir le mauvais chemin survivant, à l’instant t et pour l’état st, est égale à :

∆−−−

+=

+=

+=

eeeeep MMMM

M

St 11

11

1221

2

avec 012 ≥−=∆ MM . Cette probabilité approche 0.5 si 12 MM ≈ et tend vers 0 si 12 MM . L’algorithme de Viterbi commettra des erreurs avec une probabilité tSp sur les e positions où les chemins 1 et 2 ont des bits d’information différents )2()1(

jj uu ≠ pour les positions ejjjj ,...,, 21= .

Notons que 2=e dans la Figure 4.3. Les positions où )2()1(jj uu ≠ ne sont pas affectées par la

sélection du survivant. Notons Wm la largeur de la fenêtre dans le treillis où les chemins 1 et 2 arrivant à l’état ts ne sont pas confondus (voir Figure 4.3). Ainsi, nous avons e bits d’information différents et eWm − bits d’information identiques.Notons par jp̂ la probabilité que le bit )1(

ju associé au chemin 1 de l’état st soit erroné. Supposons que les valeurs de jp̂ sont stockées en mémoire pour les instants 1,,1 −−= tWj m . Prenons comme valeur initiale 0ˆ =lp (le bit décodé reste parfaitement fiable tant que les deux chemins indiquent la même valeur). Sachant que l’algorithme de Viterbi a sélectionné le chemin 1, nous pouvons mettre à jours les probabilités d’erreurs des bits différents selon la formule :

ll SjSjj ppppp )ˆ1()1(ˆˆ −+−← pour ejjjj ,...,, 21=

Cette équation nous fournit une approximation de la probabilité d’erreur pour le bit d’informationju . Une valeur de confiance jµ est facilement obtenue à partir de jp̂ :

+ ∞≤−

= jj

jj p

pµµ 0

ˆˆ1

log

En combinant les équations ci-dessus, nous obtenons une formule de mise à jour des valeurs de confiance :

48

Page 59: Télécommunication Radiocommunications LE CODE …

j

j

eeef jj α µ

α µ

αµµ

++=∆←∆

∆+1log1),(

Rappelons que la mise à jour est effectuée sur les positions ejjjj ,...,, 21= . Le facteur α introduit dans la fonction )(f permet d’éviter les débordements de la valeur de confiance à fort rapport signal à bruit. Asymptotiquement, nous pouvons normaliser la moyenne à 1.0 en choisissant

0min4

NE

d SH=α où minHd est la distance minimale du code convolutif. Une approximation simple

et pratique de la fonction )(f est :

)/,min(),( αµµ ∆≈∆ jjf

Cette dernière formule permet une mise à jour très rapide de la valeur de confiance sans même connaître la valeur du rapport 0NES .Nous pouvons maintenant décrire de manière générale les étapes de l’algorithme SOVA.

III.4.1 Stockage

• L’indice t du temps, modulo W+1

• Les suites des bits décodés par décisions dures

{ } 1)(,)(,),()( 11 ±∈= − tjttWt susususu pour Sst ≤0 .

• Les suites de valeurs de confiance

{ })(,),()( 11 ttWt sss µµµ −= avec + ∞≤ )(0 tj sµ pour Sst ≤0 .

• Les valeurs des métriques cumulées λ (t, st) pour 0 ≤ st <S.

III.4.2 Mise à jour

• Etape VA classique :Pour chaque état st, calculer λ (t, st). Stocker la métrique cumulée, le survivant et le bit décidé ut(st).

• Etape de décision à sortie souple :Pour chaque état st, stocker la différence des deux métriques

[ ] [ ])),,((),1(2max)),,((),1(max 12

112

1 nobservatiossTdstnobservatiossTdst tttttt −−−− +−−+−=∆ λλInitialiser + ∞=)( tt sµ .Pour ν−= tj en arrière jusqu’à t-Wm, comparer les deux chemins convergents en st et si

)()( )2()1(tjtj susu ≠ mettre à jour les fiabilités par la formule )),(()( ∆= tjtj sfs µµ .

III.4.3 Sorties ferme et souple

• L’algorithme fournit une sortie ferme : le bit décodé Wtu − associé au meilleur survivant de métrique minimale λ (t, st) parmi tous les états st.

• L’algorithme fournit une sortie souple : la valeur souple WtWtu −− × µ où

Wt

WtWt p

p

−−

−=

ˆˆ1

logµ est la valeur de confiance à l’instant t-W du meilleur survivant.

49

Page 60: Télécommunication Radiocommunications LE CODE …

Figure 4.3 : Exemple d’un treillis décodé par le SOVA.

+1

+1

+1 -1 +1

+1

-1

-1

-1

m=1

m=2s

1

1-W 1-Wm

S états

50

Page 61: Télécommunication Radiocommunications LE CODE …

CHAPITRE IV. SIMULATION DU CODE CONVOLUTIF EN UTILISANT LE

DECODEUR DE VITERBI (SOUS MATLAB 5.3)

La deuxième partie de ce travail constitue une simulation sur machine en utilisant le logiciel MATLAB. Notre but est de coder (à l’aide du code convolutif) et de décoder (à l’aide de l’algorithme de Viterbi) une information afin d’en sortir la performance d’un code. Mais avant tout, voici la présentation du logiciel « MATLAB ».

IV.1 Présentation du logiciel MATLAB

IV.1.1 Généralités

MATLAB (MATrix LABoratory) est un langage très performant pour le calcul technique. Il intègre le calcul, la visualisation et la programmation dans un environnement facile à utiliser où les problèmes et les solutions sont exprimés dans des notations mathématiques familières. Les usages typiques incluent :

− mathématique et calcul,− développement d'algorithme,− modélisation, simulation, et prototype,− analyse de données, exploration et visualisation,− graphisme scientifique et technique,− développement d'application, y compris la construction d'Interface Utilisateur Graphique.

MATLAB est un système interactif dont l'élément de base de données est un tableau qui n'exige pas de dimensionnement. Cela permet de résoudre beaucoup de problèmes techniques de calcul, particulièrement ceux avec des formulations matricielles et vectorielles. Pour écrire un programme en langue scalaire non interactive comme C ou le Fortran, il faudrait une fraction de temps.

MATLAB caractérise une famille de solutions d'application spécifiques appelées « toolboxes » (ou boite à outils). Très important pour la plupart des utilisateurs de MATLAB, les toolboxes vous permettent d'apprendre et d’appliquer la technologie spécialisée. Les toolboxes sont les collections complètes de fonctions de MATLAB (m-files) qui étend l'environnement MATLAB pour résoudre les classes particulières de problèmes. Les secteurs dans lesquels les toolboxes sont disponibles incluent le traitement de signal, des systèmes de commande, des réseaux de neurones, de la logique floue, des ondelettes, la simulation et beaucoup d'autres.Le système MATLAB comporte cinq parties principales :

− le langage MATLAB,− les conditions de travail MATLAB,− la manipulation graphique,− la bibliothèque de fonction mathématique MATLAB,− l'interface d'Application MATLAB (API).

IV.1.2 Quelques fonctions de MATLAB

Voici quelques fonctions de MATLAB utilisées pour réaliser la simulation :

size : retourne la taille d’une matrice

51

Page 62: Télécommunication Radiocommunications LE CODE …

zeros : initialise un tableau ou une matrice à zéro

syms : raccourci pour construction d'objets symboliques

convenco : calcul de codage du code convolutionnel

de2bi : convertisseur d’un nombre décimal positif en binaire

ezplot : traceur de fonction, facile à utiliser

find : indicateur d’élément non zéro

hold on : tient le traçage actuel de toutes les propriétés d'axe pour que les commandes de graphes suivantes s’ajoutent au graphique existant

int : calcul d’un intégrale

isempty : test d’une matrice vide

linspace : vecteur linéairement espacé

numeric : pour avoir une valeur numérique (changement de format)

oct2gen : convertisseur de la forme octale d’une fonction de transfert en binaire

plot : traçage linéaire d’une courbe

semilogy : traçage d’une courbe dont l’ordonnée est une échelle logarithmique

size : valorisation de la taille d’une matrice

sum : somme d'éléments

sym : construction des nombres symboliques, des variables et des objets

syms : construction d'objets symboliques

vec2mat : convertisseur d’un vecteur à une matrice

viterbi : décodage du code convolutif en utilisant l’algorithme de Viterbi

vpa : variable de précision arithmétique xor : opérateur logique, ou exclusif

zeros : initialisé un tableau ou une matrice à zéro

IV.2 Présentation de l’interface de la simulation

Cette simulation permet de simuler le codage et le décodage d’une information de type binaire, mais aussi la performance du code. Pour lancer la simulation, on tape « convolutif » dans l’espace de travail MATLAB, puis on valide avec la touche « entrée » du clavier. La fenêtre d’accueil se présente comme suit :

52

Page 63: Télécommunication Radiocommunications LE CODE …

Figure 5.1 : Fenêtre d’accueil

En cliquant sur le titre avec le bouton droit de la souris, une deuxième fenêtre montrant le codage d’une information jusqu’à son décodage avec le treillis du « chemin survivant » correspondant apparait.

Figure 5.2 : Fenêtre pour le codage et le décodage

53

Page 64: Télécommunication Radiocommunications LE CODE …

Figure 5.3 : Les paramètres du polynôme générateur

Cette figure concerne le polynôme générateur. Après avoir saisi le polynôme générateur G, on clique sur le bouton ‘OK’ afin d’obtenir ses paramètres, à savoir :

− le nombre d’entrées,− le nombre de sorties,− le nombre de registres,− la distance libre ( freed ).

Ce bouton permet de faire apparaître la zone d’édition des messages à envoyer. Si le code a pour rendement R=½, alors la zone d’édition se présente comme l’indique la figure 5.4. Mais s’il a un rendement R=2/3, alors cette zone correspond à la Figure 5.5. Dans ce dernier, il faut diviser l’information en deux lignes de même longueur (parce qu’il y a deux entrées) si non, un message d’erreur apparaît.

Figure 5.4 : La zone d’édition du message à coder pour R=1/2

Figure 5.5 : La zone d’édition du message à coder pour R=2/3

Une fois les messages édités, on peut effectuer successivement les opérations suivantes en cliquant sur le bouton correspondant.

permet leur codage.

permet d’initialiser l’erreur à zéro (matrice ligne de même dimension que l’information codée), il suffit ensuite d’ajouter le(s) ‘1’ (erreurs) sur les positions voulues.

54

Page 65: Télécommunication Radiocommunications LE CODE …

permet d’obtenir le message reçu : c’est la somme modulo 2 du message codé et de l’erreur.

permet d’effectuer le décodage de l’information à l’aide de l’algorithme de Viterbi ainsi que le traçage du treillis du chemin survivant.

permet d’atteindre l’interface de visualisation de la performance du code qui est obtenue en traçant la probabilité d’erreur en fonction du signal sur bruit ( Pe = f ( Eb/N0) )Il y a deux variantes de performance : - celle en fonction de dfree

- et celle en fonction du rendement R (rapport entre le nombre d’entrées et le nombre de sorties du polynôme générateur) et de l’intervalle d’observation N. .

La fenêtre correspondante à la performance du code en fonction de dfree se présente comme suit :

Figure 5.6 : Fenêtre pour la performance en fonction de dfree

Il faut d’abord introduire les deux polynômes générateurs dans les deux zones éditables G1 et G2. Ensuite, on choisit le type de performance voulue. Si c’est en fonction du rendement, on doit saisir l’intervalle d’observation N dans la zone correspondante. Enfin, on clique sur « comparaison » pour tracer les courbes.

Le traçage a pour but de comparer graphiquement la performance de deux codes; mais dans le cas de la « distance libre », il y a de plus la comparaison avec la performance du système sans code.

55

Page 66: Télécommunication Radiocommunications LE CODE …

Dans cette simulation, le bouton « SORTIE » permet de sortir définitivement le logiciel MATLAB, « NOUVEAU » réinitialise la fenêtre correspondante, et « PRECEDENT » permet de revenir à la fenêtre précédente. La fenêtre correspondante à la deuxième variante est :

Figure 5.7 : Fenêtre pour la performance en fonction de R et N

La méthode reste la même comme dans le cas précédent

IV.3 Quelques résultats numériques

Prenons comme exemple un polynôme générateur (7,5). Conformément aux démarches décrites précédemment, on a les résultats suivants :- Les paramètres de ce polynôme générateur sont :

On peut constater ici que ce code a un rendement R=1/2.- Prenons pour exemple de message à coder 1 1 0 1

56

Page 67: Télécommunication Radiocommunications LE CODE …

- Le message codé obtenu est :

La longueur du message codé est augmentée parce qu’un bit en entrée correspond deux bits en sortie et de plus, on considère aussi le nombre du registre à utiliser.- Introduisons deux erreurs, respectivement sur les positions 4 et 9 (on peut augmenter le nombre d’erreurs pour voir la capacité d’un code)

- On obtient le message reçu au récepteur qui est évidement le message erroné

- Le message corrigé après décodage est

Ce résultat correspond bien au message envoyé. Donc, on peut dire pour l’instant que le code G(7,5) est capable de corriger deux erreurs .- Le treillis du chemin survivant est :

57

Page 68: Télécommunication Radiocommunications LE CODE …

Figure 5.8 : Treillis du chemin survivant de ‘1 1 0 1’

Ce chemin survivant est obtenu en utilisant la méthode du maximum de vraisemblance, c’est-à-dire, en gardant le chemin qui a la métrique moindre.Pour la performance, prenons deux codes de rendement différent : (7, 5) et (4, 0, 7 ; 0, 4, 5) avec N=8. On a alors :

Figure 5.9 : Courbes de performance du code (7,5) et (4, 0, 7 ; 0, 4, 5)On constate que le code G1(7,5) est plus performant que le code G2(4,0,7 ;0 ,4,5). On voit ici qu’on a un gain énergétique à peu près égale à 1.2dB pour une probabilité d’erreur égale à 10-6.

58

Page 69: Télécommunication Radiocommunications LE CODE …

IV.4 Les programmations pour la réalisation de cette simulation

clcclear

% entrer le polynôme générateur G sous forme matricielle[TRAN_FUNC, CODE_PARAM] = OCT2GEN(G) ;ne = CODE_PARAM(2)ns = CODE_PARAM(1)nr = CODE_PARAM(3)A = [7 5]; A1 = 5;B = [171 133];B1 = 10;C = [4 0 7;0 4 5];C1 = 5;D = [5 3 2;0 2 4];D1 = 7;if size(G) = = size(A) if G = = A

df = A1 endendif size(G) = = size(B) if G = = B

df = B1 endendif size(G) = = size(C)

if G = = C df = C1

endendif size(G) = = size(D)

if G = = D df = D1

endend

% entrer le message à coder K1 (pour R=1/2) ou K1-K2 (pour R=2/3)

if a = = 1 k = K1; code1 = convenco(k',G); [r,p] = size(k); codea = code1'; [m,n] = size(codea); A0 = zeros(1,m*n);

59

Page 70: Télécommunication Radiocommunications LE CODE …

for i = 1:m*n A0(i) = codea(i); end A0;

% Le message code pour R=1/2

mscd = num2str(A0)endif a = = 2 sK1 = size(K1) sk11 = sK1(2) sK2 = size(K2) sk22 = sK2(2) if sk11~=sk22 disp(‘erreur’)

else k = [K1;K2] code1 = convenco(k',G);

[r,p] = size(k); codea = code1'; [m,n] = size(codea); A = zeros(1,m*n); for i = 1:m*n A(i) = codea(i); end A;

% Le message code pour R=2/3 mscd = num2str(A) endend

% Initialisation de l’erreurSb = size(mscd);err1 = zeros(1,Sb(2))err = num2str(err1)disp(`entrer l’erreur’)

% Message reçu au récepteurmsrc = xor(mscd,err)

% Décodage par l’algorithme de Viterbia = eval(get(findobj(gcbf,'Tag','entree'),'String'))if a = = 1

% Si hard decisionTrans_prob = [];

60

Page 71: Télécommunication Radiocommunications LE CODE …

[msg,metric] = viterbi(msrc,G,30,Trans_prob)[s] = viterbi(msrc,G,30,Trans_prob,treillis)r = s';% Message corrigémscr = num2str(r);

% Si soft decisionTrans_prob = [-Inf 1/10, 1/2, 9/10; 2/5, 1/3, 1/5, 1/15; 1/16, 1/8, 3/8, 7/16] ;[msg,metric] = viterbi(msrc,G,30,Trans_prob)[s] = viterbi(msrc,G,30,Trans_prob,treillis)r = s';%Message corrigémscr = num2str(r);

endif a==2

% Si hard decision Trans_prob = [] [msg,metric] = viterbi(msrc,G,30,Trans_prob) [s] = viterbi(msrc,G,30,Trans_prob,treillis)

% Si soft decision

Trans_prob = [-Inf 1/10, 1/2, 9/10; 2/5, 1/3, 1/5, 1/15; 1/16, 1/8, 3/8, 7/16] ;[msg,metric] = viterbi(msrc,G,30,Trans_prob)[s] = viterbi(msrc,G,30,Trans_prob,treillis)

r=s';a0=r(1,:)a01=r(2,:)a00=num2str(a0);a010=num2str(a01);%Message corrigéa00a010end

% Programme de la performance% Les paramètres de G1

[TRAN_FUNC, CODE_PARAM] = OCT2GEN(G1) ;ne1 = CODE_PARAM(2)ns1 = CODE_PARAM(1)nr1 = CODE_PARAM(3)A = [7 5];A11 = 5;B = [171 133];

61

Page 72: Télécommunication Radiocommunications LE CODE …

B11 = 10;C = [4 0 7;0 4 5];C11 = 5;D = [5 3 2;0 2 4];D11 = 7;if size(G1) = = size(A) if G1 = = A

df1 = A11 endendif size(G1) = = size(B) if G1 = = B

df1 = B11 endendif size(G1) = = size(C)

if G1 = = C df1 = C11

endendif size(G1) = = size(D)

if G1 = = D df1 = D11

endend

% Les paramètres de G2

[TRAN_FUNC, CODE_PARAM] = OCT2GEN(G2) ;ne2= CODE_PARAM(2)ns2 = CODE_PARAM(1)nr2 = CODE_PARAM(3)A = [7 5];A12 = 5;B = [171 133];B12 = 10;C = [4 0 7;0 4 5];C12 = 5;D = [5 3 2;0 2 4];D12 = 7;if size(G2) = = size(A) if G2 = = A

df2 = A12 endendif size(G2) = = size(B) if G2 = = B

df2 = B12

62

Page 73: Télécommunication Radiocommunications LE CODE …

endendif size(G2) = = size(C)

if G2 = = C df2 = C12

endendif size(G2) = = size(D)

if G2 = = D df2 = D12

endend

% La performance du code%La performance du code convolutif en fonction de la distance libre

syms t d N Epep = int(exp(-t^2/2),t,sqrt((E*d)/N),inf);pe1 = (1/sqrt(2*pi))*pep;% Posons x = Eb/N0x = E/N;x = 0:0.01:10; d = df1;pe1;pe = (pe1); semilogy(x,pe,’k’)grid onhold ond=df2;pe2 = pe1;pea = numeric(pe2); semilogy(x,pea,'m')

% La performance du code convolutif en fonction de R et de N%MDP cohérente%a=Eb/N0a=linspace(0,10); mdp=(1./sqrt(pi.*a)).*exp(-a);semilogy(a,mdp,'g')grid onhold on%Peb proprement ditPeb=(1/N)*((exp(-R.*a).^5)./(1-2.*(exp(-R.*a))).^2)semilogy(a,Peb,'k')hold on

63

Page 74: Télécommunication Radiocommunications LE CODE …

64

Page 75: Télécommunication Radiocommunications LE CODE …

CONCLUSION

Durant ce travail de mémoire, on a pu constater que la performance d’un code varie, soit en fonction de sa distance libre, soit en fonction du rendement.Plus la distance libre est élevée, plus le gain énergétique est élevé ; mais plus le rendement augmente, plus l’état de phase du codeur augmente.

Donc, on peut avoir un gain énergétique important si on a une distance libre élevée avec un rendement minime, ce qui permet soit d’augmenter le nombre de canaux, soit de réduire le gabarit des appareils électroniques.

Ce code permet aussi de détecter et de corriger des erreurs en utilisant l’algorithme de Viterbi.

On peut dire que le code convolutif est performant. De plus, grâce à ce gain d’énergie, il est compatible à la fibre optique qui apparaît actuellement comme un support très intéressant en télécommunication.

Malgré ces avantages, on a rencontré un problème au niveau de l’algorithme de Viterbi. Plus le nombre d’états de phase du codeur augmente, il en est de même pour le temps écoulé lors du décodage.

Face à ce problème, il faut que le processeur du décodeur de Viterbi ait une vitesse optimale et la capacité de mémorisation (RAM) de ce décodeur augmente, ce qui peut engendrer une augmentation du coût de sa réalisation.

Certes, le code convolutif est avantageux. Pourtant, étant donné l’évolution de la technologie, d’autres variantes pourraient être pris en compte, on peut citer : l’optimisation de l’état de phase, l’étude pour le cas de modulation M-aire ( 2≠M ).

65

Page 76: Télécommunication Radiocommunications LE CODE …

ANNEXES

ANNEXE 1 : TABLEAUX DES POLYNOMES GENERATEURS

Quelques exemples des polynômes générateurs.A1. 1 Pour un code de rendement 1/2

N0 v G df dfm Cd Cd+1 Cd+2 Cd+3 Cd+4 Gain Energétique1 2 5, 7 5 5 1 4 12 32 80 3 , 98 -2 3 15, 17 6 6 2 7 18 49 130 4 77 -3 4 23, 35 7 8 4 12 20 72 225 5 , 44 -4 5 53, 75 8 8 2 36 32 62 332 6 , 02 -5 6 133, 171 10 10 36 0 211 0 1404 6 , 99 +6 7 247, 371 10 11 2 22 60 148 340 6 , 99 -

Tableau A1. 1 : Polynômes générateurs de rendement 1/2

A1. 2 Pour un code de rendement 2/3

N0 v G0 G1 G2 G3 G4 df dfm Cd Cd+1 Cd+2 Cd+3 Cd+4 Gain Energétique7 2 101

011111100

3 4 4 18 73 270 930 3,01 -

8 3 101011

011001

000101

4 4 1 18 96 423 1903 4,26 -

9 4 101011

100101

110011

5 6 6 41 215 947 4467 5,23 -

10 5 101011

111001

011101

000101

6 6 36 99 600 2480 11 982 6,02 -

11 6 101011

111111

010101

101011

7 8 86 360 1148 5767 27 277 6,69 +

12 7 101011

110001

011101

011111

000110

8 8 265 0 5495 0 110 834 7,27 -

13 2 7, 5, 7 3 4 1 10 54 226 853 3,01 -14 3 15, 13, 15 4 4 8 34 180 738 2989 4,26 +15 4 31, 33, 31 5 6 25 112 357 1858 8406 5,23 -16 5 73, 41, 73 6 6 75 0 1571 0 31 474 6,02 -17 6 163, 135, 163 6 8 1 81 402 1487 6793 6,02 +18 7 337, 251, 337 8 8 395 0 6695 0 235 288 7,27 -

Tableau A1.2 : Polynômes générateurs de rendement 2/3

A1.3 Pour un code de rendement 3/4

N0 v G0 G1 G2 df

dfm Cd Cd+1 Cd+2 Cd+3 Cd+4 Gain Energétique

19 3 11110101

00000110

00000000

4 4 9 160 964 5764 34 136 4,78 -

66

Page 77: Télécommunication Radiocommunications LE CODE …

20 5 10010101

11110101

00001001

5 6 37 294 1855 12 232 76 076 5,74 -

21 6 100101010011

100110011110

010110100110

6 6 188 881 7014 39 797 252 726 6,53 -

22 2 5, 7, 5, 7 3 3 15 104 540 2520 11 048 3,52 -23 3 15, 17, 15, 17 4 4 124 0 4504 0 124 337 4,78 -24 4 25, 37, 37, 37 4 4 22 0 1687 0 66 964 4,78 +25 5 61, 53, 53, 53 5 6 78 572 3831 24 790 152 108 5,74 -26 6 135, 163, 163, 163 6 6 919 0 31 137 0 1 142 571 6,73 +27 6 121, 165, 121, 165 5 6 21 252 1903 11 995 72 115 6,73 +

Tableau A1. 3 : Polynômes générateurs de rendement 3/4

ANNEXE 2 : REPRESENTATION SCHEMATIQUE DU DECODEUR DE VITERBI [19]

On peut réaliser le décodeur de Viterbi à l’aide des circuits électroniques. Alors, en voici sa structure générale :

Figure A2.

Etat2

Etat1CAN1

CAN2

Com

mut

ateu

r

Proc

esse

ur

Rythme de

synchronisation

Appareil de test de

la qualité du canal

(taux d’erreur)

Système de

synchronisation du

métrique du chemin

Choix

Système majoritaire

Cal

cul d

es m

étriq

ues

Mém

oire

RA

M

67

Page 78: Télécommunication Radiocommunications LE CODE …

1 : Schéma bloc du décodeur de Viterbi

Pour mieux éclaircir le fonctionnement de cette structure, on va détailler quelques blocs.

A2.1 Le processeur

Prenons, comme exemple, la structure du processeur du polynôme générateur (7,5) qui est montré sur la figure A2.2.Au point de vue matériel, le bloc du processeur augmente avec le nombre d’état d’un code, mais il augmente aussi en fonction du rendement d’un code.

Figure A2.2 : Le processeur de G(7,5)

Le CCB est un appareil de comparaison dont voici sa structure :

CCB00

CCB10

CCB01

CCB11

0

1

2

3

00

11

10

01

Mét

rique

du

chem

in

Information vers le

processeur

68

Page 79: Télécommunication Radiocommunications LE CODE …

Figure A2. 3 : L’appareil de comparaison CCB

MC : la métrique d’étatMB : la métrique du chemin

A2.2 La mémoire RAM

On peut configurer cette mémoire à partir du treillis d’un code parce que sa structure varie en fonction du nombre d’états d’un code et de son registre. Cette RAM permet de garder les chemins survivants.

: c’est la porte logique AND, : c’est la porte logique OR,

: c’est un trigger, L : c’est la longueur d’un registre d’un code.

Dans cette annexe, désigne la somme modulo 2

ComparateurPrise de décision

MC1

MC2

MB1

MB2

Mémoire (chemin survivant)

Entré vers le CCB (test)

T

1

&

69

Page 80: Télécommunication Radiocommunications LE CODE …

Figure A2.4 : Structure d’une mémoire RAM avec le système majoritaire

01T

11T

21T

31T

&

&

1

&

&

&

&

&

&

02T

&

&

12T

&

&

22T

&

&

32T

&

&

1

1

1

1&

0LT

1&

1LT

1&

2LT

1&

3LT

1

0

0

1

1

2

2

3

3

Page 81: Télécommunication Radiocommunications LE CODE …

BIBLIOGRAPHIE

[1] A. GLAVIEUX, M. JOINDOT, « Communications numériques : Introduction », Masson, Paris, 1996.

[2] E. RANDRIANTSIRESY « Cours de transmission numérique », 5ème Année, Département Télécommunication, ESPA, A.U. : 2003-2004.

[3] J. C. DANY, M. C. DUMAS, « codes correcteurs d’erreurs », Supelec : paris 1997.

[4] C. FLEMING, « A tutorial on convolutional coding », http:/// www.netcom.com/, Mars 2001

[5] P. CSILLAG « Introduction aux Codes Correcteurs », Ellipses, 1996.

[6] Y. YASUDA, K. KASHUSO, Y. HIRATA, « High-rate punctured convolutional codes for soft decision Viterbi decoding », IEEE Trans. OM, mars 1984.

[7] A. J. VITERBI, J. K. OMURA, « Principles of digital communications and coding », Mc Graw-Hill, 1979.

[8] A. J. VITERBI, « Error bounds for convolutional codes and an asymptotically optimum decoding algorithm », IEEE Trans. IT, 1967.

[9] T. AULIN, N. RYDBECK, C. E. W. SUNDBERG, « Continuous phase modulation-Part II: Partial response signalling », March 1981.

[10] T. J. BAKER, « Asymptotic behaviour of digital FM spectra », IEEE Trans.Commun., vol. COM-22,Oct.1974.

[11] W. C. LINDSEY, M. K. SIMON, « Telecommunication Systems Engineering ». Englewood Cliffs, NJ: Prentice-Hall, 1974.

[12] R. W. LUCKY, J. SALZ, E. J. WELDON, « Principle of Data Communication », New York: MCGraw-Hill, 1968.

[13] T. A. SCHONHOFF, « Symbol error probabilities for M-ary CPFSK: Coherent and noncoherent », IEEE Trans. Commun., vol. COM-24, June 1976.

[14] T. AULIN, N. RYDBECK, C. E. W. SUNDBERG, « Continuous phase modulation-Part I: Full response signalling », March 1981.

[15] G. A. FORNEY, « The Viterbi Algorithm », IEEE.Transc.Comm, vol 61 n°3, March 1973.

[16] T. AULIN, C. E. W. SUNDBERG, « M-ary CPFSK type of signalling with input data symbol pulse shaping--Minimum distance and spectrum », Proc. IEEE Int. Conf. Commun. Conf. Record, Boston, MA, 1979.

[17] T. AULIN, « CPM-A power and bandwidth efficient digital constant envelope modulation scheme », Dr. Techn. Dissertation, Telecommunication Theory, Univ. Lund, Lund, Sweden, Nov. 1979.

[18] T. AULIN, C. E. W. SUNDBERG, « M-ary CPFSK type of signalling with input data symbol pulse shaping-Minimum distance and spectrum », Telecommunication Theory, Techn. Rep. TR-111, Univ. Lund, Lund, Sweden, Aug. 1978.

Page 82: Télécommunication Radiocommunications LE CODE …

[19] B. L. BANKET, « Methode de communication par satellite numérique », Radio et Communication,Moscou,1988.

Page 83: Télécommunication Radiocommunications LE CODE …

Nom : ANDRIANTSIFERANA

Prénoms : Rindra Tahiana Adresse de l’auteur : Lot II E 81 GD Ter A Tsarahonenana

101 AntananarivoMadagascarTél : 033.14.176.56E-mail : [email protected]

Titre de mémoire : LE CODE CONVOLUTIF EN UTILISANT LE DECODEUR DE VITERBI

Nombre de pages : 81Nombre de tableaux : 4Nombre de figures : 39

Mots clés : code convolutif, décodeur de Viterbi, gain énergétique, performance, rendement, distance libre.

Directeur de mémoire : M. RAZAKARIVONY Jules RESUME :

Le codage de canal, aussi appelé codage détecteur et/ou correcteur d’erreur est un module spécifique des transmissions numériques, qui n’a pas son équivalent en transmission analogique. Dans ce travail, on utilise le code convolutif comme codage canal. C’est le seul code qui a un gain énergétique élevé et c’est un code très performant. Pour décoder, on utilise le décodeur de Viterbi qui est le plus adéquate à ce code.

ABSTRACT:

The coding of channel, as named detecting coding and/or proofreaders of error is a specific

module of the numeric transmissions, that doesn't have his equivalent in analogical

transmission. In this work, one uses the code convolutif as coding channel. It is the only code

that has an elevated energizing gain and it is a very effective code. To decode, one uses the

decoder of Viterbi that is the most adequate to this code.

Page 84: Télécommunication Radiocommunications LE CODE …