Plan. Codes Correcteurs d Erreurs Cours 2 : + Codage-Decodage de codes linéaires en blocs + Borne de Hamming (codes parfaits) Tableau standard

Documents pareils
Théorie et codage de l information

Une introduction aux codes correcteurs quantiques

Conversion d un entier. Méthode par soustraction

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Transmission d informations sur le réseau électrique

Université de La Rochelle. Réseaux TD n 6

Programmation linéaire

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Limitations of the Playstation 3 for High Performance Cluster Computing

Introduction à l étude des Corps Finis

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Représentation d un entier en base b

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Les opérations binaires

VIII- Circuits séquentiels. Mémoires

ASR1 TD7 : Un microprocesseur RISC 16 bits

Interception des signaux issus de communications MIMO

Fonctions de plusieurs variables

Représentation des Nombres

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Projet Matlab : un logiciel de cryptage

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Expérience 3 Formats de signalisation binaire

Bases de données documentaires et distribuées Cours NFE04

document proposé sur le site «Sciences Physiques en BTS» : BTS AVA 2015

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

CORRIGES DES CAS TRANSVERSAUX. Corrigés des cas : Emprunts

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

Chapitre 2 Les ondes progressives périodiques

Chapitre 2 : communications numériques.

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

IFT1215 Introduction aux systèmes informatiques

Chaine de transmission

TD 1 - Transmission en bande de passe

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Résolution de systèmes linéaires par des méthodes directes

Système binaire. Algèbre booléenne

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

2.4 Représentation graphique, tableau de Karnaugh

Systèmes de transmission

Gestion de gros fichiers binaires (images) en APL*PLUS III

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Signalisation, codage, contrôle d'erreurs

I. TRANSMISSION DE DONNEES

IFT2880 Organisation des ordinateurs et systèmes

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

«Cours Statistique et logiciel R»

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

ISO/CEI NORME INTERNATIONALE

Problème 1 : applications du plan affine

Algorithmique et programmation : les bases (VBA) Corrigé

CCP PSI Mathématiques 1 : un corrigé

Architecture matérielle des systèmes informatiques

L exclusion mutuelle distribuée

Informatique Générale

Cours Informatique 1. Monsieur SADOUNI Salheddine

DM 1 : Montre Autoquartz ETA

Algorithmes pour la planification de mouvements en robotique non-holonome

Communications numériques

Etude des propriétés empiriques du lasso par simulations

CHAPITRE VIII : Les circuits avec résistances ohmiques

Se Perfectionner à Excel

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

PRECISION - REJET DE PERTURBATIONS T.D. G.E.I.I.

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

ELP 304 : Électronique Numérique. Cours 1 Introduction

Programmation linéaire

Analyse des Systèmes Asservis

Systèmes de communications numériques 2

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Algèbre binaire et Circuits logiques ( )

Chapitre 7. Récurrences


Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Cours d Analyse. Fonctions de plusieurs variables

Exercices Corrigés Premières notions sur les espaces vectoriels

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Université Montpellier II Sciences et Techniques du Languedoc MÉMOIRE DE STAGE DE MASTER M2

module Introduction aux réseaux DHCP et codage Polytech / 5

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

LES DONNÉES CLIENTS APPLIQUÉES À LA MOBILITÉ : ENJEUX, ÉVOLUTIONS ET ACTIONS

Le concept cellulaire

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Conservation des documents numériques

Transcription:

Plan Codes Correcteurs d Erreurs Cours 2 : + Codage-Decodage de codes linéaires en blocs + (codes parfaits) 1 2 November 12, 2008 Proposition de procédure de décodage pour trouver le mot de code c le plus proche d un mot y réçut bruité y = c + e. Vecteur d erreur Le vecteur d erreur e {0, 1} n est produit par un BSC (canal binaire symétrique). Le BSC est un modèle des erreurs survenant sur un canal. On fait donc une hypothèse particulière en choisisant un BSC. On supposera que la probabilité d erreur p est tel que p < 1/2. Un tableau standard pour un code linéaire [n, k, d min ] est une table listant tous les vecteurs y pouvant être reçu (après transmission d un mot de code). Le tableau est construit pour pouvoir lire pour chaque vecteur y le plus proche mot de code c. Figure: Canal binaire symétrique

Syndrome Soit c i, un des 2 k mots de code du code [n, k, d min ]. Soit e i, un des 2 n k 1 vecteurs erreur. erreur mot de code c 0 = 0 c 1... c 2 k 1 e 0 = 0 c 0 + e 0 = 0 c 1 + e 0 = c 1... c 2 k 1 + e 0 = c 2 k 1 e 1 c 0 + e 1 = e 1 c 1 + e 1... c 2 k 1 + e 1............... e 2 n k 1 c 0 + e 2 n k 1 = e 1 c 1 + e 2 n k 1... c 2 k 1 + e 2 n k 1 Syndrome Pour un code C, le syndrome d un mot y F n 2 (vecteur reçu après transmission) est : s = y.h t avec H la matrice de vérification de parité (matrice de contrôle) du code C. Si un mot de code c C est transmis sur un canal BSC et que le vecteur y = c + e est reçu, le syndrome est : s = yh t = (c + e)h t = eh t car ch t = 0. Procédure de construction automatique du tableau standard bits d information u 0 u 1... u 2 k 1 syndrome erreur mot de code s i c 0 = 0 c 1... c 2 k 1 0 e 0 = 0 c 0 + e 0 = 0 c 1 + e 0 = c 1... c 2 k 1 + e 0 = c 2 k 1 s 1 e 1 c 0 + e 1 = e 1 c 1 + e 1... c 2 k 1 + e 1.................. s 2 n k 1 e 2 n k 1 c 0 + e 2 n k 1 = e 1 c 1 + e 2 n k 1... c 2 k 1 + e 2 n k 1 remplir la ligne listant l ensemble des mots d information et caculer la ligne des mots de code associés (via la matrice G). remplir la première ligne correspondant à une erreur nulle (recopie de la ligne précédente). génération des lignes : déterminer un vecteur erreur de poids le plus petit e i F n 2 et n appartenant pas aux lignes précédentes. en déduire le syndrome associé s i = e i H t remplir la ligne pour ce vecteur erreur (première ligne + erreur e i ) répéter jusqu à avoir rempli 2 n k lignes.

Illustration du tableau standard pour le code linéaire [4,2,2] Illustration du tableau standard pour le code linéaire [4,2,2] Rappel : La sous-matrice de vérification de parité du code linéaire systématique [4,2,2] vaut : ( ) 1 1 P = 1 0 syndrome bits d information 00 01 10 11 00......................................................... CORRECTION Exercice : REMPLIR LE TABLEAU... Illustration du tableau standard pour le code linéaire [4,2,2] Quelque définitions et remarques Coset (classe) de C CORRECTION Chaque ligne est ce que l on appelle un coset (classe) et correspond à l ensemble des mots de code ayant subi la même erreur : Row i = {c + e i c C} Un coset (classe) est également l ensemble des mots ayant le même syndrome. chef de coset (chef de classe) Le leader du coset est le vecteur e i.

Procédure de décodage Exemple de correction du code linéaire [4,2,2] Soit c i C le mot de code émis et y i = c i + e i le mot reçu. calculer le syndrome s i = y i H t, chercher dans le tableau standard le syndrome s i et lire l erreur e i associée dans la colonne suivante, calculer le mot de code corrigé ĉ = y i e i = y i + e i. Occupation mémoire du tableau Il n y a besoin que de deux colonnes : la colonne du syndrome de taille 2 n k cases de n k bits. la colonne des erreurs de taille 2 n k cases de n bits. Supposons que le mot de code c = (0110) soit transmis et que le mot reçu soit y = (0010). Le syndrome est : s = yh t = (0010) 1 1 1 0 1 0 0 1 = (10). À partir du tableau standard, on trouve que le leader du coset (l erreur) est e = (0100) et nous estimons alors que le mot de code transmis est ĉ = y + e = (0010) + (0100) = (0110). d min = 2, donc la capacité de correction est de 0 erreurs... Ce code est appelé code linéaire à protection inégale. Résumé d un décodeur à décision dure pour les codes linéaires Plan c C un code émis, y = c + e un code bruité reçu, calcul du syndrome s = yh t, À partir du syndrome, estimation du vecteur erreur e, Soustraction (ou addition modulo 2 dans le cas binaire) de l erreur au mot reçu. Le mot corrigé est alors dans le cas binaire ĉ = y + e. 1 2

Exercice : Réflexion sur les codes Correction Créer un code [5,3,.] linéaire? Pour cela, on donnera la matrice G telle que : la matrice G soit sous forme systématique. Donner ensuite sa distance minimum, sa capacité de détection et de correction. Le mot y = (00001) est-il un mot de code? Dans le cas ou 1 seul bit a été erroné lors de la transmission, quels peuvent être les mots de code qui ont mené au mot y? Enfin donner un tableau de décodage (protection inégale). Correction Correction

Résumé Plan On a construit un code à bon rendement (3/5 = 0.6) mais il a une distance d min insuffisante (d min = 2); il a donc un pouvoir détecteur d erreur nul. Pour construire un code linéaire en bloc, on fait appel à l algèbre linéaire. Regardons maintenant les codes linéaires en blocs parfaits qui ont la propriété de couvrir équitablement l espace F n et permettent facilement de déterminer des codes à distance minimale 3. 1 2 Région de décodage Région de décodage Une colonne du tableau standard contient un mot de code c i et 2 n k 1 mots plus proche de c i que de n importe quel autre mot de code. Une colonne correspond à une région de décodage autour d un mot de code c i : Col j = {c i + e j e j = l ensemble des chefs de coset} Pour un code binaire linéaire C[n, k, d min ] et donc une capacité de correction du code t = (d min 1)/2, la sphère de Hamming S t (c j ) est contenue dans la région de décodage Col j et donc S t (c j ) Col j. La taille (nombre de mots) d une région de décodage Col j est 2 n k.

Le nombre de vecteurs erreur différents de taille n, de poids de Hamming 1 vaut la combinaison Cn 1 = ( ) n 1 Le nombre de vecteurs erreur différents de taille n, de poids de Hamming 2 vaut Cn 2 = ( ) n 2... Le nombre de vecteurs erreur différents de taille n, de poids de Hamming t vaut Cn t = n! t!(n t)! = ( ) n t Nombre de sphères de rayon 0 jusqu à t Pour un code linéaire [n, k, d m in], et donc une capacité de correction du code t = (d min 1)/2, le nombre de vecteurs erreur différents de poids 0 jusqu à t est : t ( ) n i i=0 Pour un code linéaire [n, k, d min ], et donc une capacité de correction du code t = (d min 1)/2, puisque l ensemble des mots y résultant de la perturbation d un mot de code c i par des erreurs de poids inférieur ou égal à t est inclus dans la région de décodage Col i de ce mot de code c i, on a : Une interprétation t i=0 ( ) n 2 n k i Le nombre de syndrome, 2 n k, doit être plus grand ou égal au nombre d erreurs corrigeables t ( n ) i=0 i 2 n k Exercice Code parfait Un code est dit code parfait lorsque t i=0 ( n i ) = 2 n k c est à dire lorsque les sphères de Hamming couvrent parfaitement l espace F n 2. Le code binaire à répétition [3, 1, 3] est un code parfait (cf. figure ou regarder le tableau standard ou faire le calcul). Le code à répétition C[3,1, 3] est-il parfait? Le code C[4,2,2] est-il parfait? Le code C[7,4,3] est-il parfait?

Correction Remarque sur les codes parfaits Les seuls codes parfaits binaires sont : Le code à répétition C[3,1, 3]. Les codes de Hamming, Le code de Golay G 23.