Canaux bruités et lutte contre le bruit 1. Introduction 2. Chapitre 5

Transcription

Canaux bruités et lutte contre le bruit 1. Introduction 2. Chapitre 5
Canaux bruités et lutte contre le bruit
1. Introduction
2. Chapitre 5. Canaux discrets
Communications à travers un canal
Codage de canal (2d théorème de Shannon)
Interprétations, généralisations
3. Chapitre 6. Canal (continu) à bruit additif Gaussien
Processus aléatoires en temps continu, entropies diff., AEP
Canaux continus
Espaces de signaux
4. Lutte contre le bruit
Décodage optimal
Codes linéaires
Concaténation de codes
1
Comment assurer une communication fiable au moyen de canaux bruités
?
Exemples de canaux bruités :
1. Ligne téléphonique (bruit thermique, distorsions, diaphonie
)
)
2. Une liaison par satellite (rayonnement cosmique
3. Un disque dur (erreurs d’écriture ou de lecture)
Modèle simple : canal binaire symétrique ( = probabilité d’erreur)
0
1
0
1
1
1
2
Supposons que :
0 1 (une erreur sur 10 bits, en moyenne)
Pour que le disque (p.ex.) soit utile : nous ne voulons pas d’erreurs sur la
durée de vie du disque (avec un garantie de 1/100 disques)
P.ex. : durée de vie = 10 ans. Et, supposons que le disque serve à transférer
1GB par jour.
10
15 .
(souhaité)
Deux approches :
1. Solution physique : meilleurs circuits, densité plus faible, meilleur refroidissement
2. Solution système : compenser les mauvaises caractéristiques du disque en
l’utilisant “intelligemment”
ˆ
CANAL
ENCODEUR
DECODEUR
Message
3
Estimée
du message
Théorie de l’information et du codage : solution système
Ajouter de la redondance à l’entrée et exploiter cette redondance (connue) lors
du décodage
Théorie de l’information :
Quelles sont les possibilités (limites) théoriquement atteignables ?
problème d’analyse
Théorie du codage :
Comment réaliser des systèmes pratiques de compensation ?
problème de synthèse
(Cf. analogie avec les deux cours de théorie des systèmes)
4
Codes correcteurs d’erreurs pour le canal sym étrique binaire
1. Codes de répétition :
Source
0
1
Code
000
111
Décodage : on utilise le vote majoritaire.
Exemple de transmission :
s
x
b
y
0
000
000
000
0
000
001
001
1
111
000
111
0010110.
0
000
000
000
1
111
101
010
1
111
000
111
0
000
( : vecteur de bruit)
000
000
Décodage : ˆ 0010010
(par bit source) :
NB: pour atteindre
3
3
10
2
1
15
0 028 et débit du code :
il faut
1 3
1 60
Autre propriété : correction erreurs simples, détection erreurs doubles.
5
2. Codes en blocs (Hamming 7 4 )
On aimerait bien optimiser le débit de transmission sous la contrainte
10 15
Codes en blocs : on associe à des mots source de longueur
longueur
.
Exemple : Hamming 7 4
s
x
s
0000 0000000 0100
0001 0001011 0101
0010 0010111 0110
0011 0011100 0111
x
0100110
0101101
0110001
0111010
s
1000
1001
1010
1011
x
1000101
1001110
1010010
1011001
un mot canal de
s
1100
1101
1110
1111
Code peut être écrit de façon compacte sous la forme ( et
avec
1 0 0 0 1 0 1
0 1 0 0 1 1 0
[ 4 ]
0 0 1 0 1 1 1
0 0 0 1 0 1 1
6
x
1100011
1101000
1110100
1111111
vecteurs ligne)
Code linéaire : combinaisons linéaires (arithm. mod. 2) de mots de code sont
encore des mots de code.
Les 4 premiers bits = mot source, les trois derniers = contrôle de parité.
P.ex. : 5ème bit = parité (somme mod. 2) des 3 premiers.
Décodage : soit
le mot reçu
Maximum de vraisemblance : trouver le mot de code ˆ qui maximise la
probabilité
ˆ .
Distance de Hamming : nb bits différents entre deux mots.
Si
ˆ
Donc :
alors
ˆ
1
ˆ maximale
ˆ
(ici
7)
minimale (en supposant que
Distance minimale du code 7 4 : = 3
Poids de Hamming : nombre de bits à 1.
Si poids de Hamming de
1 : décodage correct.
7
0 5).
Si poids de Hamming de
2 : détection correcte.
Sinon, erreurs possibles.
Si une seule erreur :
Si erreur sur un des quatre premiers bits
violation de deux ou trois parités.
P.ex. si le premier bit est inversé : erreur de parité au niveau du 1 et du 3ème
bit de parité (et réciproquement).
Si erreur sur un bit de parité : erreur seulement sur un seul contrôle de parité.
Dans les deux cas on identifie directement l’erreur.
Utilisation du syndrôme
Syndrôme : différence entre les trois bits de contrôle reçus et ceux qui seraient
obtenus en calculant le mot de code à partir des quatre premiers bits reçus.
Le syndrôme contient toute l’information pour le décodage optimal :
Huit valeurs possibles
huit patterns d’erreurs les plus probables (précalculés).
8
P.ex. : supposons que 0101111 :
- bits de signal 0101 mot de code 0101101 (parité 101)
- syndrôme : 101 111 010 (bit par bit)
- pattern d’erreur le plus probable : 0000010
- mot décodé : 0101101
P.ex. : supposons que 0101110 :
- bits de signal 0101 mot de code 0101101 (parité 101)
- syndrôme : 101 110 011 (bit par bit)
- pattern d’erreur le plus probable : 0001000
- mot décodé : 0100 (code 0100110).
Par exemple :
Si 0 erreur : poids du syndrôme nul
Si 1 erreur : poids du syndrôme = 1, 2 ou 3. (7 possibilités/7)
Si 2 erreurs : poids du syndrôme = 1, 2 ou 3.
Si 3 erreurs : poids du syndrôme = 0, 1, 2 ou 3.
Se trompe à coup sûr si 2 erreurs ou plus.
9
Résumé
Code 7 4 détecte aussi les erreurs simples, mais sur des mots plus longs (7
au lieu de 3).
Si
0 1 : probabilité d’erreur par mot : 0.14
probabilité d’erreur par bit : 0.07
Moins bon du point de vue
mais meilleur du point de vue débit :
Il semble qu’il y ait un compromis entre le débit et le taux d’erreurs.
Intuitivement : lim
0
0
(ce que tout le monde croyait il n’y a pas si longtemps...)
Et alors ?
...Shannon est arrivé...
10
4 7.
Second théorème de Shannon
Dit que ssi
1
2
alors
0 possible (par mots et par bits).
Troisième théorème de Shannon (distorsion
tolérée)
Compression irréversible, alors
1
2
(
désigne ici le nombre minimum de symboles de code par symbole
source nécessaires)
Au total : on peut fonctionner si
1
2
0.1
Atteignable
0.01
log
Non atteignable
1e-11
0
0.53
Conclusion : il suffit de deux disques pour atteindre
10 15 .
1
11
Chapitre 5 : canaux discrets, 2nd théorème de Shannon
Qu’est-ce qu’un canal ?
Plus tard et/ou ailleurs
Canal Albert
.....
....
Version bruitée
Modèle abstrait :
1
1
1
2
1
2
2
c’est-à-dire la donnée des lois de probabilités conditionnelles
1
définies
1
1 2
(on néglige le temps qui s’écoule)
12
2
Simplifications
Canal causal : si
1
1
1
Canal causal sans mémoire : si
1
1
1
2
1
2
1
Canal causal sans mémoire et stationnaire : si
1 on a
3
cela va être notre modèle de travail...
1 symbole entre en -ième position
1 autre symbole sort en -ième position.
Si processus stationnaire à l’entrée
stationnaire à la sortie
Si processus ergodique à l’entrée
ergodique à la sortie
(NB: se généralise si canal stationnaire de mémoire finie...)
13
Capacité en information d’un canal sans mémoire
Par définition :
max
;
4
Remarques
Grandeur calculée pour une utilisation du canal.
;
dépend à la fois de propriétés de la source et du canal.
ne dépend que des propriétés du canal.
A ce stade cette grandeur ne veut rien dire de plus...
Plus loin on verra qu’elle coı̈ncide avec la notion de capacité opérationnelle.
NB: comment généraliser la définition de
14
pour un canal avec mémoire ?
Exemples de canaux et calculs de leur capacité
Matrice de transition :
1
..
.
1
..
.
..
.
1
1
1. Canal binaire sans bruit
1 0
0 1
Entrées et sorties binaires :
;
, maximale quand
est maximale (=1 Shannon).
Débit atteignable (sans erreurs) : 1 symbole source/utilisation du canal.
Peut-on faire mieux ?
Non, sauf si on sacrifie
.
15
2. Canal bruité sans recouvrement des sorties
P.ex. : matrice de transition
1
0
0
0
0
0
1
;
1.
Atteignable...
3. Machine à écrire bruitée
Entrées : a, b, c,
05
,z
Sorties : a, b, c,
0 5,
,z
05
;
avec
P.ex. si entrées équiprobables :
0 5,
1
log2 26
max si sorties équiprobables
log2 13
Atteignable en utilisant un sous-ensemble de l’alphabet d’entrée...
(NB: cette idée sera exploitée plus loin)
16
05
05
4. Canal symétrique binaire
1
0
0
1
1
1
1
1
Capacité en information de ce canal :
;
2
Vaut 0, si
0 5 et 1 si
0 0. Symétrique :
Atteignabilité : moins évidente.
17
1
2
1
.
2
5. Canal binaire avec effacement
1
0
0
1
0
0
1
1
1
1
max
;
max
Impossible de réaliser
1 3)
Soit
lorsque
Canaux symétriques :
2
log 3 par un choix judicieux de
1
; on trouve
0 5.
On trouve finalement
max
1
2
1
2
(sauf si
qui est maximale
symboles perdus n’apportent pas d’information.
indépendant de
18
.
réalisée si
unif.
Propriétés de la capacité en information
1.
0.
2.
min log
log
De plus on montre que
.
;
est une fonction continue et concave de
.
Comme elle est concave tout maximum local est un maximum global sur
l’ensemble convexe des distributions de probabilités de .
Comme elle est bornée le maximum l’est aussi.
On peut donc utiliser des méthodes d’optimisation locale (“descente” de
gradient, ) pour trouver son maximum.
En général, la solution n’est pas obtenue de façon analytique.
19
Système de communication
ˆ
CANAL
ENCODEUR
DECODEUR
Message
Estimée
du message
Un message
(ensemble fini de messages possibles
1 2
) est
encodé par l’encodeur sous la forme d’une suite de symboles d’entrée du
canal, désignée par
.
Cette séquence est reçue de l’autre côté sous la forme d’une séquence aléatoire
de symboles
(distribuée selon la loi de probabilité
.
Cette séquence
ˆ
est ensuite décodée par le décodeur, qui choisit un élément
le récepteur commet une erreur si ˆ
.
Dans ce qui suit, nous supposons que l’encodeur et le décodeur opèrent de
manière déterministe :
est la règle (ou fonction) d’encodage;
- ˆ
est la règle (ou fonction) de décodage.
20
Données canal sans mémoire
Nous supposons données les probabilités de transition
(éventuellement non-stationnaires).
Nous supposons que le canal est utilisé sans boucle de retour (voir notes) :
Dans ce cas :
.
1
Définitions qui vont suivre :
Code de canal
Probabilités d’erreur...
Taux ou débit de communication.
Débit réalisable.
Capacité opérationnelle.
21
Code
Un code
pour un canal
est défini par
1. Un ensemble d’indices 1
;
2. Une fonction d’encodage
mots de code
1
(codebook).
:
1
, qui donne les
que nous appellerons la table du code
3. Une fonction de décodage
:
1
5
qui est une règle déterministe qui associe à chaque sortie possible du canal
une entrée
.
mots codés sur
symboles d’entrée du canal.
22
Probabilités d’erreur de décodage
1. Probabilité d’erreur de décodage du mot
1
2. Probabilité d’erreur maximale d’un code
sur un canal :
max
1
3. Probabilité d’erreur moyenne (algébrique) :
1
1
probabilité d’erreur de décodage si est distribué uniformément à l’entrée.
23
Règle optimale de décodage
Par définition : celle qui minimise la probabilité d’erreur de décodage.
Pour un
reçu
choisir tel que
est maximale.
maximiser la probabilité a posteriori (MAP)
minimise pour chacun des
la probabilité d’erreur
minimise la probabilité d’erreur de décodage en moyenne (probabiliste).
principe général en théorie de décision : Règle de Bayes
On dispose d’une information
(variable aléatoire qui peut être observée).
On veut prendre une décision optimale
Décision correcte :
(choisir parmi
une v.a.
connu.
Coût de décision : 0 si correcte, 1 si incorrecte.
Décision optimale sur base de l’info
: ˆ
24
arg max
possibilités).
Pour notre canal :
1
Comme
1
revient à maximiser
ne dépend pas du choix opéré, cela
.
Discussion
: données canal.
: données source.
Si source uniforme :
indépendant de
maximiser
règle du maximum de vraisemblance : minimise
Quasi optimale, si source quasi uniforme.
P.ex. si source non redondante ou si on code des messages longs (cf. AEP)
25
.
Débit de communication : noté
Le débit de communication
non/symbole transmis.
d’un code
est défini par
log
Shan-
1 2
avec
entropie par symbole de canal si entrées uniformes.
Débit réalisable (plus subtil)
réalisable (atteignable) si une suite de codes
2
1.
codes de débit
et
2. lim
0
, finissent par devenir aussi bons que souhaité et le restent
Remarque
Définition indépendante de la distribution de la source (cf. prob. erreur max).
Capacité opérationnelle :
borne sup de tous les débits réalisables.
0 est réalisable, mais est-ce que
0 et fini ?
26
Second théorème de Shannon
Objectif : démontrer que la capacité en information
opérationnelle .
Hypothèses : le couple
ergodique)
est égale à la capacité
obéit au théorème AEP (stationnaire et
Si canal stationnaire, de mémoire finie et entrée stationnaire ergodique
Capacité en information (par utilisation du canal) :
max
(avec
lim
1
;
stationnaire et ergodique)
Nous allons cependant nous restreindre au canal sans mémoire.
Dans ce cas, le maximum est réalisé par des symboles de source indépendants
et on revient à notre définition :
max
;
27
Démarche
On se donne
(
, et ; on construit une table de code aléatoire selon
tirages) mots de codes sont typiques (si suff. grand).
1
2
3
transition typique
transition atypique
28
Bilan (à la louche...)
A l’entrée : 2
séquences typiques possibles (on en tire
A la sortie : pour chaque
typique 2
).
séquences de sortie typiques
Mais les sorties sont typiques : au total il y en a 2
Si on souhaite qu’il n’y ait pas de recouvrement : il faut que
2
2
En choisissant
qui maximise
sible de pouvoir transmettre
2
2
;
;
on en déduit qu’il est plaumessages distinguables à la sortie.
Morale
En travaillant dans un espace de grande dimension (
) on peut exploiter la redondance (corrélation) entre entrées et sorties pour transmettre de
l’information de manière fiable.
29
Démonstration du second théorème de Shannon
Deux parties : (1) atteignabilité de
(2) impossibilité de la dépasser.
Etapes
1. Théorème AEP conjoint
2. Atteignabilité (codes aléatoires + AEP) (symboles source indépendants)
3. Inégalité de Fano : majoration de
en fonction de
4. Majoration de la capacité du canal étendu
5. Réciproque du second théorème
6. Discussion de
30
Typicalité conjointe
L’ensemble
de séquences conjointement typiques
par rapport à une distribution
, est l’ensemble de telles séquences dont les
entropies conjointes et marginales empiriques sont
proches des entropies
conjointes et marginales, c’est-à-dire
:
1
1
1
log
log
log
(6)
où
7
1
31
Théorème : équipartition asymptotique (AEP) conjointe
Soit une suite de variables aléatoires
correspondant à des séquences
entrée/sortie de longueur tirées aléatoirement, de façon indépendante et distribuées selon une même loi
(i.e.
).
1
Alors
1. lim
2.
1.
1
2
2
.
, i.e. si ˜ et ˜ sont indépendantes et
3. si ˜ ˜
distribuées selon les lois marginales de
, alors
1
2
;
3
˜
˜
2
3
8
NB. Ensemble simplement typique : ensemble des couples
1
log
.
conjointement typique aussi probable que simplement typique.
32
tels que
2
2
séquences
d’entrée
typiques
séquences de sortie typiques
2
séquences conj. typiques
(a) Cas usuel : 0
2
séquences de sortie typiques
2
séquences
d’entrée
typiques
;
(b) Cas déterministe :
2
séquences de sortie typiques
2
séquences
d’entrée
typiques
(c) Cas totalement aléatoire :
33
;
0
;
2ème théorème de Shannon
Deux parties :
Aller :
réalisable (
Retour :
0).
non réalisable.
De manière plus fine :
Aller :
implique qu’il existe un moyen (suite de codes) d’utiliser le
canal de telle manière que
et
décroissent de façon exponentielle (en
fonction de ) vers zéro.
Retour :
implique que quelle que soit la façon d’utiliser le canal,
va croı̂tre vers 1, de façon exponentielle.
Nous allons esquisser les deux démonstrations sous l’hypothèse du canal sans
mémoire.
34
Esquisse de la démonstration (Aller)
On se donne
, ,
;
et
2
et un .
1. Construction de codes aléatoires : on considère tous les codes
possibles avec une loi de probabilités pur chacun définie par
1
1
2. Règle de décodage : on associe à une suite reçue
l’indice
(erreur si pas unique ou si inexistant).
tel que
3. On calcule la probabilité d’erreur moyenne de tous ces codes, i.e.
et on montre que
2
avec lim
0. (C’est ici qu’on fait appel aux propriétés de
35
).
4. Comme ce qui précède est vrai quelque soit
on peut choisir comme
cas particulier
qui réalise la capacité (
;
). On en déduit un
moyen pour obtenir de bons comportements en moyenne si
.
5. Comme
, cela implique qu’il existe au moins un code
2 (en fait il en existe même un très grand nombre).
tel que
6. Soient les ( 1
) les probabilités d’erreur des
mots de ce code.
Construisons un nouveau code comprenant les 2 mots de
les meilleurs,
et soit leur probabilité d’erreur maximale.
Montrons que
4 (Si
0 ok). Sinon
1
1
1
2
Conclusion.
Nous avons su construire un code de longueur
Autrement dit, pour
4 . c.q.f.d.
2
2
1
tel que
suffisamment grand, et pour un débit
36
4 .
1
on a
Esquisse de la démonstration (Retour)
Repose sur l’inégalité de Fano.
Si on devine
à partir de
alors
1
log
Dans le cas de notre canal, on l’applique à
les suites reçues à la sortie.
(le message d’entrée) et
On en déduit que
1
D’autre part,
(fonction) et donc
1
Enfin, on note que
;
(canal sans mémoire).
37
Réciproque Si
Si
est réalisable, alors
.
est réalisable, il existe une suite de codes
2
avec
0.
0.
Cela implique donc aussi que
La suite nous de codes
nous donne la fonction d’encodage
et en supposant que
est uniforme
.
On en déduit que
log 2
;
;
1
(9)
(10)
(11)
et en divisant par
1
ce qui implique (en faisant tendre
) que
38
.
A lire dans les notes...
Détails démonstrations.
Sous quelles conditions
est possible.
Feedback.
Interprétation géométrique du codage de canal
1
5
10
n
t
Figure 1 Représentation de messages par des signaux temporels discrets
39
1
1
2
(a) Trop peu de messages
2
(b) Trop de messages
1
1
1
1
2
(c) Bruit plus élevé :
2
1
2
(d) Bruit corrélé dans le temps :
40
3
1
Chapitre 9
Construction de bons codes de canal.
1. Pourquoi pas le codage aléatoire ?
(NB. on peut utiliser le décodage au maximum de vraisemblance.)
Problème principal : il faut
très grand pour que
soit petit.
Comme
croı̂t exponentiellement avec , cela veut dire que la table de code
devient de taille astronomique, et le décodage (dont la complexité est au moins
linéaire en fonction de ), devient impraticable.
un bon code de canal serait un code à la fois efficace du point de vue
correcton d’erreurs et facile à décoder.
La théorie des codes vise à construire de tels codes, depuis 1950.
beaucoup de théorie (parfois assez compliquée) avec des résultats assez
décevants (ça se sent dans beaucoup de livres sur la question).
41
Progrès significatifs récents :
- en 1993, Berrou et al. découvrent les turbo-codes.
- codes en blocs de faible densité
Note
Codes pour le canal binaire symétrique.
Codes pour le canal Gaussien (voir chapitre 6).
Codes pour d’autres types de canaux (évanouissements, bruit impulsionnel...)
Importance pratique (
il y a encore du pain sur la planche)
Réduire les puissances d’émission : réduire poids, augmenter autonomie (p.ex.
GSM, satellites )
Travailler dans des conditions très bruitées (p.ex. orages magnétiques
42
)
Menu : pour notre survol du codage de canal...
Codes linéaires en blocs (cf. introduction)
Code convolutifs et treillis
Algorithme de Viterbi
Combinaison de codes (produit, concaténation)
Article de la recherche de ce mois sur les turbo-codes
43
Codes linéaires en blocs
Reposent sur la structure d’espace vectoriel induit à partir d’un corps fini.
Corps fini ( symboles) : structure algébrique définie sur l’alphabet du code.
mots de code possibles.
Exemples :
- arithmétique modulo (avec nombre premier) :
- corps de Gallois (alphabets de taille
Pour nous
):
2 3 5 7 11 13
4 8 9 16 25 27
alphabet binaire avec arithmétique modulo 2.
Pourquoi élargir l’alphabet ?
pour se rapprocher du signal continu (voir chapitre 6).
n’a d’intérêt que si le rapport signal bruit est suffisamment faible.
44
Code linéaires
Ayant choisi et , le code définit un sous-espace linéaire
de . (
)
de dimension
Deux approches pour l’expliciter :
1. Choix d’un ensemble de
vecteurs de base (matrice génératrice
on peut écrire un mot de code sous la forme
,
.
2. Choix d’une base du complément orthogonal (matrice de contrôle
)
on doit avoir
0.
Métrique de Hamming
... cf début de ce cours pour les définitions (qui s’étendent au cas
Notion de distance minimale entre mots de codes
45
)
et
.
2).
,
Décodage de codes linéaire en bloc (ex. (7,4))
Trouver le mot de code qui minimise la distance de Hamming.
Trois idées :
1. Construire une table qui contient pour chaque mot possible ( ) le mot de
code le plus proche (grosse table) (27 128)
2. Utiliser la table de code (qui contient mots) et la parcourir systématiquement
(table plus petite, mais plus de calculs) (24 16)
3. Utiliser le syndrôme : à chaque syndrôme correspond un pattern d’erreur le
plus probable (à cause de la linéarité). On construit une table qui associe les
syndrômes pattern d’erreurs (syndrôme = adresse) : taille
. Ici 23 8.
Nombreuses familles de codes en bloc linéaires
46
Hamming :
Colonnes de
2
1,
(p.ex.
3
code 7 4 .
: tous les mots non-nuls de longueur .
P.ex. pour le code 7 4 on a
1 1 1 0 1 0 0
0 1 1 1 0 1 0
1 0 1 1 0 0 1
3
(ordre des colonnes en réalité quelconque). Ici organisation systématique...
Les codes de Hamming sont des codes parfaits qui corrigent une erreur simple
(maximaux).
Codes cycliques et BCH (cf corps de Gallois, permettent de choisir le nombre
d’erreurs corrigeables)
Codes de Hadamard (cf matrice de Hadamard)
Codes de Reed-Muller (construction récursive, facilité de décodage)
47
Codes convolutionnels
Codes linéaires mais pas en blocs.
Idée : la séquence d’entrée
alimente un système (avec mémoire) qui
engendre une séquence de sortie.
Système = codeur : initialement au repos.
Séquence de sortie redondante
1
Entrelaceur
1
48
Décodage
Exemple (simple) :
0 1
1
Mémoire : état des deux registres
+
1
+
2
2
2
1
2
1
2
: 22 4 états.
L’état initial (p.ex.) : 00
En l’absence de bruit, on peut récupérer
1,
1
1
2
1
49
de la manière suivante :
0
1,
0
et
Diagramme en treillis
Simulation du fonctionnement à l’aide d’un graphe : représente toutes les
suites d’états possibles, avec les entrées et les sorties qui correspondent.
0
1
2
3
4
5
6
7
8
temps ( )
sorties
1
2
00
11
10
11
00
01
01
10
11
10
01
Etats
00
1
0
Etat :
1
Etat de l’encodeur : nb. d’états possibles
2
où
est la mémoire
De chaque état partent exactement deux transitions.
A partir de
3,
deux transitions aboutissent à chaque état.
50
Décodage
1. Il est clair qu’à chaque suite d’entrée correspond un chemin dans le treillis.
2. Code déchiffrable : deux messages d’entrée
3. Message envoyé :
4. Trouver ˆ
5.
choisir ˆ
(alphabet
ˆ
tel que
tel que
6. Considérons que les
4); message reçu :
9.
10.
log
.
(alphabet
ˆ
,
.
sont équiprobables : maximiser
log
4).
soit minimale.
7. Canal sans mémoire :
8. Minimiser :
chemins
.
1
1
log
mesurent les “coûts” des arcs du treillis
trouver le chemin de longueur
le moins “cher” dans le treillis.
NB. Solution par énumération : 2 chemins possibles... (suites
51
possibles)
Algorithme de Viterbi
Basé sur la propriété suivante (chemin = suite d’états = suite d’arcs (symboles)) :
Si
alors
1
est un chemin optimal menant vers l’état
est un chemin optimal menant vers l’état
1,
car sinon
Donc : si nous connaissons les
chemins optimaux de longueur menant
vers chacun des
états (noeuds en position ) et les coûts des transitions, on
peut en déduire directement les chemins optimaux de longueur
1 menant
vers chacun des
états (noeuds en position
1).
Principe :
- on construit tous les chemins optimaux de longueur 0 1
- à la fin, on garde le chemin le moins cher parmi les
52
qui sont de longueur
- si plusieurs choix possibles : on tranche arbitrairement
1
opérations (OK si et
pas trop grands).
53
Discussion
Algorithme de Viterbi applicable de façon plus générale :
- alphabet de sortie continu
- source sans mémoire non-uniforme
- marche aussi pour les codes linéaires en blocs
Viterbi pas nécessairement très efficace (dépend de l’allure du treillis)
Versions simplifiées :
- méthode de hill-climbing (maintient seulement un seul chemin)
- beam-search
Inconvénient de principe : il faut attendre la fin du message pour trancher
En pratique : on peut trancher avec un retard de l’ordre de 5
54
.
Treillis associé à un code linéaire en bloc
On définit les états à partir de la matrice de contrôle.
P.ex. pour le code 7 4 on a
1 1 1 0 1 0 0
0 1 1 1 0 1 0
1 0 1 1 0 0 1
On sait que
0
0
0
En d’autres mots
7
1
2
1
3
55
0
0
0
3
Etat vecteur de contrôle de parité partiel :
1
2
1
3
et
0
0
1
2
3
4
5
6
7
0
0
0
7
8
9
000
001
010
011
100
101
110
111
56
Combinaisons de codes
Code produit
On écrit les mots du code selon les lignes d’un tableau, puis on établit un code
pour les colonnes.
On peut aussi faire autrement : on prend des blocs de longueur 1
2 : on les
organise dans un tableau 1
2 et on code d’abord les lignes de ce tableau,
ensuite les colonnes : ce qui donne un tableau 1
2 qui est transmis.
Code concaténé : on code deux fois de suite les messages.
Autres approches
Coder deux fois avec des logiques (simples) différentes (turbo-codes) et décodage
itératif (pour concilier les deux informations).
Codes pseudo-aléatoires : p.ex. codeurs convolutifs avec réponse impulsionnelle de durée illimitée (boucles) (p.ex. l’état du codeur est un nombre
pseudo-aléatoire qui est ajouté au mot source...).
57
Chapitre 6. Canaux et signaux continus
1. Processus aléatoires en temps continu
2. Théorème d’échantillonnage
3. Entropies différentielles et théorème AEP
4. Canaux continus
(a)
(b)
(c)
(d)
Canal Gaussien (modèle abstrait, en temps discret)
Canaux à bande passante limitée (en temps continu)
Canaux parallèles et bruit coloré
Espaces de signaux (introduction au traitement du signal)
58
Ce que nous n’avons pas pu voire:
Codes sur un espace euclidien
(Signaux et canaux continus)
Cryptographie
(Rendre le décodage difficile)
Théorie de la distorsion
(Compression irréversible)
Théorie de l’information de réseaux de communication
Relation entre théorie de l’information et physique statistique
(Thermodynamique)
Applications de la théorie de l’information
(statistiques et apprentissage automatique)
Complexité de Kolmogorov
(relations avec l’informatique théorique : décidabilité, complexité
59
)