FR2850500A1 - Method and device for computing syndrome, in particular for hyperelliptic codes, by use of parity-check matrix and transposed code word - Google Patents

Method and device for computing syndrome, in particular for hyperelliptic codes, by use of parity-check matrix and transposed code word Download PDF

Info

Publication number
FR2850500A1
FR2850500A1 FR0300921A FR0300921A FR2850500A1 FR 2850500 A1 FR2850500 A1 FR 2850500A1 FR 0300921 A FR0300921 A FR 0300921A FR 0300921 A FR0300921 A FR 0300921A FR 2850500 A1 FR2850500 A1 FR 2850500A1
Authority
FR
France
Prior art keywords
matrix
syndrome
dimension
output
polynomial
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
Application number
FR0300921A
Other languages
French (fr)
Other versions
FR2850500B1 (en
Inventor
Bars Philippe Le
Philippe Piret
Frederic Lehobey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0300921A priority Critical patent/FR2850500B1/en
Publication of FR2850500A1 publication Critical patent/FR2850500A1/en
Application granted granted Critical
Publication of FR2850500B1 publication Critical patent/FR2850500B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/132Algebraic geometric codes, e.g. Goppa codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Abstract

The decoding method based on computing syndrome is for a code defined on a Galois body whose parity-check matrix H is of dimension (s+t)x(2N), where s, t and N are strictly positive integers, and a received code word R=(T U) is of length 2N, where T and U are row vectors of length N. The parity-check matrix H comprises as blocks a matrix Hs of dimensions sxN, and matrices HtM1 and HtM2, where the matrix Ht is of dimensions txN, and M1 and M2 are diagonal matrices of dimensions NxN. The syndrome characterizing an error to be corrected is given by S=H.RT, where the superscript T denotes the transposition. The first s symbols of the syndrome S are computed by evaluating a polynomial associated with the matrix T+U at the roots of polynomial generator of the matrix Hs, and the next t symbols of the syndrome S are computed by evaluating a polynomial associated with the matrix T.M1+U.M2 at the roots of polynomial generator of the matrix Ht. The evaluation steps implement the algorithm of Horner, and the code is hyperelliptic. The decoding device (claimed) comprises a counter of clock strokes, two read-only stores connected to the counter and representing N diagonal elements of the matrices M1 and M2, a first multiplication element multiplying the output of the first store with a symbol of the received word R of length 2N, a second multiplication element multiplying the output of the second store with a symbol of the received word R delayed by N clock strokes, a first addition element delivering the symbols corresponding to the matrix T.M1+U.M2, a second addition element delivering the symbols corresponding to the matrix U+T, a first circuit implementing the Corner algorithm connected to the second addition element for computing the first s elements of the syndrome S, and a second circuit implementing the Horner algorithm connected to the first addition element for computing the last t elements of the syndrome S. The two read-only stores are look-up tables, multiplexers, or combinatorial circuits. An apparatus (claimed) for digital signal processing comprises means for implementing the decoding method, or the decoding device. A telecommunication network (claimed) and a base station (claimed) comprise means for implementing the decoding method, or the decoding device.

Description

H=HHs HsM2 H=HtM1 HtM2H = HHs HsM2 H = HtM1 HtM2

PROCEDE ET DISPOSITIF DE CALCUL DU SYNDROME NOTAMMENT POUR DES CODES HYPERELLIPTIQUES  METHOD AND DEVICE FOR CALCULATING SYNDROME, IN PARTICULAR FOR HYPERELLIPTIC CODES

La présente invention se rapporte à un procédé et à un dispositif de 5 calcul du syndrome notamment pour des codes hyperelliptiques, mais s'appliquant également à d'autres types de codes.  The present invention relates to a method and a device for calculating syndrome, particularly for hyperelliptic codes, but also applicable to other types of codes.

L'invention appartient au domaine du codage correcteur d'erreurs, utilisé pour détecter et/ou corriger des erreurs survenues dans la transmission et la réception d'un message dans un système de communication numérique, 10 ou lors de la lecture ou l'écriture d'un message dans un moyen de stockage.  The invention belongs to the field of error correction coding, used for detecting and / or correcting errors occurring in the transmission and reception of a message in a digital communication system, or during reading or writing. of a message in a storage medium.

Lors de la transmission, on ajoute des symboles redondants au message d'origine et ces symboles supplémentaires sont utilisés à la réception pour détecter et/ou corriger les erreurs éventuellement survenues.  During the transmission, redundant symbols are added to the original message and these additional symbols are used on reception to detect and / or correct any errors that may have occurred.

Parmi les codes correcteurs d'erreurs, on trouve les codes en blocs. 15 Un code (NK) transforme un message M de K symboles successifs en un mot de code C de N symboles appartenant à un corps de Galois, avec N > K. La correspondance entre le mot de code et le message est la relation C = M.G, o C est sous la forme d'un vecteur ligne à N éléments, M est sous la forme d'un vecteur ligne à K éléments et G est une matrice de dimension KxN appelée 20 matrice génératrice.  Among the error-correcting codes are the codes in blocks. A code (NK) transforms a message M from K successive symbols into a code word C of N symbols belonging to a Galois field, with N> K. The correspondence between the code word and the message is the relation C = MG, where C is in the form of an N-element line vector, M is in the form of a K-element row vector and G is a KxN-dimensional matrix called a generator matrix.

La matrice de vérification de parité (en anglais "parity-check matrix") est la matrice H de dimension (N-K)xN telle que pour tout mot de code C, H.CT = 0, le signe T indiquant la transposition et 0 étant ici un vecteur colonne avec N-K zéros. On notera que la matrice de vérification de parité H est liée à la 25 matrice génératrice G par la relation G.HT = 0, o 0 est la matrice nulle de dimension Kx(N-K).  The parity-check matrix is the matrix H of dimension (NK) xN such that for every code word C, H.CT = 0, the sign T indicating the transposition and 0 being here a column vector with NK zeros. Note that the parity check matrix H is linked to the generator matrix G by the relation G.HT = 0, where 0 is the null matrix of dimension Kx (N-K).

Un syndrome S est un vecteur de N-K symboles obtenu en multipliant la matrice de vérification de parité et le mot reçu, qui est un mot de code éventuellement entaché d'erreur. Soit R le mot reçu. Ainsi, S = H.RT. 30 Lorsque, dans le système de transmission considéré, la réception est effectuée en mettant en oeuvre un algorithme à décision binaire, le mot reçu est aussi formé d'éléments du corps de Galois mentionné ci-dessus. Il en résulte qu'on peut considérer le mot reçu R comme un mot de code C additionné d'un mot d'erreur E, soit R = C + E. En vertu des propriétés du corps de Galois, S = H.RT = H.CT + H.ET = H.ET. Le syndrome caractérise donc l'erreur.  A syndrome S is a vector of N-K symbols obtained by multiplying the parity check matrix and the received word, which is a potentially faulty code word. Let R be the received word. Thus, S = H.RT. When, in the transmission system under consideration, the reception is carried out by implementing a binary decision algorithm, the received word is also formed of elements of the Galois body mentioned above. As a result, the received word R can be considered as a code word C plus an error word E, ie R = C + E. By virtue of the properties of the Galois body, S = H.RT = H.CT + H.ET = H.ET. The syndrome therefore characterizes the error.

Pour chaque syndrome, il existe plusieurs mots d'erreur. Pour 5 respecter le critère du maximum de vraisemblance, le décodeur recherche le mot d'erreur de poids le plus faible compatible avec le syndrome, car il est le plus probable. Ce mot, une fois trouvé, permet d'obtenir le mot de code par l'opération C = R + . En effet, la soustraction et l'addition sont des opérations identiques dans un corps de Galois de caractéristique 2.  For each syndrome, there are several error words. In order to meet the maximum likelihood criterion, the decoder searches for the lowest weight error word compatible with the syndrome because it is most likely. This word, once found, makes it possible to obtain the code word by the operation C = R +. Indeed, the subtraction and the addition are identical operations in a Galois body of characteristic 2.

Ainsi, le décodage d'un code en bloc comporte en particulier les opérations suivantes: - un calcul de syndrome, - l'établissement du mot d'erreur à partir du syndrome, - la restitution du mot de code par addition du mot reçu et du mot 15 d'erreur.  Thus, the decoding of a block code includes in particular the following operations: - a calculation of syndrome, - the establishment of the error word from the syndrome, - the return of the codeword by adding the word received and of the word 15 of error.

A titre d'exemples de codes en blocs, on peut citer les codes de Hamming et BCH (Bose, Chaudhuri et Hocqenghem), dont les plus usuels sont les codes binaires.  Examples of block codes include the Hamming and BCH (Bose, Chaudhuri and Hocqenghem) codes, the most common of which are binary codes.

Un code est dit cyclique si toute permutation circulaire d'un mot de 20 code est aussi un mot de code. Il en résulte que le mot de code C associé à K-1 tout mot d'information M qu'on peut écrire m(x) = Ymkxk peut être représenté k=O sous forme polynomiale par c(x) = g(x)m(x), o g est appelé le polynôme générateur du code. Ce polynôme est de degré N-K et divise xN + 1. La relation entre la matrice génératrice G et ce polynôme g est mise en évidence lorsqu'on 25 met G sous une forme qui fait apparaître les coefficients du polynôme générateur sur sa première ligne et les permutations circulaires de cet ensemble de coefficients sur ses lignes suivantes. Un polynôme de vérification de parité h existe et est tel que h(x)g(x) = xN + 1.  A code is said to be cyclic if any circular permutation of a codeword is also a codeword. As a result, the codeword C associated with K-1 any information word M that can be written m (x) = Ymkxk can be represented k = O in polynomial form by c (x) = g (x) m (x), og is called the generator polynomial of the code. This polynomial is of degree NK and divides xN + 1. The relation between the generating matrix G and this polynomial g is highlighted when G is put into a form which reveals the coefficients of the generator polynomial on its first line and the circular permutations of this set of coefficients on its following lines. A parity check polynomial h exists and is such that h (x) g (x) = xN + 1.

On donne maintenant quelques notions sur la représentation des 30 éléments d'un corps de Galois. Pour engendrer le corps GF(2M), un polynôme de GF(2) irréductible de degré M doit être choisi. On rappelle qu'un polynôme irréductible de GF(2) n'est pas divisible par un autre polynôme de GF(2) de degré moindre que M et supérieur à zéro.  We now give some notions on the representation of the 30 elements of a Galois body. To generate the GF (2M) body, an irreducible GF (2) polynomial of degree M must be chosen. We recall that an irreducible polynomial of GF (2) is not divisible by another polynomial of GF (2) of degree less than M and greater than zero.

Le polynôme choisi est dit polynôme générateur du corps. En prenant une racine y de ce polynôme choisi alors l'ensemble {Y0, yI, ,2, .., YM-1} 5 forme une base pour le corps GF(2M) vu comme un espace vectoriel sur GF(2) .  The chosen polynomial is called the generator polynomial of the body. Taking a root y of this chosen polynomial then the set {Y0, yI, 2, .., YM-1} 5 forms a basis for the body GF (2M) seen as a vector space on GF (2).

Cette base est dite polynomiale ou canonique. On peut alors représenter les éléments du corps sur cette base suivant une notation vectorielle. Ainsi, dans GF(24), la base est {y , y1, Y2 y3} pour le polynôme x4+x+l. L'élément Y7 est représenté dans la base polynomiale par le vecteur (1011) , le poids de y( étant 10 à droite.  This base is called polynomial or canonical. We can then represent the elements of the body on this basis according to a vector notation. Thus, in GF (24), the base is {y, y1, Y2 y3} for the polynomial x4 + x + 1. The element Y7 is represented in the polynomial base by the vector (1011), the weight of y (being on the right.

Quant à la réalisation matérielle des opérations d'addition et de multiplication, on donne les indications ci-après.  As for the material realization of the addition and multiplication operations, the following indications are given.

Les circuits addition sont simplement des portes "ou exclusif' appliquées bit à bit sur les représentations sous forme de vecteurs. Ainsi, dans 15 GF(24) engendré par le polynôme x4+x+1, Y7+y1 s'écrit (1011)+(0010) et vaut (1001) qui correspond à y14 On distingue deux cas de multiplication: la multiplication générale et la multiplication par une constante.  The addition circuits are simply "or exclusive" gates applied bitwise to the representations in the form of vectors Thus, in GF (24) generated by the polynomial x4 + x + 1, Y7 + y1 is written (1011) + (0010) and is (1001) which corresponds to y14 We distinguish two cases of multiplication: the general multiplication and the multiplication by a constant.

La multiplication par une constante intervient lorsqu'une des 20 opérandes est définie par avance. Les circuits multiplication par une constante sont une suite de portes "ou exclusif' organisées sur les M bits en fonction des M bits représentant la constante. La multiplication est considérée comme une suite d'additions. Par exemple, le multiplicateur étant y5 dans GF(24), le résultat se traduit par les attributions suivantes aux bits A0 à A3 du produit, B (bits B0 à 25 B3) étant le multiplicande: A0 ≤ B2 XOR B3 A1 ≤ B0 XOR B2 A2≤ B0 XOR B1 XOR B3 A3 ≤ B1 XOR B2 o XOR désigne l'opérateur "ou exclusif".  The multiplication by a constant occurs when one of the operands is defined in advance. The multiplication circuits with a constant are a series of "or exclusive" gates organized on the M bits as a function of the M bits representing the constant.The multiplication is considered as a series of additions.For example, the multiplier being y5 in GF ( 24), the result is the following assignments to the product bits A0 to A3, B (bits B0 to B3) being the multiplicand: A0 ≤ B2 XOR B3 A1 ≤ B0 XOR B2 A2≤ B0 XOR B1 XOR B3 A3 ≤ B1 XOR B2 o XOR means the operator "or exclusive".

Les matrices ci-dessous donnent un exemple de cellule de multiplication générale C=A.B, c'est-à-dire si ni A ni B ne sont définis d'avance: on peut exprimer dans GF(2) le calcul de la multiplication C=A.B dans GF(16) en utilisant la notation matricielle CO AO A3 A2 AI BO C C A1 A0+A3 A2+A3 Al+A2 B1 C2 A2 A1 A0 + A3 A2 + A3 B2 C3 A3 A2 A1 A0 + A3 B3 L'addition se traduit par une porte "ou exclusif' et la multiplication ou 5 juxtaposition par une porte "et" (car ici le corps considéré est GF(2)). La complexité d'une addition générale est environ M fois plus grande que celle d'une multiplication par une constante.  The matrices below give an example of a general multiplication cell C = AB, that is, if neither A nor B are defined in advance: one can express in GF (2) the computation of the multiplication C = AB in GF (16) using the matrix notation CO AO A3 A2 AI BO CC A1 A0 + A3 A2 + A3 A1 + A2 B1 C2 A2 A1 A0 + A3 A2 + A3 B2 C3 A2 A3 A1 A0 + A3 B3 L3 addition results in an "exclusive" gate and the multiplication or juxtaposition by a "and" gate (because here the body considered is GF (2)) .The complexity of a general addition is about M times greater than that of a multiplication by a constant.

Les codes de Reed-Solomon (N,K) sont obtenus en utilisant comme générateur un polynôme parmi les polynômes possibles de la forme N-K-1 g(x)= FI (x+ya+i); les mots de code sont de longueur N; le nombre a est i=o arbitrairement choisi; en général, a = 1. La valeur maximale de N est liée au facteur d'extension du corps de Galois GF(2P) utilisé, par la relation N = 2P-1.  The Reed-Solomon codes (N, K) are obtained by using as a generator a polynomial among the possible polynomials of the form N-K-1 g (x) = F1 (x + ya + i); the codewords are of length N; the number a is i = o arbitrarily chosen; in general, a = 1. The maximum value of N is related to the extension factor of the Galois body GF (2P) used, by the relation N = 2P-1.

Ainsi, dans GF(256) = GF(28), on a au plus N = 255.  Thus, in GF (256) = GF (28), we have at most N = 255.

La classe de codes à laquelle s'applique la présente invention se 15 définit par une extension des codes de Reed-Solomon. On peut en effet définir un code par une matrice de vérification de parité construite sur deux matrices de vérification de parité de codes de Reed-Solomon, de forme H:Hs "s1 HtM1 HtM2 o Hs est une matrice ayant s lignes et N colonnes, Ht est une matrice ayant t 20 lignes et N colonnes, et M1 et M2 sont deux matrices diagonales.  The class of codes to which the present invention applies is defined by an extension of the Reed-Solomon codes. It is indeed possible to define a code by a parity check matrix constructed on two Reed-Solomon code parity check matrices, of form H: Hs "s1 HtM1 HtM2 where Hs is a matrix having s lines and N columns, Ht is a matrix having 20 rows and N columns, and M1 and M2 are two diagonal matrices.

Une sous-classe de ces matrices se définit par la création d'une matrice de vérification de parité formée à partir d'une courbe dans GF(2M) d'équation à deux inconnues u(X,Y) = 0. En choisissant une courbe telle que pour toute valeur x substituée à l'inconnue X, il existe 2 valeurs y1 et Y2 de Y 25 satisfaisant l'équation u(X,Y) = 0 o u(X,Y) représente un polynôme à deux variables irréductible sur GF(2M), on peut alors créer une matrice dont les éléments sont les évaluations des monômes X'Yj pour différentes valeurs de X. Si la courbe admet N valeurs de X, on prend les 2N-2-2K premiers monômes ordonnés suivant une fonction poids p(X'Yi) = bi+ aj, a étant le maximum des exposants de X et b le maximum des exposants de Y. Ce code est dit hyperelliptique.  A subclass of these matrices is defined by the creation of a parity check matrix formed from a curve in GF (2M) of two-unknown equation u (X, Y) = 0. By choosing a curve such that for any value x substituted for the unknown X, there exist 2 values y1 and Y2 of Y satisfying the equation u (X, Y) = 0 where (X, Y) represents a polynomial with two variables irreducible on GF (2M), we can then create a matrix whose elements are the evaluations of the monomials X'Yj for different values of X. If the curve admits N values of X, we take the first 2N-2-2K ordered monomials following a weight function p (X'Yi) = bi + aj, a being the maximum of the exponents of X and b the maximum of the exponents of Y. This code is called hyperelliptic.

Dans une autre sous-classe, définissant des codes non hyperelliptiques, on peut choisir comme matrice M1 la matrice identité Id, et comme matrice M2, la matrice yld, voire la matrice nulle.  In another subclass, defining non-hyperelliptic codes, it is possible to choose as the matrix M1 the identity matrix Id, and as matrix M2, the matrix yld, or even the null matrix.

On cherche à trouver la méthode et le circuit les plus efficaces pour calculer le syndrome d'un code appartenant à la classe des codes présentée ci10 dessus.  We seek to find the most efficient method and circuit for calculating the syndrome of a code belonging to the class of codes presented above.

Les codes de Reed-Solomon, de par leur structure, admettent une méthode plus simple, pour obtenir le syndrome, que la multiplication de la matrice de vérification de parité avec le mot reçu.  The Reed-Solomon codes, by their structure, admit a simpler method, to obtain the syndrome, than the multiplication of the parity check matrix with the received word.

En effet, les codes de Reed-Solomon sont cycliques. On peut donc 15 réaliser le décodage sous forme de la division polynomiale par le calcul du reste de la division xN-Km(x) par g(x). La division polynomiale peut être réalisée facilement du point de vue matériel, au moyen de groupes de registres à décalage et de portes "ou exclusif". On peut aussi calculer facilement le syndrome en évaluant le polynôme associé au mot de code reçu pour les 20 différentes valeurs des racines du polynôme générateur du code. Pour plus de détails sur ce point, on se reportera utilement à l'ouvrage de Richard E. BLAHUT intitulé "Theory and Practice of errorcontrol codes", Addison-Wesley, Reading, Mass., 1983. Le circuit utilisé est alors simplifié. Ce circuit est illustré sur la figure 1.  Indeed, the Reed-Solomon codes are cyclic. The decoding can thus be performed in the form of the polynomial division by calculating the remainder of the xN-Km (x) division by g (x). The polynomial division can be achieved easily from the hardware point of view, by means of groups of shift registers and "or exclusive" gates. The syndrome can also be easily calculated by evaluating the polynomial associated with the received code word for the different root values of the code generating polynomial. For more details on this point, reference is made to Richard E. BLAHUT's book "Theory and Practice of Error Control Codes", Addison-Wesley, Reading, Mass., 1983. The circuit used is then simplified. This circuit is illustrated in FIG.

Le circuit comporte N-K registres de mémoire 101, ..., 1 ON-K de dimension M, dont les entrées sont, d'une part, alimentées par une horloge (représentée par "clk" sur le dessin) et, d'autre part, respectivement reliées aux sorties de N-K multiplieurs 121, ..., 12N-K. Les sorties des registres de mémoire 101, ..., 1ONK sont respectivement reliées aux entrées de N-K additionneurs 30 141, ... 14N-K. Les additionneurs 141, ... 14N-K reçoivent par ailleurs en entrée les symboles codés du mot reçu, codés sur M bits. Les sorties des additionneurs 141, ... 14N-K sont respectivement reliées aux entrées des multiplieurs 121, ..., 12N-K, dont les autres entrées sont respectivement alimentées par chacune des racines du polynôme générateur du code, notées h à N-K-1+h L'algorithme de Horner est utilisé pour effectuer l'évaluation du 5 polynôme associé au mot de code reçu pour les différentes valeurs des racines du polynôme générateur du code. On rappelle que l'algorithme de Horner K-1 consiste à écrire un polynôme m(x) = Y-mkxk récursivement, sous la forme k=0 m(x) = (...((mkx + mk-1)x + ... )x + mo.  The circuit comprises NK memory registers 101, ..., 1 ON-K of dimension M, the inputs of which, on the one hand, are fed by a clock (represented by "clk" in the drawing) and, on the other hand, respectively connected to the outputs of NK multipliers 121, ..., 12N-K. The outputs of the memory registers 101, ..., 1ONK are respectively connected to the inputs of N-K adders 141, ... 14N-K. The adders 141,... 14N-K also receive as input the coded symbols of the received word coded on M bits. The outputs of the adders 141,... 14N-K are respectively connected to the inputs of the multipliers 121,..., 12N-K, the other inputs of which are respectively fed by each of the roots of the generator polynomial of the code, denoted h to NK. -1 + h The Horner algorithm is used to perform the evaluation of the polynomial associated with the received code word for the different root values of the code generator polynomial. Recall that the Horner K-1 algorithm consists of writing a polynomial m (x) = Y-mkxk recursively, in the form k = 0 m (x) = (... ((mkx + mk-1) x + ...) x + mo.

Pour former la ibème valeur du syndrome, les symboles du message 10 reçu sont donc multipliés par la racine ième après avoir été additionnés au résultat précédent qui est mémorisé dans le registre parallèle mémorisant M éléments binaires.  To form the ibeme value of the syndrome, the symbols of the received message are therefore multiplied by the root I after being added to the previous result which is stored in the parallel register storing M bits.

La méthode élémentaire de calcul du syndrome pour les codes hyperelliptiques est la multiplication du mot reçu R par la matrice de vérification 15 de parité H. La réalisation matérielle de cette méthode est illustrée sur la figure 2.  The basic method of calculating the syndrome for hyperelliptic codes is the multiplication of the received word R by the parity check matrix H. The hardware realization of this method is illustrated in FIG.

Le circuit comporte 2xN+(s+t) registres de mémoire identiques au registre 20, (2N-2)x(s+t) multiplieurs identiques au multiplieur 22 et (2N-3)x(s+t) 20 additionneurs identiques à l'additionneur 24.  The circuit comprises 2xN + (s + t) memory registers identical to the register 20, (2N-2) x (s + t) multipliers identical to the multiplier 22 and (2N-3) x (s + t) 20 adders identical to the adder 24.

Les symboles codés sur M bits du mot reçu arrivent en série et sont continuellement mis en mémoire sur les 2N registres de mémoire. Le ième syndrome est calculé par l'addition successive, au moyen d'additionneurs du type 24, des symboles reçus modifiés par un multiplieur du type 22, qui est un 25 multiplieur par une constante, cette constante étant l'élément Hi,j de la matrice de vérification de parité.  The symbols encoded on M bits of the received word arrive in series and are continuously stored in the 2N memory registers. The ith syndrome is calculated by the successive addition, by means of type adders 24, of the received symbols modified by a type 22 multiplier, which is a multiplier by a constant, this constant being the element Hi, j of the parity check matrix.

Ainsi, du point de vue de la complexité de calcul, cette réalisation nécessite (2N-2)x(s+t) multiplications par une constante et (2N-3)x(s+t) additions, ainsi que 2xN+(s+t) registres de mémoire. L'opération est effectuée 30 en 2N coups d'horloge, lorsque le dernier symbole du mot reçu a été pris en compte.  Thus, from the point of view of computational complexity, this realization requires (2N-2) x (s + t) multiplications by a constant and (2N-3) x (s + t) additions, as well as 2xN + (s + t) memory registers. The operation is performed in 2N clock strokes, when the last symbol of the received word has been taken into account.

Comme mentionné plus haut, on cherche à obtenir des algorithmes moins complexes pour calculer le syndrome dans le cas des codes hyperelliptiques, en définissant la complexité soit comme le nombre d'opérations à effectuer lorsque le calcul est mis en oeuvre suivant un 5 programme, soit comme le nombre de portes logiques lors du calcul par un circuit intégré.  As mentioned above, we seek to obtain less complex algorithms for calculating the syndrome in the case of hyperelliptic codes, by defining the complexity either as the number of operations to be performed when the calculation is implemented according to a program or as the number of logic gates when computed by an integrated circuit.

Dans ce but, la présente invention propose un procédé de calcul du syndrome S = H.RT, o T désigne la transposition, d'un mot de code reçu R = (T U), o T et U sont des vecteurs lignes de longueur N, N étant un entier 10 strictement positif, après passage dans un canal de transmission, ce mot de code R appartenant à un code ayant pour matrice de vérification de parité une matrice de la forme H = [H M H M de dimension (2N)x(s+t), o Hs est une matrice de dimension sxN, Ht est une matrice de dimension txN, o s et t sont des entiers strictement positifs, et o Mi et M2 sont des matrices diagonales de 15 dimension NxN, remarquable en ce qu'il comporte des étapes consistant à calculer les s premiers symboles du syndrome S en évaluant le polynôme associé à la matrice T+U aux racines du polynôme générateur de la matrice Hs, et à calculer les t symboles suivants du syndrome S en évaluant le polynôme associé à la matrice T.M1+U.M2 aux racines du polynôme générateur de la 20 matrice Ht.  For this purpose, the present invention proposes a method of calculating the S = H.RT syndrome, where T denotes the transposition, of a received code word R = (TU), where T and U are line vectors of length N. , N being a strictly positive integer 10, after passing through a transmission channel, this code word R belonging to a code having as its parity check matrix a matrix of the form H = [HMHM of dimension (2N) x (s + t), where Hs is a matrix of dimension sxN, Ht is a matrix of dimension txN, os and t are strictly positive integers, and o Mi and M2 are diagonal matrices of dimension NxN, remarkable in that comprises steps of calculating the first symbols S of the syndrome by evaluating the polynomial associated with the matrix T + U at the roots of the generator polynomial of the matrix Hs, and calculating the following t symbols of the syndrome S by evaluating the polynomial associated with the T.M1 + U.M2 matrix at the roots of the generating polynomial of the Matrix Ht.

On montre ci-après que la complexité de l'opération de calcul de syndrome est ainsi réduite de façon appréciable, sans conséquence dommageable sur la vitesse de calcul.  It is shown below that the complexity of the syndrome calculation operation is thus appreciably reduced without any detrimental effect on the speed of calculation.

Selon une caractéristique particulière, les étapes d'évaluation 25 mentionnées ci-dessus mettent en oeuvre l'algorithme de Horner.  According to one particular feature, the evaluation steps mentioned above implement the Horner algorithm.

Selon une caractéristique particulière, le code auquel s'applique l'invention est un code hyperelliptique. Néanmoins, l'invention peut aussi s'appliquer à d'autres codes, qui ne sont pas hyperelliptiques.  According to a particular characteristic, the code to which the invention applies is a hyperelliptic code. Nevertheless, the invention can also be applied to other codes, which are not hyperelliptical.

Dans le même but de réduction de la complexité, la présente 30 invention propose également un dispositif de calcul du syndrome S = H.RT, o T désigne la transposition, d'un mot de code reçu R = (T U), o T et U sont des vecteurs lignes de longueur N, N étant un entier strictement positif, après passage dans un canal de transmission, ce mot de code R appartenant à un code ayant pour matrice de vérification de parité une matrice de la forme H=[HsM HH] de dimension (2N)x(s+t), o Hs est une matrice de dimension sxN, Ht est une matrice de dimension txN, o s et t sont des entiers strictement positifs, et o M1 et M2 sont des matrices diagonales de dimension NxN, remarquable en ce qu'il comporte: - un compteur de coups d'horloge, - des première et seconde mémoires mortes, reliées au compteur et 10 représentant respectivement les N éléments de la diagonale des matrices M1 et M2e - un premier multiplieur, relié à la sortie de la première mémoire morte, multipliant la sortie de la première mémoire morte avec un symbole du mot reçu, - un deuxième multiplieur, relié à la sortie de la seconde mémoire morte, multipliant la sortie de la seconde mémoire morte avec un symbole du mot reçu retardé de N coups d'horloge, - un premier additionneur, relié à la sortie des premier et deuxième multiplieurs et fournissant en sortie des symboles correspondant à T.M1+U. M2, 20 - un deuxième additionneur, fournissant en sortie des symboles correspondant à U+T, - un premier circuit mettant en oeuvre l'algorithme de Horner, relié à la sortie du deuxième additionneur, pour calculer les s premiers éléments du syndrome, et - un second circuit mettant en oeuvre l'algorithme de Horner, relié à la sortie du premier additionneur, pour calculer les t derniers éléments du syndrome.  For the same purpose of reducing complexity, the present invention also provides a S = H.RT syndrome calculation device, where T denotes the transposition, of a received code word R = (TU), o T and U are line vectors of length N, N being a strictly positive integer, after passing through a transmission channel, this code word R belonging to a code having as parity check matrix a matrix of the form H = [HsM HH ] of dimension (2N) x (s + t), where Hs is a matrix of dimension sxN, Ht is a matrix of dimension txN, os and t are strictly positive integers, and o M1 and M2 are diagonal matrices of dimension NxN, remarkable in that it comprises: - a clock counter, - first and second dead memories, connected to the counter and 10 respectively representing the N elements of the diagonal of matrices M1 and M2e - a first multiplier, connected to the output of the first read-only memory, multiplying the output of e the first read-only memory with a symbol of the received word; - a second multiplier connected to the output of the second read-only memory, multiplying the output of the second read-only memory with a symbol of the received word delayed by N clock ticks; a first adder, connected to the output of the first and second multipliers and outputting symbols corresponding to T.M1 + U. M2, 20 - a second adder, outputting symbols corresponding to U + T, - a first circuit implementing the Horner algorithm, connected to the output of the second adder, to calculate the first elements of the syndrome, and a second circuit implementing the Horner algorithm, connected to the output of the first adder, to calculate the last elements of the syndrome.

Dans un mode particulier de réalisation, les première et seconde mémoires mortes sont deux tables de consultation.  In a particular embodiment, the first and second read-only memories are two look-up tables.

Dans une première variante, les première et seconde mémoires mortes sont deux multiplexeurs.  In a first variant, the first and second dead memories are two multiplexers.

Dans une deuxième variante, les première et seconde mémoires mortes sont des circuits combinatoires.  In a second variant, the first and second dead memories are combinational circuits.

Le choix de l'un ou l'autre des trois modes de réalisation précédents est lié au type de technologie mis en oeuvre dans le circuit physique utilisé. Par 5 exemple, si ce circuit est un FPGA (tableau de portes programmable par l'utilisateur, en anglais "Field Programmable Gate ArraV'), on choisira des tables de consultation. Si le circuit est un ASIC (circuit intégré dédié, en anglais "Application Specific Integrated Circuit') synchrone, on choisira plutôt des multiplexeurs. Dans le cas d'une logique asynchrone, il sera préférable d'opter 10 pour des circuits combinatoires.  The choice of one or other of the three previous embodiments is related to the type of technology implemented in the physical circuit used. For example, if this circuit is a Field Programmable Gate ArraV (FPGA), lookup tables will be chosen if the circuit is an ASIC (dedicated integrated circuit, in English). "Application Specific Integrated Circuit"), we will choose rather multiplexers. In the case of asynchronous logic, it will be preferable to opt for combinational circuits.

Toujours dans le même but, la présente invention propose en outre un procédé de décodage comportant des étapes mettant en oeuvre un procédé de calcul du syndrome tel que ci-dessus.  Still for the same purpose, the present invention also proposes a decoding method comprising steps implementing a method for calculating the syndrome as above.

Toujours dans le même but, la présente invention propose aussi un 15 dispositif de décodage comportant un dispositif de calcul du syndrome tel que ci-dessus.  Still for the same purpose, the present invention also provides a decoding device comprising a syndrome calculating device as above.

La présente invention vise aussi un appareil de traitement de signaux numériques, comportant des moyens adaptés à mettre en oeuvre un procédé de calcul du syndrome tel que ci-dessus.  The present invention also provides a digital signal processing apparatus, comprising means adapted to implement a method of calculating the syndrome as above.

La présente invention vise aussi un appareil de traitement de signaux numériques, comportant un dispositif de calcul du syndrome tel que cidessus.  The present invention also relates to a digital signal processing apparatus, comprising a device for calculating the syndrome as above.

La présente invention vise aussi un réseau de télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de calcul du syndrome tel que ci-dessus.  The present invention also relates to a telecommunications network, comprising means adapted to implement a method of calculating the syndrome as above.

La présente invention vise aussi un réseau de télécommunications, comportant un dispositif de calcul du syndrome tel que ci-dessus.  The present invention also relates to a telecommunications network, comprising a device for calculating the syndrome as above.

La présente invention vise aussi une station mobile dans un réseau de télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de calcul du syndrome tel que ci-dessus.  The present invention also relates to a mobile station in a telecommunications network, comprising means adapted to implement a method of calculating the syndrome as above.

La présente invention vise aussi une station mobile dans un réseau de télécommunications, comportant un dispositif de calcul du syndrome tel que ci-dessus.  The present invention also relates to a mobile station in a telecommunications network, comprising a device for calculating the syndrome as above.

La présente invention vise aussi une station de base dans un réseau de télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de calcul du syndrome tel que ci-dessus.  The present invention also relates to a base station in a telecommunications network, comprising means adapted to implement a method of calculating the syndrome as above.

La présente invention vise aussi une station de base dans un réseau 5 de télécommunications, comportant un dispositif de calcul du syndrome tel que ci-dessus.  The present invention also relates to a base station in a telecommunications network, comprising a device for calculating the syndrome as above.

L'invention vise aussi - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, 10 permettant la mise en oeuvre d'un procédé de calcul du syndrome tel que cidessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un 15 procédé de calcul du syndrome tel que ci-dessus.  The invention also aims at - a computer-readable information storage means or a microprocessor retaining instructions of a computer program, allowing the implementation of a method for calculating the syndrome as above, and - a partially or totally removable information storage medium readable by a computer or a microprocessor retaining instructions of a computer program, allowing the implementation of a method of calculating the syndrome as above.

L'invention vise aussi un produit programme d'ordinateur comportant des séquences d'instructions pour mettre en oeuvre un procédé de calcul du syndrome tel que ci-dessus.  The invention also relates to a computer program product comprising sequences of instructions for implementing a method of calculating the syndrome as above.

Les caractéristiques particulières et les avantages du dispositif de 20 calcul du syndrome, du procédé et du dispositif de décodage, des différents appareils de traitement de signaux numériques, des différents réseaux de télécommunications, des différentes stations mobiles, des différentes stations de base, des différents moyens de stockage et du produit programme d'ordinateur étant similaires à ceux du procédé de calcul du syndrome selon 25 l'invention, ils ne sont pas rappelés ici.  The particular features and advantages of the syndrome calculating device, the method and the decoding device, the different digital signal processing apparatus, the different telecommunication networks, the different mobile stations, the different base stations, the different storage means and computer program product being similar to those of the method of calculating the syndrome according to the invention, they are not recalled here.

D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemple non limitatif. La description se réfère aux dessins qui l'accompagnent, dans lesquels: - la figure 1, déjà décrite, illustre de façon schématique un circuit connu de calcul du syndrome pour des codes de Reed-Solomon; il - la figure 2 déjà décrite, illustre de façon schématique un circuit connu de calcul du syndrome pour des codes hyperelliptiques; - la figure 3 illustre de façon schématique un circuit de calcul du syndrome pour des codes hyperelliptiques conforme à la présente invention, dans un mode particulier de réalisation; - la figure 4 est un organigramme illustrant les principales étapes d'un procédé de calcul du syndrome pour des codes hyperelliptiques conforme à la présente invention, dans un mode particulier de réalisation; - la figure 5 représente sous une forme schématique simplifiée un 10 réseau de télécommunications conforme à la présente invention; et - la figure 6 illustre schématiquement la constitution d'une station de réseau ou station d'émission informatique adaptée à mettre en oeuvre un procédé de calcul du syndrome conforme à la présente invention.  Other aspects and advantages of the invention will appear on reading the following detailed description of particular embodiments given by way of non-limiting example. The description refers to the accompanying drawings, in which: - Figure 1, already described, schematically illustrates a known circuit for calculating the syndrome for Reed-Solomon codes; FIG. 2 already described schematically illustrates a known circuit for calculating the syndrome for hyperelliptic codes; FIG. 3 schematically illustrates a syndrome calculation circuit for hyperelliptic codes according to the present invention, in a particular embodiment; FIG. 4 is a flowchart illustrating the main steps of a syndrome calculation method for hyperelliptic codes according to the present invention, in a particular embodiment; Figure 5 shows in simplified schematic form a telecommunications network according to the present invention; and FIG. 6 schematically illustrates the constitution of a network station or computer transmission station adapted to implement a method for calculating the syndrome according to the present invention.

On montre que la matrice de vérification de parité H d'un code 15 hyperelliptique peut se décomposer sous la forme suivante: H= Hs Hsl HtM[ HtM2] o H est une matrice de dimension (2N)x(s+t), Hs est une matrice de dimension sxN, Ht est une matrice de dimension txN, o N, s et t sont des entiers strictement positifs, et o Ml et M2 sont des matrices diagonales de dimension 20 NxN.  It is shown that the parity check matrix H of a hyperelliptic code can be decomposed into the following form: H = Hs Hs1 HtM [HtM2] where H is a matrix of dimension (2N) x (s + t), Hs is a matrix of dimension sxN, Ht is a matrix of dimension txN, where N, s and t are strictly positive integers, and M1 and M2 are diagonal matrices of dimension NxN.

Soit R un mot de code reçu après passage dans un canal de transmission. Ecrivons R sous la forme R = (T U), o T et U sont des vecteurs lignes de longueur N. Par définition, le syndrome S est obtenu par le produit suivant: H.RT Hs Hs TT Hs(TT+U) LHtMl HtM2][l=[Ht(MITT +M2UT)j On peut alors remplacer le calcul des s premiers symboles du syndrome par l'évaluation du polynôme associé à la matrice U+T aux racines du polynôme générateur de H.. On peut aussi remplacer le calcul des t symboles suivants du syndrome par l'évaluation du polynôme associé à la 30 matrice TM1+UM2 aux racines du polynôme générateur de Ht.  Let R be a codeword received after passing through a transmission channel. Write R in the form R = (TU), where T and U are line vectors of length N. By definition, syndrome S is obtained by the following product: H.RT Hs Hs TT Hs (TT + U) LHtM1 HtM2 ] [l = [Ht (MITT + M2UT) j We can then replace the computation of the first s symbols of the syndrome by the evaluation of the polynomial associated with the matrix U + T at the roots of the generator polynomial of H .. We can also replace calculating the following t symbols of the syndrome by evaluating the polynomial associated with the TM1 + UM2 matrix at the roots of the Ht generator polynomial.

Cela conduit à appliquer un algorithme tel qu'illustré par l'organigramme de la figure 4.  This leads to applying an algorithm as illustrated by the flowchart of Figure 4.

On commence par initialiser un indice i à 0 (étape 40). Lorsque le message R constitué de 2N symboles a été reçu, une première étape (étape 5 42) consiste à créer un vecteur (c'est-à-dire un tableau, dans le cas de l'élaboration d'un programme informatique) A et un vecteur B de longueur N tels que A(i) = R(i)+R(i+N) et B(i) = Ml(i)R(i)+M2(i)R(i+N). Tant que i n'a pas atteint la valeur N (test 44 négatif), on incrémente l'indice i d'une unité (étape 46) et on réitère l'étape 42.  We start by initializing an index i to 0 (step 40). When the message R consisting of 2N symbols has been received, a first step (step 42) is to create a vector (i.e., a table, in the case of developing a computer program). and a vector B of length N such that A (i) = R (i) + R (i + N) and B (i) = M1 (i) R (i) + M2 (i) R (i + N) . As long as i has not reached the value N (negative test 44), the index i is incremented by one unit (step 46) and step 42 is repeated.

Il y a s+t syndromes à calculer. Les s premiers syndromes sont calculés par l'application de l'algorithme de Horner pour l'évaluation des polynômes sur A et les t derniers, par l'application de l'algorithme de Horner pour l'évaluation des polynômes sur B, l'évaluation se faisant aux racines des polynômes générateurs GI et G2 respectivement associés à Hs et Ht.  There are s + t syndromes to calculate. The first syndromes are calculated by applying the Horner algorithm for the evaluation of polynomials on A and the last t, by applying the Horner algorithm for the evaluation of polynomials on B, the evaluation at the roots of the GI and G2 generating polynomials respectively associated with Hs and Ht.

Ainsi, pour le calcul des s premiers syndromes, on initialise une variable k à la valeur h (étape 48) et une variable i à la valeur 0 (étape 50), puis on attribue à la kème composante du syndrome S(k) la valeur S(k).yk + A(i) (étape 52). Tant que la variable i n'a pas atteint la valeur N (test 54 négatif), on incrémente la variable i d'une unité (étape 56) et on réitère l'étape 52. Ensuite, 20 on incrémente la variable k d'une unité (étape 58) et on vérifie si la variable k a atteint la valeur s+h. Tant que ce n'est pas le cas (test 60 négatif), on reprend l'algorithme à l'étape d'initialisation 50.  Thus, for the computation of the first s syndromes, one initializes a variable k to the value h (step 48) and a variable i to the value 0 (step 50), then one attributes to the kth component of the syndrome S (k) the S (k) .yk + A (i) value (step 52). As long as the variable i has not reached the value N (negative test 54), the variable i is incremented by one unit (step 56) and step 52 is repeated. Next, the variable k is incremented by a unit (step 58) and check whether the variable k has the value s + h. As long as this is not the case (negative test 60), the algorithm is resumed at the initialization step 50.

Pour le calcul des t syndromes suivants, on initialise une variable k' à la valeur h' (étape 62) et une variable i' à la valeur 0 (étape 64), puis on attribue 25 à la (k'+2t)ème composante du syndrome la valeur S(k'+2t). yk + B(i') (étape 66).  For the calculation of the following t syndromes, we initialize a variable k 'to the value h' (step 62) and a variable i 'to the value 0 (step 64), then we assign 25 to the (k' + 2t) th component of the syndrome the value S (k '+ 2t). yk + B (i ') (step 66).

Tant que la variable i' n'a pas atteint la valeur N (test 68 négatif), on incrémente la variable i' d'une unité (étape 70) et on réitère l'étape 66. Ensuite, on incrémente la variable k' d'une unité (étape 72) et on vérifie si la variable k' a atteint la valeur t+h'. Tant que ce n'est pas le cas (test 74 négatif), on reprend 30 l'algorithme à l'étape d'initialisation 64.  As long as the variable i 'has not reached the value N (negative test 68), the variable i' is incremented by one unit (step 70) and the step 66 is repeated. Next, the variable k 'is incremented. of a unit (step 72) and it is checked whether the variable k 'has reached the value t + h'. As long as this is not the case (negative test 74), the algorithm is resumed at the initialization step 64.

La réalisation matérielle peut alors se faire sous une forme simplifiée, comme l'illustre la figure 3.  The material realization can then be done in a simplified form, as illustrated in Figure 3.

Un compteur CPT 300 adresse deux tables de mémoire morte LUT, 302 et LUT2 304. Ces deux tables contiennent respectivement les N éléments de la diagonale des matrices M2 et M1. Ces mémoires ont donc M fils d'adresse et leurs sorties sont les valeurs codées sur M bits des symboles correspondant aux ibèes lignes des matrices quand l'adresse vaut i.  A counter CPT 300 addresses two read-only tables LUT, 302 and LUT2 304. These two tables respectively contain the N elements of the diagonal of the matrices M2 and M1. These memories therefore have M son of address and their outputs are the values coded on M bits of the symbols corresponding to the ibe lines of the matrices when the address is worth i.

La sortie de la mémoire LUT2 304 est multipliée par la recopie de l'entrée du système retardée de N coups d'horloge, au moyen d'un multiplieur 308, quand la sortie de la mémoire LUT1 302 est multipliée par l'entrée du système, qui est un symbole du mot reçu, au moyen d'un multiplieur 306. Les 10 deux résultats sont additionnés au moyen d'un additionneur 310. De cette façon, les symboles correspondant à T.M1+U.M2 sont calculés.  The output of the LUT2 memory 304 is multiplied by the copy of the input of the system delayed by N clockwise, by means of a multiplier 308, when the output of the memory LUT1 302 is multiplied by the input of the system. which is a symbol of the received word, by means of a multiplier 306. The two results are summed by means of an adder 310. In this way, the symbols corresponding to T.M1 + U.M2 are calculated.

Une autre branche permet, par une addition au moyen d'un additionneur 312, de créer les symboles correspondant à U+T. Ces symboles sont alors présentés à un circuit Cs identique à celui décrit plus haut à l'aide de 15 la figure 1, qui calcule les s premiers éléments du syndrome. Les symboles correspondant à T.M1+U.M2 sont quant à eux également présentés à un circuit Ct identique à celui de la figure 1, qui calcule les t derniers éléments du syndrome.  Another branch allows, by addition by means of an adder 312, to create the symbols corresponding to U + T. These symbols are then presented to a circuit Cs identical to that described above with the aid of FIG. 1, which calculates the first elements of the syndrome. The symbols corresponding to T.M1 + U.M2 are themselves also presented to a Ct circuit identical to that of Figure 1, which calculates the t last elements of the syndrome.

Cette mise en oeuvre nécessite (s+t) multiplications par une 20 constante et (s+t)+2 additions, ainsi que N+(s+t) registres de mémoire.  This implementation requires (s + t) multiplications by a constant and (s + t) +2 additions, as well as N + (s + t) memory registers.

L'opération est effectuée en 2xN coups d'horloge, lorsque le dernier symbole du mot reçu a été pris en compte. Il faut ajouter néanmoins 2 tables de consultation (en anglais "look-up tables") et un compteur de zéro à N, ainsi que deux multiplications par des valeurs quelconques.  The operation is performed in 2xN clock strokes, when the last symbol of the received word has been taken into account. However, we must add two look-up tables and a counter from zero to N, as well as two multiplications with arbitrary values.

Les tables de consultation ne sont pas de grandes consommatrices de transistors: en effet, suivant le choix de la courbe sur laquelle est construit le code hyperelliptique, on peut avoir une répétition cyclique des symboles, ce qui simplifie la construction de la table de consultation. Par exemple, pour le corps de Galois GF(16), pour un code hyperelliptique, la diagonale de la 30 matrice M1 vaut ( Y5,yY2,y5,,y,2, 'y5,y,y2,y5,Y, y2,y5,y,y2)et la diagonale de la matrice M2 vaut (,y4, 8, l0, Y 8 Y 10 14 Y8 lO Y4 Y8 y", y4 y8) L'homme du métier comprendra que la table de consultation est simple dans ce cas, car les mêmes symboles sont utilisés 5 fois. Il n'est donc pas nécessaire d'utiliser une mémoire morte de dimension 15; une mémoire de dimension 3 suffit pour l'exemple sur GF(24). Pour GF(28), une mémoire de dimension 15 est suffisante. Dans de tels cas, le compteur engendre les adresses cycliquement 5 et donc, ne compte pas de 0 à N-1, mais par exemple de 0 à 2 pour GF(24) et de 0 à 14 pour GF(28).  The look-up tables are not large consumers of transistors: indeed, depending on the choice of the curve on which the hyperelliptic code is built, one can have a cyclic repetition of the symbols, which simplifies the construction of the look-up table. For example, for the Galois body GF (16), for a hyperelliptic code, the diagonal of the matrix M1 is (Y5, yY2, y5, y, 2, y5, y, y2, y5, Y, y2 , y5, y, y2) and the diagonal of the matrix M2 is (, y4, 8, 10, Y8 Y 10 Y8 10 Y4 Y8 y ", y4 y8) Those skilled in the art will understand that the look-up table is simple in this case, because the same symbols are used 5 times, so it is not necessary to use a read-only memory of dimension 15, a memory of dimension 3 is sufficient for the example on GF (24). 28), a memory of dimension 15 is sufficient In such cases, the counter generates the addresses cyclically 5 and therefore does not count from 0 to N-1, but for example from 0 to 2 for GF (24) and from 0 to 14 for GF (28).

Une variante aux tables de consultation peut être l'utilisation de deux multiplexeurs pilotés par le compteur et choisissant les éléments formant les matrices diagonales M1 et M2, dont les valeurs sont obtenues directement en 10 reliant directement les voies de données des multiplexeurs aux valeurs logiques O ou 1.  An alternative to the lookup tables may be the use of two multiplexers driven by the counter and choosing the elements forming the diagonal matrices M1 and M2, whose values are obtained directly by directly connecting the data channels of the multiplexers to the logic values O or 1.

Dans une autre variante, au vu des faibles dimensions de la mémoire morte pour certains corps, il est possible de remplacer les tables de consultation par des circuits combinatoires simples. Par exemple, dans GF(24), 15 pour la table de consultation LUT1 302, les vecteurs associés à 5y, y et 72 doivent être engendrés. Soit B = (B3, B2, BI, BO) le vecteur de sortie de la table. Celui-ci vaut respectivement (0110), (0010) , (0100), etc. Les fils d'adresses A= (Ai, AO) valent cycliquement (00), (01), (10), (00), (01), etc. Une mise en oeuvre des tables de Karnaugh,bien connues de l'homme du métier, 20 permet d'obtenir les équations suivantes: BO =0 B= Ai B2 =A.AO B3 =0 o le signe désigne l'inversion logique. On appréciera l'extrême simplicité de la mise en oeuvre dans ce cas, puisque 3 inverseurs et une porte "et" sont suffisants.  In another variant, in view of the small size of the ROM for some bodies, it is possible to replace the look-up tables by simple combinational circuits. For example, in GF (24), for the LUT1 lookup table 302, the vectors associated with 5y, y and 72 must be generated. Let B = (B3, B2, BI, BO) be the output vector of the table. This one is respectively (0110), (0010), (0100), etc. The address wires A = (Ai, AO) are cyclically (00), (01), (10), (00), (01), and so on. An implementation of the Karnaugh tables, well known to those skilled in the art, makes it possible to obtain the following equations: BO = 0 B = A1 B2 = A.AO B3 = 0 where the sign denotes the logical inversion. It will be appreciated the extreme simplicity of the implementation in this case, since 3 inverters and a door "and" are sufficient.

Ainsi, les possibilités de conception sont multiples pour les mémoires LUT1 302 et LUT2 304, mais quel que soit le corps de Galois considéré, leur réalisation est économique.  Thus, the design possibilities are multiple for the memories LUT1 302 and LUT2 304, but whatever the body of Galois considered, their realization is economic.

Dans le cas, évoqué en introduction, o la matrice M1 est égale à la matrice identité et M2 à la matrice yld ou même 0, le circuit est réalisé sans table de consultation et sans compteur. Le calcul du syndrome ne fait plus intervenir qu'une ou deux multiplications par une constante.  In the case, mentioned in the introduction, where the matrix M1 is equal to the identity matrix and M2 to the matrix yld or even 0, the circuit is realized without a look-up table and without a counter. The calculation of the syndrome does not involve more than one or two multiplications by a constant.

Le tableau ci-dessous met en évidence la réduction de la complexité du calcul du syndrome obtenue grâce à la présente invention, en nombre d'opérations, par rapport au calcul direct effectué dans l'art antérieur.  The table below shows the reduction in the complexity of the calculation of the syndrome obtained by the present invention, in number of operations, compared with the direct calculation performed in the prior art.

Calcul direct Invention Multiplications par une (2N-2)x(s+t) s+t constante Additions (2N-3)x(s+t) s+t+2 Cellules de stockage s+t+2N-2 N-1 + s+t Multiplications 0 2 Tables de consultation 0 2 Compteur O 1 Par exemple, pour N = 255 et s+t = 30, et pour un code (N',K') = (510,480), le tableau ci-dessus devient: Calcul direct Invention Multiplications par une 510x30 = 15300 30 constante Additions 509x30= 15270 32 Cellules de stockage 30+510 = 540 285 Multiplications O 2 Tables de consultation 0 2 Compteur O 1 Il est à noter que la réduction de la complexité n'a pas de conséquence néfaste sur la vitesse de calcul, puisque dans le cas d'un calcul direct comme dans le cas de la présente invention, le calcul du syndrome est 15 effectué en 2N coups d'horloge.  Direct Calculation Invention Multiplications by a (2N-2) x (s + t) s + t constant Additions (2N-3) x (s + t) s + t + 2 Storage cells s + t + 2N-2 N- 1 + s + t Multiplications 0 2 Look-up tables 0 2 Counter O 1 For example, for N = 255 and s + t = 30, and for a code (N ', K') = (510,480), the table below above becomes: Direct calculation Invention Multiplications by a 510x30 = 15300 30 constant Additions 509x30 = 15270 32 Storage cells 30 + 510 = 540 285 Multiplications O 2 Consultation tables 0 2 Counter O 1 It should be noted that the reduction of the complexity n This has no detrimental effect on the speed of calculation, since in the case of a direct calculation as in the case of the present invention, the calculation of the syndrome is carried out in 2N clock strokes.

Comme le montre la figure 5, un réseau de télécommunications selon l'invention est constitué d'au moins une station dite station de base SB désignée par la référence 64, et de plusieurs stations périphériques dites terminaux mobiles SPi, i = 1, ..., M, o M est un entier supérieur ou égal à 1, 5 respectivement désignées par les références 661, 662, ...., 66M. Les stations périphériques 661, 662, ..., 66M sont éloignées de la station de base SB, reliées chacune par une liaison radio avec la station de base SB et susceptibles de se déplacer par rapport à cette dernière.  As shown in FIG. 5, a telecommunications network according to the invention consists of at least one station called base station SB designated by the reference 64, and several peripheral stations called mobile terminals SPi, i = 1, .. Where M is an integer greater than or equal to 1, respectively denoted by references 661, 662, ...., 66M. The peripheral stations 661, 662,..., 66M are remote from the base station SB, each connected by a radio link with the base station SB and capable of moving relative to the latter.

La station de base 64 peut comporter des moyens adaptés à mettre 10 en oeuvre un procédé de calcul du syndrome conforme à l'invention. En variante, la station de base 64 peut comporter un dispositif de calcul du syndrome conforme à l'invention. De façon similaire, au moins un des terminaux mobiles 66j peut comporter des moyens adaptés à mettre en oeuvre un procédé de calcul du syndrome conforme à l'invention ou comporter un dispositif de 15 calcul du syndrome conforme à l'invention.  The base station 64 may comprise means adapted to implement a method for calculating the syndrome according to the invention. Alternatively, the base station 64 may include a syndrome calculator according to the invention. Similarly, at least one of the mobile terminals 66j may comprise means adapted to implement a method of calculating the syndrome according to the invention or comprise a device for calculating the syndrome according to the invention.

Dans le mode particulier de réalisation de la figure 5, l'invention s'applique à un réseau sans fil. Néanmoins, l'invention est adaptée à s'appliquer à tout système de communication, indépendamment du caractère filaire ou sans fil du réseau de télécommunications.  In the particular embodiment of FIG. 5, the invention applies to a wireless network. Nevertheless, the invention is adapted to apply to any communication system, regardless of the wired or wireless nature of the telecommunications network.

La figure 6 illustre schématiquement la constitution d'une station de réseau ou station d'émission informatique, sous forme de schéma synoptique.  FIG. 6 schematically illustrates the constitution of a network station or computer transmission station, in the form of a block diagram.

Cette station comporte un clavier 911, un écran 909, une source d'information externe 910, un émetteur hertzien 906, conjointement reliés à un port d'entrées/sorties 903 d'une carte de traitement 901.  This station comprises a keyboard 911, a screen 909, an external information source 910, a radio transmitter 906, jointly connected to an input / output port 903 of a processing card 901.

La carte de traitement 901 comporte, reliés entre eux par un bus d'adresses et de données 902: - une unité centrale de traitement 900; une mémoire vive RAM 904; - une mémoire morte ROM 905; et - le port d'entrées/sorties 903.  The processing card 901 comprises, interconnected by an address and data bus 902: a central processing unit 900; RAM RAM 904; a ROM memory 905; and - the input / output port 903.

Chacun des éléments illustrés en figure 6 est bien connu de l'homme du métier des micro-ordinateurs et 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: - la source d'information 910 est, par exemple, un périphérique d'interface, un capteur, un démodulateur, une mémoire externe ou un autre 5 système de traitement d'information (non représenté), et est de préférence adaptée à 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, et que - l'émetteur hertzien 906 est adapté à mettre en oeuvre un protocole 10 de transmission par paquets sur un canal non filaire, et à transmettre ces paquets sur un tel canal.  Each of the elements illustrated in Figure 6 is well known to those skilled in the field of microcomputers and transmission systems and, more generally, information processing systems. These common elements are therefore not described here. It is observed, however, that: the information source 910 is, for example, an interface device, a sensor, a demodulator, an external memory or another information processing system (not shown), and is preferably adapted to provide signal sequences representative of speech, service messages or multimedia data, in the form of binary data sequences, and - the radio transmitter 906 is adapted to implement a transmission protocol 10 packet over a non-wired channel, and forward these packets over such a channel.

On observe en outre que le mot "registre" utilisé dans la description désigne, dans chacune des mémoires 904 et 905, aussi bien une zone mémoire de faible capacité (quelques données binaires) qu'une zone mémoire 15 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 904 and 905, both a memory zone of low capacity (a few binary data) and a memory zone 15 of large capacity (for storing an entire program).

La mémoire vive 904 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 904 comporte notamment: - un registre "mot reçu", dans lequel sont conservés les symboles du mot de code reçu, dont on cherche à calculer le syndrome.  The random access memory 904 stores data, variables and intermediate processing results, in memory registers carrying, in the description, the same names as the data whose values they retain. The random access memory 904 comprises in particular: a "received word" register, in which are kept the symbols of the received codeword, the syndrome of which is to be calculated.

La mémoire morte 905 est adaptée à conserver, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent: le programme de fonctionnement de l'unité centrale de traitement 900, dans un registre "program".  The read-only memory 905 is adapted to keep, in registers which, for convenience, have the same names as the data they retain: the operating program of the central processing unit 900, in a "program" register.

L'unité centrale de traitement 900 est adaptée à mettre en oeuvre un procédé de calcul du syndrome tel qu'illustré par l'organigramme de la figure 4.  The central processing unit 900 is adapted to implement a method for calculating the syndrome as illustrated by the flowchart of FIG. 4.

Claims (15)

REVENDICATIONS 1. Procédé de décodage pour un code défini sur un corps de Galois et dont la matrice de vérification de parité, de dimension (s+t)x(2N), o s, t et N 5 sont des entiers strictement positifs, est de la forme H = Hs H8 1; o Hs LHtMl HtM2] est une matrice de dimension sxN, Ht est une matrice de dimension txN, et Ml et M2 sont des matrices diagonales de dimension NxN, caractérisé en ce que, un mot R de longueur 2N ayant été reçu après être passé dans un canal de transmission, il comporte les étapes suivantes: on calcule les s premiers symboles du syndrome S = H.RT, o T désigne la transposition, en évaluant le polynôme associé à la matrice T+U, o T et U sont des vecteurs ligne de longueur N composant ledit mot reçu R = (T U), aux racines du polynôme générateur de la matrice Hs, et - on calcule les t symboles suivants dudit syndrome S en évaluant le 15 polynôme associé à la matrice T.M1+U.M2 aux racines du polynôme générateur de la matrice Ht.  1. A decoding method for a code defined on a Galois field and whose parity check matrix, of dimension (s + t) x (2N), b, t and N 5 are strictly positive integers, is of the form H = Hs H8 1; Hs LHtM1 HtM2] is a matrix of dimension sxN, Ht is a matrix of dimension txN, and M1 and M2 are diagonal matrices of dimension NxN, characterized in that, a word R of length 2N having been received after being passed through a transmission channel, it comprises the following steps: the first symbols of the syndrome S = H.RT are calculated, where T denotes the transposition, by evaluating the polynomial associated with the matrix T + U, where T and U are vectors line of length N composing said received word R = (TU), to the roots of the generator polynomial of the matrix Hs, and - the following t symbols of said syndrome S are calculated by evaluating the polynomial associated with the matrix T.M1 + U. M2 to the roots of the generator polynomial of the matrix Ht. 2. Procédé selon la revendication 1, caractérisé en ce que lesdites étapes d'évaluation mettent en oeuvre l'algorithme de Horner.  2. Method according to claim 1, characterized in that said evaluation steps implement the Horner algorithm. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que ledit 20 code est un code hyperelliptique.  3. Method according to claim 1 or 2, characterized in that said code is a hyperelliptic code. 4. Dispositif de décodage pour un code défini sur un corps de Galois et dont la matrice de vérification de parité, de dimension (s+t)x(2N), o s, t et N sont des entiers strictement positifs, est de la forme H = Hs Hs lo H, HtMl HtM2 j est une matrice de dimension sxN, Ht est une matrice de dimension txN, et M1 25 et M2 sont des matrices diagonales de dimension NxN, caractérisé en ce qu'il comporte: - un compteur de coups d'horloge (300), - des première et seconde mémoires mortes (302, 304), reliées au compteur (300) et représentant respectivement les N éléments de la diagonale 30 des matrices M1 et M2, - un premier multiplieur, relié à la sortie de la première mémoire morte (302), multipliant ladite sortie de la première mémoire morte avec un symbole d'un mot reçu R de longueur 2N, un deuxième multiplieur, relié à la sortie de la seconde mémoire morte 5 (304), multipliant ladite sortie de la seconde mémoire morte avec un symbole dudit mot reçu R retardé de N coups d'horloge, - un premier additionneur, relié à la sortie des premier et deuxième multiplieurs et fournissant en sortie des symboles correspondant à T.M1+U. M2, o T et U sont des vecteurs lignes de longueur N composant le mot reçu 10 R=(TU), un deuxième additionneur, fournissant en sortie des symboles correspondant à U+T, - un premier circuit mettant en oeuvre l'algorithme de Horner, relié à la sortie du deuxième additionneur, pour calculer les s premiers éléments du 15 syndrome S = H.RT, o T désigne la transposition, et - un second circuit mettant en oeuvre l'algorithme de Horner, relié à la sortie du premier additionneur, pour calculer les t derniers éléments dudit syndrome.  4. A decoding device for a code defined on a Galois body and whose parity check matrix, of dimension (s + t) x (2N), b, t and N are strictly positive integers, is of the form Is a matrix of dimension sxN, Ht is a matrix of dimension txN, and M1 and M2 are diagonal matrices of dimension NxN, characterized in that it comprises: a counter of clock ticks (300), first and second dead memories (302, 304), connected to the counter (300) and respectively representing the N elements of the diagonal 30 of the matrices M1 and M2, - a first multiplier connected to the output of the first read-only memory (302), multiplying said output of the first read-only memory with a symbol of a received word R of length 2N, a second multiplier connected to the output of the second read-only memory (304), multiplying said output of the second read-only memory with a symbol of said received word R delayed by N c clock, - a first adder, connected to the output of the first and second multipliers and outputting symbols corresponding to T.M1 + U. M2, o T and U are line vectors of length N composing the received word R = (TU), a second adder, outputting symbols corresponding to U + T, - a first circuit implementing the algorithm of Horner, connected to the output of the second adder, to calculate the first elements of the S = H.RT syndrome, where T denotes the transposition, and a second circuit implementing the Horner algorithm, connected to the output of the first adder, to calculate the last t elements of said syndrome. 5. Dispositif selon la revendication précédente, caractérisé en ce que 20 lesdites première et seconde mémoires mortes (302, 304) sont deux tables de consultation.  5. Device according to the preceding claim, characterized in that 20 said first and second dead memories (302, 304) are two look-up tables. 6. Dispositif selon la revendication 4, caractérisé en ce que lesdites première et seconde mémoires mortes (302, 304) sont deux multiplexeurs.  6. Device according to claim 4, characterized in that said first and second dead memories (302, 304) are two multiplexers. 7. Dispositif selon la revendication 4, caractérisé en ce que lesdites 25 première et seconde mémoires mortes (302, 304) sont des circuits combinatoires.  7. Device according to claim 4, characterized in that said first and second dead memories (302, 304) are combinational circuits. 8. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre un procédé de décodage selon la revendication 1, 2 ou 3.  8. Digital signal processing apparatus, characterized in that it comprises means adapted to implement a decoding method according to claim 1, 2 or 3. 9. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte un dispositif de décodage selon l'une quelconque des  9. Digital signal processing apparatus, characterized in that it comprises a decoding device according to any one of the revendications 4 à 7.Claims 4 to 7. 10. Réseau de télécommunications, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre un procédé de décodage selon la revendication 1, 2 ou 3.  10. Telecommunications network, characterized in that it comprises means adapted to implement a decoding method according to claim 1, 2 or 3. 11. Réseau de télécommunications, caractérisé en ce qu'il comporte un dispositif de décodage selon l'une quelconque des revendications 4 à 7.  11. Telecommunications network, characterized in that it comprises a decoding device according to any one of claims 4 to 7. 12. Station mobile dans un réseau de télécommunications, caractérisée en ce qu'elle comporte des moyens adaptés à mettre en oeuvre un procédé de décodage selon la revendication 1, 2 ou 3.  12. Mobile station in a telecommunications network, characterized in that it comprises means adapted to implement a decoding method according to claim 1, 2 or 3. 13. Station mobile dans un réseau de télécommunications, 10 caractérisée en ce qu'elle comporte un dispositif de décodage selon l'une  Mobile station in a telecommunications network, characterized in that it comprises a decoding device according to one of quelconque des revendications 4 à 7.  any of claims 4 to 7. 14. Station de base dans un réseau de télécommunications, caractérisée en ce qu'elle comporte des moyens adaptés à mettre en oeuvre un procédé de décodage selon la revendication 1, 2 ou 3.  14. Base station in a telecommunications network, characterized in that it comprises means adapted to implement a decoding method according to claim 1, 2 or 3. 15. Station de base dans un réseau de télécommunications, caractérisée en ce qu'elle comporte un dispositif de décodage selon l'une  15. Base station in a telecommunications network, characterized in that it comprises a decoding device according to one quelconque des revendications 4 à 7.  any of claims 4 to 7.
FR0300921A 2003-01-28 2003-01-28 METHOD AND DEVICE FOR CALCULATING SYNDROME, IN PARTICULAR FOR HYPERELLIPTIC CODES Expired - Fee Related FR2850500B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0300921A FR2850500B1 (en) 2003-01-28 2003-01-28 METHOD AND DEVICE FOR CALCULATING SYNDROME, IN PARTICULAR FOR HYPERELLIPTIC CODES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0300921A FR2850500B1 (en) 2003-01-28 2003-01-28 METHOD AND DEVICE FOR CALCULATING SYNDROME, IN PARTICULAR FOR HYPERELLIPTIC CODES

Publications (2)

Publication Number Publication Date
FR2850500A1 true FR2850500A1 (en) 2004-07-30
FR2850500B1 FR2850500B1 (en) 2005-07-15

Family

ID=32669272

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0300921A Expired - Fee Related FR2850500B1 (en) 2003-01-28 2003-01-28 METHOD AND DEVICE FOR CALCULATING SYNDROME, IN PARTICULAR FOR HYPERELLIPTIC CODES

Country Status (1)

Country Link
FR (1) FR2850500B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2480918C1 (en) * 2011-11-18 2013-04-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Adaptive coder of 3d dimension hypercode
RU2500073C1 (en) * 2012-08-29 2013-11-27 Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт связи" (ФГУП ЦНИИС) Adaptive decoder for generating 3d codes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000206879A (en) * 1999-01-14 2000-07-28 Internatl Business Mach Corp <Ibm> Device and method for operating group calculations of jacobi variety of hyperelliptic curve defined on galois field with two characteristics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000206879A (en) * 1999-01-14 2000-07-28 Internatl Business Mach Corp <Ibm> Device and method for operating group calculations of jacobi variety of hyperelliptic curve defined on galois field with two characteristics

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BLAKE I ET AL: "Algebraic-Geometry Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE INC. NEW YORK, US, vol. 44, no. 6, 6 October 1998 (1998-10-06), pages 2596 - 2618, XP002251940, ISSN: 0018-9448 *
HOEHOLDT T ET AL: "On the Decoding of Algebraic-Geometric Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE INC. NEW YORK, US, vol. 41, no. 6, November 1995 (1995-11-01), pages 1589 - 1614, XP002224191, ISSN: 0018-9448 *
PATENT ABSTRACTS OF JAPAN vol. 2000, no. 10 17 November 2000 (2000-11-17) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2480918C1 (en) * 2011-11-18 2013-04-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Adaptive coder of 3d dimension hypercode
RU2500073C1 (en) * 2012-08-29 2013-11-27 Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт связи" (ФГУП ЦНИИС) Adaptive decoder for generating 3d codes

Also Published As

Publication number Publication date
FR2850500B1 (en) 2005-07-15

Similar Documents

Publication Publication Date Title
FR2860360A1 (en) Improved fidelity digital word communications system transmit/record having reed solomon coder/decoder and error correction block/memory registers
EP0108655B1 (en) System for the detection and correction of transmission errors in a binary message using an error detecting and correcting interleaved reed-solomon cyclic code
EP0265336B1 (en) Galois field polynomial processing device and digital signal processor comprising such a device
FR2815199A1 (en) Cyclic turbo coding scheme improves minimum Hamming distance
FR2785743A1 (en) DEVICE AND METHOD FOR ADAPTING TURBOCODERS AND DECODERS ASSOCIATED WITH VARIABLE LENGTH SEQUENCES
EP2394366B1 (en) Error-correcting encoding method with total parity bits
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
FR2540690A1 (en) ENCODER CHECKER
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
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
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
EP0204635B1 (en) Method for transmitting digital information in word blocks
FR2673341A1 (en) CIRCUIT ARRANGEMENT FOR DETECTING AND CORRECTING DEFECTS IN DATA WORDS.
FR2845220A1 (en) Method and device for decoding the algebraic-geometric codes at a point, comprises the construction of a sequence of syndromes matrices ending with a zero row elements matrix
EP0204612B1 (en) Method for transmitting data with a possibility for packet error correction, and coding and decoding apparatus for carrying out said 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
FR2850500A1 (en) Method and device for computing syndrome, in particular for hyperelliptic codes, by use of parity-check matrix and transposed code word
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
FR2867925A1 (en) CANAL ADJUSTMENT TO RAFALE ERRORS
FR2838580A1 (en) Methods and devices of low cost for decoding the codes products
FR2811169A1 (en) Low calculation cost decoder process/mechanism having n uplet assembly extrinsic information decoded using whole number set summed sequence transmitted energy spectral density values initialised.
FR2880218A1 (en) DECODING METHOD FOR ALGEBRATIC GEOMETRY CODES AND DEVICE THEREOF
FR2873875A1 (en) Erroneous aggregates locating method for e.g. communication system, involves determining, from polynomial for locating errors in variable, set of values of variable having value of variable labeling erroneous aggregates
FR2878096A1 (en) Erroneous aggregates locating method, involves obtaining polynomial if Grobner base contains only one component and calculating another polynomial based on previous polynomial and large common divisor if Grobner base contains two components
EP3890192B1 (en) Quick crc calculation circuit using a reductor polynomial reconfigurable on the flight

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140930