Error correction codeIn computing, telecommunication, information theory, and coding theory, forward error correction (FEC) or channel coding is a technique used for controlling errors in data transmission over unreliable or noisy communication channels. The central idea is that the sender encodes the message in a redundant way, most often by using an error correction code or error correcting code (ECC). The redundancy allows the receiver not only to detect errors that may occur anywhere in the message, but often to correct a limited number of errors.
Binary erasure channelIn coding theory and information theory, a binary erasure channel (BEC) is a communications channel model. A transmitter sends a bit (a zero or a one), and the receiver either receives the bit correctly, or with some probability receives a message that the bit was not received ("erased") . A binary erasure channel with erasure probability is a channel with binary input, ternary output, and probability of erasure . That is, let be the transmitted random variable with alphabet .
Code (information)vignette|redresse|Code morse international. En sciences et techniques, notamment en informatique et en théorie de l'information, un code est une règle de transcription qui, à tout symbole d'un jeu de caractères (alphabet source) assigne de manière univoque un caractère ou une chaîne de caractères pris dans un jeu de caractères éventuellement différent (alphabet cible). Un exemple est le code morse qui établit une relation entre lettres de l'alphabet latin et des séquences de sons courts et longs.
Block codeIn coding theory, block codes are a large and important family of error-correcting codes that encode data in blocks. There is a vast number of examples for block codes, many of which have a wide range of practical applications. The abstract definition of block codes is conceptually useful because it allows coding theorists, mathematicians, and computer scientists to study the limitations of all block codes in a unified way.
Code linéaireEn mathématiques, plus précisément en théorie des codes, un code linéaire est un code correcteur ayant une certaine propriété de linéarité. Plus précisément, un tel code est structuré comme un sous-espace vectoriel d'un espace vectoriel de dimension finie sur un corps fini. L'espace vectoriel fini utilisé est souvent F2n le terme usuel est alors celui de code linéaire binaire. Il est décrit par trois paramètres [n, k, δ] . n décrit la dimension de l'espace qui le contient. Cette grandeur est appelée longueur du code.
Code de HadamardLe code de Hadamard est un code correcteur, nommé d'après Jacques Hadamard, à taux de transfert extrêmement faible mais à grande distance, couramment utilisé pour la détection et la correction d'erreurs lors de la transmission de messages sur des canaux très bruyants ou peu fiables. Dans la notation standard de la théorie du codage pour les codes en bloc, le code de Hadamard est un code , c'est-à-dire un code linéaire sur un alphabet binaire, a une longueur de bloc de , la longueur (ou la dimension) du message , et une distance minimale .
Codes de parité à faible densitéDans la théorie de l'information, un contrôle de parité de faible densité LDPC est un code linéaire correcteur d'erreur, permettant la transmission d'information sur un canal de transmission bruité. LDPC est construit en utilisant un graphe biparti clairsemé. Les codes LDPC ont une capacité approchant la limite théorique. À l'aide de techniques itératives de propagation d'information sur la donnée transmise et à décoder, les codes LDPC peuvent être décodés en un temps proportionnel à leur longueur de bloc.
Canal binaire symétriqueAlice veut transmettre un message à Bob. Un canal binaire symétrique est un canal discret où Alice transmet une suite d’éléments de l'ensemble et où la probabilité d'erreur dans la transmission d'un symbole est de , pour 0 et pour 1 (d'où la symétrie). Ce canal est sans mémoire, c'est-à-dire qu'aucune archive des messages n'est conservée. En communication, un problème classique est d'envoyer de l'information d'une source à une destination via un canal de communication, en présence de bruit.
Computational complexityIn computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) and memory storage requirements. The complexity of a problem is the complexity of the best algorithms that allow solving the problem. The study of the complexity of explicitly given algorithms is called analysis of algorithms, while the study of the complexity of problems is called computational complexity theory.
Code de répétitionLe code de répétition est une solution simple pour se prémunir des erreurs de communication dues au bruit dans un canal binaire symétrique. C'est une technique de codage de canal, c'est-à-dire un code correcteur. Il s'agit d'envoyer plusieurs copies de chaque bit à être transmis. Autrement dit, ce code de répétition encode la transmission des bits ainsi (sur trois bits) : La première chaîne de caractères est appelée le 0 logique et la deuxième, le 1 logique puisqu'elles jouent le rôle de 0 et 1 respectivement.
Canal de communication (théorie de l'information)vignette En théorie de l'information, un canal de communication ou canal de transmission est un support (physique ou non) permettant la transmission d'une certaine quantité d'information, depuis une source (ou émetteur) vers un destinataire (ou récepteur). Souvent, le canal altère l'information transmise, par exemple en ajoutant un bruit aléatoire. La quantité d'information qu'un canal de communication peut transporter est limitée : on parle de capacité du canal.
Convolutional codeIn telecommunication, a convolutional code is a type of error-correcting code that generates parity symbols via the sliding application of a boolean polynomial function to a data stream. The sliding application represents the 'convolution' of the encoder over the data, which gives rise to the term 'convolutional coding'. The sliding nature of the convolutional codes facilitates trellis decoding using a time-invariant trellis. Time invariant trellis decoding allows convolutional codes to be maximum-likelihood soft-decision decoded with reasonable complexity.
PermutationEn mathématiques, la notion de permutation exprime l'idée de réarrangement d'objets discernables. Une permutation d'objets distincts rangés dans un certain ordre correspond à un changement de l'ordre de succession de ces objets. La permutation est une des notions fondamentales en combinatoire, c'est-à-dire pour des problèmes de dénombrement et de probabilités discrètes. Elle sert ainsi à définir et à étudier le carré magique, le carré latin, le sudoku, ou le Rubik's Cube.
Capacité d'un canalLa capacité d'un canal, en génie électrique, en informatique et en théorie de l'information, est la limite supérieure étroite du débit auquel l'information peut être transmise de manière fiable sur un canal de communication. Suivant les termes du théorème de codage du canal bruyant, la capacité d'un canal donné est le débit d'information le plus élevé (en unités d'information par unité de temps) qui peut être atteint avec une probabilité d'erreur arbitrairement faible. La théorie de l'information, développée par Claude E.
Méthode de décodageEn théorie des codes, il existe plusieurs méthodes standards pour décoder des mots de code transmis sur un canal de communication avec bruit. Ce sont donc des techniques qui servent à effectuer l'opération inverse du codage de canal. Le décodage par vote majoritaire. Le décodage par observateur idéal. Le décodage par probabilité maximale. Le décodage par distance minimale. Le décodage par syndrome est une méthode de décodage très efficace pour un code linéaire sur un canal de communication avec bruit.
Complexité en espaceEn algorithmique, la complexité en espace est une mesure de l'espace utilisé par un algorithme, en fonction de propriétés de ses entrées. L'espace compte le nombre maximum de cases mémoire utilisées simultanément pendant un calcul. Par exemple le nombre de symboles qu'il faut conserver pour pouvoir continuer le calcul. Usuellement l'espace que l'on prend en compte lorsque l'on parle de l'espace nécessaire pour des entrées ayant des propriétés données est l'espace nécessaire le plus grand parmi ces entrées ; on parle de complexité en espace dans le pire cas.
Code préfixeUn code préfixe (ou code instantané) est un code ayant la particularité de ne posséder aucun mot du code ayant pour préfixe un autre mot du code. Autrement dit, aucun mot du code (ou symbole) d'un code préfixe ne peut se prolonger pour donner un autre mot du code (ou symbole). C'est une propriété souvent recherchée pour les codes à longueur variable, afin de pouvoir les décoder lorsque plusieurs symboles sont concaténés les uns aux autres sans qu'il soit nécessaire d'utiliser des séparateurs (les séparateurs rendent préfixes des codes non préfixes).
Complexité dans le pire des casEn informatique, la complexité dans le pire des cas, ou complexité dans le cas le plus défavorable, mesure la complexité (par exemple en temps ou en espace) d'un algorithme dans le pire des cas d'exécution possibles. Elle est exprimée comme une fonction de la taille de l'entrée de l'algorithme. Implicitement, on cherche à construire des algorithmes s'exécutant en utilisant le moins de ressources possible (e.g. le plus vite possible), et il s'agit par conséquent d'une borne supérieure des ressources requises par l'algorithme.
Algorithmethumb|Algorithme de découpe d'un polygone quelconque en triangles (triangulation). Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le , le traitement de textes, la bio-informatique L' algorithme peut être mis en forme de façon graphique dans un algorigramme ou organigramme de programmation.
Turbo codeTurbo code est le nom générique d'un code correcteur imaginé dans les années 1990, qui permet de s'approcher aussi près qu'on le souhaite de la limite de Shannon. Les turbo codes représentent une percée majeure dans le domaine des communications numériques. Ils sont utilisés dans de nombreux standards de téléphonie mobile (UMTS, LTE), de communications par satellites (Inmarsat, DVB-RCS) ou de courants porteurs en ligne. Leur inventeur est Claude Berrou qui breveta cette technologie pour le compte de France Télécom et TDF.