Rhouma Rhouma

48
Théorie de l’information Chap : Codage canal et codes de bloc linéaires Rhouma Rhouma https://sites.google.com/site/rhoouma École Supérieure d’Économie Électronique Avril 2015 1 / 48

Transcript of Rhouma Rhouma

Page 1: Rhouma Rhouma

Théorie de l’informationChap : Codage canal et codes de bloc linéaires

Rhouma Rhoumahttps://sites.google.com/site/rhoouma

École Supérieure d’Économie Électronique

Avril 2015

1 / 48

Page 2: Rhouma Rhouma

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

2 / 48

Page 3: Rhouma Rhouma

Problématique

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

3 / 48

Page 4: Rhouma Rhouma

Problématique

Schéma général d’une communication numérique

4 / 48

Page 5: Rhouma Rhouma

Problématique

Canal de transmission : C’est l’élément physique par lequel les informations de la sourceseront transmises au récepteur. La transmission de l’information a deux impératifscontradictoires : 1) Transmettre le plus vite possible le maximum d’information et 2) Eviterles erreurs de transmission.

Atmosphère : ondes électromagnétiques ou ondes Herteziennes.Cable coaxial, paire torsadée : signaux électriques (tensions, courants).Fibre optique : ondes optiques (lumière visible, infra-rouge,. . .).

Source : C’est elle qui fournit le signal. Celui-ci peut être analogique (microphone,. . ..) oudiscret (CD,....). Nous nous intéresserons aux communications dites "numériques" lesignal est donc discret et converti en binaire (numérisation). La source fourni un messagequi est une séquence de bits.

Encodeur de source : Son rôle est de représenter le message sur un minimum de bits(compression de données). Ceci permettra de transmettre le maximum d’informationsdans le minimum de temps. Source -> encodeur de source -> message

Encodeur de canal : Il doit structurer le message pour permettre au récepteur de pallieraux erreurs de transmission. Cette modification du message génère un mot de code quiest une séquence de bits plus longue que celle du message. Cela peut se faire par simpleadjonction de bits redondants mais aussi par des méthodes d’encodage plus élaborées.message -> encodeur de canal -> mot de code

5 / 48

Page 6: Rhouma Rhouma

Problématique

Modulateur : mot de code -> modulateur -> ondes Si (t)Modulation binaire : Le mot de code généré est une succession de "0" et de "1". Afinde transmettre l’information il est nécessaire de les transformer en un signalphysique adapté au canal de transmission. Chaque signal élémentaire est appeléune forme d’onde. Ainsi 0→ S0(t) et 1→ S1(t). nous obtenons une modulationbinaire c’est-à-dire faisant intervenir deux formes d’onde.Modulation M-ary : Plutôt que de transmettre le code bit par bit, il est possible de letransmettre par paquets de b bits. Nous aurons donc M = 2b paquets possibles cequi nécessite M formes d’ondes Si (t) différentes.

Démodulateur : Rôle inverse de celui du modulateur, il reçoit les ondes éventuellementperturbées et les transforme en paquets de bits pour reconstituer le code sur lequel peutse trouver des erreurs de transmission. Ondes Si (t) -> démodulateur -> mot de code

Décodeur de canal : Grâce au codage il peut soit détecter une erreur de transmission etdans ce cas éventuellement réinterroger l’émetteur mais certains codages permettentdans une certaine mesure de détecter et de corriger les erreurs de transmission. Engénéral les codes correcteurs ne peuvent pas tout corriger sinon ils demanderaient trop debits redondants, ils se contentent de corriger les erreurs les plus probables.mot de code -> décodeur -> message

Décodeur de source : Ayant la séquence binaire ou message associée à l’information, cedécodeur doit reconstituer l’information qui a été transmise. c’est la décompression.

6 / 48

Page 7: Rhouma Rhouma

Problématique

Problématique

La description du système révèle bien la position du problème qui serésume en deux points contradictoires :

Transmettre le plus vite possible le maximum d’informations :Peu de bits de codageModulation astucieusement choisieVitesse de transmission élevée : bon choix du canal

Transmettre sans erreur :Augmenter le nombre de bits du codageModulation bien choisieBon choix d’un canal de transmission

Chaque problème demande un compromis !

7 / 48

Page 8: Rhouma Rhouma

Problématique

Problème de décodage au récepteur

On peut schématiser le comportement du récepteur par ungraphe qui montre comment les niveaux de tensions sont mappésen 0 ou 1.

si le voltage reçu entre V0 et V0+V12 le symbole reçu est 0 sinon

c’est un 1

8 / 48

Page 9: Rhouma Rhouma

Modèle : Canal Binaire symétrique

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

9 / 48

Page 10: Rhouma Rhouma

Modèle : Canal Binaire symétrique

Canal binaire symétrique

supposons que durant la transmission, le "1" est reçu et interprétécomme un "0" et vice versa avec une probabilité p.p est appelé la probabilité d’erreurle canal dans ce cas est appelé canal binaire symétriquece type de canal est très significatif quant à la modélisation d’uncanal de transmission.

10 / 48

Page 11: Rhouma Rhouma

Modèle : Canal Binaire symétrique

Information Mutuelle

I(X ,Y ) = H(X )− H(X/Y )

I(X,Y) veut dire : Quel est notre incertitude sur X réduite ensachant Y ?I(X,Y) mesure aussi la similitude entre X et YH(X /Y) est liée à l’existence d’une probabilité d’erreur detransmission. En généralisant cette notion, H(X/Y) est due àl’existence de bruit sur le canal et révèle le fait que celui-ci netransmet pas parfois l’information. H(X/Y) est en quelque sorteune mesure de la quantité d’information perdue.I(X,Y) devient ainsi la quantité d’information correcte transmisepar le canal.La capacité du canal doit s’entendre au sens de la capacité detransmission sans erreur.

11 / 48

Page 12: Rhouma Rhouma

Modèle : Canal Binaire symétrique

H(X/Y = yj) =m∑

i=1

p(xi/yj)log2(1

p(xi/yj))

H(X/Y ) =m∑

i=1

H(X/Y = yj)p(yj)

H(X ,Y ) = H(X ) + H(Y/X ) = H(Y ) + H(X/Y )

puisque p(xi , yj) = p(xi)p(yj/xi) = p(yj)p(xi/yj), donc

I(X ,Y ) = I(Y ,X )

=⇒ l’information mutuelle est symétrique ! La formule de I(X,Y) estdonné par :

I(X ,Y ) =∑i,j

p(xi , yj)log(p(xi , yj)

p(xi)p(yj))

Pour un canal binaire symétrique, l’information mutuelle est donnépar :

I(X ,Y ) = 1 + (1− p) · log(1− p) + p · log(p)12 / 48

Page 13: Rhouma Rhouma

Modèle : Canal Binaire symétrique

Puisqu’on a

I(X ,Y ) = 1 + (1− p) · log(1− p) + p · log(p) = 1− H(X )

1 si p = 0 ce qui veut dire pas d’erreur de transmission alors I(X ,Y ) = 1. Similitude parfaiteentre les deux sources, la transmission se passe bien. H(X ,Y ) = 1.

2 si p = 0.5, pagaille complète lors de la transmission. Dans ce cas I(X ,Y ) = 0, plus du toutde similitude entre les deux sources. Tout se passe comme si les deux sources étaientindépendantes.

3 si p = 1, à nouveau I(X ,Y ) = 1. Les deux sources sont à nouveau tout à fait semblables.Le fait qu’il y a dans ce cas permutation du "0" et du "1" n’ayant pas d’importance.

13 / 48

Page 14: Rhouma Rhouma

Capacité du canal et role du codage

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

14 / 48

Page 15: Rhouma Rhouma

Capacité du canal et role du codage

Capacité du canal

L’information mutuelle peut etre redefinie en utilisant lesprobabilités conditionnelles qui définissent le canal :

I(X ,Y ) =∑i,j

p(yj/xi) · p(xi) · log(p(yj/xi)

p(xi))

Les probabilités marginales {p(xi)} dépendent de la sourced’entrée et donc du système de codage de canal utilisé.Nous pouvons rechercher un système de codage qui rendemaximal cette quantité, c’est ce qui définit la capacité du canal :

C = maxp(xi ){I(X ,Y )} = max{H(X )− H(X/Y )}

Si la cadence du canal est d’un symbole toute les Tc secondes, ledébit maximum du canal sera C

Tcbit/s.

La capacité du canal doit s’entendre au sens de la capacité detransmission sans erreur.

15 / 48

Page 16: Rhouma Rhouma

Capacité du canal et role du codage

Role du codage canal

Pour que la transmission soit performante, il faut fournir au récepteur laquantité d’information manquante qui est H(X/Y ). Pour cela il estimaginé d’introduire une redondance dans l’information qui permettra dedétecter et de corriger les erreurs dues à la transmission.

Exemples simples :Ajouter un bit de parité et, en cas d’erreur à la réception, interrogerde nouveau l’émetteur.Transmettre l’information en trois exemplaires et, en cas dedésaccord, faire confiance à la majorité.

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 laquantité d’information perdue et donc d’augmenter la capacité du canal.Grâce à cette analyse, il est possible de mettre au point des méthodesde codage plus efficaces pour atteindre cet objectif.

un codage de canal performant est d’autant plus nécessaire que lecanal est bruité et perd de l’information.

16 / 48

Page 17: Rhouma Rhouma

Capacité du canal et role du codage

Théorème de Shannon

A mathematical theory of communication. Octobre 1948Soit un canal discret de capacité C et une source discrèted’entropie H.Puisque H(X/Y ) = H(X )− C

Theorème de shannon concernnat le codage canal1 Si H(X ) ≤ C, nous pouvons ajouter de l’information à H(X) par un

système de codage judicieux de manière à que l’information de lasource peut être transmise sur le canal avec une probabilitéd’erreur aussi petite que l’on veut.

2 Si H(X ) > C il y a de toute manière perte d’information et toutcodage mal effectué peut aller dans le sens de l’augmentation decette perte d’information.

17 / 48

Page 18: Rhouma Rhouma

Capacité du canal et role du codage

Transmettre de l’information sans erreur ?

Shannon a montré theoriquement qu’on peut transmettrel’information (bits) à un taux de codage (débit) R < C avec uneprobabilité d’erreur tres faibleIl a aussi montré que la transmission à un taux de codage (débit)R ≥ C va certainement incorporer des erreurs de transmissionsson secret : coder un bloc de k-bits en un mot de code de n-bits(avec n>k) pour réduire le débit R = k/nle fait de coder un message de k-bits en un mot de code de n-bitss’appelle le codage canal

18 / 48

Page 19: Rhouma Rhouma

Métriques

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

19 / 48

Page 20: Rhouma Rhouma

Métriques

Distance et poids de Hamming

Soit x = [x1x2 . . . xn] et y = [y1y2 . . . yn] deux msg de longueur n.

DéfinitionsLa distance de Hamming entre x et y est le nombre d(x , y) decomposantes où x et y diffèrent.Le poids de Hamming de x est le nombre w(x) de composantesnon nulles de x.

Ex : Si x = 10110 et y = 00101, alors d(x , y) = 3 et w(x) = 3 etw(y) = 2.

20 / 48

Page 21: Rhouma Rhouma

Métriques

Poids d’un code

Le poids Wi d’un mot de code Ci est par définition le nombre decaractères non nuls que contient ce mot.ex : 11001000 est de poids W=3ex : 10011010 est de poids W=400000000 est de poids nul

21 / 48

Page 22: Rhouma Rhouma

Métriques

Distance de Hamming

La distance de Hamming dij entre deux mots de code est lenombre de bits dont ils diffèrent.ex 11001000 et 10011010 ont une distance de 3.La distance minimale du code est le minimum de l’ensemble desdistances entre codes :

dmin = min{dij}la distance de Hamming entre un mot de code valide et erroné dee erreurs est esi on n’a pas de codage : les deux mots de codes "0" et "1" ontune distance egale à 1. donc une erreur change un code valide àun autre code valide !On peut montrer que dmin = min{Wi}

22 / 48

Page 23: Rhouma Rhouma

Métriques

Distance de hamming du code à répétitions

on veut coder de façon à que les mots de codes soient assezéloignés pour que les erreurs ne changent pas un code valide àun autre code valide !

23 / 48

Page 24: Rhouma Rhouma

Métriques

Code correcteur d’erreurs

DéfinitionUn code correcteur d’erreurs est une technique de codage basée surla redondance de l’information, destinée a détecter, voire corriger, leserreurs qui peuvent être générées par un canal de communication peufiable.

Le rôle du correcteur d’erreurs peut être limite à la simpledétection (et localisation ) d’erreurs.La correction s’effectue alors par une nouvelle requête detransmission du message, ou seulement des parties erronées. exTCP par sommes de contrôle (checksum) pour la vérificationCela peut se reveler insuffisant, ou inadaptée suivant le contexte(GSM par exemple)

24 / 48

Page 25: Rhouma Rhouma

Métriques

ex : code de parité

Supposons que l’on ait des mots de 7 bits à envoyer (code ASCIIpar exemple), et que l’on s’intéresse simplement à la détectiond’une erreur.Un moyen et de coder chacun des mots sur 8 bits, en ajoutant un8eme bit, appelé bit de parité, de telle sorte que dans tous lesmots le nombre de 1 soit pair.le message 1011001 est codé 10110010et le message 0110100 est codé 01101001permet de detecter un nb impair d’erreurne permet pas de localiser donc de corriger les erreurs détéctés

25 / 48

Page 26: Rhouma Rhouma

Métriques

Paramètres d’un code(n,k)

Codeur : Dispositif qui associe à une suite de k bits d’informationune suite de n bits.Code : Un code est un ensemble de mots de n bits.Distance minimale d’un code C :

dmin = min{d(x , y)/x , y ∈ C}

on peut montrer que

dmin = min{w(x)/x ∈ C et x 6=−→0 }

26 / 48

Page 27: Rhouma Rhouma

Pouvoir de détection et Pouvoir de Correction

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

27 / 48

Page 28: Rhouma Rhouma

Pouvoir de détection et Pouvoir de Correction

Distance de Hamming et pouvoir dedétection/correction

Messages de 4 bits : 16 messages possiblesLa distance de Hamming minimale dmin = 1Aucune erreur ne peut être détecté ou corrigé

On ne peut remarquer si une erreur s’est passée

28 / 48

Page 29: Rhouma Rhouma

Pouvoir de détection et Pouvoir de Correction

Distance de Hamming et pouvoir dedétection/correction

Messages de 4 bits + 1 bit de contrôle :16 codes possibles représenté par 5 bitsLa distance de Hamming minimale dmin = 2Une seule erreur peut être détectéeaucune erreur ne peut être corrigée

On sait qu’il y a une erreur mais on ne peut lalocaliser (corriger)

29 / 48

Page 30: Rhouma Rhouma

Pouvoir de détection et Pouvoir de Correction

Distance de Hamming et pouvoir dedétection/correction

Code de Hamming (7,4) : 4 bits de données + 3 bits decontrôle

La distance de Hamming minimale dmin = 3

Une seule erreur peut être détectée et corrigée

les erreurs doubles sont confondu avec les erreurssimples : on peut détecter 2 erreurs mais on ne corrigequ’une

30 / 48

Page 31: Rhouma Rhouma

Pouvoir de détection et Pouvoir de Correction

Pouvoir de détéction/pouvoir de correction

Nb max des erreurs détectables : eD = dmin − 1

tous les erreurs appartenant à une sphere sont corrigeables

tous les erreurs appartenant à l’intersection des spheres sont non corrigeables

Donc Nb max des erreurs corrigeables : eC = E [ 12 (dmin − 1)]

31 / 48

Page 32: Rhouma Rhouma

Codes de bloc Linéaires

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

32 / 48

Page 33: Rhouma Rhouma

Codes de bloc Linéaires

Algorithme de codage

Codes de bloc (n,k) : un bloc de n-bits notéC = b0b1bn−k−1m0m1 . . .mk−1 construit à partir d’un message de k-bitsnoté m = m0m1 . . .mk−1.

on peut note le code aussi comme code (n,k,d) avec d est la distance dehamming minimale.

b consitués par n-k bits redondants ou bits de parité. b = b0b1 . . . bn−k−1

linéaire : soit deux codes Ci et Cj alors Ci + Cj = Ck est un mot de code

le code "0" (les n bits à 0) est un mot de code dans chaque code (n,k).(parceque 1+1=0)

codage : C = m ×G

G est la matrice génératrice de taille (k × n). Le code est dit :Systématique : Si G = [P Ik ] avec Ik est l’identité de taille (k × k). Pest dite la matrice de parité de taille (k × n − k). Le code dans cecas est formé des bits de parité suivis par les bits de message.Non-systématique si G = [P M] avec M quelconque de taille(k × k).

33 / 48

Page 34: Rhouma Rhouma

Codes de bloc Linéaires

Exemple code (7,4)

Soit G =

1 0 1 1 0 0 01 1 1 0 1 0 01 1 0 0 0 1 00 1 1 0 0 0 1

donner les propriétés de ce code (n,k) ?donner toutes les possibilités du message mdonner les mots de codessi b0b1b2 sont les bits redondants du mot de code, donner leursformules en fonction des bits de message m0, m1, m2

34 / 48

Page 35: Rhouma Rhouma

Codes de bloc Linéaires

Détection des erreurs par syndrome

Matrice de contrôle :H = [In−k PT ]

avec In−k est l’identité de (n − k)× (n − k) et PT est la transposéde la matrice de parité POn peut vérifier facilement que G · HT = 0.

H de l’exemple précédent est : H =

1 0 0 1 1 1 00 1 0 0 1 1 10 0 1 1 1 0 1

35 / 48

Page 36: Rhouma Rhouma

Codes de bloc Linéaires

Syndrome

Pour chaque mot de code C :

C · HT = m ·G · HT = 0

si le mot de code est erroné, donc il s’écrit comme suit :Code reçu = Code emis + erreur =⇒ Y = C + EEn effectuant le controle à la reception :

S = Y · HT = C · HT + E · HT = E · HT

Le syndrome S ne depend que de l’erreur commise et non dumessage ou le mot de codeRemarque : Deux erreurs qui diffèrent d’un mot de code ontmême syndromece theorème nous indique qu’il y a ambiguïté lors de la détectiond’erreur

36 / 48

Page 37: Rhouma Rhouma

Codes de bloc Linéaires

Lien entre distance minimale et matrice de parité

soit M = C · HT

Chaque élément de la matrice M est une combinaison linéaire surune ligne j de tous les éléments des colonnes =⇒ M est unecombinaison linéaire des colonnes de la matrice H et cettecombinaison linéaire est nulle.les colonnes de H sont linéairement dépendantes.Le nombre de colonnes intervenant dans la combinaison estégale au nombre de "1" du code Cm ce qui est le poids deHamming du mot de code.La distance de Hamming du code étant le poids minimal de cecode =⇒ La distance minimale de Hamming dmin d’un code estégale au nombre minimal de colonnes de la matrice H dont lasomme est nulle.Le nombre de colonnes de H linéairement indépendantes estdmin − 1 et le rang maximal de cette matrice est n − k ce qui établila relation :

dmin ≤ n − k + 137 / 48

Page 38: Rhouma Rhouma

Codes de bloc Linéaires

Correction des erreurs et distance de Hamming(revisitée)

Si dmin est la distance de Hamming :détecter au plus t erreurs SSI dmin ≥ t + 1corriger au plus t erreurs SSI dmin ≥ 2t + 1Détecter au plus tD erreurs mais ne corriger qu’au plus tC erreursavec tC < tD SSI dmin ≥ tC + tD + 1

38 / 48

Page 39: Rhouma Rhouma

Codes de bloc Linéaires

Algorithme de Correction des erreurs par syndrome

1 Reception d’un mot de code Y.2 calcul du syndrome associe S = Y · HT .3 construction d’une table d’erreur/syndrome par S = E · HT

4 avec la table d’erreurs, calcul de l’erreur la plus vraisemblable E∗

associée au syndrome.5 calcul du mot de code le plus vraisemblable : C∗ = Y + E∗

6 Extraction du message X ∗ de C∗.

39 / 48

Page 40: Rhouma Rhouma

Codes de bloc Linéaires

exemple

Code(5,2) avec G =

(1 0 1 1 00 1 1 0 1

)H est donc donnée par H =

1 0 0 1 00 1 0 0 10 0 1 1 1

Le syndrome est donc de longueur 5− 2 = 3. On peut coder tousles erreurs simples (5) + le cas pas d’erreur. il reste deuxcombinaisons pour les erreurs doubles (2 = 2n−k − n − 1).

Syndrome Erreur commentaire000 00000 Pas d’erreur001 00100 Erreur ds le bit 2010 01000 Erreur ds le bit 1011 00001 Erreur ds le bit 4100 10000 Erreur ds le bit 0101 00010 Erreur ds le bit 3110 ? ?111 ? ?

40 / 48

Page 41: Rhouma Rhouma

Codes de bloc Linéaires

le syndrome 110 peut être associé à une erreur double du type (bit 0 + bit 1) soit 11000mais aussi à une erreur du type (bit 3 + bit 4) soit 00011. Il y a ici ambiguïté entre deuxerreurs doubles.

Pour le syndrome 001 associé à une erreur bit 2 il pourrait être associé à une erreur type (bit 1 +bit 4 ) mais ici l’ambiguïté est entre une seule erreur simple et d’autres erreursdoubles, triples,. . .

H a au plus trois colonnes linéairement indépendantes donc dmin = 3. donc eD = 2 eteC = 1

Si nous affectons la solution la plus vraisemblable, toutes les erreurs simples peuvent êtrecorrigées.

Les erreurs doubles, elles sont détectables mais nous pouvons soit les confondre entreelles, soit les confondre avec une erreur simple. Dans le second cas le maximum devraisemblance corrige comme une erreur simple (c’est effectivement ce qui a la plus forteprobabilité d’arriver ) et dans le premier elle tranche en faveur de la solution la plusprobable qui, pour un code donné est toujours la même.

Qu’arrive-t-il pour des erreurs triples ? Au sens du critère, elles sont toujourssystématiquement confondues soit avec une erreur simple soit une erreur double, ellessont de ce fait non détectables et par la même non corrigeables.

41 / 48

Page 42: Rhouma Rhouma

Codes de bloc Linéaires

soit m = [1 0].Le mot de code correspondant est

C = m ·G = [1 0] ·(

1 0 1 1 00 1 1 0 1

)= [1 0 1 1 0]

à la reception le bit n˚3 a été interprété par le récepteur d’unemanière fausse. Donc Y = [1 0 1 0 0]Le récepteur calcule le syndrome associé : S = Y · HT = [1 0 1]Par la table d’erreur Le recepteur fait correspondre le syndromecalculé et trouve l’erreur la plus vraisemblable E∗ = [0 0 0 1 0]Correction : C∗ = Y + E∗ = [1 0 1 0 0] + [0 0 0 1 0] = [1 0 1 1 0]extraction du message : les k dernier bits de C∗ qui sontm∗ = [1 0]remarquer que S = Y · HT = E∗ · HT = [1 0 1]

42 / 48

Page 43: Rhouma Rhouma

Codes de bloc Linéaires

exemple

Repeter la meme demarche pour erreur dans le bit n˚4

43 / 48

Page 44: Rhouma Rhouma

Codes de bloc Linéaires

exemple

erreur dans le bit n˚0 et 1 : Y = [0 1 1 1 0]Syndrome S = Y · HT = [1 1 0]d’apres la table ceci correspond à E∗ = [1 1 0 0 0] (ou [0 0 0 1 1]).si par ex le recepteur choisi la deuxième possibilité d’erreur.C∗ = Y + E∗ = [0 1 1 1 0] + [0 0 0 1 1] = [0 1 1 0 1]et donc m∗ = [0 1] qui est different du message originalavec ces exemple on voit que le code a un pouvoir de detectionqui ne peut le dépasser et a un pouvoir de correction qui ne peutle dépasser aussi

44 / 48

Page 45: Rhouma Rhouma

Code de Hamming

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

45 / 48

Page 46: Rhouma Rhouma

Code de Hamming

Les codes de Hamming sont des codes binaires qui ont lapropriété : (n, k ,dmin) = (2m − 1,2m − 1−m,3)ex code (7,4,3) ; code (15,11,3)La matrice de contrôle de Hamming H est de taille(n − k × n) = (m × 2m − 1). Une colonne est donc constituée dem éléments binaires et nous avons 2m − 1 colonnes c’est-à-diretoutes les combinaisons possibles moins une (la combinaison"000..." ). Ceci nous permet pour ces codes de construire trèsrapidement la matrice de contrôle H et d’en déduire la matrice degénération de code G.Commencer à remplir la matrice H en utilisant les combinaisonslinéaires de m bits faisant apparaître la matrice In−k . Complétercette matrice par les combinaisons de m bits non encore utiliséescode "0" exclu.

46 / 48

Page 47: Rhouma Rhouma

Code de Hadamard

Plan

1 Problématique

2 Modèle : Canal Binaire symétrique

3 Capacité du canal et role du codage

4 Métriques

5 Pouvoir de détection et Pouvoir de Correction

6 Codes de bloc Linéaires

7 Code de Hamming

8 Code de Hadamard

47 / 48

Page 48: Rhouma Rhouma

Code de Hadamard

Les codes de Hadamard sont constitués par des matrices, par

itération : M2n =

(Mn Mn

Mn Mn

)avec Mn est la matrice

complementaire de Mn

M2 =

(0 00 1

)

M4 =

0 0 0 00 1 0 10 0 1 10 1 1 0

Les Matrices Mn ou Mn contiennent dans leurs lignes ou colonnesles 2n mots de codes.La structure de la matrice permet donc de détecter les erreurs detransmissionsil est montré que dmin = n/2

48 / 48