Comparaison de l efficacité de codes correcteurs d erreurs
|
|
- Marin Boudreau
- il y a 8 ans
- Total affichages :
Transcription
1 Comparaison de l efficacité de codes correcteurs d erreurs Antoine Taveneaux, antoinetav@yahoo.fr 2 juin 2007 Sommaire 1 Généralités sur les codes correcteurs Principe général Notion de distance Paramètres d un code Premiers exemples Les codes de Reed-Solomon Présentation générale Le codage Le décodage Remarque sur le coût des algorithmes Les codes CIRC L entrelacement avec retard Le codage CIRC Le décodage Avantages de ces codes Comparaison des codes Présentation des tests effectués Tableaux comparatifs Analyse des tests Conclusion 10 Références 11 Annexe 1 : construction et implémentation de F 2 k Construction de F 2 k Recherche du polynôme irréductible de degré r dans F Implémentation de F 2 k Annexe 2 : illustrations des tests 14 1
2 Introduction Lors de l acheminement ou du stockage de données, des erreurs peuvent survenir. Dans notre société, où la diffusion de l information est devenue essentielle, il est crucial de pouvoir corriger ces erreurs : c est le rôle des codes correcteurs. Il en existe plusieurs types, que nous allons étudier en détail (sans pour autant toujours présenter d algorithme explicite). Nous comparerons enfin leur efficacité, tant en termes de correction d erreurs qu en vitesse d exécution. 1 Généralités sur les codes correcteurs 1.1 Principe général Le codage consiste à disposer d une fonction de codage ψ, injective mais non surjective, qui transforme un message d entrée m en ψ(m) : un message plus long qui sera transmis à la place de m. Le canal peut brouiller le signal (c est-à-dire que certains bits de ψ(m) peuvent être changés). Puis, on reçoit le message m r. L opération de décodage consiste alors à appliquer une fonction µ telle que µ(m r ) soit, avec une forte probabilité m, le message initial, ou dans certains cas, une réponse d impossibilité de décodage si le nombre d erreurs est trop important. Ainsi, µ est la fonction qui à m r associe l élément le plus proche dans l ensemble des mots de code (l ensemble des mots de la forme ψ(m)), puis applique ψ 1, afin de retrouver le message originel dans la plupart des cas (si le message reçu ne contient pas un nombre trop grand d erreurs). m Codage ψ(m) Transmission m r Décodage µ(m r ) = ψ(m ) Restrictions ψ aléatoire µ On supposera, dans la plupart des cas (sauf dans une certaine mesure pour les CIRC), que ce travail se restreint aux messages d une longueur fixée à l avance, quitte à découper le message en blocs et à les transmettre (en ajoutant éventuellement des caractères de remplissage). On étudie alors des codes par bloc. De plus, on se limitera en général à des mots écrits sur le corps F 2 k, qui correspondent à la représentation informatique de l information. On supposera également que le canal n efface pas de symbole, donc qu un bit peut être changé mais pas supprimé Notion de distance La description qui précède faisait appel à la notion de plus proche, donc implicitement de distance. On suppose que m est un n-uplet d éléments d un groupe commutatif. On définit alors la distance de Hamming d(m, m ) comme le nombre d éléments non nuls dans m m. On vérifie alors facilement qu il s agit bien d une distance. Comme on travaille sur ces blocs de longueur fixe, alors on peut définir la distance minimale du code comme la plus petite distance entre deux mots de code. Notons alors d cette distance minimale. Un bloc reçu, m, sera donc associé au mot de code m c si d(m, m c ) < d/2 et s il n existe aucun mot m c de ce type, alors on dit que l on ne peut pas corriger m car, par définition de d, il existe des cas où deux mots de code sont équidistants de m. Ainsi, la difficulté de la recherche d un bon code serait de 1 Certains canaux, par exemple pour la transition de fax par ligne téléphonique, peuvent faire disparaître des bits. 2
3 réussir à paver V n (avec V le groupe commutatif fini et n la longueur des blocs de mots de code). Ainsi, un des paramètres importants d un code est la distance minimale d de ce code. Codes parfaits Les codes parfaits sont ceux dans lesquels, pour tout n-uplet, il existe un mot du code qui est à une distance strictement inférieure à d/2. Autrement dit, tout mot reçu peut être décodé, ou encore les boules ouvertes de rayon d/2 pavent tout l espace des mots de longueur n : V n. 1.3 Paramètres d un code Si l on code des mots de longueur k et que les mots de code sont de longueur n, et la distance minimale est d, on appelle alors : taux d information, le rapport : k/n, taux de correction le rapport : d/n, on dira qu un code est alors du type (n, k, d). 1.4 Premiers exemples Codes des répétitions Une première idée simple de code correcteur pourrait être de répéter chaque bit un nombre impair de fois, et de chercher le nombre majoritaire de 1 ou de 0 à la réception. Si l on répète 2p+1 fois le bit, k = 1,n = 2p+1 et d = n = 2p+1. Ce code simpliste est très peu performant car son taux d information est infime, mais montre que quelque soit la perturbation du canal (si la probabilité, pour qu un bit soit inversé est différente de 1/2), on peut avoir un code qui permet de décoder un mot de code avec une probabilité aussi grande que l on veut dans [0, 1[. Bits de parités Un autre exemple est le code qui consiste en l ajout d un bit de parité, c est à dire un bit qui correspond à la somme des autres bits (modulo 2). Ce système peut avoir un taux d information aussi proche de 1 que l on souhaite, mais a toujours une distance minimale de 2, et donc, ne permet pas de correction, sauf d un effacement dont on connaît la position. Il permet cependant la détection d une erreur par bloc. Si un bloc est erroné, on peut alors demander un nouvel envoi. Cette méthode peut donc être utilisée avec des canaux introduisant peu d erreurs et dans lesquelles une demande de répétition est possible 2. Les codes de Hamming Les codes de Hamming qui constituent une amélioration des codes par ajout d un bit de parité (en réalité, on peut les voir comme un ajout de bits de parités de certains ensemble de bits du bloc). Nous ne détaillerons pas plus ici leur construction (on peut trouver cette construction dans le cas général, par exemple dans [3]). Dans le cadre de ce travail, nous avons implémenté le code Hamming de longueur 7 qui code 4 bits en 7 bits de distance 4. Afin d illustrer cette partie, nous avons fait une implémentation qui se base sur un dictionnaire (construit systématiquement grâce à la propriété de linéarité de ce code) qui permet de coder et d un système de décodage par étude exhaustive : on cherche le mot à distance inférieure à 2 du mot reçu. On a écrit une procédure qui peut s appliquer au décodage de n importe quel code par bloc dont on dispose du dictionnaire. On peut en effet trouver la distance 2 Ce type de code par somme de contrôle se trouve dans les numéros d inscription au répertoire (utilisés par la sécurité sociale) où la clé est 97, moins la valeur du numéro modulo 97. Ainsi la somme du numéro et de la clé est multiple de 97. On trouve des systèmes identiques dans les codes-barres ou les numéros isbn par exemple. 3
4 minimale en cherchant le minimum des distances entre deux mots ; ensuite on procède de manière exhaustive pour trouver le mot qui est à une distance inférieure à d/2 du mot reçu. Ainsi, on illustre les concepts présentés dans cette partie. Il est à noter que ces algorithmes sont rapidement impraticables, car la recherche de d à un coût en O(t 2 ), où t est la taille du dictionnaire et le décodage a un coût en O((t.n) d ), avec n la longueur des mots de code : ce qui devient très rapidement impraticable, avec les méthodes implémentées, car t est souvent d une taille en O(exp(k)). 2 Les codes de Reed-Solomon 2.1 Présentation générale Les codes de Reed-Solomon sont des codes cycliques, linéaires, particuliers. Nous allons ici présenter leur construction. Une présentation plus complète peut être trouvée dans [2], [1] ou [3] qui ont servi à la réalisation de cette étude. Nous allons travailler ici sur des mots constitués d éléments de F 2 k dont la construction est décrite en annexe. Les codes de Reedsolomon sont du type (n = 2 k 1, k, n k + 1) pour des mots de F 2 k. Ils constituent une classe de codes intéressante car ils sont optimums, c est à dire qu ils nécessitent le nombre minimum de redondance (n k) pour obtenir une distance minimale donnée, (n k + 1). De plus, il existe des implémentations de codage et de décodage relativement rapides. Nous allons présenter les opérations de codage et de décodage tel qu elles ont été implémentées dans le cadre de ce travail. Enfin, ces codes sont robustes aux bouffées d erreurs telles que l on peut en trouver sur des CD où une rayure de 1mm de largeur détruit environ bits par tour. 2.2 Le codage Pour le code du type (n = 2 k 1, k, n k + 1), on choisit, par exemple, le polynôme g de degré n k, tel que α soit un générateur de F 2 k, et : g(x) = n k i=1 (X αi ). On considère alors le message m = (m 1,..., m k ) que l on assimile au polynôme k i=1 m i.x i. On considère alors le polynôme m(x).g(x) = n i=1 m i.xi qui est assimilé à m = (m 1,..., m n) et qui constitue le mot de code associé à m. Ainsi le codage est une multiplication de polynômes de degrés (n k) et k. 2.3 Le décodage Il existe plusieurs méthodes de décodage. Nous avons choisi celle qui est présentée dans [1]. On notera ici r = n d+1. On va décoder le mot m = m +e où m est le message codé envoyé et e l erreur due à la transmission qui a un poids inférieur à r/2. Nous allons alors essayer de retrouver e : une division euclidienne par g suffira pour retrouver le message originel. Transformée de Fourier discrète On a alors l algorithme de transformée de Fourier discrète (noté DF T ) qui transforme le polynôme m = (m 0,...m n 1 ) en DF T (m) = (h 0 = m(α 0 ),..., h n 1 = m(α n 1 )) où α est le générateur du corps F 2 k utilisé pour obtenir le polynôme g. On notera aussi pour b n, DF T b (m) = (m(α 1 ),..., m(α b 1 )). On dispose aussi de l algorithme DF T 1 qui correspond à l évaluation de m en les α i, autrement dit : DF T 1 (m) = (h 0 = m((α 1 ) 0 ),..., h n 1 = m((α 1 ) n 1 )). On remarque que ces opérations sont clairement linéaires. On supposera alors démontré que DF T 1 (DF T (m)) = m pour tout m (cette démonstration se fait sans difficulté). Comme pour 1 i < r, α i est racine de g, DF T r (m ) = DF T r (m + e) = DF T r (m) + DF T r (e) = DF T r (e). Donc pour avoir DF T (e) afin d obtenir e, il suffit de trouver les coefficients suivants de DF T (e). 4
5 Méthode pour obtenir DF T (e) On va définir ce qu est une suite générée linéairement : Définition On dit que la suite (x i ) i 0 est générée linéairement par un polynôme de degré a si il existe un polynôme g(x) = X k a 1 X k 1... a k tel que n k, on ait x n = a 1 x n a k x n k. On appelle alors LF SR Π (E 0...b ) la génération de la suite (E i ) i (b k) linéairement liée par Π et telle que ses premiers éléments soient (E 1,..E b ). On va alors montrer le théorème suivant : Théorème Les coefficients de DF T (e) sont linéairement générés par un polynôme de degré égal au poids de e. Démonstration. On note (E i ) = (e(α 0 ),..., e(α k )...) la suite des coefficients de la transformée de Fourier. Comme α n = 1, alors cette suite est périodique de période n. Donc, la série entière F (X) = i=1 E ix i a bien un sens sur ] 1, 1[. Or on a (car l interversion de l ordre de sommation ne pose pas de problème) : F (x) = i=1 E ix i = i=1 ( n 1 j=0 e jα ij )X i = n 1 j=0 e j( i=1 (αj X) i ) et donc, on a : n 1 1 F (X) = e j 1 α j X = R(X) Π(X) j=0 avec deg(r) < deg(π) et n 1 j=0ete j 0 (1 αj X). Donc Π est de degré égal au poids de e. Et donc, on note Π(X) = X k a 1 X k 1... a k et on a Π(X)F (X) = R(X). Donc, pour n k, le coefficient de X n+k est nul, car deg(r) < deg(π) est la décomposition en série entière est unique. Donc E n a 1 E n 1... a k E n k = 0. Il suffit donc de trouver le polynôme générateur. Algorithme de Berlekamp-Massey Cet algorithme permet de trouver le polynôme qui lie linéairement une suite finie (E 1,..., E r ) donnée en entrée : Algorithme 1 Algorithme de Berlekamp-Massey Entrées : S 1,..., S n : des éléments de F 2 k Sorties : Le polynôme minimal générateur de la suite. b 1 ; e -1 ;L 0 ;Π 1 F 2 k[x] ;ψ 1 F 2 k[x] ; Pour k de 0 à n faire δ S k + L i=1 Π is k i Si (δ > 0) Alors P Π ;Π Π + δ b Xk e ψ ; Fin Si Si (2L k) Alors ψ P ;L (k + 1 L) ;b δ ;e k ; Fin Si Fin Pour Retourner Π L idée de cet algorithme est de prendre successivement les éléments de S k, tout en faisant en sorte qu à la k e itération, le polynôme Π soit bien le polynôme générateur de la suite (S 1,..., S k ). On trouve ainsi le polynôme cherché. Il a un coût en O(r 2 ) car il y a r itérations où l on fait des affectations de polynômes de degré inférieur à r. 5
6 Opérations de décodages On a donc une méthode pour calculer l erreur. On calcule DF T r (m ) = DF T r (e), puis avec l algorithme de Berlekamp-Massey, on obtient le générateur. Il n y a plus qu à générer les autres éléments pour obtenir DF T (e). On applique ensuite DF T 1 : DF T 1 (DF T (e)) = e. On a donc trouvé l erreur introduite d un poids inférieur à r/2. On a donc m = m + e, le mot de code qu il suffit de décoder en divisant par g. Ainsi on a bien décodé le message à condition que l erreur introduite ait un poids inférieur à r/ Remarque sur le coût des algorithmes Les algorithmes présentés ici peuvent être d un coût assez faible. Si l on a un algorithme pour une transformée de Fourier rapide en O(n log(n)), alors le produit de polynômes pour le codage aurait un coût semblable. Le décodage serait en O(n log(n)) car l algorithme de Berlekamp-Massey a un coût en O(r 2 ), mais en général r est petit devant n, et peut être amélioré en terme de coût. Donc, le coût des algorithmes devrait être assez faible. Cependant, la transformée de Fourier rapide se fait habituellement sur des listes d une longueur égale à une puissance de 2. Il faudrait donc avoir une racine d ordre égal à une puissance de 2, ce qui est bien-sûr impossible (car aucune puissance de 2 ne divise 2 k 1) sans extension algébrique dans F 2 k. Ainsi, pour gagner en performance, il faudrait implémenter la transformée de Fourier discrète rapide pour des listes d une longueur autre qu une puissance de 2 (comme [11] en présente une méthode) ou faire une extension algébrique à F 2 k pour avoir une racine primitive de l unité d ordre 2 k et faire des calculs sur des listes de longueur 2 k. Signalons que, dans l article originel de Irving S. Reed et Gustave Solomon [4] la méthode de décodage avait un intérêt purement théorique car il nécessitait l inversion de C k n matrices de taille k k et donc n était pas réalisable en pratique. Mais les méthodes de décodage sont de plus en plus performantes, comme celle présentée ici, et permettent d utiliser réellement ce code. 3 Les codes CIRC Les codes de Reed-Solomon peuvent être utilisés directement ou peuvent être la base de codes entrelacés : les CIRC (Cross-Interleaved Reed Solomon Code). Ces CIRC se trouvent par exemple sur les supports d enregistrements du type CD ou DVD. Nous allons ici, à titre d exemple, présenter les codes proches de ceux trouvés sur les CD audio L entrelacement avec retard L entrelacement consiste à mélanger les blocs, afin qu un bloc soit envoyé de façon diluée. Cette procédure permet en particulier de minimiser l effet d une bouffée d erreurs (due par exemple à une rayure à la surface du CD). Un tableau est appelé entrelaceur : il sert à faire ce travail. Nous allons décrire un entrelacement avec un retard de r sur des blocs de n lettres. On considère alors un tableau de r colonnes et de n lignes. A l initialisation, on considère les r premiers mots (a 1 = (a 1,1,..., a 1,n ),..., a r = (a r,1,..., a r,n )) et on place chaque a k,i dans la (r.i+k) e colonne et dans la i e ligne. Par exemple, l initialisation d un entrelaceur avec un retard de 2 et des mots de taille 4 donnent (on note a 1 = a et a 2 = b) : 3 Ces codes ne sont pas nécessairement exactement les mêmes que ceux des CD audio car ils dépendent du choix de l élément générateur du corps F 256 utilisé ici. Cette information est dans l ouvrage de normalisation, le Red Book, qui n a pas pu être consulté. 6
7 a 1 b 1 a 2 b 2 a 3 b 3 a 4 b 4 Ensuite, les r premières colonnes sont transmises (en les complétant éventuellement). Puis les colonnes sont toutes décalées de r colonnes vers la gauche (celles qui viennent d être envoyées sont écrasées, et à droite r nouvelles colonnes vierges apparaissent. Cela peut être géré par un tableau circulaire grâce à un curseur qui indique la position de la première colonne). On remplit alors la diagonale comme précédemment. Dans le cas du retard 2 avec des mots de longueur 4, après avoir envoyé (a 1, *, *, *), (b 1, *, *, *) et rempli l entrelaceur on a : c 1 d 1 a 2 b 2 c 2 d 2 a 3 b 3 c 3 d 3 a 4 b 4 c 4 d 4 On envoie alors les r premières colonnes et on poursuit le procédé. Ainsi, on peut coder à la volée l information, sans connaître a priori la longueur du message. Le décodage se fait en remplissant l entrelaceur, colonne par colonne, et en reconstituant les mots. 3.2 Le codage CIRC L idée est de coder avec un premier code C 1 puis d entrelacer et enfin de coder à nouveau avec un deuxième code C 2. Nous nous placerons ici dans un cas précis de code, qui est celui utilisé pour les CD audio. On considère le code de Reed-Solomon (255,251,5). Ce code étant linéaire, il peut être représenté par une matrice génératrice C, on considère alors C, une matrice génératrice, telle que les 251 premières colonnes soient indépendantes. Cette matrice est alors équivalente à G tel que tr G = [I 251, R ]. On considère alors R 1 et R 2 respectivement, les matrices formées des 24 et 28 dernières lignes de R On vérifie de plus que 4 lignes quelconques de R 2 (et donc de R 1 ) forment un système libre. On admettra alors que les codes linéaires C 1 et C 2 qui sont définis par les matrices [I 24, R 1 ] et [I 28, R 2 ] sont bien de distance 5. Pour coder le CIRC, on code d abord avec le code C 1 (tel que m tr R 1 m), puis les blocs sont entrelacés avec un retard de 4 octets. Ils sont enfin à nouveau codés avec C 2. Donc, de manière asymptotique, le code transforme un bloc de longueur 24 en un bloc de longueur 32. Son taux d information est donc équivalent à 24/32 = 3/4. m Codage C 1 Entrelacement Codage C 2 m r 3.3 Le décodage Le décodage réside dans le fait que l on peut corriger 2 fois plus d effacement que d erreurs. Ainsi on commence par essayer de décoder le message reçu par le décodeur de C 2. Si le bloc contient moins d une erreur, on la corrige, sinon on considère que le bloc a été entièrement effacé, car C 2 permet de corriger une erreur ou d en détecter 4. Ensuite on désentrelace, on obtient donc des mots de codes C 1, éventuellement, en partie effacés. On peut alors corriger jusque à 4 effacements (car la distance est 5). S il y a plus de 4 effacements dans le bloc, on ne peut pas le compléter. On considère alors la matrice H 2 = [ tr R 2, I 4 ]. Si m est un mode de code de C 2, alors H 2 m = 0. Donc, si m = m + e est le mot reçu, tel que e soit l erreur introduite, alors H 2 m = H 2 e, et donc H 2 m V ect(c i ) (avec C i la i e colonne de H 2 ) si et seulement si e est de poids inférieur ou égal à 1 (on suppose ici que e ait un poids inférieur à 5). On peut ainsi corriger une erreur de poids inférieur à 1 dans le message reçu, sinon, on note le bloc comme étant effacé. 7
8 Ensuite, on désentrelace les blocs. On obtient ainsi des blocs de code C 1 qui contiennent éventuellement des effacements (s il y en a plus que 4, on ne peut pas corriger le mot). Comme précédemment, on définit H 1 = [ tr R 1, I 4 ]. On a donc H 1 m = 0 si m est un mot de code de C 1. Donc, si m contient des effacements aux positions (i 1, i 2, i 3, i 4 ) (quitte à en ajouter), on considère alors m le vecteur égal à m quand le caractère n est pas effacé (c est-à-dire n a pas un indice dans (i 1, i 2, i 3, i 4 )), ou qui est nul quand le caractère de même position dans m est effacé. Donc m i vaut m i ou 0 si m i a été effacés. Donc, si [e i 1, e i2, e i3, e i4 ] sont les coefficients effacé, alors : H 2 m + [C i1, C i2, C i3, C i4 ] tr [e i1, e i2, e i3, e i4 ] = 0, et donc : tr [e i1, e i2, e i3, e i4 ] = [C i1, C i2, C i3, C i4 ] 1 H 2 m. On a donc corrigé jusqu à 4 effacements, mais on ne peut pas en corriger plus. Correction d au plus Correction d au m r + e une erreur de C 1 Désentrelacement plus 4 effacements m et effacement sinon de C Avantages de ces codes L avantage de ces codes est assez clair : en plus de résister aux erreurs ponctuelles grâce à la correction de C 1, ils résistent à une grande série d erreurs : jusqu à 4 fois (car on a un retard de 4) une série de 4 mots de 32 octets, c est-à-dire 512 octets (ce qui correspond à une rayure de plusieurs millimètres sur un CD). Ainsi ce code est bien adapté aux corrections en grand nombre. De plus les opérations de codage et de décodages sont simples à réalisé, et donc peuvent être faites par un système électronique simple. 4 Comparaison des codes 4.1 Présentation des tests effectués Les test sont effectués sur un fichier image de type.ppm (codé en RVB) de 2 Mo. Nous allons essayer de mesurer différents paramètres des codes étudiés sur cet exemple. Notons que les algorithmes pourraient être adaptés à tous types de fichiers. Les tests sont effectués sur un ordinateur équipé d un processeur Intel Pentium M, cadencé à 1,7 Ghz et de 1 Go de mémoire vive, sous une architecture Linux et avec Objective Caml version Les test ont été fait sur un code interprété et non compilé. Afin d illustrer cette partie, nous joignons en annexe des illustrations obtenues lors des essais. Comparaison des vitesses de codage et de décodage Ces codes étant souvent utilisés pour transmettre de l information en temps réel, l argument de vitesse est important. Il est à noter, cependant, que les implémentations pourraient être nettement optimisées, comme nous l avons déjà souligné. De plus nous pourrions compiler le code pour gagner sensiblement en vitesse. Nous donnerons alors les vitesses de codage et de décodage, soit lorsque il n y a pas d erreurs soit lorsque des erreur, sont apparues. Résistance au bruit Nous avons programmé une fonction de bruitage qui prend en entrée un entier p et un fichier. Elle change chaque octet de ce fichier (par un octet tiré au hasard) avec une probabilité de 1/p. Nous donnerons alors une valeur approchée de la valeur limite de p pour laquelle le ficher corrigé ne peut plus être récupéré à l identique. 8
9 Résistance aux bouffées d erreurs Pour ce test, nous simulons une rayure à la surface d un CD : grâce à un outil graphique, on dessine une bande irrégulière sur l image codé. On vérifiera donc si l image est fortement altérée visuellement ou non et nous donnerons une valeur approchée de la largeur maximum de la rayure irrégulière (en pixels) pour que l image soit intacte après décodage. 4.2 Tableaux comparatifs Vitesse Codes Codage Décodage sans Décodage avec erreur erreurs Hamming 80ko/s 3ko/s 1ko/s Reed-Solomon 15ko/s 4,5ko/s de 4,5 à 1 ko/s (255,190,66) CIRC 118ko/s 181ko/s de 180 à 90ko/s Entrelacement 1,3Mo/s 1,3Mo/s 1,3Mo/s Efficacité Codes Résistance Taille de rayure Résistance visuelle au bruit critique aux rayures Reed-Solomon p = 50 5 bonne (255,190,66) CIRC p = très bonne Entrelacement p = 0 assez bonne 4.3 Analyse des tests Nous allons alors commenter les tests. Le code de Hamming Le code de Hamming ne permet pas d éliminer le bruit ou une rayure car il corrige chaque octet indépendamment et les opérations de dégradation de l image (dans le brouillage ou la rayure) modifient totalement l octet. Donc, il ne peut pas être corrigé. Ces tests ne sont donc pas réellement adaptés à ce type d erreurs, et donc au test des codes de Hamming. On remarque aussi que la méthode de décodage par étude exhaustive (ie : recherche systématique dans la boule de rayon d/2) est rapidement impraticable. Il n est donc pas réaliste de vouloir décoder de cette manière pour des codes plus longs. Bien que nos tests soient peu adaptés au code de Hamming, il est relativement mauvais par rapport aux codes qui suivent. Le code de Reed-Solomon Afin de pouvoir comparer ce code avec le CIRC, nous avons choisi un code dont le taux d information est proche du CIRC, on a donc choisi (255,190,66). On remarque que la résistance aux bouffées d erreurs, bien quelle soit meilleure que beaucoup d autres codes, est relativement faible par rapport aux CIRC. Mais la résistance au bruit est très importante, car, par exemple, une mauvaise ligne téléphonique a un taux d erreurs de moins de Donc, ce code est très performant pour résister au bruit, mais il est peu rapide dans notre implémentaion, pour les raisons exposées au 2.4. Cette vitesse pourrait être sensiblement améliorée avec un algorithme plus rapide pour faire la transformée de Fourier. 9
10 Les codes CIRC Ces codes résistent très bien aux bouffées d erreurs. Ils ont une capacité de correction du bruit inférieur au code de Reed-Solomon. De plus, ils sont rapides à coder et à décoder et on comprend bien que leurs mises en œuvre dans une électronique simple est plus facile que celle des algorithmes de Reed-Solomon. Le débit atteint ici, avec une optimisation assez limitée, permet de lire de la musique sur un CD audio en temps réel. Enfin, ces codes nous permettent de savoir que l information a été perdue (alors que les codes de Reed-Solomon changeront l information perdue) et nous permettent d extrapoler l information. 4 Entrelacement et amélioration des codes par un entrelacement Un entrelacement avec retard 4 sur des mots de longueurs 24 nous permet de diluer la perte d information due à une rayure. Ainsi, l image perd en netteté mais l on distingue toujours l ensemble de l image. Ainsi, avec leur grande rapidité, ils peuvent être utiles. On pourrait, par exemple, le jumeler avec un système de sommes de contrôle pour détecter des erreurs et extrapoler l image aux blocs erronés. L entrelacement nous a permis de diluer les effacements dans les CIRC. Nous avons donc essayé d entrelacer une nouvelle fois les CIRC, mais, après expérimentation, nous avons constaté que cet entrelacement dilue la perte d information sur l ensemble du message et donc que ce type de code est relativement peu performant face au bruit, il a plutôt tendance à détruire l image intégralement. On perdrait donc la forte capacité des CIRC à corriger les paquets d erreurs. Nous avons ensuite appliqué un entrelacement aux images codées grâce aux codes de Reed-Solomon. En diluant une rayure, elle est mieux corrigée. La capacité à corriger le bruit reste identique. Ainsi nous avons amélioré les performances des codes de Reed-Solomon pour certaines applications. Il peut ensuite être intéressant de faire varier le retard ou la longueur des blocs d entrelacement. Conclusion Nous avons vu que les codes de Reed-Solomon résistent très bien au bruit et donc peuvent être utilisés pour des sondes spéciales, d exploration lointaine, comme les sondes Voyager par exemple. Ils sont relativement compliqués à décoder, mais les techniques de décodage évoluent. Les CIRC sont eux, moins robustes au bruit, mais supportent nettement mieux les bouffées d erreurs, de plus leur décodage est simple et trouvent donc d autres domaines d application comme dans les supports d enregistrement, par exemple. Enfin, nous avons vu que l entrelacement permet d améliorer certains codes, comme par exemple, les codes de Reed-Solomon qui résistent mieux aux bouffées d erreurs s ils sont entrelacés. La technique de l entrelacement est mis en œuvre de manière très puissante dans les Turbo-Codes qui utilisent des méthodes d entrelacement évoluées pour obtenir des codes très performants. 4 C est ce qui se passe sur les systèmes de lecture de CD audio. 10
11 Références [1] Jean-Guillaume Dumas, Jean-Louis Roch, Eric Tannier et Sébastien Varrette ; Théorie des codes, compression, cryptage, correction, de sciences sup, Dunod, [2] Michel Demazure ; Cours d algèbre. Primalité, divisibilité, codes, de la Nouvelle bibiliotèque mathématique. Cassini, [3] F. J. MacWilliams et N. J. A. Sloane ; The Theory of Error-Correcting Codes, de Mathematical Library, North-Holland, [4] Irving S. Reed et Gustave Solomon, Polynomial Codes Over Certain Finite Fields, dans Society for Industrial and Applied Mathematics, Vol. 8, No. 2, pp (Juin, 1960). [5] Contact avec Claude Berrou, professeur à l ENST Bretagne, co-inventeur des Turbocodes. [6] Contact avec Jean-Guillaume Dumas, maître de conférences à l université Grenoble1. [7] Contact avec Pierre Schramm, étudiant à l École Normale Supérieure de Lyon. [8] Article Red Book (audio CD standard), Wikipedia (en), (version du 18 mai 2007). [9] Article Reed-Solomon error correction, Wikipedia (en), (version du 16 mai 2007). [10] Site internet de l entreprise 4i2i spécialisée dans les codes correcteurs d erreurs (consulté en mai 2007) : [11] Joris van der Hoeven ; Article The truncated Fourier transform and applications (consulté en mai 2007) : [12] Présentation d un projet demandé aux élèves de l école Polytechnique (consulté en mai 2007) : Nicolas.Sendrier/X98/projet/ 11
12 Annexe 1 : construction et implémentation de F 2 k Nous utilisons dans ce travail le corps F 2 8. Nous allons alors expliquer la construction et l implémentation des corps F 2 k pour k N. Cette construction se généralise facilement à F 2 8 pour p premier. Cette présentation est inspirée de [2] et [1]. 4.4 Construction de F 2 k On note F 2 = Z/2Z. On suppose qu il existe un polynôme irréductible de degré k dans F 2 [X]. On donnera une méthode de recherche d un tel polynôme au 4.5. Soit alors P F 2 [X] irréductible de degré r. On a alors : Théorème F 2 [X]/P est un corps pour les opérations + et.. Démonstration. Les opérations + et. reviennent en réalité à faire les opérations + et. sur F 2 [X] puis à passer modulo P. Ainsi, puisque F 2 [X] est un anneau commutatif, alors F 2 [X]/P est un anneau commutatif unitaire. Montrons alors que tous les éléments de F 2 [X]/P sont inversibles. En effet, pour Q non nul de cet ensemble, nécessairement deg(q) deg(p ). Comme P est irréductible et Q 0 mod P, donc P et Q sont premiers entre eux. Il existe donc deux polynômes A et B tels que P.A + B.Q = 1 et donc B.Q = 1 mod P, donc Q est inversible dans F 2 [X]/P. Ainsi, F 2 [X]/P est un corps de cardinal 2 d que l on notera F 2 d. 4.5 Recherche du polynôme irréductible de degré r dans F 2 Nous allons donner une condition pour qu un polynôme soit irréductible. Commençons par une propriété sur les polynômes contenant un carré. On définit la dérivation formelle de manière habituelle. Théorème Soit P un polynôme ; il est sans carré si, et seulement si, P GCD(P, P ) = 1 Démonstration. En effet, si P = g 2 h (avec h et g des polynômes tels que g ne soit pas constant). Alors P = 2g gh+g 2 h = g(2g h+gh ), donc pgcd(p, P ) est un multiple de g. Réciproquement, si g = P GCD(P, P ), un polynôme non constant, on prend alors h, un facteur irréductible de g, et on note alors P = hc et P = hd. Donc, en dérivant P, on obtient P = hd = hc + h c et donc h(d c ) = h c. Or, comme h est irréductible et deg(h ) < deg(h), donc h et h sont premiers entre eux. Donc, avec le théorème de Gauss on a que c est un multiple de h. On note c = he et, enfin, P = hc = h 2 e. Démontrons alors un lemme : Lemme r N divise d N si et seulement si p r 1 divise p d 1. Démonstration. En effet, si d = r.k, alors comme 2 r = 1 mod (2 r 1) Donc 2 d = (2 r ) k = 1 mod 2 r 1. Réciproquement, si 2 d 1 = 0 mod (2 r 1), alors si d = r.k + t est la division euclidienne de d par r, alors 2 d 1 = 2 k.r.2 t 1 = 2 t 1 = 0 mod (2 r 1). Or, comme 0 t < r, alors 2 t 1 = 0 et donc s = 0 et r divise d. On montre alors le théorème qui nous permettra d obtenir un algorithme qui fournit un polynôme irréductible de degré d de F 2 [X] : Théorème Pour d N, alors le polynôme X 2d X est le produit de tous les polynômes irréductibles (unitaires) dont le degré divise d dans F 2 [X]. 12
13 Démonstration. Soit P un polynôme irréductible de degré r divisant d, on a que V = F 2 [X]/P est un corps. Dans ce corps, tout élément a un ordre qui divise le cardinal de l ensemble des éléments inversibles (ie : du groupe (V,.)), d après le théorème de Lagrange, et donc divise 2 r 1. Donc, pour X V, X 2r 1 = 1. Or avec le lemme qui précède on a que 2 r 1 divise 2 d 1. Donc X 2d 1 = 1 mod P donc P divise X 2d 1 1 et donc X 2d X. Réciproquement, si P est un diviseur irréductible de X 2d X de degré r, alors dans V = F 2 [X]/P, on a X 2d X = 0. Mais les éléments Q V tels que Q 2d Q = 0 forment un sous-anneau de V. Or, comme X est dans cet ensemble, il est égal à tout V. Donc, pour tous les éléments Q de V on a, Q 2d 1 = 1. Or on sait que V contient des éléments d ordre 2 r 1, donc 2 r 1 divise 2 d 1 et donc, enfin, r divise d. Montrons alors que X 2d X ne possède pas de facteur multiple. Le polynôme dérivé est : 2 d X 2d 1 1 = 1 dans F 2 [X] et donc X 2d X ne contient pas de carré. Ainsi un polynôme P de degré d est irréductible si, et seulement si, il n a aucun facteur commun avec X 2i X pour 0 i d/2. Ainsi, dans le cadre de ce travail, il a été implémenté l algorithme de Ben-Or qui vérifie si P GCD(P, X 2i X) = 1 pour i qui varie de 1 à d/2, afin de déterminer si un polynôme est irréductible dans F 2. Il a aussi été implémenté un générateur d un polynôme irréductible de degré d qui choisit au hasard un polynôme de degré d et teste si il est irréductible jusqu à en obtenir un irréductible (on montre qu un tel algorithme se termine rapidement, en général). 4.6 Implémentation de F 2 k On va alors expliquer comment sont implémentées les opérations sur le corps F 2 k ainsi construit. On suppose qu avec l algorithme précédent, on ait un polynôme P de degré k irréductible de F 2. X est alors un générateur du corps F 2 [X]/P. On construit donc un tableau T de taille 2 k 1 : T[0..2 k 2], tel que T[k]=X k mod P. On représentera un élément de F 2 k par i quand cet élément du corps est X i mod P, et 0 sera représenté par 1. Grâce à T, on va construire Q[0..2 k 2] tel que Q[k] correspond à i tel que X k + 1 = X i = mod P. Dans la suite, il n est utile que de conserver Q. Ainsi, avec le tableau Q, on peut définir les opérations de multiplication, d inversion et d addition (on remarque que l opération d addition et de soustraction sont identiques ici) : pour la multiplication de i et j (qui représentent respectivement X i mod P et X j mod P ), si i et j sont différents de 1, alors le produit vaut (i + j) mod (2 k 1), car X i X j = g i+j, l inversion de X i, représentée par i diffèrent de 1 est alors simplement i mod (2 k 1), l addition X i +X j = X i (1+X.(j i)) est donc représentée par : (i+q[(i j) mod (2 k 1)]) mod (2 k 1). 13
14 14
Introduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
Plus en détailCapacité d un canal Second Théorème de Shannon. Théorie de l information 1/34
Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second
Plus en détailExercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Plus en détailPremière partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015
Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k
Plus en détailThéorie et codage de l information
Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q
Plus en détailLa Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois
Plus en détailTransmission d informations sur le réseau électrique
Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailÉPREUVE COMMUNE DE TIPE 2008 - Partie D
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE
Plus en détailDe même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Plus en détailDéveloppement décimal d un réel
4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce
Plus en détailSouad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Plus en détailCryptographie et fonctions à sens unique
Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions
Plus en détailExo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.
Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).
Plus en détailGroupe symétrique. Chapitre II. 1 Définitions et généralités
Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations
Plus en détail3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Plus en détailFonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Plus en détailOptimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante
Plus en détailNombres premiers. Comment reconnaître un nombre premier? Mais...
Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement
Plus en détailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailChapitre VI - Méthodes de factorisation
Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.
Plus en détailwww.h-k.fr/publications/objectif-agregation
«Sur C, tout est connexe!» www.h-k.fr/publications/objectif-agregation L idée de cette note est de montrer que, contrairement à ce qui se passe sur R, «sur C, tout est connexe». Cet abus de langage se
Plus en détailChapitre 2 : communications numériques.
Chapitre 2 : communications numériques. 1) généralités sur les communications numériques. A) production d'un signal numérique : transformation d'un signal analogique en une suite d'éléments binaires notés
Plus en détailQuelques tests de primalité
Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars
Plus en détailPolynômes à plusieurs variables. Résultant
Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailTexte Agrégation limitée par diffusion interne
Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse
Plus en détailRésolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Plus en détailTD : Codage des images
TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment
Plus en détailLimitations of the Playstation 3 for High Performance Cluster Computing
Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire
Plus en détailCOURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par
Plus en détailExemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions
Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions HQ = He 1 He 2 He 3 He 4 HQ e 5 comme anneaux (avec centre Re 1 Re 2 Re 3 Re 4
Plus en détailCalculer avec Sage. Revision : 417 du 1 er juillet 2010
Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1
Plus en détailUniversité Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications
Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au
Plus en détailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Plus en détailFonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre
IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables
Plus en détailFormats d images. 1 Introduction
Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailConversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Plus en détailCompression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette
Compression et Transmission des Signaux Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette 1 De Shannon à Mac Donalds Mac Donalds 1955 Claude Elwood Shannon 1916 2001 Monsieur X 1951 2 Où
Plus en détailDOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.
A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur
Plus en détailCours 02 : Problème général de la programmation linéaire
Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =
Plus en détailChapitre 3. Mesures stationnaires. et théorèmes de convergence
Chapitre 3 Mesures stationnaires et théorèmes de convergence Christiane Cocozza-Thivent, Université de Marne-la-Vallée p.1 I. Mesures stationnaires Christiane Cocozza-Thivent, Université de Marne-la-Vallée
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailSujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Plus en détailChaînes de Markov au lycée
Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat
Plus en détailLe produit semi-direct
Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.
Plus en détailCalcul 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.
1 Définitions, notations 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. On utilise aussi la notation m n pour le
Plus en détailCodage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur
Codage hiérarchique et multirésolution (JPEG 000) Codage Vidéo Représentation de la couleur Codage canal et codes correcteurs d erreur Format vectoriel (SVG - Scalable Vector Graphics) Organisation de
Plus en détailContexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,
Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très
Plus en détail6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses
6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation
Plus en détailThéorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France
Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailNOTATIONS PRÉLIMINAIRES
Pour le Jeudi 14 Octobre 2010 NOTATIONS Soit V un espace vectoriel réel ; l'espace vectoriel des endomorphismes de l'espace vectoriel V est désigné par L(V ). Soit f un endomorphisme de l'espace vectoriel
Plus en détailBaccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé
Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue
Plus en détailavec des nombres entiers
Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailEteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :
MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE
Plus en détailExo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.
Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3
Plus en détailTransmission de données. A) Principaux éléments intervenant dans la transmission
Page 1 / 7 A) Principaux éléments intervenant dans la transmission A.1 Equipement voisins Ordinateur ou terminal Ordinateur ou terminal Canal de transmission ETTD ETTD ETTD : Equipement Terminal de Traitement
Plus en détailExtrait du poly de Stage de Grésillon 1, août 2010
MINI-COURS SUR LES POLYNÔMES À UNE VARIABLE Extrait du poly de Stage de Grésillon 1, août 2010 Table des matières I Opérations sur les polynômes 3 II Division euclidienne et racines 5 1 Division euclidienne
Plus en détailCorrection du baccalauréat ES/L Métropole 20 juin 2014
Correction du baccalauréat ES/L Métropole 0 juin 014 Exercice 1 1. c.. c. 3. c. 4. d. 5. a. P A (B)=1 P A (B)=1 0,3=0,7 D après la formule des probabilités totales : P(B)=P(A B)+P(A B)=0,6 0,3+(1 0,6)
Plus en détailThéorème du point fixe - Théorème de l inversion locale
Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion
Plus en détailCHAPITRE 5. Stratégies Mixtes
CHAPITRE 5 Stratégies Mixtes Un des problèmes inhérents au concept d équilibre de Nash en stratégies pures est que pour certains jeux, de tels équilibres n existent pas. P.ex.le jeu de Pierre, Papier,
Plus en détailChap17 - CORRECTİON DES EXERCİCES
Chap17 - CORRECTİON DES EXERCİCES n 3 p528 Le signal a est numérique : il n y a que deux valeurs possibles pour la tension. Le signal b n est pas numérique : il y a alternance entre des signaux divers
Plus en détailComme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:
Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.
Plus en détailProblèmes arithmétiques issus de la cryptographie reposant sur les réseaux
Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Damien Stehlé LIP CNRS/ENSL/INRIA/UCBL/U. Lyon Perpignan, Février 2011 Damien Stehlé Problèmes arithmétiques issus de la cryptographie
Plus en détailI Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...
TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................
Plus en détailExercices - Fonctions de plusieurs variables : corrigé. Pour commencer
Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy
Plus en détailChapitre 13 Numérisation de l information
DERNIÈRE IMPRESSION LE 2 septembre 2013 à 17:33 Chapitre 13 Numérisation de l information Table des matières 1 Transmission des informations 2 2 La numérisation 2 2.1 L échantillonage..............................
Plus en détailCours de mathématiques
DEUG MIAS premier niveau Cours de mathématiques année 2003/2004 Guillaume Legendre (version révisée du 3 avril 2015) Table des matières 1 Éléments de logique 1 1.1 Assertions...............................................
Plus en détailSOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des
Plus en détailChapitre 2 Le problème de l unicité des solutions
Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)
Plus en détailOptimisation, traitement d image et éclipse de Soleil
Kléber, PCSI1&3 014-015 I. Introduction 1/8 Optimisation, traitement d image et éclipse de Soleil Partie I Introduction Le 0 mars 015 a eu lieu en France une éclipse partielle de Soleil qu il était particulièrement
Plus en détailProposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.
DÉVELOPPEMENT 32 A 5 EST LE SEUL GROUPE SIMPLE D ORDRE 60 Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. Démonstration. On considère un groupe G d ordre 60 = 2 2 3 5 et
Plus en détailRésolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
Plus en détailCours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
Plus en détailLe théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines
Plus en détailIntégration et probabilités TD1 Espaces mesurés Corrigé
Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.
Plus en détailNombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN
Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques
Plus en détailAlgorithmique des Systèmes Répartis Protocoles de Communications
Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation
Plus en détailProgrammes des classes préparatoires aux Grandes Ecoles
Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Mathématiques Seconde année Préambule Programme
Plus en détailCoefficients binomiaux
Probabilités L2 Exercices Chapitre 2 Coefficients binomiaux 1 ( ) On appelle chemin une suite de segments de longueur 1, dirigés soit vers le haut, soit vers la droite 1 Dénombrer tous les chemins allant
Plus en détailDate : 18.11.2013 Tangram en carré page
Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches
Plus en détailCorrection de l examen de la première session
de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi
Plus en détailLES DECIMALES DE π BERNARD EGGER
LES DECIMALES DE π BERNARD EGGER La génération de suites de nombres pseudo aléatoires est un enjeu essentiel pour la simulation. Si comme le dit B Ycard dans le cours écrit pour le logiciel SEL, «Paradoxalement,
Plus en détailUne introduction aux codes correcteurs quantiques
Une introduction aux codes correcteurs quantiques Jean-Pierre Tillich INRIA Rocquencourt, équipe-projet SECRET 20 mars 2008 1/38 De quoi est-il question ici? Code quantique : il est possible de corriger
Plus en détailINF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies
INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH
Plus en détailRégression linéaire. Nicolas Turenne INRA nicolas.turenne@jouy.inra.fr
Régression linéaire Nicolas Turenne INRA nicolas.turenne@jouy.inra.fr 2005 Plan Régression linéaire simple Régression multiple Compréhension de la sortie de la régression Coefficient de détermination R
Plus en détailThéorèmes de Point Fixe et Applications 1
Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des
Plus en détailFibonacci et les paquerettes
Fibonacci et les paquerettes JOLY Romain & RIVOAL Tanguy Introduction Quand on entend dire que l on peut trouver le nombre d or et la suite de Fibonacci dans les fleurs et les pommes de pin, on est au
Plus en détailLa fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Plus en détail1 Introduction au codage
CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles
Plus en détailSignalisation, codage, contrôle d'erreurs
Signalisation, codage, contrôle d'erreurs Objectifs: Plan Comprendre les mécanismes utilisés pour transmettre des informations sur un support physique Comprendre la nécessité de regrouper les informations
Plus en détailI. Polynômes de Tchebychev
Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire
Plus en détailL analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :
La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.
Plus en détailLA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE
LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M belayach@fsr.ac.ma 1 1.Le réseau
Plus en détailCalcul fonctionnel holomorphe dans les algèbres de Banach
Chapitre 7 Calcul fonctionnel holomorphe dans les algèbres de Banach L objet de ce chapitre est de définir un calcul fonctionnel holomorphe qui prolonge le calcul fonctionnel polynômial et qui respecte
Plus en détailActivité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels
Activité 4 Tour de cartes Détection et correction des erreurs Résumé Lorsque les données sont stockées sur un disque ou transmises d un ordinateur à un autre, nous supposons généralement qu elles n ont
Plus en détail