Codes cycliques Hypothèse sur V = vocabulaire source

Slides:



Advertisements
Présentations similaires
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Sources discrètes & Entropie 3. Canaux discrets.
Advertisements

Décodage souple de l’image binaire des codes de Reed-Solomon
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.
SRT 2 NTP. Nécessité ● Les ordinateurs utilisent des horloges à quartz – Peu de précision – Tendance à dériver – Parfois plusieurs secondes par jour.
Géométrie Différentielle – Cubiques d'Hermite Introduction aux courbes paramétriques et à la géométrie différentielle.
L'image: Le codage des images BacPro SEN Lycée Condorcet.
 Qu’est ce qu’une matrice diagonale ? Une matrice diagonale est une matrice carrée dont les coefficients en dehors de la diagonale principale sont nuls.
Cours COMPOSANTES DES VECTEURS Dimitri Zuchowski et Marc-Élie Lapointe.
Codage et Protection contre les Erreurs M1/M2 ISV M2 IPS 2006/2007 Neilze Dorta UFR Mathématiques et Informatiques - Crip5.
Communication série Le matériel Concepts généraux
ARCHITECTURE RESEAUX.
Plan 1. La chaîne de transmission numérique
La spécialité math en TS
E-Prelude.com Importation de nomenclatures issues de divers logiciels de CAO… … via un fichier « neutre » de type EXCEL.
Outils de Recherche Opérationnelle en Génie MTH 8414
Architecture de machines Codage des informations
Représentation des nombres réels
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Entraînement et évaluation d’une méthode de régression
Algorithme et programmation
Systèmes numériques micro-onde
Séance 4 Expression écrite.
Dimitri Zuchowski et Marc-Élie Lapointe
Mathématiques Mise à niveau
Lois fondamentales de l'algèbre de Boole
Algorithmique demander jeu du pendu.
Fiche d'aide : Construire un tableau
Les Tableaux en JAVA.
Dimitri Zuchowski et Marc-Élie Lapointe
Processus traités : Z → uū gamma-jet
Régression linéaire (STT-2400)
Informatique quantique
Détection et correction des erreurs
Science du traitement rationnel de l'information
Vérification de l'architecture abstraite
L’OUTIL D’ANALYSE ET DE MANAGEMENT DE L’EQUIPE: LE TABLEAU DE BORD
Evaluation par les options réelles
Calcul Scientifique Initiation à SCILB
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
SDRP & MA Problème du rendez vous : un algorithme probabiliste et une analyse probabiliste 09/11/2018.
Kastagné Cédrick Chambreuil Maskime Giraudeau Damiheing
Cycle, Cocycle, Arbre et Arborescence
B.Shishedjiev - Informatique
Révision des systèmes LIT, convolution et série de Fourier
Épreuve écrite E4.1 BTS CG Session /02/2017.
Élections locales probabilistes
La Dualité et l’Analyse sensitive et post-optimale en PL
RELAIS de TRAMES FRAME RELAY
Une tentative de cryptanalyse
1/12 STABILITE Etude d’exemples.
Filière Génie Civil – 2018 Langage C Tableaux – Exercices de révision
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
Chapitre IV Protection contre les erreurs
Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques 1.
Des données numériques aux résultats de physique
Reconnaissance de formes: lettres/chiffres
chapitre 7 La colinéarité des vecteurs.
Construire et utiliser un banc de filtres
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Sera vu dans le prochain cours.
LE TORSEUR STATIQUE 1) Définition 2) Notation 3) Deux cas particuliers
Présentation des nouveaux programmes de mathématiques de première des séries technologiques Jessica Parsis.
ANALYSE FACTORIELLE DES CORRESPONDANCES
UMLV ã Plus courts chemins Toutes paires d'états
Les polynômes Expression algébrique composée de termes liés par des opérations d’addition ou de soustractions. (liés par + et -)
C’est une activité PERSONNELLE en temps limité
Elections locales probabilistes
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

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 Distance d’un code cyclique Code de Reed-Solomon

Hypothèse sur le vocabulaire V du canal V est un corps fini : soient a,b  V : e0, e1, a+b, -a, a*b, a/b  V Possible ssi |V| = pm avec p premier Soit q = pm : V est alors isomorphe à GFq Exemple: V= {0,1} ; V={mots de 32 bits} Implantation GFq isomorphe à (Z/pZ[x])/Q(x) avec Q polynôme irréductible de degré m à coefficients dans Z/pZ avec p= 2: facile registre à décalage !

Code linéaire G = V corps => Vn est un espace vectoriel Déf : code linéaire  sev de dim k de Vn l Si x=[x0, …, x n-1] C, y=[y0, …, y n-1] C => x+y =[x0+y0,…, x n-1+y n-1] C C est engendré par une matrice génératrice G C=Im(G) G = n lignes k colonnes

Exemple V = {a=00, b=01, c=10, d=11} Code (7,4) engendré par G 01 10

Décodage d’un code linéaire Il existe G génératrice = [Idk | A ] Codage( [s0, …, sk-1] ) =[c0,…, ck-1 , ck…, cn-1] [ck…, cn-1] = [s0, …, sk-1].A = [c0, …, ck-1].A Donc: [c0, …, ck-1].A - [ck…, cn-1].Idn-k = 0 Soit [-At | Idn-k ].ct = H .ct = 0 H = Matrice de contrôle : (n-k, n)

Détection d’erreurs On émet x et on reçoit y; y est un mot de code H.yt = 0 Syndrome d’erreur : s = H .yt s  0 => il y eu erreur de transmission

Correction d’erreurs Corriger trouver x=y-c Or: s = H .yt = H.yt - H.ct = H.xt Le syndrome donne toute l’info pour corriger x non unique : pour chaque s on choisit le xs de poids minimal, stocké dans un tableau Cor[s]= xs Ex: V= {0,1}, n=64 k=52 : 264 erreurs possibles mais tableau de taille seulement 212=4096

Distance d’un code linéaire d = Min { dH( x , y) ;  x,y  C } = Min { wH(x - y) ;  x,y  C } = Min { wH( z ) ;  z  C } Borne de singleton : d  n-k+1 Prop: d = nbre minimal de cols indép. de H  k colonnes quelconques de H sont indépendantes

Bon codes Facile et efficace à implémenter Codes cycliques Etant donné un taux de correction, pouvoir facilement construire un code (n,k,d) qui donne ce taux de correction: Codes de Reed-Solomon

Codes cycliques Décalage : ( [c0…, cn-1] ) = [cn-1,c0…, cn-2] Déf: Code cyclique  code linéaire stable par  Description simple, de coût O(n-k=r): Un code (n,k) est engendré par un mot de code m=[c0 , …, cn-k-1 , cn-k=1, 0 …, 0] Ex: code binaire (7,4) engendré{1011000}

Caractérisation Mot de code  polynôme de V[X] [c0 , …, cn-1 ]  Pc = i=0 n-1 ci.Xi (c) associé au polynôme : X. Pc mod Xn –1 m=[c0 , …, ck-2 , ck-1=1, 0 …, 0] associé à un polynôme: g(X) = i=0 k-1 ci.Xi Prop. g est un diviseur unitaire de Xn –1de degré r

Codage/décodage code cyclique Codage : P[a.G] = g(X).Pa mod Xn –1 Tout mot de code est un multiple de g mod Xn –1 Tout multiple de g mod Xn –1 est un mot de code Détection : on reçoit y = Py Si Py n’est pas multiple de g mod Xn –1 => erreur Syndrome d’erreur: Pe = Py mod g Correction: à partir du syndrome (algorithme de Meggitt)

Distance minimale d’un code cyclique Théorème BCH ( n premier avec q) Soit  racine primitive de Xn –1 dans GF(q) Soit g = iS (X – i) Si il existe a entier tq {a+1, a+2, …, a+s} S d( C )  s+1 C est au moins s-détecteur et [s/2]-correcteur

Codes de Reed-Solomon q = 2m n = 2m - 1 Xn-1x= aGF(q)* (X – a) Il suffit de prendre  générateur de GF(q)* et g = i=s. s+r-1 (X – i) de degré r Code cyclique (n=k+r, k, r+1) Optimal, car atteint la borne de Singleton Ex. Galileo : RS(255,233) sur V={octets}