Vous êtes sur la page 1sur 64

Génie Telecoms et Réseaux

Communications Numériques

Pr. Malika ALAMI MARKTANI

AU: 2021/2022
Enjeu du codage de canal

Dans le chapitre précédent sur le codage de source, aucun élément


extérieur ne venait modifier l'information. Au contraire lorsque l'information
va transiter dans le canal, elle sera perturbée par un bruit.

Le résultat principal de ce chapitre nous assure qu'il est possible de coder


l'information de façon à ce que la détérioration soit négligeable. Cela se
fera bien entendu au prix d'une redondance de l'information.

En fait pour tout canal de transmission, nous définirons une grandeur


caractéristique appelée capacité et qui s'interprète comme la quantité
maximale d'information pouvant transiter à travers le canal.

AU 2021-2022 2
Enjeu du codage de canal
Le codage de canal rajoute de l’information pour permettre au récepteur
de détecter ou corriger les erreurs éventuellement apparues.

 Comment le récepteur lit-il les données reçues ?

• Il échantillonne le signal physique reçu à intervalle de temps fixe,


au milieu du bit. Suivant le niveau de tension lu, il déduit la valeur
du bit : 0 ou 1.

5V
0V

Message reconstitué 0 1 1 0 1 0 0 1 1 1

AU 2021-2022 3
Enjeu du codage de canal
 D’où viennent les erreurs ?
Le signal est déformé sur le canal :
l’échantillonnage peut se faire sur
une perturbation.

Pic de bruit

A l’échantillonnage, le récepteur
interprète le niveau de tension
comme un 0.

 Conclusion : Puisque le récepteur ne peut se fier au signal électrique reçu,


on va rajouter des bits dans les messages qui permettront de repérer les
erreurs.
AU 2021-2022 4
Rôle du codage de canal

• Pour que la transmission soit performante, il faut fournir au récepteur


la quantité d’information manquante qui est H(X/Y). Pour cela il est
imaginé d’introduire une redondance dans l’information qui permettra de
détecter et de corriger les erreurs dues à la transmission.
• Exemples simples :
- Ajouter un bit de parité et, en cas d’erreur à la réception,
interroger de nouveau l’émetteur.
- Transmettre l’information en trois exemplaires et, en cas de
désaccord, faire confiance à la majorité.

AU 2021-2022 5
Rôle du codage de canal

Ces méthodes proviennent d’une analyse empirique de la situation et,


d’après le modèle de Shannon, elles ont pour effet de diminuer la
quantité d’information perdue et donc d’augmenter la capacité du canal.
Grâce à cette analyse, il est possible de mettre au point des méthodes
de codage plus efficaces pour atteindre cet objectif.

un codage de canal performant est d’autant plus nécessaire que le


canal est bruité et perd de l’information.

AU 2021-2022 6
Canaux discrets

Canaux et codage de canal


Pour modéliser correctement un canal de transmission il est nécessaire de
spécifier l'ensemble des entrées et l'ensemble des sorties possibles. Le cas le
plus simple est celui du canal discret sans mémoire : l'entrée est une lettre d'un
alphabet fini {a1, . . . , aK}, et la sortie est une lettre d'un autre alphabet fini,
éventuellement identique, {b1, . . . , bJ}. Ces lettres sont émises en séquence,
et pour que le canal soit sans mémoire, il faut que chaque lettre de la
séquence reçue ne dépende statistiquement que de la lettre émise de même
position. Ainsi un canal discret sans mémoire est entièrement décrit par la
donnée des probabilités conditionnelles P(bj | ak), pour tout ak dans l'alphabet
d'entrée et tout bj dans l'alphabet de sortie.

AU 2021-2022 7
Canaux discrets

Canaux et codage de canal


Par exemple le canal binaire symétrique, représenté dans la figure suivante, est
un canal discret sans mémoire, dont l'alphabet d'entrée et l'alphabet de sortie
sont égaux tous deux à {0, 1}. La probabilité pour qu'un symbole soit inchangé
est 1−ε, et la probabilité pour qu'il soit transformé en son opposé est ε.

Canal binaire symétrique

On peut également considérer des canaux discrets à mémoire dans lesquels


chaque lettre de la séquence de sortie peut dépendre de plusieurs lettres de la
séquence d'entrée.
AU 2021-2022 8
Canaux continus

Canaux et codage de canal


Il existe une classe de modèles de canaux, appelé canaux continus, beaucoup
plus proche des canaux physiques, dans lesquels l'entrée et la sortie sont des
fonctions continues du temps.
Pour les canaux de cette classe, il est possible, et commode, de séparer le
codeur et le décodeur en deux parties, comme le montre la figure suivante.

Canal continu et canal discret

AU 2021-2022 9
Canaux continus

Canaux et codage de canal


La première partie du codeur, que nous appellerons codeur de canal discret,
transforme une séquence binaire en une séquence de lettres d'un alphabet fini
{a1, . . . , aK}, la seconde partie du codeur, le modulateur de données digitales
(MDD) envoie pendant un temps τc sur le canal une des fonctions du temps
prédéfinies s1(t), . . . , sK(t). La durée τc sera l'intervalle de temps séparant
l'émission de deux lettres par le codeur de canal discret.
L'ensemble de ces fonctions du temps mises bout à bout sera convertie à la
sortie du canal par le démodulateur de données digitales (DDD) en une
séquence de lettres d'un alphabet de sortie {b1, . . . , bJ} au rythme, là encore,
d'une lettre toutes les τc secondes.

AU 2021-2022 10
Canaux continus

Canaux et codage de canal


On voit que de cette manière l'ensemble MDD-canal-DDD peut être considéré
comme un canal discret dont l'alphabet d'entrée est {a1, . . . , aK}, et l'alphabet
de sortie {b1, . . . , bJ}. Si de plus le bruit est indépendant entre chaque
intervalle de τc secondes, alors ce canal sera sans mémoire.

L'étude des canaux discrets nous permettra donc de déduire des résultats sur
les canaux continus.

AU 2021-2022 11
Capacité d'un canal

Canaux et codage de canal


L'un des paramètres les plus important d'un canal est sa capacité, nous
verrons que cette capacité peut s'interpréter comme une mesure de la quantité
d'information, exprimée en bits par seconde par exemple, pouvant être
transmise à travers ce canal. L'intérêt de cette grandeur nous vient
essentiellement du théorème sur le codage des canaux bruités :
grossièrement, ce théorème dit que dans un canal de capacité C bits/s, si l'on
veut faire transiter une quantité d'information à un taux utile de R bits/s, tel que
R < C, alors il existe une procédure de codage et une procédure de décodage
telles que le taux d'erreur résiduel soit arbitrairement faible.
La réciproque de ce théorème nous dit par contre que si R > C alors pour toute
procédure de codage et de décodage, le taux d'erreur résiduel est supérieur à
une constante strictement positive qui dépend de R et C.

AU 2021-2022 12
Définition du canal discret
Pour définir un canal de transmission, il est nécessaire de décrire l'ensemble
des entrées et des sorties possibles du canal, ainsi que le bruit qui perturbera
la transmission.
Le canal discret est le modèle le plus simple de canal de transmission.
L'ensemble des entrées comme celui des sorties seront des ensembles finis X
et Y et le bruit se modélisera par la donnée d'une loi de probabilité
conditionnelle de Y sachant X.

AU 2021-2022 13
Canal discret sans mémoire
Un canal discret sans mémoire est déni par la donnée de :
1. Un alphabet d'entrée X = {a1, . . . , aK},
2. Un alphabet de sortie Y = {b1, . . . , bJ},
3. Une loi de transition définies par les probabilités conditionnelles P(bj | ak).
La matrice K × J suivante:

est appelée matrice stochastique du canal. Nous parlerons d'un canal (X, Y, π).

AU 2021-2022 14
Canal discret sans mémoire
Exemple: Le canal binaire symétrique de probabilité de transition p représenté
par le diagramme:

P(0I0) P(1I0)
a pour matrice stochastique: =
P(0I1) P(1I1)

La probabilité de transition p du canal sera souvent appelée probabilité d'erreur


du canal.

AU 2021-2022 15
Canal discret symétrique
Un canal discret est dit symétrique si les lignes de sa matrice stochastique sont
formées des mêmes éléments à l'ordre près.
Un canal symétrique n'a pas forcément le même nombre d'entrées et de
sorties.

AU 2021-2022 16
Canal discret symétrique
Exemple: Le canal binaire symétrique à effacement est déni par le diagramme:

p=probabilité de transition
p∞= probabilité d’effacement

a pour matrice stochastique:

P(0I0) P(∞I0) P(1I0)


=
P(0I1) P(∞I1) P(1I1)

AU 2021-2022 17
Capacité d'un canal
Soit un canal dont l'ensemble des entrées est X et l'ensemble des sorties Y . La
donnée du canal nous fourni également la loi de transition, c'est à dire la loi de
probabilité conditionnelle de Y sachant X. Cette loi sera notée P, pour tout x dans
X et tout y dans Y , nous connaissons P(y | x).
Si nous connaissons également la loi d'émission, c'est-à-dire la loi de probabilité
de X, alors nous sommes en mesure de calculer l'information mutuelle I(X; Y )
entre X et Y . En effet
et P(x, y) et P(y) peuvent être calculés et valent:

L'information mutuelle entre X et Y s'interprète comme l'information transmise à


travers le canal.

AU 2021-2022 18
Capacité d'un canal
La relation:
exprime alors que l'information transmise à travers le canal est égale à l'entropie
de X, H(X) diminuée de la quantité H(X | Y ) que l'on peut interpréter alors
comme la perte d'information due au bruit.
Pour un canal donné, seule la loi de transition est connue. La loi d'émission ne
dépend que de la source et du codeur de canal. La capacité du canal sera la
plus grande valeur que peut atteindre l'information mutuelle de X et Y .

AU 2021-2022 19
Définition

Capacité d'un canal


Soit un canal d'entrée X et de sortie Y . La capacité de ce canal est égale au
maximum de l'information mutuelle entre X et Y pour toutes les lois d'émission
possible.

Cette définition ne nécessite pas un canal discret, et reste parfaitement


applicable à un canal continu. Nous ne nous intéresserons cependant qu'à la
capacité des canaux discrets sans mémoire.

AU 2021-2022 20
Capacité d'un canal discret sans mémoire

Si la définition de la capacité d'un canal peut sembler simple, son calcul


pratique est d'une grande complexité en général. En effet si l'alphabet d'entrée
est X = {a1, . . . , aK}, et que la loi d'émission est p1, . . . , pK, où pk = P(ak) pour
tout k, il faut calculer le maximum de I(X; Y) sur l'ensemble des K-uplets
(p1, . . . , pK) avec les contraintes pk ≥ 0 pour tout k, et Σ pk = 1.

Ce calcul est cependant possible dans certains cas particuliers.

AU 2021-2022 21
Définitions

Capacité d'un canal symétrique


Canal fortement symétrique:
Un canal discret est dit fortement symétrique si les lignes et les colonnes de
sa matrice stochastique sont égales à une permutation près.
Décomposition d'un canal:
Nous dirons que le canal T = (X, Y, π) se décompose en une combinaison des
canaux Ti = (X, Yi, πi)1≤ i ≤ L, si les Yi sont disjoints et s'il existe des nombres réels
positifs q1+q2+. . . +qL = 1 tels que
Nous noterons formellement:

Un canal discret est symétrique si et seulement si il se décompose en une


combinaison de canaux fortement symétriques.

AU 2021-2022 22
Capacité d'un canal symétrique
Pour un canal symétrique, la matrice stochastique:

est telle que ses lignes sont toutes égales à l'ordre près. On pose pour tout
couple (k, j), πk,j = P(bj | ak).
L'information mutuelle moyenne s'écrit: I(X; Y) = H(Y) − H(Y | X), où H(Y | X)
l'entropie conditionnelle de Y sachant X est égale à

AU 2021-2022 23
Capacité d'un canal symétrique
Par définition d'un canal symétrique, le terme
est indépendant de k. Notons le H(π). Nous avons alors

Donc pour maximiser I(X; Y ) = H(Y ) − H(π) il suffira de maximiser H(Y ).

AU 2021-2022 24
Capacité d'un canal symétrique
Soit T un canal symétrique dont la décomposition en canaux fortement
symétrique s'écrit q1T1 + . . . + qLT . Sa capacité est atteinte lorsque la loi
d'émission est uniforme et vaut:

où les Ci sont les capacités des canaux fortement symétriques Ti.

Exemple: Considérons le canal binaire symétrique. Sa matrice stochastique

vaut:

et donc H(π) = −p log2 p − (1 − p) log2(1 − p).

La capacité du canal binaire symétrique de probabilité d'erreur p est donc égale

à C = 1 + p log2 p + (1 − p) log2(1 − p).

AU 2021-2022 25
Théorème fondamental
Avant d'énoncer le second théorème de Shannon sur le codage des canaux
bruités, nous allons décrire les façons par lesquelles nous pouvons opérer ce
codage.
D'après les hypothèses que nous avons admises jusqu'à présent, l'entrée du
codeur de canal est égale à la sortie du codeur de source, c'est-à-dire qu'il s'agit
d'une séquence binaire.

Un codage d'un canal discret (X, Y, π) est une procédure qui associe à chaque
séquence binaire finie Y une séquence finie de lettres de X.
Bien évidemment, il est hautement désirable qu'après passage dans le canal la
séquence de lettres de Y reçue puisse être décodée pour retrouver la séquence
binaire, et ce avec une probabilité la plus élevée possible.

AU 2021-2022 26
Théorème fondamental
Un code en bloc d'un canal discret (X, Y, π) est une procédure qui associe à
chaque séquence binaire de longueur donnée k une séquence finie de n lettres
de X appelée mot de code. L'entier n est appelé longueur du code, 2k est le
cardinal du code.

Nous désignerons également par code l'ensemble des mots de codes pour tous
les k-uplets binaires possibles.
À tout codage, il faudra évidemment associer une procédure de décodage. Cette
procédure va pendre en entrée une séquence de lettres à la sortie du canal, et
donner en sortie une séquence binaire. Ce décodage devra se faire de façon à
maximiser la vraisemblance.

AU 2021-2022 27
Théorème fondamental

Un algorithme de décodage d'un codage d'un canal (X, Y, π) sera une


procédure qui à toute séquence de lettres de Y associe une séquence binaire.
Un algorithme de décodage d'un code en bloc d'un canal (X, Y, π) de longueur n
et de cardinal 2k sera une procédure qui à tout n-uplet de Y associe un k-uplet
binaire.

AU 2021-2022 28
Canal binaire symétrique

Théorème fondamental
Nous nous contenterons d'exposer le théorème fondamental de Shannon pour le
codage de canal dans le cas d'un canal binaire symétrique. Il est aisé de
généraliser au cas q-aire, c'est-à-dire lorsque les alphabet d'entrée et de sortie
du canal sont égaux et de cardinal q.
Comme nous l'avons déjà vu le canal binaire symétrique de probabilité de
transition p à pour capacité C = 1 + p log2 p + (1 − p) log2(1 − p).
Pour un tel canal, nous utiliserons des codes binaires, c'est-à-dire des sous
ensemble de {0, 1}n pour un certain entier n.

AU 2021-2022 29
Le second théorème de Shannon pour un CBS
Soit un canal binaire symétrique de capacité C. Pour tout R < C il existe une
suite Cn de codes de longueur n de taux Rn d'algorithme de décodage de taux
d'erreur résiduel Pen telle que:

Ce théorème signifie donc qu'il existe des codes en bloc permettant de réaliser
un code dont le taux est aussi proche qu'on le désire de la capacité du canal.
Il existe un autre résultat qui est le réciproque de ce théorème.

AU 2021-2022 30
Le second théorème de Shannon pour un CBS
Soit un canal binaire symétrique de capacité C. Soit un code de taux R > C alors
tout algorithme de décodage de ce code est tel que son taux d'erreur résiduel
Pe> K(R,C) > 0, où K(R,C) est une constante strictement positive ne dépendant
que de R et de C.

Ce résultat nous indique qu'il est inutile de chercher des codes de taux supérieur
à la capacité du canal. La capacité C est donc bien le taux de codage maximal
que l'on puisse atteindre pour faire transiter une information dans un canal
donné.

AU 2021-2022 31
Plus simplement

Le second théorème de Shannon pour un CBS


Théorème de Shannon concernant le codage canal (A mathematical theory of
communication. Octobre 1948)
Soit un canal discret de capacité C et une source discrète d’entropie H.
Puisque H(XIY) = H(X) - C

AU 2021-2022 32
Transmettre de l’information sans erreur ?

AU 2021-2022 33
Détection/correction d’erreur

 Certains codes permettent de détecter des erreurs,


d’autres de détecter et corriger les erreurs.

 La correction d’erreur contraint à ajouter plus de bits que


la détection d’erreur.

 Par conséquent, on adopte un code correcteur d’erreur


quand on ne peut pas retransmettre les messages :
• Transmission dans un seul sens (émission TV)
• Transmission satellite (la retransmission prend trop de
temps)
• Transmission en temps réel.

AU 2021-2022 34
Métriques: Distances et poids de Hamming

AU 2021-2022 35
Métriques: le poids d’un code

AU 2021-2022 36
Métriques: la distance de Hamming

AU 2021-2022 37
Métriques: Distance de Hamming du code à répétition

AU 2021-2022 38
Métriques: code correcteur d’erreurs

AU 2021-2022 39
Ex: code de parité

Métriques: code correcteur d’erreurs

AU 2021-2022 40
Métriques: paramètres d’un code (n,k)

AU 2021-2022 41
Classification des codes
détecteurs et correcteurs d’erreurs

AU 2021-2022 42
Codes de bloc linéaire
Codes de bloc Linéaires: Algo de codage

AU 2021-2022 44
Codes en blocs linéaires
 Lemme : Un code linéaire de distance minimum d peut
détecter jusqu'à d-1 erreurs et en corriger jusqu'à t avec
d=2t+1 ou d=2t+2, si on utilise la règle de décodage à
distance minimum
 d: nombre d’erreurs détectées
 t: nombre d’erreurs corrigés

 Notations
• Un code de dimension k de longueur n de distance
minimale d est noté C(n,k,d)
• Un code qui corrige jusqu'à t erreurs est appelé t-
correcteur

AU 2021-2022 45
Codes de bloc Linéaires: Algo de codage

AU 2021-2022 46
Exemple

Codes de bloc Linéaires: Algo de codage

On veut construire un code linéaire C(6,3) à partir de la matrice génératrice G


suivante:

a u = Ga
101
000 000000
011
001 110110 1
010
G= 010 011101 1
111 0
001 011 101011 0
G 0 =
110 100 100101 1
1
101 010011
1
0
110 111000
111 001110

AU 2021-2022 47
Exemple

Codes de bloc Linéaires: Algo de codage

La structure du codeur dans ce cas est:


a1 a2 a 3

101 u1
011
010 u2
G=
111
001
u3
110

u4

u5

u6

AU 2021-2022 48
Exemple

Codes de bloc Linéaires: Algo de codage


 remarque : Pour un code C fixé, toute application linéaire faisant
correspondre à la base canonique de G définit le même code.
• l'ensemble des vecteurs de code est le même
• seule la correspondance entre vecteurs et codes est différente
a u = Ga a u = G'a
000 000000 000 000000
101 010 001 001110
001 110110
011 100
010 011101 010 101011
010 111
G= 011 101011 G'= 011 100101
111 101
100 100101 011 100 011101
001
110 101 010011 110 101 010011
110 111000 110 110110
e1 e2 e3
111 001110 e2 e2 e1 111 111000
+ +
e3 e2
+
e3
AU 2021-2022 49
Exemple

Codes de bloc Linéaires: Algo de codage


Matrice génératrice du code (7,4,3)
Le message est le mot d1d2d3d4. Le mot du code est constitué des quatre lettres
du mot du message, puis de trois sommes de contrôles p1p2p3.
La valeur de pi est égal à zéro si la somme des trois lettres du message incluses
dans son cercle sur la figure est paire et un sinon.
Il possède donc la matrice génératrice Gh suivante :
d1
d2
d3
d4
p1
p2
p3
AU 2021-2022 50
Exemple

Codes de bloc Linéaires: Algo de codage


Matrice génératrice du code (7,4,3)
Le message est le mot d1d2d3d4. Le mot du code est constitué des quatre lettres
du mot du message, puis de trois sommes de contrôles p1p2p3.
La valeur de pi est égal à zéro si la somme des trois lettres du message incluses
dans son cercle sur la figure est paire et un sinon.
Il possède donc la matrice génératrice Gh suivante :

AU 2021-2022 51
Codes de bloc Linéaires: Algo de codage

Exemple code (7,4)

Matrice
Matrice de
génératrice
controle Transposé de
Matrice
la Matrice de
de parité
parité

AU 2021-2022 52
Codes de bloc Linéaires: Algo de codage
On considère un code dont la matrice génératrice est :

Déduisez les matrices H et HT

AU 2021-2022 53
Codes de bloc Linéaires: Algo de codage
 Proposition : Tout code linéaire C(n,k) est équivalent à un code linéaire
sous forme systématique C'(n,k) avec
 Ik   Pt 
G'    et H'    càd matrice de contrôle  P I n -k 

P  I n -k 

Dem : par combinaisons linéaires des colonnes de G on peut trouver une matrice
identité d'ordre k (puisque le rang est k), ce qui ne change pas le sous-espace
vectoriel. Par une permutation des lignes on peut placer la matrice identité dans
les k premières colonnes. Les lignes de H' sont orthogonales aux lignes de G'.
Comme elles sont linéairement indépendantes alors H' peut être considéré
comme la matrice de contrôle de C'.

AU 2021-2022 54
Rappel: codage systématique

Codes de bloc Linéaires: Algo de codage

AU 2021-2022 55
Passage au code systématique

Codes de bloc Linéaires: Algo de codage

101 100
011 011
G=
010 1/ On remplace la troisième colonne G'= 0 1 0
111 par la somme de la 1ere et de la 3eme 110
001 001
110 111

2/ On fait la permutation de lignes (1 3 5 2 4 6)

100 011
010 Ik 111 Pt
001
G‘’= 0 1 1  H'= 1 0 1
100
P
110 010 In-k
111 001

AU 2021-2022 56
Codes de bloc Linéaires: le syndrome

AU 2021-2022 57
Codes de bloc Linéaires:
Lien entre distance minimale et matrice de parité

AU 2021-2022 58
Codes de bloc Linéaires:
Correction des erreurs et distance de Hamming (revisitée)

AU 2021-2022 59
Codes de bloc Linéaires:
Algorithme de Correction des erreurs par syndrome

AU 2021-2022 60
Codes de bloc Linéaires:
Exemple1

AU 2021-2022 61
Codes de bloc Linéaires:
Exemple1

AU 2021-2022 62
Codes de bloc Linéaires:
Exemple1

AU 2021-2022 63
Codes de bloc Linéaires:
Exemple2

AU 2021-2022 64

Vous aimerez peut-être aussi