Théorie dinformation ELG3575 Introduction aux systèmes de télécommunication.

Slides:



Advertisements
Présentations similaires
de l’algorithme de Viterbi
Advertisements

Chapitre IV Protection contre les erreurs
Chapitre IV Protection contre les erreurs
L’électronique numérique
Architecture de machines Codage des informations
t(s) U(v) CAN temps ,4v
t(s) U(v) CAN temps ,4v
Classification et prédiction
Classification et prédiction
a CODAGE DE HUFFMAN 0.40 Objectif : coder les lettres
GEF 435 Principes des systèmes d’exploitation
ASR4 - Mars 2006Notions de codes1 Détection et correction derreurs… … au sein de la couche 2 : liaison de données.
Le codage de l ’information
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Sources discrètes & Entropie 3. Canaux discrets.
1 cours réseaux chapitre 3 la couche liaison. 2 La couche liaison Objectifs, la détection et la correction d'erreurs, le contrôle de flux, les protocoles.
Présentation Unité de codage
Transmission fiable et codes correcteurs
Cours du 20 septembre Exceptionnellement, le cours prévu pour le mercredi 20 septembre se donnera Mardi le 19 septembre de 13h30 à 15h20 à la salle 1112.
Le binaire L’historique.
TP math-G-101.
Mission X Superfli Emily Roberts Cette présentation sera écrit en français avec sous-titres anglais violet de couleur. This presentation will be written.
Chapitre 2: Les régularités et les relations
Révision des systèmes LIT, convolution et série de Fourier
Des autres choses à considérer….. Ce nest pas trop compliqué !
Rappel... Opérations élémentaires sur les matrices:
1.2 COMPOSANTES DES VECTEURS
Nature, numération, code
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
TRANSMISSION DES DONNEES.
Le codage des nombres en informatique
Fonction COMMUNIQUER les liaisons série
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Codage convolutif Les codeurs convolutifs génèrent un mot de code de longueur n à partir de plusieurs messages de longueurs k. La valeur du mot de code.
Implémentation analogique de décodeurs correcteurs d’erreurs
Arithmétique des “computers”
Espaces vectoriels Montage préparé par : S André Ross
Bascules RS ou SR.
La corrélation et la régression multiple
Chapitre 3: Les équations et les inéquations
5.1 SYSTÈME DÉQUATIONS LINÉAIRES Cours 13. Au dernier cours nous avons vus Léquations vectoriel et léquation normale dun plan. Lintersection de deux plans.
Michael Esfeld Université de Lausanne
La théorie de la communication de C. Shannon
l’algorithme du simplexe
Cours du 25 octobre Mardi le 24 octobre
Arithmétique Modulaire
Rappel... Valeurs propres et vecteurs propres. Définitions;
Représentation binaire de nombres entiers et opérations arithmétiques de base Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Représentation et opérations.
Vers un nouvel empirisme: l’ancien et le nouvel empirisme John Goldsmith Université de Chicago CNRS MoDyCo.
Look at the following sentences and tell me if they are in the past or the present tense 1. I go to the swimming pool every Thursday. 1. I go to the swimming.
Le codage des nombres binaires
Cours n° 2 Liaison de données et trames
Codage des nombres en informatique : le système binaire.
REPRESENTATION DE L’INFORMATION
Le passé composé The perfect tense Eg: J’ai mangé une pizza I have eaten/ate a pizza.
Quelle force que celle de s’accepter comme on est !
Décodage souple de l’image binaire des codes de Reed-Solomon
1 INFOR 101 Chapitre 4 Marianne Morris. 2 Révision de chapitre 3 Algorithmes Sequential Search Selection Sort Binary Search Ordre de magnitude  (n) Mesurer.
French 101 Important Verbs. The most important French verbs – avoir (to have), être (to be), and faire (to do/make) They are used in some of the ways.
Aujourd’hui c’est mardi vingt-cinq février
Codes cycliques Hypothèse sur V = vocabulaire source Code linéaire - caractérisation Codage et décodage d’un code linéaire Code cyclique – caractérisation.
Les pronoms objets Mme Zakus. Les pronoms objets When dealing with sentences, subjects are part of the action of the verb. In other words, they “ do ”
Irregular Adjectives Not all adjectives are made the same.
Codage de l’information
Chapitre 4b La représentation des nombres.
Pierre Joli Cours de Mathématique Pierre Joli
A. Lebrun. La base 2 Un nombre peut se représenter en base deux par une suite de 0 ou de 1. Chaque bit a un poids qui dépend de son rang Le format n impose.
AVOIR Quick review of the conjugation of the verb AVOIR  J’ai  tu as  Il/elle a  Nous avons  Vous avez  Ils/ells ont.
Département Informatique Codage de l’information Laurent JEANPIERRE IUT de CAEN – Campus 3.
Psychologie sociale de la communication
Transcription de la présentation:

Théorie dinformation ELG3575 Introduction aux systèmes de télécommunication

Théorie dinformation Information est une quantité quon peut mésurer. On peut déterminer les limites dinformation quon peut transmettre sur un lien. Théorie dinformation est con çu par Claude Shannon en Encodage Huffmann pour lencodage efficace de la sortie dune source. Codes correcteur derreurs pour la correction des erreurs qui arrivent en communication.

Montant dinformation dun message Il y a une source qui, à chaque instant de signalisation, émet un message qui vient dun ensemble de messages {m 1, m 2, …, m N }. Supposons que la source na pas de memoire, cest-à- dire que lémission de messages futurs ne depend pas des messages qui ont été émis dans le passé. Chaque message a une probabilité de transmission {p(m 1 ), p(m 2 ), … p(m N )}. Le montant dinformation de chaque message dépend de sa probabilité de transmission. –Exemple: m 1 = il fait beau, m 2 = il y a une tornade. –SI LA PROBABILITÉ DÉMISSION EST FAIBLE, LE MESSAGE CONTIENT BEAUCOUP DINFORMATION!!!

Montant dinformation Ici p(m 1 )>p(m 2 ) mais I(m 1 )<I(m 2 ). Supposons que m 3 = m 1 m 2. Si on suppose que la source na pas de memoire, p(m 3 ) = p(m 1 )p(m 2 ), mais cest claire que I(m 3 ) = I(m 1 )+I(m 2 ). Alors I(m i ) = log b (1/p(m i )) = -log b (p(m i )). b = 2, I(m i ) (bits) b = 3, I(m i ) ( symbôles ternaires) b = e, I(m i ) (nats) b =10, I(m i ) (Hartleys)

Exemple M = {m 1, m 2, m 3, m 4 } avec P = {0.35, 0.11, 0.45, 0.09} I(m 1 ) = 1.51 bits I(m 2 ) = 3.18 bits I(m 3 ) = 1.15 bits I(m 4 ) = 3.47 bits La probabilité que la source émet le message m 1 suivit par m 2 est 0.35×0.11 = Linformation dans cette séquence de messages est –log 2 (0.0385) = 4.69 bits =

Entropie de la source Lentropie de la source, H(M), est la valeur moyenne dinformation par transmission.

Exemple M = {m 1, m 2, m 3, m 4 } et P = {0.35, 0.11, 0.45, 0.09} I(m 1 ) = 1.51 bits I(m 2 ) = 3.18 bits I(m 3 ) = 1.15 bits I(m 4 ) = 3.47 bits H(M) = 0.35(1.51)+0.11(3.18)+0.45(1.15)+0.09(3.47) = 1.71 bits/message.

Encodage de source Prenons lexemple precedant. H(M) = 1.71 bits/message. Encodons les messages: m 1 = 00, m 2 = 01, m 3 = 10 et m 4 = 11, la longueur de chaque message 2 bits. L = longueur moyenne. On peut démontrer que H(M) L. Maintenant utilisons ce code: m 1 = 01, m 2 = 000, m 3 = 1 and m 4 = 001. L = 0.45(1)+0.35(2)+0.11(3)+0.09(3) = 1.75 bits/message. Exemple: = m 1, m 1, m 1, m 2, m 1, m 4, m 4, m 4, m 4, m 3 : uniquement décodable

Encodage de source Prenons ce code: m 1 = 10, m 2 = 100, m 3 = 1 and m 4 = 010. L = 0.45(1)+0.35(2)+0.11(3)+0.09(3) = 1.75 bits/message. Exemple: 1010 = m 1, m 1, ou m 3, m 4. ce nest pas uniquement décodable. Un code à longueur variable est uniquement décodable sil est un code à préfixe conditionné. Efficacité de lencodeur est H(M)/L. (dans notre exemple eff = 1.71/1.75 =

Codes Huffmann Lalgorithme Huffmann permet de concevoir des codes à préfixe conditionné.

m3m1m2m4m3m1m2m

m3m1m2m4m3m1m2m m 3 = 1, m 1 = 01, m 2 = 001 m 4 = 000.

Codes correcteur derreurs Code bloc –Linéaire Hamming, LDPC –Non-Linéaire –Cyclic BCH, RS Codes Convolutionnelles Codes Turbo

Bits de parité Supposons quon veut transmettre le message m=[ ]. Supposons que le deuxième bit est décodé en erreur, r = [ ]. Le récepteur ne peut pas déterminer que r est en erreur. Supposons, quavant la transmission, on ajoute un bit de parité paire au message m c = [ ]. Maintenant, supposons que le deuxième bit est reçu en erreur, r = [ ]. Il y a maintenant 5 1s, ce qui nest pas permis. Alors un erreur est détecté et le récepteur peut demander une nouvelle transmission. La détection de cet erreur est possible en ajoutant le bit de parité.

Codes Blocs Les données sont regroupés en groupes de k bits. Chaque « bloc » de k bits est encodé. Lencodage produit un nouveau bloc de n bits où n>k. Encodage produit de la redondance dans le message à transmettre. Le taux du code est is r = k/n. encodeur mc

Addition et multiplication binaire 0+0 = 0, 0+1 = 1, 1+0 = 1 et 1+1=0 (il ny a pas de retenu). 0x = 0 où x = 0 ou 1. 1x = x où x = 0 ou 1. Exemples = (10010) = (00000).

Codes Blocs Linéaires Soit C est un code qui consiste de lensemble des vecteurs {c 0, c 1, … c M } où M = 2 k -1. C est un code linéaire si pour c i et c j en C, c i +c j est aussi en C. Exemple C = {c 0 = 0000, c 1 = 0110, c 2 = 1001, c 3 = 1111}. c 0 +c x = c x for x = 0, 1, 2 ou 3. c x +c x = c 0. c 1 +c 2 = c 3, c 2 +c 3 = c 1, c 1 +c 3 = c 2. C est linéaire. C 2 = {c 0 = 0001, c 1 = 0111, c 2 = 1000, c 3 = 1110}. c x +c x = 0000 qui nest pas en C 2. C 2 nest pas linéaire.

Poids Hamming Pour un mot de code c x du code C, son poids Hamming égal le nombre delements en c x qui ne sont pas 0. C = { } H.W{0000} = 0 H.W{0110} = 2 H.W{1001} = 2 H.W{1111} = 4

Distance Hamming La distance Hamming entre deux mots de codes c i et c j du code C égal le nombre de position où les deux mots se diffèrent c i +c j = 0 dans les positions où ils sont pareils et c i +c j = 1 dans les positions où ils se diffèrent. Donc HD{c i, c j } = HW{c i +c j }.

Distance minimum dun code bloc linéaire Dans lexemple précédant, d min = 2. Nous avons vu que HD{c i,c j } = HW{c i +c j } = HW{c x } où, dans le cas des codes blocs linéaires, c x est un autre mot de code en C excluant le mot de code entièrement zéro. –Donc, d min = poids Hamming minimum du code C en excluant le mot de code entièrement zéro. Dans notre exemple, en excluant 0000, les autres mots de code sont 0110, 1001 et Le poids Hamming minimum de ces trois mots de code est 2. Donc d min = 2.

Base dun code bloc C est un code bloc linéaire Choissisons k mots de codes indépendants, c 1, c 2, …, c k. Aucun de ces mots de code peut être exprimé comme une combinaison linéaire des autres. Tous les 2 k mots de codes en C peuvent être exprimés comme une combinaison linéaire de ces k mots de codes. –On dit que ces k mots de code forment la base du code C. c x = a 1 c 1 +a 2 c 2 +a 3 c 3 +…+a k c k où a i = 0 ou 1 Pour notre code on peut choisir comme base 0110 et 1111, ou 0110 et 1001 ou 1001 et exemple, prenons c 1 = 0110 et c 2 = 1111 comme la base du code. –0000 = 0c 1 +0c 2, 0110 = 1c 1 +0c 2, 1001 = 1c 1 +1c 2 et 1111 = 0c 1 +1c 2.

Matrice génératrice Exemple Les dimensions de la matrice G sont k×n.

Codes équivalents Les codes générés par G 1 et G 2 sont équivalents si les matrices génèrent les mêmes mots de codes (cependant les messages correspondants sont différents). Exemple m

Codes systématiques Un code est systématique si les bits du message se retrouvent au début des mots de codes. c = [m|p]. G syst = [I k |P]. Exemple m

Code systématique équivalent Pour nimporte quel code, on peut trouver la matrice génératrice de son code systématique équivalent par transformation linéaire. –Exemple au tableau. Lecture 6

Matrice de vérification de parité La matrice de vérification de parité H pour un code a la propriété cH T = 0, où c est nimporte quel mot de code du code C. On peut écrire cH T = 0 comme mGH T = 0 Donc GH T = 0. On peut trouver H à partir da la matrice G syst. H= [P T |I n-k ]. Les dimensions de H sont (n-k)×n.

Exemple: Code Hamming (7,4) Trouvez tous ses mots de codes ainsi que d min, et trouvez H. Solution au tableau.

Decodage Le mot reçu, r = c+e, où e = vecteur derreur. Par exemple, si c = ( ) et r = ( ), donc e = ( ). En supposant que les erreurs de détection arrivent avec p < 0.5 –Dans le cas où le mot reçu contient des erreurs, le vecteur derreur le plus probable est celui avec le poids le plus faible.

Exemple C = {(00000) (01011) (10110) (11101)} r = (11111) –Si c = (00000), alors e = (11111) qui arrive avec probabilité p 5. –Si c = (01011), alors e = (10100) qui arrive avec probabilité p 2 (1-p) 3. –Si c = (10110), alors e = (01001) qui arrive avec probabilité p 2 (1-p) 3. –Si c = (11101), alors e = (00010) qui arrive avec probabilité p(1-p) 4 > p 2 (1-p) 3 > p 5. Donc le décodeur choisit c = (11101) comme le mot de code le plus probable et sa sortie est le message qui corréspond à ce mot de code.

Decodage par tableau standard Tableau qui donne la mise en corréspondance entre les mots reçus et le de code les plus probable

Comment construire le tableau standard Faites une liste de tous les mots possibles. Enlever de la liste les mots de codes et les placer dans la première rangée avec le mot entièrement zéro à la gauche. Prendre le mot avec le poids le plus faible et mettre dans la colonne sous le mot entièrement zéro. Additionner ce vecteur aux autres mots de code et placer le resultat sous ce mot de code. –Enlever tous ces résultats de la liste. Répeter jusquà la fin de la liste de mots.

Decodage par syndrome S = rH T. r=c+e, therefore S = (c+e)H T = cH T + eH T = eH T. Tous les vecteurs dans la même rangée du tableau standard produit le même syndrome. Syndrome indique le vecteur derreur le plus probable et on produit c par c = r+e.

Exemple Pour ce code:

Exemple Supposons r = (01001), alors Ceci indique que le 4 e bit est en erreur: e = (00010) donc c = (01011).

Capacité de correction ou détection derreur t = tous les vecteur derreur de poids t ou moins peuvent être corrigés. J = tous les vecteur derreur de poids J ou mons peuvent être détectés. t = (d min -1)/2 (d min est impaire) or (d min -2)/2 (d min est paire). J = d min -1 Parfois on crée des codes qui tente de corriger les erreurs de poids t ou moins mais est capable de détecter des erreurs de poids supérieur à t: t+J = d min -1 où J > t. –Exemple un code qui corrige 2 erreurs mais détecte 4 erreurs doit avoir d min = 7 (ou plus).

Performance: Decoder Failure Probability of decoder failure = probability that decoder selects the incorrect codeword = probability that error pattern is not one of the error patterns that it can correct –In our example, the decoder can correct all 5 error patterns of weight 1 and 2 error patterns of weight two. The probability that the error pattern IS one of these is (1-p) 5 +5p(1-p) 4 + 2p 2 (1-p) 3. Therefore P(E) = 1- (1-p) 5 -5p(1-p) 4 - 2p 2 (1-p) 3 –In many cases, the code has too many codewords to construct a standard array. –But we usually know d min, therefore we know t.

Performance: Decoder Failure

Performance: Bit Error Rate (1/k)P(E) < P b < P(E)

Performance: Probability Undetected Error P(U) = probability that an error is undetected = probability that syndrome = 0 even if error pattern is not 0 = probability that error pattern is same as a codeword. In our example P(U) = 2p 3 (1-p) 2 + p 4 (1-p). If we dont know the codewords because code is too large, then P(U) < probability error pattern has weight greater than j = 1 – probability that error pattern has weight j or less