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.
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.
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.
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.
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.
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).
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.
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.
Code à longueur variableDans la théorie des codes, le code à longueur variable est un code qui associe les symboles de la source à un nombre variable de bits. Les codes à longueur variable peuvent permettre à la source d'être compressée et décompressée avec une erreur nulle: il s'agit d'une compression sans perte. L'opération inverse du codage est alors possible pour chaque symbole. À partir d'une bonne stratégie de codage, une source i.i.d peut être compressée arbitrairement proche de son entropie, ce qui permet par exemple d'associer des mots longs aux symboles sources les moins fréquents.
Code cycliqueEn mathématiques et en informatique, un code cyclique est un code correcteur linéaire. Ce type de code possède non seulement la capacité de détecter les erreurs, mais aussi de les corriger sous réserve d'altérations modérées. Les mathématiques sous-jacentes se fondent sur la théorie des corps finis, et en particulier les extensions de Galois ainsi que les polynômes. Les codes cycliques, encore appelés contrôles de redondance cyclique (CRC), correspondent à une large famille de codes, on peut citer par exemple le code de Hamming, les codes BCH ou le code de Reed-Solomon.
Rapidité de modulationDans un canal de communication utilisant une méthode de transmission par éléments temporels discrets, dont les canaux de communication numériques, la rapidité de modulation, aussi appelée « vitesse de modulation », est l'inverse de la plus courte durée théorique de l'élément de signal. Dans la plupart des canaux numériques, les éléments de signal ou symboles sont de durée égale, et la rapidité de modulation est le nombre de moments élémentaires de signal par unité de temps.
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.
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.
Code rateIn telecommunication and information theory, the code rate (or information rate) of a forward error correction code is the proportion of the data-stream that is useful (non-redundant). That is, if the code rate is for every k bits of useful information, the coder generates a total of n bits of data, of which are redundant. If R is the gross bit rate or data signalling rate (inclusive of redundant error coding), the net bit rate (the useful bit rate exclusive of error correction codes) is .
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.
Débit binaireLe débit binaire est une mesure de la quantité de données numériques transmises par unité de temps. Selon ses définitions normatives, il s'exprime en bits par seconde (bit/s, b/s ou bps) ou un de ses multiples en employant les préfixes du Système international (SI) : kb/s (kilobits par seconde), Mb/s (mégabits par seconde) et ainsi de suite. Dans le domaine de l'informatique, le débit est parfois exprimé en octets par seconde. Un octet équivaut à 8 bits, nombre de bits correspondant aux premières et aux plus simples des machines, et permettant de transmettre un caractère alphanumérique.
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 .
Théorie de l'informationLa théorie de l'information, sans précision, est le nom usuel désignant la théorie de l'information de Shannon, qui est une théorie utilisant les probabilités pour quantifier le contenu moyen en information d'un ensemble de messages, dont le codage informatique satisfait une distribution statistique que l'on pense connaître. Ce domaine trouve son origine scientifique avec Claude Shannon qui en est le père fondateur avec son article A Mathematical Theory of Communication publié en 1948.
Codage de HuffmanLe codage de Huffman est un algorithme de compression de données sans perte. Le codage de Huffman utilise un code à longueur variable pour représenter un symbole de la source (par exemple un caractère dans un fichier). Le code est déterminé à partir d'une estimation des probabilités d'apparition des symboles de source, un code court étant associé aux symboles de source les plus fréquents. Un code de Huffman est optimal au sens de la plus courte longueur pour un codage par symbole, et une distribution de probabilité connue.
Viterbi decoderA Viterbi decoder uses the Viterbi algorithm for decoding a bitstream that has been encoded using a convolutional code or trellis code. There are other algorithms for decoding a convolutionally encoded stream (for example, the Fano algorithm). The Viterbi algorithm is the most resource-consuming, but it does the maximum likelihood decoding. It is most often used for decoding convolutional codes with constraint lengths k≤3, but values up to k=15 are used in practice. Viterbi decoding was developed by Andrew J.