FR2795255A1 - Method for pre-coding data for transmission; uses computing operation, for assembly SO, with binary pre-coded word S1 so as to forms second group of binary symbols, called pre-codes contained in rectangular table - Google Patents
Method for pre-coding data for transmission; uses computing operation, for assembly SO, with binary pre-coded word S1 so as to forms second group of binary symbols, called pre-codes contained in rectangular table Download PDFInfo
- Publication number
- FR2795255A1 FR2795255A1 FR9907754A FR9907754A FR2795255A1 FR 2795255 A1 FR2795255 A1 FR 2795255A1 FR 9907754 A FR9907754 A FR 9907754A FR 9907754 A FR9907754 A FR 9907754A FR 2795255 A1 FR2795255 A1 FR 2795255A1
- Authority
- FR
- France
- Prior art keywords
- code
- binary
- matrix
- symbols
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
<B> </B> Procédé et dispositif de pré-codage de données L'invention est du domaine général des procédés de transfert d'informations. Elle concerne plus particulièrement un procédé et un dispositif de pré-codage. <B> </ B> Method and device for pre-coding data The invention is in the general field of information transfer methods. It relates more particularly to a method and a pre-coding device.
La présente invention a pour contexte initial une demande de brevet précédente des mêmes inventeurs FR <B>98109100,</B> non encore publiée, intitulée "Procédé et dispositif de codage et de transmission utilisant un sous-code d'un code produit". The present invention has as its initial context a previous patent application of the same inventors FR <B> 98109100, </ B> not yet published, entitled "Method and device for coding and transmission using a subcode of a product code" .
L'objet de la présente invention est de lutter contre les erreurs apparaissant lors de la transmission d'information, notamment dans le cadre d'une transmission sans<B>fil.</B> En effet, les signaux transmis, notamment ceux de nature électrique, sont perturbés par du bruit. The object of the present invention is to fight against the errors occurring during the transmission of information, especially in the context of a transmission without <B> wire. </ B> Indeed, the transmitted signals, in particular those of electrical nature, are disturbed by noise.
Dans une transmission d'information, on utilise de façon classique l'introduction de redondance dans le signal transmis, c!est <B>à</B> dire que des signaux excédentaires, fonction (souvent combinaison linéaire) des autres signaux sont transmis avec les signaux élémentaires eux-mêmes, et permettent dans une certaine mesure de corriger des signaux que l'on détermine comme reçus d'une façon erronée, lorsque le signal de redondance n'est pas égal<B>à</B> la combinaison linéaire des signaux reçus (cette présentation très résumée couvre une technique bien connue de l'homme du métier). In a transmission of information, the introduction of redundancy into the transmitted signal is conventionally used, ie it is to be said that excess signals, function (often linear combination) of the other signals are transmitted. with the elementary signals themselves, and to a certain extent make it possible to correct signals that are determined to be received incorrectly, when the redundancy signal is not equal <B> to </ B> linear combination of the received signals (this highly summarized presentation covers a technique well known to those skilled in the art).
On appelle cet ajout de redondance un codage des séquences entrantes, qui sont de préférence présentées sous forme binaire. Un codeur est un dispositif permettant de réaliser un tel codage. This addition of redundancy is called an encoding of the incoming sequences, which are preferably presented in binary form. An encoder is a device for performing such an encoding.
Un type classique de codeur, dit codeur produit, utilise une disposition en matrice des séquences d'information<B>à</B> coder et émettre. Dans le procédé de codage par code produit, connu de l'homme du métier, les données sont placées dans un tableau matriciel, et des lignes et des colonnes supplémentaires sont ajoutées<B>à</B> ce tableau pour fournir des équations de redondance sur les symboles des lignes et des colonnes du tableau matriciel initial. A typical type of encoder, called the encoder product, uses a matrix arrangement of information sequences to encode and transmit. In the product code coding method, known to those skilled in the art, the data is placed in a matrix table, and additional rows and columns are added to this array to provide equations of redundancy on the symbols of the rows and columns of the initial matrix table.
On comprend que dans un tel procédé de codage, on a créé des redondances sur les lignes et les colonnes de la matrice des symboles élémentaires d'information<B>à</B> transmettre, et que l'on peut donc corriger un certain nombre d'erreurs de transmission. It will be understood that in such a coding method, redundancies have been created on the lines and columns of the matrix of the elementary information symbols <B> to be transmitted, and that it is therefore possible to correct a certain number of transmission errors.
Les codes produits sont bien connus et particulièrement adaptés<B>à</B> un décodage itératif. The product codes are well known and particularly suitable for iterative decoding.
Pour décoder un message reçu r représenté aussi sous la forme d'un tableau matriciel<I>n, x n2,</I> on peut commencer par décoder les lignes et on fait les corrections, s'il<B>y</B> a lieu. Puis avec les données corrigées, on décode les colonnes et on fait les corrections. On peut ainsi itérer le procédé. To decode a received message r represented also in the form of a matrix table <I> n, x n2, </ I> one can begin by decoding the lines and make the corrections, if it <B> y </ B> takes place. Then with the corrected data, we decode the columns and make the corrections. It is possible to iterate the process.
<B>Il</B> est également possible d'utiliser une méthode de décodage itératif<B>à</B> entrées et sorties douces, ce qui améliore les performances de la transmission. On parle alors de turbo-décodage. On pourra consulter<B>à</B> ce propos l'article de R. Pyndiah, <B>A.</B> Glavieux, <B>A.</B> Picart et<B>S.</B> Jacq intitulé "near optimum decoding of product codes", paru dans les actes de IEEE Globecom'94 Conférence, San Francisco, pp <B>339-343,</B> Dans le but d'augmenter encore la performance de correction d'erreurs, avec décodage itératif, il a été introduit par les mêmes inventeurs (dans la demande de brevet française non publiée 98/09100) un procédé de codage particulier qui créé des redondances non seulement sur les lignes et les colonnes de la matrice émise, mais également sur certaines diagonales de pentes prédéterminées. <B> It </ B> is also possible to use an iterative decoding method <B> to </ B> soft inputs and outputs, which improves the performance of the transmission. This is called turbo-decoding. The article by R. Pyndiah, <B> A. </ B> Glavieux, <B> A </ B> Picart and <B> S. </ B> Jacq entitled "near optimum decoding of product codes", published in the proceedings of IEEE Globecom'94 Conference, San Francisco, pp. 339-343, in order to further increase the correction performance of errors, with iterative decoding, it has been introduced by the same inventors (in the unpublished French patent application 98/09100) a particular coding method which creates redundancies not only on the rows and columns of the emitted matrix , but also on certain diagonals of predetermined slopes.
On utilise dans cette invention des sous-codes de codes produits pour lesquels chaque mot de code u doit avoir non seulement, dans sa représentation matricielle, ses lignes et ses colonnes, mais également certaines diagonales (dites diagonales<B>à</B> redondance) faisant partie d'un code binaire prédéterminé. In this invention, product code sub-codes are used for which each codeword u must have not only, in its matrix representation, its lines and columns, but also certain diagonals (called diagonals <B> to </ B>). redundancy) forming part of a predetermined bit code.
Si l'on considère les lignes et les colonnes comme des diagonales particulières, l'invention précitée impose que des fonctions de redondance soient réalisées sur au moins trois diagonales passant par une composante quelconque de la matrice de symboles. If we consider the lines and columns as particular diagonals, the aforementioned invention requires that redundancy functions are performed on at least three diagonals passing through any component of the matrix of symbols.
On a vu dans ce document que des codes dits codes Abéliens sont particulièrement bien adaptés<B>à</B> cette approche. We have seen in this document that codes called Abelian codes are particularly suitable <B> for </ B> this approach.
Par ailleurs, un procédé de décodage itératif a été décrit dans l'invention précitée, qui utilise non seulement les équations de vérification de parité sur les lignes et les colonnes des matrices représentant les mots de code des mots reçus en sortie du canal bruité, mais aussi les équations de vérification de parité qui correspondent aux diagonales<B>à</B> redondance. Moreover, an iterative decoding method has been described in the aforementioned invention, which uses not only the parity verification equations on the rows and columns of the matrices representing the codewords of the words received at the output of the noisy channel, but also the parity check equations that correspond to the diagonals <B> to </ B> redundancy.
Les inventeurs ont démontré que cet ajout de redondance diagonale additionnelle ne réduit pas de façon exagérée le rendement de codage, par rapport<B>à</B> celui des codes par produit direct (sans diagonales<B>à</B> redondance). The inventors have demonstrated that this addition of additional diagonal redundancy does not overly reduce the coding efficiency, compared to that of the codes by direct product (without diagonals <B> to </ B> redundancy ).
Or il se trouve que, dans le cadre de l'utilisation d'un système de communication pré-existant, un utilisateur peut être contraint d'utiliser un codeur fonctionnant avec un procédé de correction d'erreurs, tel que par exemple le produit direct de codes cycliques, qui est moins puissant que le procédé de codage<B>(à</B> code produit et diagonale<B>à</B> redondance) décrit dans la demande de brevet citée plus haut (FR <B>98/09100)</B> et qui vient d'être brièvement résumé. Cet utilisateur ne peut alors a priori profiter de la performance améliorée du procédé de codage décrit dans l'invention précitée. As it happens, in the context of the use of a pre-existing communication system, a user may be forced to use an encoder operating with an error correction method, such as for example the direct product. of cyclic codes, which is less powerful than the coding method <B> (at </ B> product code and diagonal <B> at </ B> redundancy) described in the patent application cited above (FR <B> 98/09100) which has just been briefly summarized. This user can then a priori benefit from the improved performance of the coding method described in the aforementioned invention.
Le problème fondamental formulé dans la présente invention est alors de permettre d'utiliser un procédé de codage de type produit direct tout en retrouvant les performances de l'invention précitée (redondance additionnelle liée aux diagonales<B>à</B> redondance). The fundamental problem formulated in the present invention is then to make it possible to use a direct product type coding method while rediscovering the performances of the aforementioned invention (additional redundancy linked to diagonals <B> to </ B> redundancy).
Le but de la présente invention est de proposer un procédé et un dispositif de pré-codage permettant de résoudre ce problème, au moins pour un certain type de codeur. De façon résumée, le dispositif selon l'invention est un pré-codeur, destiné <B>à</B> être inséré en amont d'un dispositif de codage de type utilisant une technique dite de produit direct de codes cycliques, Ce pré-codeur effectue une transformation logique sur des séquences d'information entrantes, de manière<B>à</B> ce que les données ainsi précodées, envoyées dans le dispositif de codage<B>à</B> produit direct de codes cycliques, se trouvent en sortie du codeur sous forme de séquences codées dont les lignes, les colonnes et certaines diagonales correspondent<B>à</B> des mots de code d'un code Abélien (tel que ceux décrits dans le document<B>98109100),</B> ce qui est une conformation favorable comme on l'a expliqué en préambule. The object of the present invention is to provide a method and a pre-coding device for solving this problem, at least for a certain type of encoder. Briefly, the device according to the invention is a pre-coder, intended to be inserted upstream of a coding device of the type using a technique known as a direct product of cyclic codes. -coder performs a logical transformation on incoming information sequences, so <B> to </ B> that the data thus precoded, sent in the encoding device <B> to </ B> direct product of cyclic codes , are at the output of the encoder in the form of coded sequences whose lines, columns and some diagonals correspond to code words of an Abelian code (such as those described in document <B> 98109100), which is a favorable conformation as explained in the preamble.
On comprend que dest la combinaison du pré-codage et du codage par produit direct de codes cycliques, qui aboutit au résultat. It is understood that the combination of pre-coding and direct product coding of cyclic codes leads to the result.
Le pré-codeur en tant que tel est un dispositif électronique de type connu. <B>Il</B> met en ceuvre un procédé qui peut être réalisé sous forme logicielle ou matérielle (processeur spécifique) sur tout type de données (séquences d'information) entrantes, par exemple des images, ou toutes autres données numériques. The pre-encoder as such is an electronic device of known type. <B> It </ B> implements a process that can be realized in software or hardware (specific processor) on any type of data (information sequences) incoming, for example images, or any other digital data.
L'invention vise en premier lieu un procédé de pré-codage d'une information représentative d'une grandeur physique et représentée par un ensemble (SO) de premiers symboles binaires, ledit procédé de pré-codage comportant une opération de calcul<B>à</B> partir dudit ensemble (SO) d'un mot binaire précodé <B>(SI),</B> ensemble de deuxièmes symboles binaires, dits précodés et prévus pour être disposés dans un tableau rectangulaire, caractérisé en ce que, étant donné un sous-code prédéterminé<B>(Cl)</B> d'un code prédéterminé<B>(C)</B> de type produit direct, le mot précodé <B>(SI)</B> lorsqu'il est considéré comme ensemble d'information pour le code<B>(C),</B> soit<B>codé</B> par un codeur du code<B>(C)</B> en un mot du sous-code <B>(CI).</B> The invention aims first of all at a method for pre-coding information representative of a physical quantity and represented by a set (SO) of first binary symbols, said pre-coding method comprising a calculation operation <B> from said set (SO) of a precoded binary word <B> (SI), </ B> set of second binary symbols, said to be precoded and arranged to be arranged in a rectangular array, characterized in that , given a predetermined subcode <B> (C1) </ B> of a predetermined code <B> (C) </ B> of direct product type, the precoded word <B> (SI) </ B > when considered as a set of information for the code <B> (C), <B> encoded </ B> by an encoder of the code <B> (C) </ B> in a word from the subcode <B> (CI). </ B>
L'invention vise plus particulièrement un procédé de pré-codage tel qu'exposé succinctement ci-dessus, caractérisé en ce que il comporte les caractéristiques suivantes<B>:</B> <B>11</B> les symboles de l'ensemble (SO) de premiers symboles binaires apparaissent tels quels dans un sous ensemble des positions du tableau rectangulaire ou est disposé le mot binaire précodé <B>(SI)</B> 21 le pré-codage de l'ensemble (SO) pour obtenir le mot binaire précodé <B>(SI)</B> fait usage de matrices (Gi) d'un premier type pour les symboles de (SO) apparaissant dans les positions (i,<B>0)</B> du tableau représentant le mot binaire précodé <B>(SI),</B> et de matrice (G".- <B>)</B> d'un second type pour les symboles de l'ensemble (SO) apparaissant dans les positions<I>(i,<B>j)</B></I> du tableau représentant le mot binaire précodé <B>(SI)</B> telles que j>O. The invention more particularly relates to a pre-coding method as briefly described above, characterized in that it comprises the following characteristics: <B> <B> 11 </ B> the symbols of the set (SO) of first binary symbols appear as they are in a subset of the positions of the rectangular array or is disposed the precoded binary word <B> (SI) </ B> 21 the precoding of the set (SO) to obtain the precoded binary word <B> (SI) </ B> makes use of matrices (Gi) of a first type for the symbols of (SO) appearing in the positions (i, <B> 0) </ B > of the array representing the precoded binary word <B> (SI), </ B> and matrix (G ".- <B>) </ B> of a second type for the symbols of the set (SO) appearing in the <I> (i, <B> j) </ B> </ I> positions of the table representing the precoded binary word <B> (SI) </ B> such that j> O.
Selon une variante, le procédé de pré-codage comporte les caractéristiques suivantes<B>:</B> <B>11</B> les symboles de l'ensemble (SO) de premiers symboles binaires apparaissent tels quels dans un sous ensemble des positions du tableau rectangulaire ou est disposé le mot binaire précodé <B>(SI)</B> 2/ le pré-codage de l'ensemble (SO) pour obtenir le mot binaire précodé <B>(SI)</B> fait usage de matrices (Gj) d'un premier type pour les symboles de (SO) apparaissant dans les positions<B>(0, j)</B> du tableau représentant le mot binaire précodé <B>(SI),</B> et de matrice (G'#q- <B>)</B> d'un second type pour les symboles de l'ensemble (SO) apparaissant dans les positions<I>(i,<B>j)</B></I> du tableau représentant le mot binaire précodé <B>(SI)</B> telles que >0. According to one variant, the pre-coding method comprises the following characteristics: <B> <B> 11 </ B> the symbols of the set (SO) of first binary symbols appear as such in a subset positions of the rectangular table where is arranged the pre-coded binary word <B> (SI) </ B> 2 / the pre-coding of the set (SO) to obtain the precoded binary word <B> (SI) </ B > makes use of matrices (Gj) of a first type for the symbols of (SO) appearing in the positions <B> (0, j) </ B> of the array representing the precoded binary word <B> (SI), </ B> and of matrix (G '# q- <B>) </ B> of a second type for the symbols of the set (SO) appearing in the positions <I> (i, <B> j ) </ B> </ I> of the array representing the precoded binary word <B> (SI) </ B> such as> 0.
Selon des mises en ceuvre particulières de l'invention, éventuellement utilisées en conjonction<B>:</B> <B>-</B> le sous-code <B>(CI)</B> prédéterminé est un code abélien du code<B>(C) à</B> produit direct, ce code abélien<B>(CI)</B> étant défini comme le sous-ensemble de tous les mots du code produit<B>(C)</B> dont certaines diagonales prédéterminées sont également des mots du code cyclique (B) de type<I>(n,<B>k)</B></I> tel que le code<B>(C)</B> est le produit direct du code cyclique (B) par lui-même, tout mot de ce code produit<B>(C)</B> pouvant être représenté par un matrice binaire<I>(n x n).</I> According to particular implementations of the invention, possibly used in conjunction: <B>: </ B> <B> - </ B> the predetermined <B> (CI) </ B> subcode is an abelian code from code <B> (C) to </ B> direct product, this abelian code <B> (CI) </ B> being defined as the subset of all words in the product code <B> (C) < / B> of which certain predetermined diagonals are also words of the cyclic code (B) of type <I> (n, <B> k) </ B> </ I> such that the code <B> (C) </ B> is the direct product of the cyclic code (B) by itself, any word of this product code <B> (C) </ B> that can be represented by a binary matrix <I> (nxn). </ I >
<B>-</B> l'ensemble<B>(1)</B> de positions d'information (dont le nombre (ki) de positions est égal<B>à</B> la dimension (ki) du sous-code <B>(CI </B> pour ce code abélien<B>(CI),</B> est un sous-ensemble du coin supérieur gauche de taille<B><I>k</I></B><I> x<B>k</B></I> de l'ensemble des<I>n</I> <I>x n</I> positions. <B> - </ B> the set <B> (1) </ B> of information positions (whose number (ki) of positions is equal <B> to </ B> the dimension (ki) subcode code <B> (CI </ B> for this abelian code <B> (CI), </ B> is a subset of the upper left corner of size <B> <I> k </ I> </ B> <I> x <B> k </ B> </ I> of the set of <I> n </ I> <I> xn </ I> positions.
Le procédé comporte, dans une mise en #uvre particulière, la création et la mémorisation de matrices du premier type (Gi) en nombre (NL) égal au nombre de lignes de l'ensemble de positions d'information<B>(1)</B> dans le code<B>(CI)</B> choisi, cet ensemble de positions d'information<B>(1)</B> étant représenté sous forme matricielle, chaque matrice du premier type (Gi) étant définie comme la matrice binaire de type<B><I>k</I></B><I> x n des</I><B>k</B> premières lignes de la matrice<I>n x n</I> représentant le mot de code qui a un<B>'T'</B> en position (i,<B>0)</B> et des "0" dans les toutes les autres positions d'information de l'ensemble<B>(1).</B> The method comprises, in a particular implementation, the creation and storage of matrices of the first type (Gi) in number (NL) equal to the number of lines of the set of information positions <B> (1) </ B> in the chosen <B> (CI) </ B> code, this set of information positions <B> (1) </ B> being represented in matrix form, each matrix of the first type (Gi) being defined as the binary matrix of type <B> <I> k </ I> </ B> <I> xn of the </ I> <B> k </ B> first lines of the matrix <I> nxn < / I> representing the codeword that has a <B> 'T' </ B> in position (i, <B> 0) </ B> and "0" in all other information positions of all <B> (1). </ B>
Les matrices du second type (G'#q-) destinées<B>à</B> être utilisées pour le pré- codage d'un symbole d'information apparaissant dans une position<I>(i,<B>j),</B></I> avec un numéro de<B>l</B>igne i compris entre<B>0</B> et<B><I>NU 1,</I></B> sont obtenues par itération j fois et au maximum un nombre de fois (nbp(i égal au nombre de positions dinformation sur ladite ligne i, de l'étape suivante, en prenant comme première matrice intermédiaire la matrice Gi.- - décalage de la matrice intermédiaire de une colonne vers la droite pour former une matrice décalée notée Gi, <B>-</B> et dans cette nouvelle matrice Gli, pour chaque ligne<B>j</B> comprise entre<B>0</B> et NL-1 (valeurs incluses), où un 'T' apparaît dans la première colonne d'indice zéro, ajout modulo 2 de la matrice Gj <B>à</B> cette nouvelle matrice Gli. pour aboutir finalement<B>à</B> une nouvelle matrice intermédiaire, <B>-</B> la matrice intermédiaire finalement obtenue en fin d'itération étant la matrice du second type GliJ. The matrices of the second type (G '# q-) intended to be used for the pre-coding of an information symbol appearing in a position <i> (i, <b> j) , </ B> </ I> with a number of <B> l </ B> igne i between <B> 0 </ B> and <B> <I> NU 1, </ I> </ B > are obtained by iteration j times and at most a number of times (nbp (i equal to the number of information positions on said line i, of the next step, taking as the first intermediate matrix the matrix Gi.- - shift of the matrix intermediate one column to the right to form an offset matrix denoted Gi, <B> - </ B> and in this new matrix Gli, for each line <B> j </ B> between <B> 0 </ B> and NL-1 (values included), where a 'T' appears in the first column of index zero, add modulo 2 of the matrix Gj <B> to </ B> this new matrix Gli. To finally end up < B> to </ B> a new intermediate matrix, <B> - </ B> the intermediate matrix finally obtained at the end of iteration As the matrix of the second type GliJ.
L'invention vise sous un autre aspect un procédé de transmission d'une information SO représentative d'une grandeur physique et représentée par des premiers symboles binaires, comportant<B>:</B> <B>-</B> une opération de pré-codage comprenant une opération de calcul de seconds symboles binaires, dits symboles binaires précodés, <B>à</B> partir de ladite information, lesdits symboles binaires précodés étant prévus pour être disposés dans un tableau carré, <B>-</B> une opération de codage par codeur<B>à</B> produit direct comprenant une opération de calcul de troisièmes symboles binaires, dits symboles binaires codés,<B>à</B> partir desdits symboles binaires précodés, lesdits symboles binaires codés étant prévus pour être disposés dans un tableau carré, <B>-</B> une opération de transfert desdits symboles binaires codés, comprenant une opération de démodulation en des symboles dits symboles reçus, <B>-</B> une opération de correction desdits symboles reçus fournissant des symboles binaires dits symboles corrigés, et <B>-</B> une opération de décodage de l'information<B>à</B> partir desdits symboles corrigés, caractérisé en ce que pour chaque dit symbole binaire codé, il existe au moins trois diagonales distinctes dans le tableau, qui contiennent ce symbole binaire codé et qui, privées de ce symbole binaire codé, permettent encore, chacune<B>à</B> elle seule, de recalculer ledit symbole binaire codé. The invention aims, in another aspect, on a method of transmitting information SO representative of a physical quantity and represented by first binary symbols, comprising <B>: </ B> <B> - </ B> an operation pre-coding circuit comprising an operation of calculating second binary symbols, called precoded binary symbols, from said information, said precoded binary symbols being arranged to be arranged in a square array, <B> - </ B> a coding operation by direct product coder <B> to </ B> comprising a calculation operation of third binary symbols, called coded binary symbols, <B> to </ B> from said precoded binary symbols, said coded binary symbols being provided to be arranged in a square array, <B> - </ B> a transfer operation of said coded bit symbols, comprising a demodulation operation into symbols called received symbols, <B> - </ B> a correction operation said received symbols providing binary symbols called corrected symbols, and <B> - </ B> an operation of decoding the information <B> to </ B> from said corrected symbols, characterized in that for each said binary symbol coded, there are at least three distinct diagonals in the table, which contain this coded binary symbol and which, deprived of this coded binary symbol, still allow each, alone, to recalculate said coded binary symbol .
L'invention vise également un dispositif employant un procédé de pré- codage ou de transmission tels que ceux succinctement présentés ci-dessus. L'invention vise plus généralement un téléphone, un appareil photographique, une imprimante, un scanner, une caméra, un ordinateur, un télécopieur, un téléviseur, un lecteur audio/vidéo, caractérisés en ce que ces dispositifs comportent un dispositif tel qu'exposé brièvement ci-dessus. The invention also relates to a device employing a pre-coding or transmission method such as those briefly presented above. The invention more generally relates to a telephone, a camera, a printer, a scanner, a camera, a computer, a fax machine, a television, an audio / video player, characterized in that these devices comprise a device as explained briefly above.
L'invention vise également un moyen de stockage d'informations et un moyen de stockage d'informations amovible, partiellement ou totalement, lisibles par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre du procédé exposé succinctement ci-dessus La description et les dessins qui suivent permettront de mieux comprendre les buts et avantages de l'invention.<B>Il</B> est clair que cette description est donnée <B>à</B> titre d'exemple, et n'a pas de caractère limitatif. Dans les dessins<B>:</B> <B>-</B> la figure<B>1</B> représente un exemple d'ensemble de positions d'information pour le code Abélien<B>(961,</B> 486)<B>;</B> <B>-</B> le figure 2 représente sous forme de matrice<B>31</B> x<B>31,</B> une ligne<B>(0, 0)</B> d'une matrice génératrice correspondant<B>à</B> l'exemple de la figure<B>1 ;</B> <B>-</B> le figure<B>3</B> représente sous forme de matrice<B>26</B> x<B>31,</B> une ligne<B>(0, 1)</B> d'une matrice génératrice correspondant<B>à</B> l'exemple de la figure<B>1 ;</B> <B>-</B> le figure 4 représente sous forme de matrice<B>26</B> x<B>31,</B> une ligne<B>(1, 0)</B> d'une matrice génératrice correspondant<B>à</B> l'exemple de la figure<B>1 ;</B> <B>-</B> la figure<B>5</B> représente sous forme de matrice<B>26</B> x<B>31,</B> une matrice associée<B>à</B> la position (2,<B>0)</B> pour l'exemple de la figure<B>1 ;</B> <B>-</B> la figure<B>6</B> représente un schéma bloc du procédé selon l'invention, dans le même exemple<B>-,</B> <B>-</B> la figure<B>7</B> illustre schématiquement la constitution d'une station de réseau ou station de codage informatique, sous forme de schéma synoptique; <B>-</B> la figure<B>8</B> représente un organigramme du procédé selon l'invention; <B>-</B> la figure<B>9</B> représente un détail de l'organigramme de la figure<B>8.</B> The invention also provides an information storage means and a removable information storage medium, partially or totally, readable by a computer or a microprocessor retaining instructions of a computer program, allowing the implementation of the exposed method Briefly above The following description and drawings will better understand the purposes and advantages of the invention. <B> It </ b> is clear that this description is given <B> to </ B> title of example, and is not limiting in nature. In drawings <B>: </ B> <B> - </ B> Figure <B> 1 </ B> represents an example of a set of information positions for the Abelian <B> code (961, </ B> 486) <B>; </ B> <B> - </ B> Figure 2 represents as a matrix <B> 31 </ B> x <B> 31, </ B> a line <B> (0, 0) </ B> of a corresponding generator matrix <B> to </ B> the example of Figure <B> 1; </ B> <B> - </ B> figure <B> 3 </ B> represents as a matrix <B> 26 </ B> x <B> 31, </ B> a line <B> (0, 1) </ B> of a matrix corresponding generator <B> to </ B> the example of Figure <B> 1; </ B> <B> - </ B> Figure 4 represents as a matrix <B> 26 </ B> <B> 31, </ B> a <B> (1, 0) </ B> line of a corresponding generator matrix <B> to </ B> the example of Figure <B> 1; </ B <B> - <B> <B> 5 </ B> represents as matrix <B> 26 </ B> x <B> 31, </ B> an associated matrix <B> </ B> position (2, <B> 0) </ B> for the example of Figure <B> 1; </ B> <B> - </ B> Figure <B> 6 </ B> represents a block diagram of the process according to the invention, in the m example <B> -, </ B> <B> - </ B> Figure <B> 7 </ B> schematically illustrates the constitution of a network station or computer coding station, in the form of a block diagram ; <B> - </ B> Figure <B> 8 </ B> represents a flowchart of the method according to the invention; <B> - </ B> Figure <B> 9 </ B> is a detail of the flowchart in Figure <B> 8. </ B>
Avant de décrire un mode particulier de réalisation de la présente invention, nous donnons ci-dessous une présentation mathématique de son fonctionnement, explicitée sur un exemple. Before describing a particular embodiment of the present invention, we give below a mathematical presentation of its operation, explained in an example.
On revient en premier lieu sur le fondement mathématique du code produit, avant de rappeler quelques éléments de la demande de brevet <B>98109100</B> citée en référence. We first return to the mathematical basis of the product code, before recalling some elements of the patent application <B> 98109100 </ B> cited in reference.
On définit un message comme étant une séquence numérique (sous forme par exemple de séquence de symboles d'information binaires). A message is defined as being a digital sequence (in the form of, for example, a sequence of binary information symbols).
On appelle codeur un dispositif qui produit une séquence d'un alphabet de codage prédéterminé,<B>à</B> partir d'une séquence de données entrantes. An encoder is a device that produces a sequence of a predetermined encoding alphabet, from an incoming data sequence.
On appelle code un ensemble de séquences codées produites par le codeur,<B>à</B> partir d'une séquence de données entrantes. A code set is a set of encoded sequences produced by the encoder, from an incoming data sequence.
Pour spécifier un code, ou pour préciser la manière de calculer la redondance<B>à</B> adjoindre<B>à</B> une information, on fait classiquement, comme on l'a dit, usage de matrices, du moins si l'alphabet a une structure d'anneau. To specify a code, or to specify the way of calculating the redundancy <B> to </ B> add <B> to </ B> an information, one makes conventionally, as one said, use of matrices, of the less if the alphabet has a ring structure.
Par exemple, si<B><I>à</I> k</B> symboles d'information binaires (vo, vi, <B><I>-</I> -<I>.,</I></B><I> v<B>k-1),</B></I> on veut adjoindre des symboles redondants (vk, <I>V</I> k1l, <B><I>-</I> -<I>.,</I></B><I> v</I> -,) pour former un mot v <B><I≥</I></B> (vo, vi, <B>...</B> v,,-,) de longueur n (appelée longueur du code,<B>k</B> étant alors appelé dimension du code), on choisit une matrice H (dite matrice de contrôle de parité ou matrice de parité)<B>à</B> n colonnes et<I>n<B>-</B></I><B> k</B> lignes sur l'alphabet (0, <B>1),</B> et on impose au mot binaire v de satisfaire l'équation <I>V</I> *W= <I>0</I> n-k où<B> </B> désigne le produit matriciel, où Ht désigne la matrice transposée de la matrice H,<B>où<I>0</I></B> ,-k est un (n-k)-uple ligne de valeurs nulles, et où les additions sont effectuées modulo 2<B>-</B> on dit alors que le mot v est orthogonal<B>à</B> la matrice <I>H.</I> On note que la dimension du code<B>k</B> est toujours strictement inféheure <B>à</B> la longueur du code n. For example, if <B> <I> to </ I> k </ B> binary information symbols (vo, vi, <B> <I> - </ I> - <I>., </ I </ B> <I> v <B> k-1), </ B> </ I> we want to add redundant symbols (vk, <I> V </ I> k1l, <B> <I> - </ I> - <I>., </ I> </>> <I> v </ I> -,) to form a word v <B> <I≥ </ I> </ B> ( vo, vi, <B> ... </ B> v ,, -,) of length n (called length of the code, <B> k </ B> being then called dimension of the code), one chooses a matrix H (called parity check matrix or parity matrix) <B> to </ B> n columns and <I> n <B> - </ B> </ B> </ b> 'alphabet (0, <B> 1), </ B> and we impose on the binary word v to satisfy the equation <I> V </ I> * W = <I> 0 </ I> nk where <B > </ B> denotes the matrix product, where Ht denotes the transposed matrix of the matrix H, <B> where <I> 0 </ I> </ B>, -k is a (nk) -uple line of values zero, and where the additions are made modulo 2 <B> - </ B> it is said that the word v is orthogonal <B> to </ B> the matrix <I> H. </ I> It is noted that the dimension of the code <B> k </ B> is still strictly <b> to </ B> the length of the code n.
On peut aussi faire usage d'une matrice<B>G</B> de type<B><I>k</I></B><I> x n,</I> dite matrice génératrice. We can also make use of a matrix <B> G </ B> of type <B> <I> k </ I> </ B> <I> x n, </ I> said generator matrix.
Dans ce cas, un mot<I>u<B≥</B></I> fflo, ul, <B><I>...,</I></B><I> un-,)</I> de longueur n est dans le code<B>C</B> si et seulement si il peut s'écrire<B>:</B> u=aG où a<B><I≥</I></B> (ao, <I>ai,<B>...,</B></I> ak-1) est un k-uple binaire. In this case, a word <I> u <B≥ </ B> </ I> fflo, ul, <B> <I> ..., </ I> </ b> <I> un-,) </ I> of length n is in the code <B> C </ B> if and only if it can be written <B>: </ B> u = aG where a <B> <I≥ </ I > </ B> (ao, <I> ai, <B> ..., </ I> </ I> ak-1) is a binary k-uple.
<B>Il</B> est notable que la matrice H peut également être utilisée comme matrice génératrice (codeur) pour un code linéaire, de la même façon que<B>G.</B> <B> It is notable that the matrix H can also be used as a generator matrix (encoder) for a linear code, in the same way as <B> G. </ B>
Le code correspondant est alors appelé code<B>C</B> orthogonal et noté C', et il est l'ensemble de tous les mots de code v<B><I≥</I></B> (vO, vl, <B>...</B> vn-1) qui peuvent être exprimés par v=bH <B>(3)</B> où<B><I>b =</I></B> (bo, bi, <B><I>..</I></B> .,bn-k-1) est un (n-k)-uple binaire, et où tous les calculs sont effectués modulo 2. The corresponding code is then called code <B> C </ B> orthogonal and noted C ', and it is the set of all the code words v <B> <I≥ </ I> </ B> (vO , vl, <b> ... </ b> vn-1) which can be expressed by v = bH <B> (3) </ B> where <B> <I> b = </ I> </ B> (bo, bi, <B> <I> .. </ I> </ B>., Bn-k-1) is a binary (nk) -uple, and all calculations are done modulo 2.
En conséquence, pour tout mot de code<I>u</I> e<B>C</B> et pour tout mot v<B>c</B> C", on <I>a u</I> v=O. Consequently, for every code word <I> u </ I> e <B> C </ B> and for every word v <B> c </ B> C ", we <I> to </ I> v = O.
Ceci signifie que tout mot<I>v e</I> C#' définit une relation de parité qui doit être satisfaite par tous les mots de code<I>u<B>c C.</B></I> This means that every <I> v e </ I> C # 'word defines a parity relation which must be satisfied by all the code words <I> u <B> c C </ B> </ I>.
En particulier, en écrivant v<B><I≥</I></B> (vo, vi, ...v,-,), et avec un nombre i prédéterminé, considérons un sous-ensemble S(i) de tous les mots v de C># tels que vi=l. In particular, by writing v <B> <I≥ </ I> </ B> (vo, vi, ... v, -,), and with a predetermined number i, consider a subset S (i) of all the words v of C> # such that vi = l.
Chacun de ces mots v<I>de</I> Sffl définit une relation de parité qui doit être satisfaite par le symbole ui de tous les mots de code u de<B>C.</B> Each of these words v <I> of </ I> Sffl defines a parity relation which must be satisfied by the symbol ui of all the code words u of <B> C. </ B>
Pour chaque tel mot v<I>de</I> S(i), notons P(vi) l'ensemble de tous les indices <B>j</B> différents de i pour lesquels vj=1. <B>A</B> partie de ce mot de code v, il est possible de recalculer ui pour tous les éléments<I>u</I> de<B>C,</B> dès lors que l'ensemble des couples (uj, <B><I>j)</I></B> (avecjélément de P(vi) etj différent de i) est connu. For each such word v <I> of </ I> S (i), let P (vi) be the set of all indices <B> j </ B> different from i for which vj = 1. <B> A </ B> part of this codeword v, it is possible to recalculate ui for all <I> u </ I> elements of <B> C, </ B> as long as the set pairs (uj, <B> <I> j) </ I> </ B> (with the element of P (vi) andj different from i) are known.
En d'autres termes, on peut reconstituer une composante d'une ligne d'un mot de code u reçu de façon erronée grâce au codage "orthogonal" introduit. On étudie le cas où un mot de code u faisant partie de l'ensemble<B>C</B> (code linéaire binaire<I>(n,<B>k ,</B></I> est transmis sur un canal bruité, et est reçu sous la forme d'un rnot reçu r, n-uple (ro, <I>ri,</I><B>...</B> r,-,) de valeurs de l'alphabet de sortie du canal. In other words, it is possible to reconstitute a component of a line of a codeword u that is incorrectly received by means of the "orthogonal" coding introduced. We study the case where a code word u belonging to the set <B> C </ B> (binary linear code <I> (n, <B> k, </ B> </ I>) is transmitted on a noisy channel, and is received in the form of a received rnot r, n-uple (ro, <I> ri, </ I> <B> ... </ b> r, -,) of values of the output alphabet of the channel.
La réception de la Mème composante ri, lorsque la Même composante ui est transmise, est le résultat de la fonction aléatoire réalisée par le canal bruité. On supposera toujours que cette fonction effectuée par le canal bruité est non corrélée dans le temps. The reception of the same component ri, when the same component ui is transmitted, is the result of the random function performed by the noisy channel. It will always be assumed that this function performed by the noisy channel is uncorrelated in time.
Dans cette situation générale, pour laquelle les composantes ri ne font plus nécessairement partie de l'ensemble<B>{0,11,</B> il est possible de démontrer sans aucune difficulté, que pour tout élément v<I>de</I> S(i) (sous-ensemble de tous les mots de code v de C" tels que vi=I), le sous-ensemble de symboles rj, avec <B>j</B> élément de P(vi) d'une part, et le symbole ri lui-même d'autre part, transportent tous deux des informations sur la valeur réelle de la composante transmise ui. In this general situation, for which the components ri are not necessarily part of the set <B> {0,11, </ B> it is possible to demonstrate without any difficulty, that for any element v <I> of < / I> S (i) (subset of all code words v of C "such that vi = I), the subset of symbols rj, with <B> j </ B> element of P (vi ) on the one hand, and the symbol ri itself on the other hand, both carry information on the actual value of the transmitted component ui.
Cette propriété est utilisable pour améliorer la reconstitution d'une information reçue de façon erronée sur un canal bruité. Dans le but d'améliorer les performances de la transmission par un codage permettant la correction d'erreurs, sans<B> </B> trop<B> </B> augmenter la complexité de sa mise en ceuvre, on a donc recours<B>à</B> la notion de code produit. This property is usable to improve the reconstruction of an information received erroneously on a noisy channel. In order to improve the performance of the transmission by a coding allowing the correction of errors, without <B> </ B> too much <B> </ B> to increase the complexity of its implementation, one thus recourse <B> to </ B> the concept of product code.
Sur ce principe, si on considère deux codes linéaires binaires<B><I>Cl</I></B><I> et</I><B>C2,</B> de types respectivement<I>(ni,</I> ki) <I>et</I> (n2, <B><I>k2),</I></B> il est possible de construire un nouveau code<B>C</B> (dit code produit) de longueur<I>ni x n2.</I> On this principle, if we consider two binary linear codes <B> <I> Cl </ I> </ B> <I> and </ I> <B> C2, </ B> of types respectively <I> ( neither, </ I> ki) <I> and </ I> (n2, <B> <I> k2), </ I> </ B> it is possible to build a new code <B> C </ B> (called product code) of length <I> nor x n2. </ I>
Les mots de code de<B>C</B> sont représentés par des matrices binaires<B>à</B><I>ni</I> lignes et<I>n2</I> colonnes, et une telle matrice u est un mot de code de<B>C</B> si toutes ses lignes sont des mots de code de<B>C2</B> et si toutes ses colonnes sont des mots de code de<B>Ci.</B> Dans ce contexte, on note uq le symbole placé en position (ij) dans une telle représentation matricielle du mot de code<I>u de</I> C, avec i compris entre<B>0</B> et ni-1 (en pouvant prendre ces valeurs), et<B>j</B> compris entre<B>0</B> et<I>n2-1 (en</I> pouvant prendre ces valeurs). Code words from <B> C </ B> are represented by <B> to </ B> <I> and </ I> rows and <I> n2 </ I> binary matrices, and such matrix u is a codeword of <B> C </ B> if all its lines are code words of <B> C2 </ B> and all of its columns are code words of <B> Ci. </ B> In this context, we denote uq the symbol placed in position (ij) in such a matrix representation of the codeword <I> u of </ I> C, with i between <B> 0 </ B > and ni-1 (by being able to take these values), and <B> j </ B> ranging between <B> 0 </ B> and <I> n2-1 (in </ I> can take these values) .
Rappelons alors quelques éléments de la demande de brevet<B>98109100</B> citée plu haut, et de son enseignement technique relatif<B>à</B> un procédé de codage avec "redondance diagonale additionnelle". Recall then some elements of the patent application <B> 98109100 </ B> cited above, and its technical teaching relative <B> to </ B> a coding process with "additional diagonal redundancy".
On considère<B>à</B> titre de simplification le cas où<I>ni et</I> n2 prennent la même valeur notée n. Dans ce cas on définit un sous mot de code diagonal u (") de la matrice<I>n x n</I> comme étant de la forme<B>:</B> U <I>(")<B≥ (U</B> Oc,<B>U</B></I> l,c+d, <B><I>U</I></B> 2,c,2d,..., Uic+idp ---,Un-1, c+(n-I)d) dans laquelle c est un entier quelconque compris entre<B>0</B> et<I>n-1</I> et pouvant prendre ces valeurs, et<B>d</B> est un entier relativement premier avec<I>n</I> et compris entre<B>1</B> et<I>n-1</I> (en pouvant prendre ces valeurs). We consider <B> to </ B> simplification title the case where <I> ni and </ I> n2 take the same value noted n. In this case, we define a diagonal subscript code u (") of the matrix <I> nxn </ I> as being of the form <B>: </ B> U <I> (") <B≥ ( U </ B> Oc, <B> U </ B> </ I> l, c + d, <B> <I> U </ I> </ B> 2, c, 2d, ..., Uic + idp ---, Un-1, c + (nI) d) in which c is any integer between <B> 0 </ B> and <I> n-1 </ I> and can take these values , and <B> d </ B> is a relatively prime integer with <I> n </ I> and between <B> 1 </ B> and <I> n-1 </ I> (being able to take these values).
Le nombre<B>d</B> étant relativement premier avec<I>n,</I> il est possible de trouver son inverse modulo n, c'est<B>à</B> dire qu'il existe un entier unique e compris entre<B>1</B> et<I>n-1</I> (en pouvant prendre ces valeurs) tel que le reste de e<I>x<B>d</B></I> modulo n soit égal<B>à 1.</B> Cet entier e est appelé pente du sous mot de code diagonal<I>u</I> (c,'O dans la représentation matricielle<I>n x n</I> du mot de code<I>u.</I> Since the number <B> d </ B> is relatively prime with <I> n, </ I> it is possible to find its inverse modulo n, it is <B> to </ B> that there is a single integer e between <B> 1 </ B> and <I> n-1 </ I> (being able to take these values) such that the rest of e <I> x <B> d </ B> < / I> modulo n be equal <B> to 1. </ B> This integer e is called the slope of the diagonal codeword <I> u </ I> (c, 'O in the matrix representation <I> nxn </ I> of the code word <I> u. </ I>
<B>A</B> titre d'exemple, on reprend un cas décrit dans le document précité. On choisit n (nombre de colonne de la matrice) égal<B>à 31,</B> et soit<B>C</B> le code produit direct du code binaire B de Hamming <B>(31, 26)</B> par lui-même, qui est donc de ce fait un code<B>(31</B> x<B>31, 26</B> x<B>26)</B> soit<B>(961, 676).</B> <B> A </ B> As an example, we use a case described in the aforementioned document. One chooses n (number of column of the matrix) equal to <B> to 31, </ B> and is <B> C </ B> the direct product code of the binary code B of Hamming <B> (31, 26) </ B> by itself, which is therefore a code <B> (31 </ B> x <B> 31, 26 </ B> x <B> 26) </ B> ie <B > (961, 676). </ B>
Comme on l'a vu plus haut, il est possible de représenter tout mot de ce code produit<B>C</B> par un matrice binaire<B>31</B> x<B>31</B> (comportant<B>961</B> éléments). As we saw above, it is possible to represent any word of this product code <B> C </ B> with a binary matrix <B> 31 </ B> x <B> 31 </ B> ( with <B> 961 </ B> elements).
Pour appliquer le procédé décrit en préambule, on définit un code particulier<B>CI</B> comme le sous-ensemble de tous les mots de ce code produit<B>C</B> dont certaines diagonales sont également des mots du code de Hamming <B>(31,</B> <B>26).</B> To apply the method described in the preamble, a particular code <B> CI </ B> is defined as the subset of all the words of this product code <B> C </ B>, some of whose diagonals are also words of the Hamming code <B> (31, </ B> <B> 26). </ B>
<B>Il</B> a été mentionné dans le document FR <B>98/09100</B> que si on impose, par exemple, que toutes les diagonales de pente égale<B>à 5</B> ou<B>à 10</B> soient également des mots de code du code de Hamming <B>(31, 26),</B> alors la dimension ki du sous-code <B>CI</B> du code produit<B>C</B> correspondant est 486. <B> It </ B> was mentioned in document FR <B> 98/09100 </ B> that if, for example, all diagonals of slope <B> to 5 </ B> or <B> to 10 </ B> are also code words of the Hamming code <B> (31, 26), </ B> then the dimension ki of the <B> CI </ B> code subcode Corresponding product <B> C </ B> is 486.
L'homme du métier peut alors aisément trouver par calcul matriciel basé sur une méthode échelon classique par ligne (ou colonne), un ensemble<B>1</B> de 486 (ki) positions d'information pour ce code<B>CI,</B> qui soit préférablement un sous-ensemble du coin supérieur gauche de taille<B>26</B> x<B>26 (676</B> éléments) de l'ensemble des<B>31</B> x<B>31</B> positions<B>(961</B> éléments). The person skilled in the art can then easily find by matrix calculation based on a conventional step method by line (or column), a set of 486 (ki) information positions for this code <B> 1 </ B> CI, </ B> which is preferably a subset of the upper left corner of size <B> 26 </ B> x <B> 26 (676 </ B> elements) of all <B> 31 < / B> x <B> 31 </ B> positions <B> (961 </ B> elements).
Dans cet exemple, un tel ensemble<B>1</B> de positions d'information est représenté sur la figure<B>1.</B> Cette figure représente une matrice carrée<B>31</B> x<B>31 à</B> coefficients binaires, et comportant des<B>1 "</B> en position<I>(i,<B>j)</B> (où</I> i désigne la ligne et<B>j</B> la colonne de la matrice, avec<B>0</B> :g <I>i,<B>j</B></I> #g30) si et seulement si uij est une position faisant partie de cet ensemble<B>1</B> de positions d'information. In this example, such a set <B> 1 </ B> of information positions is shown in Figure 1. </ B> This figure represents a square matrix <B> 31 </ B> x < B> 31 to </ B> binary coefficients, and with <B> 1 "</ B> in <I> position (i, <B> j) </ B> (where </ I> i is the line and <B> j </ B> the column of the matrix, with <B> 0 </ B>: g <I> i, <B> j </ B> </ I> # g30) if and only if uij is a position that is part of this <B> 1 </ B> set of information positions.
De plus, par un calcul matriciel, l'homme du métier peut obtenir une quelconque des 486 (=kl) lignes de longueur<B>961</B> (=n*n) d'une matrice<B>G</B> génératrice de<B>Cl,</B> qui soit systématique par rapport aux 486 positions d'information référencées sur la figure<B>1</B> # Dans les figures 2<B>à</B> 4 sont présentées, sous forme de matrices<B>31</B> x<B>31,</B> trois lignes de cette matrice génératrice<B>G</B> présentant des<B>'T'</B> respectivement dans les positions<B>(0,0)</B> (figure 2), (0,1) (figure<B>3)</B> et<B>(1,0)</B> (figure 4), et des<B>"0"</B> dans les autres positions d'information (correspondant aux positions des<B>'T'</B> de la matrice illustrée sur la figure<B>1).</B> Moreover, by a matrix calculation, the skilled person can obtain any of the 486 (= kl) lines of length <B> 961 </ B> (= n * n) of a matrix <B> G </ B> Generator of <B> Cl, </ B> which is systematic with respect to the 486 information positions referenced in Figure <B> 1 </ B> # In Figures 2 <B> to </ B> 4 are presented, in the form of matrices <B> 31 </ B> x <B> 31, </ B> three lines of this generating matrix <B> G </ B> with <B> 'T' </ B> > in positions <B> (0,0) </ B> (figure 2), (0,1) (figure <B> 3) </ B> and <B> (1,0) </ B > (figure 4), and <B> "0" </ B> in the other information positions (corresponding to the positions of the <B> 'T' </ B> of the matrix shown in figure <B> 1). </ B>
Dans ces matrices des figures 2<B>à</B> 4, le coin supérieur gauche de taille<B>26</B> x<B>26</B> est représenté explicitement. In these matrices of FIGS. 2B to 4, the upper left corner of size <B> 26 </ B> x <B> 26 </ B> is shown explicitly.
Dans cet exemple, le sous-ensemble de positions d'information noté<B>1</B> est alors défini par: 1={(0,0),(0,1),...., (0,25),(1,0),....,(16,25),(17,O)#...,(17,20),(18,0),....(21,5 et sa cardinalité est de 486 (puisque le nombre de<B>1 "</B> de la figure<B>1</B> est de 16x26<B>+</B> 2x2l + <B>16 +</B> 2 x6). In this example, the subset of information positions noted <B> 1 </ B> is then defined by: 1 = {(0,0), (0,1), ...., (0, 25), (1,0), ...., (16,25), (17 W) # ..., (17,20), (18.0), .... (21.5 and its cardinality is 486 (since the number of <B> 1 "</ B> in Figure <B> 1 </ B> is 16x26 <B> + </ B> 2x2l + <B> 16 + < / B> 2 x6).
Dans cet exemple, le problème se formule alors de la façon suivante<B>:</B> on veut utiliser une matrice génératrice (codeur) classique du code<B>C (961,676)</B> obtenu par produit direct du code B de Hamming (n=31,<B>k=26)</B> par lui-même, d'une manière telle que le mot de code<B>31</B> x<B>31</B> produit (lorsque on code une séquence d'information entrante) fasse partie du sous code<B>CI</B> de dimension 486 obtenu quand on impose en plus des équations de vérification de parité sur les diagonales de pente el=5 et e2=10. In this example, the problem is then expressed as follows: <B>: </ B> we want to use a standard generator matrix (encoder) of the code <B> C (961,676) </ B> obtained by direct product code B of Hamming (n = 31, <b> k = 26) </ B> by itself, in such a way that the codeword <B> 31 </ B> x <B> 31 </ B > product (when encoding an incoming information sequence) is part of the subcategory <B> CI </ B> of dimension 486 obtained when one also imposes parity verification equations on the diagonals of slope el = 5 and e2 = 10.
Le principe de la solution choisie est <B>-</B> de définir le coin supérieur gauche de dimension<B>26</B> x<B>26</B> d'une matrice <B>31</B> x<B>31</B> (décrivant un mot de code de<B>C)</B> comme un mot de pré-code <B>SI,</B> dest <B>à</B> dire comme un mot de code obtenu par pré-codage d'une séquence d'information entrante SO, lequel mot de pré-code <B>SI</B> est ensuite considéré par le codeur classique<B>(961, 676)</B> (de matrice génératrice<B>à</B> produit direct) comme une simple séquence d'informations<B>à</B> coder. The principle of the chosen solution is <B> - </ B> to define the upper left corner of dimension <B> 26 </ B> x <B> 26 </ B> of a matrix <B> 31 </ B> x <B> 31 </ B> (describing a code word of <B> C) </ B> as a pre-code word <B> IF, </ B> dest <B> to </ B> say as a codeword obtained by pre-coding an incoming information sequence SO, which pre-code word <B> SI </ B> is then considered by the conventional encoder <B> (961, 676) </ B> (from matrix generator <B> to </ B> direct product) as a simple sequence of information <B> to </ B> code.
<B>-</B> d'imposer sur ces mots de pré-code <B>SI</B> une condition telle que lorsque ce mot de pré-code <B>SI</B> est codé par le codeur classique<B>à</B> produit direct (961, <B>676),</B> le mot de code<B>S2</B> résultant fasse partie du sous-ensemble<B>CI</B> désiré du code<B>C,</B> dit par produit direct complet, et satisfasse de ce fait les équations de vérification de parité imposées sur les diagonales de pente<B>5</B> et<B>10</B> (dans cet exemple particulier), créant ainsi une redondance supplémentaire, ainsi qu'on l'a expliqué dans le préambule. <B> - </ B> to impose on these pre-code words <B> SI </ B> a condition such as when this pre-code word <B> SI </ B> is encoded by the encoder classical <B> to </ B> direct product (961, <B> 676), <b> S2 </ B> resulting code word is part of the subset <B> CI </ B > desired by the complete direct product code <B> C, </ B>, and thus satisfies the parity verification equations imposed on the diagonals of slope <B> 5 </ B> and <B> 10 < / B> (in this particular example), creating additional redundancy, as explained in the preamble.
En conséquence, il est donc nécessaire de créer un pré-codeur <B>(676,</B> 486) qui produise,<B>à</B> partir de 486 éléments d'information, les matrices<B>26</B> x<B>26</B> correspondantes (mots de pré-code <B>SI</B> de longueur<B>676),</B> considérées ensuite par le codeur classique<B>(961, 676) à</B> produit direct comme de simples séquences d'information. Therefore, it is necessary to create a pre-encoder <B> (676, </ B> 486) that produces, <B> from </ B> from 486 pieces of information, the matrices <B> 26 </ B> x <B> 26 </ B> corresponding (pre-code <B> SI </ B> words of length <B> 676), </ B> then considered by the classical <B> encoder < 961, 676) to direct product as simple information sequences.
Ainsi, la combinaison du pré-codage et du codage classique produira,<B>à</B> partir de séquences SO d'une longueur 486 (au lieu de séquences de longueur <B>676</B> si on entrait directement dans le codeur classique<B>C),</B> des mots de code<B>S2</B> de longueur<B>961</B> faisant partie du code Abélien<B>(961,</B> 486 , et vérifiant donc des conditions de redondance sur quatre (dans l'exemple décrit ici<B>à</B> titre non limitatif) diagonales de pentes distinctes (en considérant ici encore que les lignes et les colonnes sont des cas particuliers de diagonales). Thus, the combination of pre-coding and classical coding will produce, from SO sequences of length 486 (instead of sequences of length 676 if we entered directly in the classical encoder <B> C), <B> S2 </ B> codewords of length <B> 961 </ B> that are part of the Abelian <B> code (961, </ B > 486, and therefore verifying redundancy conditions in four (in the example described here <B> to </ B> non-limiting title) diagonals of distinct slopes (again considering that the rows and columns are special cases diagonals).
Dans une mise en ceuvre du procédé décrite<B>à</B> titre d'exemple non limitatif (illustrée figure<B>6),</B> on utilise le fait que le code Abélien<B>(961,</B> 486) a un ensemble de positions d'information<B>1</B> concentré dans les 21 premières lignes (plus généralement dans un nombre NL de lignes) des matrices<B>31</B> x<B>31</B> représentant les mots de code (ce qu'on voit clairement sur la figure<B>1).</B> In an implementation of the method described <B> to </ B> as a non-limiting example (illustrated in figure <B> 6), </ B> is used the fact that the Abelian code <B> (961, < / B> 486) has a set of information positions <B> 1 </ B> concentrated in the first 21 rows (more generally in an NL number of rows) of the matrices <B> 31 </ B> x <B > 31 </ B> representing the code words (which is clearly seen in Figure 1). </ B>
Dans ce cas, le pré-codeur utilise 21 (plus généralement NL) matrices binaires de type<B>26</B> x<B>31</B> notées Gi, avec i compris entre<B>0</B> et 20 (en pouvant prendre ces valeurs). Plus généralement, le pré-codeur utilise autant (NQ de matrices binaires qu'il<B>y</B> a de lignes de positions d'information dans le Code Abélien choisi. In this case, the pre-encoder uses 21 (more generally NL) binary matrices of type <B> 26 </ B> x <B> 31 </ B> denoted Gi, with i ranging between <B> 0 </ B > and 20 (by being able to take these values). More generally, the pre-coder uses as many (NQ of binary matrices as there are lines of information positions in the chosen Abelian Code.
La matrice notée<B>Go</B> est la première de ces matrices. Elle est donc définie comme la matrice des<B>26</B> premières lignes de la matrice<B>31</B> x<B>31</B> représentée figure 2. The matrix noted <B> Go </ B> is the first of these matrices. It is therefore defined as the matrix of the <B> 26 </ B> first rows of the matrix <B> 31 </ B> x <B> 31 </ B> shown in Figure 2.
De même,<B>G,</B> est définie comme la matrice des<B>26</B> premières lignes de la matrice<B>31</B> x<B>31</B> représentée figure 4 (la figure<B>3</B> correspondant<B>à</B> une position d'information sur la même ligne<B>-</B> la première- que la matrice de la figure 2). Similarly, <B> G, </ B> is defined as the matrix of the <B> 26 </ B> first rows of the matrix <B> 31 </ B> 31 </ B> represented figure 4 (Figure <B> 3 </ B> corresponding <B> to </ B> an information position on the same line <B> - </ B> the first - as the matrix of Figure 2).
De même,<B>G2</B> est définie comme la matrice des<B>26</B> premières lignes de la matrice<B>31</B> x<B>31</B> représentée figure<B>5.</B> Similarly, <B> G2 </ B> is defined as the matrix of the <B> 26 </ B> first rows of the matrix <B> 31 </ B> x <B> 31 </ B> shown in Figure < B> 5. </ B>
Et plus généralement, Gi est définie comme la matrice des<B>26</B> premières lignes de la matrice<B>31</B> x<B>31</B> représentant le mot de code qui a un<B>1 "</B> en position <I>(i,</I><B>0)</B> et des<B>"0"</B> dans les 485 autres positions d'information de l'ensemble<B>1</B> illustré par la figure<B>1.</B> And more generally, Gi is defined as the matrix of the <B> 26 </ B> first rows of the matrix <B> 31 </ B> x <B> 31 </ B> representing the code word that has a < B> 1 "</ B> in <I> position (i, </ I> <B> 0) </ B> and <B>" 0 "</ B> in the other 485 information positions of the set <B> 1 </ B> shown in Figure <B> 1. </ B>
Le calcul de ces matrices est réalisable de façon connue de l'homme du métier, comme il a été dit plus haut, et ces 21 matrices Gi de type<B>26</B> x<B>31</B> peuvent alors être stockées dans un dispositif mémoire du pré-codeur. The calculation of these matrices is feasible in a manner known to those skilled in the art, as mentioned above, and these 21 matrices Gi of type <B> 26 </ B> x <B> 31 </ B> can then be stored in a memory device of the pre-encoder.
li <B>A</B> partir de ces vingt et une matrices Gi le pré-codage des symboles d'information apparaissant dans les positions (i,<B>0)</B> est complètement défini. From these twenty-one matrices Gi the pre-coding of the information symbols appearing in the positions (i, <B> 0) </ B> is completely defined.
2/ Pour pré-coder un symbole d'information apparaissant dans une position (i,<B>1),</B> on utilise le procédé suivant: on décale la matrice initiale Gi de une colonne vers la droite (la dernière colonne<B>à</B> droite devenant la première colonne, et toutes les autres colonnes étant décalées d'une position vers la droite). Des 'T' peuvent donc apparaître dans la première colonne (d'indice zéro) de cette matrice décalée notée Gi, et pour chaque ligne<B>j</B> comprise entre<B>0</B> et 20 (valeurs incluses), de cette nouvelle matrice Gi, où un<B>'T'</B> apparaît dans la première colonne d'indice zéro, on ajoute modulo 2 la matrice Gj <B>à</B> cette nouvelle matrice Gli. pour aboutir finalement<B>à</B> une matrice G"i, <B><I>1.</I></B> 2 / To pre-code an information symbol appearing in a position (i, <B> 1), the following method is used: the initial matrix Gi is shifted by one column to the right (the last column <B> to </ B> right becoming the first column, and all other columns being shifted one position to the right). 'T' can therefore appear in the first column (zero index) of this shifted matrix denoted Gi, and for each line <B> j </ B> ranging between <B> 0 </ B> and 20 (values included), of this new matrix Gi, where a <B> 'T' </ B> appears in the first column of index zero, we add modulo 2 the matrix Gj <B> to </ B> this new matrix Gli . finally to <B> to </ B> a matrix G "i, <B> <I> 1. </ I> </ B>
On utilise alors le 676-uple représenté par le coin supérieur<B>26</B> x<B>26</B> de cette matrice Gli, <B>1</B> pour pré-coder l'information associée<B>à</B> la position <I>(il<B>1)</B></I><B> -</B> <B>3/</B> Pour pré-coder un symbole d'information apparaissant dans une position<I>(i, m),</I> on utilise le procédé suivant<B>:</B> Pour i compris entre<B>0</B> et<B>15</B> (valeurs incluses), la méthode du point 2/ ci- dessus est itérée <I>m</I> fois et au maximum jusqu'à m=25 (puisque la matrice de la figure<B>1</B> présente des positions d'information comportant vingt six 'T' dans les <B>26</B> premières colonnes, pour les lignes d'indices<B>0 à</B> 15)# La matrice initiale Gi est remplacée après une itération par la première matrice intermédiaire Gli, <B>1</B> obtenue, et ainsi de suite. Pour i compris entre<B>16</B> et<B>17,</B> la méthode du point 2/ ci-dessus est itérée m fois et au maximum jusqu'à<I>m=20</I> (les positions d'information s'arrêtent<B>à</B> la 21-ème colonne). The 676-uple represented by the top corner <B> 26 </ B> x <B> 26 </ B> of this Gli matrix is then used, <B> 1 </ B> to pre-code the associated information <B> to </ B> the position <I> (it <B> 1) </ B> </ B> - </ B> <B> 3 / </ B> To pre-code a information symbol appearing in a position <I> (i, m), </ I> we use the following method <B>: </ B> For i between <B> 0 </ B> and <B> 15 </ B> (values included), the method in point 2 / above is iterated <I> m </ I> times and at most until m = 25 (since the matrix of the figure <B> 1 </ B> has information positions with twenty six 'T' in the first <B> 26 </ B> columns, for index lines <B> 0 to </ B> 15) # The initial matrix Gi is replaced after an iteration by the first intermediate matrix Gli, <B> 1 </ B> obtained, and so on. For i between <B> 16 </ B> and <B> 17, </ B> the method in point 2 / above is iterated m times and up to <I> m = 20 </ I > (the information positions stop <B> at </ B> the 21-th column).
Pour i<B≥ 18,</B> cette même méthode est itérée <I>m</I> fois et au maximum jusqu'à <B>15</B> (les positions d'information s'arrêtent<B>à</B> la 16-ième colonne). For i <B≥ 18, </ B> this same method is iterated <I> m </ I> times and at most until <B> 15 </ B> (information positions stop <B > to </ B> the 16 th column).
Pour i compris entre<B>19</B> et 20, cette même méthode est itérée <I>m</I> fois et au maximum jusqu'à<I>m=5</I> (les positions d'information s'arrêtent<B>à</B> la 6-ème colonne). For i ranging between <B> 19 </ B> and 20, this same method is iterated <I> m </ I> times and at most until <I> m = 5 </ I> (the positions of information stop <B> at </ B> the 6th column).
Plus généralement, pour pré-coder un symbole d'information Sim apparaissant dans une position (i, <I>m),</I> avec un numéro de ligne i compris entre <B>0</B> et NL-1, la méthode du point 2/ est itérée <I>m</I> fois et au maximum un nombre de fois noté nbp(i) égal au nombre de positions d'information sur ladite ligne i. More generally, for pre-coding an information symbol Sim appearing in a position (i, <I> m), </ I> with a line number i ranging between <B> 0 </ B> and NL-1 , the method of point 2 / is iterated <I> m </ I> times and at most a number of times noted nbp (i) equal to the number of information positions on said line i.
On est alors capable de pré-coder en une matrice<B>26</B> x<B>26</B> tous les symboles d'informations appartenant<B>à</B> l'ensemble des 486 positions d'information<B>1,</B> et donc toute séquence SO qui soit une combinaison de ces 486 positions. We are then able to pre-code into a matrix <B> 26 </ B> x <B> 26 </ B> all the information symbols belonging to <B> to </ B> all 486 positions of information <B> 1, </ B> and therefore any SO sequence that is a combination of these 486 positions.
<B>0</B> n peut écri re <B>S<I>1</I></B> =1 Gi <I>x</I> S(i, o) <B><I>+1 G "q-</I></B><I> x</I> Scq? Comme on l'a démontré plus haut, tous les mots<B>SI</B> de pré-code <B>(26, 26)</B> issus de ce pré-codage de mots SO, une fois codés par un codeur classique <B>(961, 676) à</B> produits direct, feront partie du code<B>CI</B> Abélien<B>(961,</B> 486) et présenteront donc les caractéristiques de redondance diagonale recherchées. <B> 0 </ B> n can write <B> S <I> 1 </ I> </ B> = 1 Gi <I> x </ I> S (i, o) <B> <I > +1 G "q - </ I> </ I> <I> x </ I> Scq? As it was demonstrated above, all the words <B> SI </ B> of pre-code < B> (26, 26) </ B> resulting from this pre-coding of words SO, once coded by a conventional coder <B> (961, 676) to </ B> direct products, will be part of the code <B > CI </ B> Abelian <B> (961, </ B> 486) and will therefore have the desired diagonal redundancy characteristics.
<B>Il</B> est clair que ce qui a été réalisé dans l'exemple décrit avec<I>n=31</I> peut être réalisé pour toute autre valeur de la longueur n du code de Hamming B choisi initialement, même si, dans le cas où<I>n</I> n'est pas un nombre premier (n=15 par exemple), la structure algébrique du sous-code du code produit est plus complexe. <B> It </ B> is clear that what has been achieved in the example described with <I> n = 31 </ I> can be realized for any other value of the length n of the Hamming code B originally chosen , even if, in the case where <I> n </ I> is not a prime number (n = 15 for example), the algebraic structure of the subcode of the product code is more complex.
Plus généralement, la même opération peut être réalisée avec des codes cycliques généraux et pas seulement avec des codes de Hamming. En résumé, le Procédé de pré-codage d'une information (SO) représentée par des premiers symboles binaires, ledit procédé de pré-codage comportant une opération de calcul<B>à</B> partir de ladite information (SO), d'un mot binaire précodé <B>(SI),</B> ensemble de symboles binaires dits précodés, prévus pour être disposés dans un tableau matriciel<B><I>k</I></B><I> x<B>k,</B></I> la séquence d'information (SO) étant une combinaison de positions d'informations<I>(i,<B>j)</B></I> appartenant<B>à</B> un ensemble<B>(1)</B> prédéterminé, comporte des étapes de <B>11</B> pré-codage des symboles d'information de l'information (SO) apparaissant dans les positions (i, <B>0)</B> par des matrices (Gi) d'un premier type; 21 pré-codage des symboles d'information apparaissant dans les positions <I>(i,<B>j)</B></I> j>O, par des matrices (G",-,,.) d'un second type. More generally, the same operation can be carried out with general cyclic codes and not only with Hamming codes. In summary, the method of pre-coding information (SO) represented by first binary symbols, said pre-coding method comprising a calculation operation <B> to </ B> from said information (SO), a precoded binary word <B> (SI), </ B> set of binary symbols called precoded, intended to be arranged in a matrix table <B> <I> k </ I> </ B> <I> x <B> k, </ B> </ I> the information sequence (SO) being a combination of information positions <I> (i, <B> j) </ B> </ I> belonging <B> to </ B> a predetermined <B> (1) </ B> set, includes steps of <B> 11 </ B> pre-coding information information symbols (SO) appearing in the positions (i, <B> 0) </ B> by matrices (Gi) of a first type; Pre-coding the information symbols appearing in the positions <I> (i, <B> j) </ I> </ I> j> O, by matrices (G ", - ,,.) Of a second type.
L'ensemble<B>(1)</B> prédéterminé est un ensemble de positions d'information d'un sous-code <B>(CI)</B> prédéterminé d'un code<B>(C) à</B> produit direct d'un code cyclique prédéterminé (B) de type<I>(n,<B>k)</B></I> par lui-même, tout mot de ce code produit<B>(C)</B> pouvant être représenté par un matrice binaire<I>(n x n).</I> The predetermined set <B> (1) </ B> is a set of information positions of a predetermined subcode <B> (CI) </ B> of a code <B> (C) to </ B> direct product of a predetermined cyclic code (B) of type <I> (n, <B> k) </ I> </ I> by itself, any word of this product code <B> (C) </ B> can be represented by a binary matrix <I> (nxn). </ I>
Le sous-code <B>(CI)</B> prédéterminé est un code abélien du code<B>(C) à</B> produit direct, ce code abélien<B>(CI)</B> étant défini comme le sous-ensemble de tous les mots du code produit<B>(C)</B> dont certaines diagonales prédéterminées sont également des mots du code cyclique (B). The predetermined <B> (CI) </ B> subcode is an abelian code from the <B> (C) to </ B> direct product code, which abelian <B> (CI) </ B> code is defined as the subset of all the words of the product code <B> (C) </ B> whose predetermined diagonals are also words of the cyclic code (B).
L'ensemble<B>(1)</B> de positions d'information (dont le nombre (ki) de positions est égal<B>à</B> la dimension (ki) du sous-code <B>(Cl </B> pour ce code abélien<B>(Cl),</B> est un sous-ensemble du coin supérieur gauche de taille<B><I>k</I></B><I> x<B>k</B></I> de l'ensemble des<I>n</I> <I>x n</I> positions. The set <B> (1) </ B> of information positions (whose number (ki) of positions is equal <B> to </ B> the dimension (ki) of the subcode <B> ( Cl </ B> for this abelian code <B> (Cl), </ B> is a subset of the upper left corner of size <B> <I> k </ I> </ B> <I> x <B> k </ B> </ I> of the set of <I> n </ I> <I> xn </ I> positions.
Le procédé comporte la création et la mémorisation de matrices du premier type (Gi) en nombre (NL) égal au nombre de lignes de l'ensemble de positions d'information<B>(1)</B> dans le code<B>(Cl)</B> choisi, cet ensemble de positions d'information<B>(1)</B> étant représenté sous forme matricielle, chaque matrice du premier type (Gi) étant définie comme la matrice binaire de type<B><I>k</I></B><I> x n des</I><B>k</B> premières lignes de la matrice<I>n x n</I> représentant le mot de code qui a un<B>1 "</B> en position (i,<B>0)</B> et des<B>"0"</B> dans les toutes les autres positions d'information de l'ensemble<B>(1).</B> De la même manière, les matrices du second type (G"ij) destinées<B>à</B> être utilisées pour le pré-codage d'un symbole d'information apparaissant dans une position<I>(i,<B>j),</B></I> avec un numéro de ligne i compris entre<B>0</B> et NL-1, sont obtenues par itération<B>j</B> fois et au maximum un nombre de fois (nbp(i égal au nombre de positions d'information sur ladite ligne i, de l'étape suivante, en prenant comme première matrice intermédiaire la matrice Gi: <B>-</B> décalage de la matrice intermédiaire de une colonne vers la droite pour former une matrice décalée notée Gi, <B>-</B> et dans cette nouvelle matrice Gli, pour chaque ligne<B>j</B> comprise entre<B>0</B> et<B>NUI</B> (valeurs incluses), où un<B>'T'</B> apparaît dans la première colonne d'indice zéro, ajout modulo 2 de la matrice Gj <B>à</B> cette nouvelle matrice Gli. pour aboutir finalement<B>à</B> une nouvelle matrice intermédiaire, <B>-</B> la matrice intermédiaire finalement obtenue en fin d'itération étant la matrice du second type GliJ. The method comprises creating and storing matrices of the first type (Gi) in number (NL) equal to the number of lines of the set of information positions <B> (1) </ B> in the code <B > (Cl) </ B> chosen, this set of information positions <B> (1) </ B> being represented in matrix form, each matrix of the first type (Gi) being defined as the binary matrix of type < <I> k </ I> </>> <I> xn of the </ I> <B> k </ B> first rows of the <I> nxn </ I> matrix representing the code word that has a <B> 1 "</ B> in position (i, <B> 0) </ B> and <B>" 0 "</ B> in all other information positions in the set <B> (1). </ B> In the same way, the matrices of the second type (G "ij) intended to be used for the pre-coding of an information symbol appearing in a position <I> (i, <B> j), </ B> </ I> with a line number i between <B> 0 </ B> and NL-1, are obtained by iteration <B > j </ B> times and at most a number of times (nbp (i equals the number of information positions on said line i, of the following step, taking as the first intermediate matrix the matrix Gi: <B> - </ B> shift of the intermediate matrix of a column to the right to form an offset matrix denoted Gi, <B> - </ B> and in this new matrix Gli, for each line <B> j </ B> between <B> 0 </ B> and <B> NUI </ B> (values included), where a <B> 'T' </ B> appears in the first column of index zero, adding modulo 2 of the matrix Gj <B> to </ B> this new matrix Gli. finally to <B> to </ B> a new intermediate matrix, <B> - </ B> the intermediate matrix finally obtained at the end of the iteration being the matrix of the second type GliJ.
La description d'un mode particulier de réalisation du dispositif mettant en #uvre la présente invention va maintenant se poursuivre en regard des figures <B>6 à 9.</B> The description of a particular embodiment of the device embodying the present invention will now be continued with reference to FIGS. 6 to 9.
La figure<B>7</B> illustre schématiquement la constitution d'un dispositif de pré- codage, sous forme de schéma synoptique. Ce dispositif comporte une source d'informations externe<B>1,</B> un port d'entrée-sortie 2 (adapté<B>à</B> être relié<B>à</B> un codeur classique) et une carte de traitement<B>3.</B> Figure <B> 7 </ B> schematically illustrates the constitution of a pre-coding device, in the form of a block diagram. This device has an external information source <B> 1, </ B> an input-output port 2 (suitable <B> to </ B> be connected <B> to </ B> a conventional encoder) and a treatment card <B> 3. </ B>
La carte de traitement<B>3</B> comporte, reliés entre eux par un bus d'adresses et de données 4<B>-</B> <B>-</B> une unité centrale de traitement<B>5</B> <B>-</B> une mémoire vive RAM <B>6;</B> <B>-</B> une mémoire morte ROM <B>71</B> <B>-</B> le port d'entrée-sortie 2<B>-1</B> Chacun des éléments illustrés en figure<B>7</B> est bien connu de l'homme du métier des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces éléments communs ne sont donc pas décrits ici. On observe, cependant, que<B>-</B> <B>-</B> la source d'informations<B>1</B> est, par exemple, un périphérique d'interface, un capteur, un démodulateur, une mémoire externe ou un autre système de traitement d'information (non représenté), et est préférentiellement adaptée<B>à</B> fournir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia, sous forme de séquences de données binaires. The <B> 3 </ B> processing board has, connected to each other by an address and data bus 4 <B> - </ B> <B> - </ B> a central processing unit <B > 5 <B> - </ B> a RAM RAM <B> 6; </ B> <B> - </ b> </ b> </ b> </ b> </ b> - </ B> the input-output port 2 <B> -1 </ B> Each of the elements illustrated in Figure <B> 7 </ B> is well known to those skilled in the field of transmission systems and more generally, information processing systems. These common elements are therefore not described here. It is observed, however, that <B> - </ B> <B> - </ B> the information source <B> 1 </ B> is, for example, an interface device, a sensor, a demodulator, an external memory or other information processing system (not shown), and is preferably adapted to provide signal sequences representative of speech, service messages or multimedia data, form of binary data sequences.
On observe, en outre, que le mot "registre" utilisé dans la description désigne, dans chacune des mémoires<B>6</B> et<B>7,</B> aussi bien une zone mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier). It is further observed that the word "register" used in the description designates, in each of the memories <B> 6 </ B> and <B> 7, </ B> as well a memory zone of low capacity (a few binary data) that a memory area of large capacity (for storing an entire program).
La mémoire vive<B>6</B> conserve des données, des variables et des résultats intermédiaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. La mémoire vive<B>6</B> comporte notamment<B>-</B> <B>-</B> un registre "données_primaires" dans lequel sont conservées, dans l'ordre de leur arrivée sur le bus 4, des données binaires en provenance de la source d'information<B>1,</B> <B>-</B> un registre "nb-données" qui conserve un nombre entier correspondant au nombre de données binaires, dans le registre "données#_Primaires <B>-</B> un registre SO, <B>-</B> un registre Sl, <B>-</B> les matrices G'01 G'l, <B>...<I>G</I></B> #j, <B>...</B> G'NL-1 <B>-</B> les matrices G" <I>m,</I> G",,, <B>...</B> G'#-,,,, <B><I>...</I></B> G" 01 0, <B><I>NU 1,</I></B><I> m</I> On note que ces matrices peuvent être pré-stockées en mémoire morte ou calculées une seule fois et stockées en mémoire vive au début du pré-codage (ce qui augmente l'espace mémoire requis, mais réduit le temps de calcul de pré-codage). RAM <B> 6 </ B> keeps data, variables and intermediate processing results in memory registers carrying, in the description, the same names as the data whose values they retain. The RAM <B> 6 </ B> contains in particular <B> - </ B> <B> - </ B> a register "data_primaires" in which are kept, in the order of their arrival on the bus 4 , binary data from the information source <B> 1, </ B> <B> - </ B> a "nb-data" register that keeps an integer corresponding to the number of binary data, in the register "data # _Primaries <B> - </ B> a register SO, <B> - </ B> a register Sl, <B> - </ B> the matrices G'01 G'l, <B>. .. <I> G </ I> </ B> #j, <B> ... </ B> G'NL-1 <B> - </ B> the matrices G "<I> m, < / I> G ",,, <B> ... </ B> G '# - ,,,, <B> <I> ... </ I> </ B> G" 01 0, <B > <I> NU 1, </ I> </ B> <I> m </ I> Note that these matrices can be pre-stored in read-only memory or computed once and stored in RAM at the beginning of the pre -coding (which increases the memory space required, but reduces the pre-coding calculation time).
<B>-</B> la matrice Gint <B>-</B> les variables i, <B><I>j,</I></B><I> m,<B>q</B></I> La mémoire morte<B>6</B> est adaptée<B>à</B> conserver par exemple, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent<B>:</B> <B>-</B> le programme de fonctionnement de l'unité centrale de traitement<B>5,</B> dans un registre "program", <B>-</B> la longueur n du code de Hamming B, <B>-</B> la dimension de ce code<B>k,</B> <B>-</B> l'ensemble de positions d'information<B>1,</B> pour le code<B>Cl,</B> <B>-</B> le nombre NL de lignes de positions d'information dans la représentation matricielle de l'ensemble<B>1,</B> <B>-</B> le nombre de positions d'information nbp(i) sur chaque ligne i de la représentation matricielle de<B>1,</B> <B>-</B> les matrices<I>Go,</I> Gi, ...Gi, <B>...<I>G</I></B> NL-1 L'unité centrale de traitement<B>5</B> est adaptée<B>à</B> mettre en #uvre le procédé de codage des séquences d'informations SO, <B>à</B> l'aide des matrices Gi, G'i, Gli,m, ainsi qu'il a été exposé plus haut, pour obtenir des mots de pré-code <B>SI</B> qui sont envoyés au codeur<B>à</B> produit direct. <B> - </ B> the matrix Gint <B> - </ B> the variables i, <b> <i> j, </ i> </ b> <i> m, <b> q </ B> </ I> The <B> 6 </ B> ROM is suitable for keeping, for example, in registers which, for convenience, have the same names as the data they hold. <B>: </ B> <B> - </ B> the running program of the CPU <B> 5, </ B> in a registry "program", <B> - </ B > the length n of the Hamming code B, <B> - </ B> the dimension of this code <B> k, </ B> <B> - </ B> the set of information positions <B > 1, </ B> for the code <B> Cl, </ B> <B> - </ B> the number NL of information position lines in the matrix representation of the set <B> 1, <B> - </ b> the number of information positions nbp (i) on each line i of the matrix representation of <b> 1, </ b> <b> - </ b> matrices <I> Go, </ I> Gi, ... Gi, <B> ... <I> G </ I> </ B> NL-1 The central processing unit <B> 5 </ B> is adapted <B> to </ B> implement the method of encoding SO information sequences, <B> to </ B> using matrices Gi, G'i, Gli, m, as discussed above, to obtain pre-code words <B> SI </ B> which are sent to the encoder <B> to </ B> direct product.
Plus précisément, un organigramme du procédé est illustré dans les figures<B>8</B> et<B>9.</B> Specifically, a process flow diagram is shown in Figures <B> 8 </ B> and <B> 9. </ B>
Dans cet exemple, les matrices du premier type Gi sont préalablement stockées en mémoire vive<B>6</B> dans une opération<B>El,</B> et les matrices du second type G",,,, sont calculées et stockées en mémoire vive<B>6</B> dans une opération<B>E2.</B> In this example, the matrices of the first type Gi are previously stored in RAM <B> 6 </ B> in an operation <B> El, </ B> and the matrices of the second type G ",,,, are calculated and stored in RAM <B> 6 </ B> in an <B> E2 operation. </ B>
Pour chaque information entrante SO, le mot précodé est alors calculé par simple combinaison linéaire des matrices des premier et second type Gi, G'#,,, et transmis vers le codeur produit, dans une étape<B>E3.</B> For each incoming information SO, the precoded word is then calculated by simple linear combination of the matrices of the first and second type Gi, G '# ,,, and transmitted to the product encoder, in a step <B> E3. </ B>
Dans l'opération<B>El,</B> l'unité centrale<B>5</B> initialise<B>à 0</B> les variables i<I>et</I> m, ainsi que toutes les matrices du second type G",,,n, (pour i<I>et</I> m compris entre<B>0</B> et<B>k,</B> dimension du code de Hamming B), qui sont stockées en mémoire vive<B>6,</B> et stocke également en mémoire vive<B>6</B> les valeurs de<I>n et</I><B>k</B> et l'ensemble des positions d'informations<B>1,</B> ainsi que le nombre de lignes d'information NL et le nombrire de position d'information nbpffl sur chacune des NL lignes d'information de<B>1</B> (étape<B>E10).</B> Pour ce faire, les valeurs de<I>n,<B>k, 1,</B></I> nbp(i) et de NL sont lues dans la mémoire morte<B>7.</B> Tant que la variable i reste inférieure<B>à</B> la variable NL (test de comparaison<B>El 1),</B> une matrice Gi est lue dans la mémoire morte<B>7</B> et stockée en mémoire vive<B>6</B> (étape<B>El 2).</B> Puis la variable i est incrémentée dans une étape<B>El</B> 2. In the <B> El operation, </ B> the <B> 5 CPU </ B> initializes <B> to 0 </ B> with the variables i <I> and </ I> m, as well as all the matrices of the second type G ",,, n, (for i <I> and </ I> m between <B> 0 </ B> and <B> k, </ B> dimension of the Hamming code B), which are stored in RAM <B> 6, </ B> and also stores in RAM <B> 6 </ B> the values of <I> n and </ I> <B> k </ B> and the set of information positions <B> 1, </ B> as well as the number of information lines NL and the information position number nbpffl on each of the NL information lines of <B > 1 </ B> (step <B> E10). </ B> To do this, the values of <I> n, <B> k, 1, </ B> </ I> nbp (i) and of NL are read in read-only memory <B> 7. </ B> As long as the variable i remains lower <B> than </ B> the variable NL (comparison test <B> El 1), </ B> a matrix Gi is read in the read-only memory <B> 7 </ B> and stored in RAM <B> 6 </ B> (step <B> El 2). </ B> Then the variable i is incremented in a step <B> El </ B> 2.
Lorsque la variable i atteint la valeur NL (dans l'étape<B>El 1),</B> c'est que NL matrices Gi ont été lues. When the variable i reaches the value NL (in step <B> El 1), </ B> it is that NL matrices Gi have been read.
La variable m, correspondant au numéro de colonne des positions d'information est alors portée<B>à</B> la valeur<B>1</B> dans l'étape E14, tandis que la variable i est ramenée<B>à 0.</B> Ces variables<I>i, m</I> sont stockées en mémoire vive<B>6</B> par l'unité centrale<B>5.</B> The variable m, corresponding to the column number of the information positions is then raised <B> to </ B> the value <B> 1 </ B> in step E14, while the variable i is brought back <B > to 0. </ B> These variables <I> i, m </ I> are stored in RAM <B> 6 </ B> by the central unit <B> 5. </ B>
Dans l'opération<B>E2,</B> tant que la valeur de la variable i reste inférieure<B>à</B> NL (test de comparaison<B>E21),</B> l'unité centrale<B>5</B> procède au calcul de la matrice du second type G"1,m, dans des étapes<B>E22 à E28.</B> In operation <B> E2, </ B> as long as the value of variable i remains lower <B> than </ B> NL (comparison test <B> E21), </ B> the CPU <B> 5 </ B> computes the matrix of the second type G "1, m, in steps <B> E22 to E28. </ B>
Dans une étape<B>E22,</B> la variable de travail<B>q</B> est initialisée<B>à 0</B> et stockée en mémoire vive<B>6</B> par l'unité centrale<B>5.</B> Dans cette même étape<B>E22,</B> la matrice intermédiaire Gint est initialisée<B>à</B> la valeur de la matrice Gi. In a step <B> E22, </ B> the working variable <B> q </ B> is initialized <B> to 0 </ B> and stored in RAM <B> 6 </ B> by CPU <B> 5. </ B> In this same step <B> E22, </ B> the intermediate matrix Gint is initialized <B> to </ B> the value of the matrix Gi.
Tant que la variable<B>q</B> reste inférieure au minimum de<I>m</I> et de nbpffl (test de comparaison<B>E23),</B> une nouvelle matrice intermédiaire Gint est calculée (de manière itérative) dans une étape E24, détaillée figure<B>9.</B> As long as the variable <B> q </ B> remains below the minimum of <I> m </ I> and nbpffl (comparison test <B> E23), </ B> a new intermediate matrix Gint is computed ( iteratively) in a step E24, detailed figure <B> 9. </ B>
Comme on le voit sur cette figure, la matrice Gint est décalée vers la droite pour former la matrice G', dans une étape E240. Puis une variable de travail<B>j</B> est initialisée<B>à 0</B> et stockée en mémoire vive<B>6</B> dans une étape E241. As seen in this figure, the matrix Gint is shifted to the right to form the matrix G ', in a step E240. Then a job variable <B> j </ B> is initialized <B> to 0 </ B> and stored in RAM <B> 6 </ B> in a step E241.
Tant que cette variable<B>j</B> reste inférieure<B>à</B> la valeur NL (test de comparaison E242), l'unité centrale<B>5</B> vient tester si, dans la matrice<B>G',-</B> obtenue <B>à</B> l'étape E240, l'élément de ligne<B>j</B> et colonne<B>0</B> est égal<B>à</B> la valeur<B>1,</B> dans une étape de test E243. As long as this variable <B> j </ B> remains lower <B> than </ B> the value NL (comparison test E242), the central unit <B> 5 </ B> comes to test whether, in the matrix <B> G ', - </ B> obtained at step E240, the line item <B> j </ B> and column <B> 0 </ B> is equal <B> to </ B> the value <B> 1, </ B> in a test step E243.
Dans le cas où cet élément, noté par commodité G76,O), est égal<B>à</B> la valeur<B>1,</B> l'unité centrale<B>5</B> calcule pour la matrice intermédiaire Gint une nouvelle valeur égale<B>à</B> la somme modulo 2 des matrice Gli et Gj (matrice du premier type correspondant<B>à</B> la ligne<B>j)</B> dans une étape E244. In the case where this element, noted for convenience G76, O), is equal to <B> 1, </ B> the central unit <B> 5 </ B> calculates for the intermediate matrix Gint a new value equal to the modulo 2 sum of the matrix Gli and Gj (matrix of the first type corresponding to the line <B> j) </ B> in a step E244.
Puis, le variable<B>j</B> est incrémentée dans une étape E245. Après l'étape E24 de calcul de la nouvelle matrice intermédiaire Gint, <I>la</I> variable<B>q</B> est incrémentée dans une étape<B>E25.</B> Then, the variable <B> j </ B> is incremented in a step E245. After the step E24 for calculating the new intermediate matrix Gint, <I> the </ I> variable <B> q </ B> is incremented in a step <B> E25. </ B>
Lorsque la variable<B>q</B> atteint le plus petit de<I>m</I> et de nbp(i), la matrice du second type G"1,m est initialisée<B>à</B> la valeur de la matrice intermédiaire Gint dans une étape<B>E26.</B> When the variable <B> q </ B> reaches the smallest of <I> m </ I> and nbp (i), the matrix of the second type G "1, m is initialized <B> to </ B > the value of the intermediate matrix Gint in a step <B> E26. </ B>
Tant que la variable m reste inférieure au nombre de position d'information sur la ligne i<I>noté</I> nbp(i) (test de comparaison<B>E27),</B> une incrémentation de la variable m est réalisée dans une étape<B>E28,</B> et cette opération de calcul des matrices de second type G'#,m se poursuit. As long as the variable m remains lower than the number of information positions on the line i <I> noted </ I> nbp (i) (comparison test <B> E27), </ B> an incrementation of the variable m is performed in a step <B> E28, </ B> and this calculation operation of the second type matrices G '#, m continues.
Lorsque m atteint la valeur nbpffl dans l'étape<B>E27,</B> la variable i est incrémentée dans une étape<B>E29.</B> When m reaches the value nbpffl in step <B> E27, the variable i is incremented in a step <B> E29. </ B>
L'ensemble des matrices des premier et second types se trouvent alors stockées en mémoire vive<B>6.</B> The set of matrices of the first and second types are then stored in RAM <B> 6. </ B>
Dans l'opération<B>E3,</B> tant qu'un nouveau codage est demandé (test<B>E32),</B> une lecture de l'information entrante SO est réalisée dans une opération<B>E30,</B> puis le calcul du mot de pré-code et le transfert de ce mot<B>SI</B> vers le codeur produit<B>C</B> sont réalisés dans une étape<B>E31.</B> In operation <B> E3, </ B> as long as a new encoding is requested (test <B> E32), </ B> a reading of the incoming information SO is performed in an operation <B> E30 , </ B> then the calculation of the pre-code word and the transfer of this word <B> SI </ B> to the product coder <B> C </ B> are carried out in a step <B> E31. </ B>
Dans des variantes<B>:</B> <B>-</B> il existe un entier n supérieur ou égal<B>à</B> deux, tel que, au cours de l'opération de calcul, pour un élément r nul ou infini ou entier premier avec n, chaque diagonale de pente r est un mot d'un code BCH. In variants <B>: </ B> <B> - </ B> there is an integer n greater than or equal <B> to </ B> two, such that, during the calculation operation, for a element r null or infinite or prime integer with n, each diagonal of slope r is a word of a code BCH.
<B>-</B> il existe un entier m supérieur ou égal<B>à</B> 2, un entier n égal<B><I>à</I></B><I> 2m<B>-</B></I><B> 1</B> et un entier<B>k</B> égal<B><I>à</I></B><I> n<B>-</B> m,</I> tel que, au cours de l'opération de calcul, pour un élément e nul ou infini ou entier premier avec l'entier n, chaque diagonale de pente e est un mot d'un code de Hamming du type<I>(n,<B>k).</B></I> <B> - </ B> there is an integer m greater than or equal to </ B> 2, an integer n equal <B> <I> to </ I> </ B> <I> 2m < B> - </ B> </ I> <B> 1 </ B> and an integer <B> k </ B> equal <B> <I> to </ I> </ B> <I> n <B> - </ b> m, </ I> such that, during the calculation operation, for a zero or infinite element or prime integer with the integer n, each diagonal of slope e is a word a Hamming code of type <I> (n, <B> k). </ B> </ I>
<B>-</B> il existe un entier m supérieur ou égal<B>à</B> 2, un entier n égal<B><I>à</I></B><I> 2m<B>-</B></I><B> 1 à</B> et un entier<B>k</B> égal<B>à</B><I>n<B>-</B> m,</I> tel que, au cours de l'opération de calcul, pour au moins deux éléments<B>p</B> et<B>q,</B> avec<B>p</B> nul ou infini ou entier premier avec l'entier n et<B>q</B> nul ou infini ou entier premier avec l'entier n, chaque diagonale de pente<B>p</B> et chaque diagonale de pente<B>q</B> est un mot d'un même code de Hamming du type<I>(n,<B>k)-</B></I> <B>-</B> il existe au moins un entier n supérieur ou égal<B>à</B> deux, tel que, au cours de l'opération de calcul, pour un élément s nul ou infini ou entier premier avec l'entier n, chaque diagonale de pente s est un mot du code de parité de type (n, <I>n<B>-</B></I><B> 1).</B> <B> - </ B> there is an integer m greater than or equal to </ B> 2, an integer n equal <B> <I> to </ I> </ B> <I> 2m < B> - </ I> <B> 1 to </ B> and an integer <B> k </ B> equal <B> to </ B> <I> n <B> - </ B> m, </ I> such that, during the computation operation, for at least two elements <B> p </ B> and <B> q, </ B> with <B> p </ B> null or infinite or prime integer with the integer n and <B> q </ B> null or infinite or prime integer with the integer n, each diagonal of slope <B> p </ B> and each diagonal of slope <B> q </ B> is a word of the same Hamming code of type <I> (n, <B> k) - </ B> </ I> <B> - </ B> it there exists at least one integer n greater than or equal to <B> to </ B> two, such that, during the calculation operation, for an element zero or infinite or prime integer with the integer n, each diagonal of slope s is a word of the type parity code (n, <I> n <B> - </ I> <B> 1). </ B>
Dans une variante de procédé de pré-codage, on conserve dans la mémoire du pré-codeur l'ensemble des 486 matrices<B>26</B> x<B>26</B> représentant les 486 lignes du pré-codeur <B>(676,</B> 486) qu'il faut mettre en ceuvre pour satisfaire la condition expliquée au début de la description du procédé. In an alternative pre-coding method, all of the 486 matrices <B> 26 </ B> x <B> 26 </ B> representing the 486 lines of the pre-encoder are stored in the pre-encoder memory. <B> (676, </ B> 486) that must be implemented to satisfy the condition explained at the beginning of the description of the process.
Dans une autre variante, on utilise un codeur quelconque pour le code Abélien<B>(961,</B> 486). On consultera<B>à</B> ce propos le papier de Sakata (Tinding a minimal set of finear recurring relations capable of generating a given finite 2- dimensional array", dans Journal of Symbolic Computation,<B>1988,</B> V, pp321- 337), ainsi que les références qui<B>y</B> sont mentionnées. In another variant, any encoder is used for the Abelian <B> code (961, 486). For this, see Sakata's paper (Tinding a minimal set of finear recurring relations capable of generating a finite 2-dimensional array ", in Journal of Symbolic Computation, 1988, </ b>. B> V, pp321-337), as well as the references that <B> y </ B> are mentioned.
On peut aussi utiliser une méthode de codage basée sur des idempotents minimaux mais le codeur n'est alors pas systématique. Après obtention du mot de code Abélien de longueur<B>961,</B> on réduit le mot<B>à</B> la longueur<B>676</B> en ne conservant que les<B>26</B> x<B>26</B> positions dans le coin supérieur gauche de la représentation matricielle du mot. One can also use a coding method based on minimal idempotents but the encoder is not systematic. After obtaining the Abelian codeword of length <B> 961, <B> is reduced to <B> 676 </ B> by keeping only the <B> 26 < / B> x <B> 26 </ B> positions in the upper left corner of the matrix representation of the word.
<B>Il</B> est clair également que, si dans la présente description, on a toujours utilisé le coin supérieur gauche des matrices pour des facilités de représentation, on peut tout aussi bien utiliser un autre coin de la matrice, sans modification substantielle du procédé. <B> It </ B> is also clear that, if in the present description we have always used the upper left corner of the dies for ease of representation, we can just as easily use another corner of the matrix, without modification substantial part of the process.
De la même manière, on a travaillé en privilégiant la première colonne des tableaux représentant les mots. On peut tout aussi bien privilégier la première ligne de ces tableaux et remplacer les matrices Gi associées aux éléments en positions (iO) du tableau représentant un mot, par des matrices Gj associées aux éléments en position<B>U, 0)</B> de ce tableau.In the same way, we worked by privileging the first column of the tables representing the words. We can just as well favor the first line of these tables and replace the matrices Gi associated with the elements in positions (iO) of the table representing a word, by matrices Gj associated with the elements in position <B> U, 0) </ B > of this table.
Bien entendu, la présente invention ne se limite pas aux détails des formes de réalisation décrits ici <B>à</B> titre d'exemple, mais s'étend au contraire aux modifications<B>à</B> la portée de l'homme de l'art. Of course, the present invention is not limited to the details of the embodiments described here <B> to </ B> as an example, but instead extends to modifications <B> to </ B> the scope of the skilled person.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9907754A FR2795255B1 (en) | 1999-06-18 | 1999-06-18 | METHOD AND DEVICE FOR PRE-CODING DATA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9907754A FR2795255B1 (en) | 1999-06-18 | 1999-06-18 | METHOD AND DEVICE FOR PRE-CODING DATA |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2795255A1 true FR2795255A1 (en) | 2000-12-22 |
FR2795255B1 FR2795255B1 (en) | 2001-11-09 |
Family
ID=9546983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9907754A Expired - Fee Related FR2795255B1 (en) | 1999-06-18 | 1999-06-18 | METHOD AND DEVICE FOR PRE-CODING DATA |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2795255B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0973268A1 (en) * | 1998-07-16 | 2000-01-19 | Canon Kabushiki Kaisha | Method and device for coding and transmission using a sub-code of a product code |
-
1999
- 1999-06-18 FR FR9907754A patent/FR2795255B1/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0973268A1 (en) * | 1998-07-16 | 2000-01-19 | Canon Kabushiki Kaisha | Method and device for coding and transmission using a sub-code of a product code |
Non-Patent Citations (1)
Title |
---|
J. LACAN: "Diagonals of 2D-Abelian Codes", 1998 INFORMATION THEORY WORKSHOP, 22 June 1998 (1998-06-22) - 24 June 1998 (1998-06-24), Killnary, Ireland, pages 110 - 111, XP002099454 * |
Also Published As
Publication number | Publication date |
---|---|
FR2795255B1 (en) | 2001-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2348640B1 (en) | Systematic encoding of chain reaction codes | |
FR2512568A1 (en) | SYSTEM FOR TRANSFERRING BINARY DATA BY A PLURALITY OF CHANNELS USING AN ENCODING CODER THROUGH CONVOLUTION | |
EP2486661B1 (en) | Method for decoding non-binary codes | |
FR2533091A1 (en) | SYSTEM FOR DETECTING AND CORRECTING TRANSMISSION ERRORS OF A BINARY MESSAGE USING A CYCLIC CODE DETECTOR AND CORRECTING ERRORS OF THE REED-SOLOMON TYPE BETWEEN | |
EP2119095B1 (en) | Ciphering method using error correcting codes | |
FR2849514A1 (en) | CODE OF ALGEBRA GEOMETRY ADAPTED TO RAFALE ERRORS | |
FR2785743A1 (en) | DEVICE AND METHOD FOR ADAPTING TURBOCODERS AND DECODERS ASSOCIATED WITH VARIABLE LENGTH SEQUENCES | |
FR2790621A1 (en) | Interlacing method for coding and decoding of turbo codes of binary symbols representing a physical magnitude using two convolute recursive coders having polynomial divisor with same data period | |
WO2007083066A1 (en) | Fast encoding and decoding methods and related devices | |
FR2789824A1 (en) | Residual error correction method for output of turbo-coder in transmitter-receiver communication systems, involves storing binary data in matrix form and applying error correcting code to create formatted matrix | |
FR2785744A1 (en) | Data sequence coding for image, sound data etc applications involves retrieval of primary and permuted data, their division by given polynomial for formation a controlling sequence | |
FR2785741A1 (en) | Coding process for coding images, sound, data etc physical magnitudes etc by including at least operation of permutation that preserves divisibility of polynomial representations of sequences by set polynomials | |
FR2865083A1 (en) | Fiber product`s algebraic geometry code decoding process for communication system, involves decoding compiled algebraic codes, defined on same algebraic curve represented by equation in X and Z | |
FR2866998A1 (en) | Algebraic geometry code decoding method for encoded digital signal receiving apparatus, involves implementing errors correction algorithm adapted to Reed-Solomon code in order to calculate errors on components of Reed-Solomon code word | |
WO2009146517A1 (en) | Method of encoding and/or decoding multidimensional and a system comprising such method | |
FR2863794A1 (en) | Algebraic geometry code decoding method for e.g. data recoding system, involves applying bi-phase decoding algorithm to syndrome matrix that provides set of polynomials called phase locating candidates | |
FR2858141A1 (en) | Information symbol coding process for use in communication system, involves coding information word of preset length of form belonging to Reed-Solomon code of preset size and length | |
FR2795255A1 (en) | Method for pre-coding data for transmission; uses computing operation, for assembly SO, with binary pre-coded word S1 so as to forms second group of binary symbols, called pre-codes contained in rectangular table | |
EP1525663B1 (en) | Digital data compression robust relative to transmission noise | |
FR2867925A1 (en) | CANAL ADJUSTMENT TO RAFALE ERRORS | |
EP1471647A2 (en) | Encoding and decoding of trellis codes comprising trellis sections constructed on block codes with good distance. | |
Lindell | Introduction to coding theory lecture notes | |
WO2018115648A1 (en) | Encoding and decoding data packets in a galois group | |
FR2509553A1 (en) | TV data transmission system - uses packets of data grouped into text information and other bit information | |
FR2847398A1 (en) | Two-fold sequi-RS codes and their decoding, comprise more adjustable parameters than the Miura codes, larger minimum distance and decoding with erasings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140228 |