FR2762163A1 - Dispositif de decodage pour la correction d'erreurs d'un code reed-solomon etendu et dispositif de correction d'erreurs de codes reed-solomon a simple ou double extension - Google Patents

Dispositif de decodage pour la correction d'erreurs d'un code reed-solomon etendu et dispositif de correction d'erreurs de codes reed-solomon a simple ou double extension Download PDF

Info

Publication number
FR2762163A1
FR2762163A1 FR9803692A FR9803692A FR2762163A1 FR 2762163 A1 FR2762163 A1 FR 2762163A1 FR 9803692 A FR9803692 A FR 9803692A FR 9803692 A FR9803692 A FR 9803692A FR 2762163 A1 FR2762163 A1 FR 2762163A1
Authority
FR
France
Prior art keywords
error
polynomial
errors
locations
values
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
FR9803692A
Other languages
English (en)
Other versions
FR2762163B1 (fr
Inventor
Hachiro Fujita
Takahiko Nakamura
Hideo Yoshida
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of FR2762163A1 publication Critical patent/FR2762163A1/fr
Application granted granted Critical
Publication of FR2762163B1 publication Critical patent/FR2762163B1/fr
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/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
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • 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
    • H03M13/1525Determination and particular use of error location polynomials
    • H03M13/153Determination and particular use of error location polynomials using the Berlekamp-Massey algorithm
    • 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
    • H03M13/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Ce dispositif comprend des moyens (1) de production d'un syndrome de mot. reçu, une mémoire (5) du mot reçu, des moyens (2) d'estimation d'un nombre d'erreurs apparues dans ledit mot à partir du syndrome calculé par les moyens (1) , des moyens (3) de calcul d'un polynôme d'emplacements d'erreurs et d'un polynôme de valeurs d'erreurs en fonction du nombre d'erreurs estimé par les moyens (2) , des moyens de recherche selon Chien (4) pour le calcul d'emplacements et de valeurs d'erreurs, et des moyens (7) de correction d'erreurs.Application notamment aux systèmes de correction d'erreurs apparaissant dans le domaine des radiocommunications numériques et de l'enregistrement numérique.

Description

La présente invention a trait à un dispositif de
décodage pour la correction d'erreurs pour un code de Reed-
Solomon étendu pour exécuter le décodage de codes de Reed-
Solomon étendus (désignés ci-après de façon abrégée par codes RS), qu'on utilise en tant que code permettant de
corriger des erreurs apparaissant dans des radiocommuni-
cations numériques et dans un enregistrement magnétique numérique, et un dispositif de correction d'erreurs pour un code RS à simple ou double extension pour la correction d'erreurs apparaissant dans les radiocommunication
numériques et dans les enregistrements numériques.
Tout d'abord, on va décrire la structure d'un code RS à extension simple, qui est soumis à un décodage pour une correction d'erreurs conformément à la présente invention. A titre de simplification, on suppose que la
caractéristique de l'espace de Galois est deux.
Un code RS à simple extension possédant une lon-
gueur de code N et un nombre k de symboles d'information
peut être formé comme suit. Tout d'abord, on forme un poly-
nôme d'information conformément à l'expression suivante (1) pour des symboles d'information (Cn_2, Cn_3, *.., Cnk_1)
comprenant les éléments de l'espace de Galois.
cn_2 xn-2 + cn_3 xn3 +... + cnk_1 Xnnk... (1) Ensuite, on divise le polynôme d'information par un polynôme générateur fourni conformément à l'expression
suivante (2).
g(x) = (x-ab) (x-ab+l)... (x-ab+n-k-2)... (2) b étant un entier prédéterminé et a une racine d'un
polynôme primitif formant l'espace de Galois.
Par conséquent, lorsque le polynôme formant reste obtenu par division de l'expression précédente (2) est fourni par l'expression suivante (3), (cn_2, cn_3t..., c1, co) est produit par addition d'une information de coefficient comprenant (n-k-1) symboles en tant que symbole
de contrôle.
Cnk2 Xn-k-2 + Cnk3 Xn-k-3 +... + c1 X + co... (3) En outre, un mot de code C=(Cn_2,Cn_3,..., Cl,
co,c_1) d'un code RS à simple extension est formé par addi-
tion, sous la forme d'un symbole final, d'une valeur c_ produite par l'équation suivante (4). c1 = cn2 a(b+n-k-1)(n-2)+cn-3 a(b+n-k-1)(n- 3) +...+c1 a(b+n-k-1) + c0... (4) On sait que le code RS étendu ainsi formé possède une distance minimale égale à (n-k+1). Par ailleurs, le code avant l'extension (Cn_2, Cn-3,..., Cl, c0) est désigné comme étant un code intérieur, et le code c_1 fixé à l'emplacement final est désigné sous l'expression
composant étendu.
Ici le mot de code (cn_2, Cn-3,.., c1, co, c_1) du code RS à extension simple est formé par addition, à la position finale, de la valeur c_1 fournie par l'expression précédente (4) satisfait à HtC=0, H étant une matrice de parité fournie par l'expression suivante (5), et tc représente la transposée de C. ab(n-2) ab(n-3).b 1 0 (b+l)(n-2) a(b-1)(n-3)... ab+l 1 0
H =............... ...
a(b+n+k-2)(n-2) (b+n-k-2)(n-3)... b+n-k-2 1 0 a(b+n+k-1)(n-2) a(b+n-k-l)(n-3)... ab+n-k-1 1 O
25... (5)
On sait que le code RS étendu ainsi formé possède une distance minimale d=n-k+1. En considérant Le fait que le code intérieur possède la distance minimale n-k, le code est accru d'une unité. Lorsque la distance minimale n-k est égale à 2t, t étant un entier positif, le code intérieur peut corriger uniquement (t-1) erreurs. Cependant le code RS à simple extension peut corriger t erreurs étant donné que sa distance minimale est 2t+1. En outre, lorsque le code intérieur possède la distance minimale n-k = 2t+l, la distance minimale du code RS à simple extension est 2t+2, qui peuvent corriger t erreurs et détecter t+ l erreurs (auquel cas le nombre total de t+l erreurs peut être corrigé, t erreurs apparaissant dans le code intérieur et une erreur étant située dans le composant étendu). Par conséquent, le code PRS à simple extension améliore la capacité de correction de détection avec un symbole de
contrôle additionnel ajouté au code RS normal.
La figure 30 est un organigramme illustrant la procédure de traitement d'un procédé classique de correction d'erreurs du code RS à extension unique, avec
une longueur de code n, un nombre de symboles d'informa-
tions k et une distance minimale d=n-k+1=2t+1, t étant un entier positif. Sur la figure 30, le pas ST60 est un pas de production de syndrome, le pas ST61 est un pas de calcul selon un algorithme euclidien, le pas ST62 est un pas de prise de décision vraie, le pas ST63 est un pas de calcul selon l'algorithme euclidien, le pas ST64 est un pas de prise de décision vraie, le pas ST65 est un pas de recherche selon Chien et le pas ST66 est un pas de
correction/de détection d'erreurs.
On va décrire ci-après le fonctionnement.
Dans la description qui va suivre, on suppose que
R=(rn-2, rn-3,..., r0, r_1) est reçu en tant que mot reçu R. Tout d'abord, dans le pas ST60 de production de syndrome, le syndrome S = (SO, Sl, -..., S2t-2, S2t-i) est calculé au moyen de l'expression (6) suivante S = Ht R... (6) H étant une matrice de parité fournie par l'expression (5) précédente. Ensuite, lors du pas ST61 de calcul sur la base de l'algorithme euclidien, des polynômes d'emplacements d'erreurs a(x) et des polynômes de valeurs d'erreurs w(x) sont calculés au moyen de l'algorithme euclidien en utilisant des polynômes fournis par les expressions
suivantes (7) et (8) en tant que valeurs initiales.
R 1(x) = x2t-l... (7) R0(x) = S0 + S1 x +... + S2t_2 x2t-2... (8) La condition de fin du pas ST61 de calcul sur la base de l'algorithme euclidien est fournie par l'expression suivante (9). d e g Ri(x) < t 1... (9) Le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs lors du pas ST61 de calcul sur la base de l'algorithme euclidien est exécuté conformément à la procédure illustrée dans l'organigramme
de la figure 31.
Lors du calcul de l'algorithme euclidien, on règle tout d'abord B_1(x) et B0(x) respectivement à zéro et un, lors du pas ST610, les valeurs initiales de R_1(x) et R0(x) sont réglées comme cela est représenté respectivement par les expressions précédentes (7) et (8), lors du pas ST611, et la valeur initiale d'une variable i est réglée à un lors du pas ST612. Ensuite, le polynôme de quotient Qi(x) est obtenu en divisant Ri_2(x) par Ril(x) lors du pas ST613, et Ri(x) et Bi(x) sont calculés au moyen des équations suivantes (10) et (11) en utilisant le polynôme
de quotient Qi(x) lors du pas ST614.
Ri(x) = Qi(x) Ri_l(X) + Ri_2(x)... (10) Bi(x) = Qi(x) Bil(X) + Bi_2(x)... (11) Ensuite, une décision est prise pour déterminer si le degré de Ri(x) ainsi obtenu satisfait à la condition de fin ou non lors du pas ST615. Si la condition de fin n'est pas satisfaite, la variable i est incrémentée lors du pas ST616 et les traitements exécutés à partir du pas ST613 et suivants sont répétés. D'autre part, si la condition de fin est satisfaite, le polynôme d'emplacements d'erreurs a(x) et le polynôme de valeurs d'erreurs w(x) sont calculés au moyen des équations suivantes (12) et (13) lors du pas ST617, ce qui achève le calcul basé sur l'algorithme
euclidien.
a(x) = Bi(x)... (12) w(x) = Ri(x)... (13) Ensuite, les candidats pour le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs calculés lors du pas ST61 de calcul de l'algorithme euclidien sont contrôlés lors du pas de décision vraie ST62 pour déterminer qu'il s'agit d'un polynôme d'emplacements d'erreurs vraie et du polynômes de
valeurs vraies en utilisant l'expression suivante (14).
d e g w < d e g o < t - 1... (14) Si cette condition est satisfaite, la recherche selon Chien est exécutée du pas ST65 de recherche selon Chien sur le polynôme d'emplacements d'erreurs a(x) et le polynôme de valeurs d'erreurs w(x) calculés lors du pas ST61 de calcul de l'algorithme euclidien pour l'obtention
des emplacements d'erreurs et des valeurs d'erreurs.
Ensuite, lors du pas de correction/détection d'erreurs ST66, l'opération de correction d'erreurs est exécutée si des erreurs sont déterminées comme pouvant être corrigées,
ce qui achève la série des traitements.
D'autre part, s'il s'avère dans le pas concernant la décision ST62 basée sur la table que cette condition n'est pas satisfaite, le polynôme o(x) d'emplacements d'erreurs et le polynôme de valeurs d'erreurs w(x) sont calculés au moyen de l'algorithme euclidien par répétition des processus de la figure 31 à nouveau en utilisant les polynômes délivrés par les équations (15) et (16) indiquées
ci-après, en tant que valeurs initiales.
R_1(x) =x2t... (15) R0(x) = SO + Si x +.. + S2t_2x2t-2 + s21 x2t_1 1 (16) En tant que condition de fin du pas ST63 de calcul de l'algorithme euclidien, on utilise l'expression
suivante (17).
d e g Ri(x) < t... (17) Ensuite, les candidats du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs calculés lors du pas ST63 de calcul sur la base de l'algorithme euclidien sont contrôlés dans le pas de décision vraie ST64 pour déterminer s'il s'agit du polynôme d'emplacements d'erreurs vraie et du polynôme de valeurs d'erreurs vraie moyennant
l'utilisation de l'expression (18) suivante.
d e g w < d e g a... (18) Si cette condition est satisfaite, la recherche selon Chien est exécutée lors du pas ST65 de recherche selon Chien sur le polynôme c(x) d'emplacements d'erreurs et sur le polynôme de valeurs d'erreurs w(x) pour obtenir les emplacements d'erreurs et les valeurs d'erreurs. Si les erreurs peuvent être corrigées, l'opération de correction d'erreurs est exécutée lors du pas de correction/détection
d'erreurs ST66, ce qui achève la série des traitements.
D'autre part, s'il s'avère que la condition n'est pas satisfaite en tant que résultat du contrôle de l'étape de décision vraie ST64, les traitements lors de l'étape de correction/détection d'erreurs ST66 sont arrêtés lors de la détection d'une erreur, ce qui achève la série des traitements. Ci-après, on va décrire un code RS à double extension. Ici, à titre de simplification, on suppose que
la caractéristique de l'espace de Galois est égale à deux.
Un code RS à double extension possédant une longueur de code n et un nombre de symboles d'informations k peut être formé comme suit. Tout d'abord, on forme un polynôme d'information avec l'expression suivante (19) pour des symboles d'informations (Cn-3, Cn_4,..., Cn-k- 2)
constitués par les éléments de l'espace de Galois.
xn-4 xn-k-
cn_3 xn-3 + cn_4 x 4 +... + cnk2 Xn-k-2... (19) Ensuite, le polynôme d'information est divisé par un polynôme générateur fourni par l'expression suivante
(20).
g(x) = (x-ab) (x--ab+l)... (x-_n-k-2)... (20) b étant un entier prédéterminé et a une racine d'un
polynôme primitif formant l'espace de Galois.
Lorsque le polynôme formant reste obtenu par division par l'expression précédente (20) est fourni par l'expression suivante (20), (cn-3, Cn_4,.., clc0) est formé par addition de coefficient de (n-k-2) symboles en
tant que symboles de contrôle.
cnk_3 xn-k-3 + cnk_4 xn-k-4 +... + c1 x + c0... (21)
En outre, un mot de code C = (Cn_2, cn_3,..
cl, c0, cl) d'un code RS à double extension est formé par addition de c_1 et cn_2 fourni par les équations suivantes
(22) et (23).
c_ = cn-3 + cn_4 +... C + c+ c0... (22) cn_2 = cn_3 a(n-k-1)(n-3) + cn4 a(n-k-1)(n-4) +... + ci an-k-i + C0... (23) Ici, le mot de code (Cn_2, Cn-3,..., cl, c0, c1_) du code RS à double extension, formé par addition, aux symboles de bord, des valeurs c_1 et cn_2 produites par les expressions suivantes (22) et (23) satisfait à H2tC=0, H2 étant une matrice de parité fournie par l'expression (24) suivante et tC représentant la transposée de C. 0i 1... 1 1 0 an-3 an-2... a 1 0
H2 =............ ... ...
0 (n-k-2)(n-3) (n-k-2)(n-2)... an-k-2 1 0 0 a(n-k-1)(n-3) a(n-k-1)(n-2)... n-k-1 1 0 (24) Dans ce cas également, le code avant l'extension (cn_3, cn_4,..., cl, c0) est désigné comme étant un code interne et le symbole c_1 rattaché à la position finale est désigné comme étant un premier composant étendu et le symbole cn_2 ajouté à la position initiale est désigné
comme étant un second composant étendu.
On sait que le code RS à double extension ainsi formé possède une distance minimale d=n-k+1. En considérant que le code interne possède la distance minimale n-k-l, il est accru de deux. Par conséquent une erreur supplémentaire peut être corrigée en plus de la capacité de correction du code interne. En tant que procédé classique de correction d'erreurs du code RS à double extension, on connaît l'algorithme qui est décrit par exemple au chapitre 9, alinéa 3 de R.E. Blahut, "Theory and Practice of Error Control Codes", Addison-Wes].ey Publishing Company, 1984. La figure 32 est un organigramme illustrant la procédure de traitement du procédé classique de correction d'erreurs du code RS à double extension ayant une longueur de code n, un nombre de symboles d'informations égal à k et une distance
minimale d=n-k+1=2t+1, t étant un entier positif.
Sur la figure 32, le pas ST70 est un pas de production de syndromes, le pas ST71 est un pas de calcul suivant l'algorithme de Berlekamp-Massey, le pas ST72 est un pas de test d'un polynôme d'emplacements d'erreurs, le pas ST73 est un pas de calcul selon l'algorithme de Berlekamp-Massey, le pas ST74 est un pas de test d'un polynôme d'emplacements d'erreurs, le pas ST75 est un pas de calcul basé sur l'algorithme de Berlekamp- Massey, et ST76 est un pas de test d'un polynôme d'emplacements d'erreurs, ST77 est un pas de calcul de l'algorithme selon Berlekamp- Massey, le pas S678 est un pas de test d'un polynôme d'emplacements d'erreurs, Le pas ST79 est un pas de recherche selon Chien, le pas ST80 est un pas de test du nombre de racines et le pas ST81 est un pas de correction
d'erreurs.
Ci-après, on va décrire le fonctionnement.
Dans la description qui va suivre, on suppose
qu'un mot reçu R=(rn-2, rn_3,... , r0, r_1) a été reçu.
Tout d'abord, lors du pas ST70 de production de syndrome, le syndrome S=(S0, S1,...---, S2t-2, S2t-2) est calculé au
moyen de l'expression (25) suivante.
S = H2tR... (25) l'information d'erreur concernant le premier composant étendu étant incluse dans S0, et l'information d'erreur contenue dans le second composant étendu étant incluse dans
S2t-1-
Ensuite, lors de l'étape ST71 de calcul sur la base de l'algorithme de Berlekamp-Massey, l'algorithme de Berlekamp-Massey (BM1) est mis en oeuvre en utilisant St-2 syndromes S1,..', S2t-2 incluant uniquement une information d'erreur apparue dans le code interne. La figure 33 est un organigramme illustrant les procédures de calcul de l'algorithme de Berlekamp-Massey pour l'obtention
des polynômes d'emplacements d'erreurs.
On a maintenant décrire l'algorithme de
Berlekamp-Massey (BM1) en référence à la figure 33.
Tout d'abord, les valeurs initiales sont réglées comme indiqué ci- après lors du pas ST710: la valeur initiale du polynôme d'emplacements d'erreurs, a(0)(x)=l.; une longueur formelle du registre à décalage L=0; un polynôme supplémentaire pour la mise à jour du polynôme d'emplacements d'erreurs T0(x)=l; et une variable pour
compter le nombre de pas r=l.
On suppose que les polynômes d'emplacements d'erreurs sont calculés séquentieilement et, après avoir exécuté un (r-1)-ème pas, le polynôme d'emplacements d'erreurs a(r-1)(x) et un polynôme supplémentaire T(r-1)(x) sont calculés. Lors du r-ème pas, un écart Ar fourni par l'expression suivante (26) est calculé en utilisant les
coefficients de a(r-1)(x) lors du pas ST711.
L Ar = aj(r-1) Srj... (26) j=0 Ensuite, le résultat de calcul est contrôlé lors du pas S712 et, si l'écart Ar est nul, le polynôme d'emplacements d'erreurs n'est pas mis à jour, et a(r-1)(x)
obtenu lors du (r-1)-ème calcul est adopté en tant que r-
ème polynôme d'emplacements d'erreurs lors du pas ST713.
D'autre part, si l'écart Ar n'est pas nul, le polynôme de r connexion q(x) est formé par l'expression suivante (24) moyennant l'utilisation du polynôme supplémentaire T(r-1)(x)
lors du pas ST714.
q(x) <- a(r-l) (x) + Ar x T(r-l) (x)... (27) Ensuite, une décision est prise pour déterminer si la longueur formelle L du registre à décalage satisfait à 2L<r lors du pas ST715, et si cette longueur satisfait à cette condition, le polynôme supplémentaire T(r)(X), le polynôme d'emplacements d'erreurs o(r)(x) et la longueur formelle L du registre à décalage sont mis à jour conformément aux expressions suivantes (28)-(30) lors du
pas ST716.
T(r)(x) <- Ar-1 o(r-1) (x)... (28) a(r)(x) <-, (x)... (29) L <- r - L... (30) D'autre part, si l'inégalité n'est pas satisfaite, la longueur formelle L du registre à décalage n'est pas mise à jour, mais le polynôme d'emplacements d'erreurs a(r)(x) est mis à jour conformément à l'expression suivante (31) lors du pas ST717, et le polynôme supplémentaire T(r)(x) est mis à jour conformément
à l'expression (32) lors du pas ST713.
a(r) (x) <- q (x)... (31) T(r) (x) <- xT(r-1) (x)... (32) Ensuite, les traitements à partir du pas ST711 sont répétés avec l'incrémentation de la variable r pour le comptage du nombre de pas lors du pas ST719 jusqu'à ce qu'il soit établi que la variable r atteigne 2t-2 lors du
pas ST718.
Lorsque l'algorithme de Berlekamp-Massey (BM1)
lors du pas ST71 de calcul de l'algorithme de Berlekamp-
Massey a été exécuté, le polynôme a(x) d'emplacements d'erreurs est testé pour déterminer s'il est approprié ou non lors du pas de test ST72. Ici, si au maximum t-2 erreurs sont apparues dans le code interne, le (2t-3)-ème écart et le (2t-2)-ème écart sont nuls et une fois que l'algorithme de Berlekamp-Massey (BM1) est achevé, la longueur formelle L du registre à décalage est égale ou inférieure à t-2 et le degré du polynôme d'emplacements d'erreurs a(2t-2)(x) est égal à la longueur formelle L du registre à décalage. Par conséquent si le polynôme d'emplacements d'erreurs a(2t-2) (x) satisfait aux conditions suivantes (33), le traitement prend une décision
stipulant que le polynôme d'emplacements d'erreurs a(2t-
2)(x) est inapproprié et passe à un pas ST79 de recherche selon Chien pour exécuter la recherche selon Chien après
chaque substitution de o(x) = a(2t-2)(x).
A2t-3 = 0, A2t-2 = 0, L < t-2, d e g a(2t-2) = L... (33) D'autre part, si les conditions précédentes (33) ne sont pas valables, on suppose qu'au moins (t-l) erreurs sont apparues dans le code interne et que plus d'un pas de l'algorithme de Berlekamp-Massey (BM1') sont exécutés en utilisant S2t_1 lors du pas ST73 de calcul sur la base de l'algorithme de Berlekamp-Massey. Ensuite, lors du pas de test ST74, le polynôme o(x) d'emplacements d'erreurs est testé pour déterminer s'il est approprié ou non. Si t-1
erreurs sont apparues dans le code interne sans l'appari-
tion d'aucune erreur dans le second composant étendu, l'écart A2t-1 s'annule. En outre, le degré du polynôme d'emplacements d'erreurs o(2t-1)(x) (= o(2t-2)(x)) est égal
à la longueur formelle L du registre à décalage. Par consé-
quent, si le polynôme d'emplacements d'erreurs a(2t-1)(x) satisfait aux conditions suivantes (34), le traitement prend une décision indiquant que le polynôme d'emplacements d'erreurs o(2t-1)(x) est approprié et passe au pas ST79 de recherche selon Chien pour l'exécution de la recherche
selon Chien après la substitution a(x) = o(2t-1) (x).
2t-1 = 0, d e g a(2t-1) = L... (34) D'autre part, si les conditions fournies par l'expression précédente (34) ne sont pas valables, si on suppose qu'au moins t erreurs sont apparues dans le code intérieur et que l'algorithme de Berlekamp-Massey (BM2) est
à nouveau exécuté en utilisant des syndromes S0, S1, '...
S2t_2 et S2t_1 dans le pas ST75 de calcul de l'algorithme de BerlekampMassey. L'algorithme de Berlekamp-Massey (BM2)
est fondamentalement identique à l'algorithme de Berlekamp-
Massey (BM1), mais le calcul de l'écart est exécuté en
utilisant l'équation suivante (35).
L Ar= Y aj(r-1)Srj-1... (35) j=0 Ensuite, lors du pas de test ST74, un polynôme d'emplacements d'erreurs o(x) est testé pour déterminer s'il est approprié ou non. Si t-1 erreurs sont apparues dans le code interne et qu'aucune erreur n'est apparue dans le premier composant étendu, l'écart à2t-1 s'annule. En outre, le degré du polynôme d'emplacements d'erreurs a(2t 1)(x) (= o(2t2)(x)) est égal à la longueur formelle L du registre à décalage après l'achèvement de l'algorithme de Berlekamp-Massey (BM2). Par conséquent, si le polynôme d'emplacements d'erreurs G(2i-1)(x) satisfait aux conditions de l'expression (34), le traitement prend une décision indiquant que le polynôme d'emplacements d'erreurs a(2t-1) (x) est approprié et passe au pas ST79 de recherche selon Chien pour effectuer la recherche selon Chien après
la substitution a(x) = (2t-2)(x).
D'autre part, si les conditions de l'expression (34) ne sont pas valables, on suppose qu'au moins t erreurs sont apparues dans le code interne et d'un pas supplémentaire de l'algorithme de Berlekamp-Massey (BM2') est exécuté moyennant l'utilisation du pas ST77 de calcul sur la base de l'algorithme de Berlekamp-Massey. Si aucune erreur n'est apparue dans les deux composants étendus, le degré du polynôme d'emplacements d'erreurs a(2t)(x) et la longueur formelle L du registre à décalage sont égaux à t à la fin de l'algorithme de Berlekamp- Massey (BM2'). Par conséquent, si les conditions de l'expression suivante (36) sont valables, le traitement prend une décision indiquant que le polynôme d'emplacements d'erreurs a(2t)(x) est approprié et passe au pas ST79 de recherche selon Chien pour effectuer la recherche selon Chien après la
substitution a(x) = a(2t)(x).
d e g a(2t) = L = t... (36) D'autre part, si les conditions de l'expression (36) ne sont pas satisfaites, on suppose qu'au moins t+l erreurs sont apparues, et le mot reçu R est délivré sans correction conjointement avec les drapeaux de détection d'erreurs, ce qui indique des erreurs que l'on ne peut pas corriger. Si le polynôme d'emplacements d'erreurs peut être détecté dans n'importe lequel des pas ST71, ST73, ST75 et ST77 de calcul selon l'algorithme de Berlekamp- Massey, la recherche selon Chien est exécutée lors du pas ST79 de
recherche selon Chien pour calculer les racines (emplace-
ments d'erreurs) du polynôme d'emplacements d'erreurs a(x).
Ensuite, lors du pas de test ST80, une décision est prise pour déterminer si le nombre des racines obtenues du polynôme d'emplacements d'erreurs a(x) est égal au degré du polynôme d'emplacements d'erreurs a(x), et s'il y a concordance, les valeurs d'erreurs sont calculées lors du pas ST81 de correction d'erreurs, et les erreurs sont corrigées par soustraction des valeurs d'erreurs, des symboles aux emplacements d'erreurs du mot reçu R. Si le nombre des racines obtenues du polynôme d'emplacements d'erreurs o(x) ne concorde pas avec le degré du polynôme d'emplacements o(x), le mot reçu R est délivré sans correction conjointement avec le drapeau de détection d'erreurs, ce qui indique que les erreurs ne peuvent pas
être corrigées.
La correction classique d'erreurs du code RS à simple extension, ainsi exécutée, est compliquée en ce qui concerne l'algorithme, avec lequel le calcul utilisant un algorithme euclidien doit être exécuté deux fois dans le pire des cas. Ceci pose un problème d'allongement de la durée nécessaire pour le décodage. En outre, on ne connaît aucun document connu concernant l'effacement et la correction d'erreurs du code RS simple extension, ce qui pose un problème consistant en ce qui est nécessaire de développer un procédé et un dispositif d'effacement
efficace et une correction efficace d'erreurs.
En outre, étant donné que la correction classique d'erreurs du code RS à double extension est ainsi exécutée, l'algorithme pour cette correction est compliqué et cette
correction requiert deux pas des calculs utilisant l'algo-
rithme de Berlekamp-Massey, dans le pire des cas. Ceci pose un problème d'allongement du temps nécessaire pour le décodage. En outre, on ne connaît aucun document connu concernant l'effacement et la correction d'erreurs du code RS à double extension, ce qui pose un problème en ce qu'il est nécessaire de développer un procédé et un dispositif
d'effacement efficace et de correction efficace d'erreurs.
La présente invention a été mise au point pour résoudre le problème indiqué précédemment. C'est pourquoi un but de la présente invention est de fournir un dispositif de décodage pour la correction d'erreurs permettant d'obtenir le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs en exécutant seulement
une fois le calcul basé sur l'algorithme euclidien.
Un autre but de la présente invention est de fournir un dispositif de décodage pour la correction d'erreurs permettant de réduire le nombre de pas requis pour le décodage. Un but de la présente invention est de fournir un dispositif de décodage pour la correction d'erreurs permettant de décoder, pour corriger un code RS à simple extension et apte à obtenir le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs en exécutant seulement une fois le calcul sur la base de l'algorithme euclidien. Un autre but de la présente invention est de fournir un dispositif de décodage pour la correction d'erreurs pour un code RS à simple extension, permettant de réaliser une correction efficace de l'effacement et de
l'erreur du code RS à simple extension.
Un but de la présente invention est de fournir un dispositif de décodage pour la correction d'erreurs pour un code RS à double extension, apte à fournir le polynôme d'emplacements d'erreurs moyennant l'exécution seulement
une fois du calcul basé sur l'algorithme de Berlekamp-
Massey. Un autre but de la présente invention est de fournir un dispositif de décodage pour la correction d'erreurs pour un code RS à double extension apte à exécuter une correction effective de l'effacement et de
l'erreur du code RS à double extension.
Un autre but de la présente invention est de fournir un dispositif de décodage pour la correction d'erreurs pour un code RS à double extension, permettant d'obtenir un polynôme d'emplacements d'erreurs et un polynôme de valeurs d'erreurs moyennant l'application une
seule fois de l'algorithme euclidien.
Selon un premier aspect de la présente invention, il est prévu un dispositif de décodage pour la correction d'erreurs d'un code ReedSolomon étendu, caractérisé en ce qu'il comporte: des moyens de production de syndromes pour calculer le syndrome d'un mot reçu arrivant, à partir d'un tel mot; des moyens formant mémoire de mot reçu pour mémoriser le mot reçu; des moyens d'estimation de nombre d'erreurs servant à estimer un nombre d'erreurs qui sont apparues dans le mot reçu à partir du syndrome calculé par les moyens de production de syndromes; des moyens de calcul d'un algorithme euclidien pour calculer un polynôme d'emplacements d'erreurs et un polynôme de valeurs d'erreurs au moyen d'un algorithme euclidien après le réglage de valeurs initiales et d'une condition de fin pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs conformément au nombre d'erreurs estimé par les moyensd'estimation du nombre d'erreurs; des moyens de recherche effectuant une recherche selon Chien pour calculer des emplacements d'erreurs et des valeurs d'erreurs sur la base du polynôme d'emplacements d'erreurs et sur le polynôme de valeurs d'erreurs calculé par les moyens de calcul d'un algorithme euclidien; et des moyens de correction d'erreurs pour corriger des erreurs du mot reçu mémorisé dans les moyens formant mémoire de mot reçu en réponse à un résultat calculé au moyen des moyens
de recherche selon Chien.
Ici, le dispositif de décodage pour la correction d'erreurs peut comporter un ordinateur comprenant des multiplicateurs et des additionneurs agissant dans un espace de Galois et les moyens de recherche selon Chien peuvent comporter des moyens de modification de syndrome pour calculer une valeur d'erreur dans un composant étendu en modifiant des valeurs du syndrome du mot reçu en fonction des emplacements d'erreurs et des valeurs d'erreurs calculés à partir du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, qui sont calculés par les moyens de calcul utilisant un algorithme euclidien.
Les moyens d'estimation du nombre d'erreurs peu-
vent comporter une mémoire, des multiplicateurs et des additionneurs dans un espace de Galois, et peuvent prendre une décision concernant un code de Reed-Solomon étendu avec une distance minimale d à partir de valeurs du syndrome du mot reçu, qui est calculé par les moyens de production de syndromes, pour déterminer si une erreur quelconque est présente ou non, et, si une erreur est présente, pour déterminer si un nombre des erreurs est inférieur à [(d-l)/2] ou est égal à [(d-1)/2], et les moyens de calcul sur la base de l'algorithme euclidien peuvent calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen de l'algorithme euclidien après réglage des valeurs initiales et de la condition de fin pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs en fonction du fait que le nombre d'erreurs est inférieur à [(d-l)/2] ou égal à [(d-l)/2], lorsque les moyens d'estimation du nombre d'erreurs
décident que l'erreur est présente.
Les moyens d'estimation du nombre d'erreurs
peuvent prendre une décision concernant un code de Reed-
Solomon étendu présentant une distance minimale d, à partir de valeurs du syndrome du mot reçu, qui est calculé par les moyens de production de syndromes, pour déterminer si une erreur est présente ou non et, si une erreur est présente, si un nombre des erreurs est inférieur à [(d-1)/2] ou égal à [(d-1)/2], si les moyens d'estimation du nombre d'erreurs décident que le nombre d'erreurs est supérieur à [(d-1)/2], les moyens de calcul sur la base de l'algorithme euclidien peuvent sauter le calcul du polynôme d'emplacements d'erreurs et le polynôme de la valeur d'erreur au moyen de l'algorithme euclidien, si les moyens d'estimation du nombre d'erreurs décident que le nombre d'erreurs est supérieur à [(d-1)/2], les moyens de recherche selon Chien peuvent sauter le calcul des emplacements d'erreurs et des valeurs d'erreurs au moyen de la recherche selon Chien, et les moyens de correction d'erreurs peuvent calculer le mot reçu mémorisé dans les moyens de mémoire des mots reçus sans correction, si les moyens d'estimation du nombre d'erreurs établissent une décision selon laquelle le nombre
d'erreurs est supérieur à [(d-1)/2].
Selon un second aspect de la présente invention, il est prévu un dispositif de décodage pour la correction d'erreurs d'un code ReedSolomon à simple extension, caractérisé en ce qu'il comprend: des moyens de production de syndromes pour calculer le syndrome d'un mot reçu arrivant, à partir de ce mot; des moyens formant mémoire de mot reçu pour mémoriser le mot reçu; des moyens de production d'un polynôme de syndromes pour produire un polynôme de syndromes incluant, en tant que terme constant, un syndrome parmi les syndromes calculés par les moyens de production de syndromes, le syndrome possédant une information d'erreur concernant un composant étendu; des moyens de calcul au moyen d'un algorithme euclidien pour calculer un polynôme d'emplacements d'erreurs et un polynôme de valeurs d'erreurs, au moyen d'un algorithme euclidien utilisant, comme valeurs initiales, le polynôme de syndromes produit par les moyens de production du polynôme de syndromes; et des moyens de recherche selon Chien pour calculer des emplacements d'erreurs et des valeurs d'erreurs sur la base du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs calculés par les moyens de calcul sur la base de l'algorithme euclidien; et des moyens de correction d'erreurs pour corriger des erreurs du mot reçu mémorisé dans les moyens formant mémoire de mot reçu en réponse aux emplacements d'erreurs et aux valeurs d'erreurs, calculés par les moyens de
recherche selon Chien.
Ici le dispositif de correction d'erreurs d'un code Reed-Solomon à une seule extension peut en outre comporter: des moyens de production de coefficients d'emplacements d'effacements pour produire des coefficients d'emplacements d'effacements à partir d'un drapeau d'effacements associé audit mot reçu; des moyens de production d'un polynôme d'emplacements d'effacements pour produire un polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produits par lesdits moyens de production de coefficients d'emplacements d'effacements; et des moyens de production de polynôme de syndromes modifiés pour produire un polynôme de syndromes modifié en utilisant ledit polynôme de syndromes produit par lesdits moyens de production de polynômes de syndromes par ledit polynôme d'emplacements d'effacements produit par lesdits moyens de production du polynôme d'emplacements d'effacements, et lesdits moyens de calcul sur la base de l'algorithme euclidien calculent un polynôme d'emplacements d'erreurs et d'effacements et un polynôme de valeurs d'erreurs et d'effacements sur la base d'un algorithme euclidien en utilisant pour ces valeurs initiales, le polynôme de syndromes modifié produit par lesdits moyens de production de polynômes de syndromes modifiés, en tant que valeurs initiales, et lesdits moyens de recherche selon Chien calculent des emplacements d'erreurs et des valeurs d'erreurs sur la base du polynôme d'emplacements d'erreurs et d'effacements et du polynôme de valeur d'erreurs et d'effacements calculés par les moyens de calcul
d'algorithmes euclidiens..
Selon un troisième aspect de la présente invention, il est prévu un dispositif de décodage pour la correction d'erreurs d'un code Reed-Solomon à double extension comprenant: des moyens de production de syndromes pour calculer les syndromes d'un mot arrivant reçu, à partir de ce mot; des moyens formant mémoire de mot reçu pour mémoriser le mot reçu; des moyens de calcul selon un algorithme de Berlekamp-Massey pour le calcul séquentiel d'un polynôme d'emplacements d'erreurs au moyen de l'exécution de l'algorithme de Berlekamp-Massey en utilisant les syndromes produits par les moyens de production de syndromes, tout en commandant s'il faut utiliser un syndrome ayant une information d'erreur autour d'un composant à double extension conformément à une longueur d'un registre à décalage formel; des moyens de recherche selon Chien pour calculer des emplacements d'erreurs en exécutant une recherche selon Chien dans le polynôme d'emplacements d'erreurs calculé par les moyens de calcul selon l'algorithme de Berlekamp-Massey; des moyens de production de valeurs d'erreurs pour calculer, dans le cas o un nombre d'emplacements d'erreurs calculé à l'aide des moyens de recherche selon Chien est approprié, des valeurs d'erreurs utilisant le polynôme de syndromes produit à partir des syndromes calculés par les moyens de production de syndromes; et des moyens de correction d'erreurs pour corriger des erreurs du mot reçu mémorisé dans les moyens formant mémoire de mots reçus en réponse aux emplacements d'erreurs calculés par les moyens de recherche selon Chien et les valeurs d'erreurs calculées
par les moyens de production de valeurs d'erreurs.
Ici le dispositif de correction d'erreurs d'un code Reed-Solomon à double extension peut en outre comporter: des moyens de production de coefficients d'emplacements d'effacements pour produire des coefficients d'emplacements d'effacements à partir d'un drapeau d'effacements associé audit mot reçu; et des moyens de production de polynôme d'emplacements d'effacements pour produire un polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produit par lesdits moyens de production de coefficients d'emplacements d'effacements, et lesdits moyens de calcul selon l'algorithme de Berlekamp-Massey calculent séquentiellement le polynôme d'emplacements d'erreurs en exécutant l'algorithme de Berlekamp-Massev en utilisant en tant que valeurs initiales de cet algorithme le polynôme d'emplacements d'effacements calculé à l'aide desdits moyens de production de polynôme d'emplacements d'effacements. D'autres caractéristiques et avantages de la
présente invention ressortiront de la description donnée
ci-après prise en référence aux dessins annexés, sur lesquels: - la figure 1 est un organigramme illustrant une procédure de traitement d'un mode de mise en oeuvre 1 d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 2 est un organigramme illustrant des détails des procédures de traitement d'un pas de production de syndrome dans le premier mode de mise en oeuvre; - la figure 3 est un organigramme représentant des détails d'une procédure de traitement d'un pas d'estimation du nombre d'erreurs dans le premier mode de mise en oeuvre; - la figure 4 est un organigramme illustrant des détails d'une procédure de traitement d'un pas de calcul de l'algorithme euclidien dans le premier mode de mise en oeuvre; - la figure 5 est un organigramme illustrant des détails d'une procédure de traitement d'un pas de recherche selon Chien dans le premier mode de mise en oeuvre; - la figure 6 est un organigramme illustrant des détails d'une procédure de traitement d'un pas de correction d'erreurs dans le premier mode; - la figure 7 est un organigramme représentant des détails d'une procédure de traitement d'un pas de recherche selon Chien dans un deuxième mode de mise en oeuvre d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 8 est un organigramme représentant des détails d'une procédure de traitement d'un troisième mode de mise en oeuvre 3 d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 9 est un organigramme représentant
des détails d'une procédure de traitement d'un pas d'esti-
mation du nombre d'erreurs dans le troisième mode de mise en oeuvre; - la figure 10 est un organigramme représentant des détails d'une procédure de traitement d'un quatrième mode de mise en oeuvre d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 11 est un organigramme représentant
des détails d'une procédure de traitement d'un pas d'esti-
mation du nombre d'erreurs dans le quatrième mode de mise en oeuvre; - la figure 12 est un schéma-bloc illustrant un cinquième mode de mise en oeuvre d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 13 est un schéma-bloc illustrant un sixième mode de mise en oeuvre d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 14 est un schéma-bloc illustrant un septième mode de mise en oeuvre d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 15 est un schéma-bloc illustrant un huitième mode de mise en oeuvre d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu conformément à la présente invention; - la figure 16 est un organigramme illustrant une procédure de traitement selon un neuvième mode de mise en oeuvre d'un procédé de correction d'erreurs d'un code RS à extension unique conformément à la présente invention; - la figure 17 est un organigramme illustrant des détails d'une procédure de traitement d'un pas de calcul basé sur un algorithme euclidien conformément au neuvième mode de mise en oeuvre; - la figure 18 est un organigramme illustrant une procédure de traitement d'un dixième mode de mise en oeuvre d'un procédé de correction d'erreurs d'un code RS à extension unique conformément à la présente invention; - la figure 19 est un organigramme illustrant des détails d'une procédure de traitement d'un pas de calcul basé sur l'algorithme euclidien dans la dixième forme de réalisation; - la figure 20 est un schéma-bloc représentant une onzième forme de réalisation d'un dispositif de décodage pour la correction d'erreurs d'un code RS à extension unique conformément à la présente invention; - la figure 21 est un schéma-bloc représentant une douzième forme de réalisation d'un dispositif de décodage pour la correction d'erreurs d'un code RS à extension unique conformément à la présente invention; - la figure 22 est un organigramme illustrant une procédure de traitement d'un treizième mode de mise en oeuvre d'un procédé de correction d'erreurs d'un code RS à double extension conformément à la présente invention; - la figure 23 est un organigramme représentant des détails d'une procédure de traitement d'un pas de calcul basé sur l'algorithme de Berlekamp-Massey dans le treizième mode de mise en oeuvre; - la figure 24 est un organigramme illustrant une procédure de traitement d'un quatorzième mode de mise en oeuvre d'un procédé de correction d'erreurs d'un code RS à double extension conformément à la présente invention; - la figure 25 est un organigramme représentant des détails de la procédure de traitement d'un pas de calcul basé sur l'algorithme de Berlekamp-Massey dans le quatorzième mode de mise en oeuvre; - la figure 26 est un schéma-bloc illustrant un quinzième mode de mise en oeuvre d'un dispositif de décodage pour la correction d'erreurs d'un code RS à double extension conformément à la présente invention; - la figure 27 est un schéma-bloc illustrant un seizième mode de mise en oeuvre d'un dispositif de décodage pour la correction d'erreurs d'un code RS à double extension conformément à la présente invention; - la figure 28 est un organigramme illustrant une procédure de traitement d'un dix-septième mode de mise en oeuvre d'un procédé de correction d'erreurs d'un code RS à double extension conformément à la présente invention; - la figure 29 est un schéma-bloc illustrant un dix-huitième mode de mise en oeuvre d'un dispositif de décodage pour la correction d'erreurs d'un code RS à double extension conformément à la présente invention; - la figure 30, dont il a déjà été fait mention, est un organigramme illustrant une procédure de traitement d'un procédé classique de correction d'erreurs d'un code RS à extension unique; - la figure 31, dont il a déjà été fait mention, est un organigramme représentant des détails d'une procédure de traitement d'un pas de calcul basé sur un algorithme euclidien dans le procédé classique de correction d'erreurs d'un code RS à extension unique; - la figure 32 est un organigramme illustrant une procédure de traitement d'un procédé classique de correction d'erreurs d'un code RS à double extension; et - la figure 33, dont il a déjà été fait mention, est un organigramme illustrant des détails d'une procédure de traitement d'un pas de calcul basé sur l'algorithme de Berlekamp-Massey, dans le procédé classique de correction d'erreurs d'un code RS à double extension. On va maintenant décrire l'invention en référence
aux dessins annexés.
PREMIER MODE DE MISE EN OEUVRE
La figure 1 est un organigramme illustrant une procédure de traitement d'un premier mode de mise en oeuvre d'un procédé de décodage pour la correction d'erreurs d'un code RS étendu, conformément à la présente invention. Sur la figure 1, ST11 désigne un pas de production de syndrome servant à calculer un syndrome à partir d'un mot reçu, et ST12 désigne un pas d'estimation du nombre d'erreurs servant à estimer le nombre d'erreurs qui sont apparues dans la partie du mot reçu à l'exclusion de son composant étendu. ST13 désigne un pas de calcul, basé sur un algorithme euclidien et pour calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen de l'algorithme euclidien sur la base des conditions de début et de fin qui sont indiquées conformément au nombre d'erreurs estimé lors du pas ST12 d'estimation du nombre d'erreurs. ST12 désigne une étape de recherche selon Chien pour le calcul d'emplacements d'erreurs et de valeurs d'erreurs au moyen de l'exécution de la recherche selon Chien sur le polynôme d'emplacements d'erreurs et le polynôme de la valeur d'erreurs obtenus lors du pas ST13 de calcul de l'algorithme euclidien, et ST15 désigne un pas de correction d'erreurs servant à corriger les erreurs du mot reçu sur la base des emplacements d'erreurs et des valeurs d'erreurs calculés
lors du pas ST1 de recherche selon Chien 4.
Les figures 2-6 sont des organigrammes illustrant des détails des traitements des pas précédents: la figure 2 illustre une procédure de traitement du pas de production de syndrome ST11; la figure 3 représente une procédure de traitement du pas ST12 d'estimation du nombre d'erreurs; la figure 4 illustre une procédure de traitement du pas ST13 de calcul suivant un algorithme euclidien; la figure 5 représente une procédure de traitement du pas ST14 de recherche suivant Chien; et la figure 6 représente une procédure de traitement du pas ST15 de correction d'erreurs.
Ci-après on va décrire le fonctionnement.
Dans la description qui va suivre, on suppose,
dans un code RS étendu décrit auparavant en liaison avec l'opération classique de décodage du code RS étendu, ce code possédant un entier prédéterminé b=1 et une longueur minimale égale à sept, c'est-à-dire un code ayant un nombre de six symboles de contrôle. Tout d'abord, lors du pas ST11 de production des syndrome, le calcul des syndromes Si, avec i = 0, 1,..., 5, est exécuté à partir du mot reçu au
moyen des équations suivantes (37) et (38).
n-2 Si = Z rj a(i+l)j (i = 0, 1,..., 4)... (37) j=0 n-2 Ss = r_1 + Z rj 6j... (38) j=0 De façon plus spécifique, comme représenté sur la figure 12, les syndromes Si (i = 0, 1,..., 5) sont tout d'abord initialisés chacun à zéro, et un drapeau F est supprimé (F=0) lors du pas ST1l10. Puis une variable j est initialisée à n-2 lors du pas ST1i1, et les valeurs en Si (i=0, 1,..., 5) à cet instant sont calculées à partir des valeurs de Si jusqu'à cet instant (en utilisant tout d'abord la valeur initiale 0, au moyen de l'équation
suivante (39)).
Si = rj + Si ai+1 (39) a étant une racine du polynôme primitif constituant
l'espace de Galois.
Ensuite, une décision est prise indiquant si la variable j s'annule ou non lors du pas ST113. Si elle n'est pas nulle, la variable j est décrémentée de un lors du pas STl14 de manière à réitérer le calcul du pas ST112 jusqu'à ce que la variable j s'annule, ce qui permet la mise à jour
du syndrome Si (i = 0, 1,..., 5). Si la variable j s'annu-
le, un nouveau syndrome S5 est obtenu lors du pas ST115 par addition du symbole r_1 à la valeur du syndrome S5 à cet
instant, ce qui est exécuté uniquement pour le syndrome S5.
Ici, le symbole r_1 désigne un composant étendu du mot reçu. Ceci complique le calcul des syndromes Si au moyen des équations précédentes (37) et (38) lors du pas ST11 de
production de syndromes.
Ensuite, le nombre e d'erreurs apparues dans la partie autre que le composant étendu est déterminé par le pas ST12 d'estimation du nombre d'erreurs à partir du syndrome Si (i = 0, 1,..., 5) calculé lors du pas précédent ST11 de production de syndromes. La figure 3 est un organigramme illustrant une procédure de traitement de
la décision du nombre d'erreurs.
Comme représenté sur la figure 3, une décision est prise au début de l'estimation du nombre d'erreurs pour déterminer si la valeur des syndromes Si calculés lors du pas ST11 de production de syndromes sont tous constitués ou non par des zéros lors du pas ST120. S'ils sont tous constitués par des zéros, aucune estimation d'erreur (e = 0) n'est faite lors dupas ST121, ce qui permet d'achever le pas ST12 d'estimation du nombre d'erreurs. D'autre part,
sauf si une décision en l'absence d'erreurs a été prise T1-
T3 sont calculés au moyen des équations suivantes (40)-(42) à partir du syndrome Si du mot reçu lors du pas ST122, et une valeur U est calculée au moyen de l'équation (43) lors du pas ST123, ce qui permet d'estimer le nombre d'erreurs e
à partir de ces valeurs.
T1 = S12 + SO S2... (40)
T2 = S22 + S0 S4... (41)
T3 = S32 + S2 S4... (42)
U = S4 T1 + S2 T2 + S0 T3... (43)
De façon plus spécifique, une décision est prise pour savoir si l'on a T1 = T2 = T3 = 0 ou non lors du pas ST124. Si cela est valable, le nombre d'erreurs e est estimé comme étant égal à un lors du pas ST125, ce qui achève le processus. Au contraire si l'on a T1 = T2 = T3 = 0, une décision est prise lors du pas ST126 pour déterminer si la valeur U est égale à zéro ou non. Si l'on a U = 0, le nombre d'erreurs e est estimé égal à deux lors du pas ST127, et sinon le nombre d'erreurs e est estimé égal à
trois lors du pas ST128, ce qui achève le traitement.
Ensuite, le polynôme d'emplacements d'erreurs a(z) et le polynôme de valeurs d'erreurs w(z) sont calculés en utilisant un algorithme euclidien par modification des valeurs initiales et de la condition d'achèvement sur la base du nombre d'erreurs e estimé lors de l'étape ST12 d'estimation du nombre d'erreurs. La figure 4 est un organigramme représentant des détails de la procédure de traitement de l'étape ST13 de calcul basé sur l'algorithme euclidien. Au début de l'étape ST13 de calcul de l'algorithme euclidien, une décision est prise lors du pas ST130 pour déterminer si le nombre d'erreurs e estimé lors du pas ST12 d'estimation du nombre d'erreurs est égal à zéro ou non. Si le nombre d'erreurs estimé e est zéro, le calcul de l'algorithme euclidien est terminé, et le mot
reçu est livré sans modification.
D'autre part, s'il existe une erreur (si le nombre d'erreurs est estimé ne pas être nul), les valeurs initiales de l'algorithme euclidien sont réglées lors du pas ST131: les valeurs initiales d'un polynôme Ri(z) utilisées pour calculer le polynôme de valeurs d'erreurs w(z) sont réglées en fonction du nombre d'erreurs e par les équations suivantes (44) et (45), et les valeurs initiales d'un polynôme Bi(z) utilisées pour le calcul du polynôme d'emplacements d'erreurs a(z) sont réglées de telle sorte que l'on a B_1(z)=0 et B0(z)=l. RI(Z) = z2e (44) R0(z) = S2elz2e- 1 + S2e_2 Z2e-2 +...+ S1 z + SO... (45) Ensuite, après initialisation de la variable i à un lors du pas ST132, un polynôme quotient Q(z) est obtenu par division du polynôme Ri_2(z) par Ri_.(z) lors du pas ST133, et les polynômes restes Ri(z) et Bi(z) sont calculés lors du pas ST134 moyennant l'utilisation du polynôme quotient obtenu Q(z) comme dans le décodage classique de correction d'erreurs du code RS étendu. Ensuite, une décision est prise pour déterminer si le degré du polynôme
reste Ri(z) est inférieur au nombre d'erreurs e, c'est-à-
dire si la condition de fin représentée par l'expression
suivante (46) est satisfaite ou non lors du pas ST135.
d e g Ri (z) < e... (46) Si une décision indiquant que la condition de fin fournie par l'expression précédente (48) n'est pas satisfaite, c'est-à-dire si le degré du polynôme reste Ri(z) est encore supérieur au nombre d'erreurs e, la variable i est incrémentée lors du pas ST136, et les calculs lors des pas ST133 et ST134 sont répétés. Au contraire, si une décision est prise lors du pas ST135
indiquant que la condition de fin est satisfaite, c'est-à-
dire si le degré du polynôme reste Ri(z) est devenu inférieur au nombre d'erreurs e, les calculs suivants sont exécutés et le polynôme d'emplacements d'erreurs o(z) et un polynôme de valeurs d'erreurs w(z) sont calculés à partir du polynôme reste obtenu Bi(z) et Ri(z) lors du pas ST137 comme dans le cas du décodage classique de correction d'erreurs du code RS étendu, ce qui achève les calculs au
moyen de l'algorithme euclidien.
Ensuite, lors du pas ST14 de la recherche selon Chien, la recherche selon Chien est exécutée sur le polynôme d'emplacements d'erreurs a(z) et le polynôme de valeurs d'erreurs a(z) calculé lors du pas ST13 de calcul basé sur l'algorithme euclidien. Par conséquent, des emplacements d'erreurs et des valeurs d'erreurs sont calculés par les symboles autres que le composant étendu et si le nombre c d'erreurs détecté par la recherche selon Chien ne concorde pas avec le nombre d'erreurs estimé e, le drapeau F est positionné. La procédure de traitement lors
de la recherche selon Chien est illustrée sur la figure 5.
Si on suppose que le polynôme d'emplacements d'erreurs a(z) et le polynôme de valeurs d'erreurs w(z) calculés lors du pas ST13 de calcul basé sur l'algorithme euclidien sont fournis respectivement par les équations
suivantes (47) et (48).
a(z) = ao + al Z + o2 Z2 + 03 z3... (47) Au début du pas ST14 de recherche selon Chien 4, le compteur servant à compter le nombre c d'erreurs détecté au moyen de la recherche selon Chien est initialisé à zéro lors du pas ST140. Ensuite une décisicn est prise lors du pas ST141 pour déterminer si le nombre d'erreurs e dans les symboles autres que le composant étendu est égal ou non à zéro, lequel nombre d'erreurs e est estimé lors de l'étape ST12 d'estimation du nombre d'erreurs. Ensuite, après initialisation de la variable i à zéro lors du pas ST142, les valeurs s, x et y qui sont nécessaires pour la recherche selon Chien sont obtenues au moyen des équations
suivantes (49)-(51) lors du pas ST143.
s = 00 + + 02 + 03... (49) x = w0 + wl + w2.. (50) y = 1 + 03... (51) Ensuite, une décision est prise lors du pas ST144 pour déterminer si la valeur s obtenue est égale à zéro ou non. Si la valeur s est zéro, la variable i à cet instant est introduite à l'emplacement d'erreur el[c] et le quotient obtenu en divisant la valeur x par la valeur y est introduit dans la valeur d'erreur ev[c] lors du pas ST145, puis le nombre d'erreurs c est accru de un lors du pas ST146. Ensuite une décision est prise lors du pas ST147 pour indiquer si la variable i a atteint ou non n-2. Si elle n'a pas encore atteint n-2, la valeur t est incrémentée, et les quantités G0-o3 et 0-03 sont mises à jour respectivement au moyen des équations suivantes (52) et (53), lors du pas ST148. Ensuite, la procédure revient au pas ST143 pour répéter les traitements indiqués précédemment. cjJ a... (52) cj = a"- oj (j = 0, 1, 2, 3)... (52) j = a-J w1 (j = 0, 1, 2)... (53) a étant une racine du polynôme primitif constituant
l'espace de Galois.
Si lors du pas précédent ST144 une décision est prise indiquant que la valeur s n'est pas nulle, les pas ST145 et ST146 sont sautés et une décision est prise
immédiatement lors du pas ST147.
Si lors du pas ST147 une décision est prise indiquant que la variable i aatteint n-2, la valeur actuelle du nombre d'erreurs c est détectée au moyen de la recherche selon Chien et est comparée, lors du pas ST149, au nombre d'erreurs e estimé lors du pas ST12 d'estimation du nombre d'erreurs. Si les deux valeurs sont identiques, la recherche selon Chien est exécutée, tandis que si ces valeurs sont différentes, la recherche selon Chien est exécutée après positionnement du drapeau F (F=l) lors du
pas ST150.
Si le nombre d'erreurs c détecté lors du pas STll de recherche selon Chien 4 est égal au nombre d'erreurs e estimé par avance lors du pas ST12 d'estimation du nombre d'erreurs, les erreurs sont corrigées lors du pas de correction d'erreurs ST15 et les symboles corrigés sont délivrés. La procédure de traitement de la correction
* d'erreurs est illustrée sur l'organigramme de la figure 6.
Au début du traitement, une décision est prise lors du pas ST145 pour savoir si le drapeau F est positionné ou supprimé. Si le nombre d'erreurs e estimé précédemment lors du pas ST12 d'estimation du nombre d'erreurs est égal au nombre d'erreurs c détecté lors du pas ST1 de recherche
selon Chien 4, le drapeau F est supprimé (F=O).
Si le drapeau F n'est pas positionné (F=0), la variable i est initialisée à zéro lors du pas ST152 et une décision est prise lors du pas ST153 pour savoir si la variable i a atteint le nombre d'erreurs détecté c. Si la variable i n'a pas encore atteint le nombre d'erreurs c, le symbole rel[i], dont le suffixe correspond à l'emplacement d'erreurs elEi] pour le symbole ri du mot reçu, avec i=0, 1,..., n-2, est corrigé par addition, à sa valeur, de la valeur d'erreur corrigée evri] conformément à l'équation
suivante (54).
rel[i] = rel[i] + ev[i]... (54) Ensuite après incrémentation de la variable l lors du pas ST155, la procédure revient au pas ST153 pour répéter les traitements précédents. Si une décision est prise lors du pas ST153 indiquant que la variable i a atteint le nombre d'erreurs détecté c, une série des traitements est exécutée après la délivrance du mot reçu, dans lequel l'erreur est corrigée. Si le drapeau F est positionné (F=1) étant donné que le nombre d'erreurs c détecté lors du pas STll de recherche selon Chien 4 ne concorde pas avec le nombre d'erreurs e estimé lors du pas ST12 d'estimation du nombre d'erreurs, le traitement est arrêté jusqu'à la détection d'une erreur, étant donné que les erreurs ne peuvent pas
être corrigées.
Comme décrit précédemment, la forme de réalisation 1 présente l'avantage de mettre en oeuvre l'opération de décodage rapide du code RS étendu étant donné qu'il permet d'obtenir le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs qui sont nécessaires pour le décodage avec correction d'erreurs du code RS étendu par mise en oeuvre, seulement une fois, du calcul basé sur l'algorithme euclidien, et en outre il permet de calculer les emplacements d'erreurs et les valeurs d'erreurs à partir du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs moyennant simplement l'exécution une seule fois de la recherche selon Chien.
DEUXIEME MODE DE MISE EN OEUVRE
Bien que le premier mode de mise en oeuvre indiqué précédemment ait trait aux calculs de valeurs d'erreurs concernant les symboles autres que le composant étendu, le calcul des valeurs d'erreurs du symbole de composant étendu est également possible. La figure 7 est un organigramme illustrant des détails de la procédure de traitement d'une étape de recherche selon Chien dans un deuxième mode de mise en oeuvre du procédé de décodage pour la correction d'erreurs du code RS étendu conformément à la
présente invention.
Ci-après, on va décrire le fonctionnement.
Tout d'abord, les syndromes du mot reçu sont calculés lors de l'étape STll de production de syndromes et le nombre d'erreurs des symboles autres que le composant étendu sont estimés lors du pas ST12 d'estimation du nombre d'erreurs comme cela est représenté sur la figure 1 lors de procédures similaires à celles décrites dans le premier mode de mise en oeuvre. Ensuite, après avoir modifié les valeurs initiales et la condition de fin conformément aux nombres d'erreurs estimés, le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sont calculés lors du pas ST13 de calcul basé sur l'algorithme euclidien, moyennant l'utilisation du calcul basé sur l'algorithme euclidien. Ensuite, des emplacements d'erreurs et des valeurs d'erreurs sont calculés lors du pas ST14 de recherche selon Chien 4, moyennant l'exécution de la recherche selon Chien sur le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs obtenus lors du pas ST13 de calcul basé sur l'algorithme euclidien. Au début de la recherche selon Chien, le compteur servant à compter le nombre d'erreurs c est initialisé à zéro lors du pas ST160 comme cela est illustré sur la figure 7. Ensuite une décision est prise lors du pas ST161 pour déterminer si le nombre d'erreurs e dans les symboles autres que le composant étendu est égal à zéro ou non. Après initialisation de la variable i sur zéro lors du pas ST162, on obtient des valeurs s, x et y au moyen des équations (49)-(51) précédentes, lors du pas ST163. Ensuite, une décision est prise lors du pas ST164 pour déterminer si la valeur s est obtenue est égale ou non à zéro. Si la valeur
s est égale à zéro, la variable i est introduite à l'empla-
cement d'erreur el[c], et x/y est introduit à la place de la valeur d'erreur ev[c] lors du pas ST165. La procédure utilisée jusqu'alors est identique à celle de la recherche selon Chien dans la forme de réalisation 1 telle que
représentée sur la figure 5.
Si le résultat fourni par la substitution de a(-el)[c] dans le polynôme d'emplacements d'erreurs a(z) s'annule, a étant une racine du polynôme primitif constituant l'espace de Galois, le syndrome S5 est corrigé
au moyen de l'équation suivante (55) moyennant l'utilisa-
tion de la valeur d'erreur ev[c] et de l'emplacement d'erreur el[c] à cet instant. De fayon spécifique, le syndrome S5 du mot reçu S5 est corrigé lors du pas ST156
par addition de ev[c] a6el[c] au syndrome S5 à cet instant.
S5 = S5 + ev[c]a6el[c]... (55) Ensuite, après accroissement d'une unité du nombre d'erreurs c lors du pas ST167, une décision est prise lors du pas ST168 pour indiquer si la variable i a atteint n-2 ou non. Si elle n'a pas atteint n-2, la variable i est incrémentée, et les grandeurs a0-03 et w0-w2 sont mises à jour respectivement au moyen des équations précédentes (52) et (53), lors du pas ST169. Ensuite, la procédure revient au pas ST163 pour répéter les traitements précédents. Si une décision est prise indiquant que la valeur s n'est pas rulle, les pas précédents ST165-ST167
sont sautés.
Si la variable i a atteint n-2, le nombre d'erreurs c est comparé au nombre d'erreurs e lors du pas ST170. Si les deux valeurs sont différentes, le drapeau F est positionné (F=1) lors du pas ST171. La procédure de traitement des pas ST167-ST171 est également la même que celle de la recherche selon Chien dans le premier mode de
mise en oeuvre représenté sur la figure 5.
Ici, si le syndrome S5 non nul est obtenu en tant que résultat de l'exécution du calcul précédent sur le syndrome S5 en rapport avec l'ensemble des symboles dans le mot reçu autre que le composant étendu, une erreur est apparue dans le composant étendu et la valeur du syndrome S5 devient la valeur d'erreur du composant étendu. En tenant compte de ce fait, lorsqu'une décision est prise lors du pas ST170, qui indique que les valeurs c et e concordent, ou bien après que le drapeau F a été positionné lors du pas ST171, une décision est prise lors du pas ST172 pour déterminer si la valeur du syndrome S5 est zéro ou non. Si le résultat indique que la valeur du syndrome S5 n'est pas nulle, l'emplacement d'erreur el[c] est positionné à -1 et la valeur d'erreur ev[c] est positionnée sur la valeur du syndrome S5 lors du pas ST173. Ensuite, le nombre d'erreurs c est incrémenté de un lors du pas ST174, et la recherche selon Chien est terminée. Si une décision est prise indiquant que e=0 lors du pas ST161 ou que S5=0 lors du pas ST172, la recherche selon Chien est terminée immédiatement. Ensuite, l'opération de correction d'erreurs est exécutée lors du pas ST15 de correction d'erreurs par exécution d'une correction d'erreur sur la partie autre que le composant étendu, puis par addition de la valeur
corrigée du syndrome S5 au composant étendu.
Comme cela a été décrit précédemment, le deuxième mode de mise en oeuvre présente l'avantage de permettre un calcul aisé de la valeur d'erreur du symbole du composant étendu étant donné que les syndromes du mot reçu peuvent être corrigés en utilisant les emplacements d'erreurs et les valeurs d'erreurs calculées lors de l'étape de
recherche selon Chien.
TROISIEME MODE DE MISE EN OEUVRE
Bien que les modes de mise en oeuvre précédents décrivent le cas o les valeurs initiales et la condition de fin d'une opération de calcul basée sur un algorithme euclidien sont réglées en fonction du nombre d'erreurs estimées lors du pas d'estimat-ion du nombre d'erreurs, les valeurs initiales et la condition de fin de l'opération de calcul basée sur un algorithme euclidien peuvent être modifiées sur la base du résultat d'une décision prise lors du pas d'estimation du nombre d'erreurs pour déterminer si le nombre d'erreurs est inférieur ou égal au nombre d'erreurs maximum, qui peut être corrigé, du code RS étendu. La figure 8 est un organigramme illustrant la procédure de traitement d'un troisième mode de mise en oeuvre ainsi conçu du procédé de décodage pour la correction d'erreurs du code RS étendu conformément à la présente invention. Sur la figure 8, ST11 désigne un pas de production de syndromes analogue à celui indiqué dans le premier mode de mise illustré sur la figure 1, qui calcule les syndromes d'un mot reçu du code RS étendu avec une distance minimale d. ST12 désigne un pas d'estimation du nombre d'erreurs qui diffère de son pendant dans le premier mode de mise en oeuvre, désigné par le même chiffre de référence sur la figure 1, en ce qu'il prend une décision d'estimation du nombre d'erreurs à partir des syndromes calculés pour déterminer si des erreurs sont présentes ou non et, s'il n'existe aucune erreur, si le nombre d'erreurs est égal à [(d-1)/2] ou est inférieur à [(d-1)/2]. Les pas ST16a et ST16b sont des pas de décision, qui concernent chacun la décision d'un traitement devant être prise à partir de là conformément aux résultats d'estimation
obtenus lors du pas ST12 d'estimation du nombre d'erreurs.
Les pas ST13a et ST13b désignent chacun un pas correspondant au pas ST13 de calcul basé sur l'algorithme euclidien dans le premier mode de mise en oeuvre comme représenté sur la figure 1. Le pas ST13a est un premier pas de calcul suivant l'algorithme euclidien, qui consiste à calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sur la base de valeurs initiales particulières et des conditions de fin lorsqu'une décision est prise lors du pas ST12 d'estimation du nombre d'erreurs, qui indique que le nombre d'erreurs est inférieur à [(d-1)/2]; et le pas ST13b est un second pas de calcul basé sur l'algorithme euclidien et utilisé pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs sur la base de valeurs initiales et une condition de fin différente de celle du premier pas ST13a de calcul basé sur l'algorithme euclidien, lorsqu'une décision est prise lors du pas ST12 d'estimation du nombre d'erreurs, indiquant que le nombre d'erreurs est égal à [(d-1)/2]. ST14 désigne un pas de recherche selon Chien, qui est identique à son pendant désigné par le même caractère de référence sur la figure 1, et qui calcule les emplacements d'erreurs et les valeurs d'erreurs à partir du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs obtenus lors du premier pas ST13a de calcul basé sur l'algorithme euclidien ou du second pas ST13b de calcul basé sur l'algorithme euclidien. Le pas ST17 désigne un pas de décision servant à décider de la propriété de la correction d'erreurs à partir du nombre d'erreurs détecté lors du pas ST1 de recherche selon Chien 4, et à partir du degré du polynôme d'emplacements d'erreurs obtenu lors du premier pas ST13a de calcul basé sur l'algorithme euclidien ou du second pas ST13b de calcul basé sur l'algorithme euclidien. ST15a et ST15b désignent chacun un pas correspondant au pas de correction d'erreurs ST15 du premier mode de mise en oeuvre comme représenté sur la figure 1: le premier pas ST15a est un pas de mise en oeuvre d'une correction d'erreurs, qui consiste à corriger des symboles d'erreurs lorsque les deux valeurs concordent lors du pas de décision ST17, et le pas ST15b désigne une étape d'exécution de détection d'erreurs servant à délivrer le mot reçu sans modification, en tant qu'erreurs ne pouvant pas être corrigées lorsque les valeurs ne concordent pas lors du pas de décision ST17, ce qui conduit à l'exécution du traitement jusqu'à la détection des
emplacements d'erreurs.
Ci-après, on va décrire le fonctionnement.
On suppose ici qu'un code RS étendu traité dans
la description suivante possède une longueur minimale égale
à sept, c'est-à-dire qu'il existe six symboles de contrôle.
Tout d'abord, lors du pas ST11 de production de syndromes, les syndromes Si du mot reçu sont calculés lors de la procédure telle que décrite dans le premier mode de mise en oeuvre. Ensuite, une décision est prise lors du pas ST12 d'estimation du nombre d'erreurs pour déterminer si le nombre d'erreurs est nul ou non nul, et, s'il n'est pas nul, déterminer s'il est inférieur ou égal à trois à partir des syndromes Si calculés lors du pas ST11 de production des syndromes. La figure 9 est un organigramme montrant des détails de la procédure de traitement exécutée lors du pas
ST12 d'estimation du nombre d'erreurs.
Au début du traitement exécuté lors du pas ST12 d'estimation du nombre d'erreurs, une décision est prise lors du pas ST180 pour déterminer si les valeurs des syndromes Si (i = 0, 1,..., 5) calculés lors du pas ST11 de production de syndromes sont ou non toutes des zéros. Si ce sont uniquement des zéros, une décision est prise indiquant qu'il n'existe aucune erreur et le nombre d'erreurs est réglé à zéro lors du pas ST181, ce qui achève le pas ST12 d'estimation du nombre d'erreurs. D'autre part, s'il est établi qu'il existe une certaine erreur, les valeurs T1-T3 sont calculées à partir du syndrome Si du mot reçu lors du pas ST182 moyennant l'utilisation des équations précédentes (40)-(42), et une valeur U est calculée pour les valeurs T1-T3 obtenues lors du pas ST183
moyennant l'utilisation de l'expression (43).
Ensuite, une décision est prise lors du pas ST184 pour déterminer si la valeur obtenue U est égale à zéro ou non. Si U est égale à zéro, le nombre d'erreurs e est estimé comme étant inférieur à trois, et est réglé sur deux lors du pas ST185, ce qui achève le pas ST12 d'estimation du nombre d'erreurs. D'autre part, si la valeur U n'est pas nulle, le nombre d'erreurs e est estimé comme étant égal à trois et est réglé sur cette valeur lors du pas ST186, ce
qui achève le pas ST12 d'estimation du nombre d'erreurs.
Le nombre d'erreurs e est fixé par l'opération d'estimation lors du pas ST12 d'estimation du nombre d'erreurs et est comparé à zéro lors du pas de décision ST16a et à deux lors du pas de décision ST16b. Il en résulte que si l'on a e=0, c'est-à-dire si on estime qu'il n'existe aucune erreur, une série de traitements est terminée. Si e=2, c'est-à- dire si l'estimation indique que le nombre d'erreurs est inférieur à trois, la procédure passe au premier pas ST13a de calcul basé sur l'algorithme euclidien, lors duquel le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sont calculés au moyen de l'algorithme euclidien en utilisant les valeurs fixées par les équations suivantes (56) et (57), en tant que valeurs initiales pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, et en utilisant la condition de fin réglée par l'expression suivante (58) R_1(z) = z5... (56) R0(z) = S4 z4 + S3 z3 + S2 z2 + S1 z + SO... (57) d e g Ri (z) < 2... (58) En outre, si l'on a e=3, c'est-à-dire si l'estimation indique que le nombre d'erreurs est trois, la procédure passe au second pas ST13b de calcul basé sur l'algorithme euclidien, lors duquel le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sont calculés par l'algorithme euclidien en utilisant les valeurs fixées par les équations suivantes (59) et (60) en tant que valeurs initiales pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs et en utilisant la condition de fin
réglée par l'expression suivante (61).
R_1(z) = z6... (59) R0 (z) = S5 z5 + S4 z4 + S3 z3 + S2 z2 + S1 z + S0.
(60) d e g Ri (z) < 3... (61) Ensuite, lors du pas ST1 de recherche selon Chien 4, les emplacements d'erreurs et les valeurs d'erreurs sont calculés pour ce qui concerne les symboles autres que le composant étendu comme dans le premier mode de mise en oeuvre sur la base du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs calculés dans le premier algorithme du premier pas ST13a de calcul basé sur l'algorithme euclidien ou dans le second pas ST13b de calcul de l'algorithme euclidien. Ensuite, lors du pas de décision ST17, le degré dego(z) du polynôme d'empla.cements d'erreurs calculé précédemment est comparé au nombre d'erreurs c détecté lors du pas ST11 de recherche selon Chien 4. Si ces nombres concordent, les erreurs du mot reçu sont corrigées lors du pas ST15a de correction d'erreurs de manière à être délivrés, ce qui achève la série des traitements. D'autre part, si ces valeurs ne concordent pas, le mot reçu est délivré sans modification comme ne pouvant pas être corrigé lors du pas ST15b de correction d'erreurs, avec arrêt du traitement lors de la détection..DTD: des erreurs, ce qui achève la série des traitements.
Comme cela a été décrit précédemment, le présent troisième mode de mise en oeuvre présente l'avantage consistant en ce qu'il permet de réduire le nombre des pas requis pour le décodage du mot reçu étant donné qu'il calcule des emplacements d'erreurs et des valeurs d'erreurs après modification des valeurs initiales et de la condition de fin de l'opération de calcul basée sur l'algorithme euclidien, sur la base des résultats de décision indiquant si le nombre d'erreurs de la partie autre que le composant étendu dans le mot reçu est inférieure ou égale au nombre
maximum d'erreurs pouvant être corrigées du code RS étendu.
QUATRIEME MODE DE MISE EN OEUVRE
Bien que la décision soit prise lors du pas d'estimation du nombre d'erreurs dans le troisième mode de mise en oeuvre précédent pour indiquer si le nombre d'erreurs est inférieur ou égal au nombre maximum d'erreurs pouvant être corrigé du code RS étendu, on peut le modifier. Par exemple une décision peut être prise pour déterminer si le nombre d'erreurs est inférieur, égal ou supérieur au nombre d'erreurs maximum pouvant être corrigé du code RS étendu et s'il est établi que le nombre d'erreurs est supérieur à ce nombre, l'opération de calcul basée sur l'algorithme euclidien et l'opération de
recherche selon Chien peuvent être sautées.
La figure 10 est un organigramme illustrant la procédure de traitement d'un quatrième mode de mise en oeuvre ainsi conçu du procédé de décodage pour la correction d'erreurs du code RS étendu, conformément à la présente invention. Sur la figure 10, STl1 désigne un pas d'estimation du nombre d'erreurs qui diffère de son pendant dans le troisième mode de mise en oeuvre illustré sur la figure 8 et désigné par la même référence, en ce qu'il prend une décision lors de l'estimation du nombre d'erreurs à partir des syndromes calculés dans le pas ST11 de production de syndromes, pour déterminer si des erreurs sont présentes ou non, et, si des erreurs sont présentes,
pour déterminer si le nombre d'erreurs est inférieur à [(d-
1)/2], est égal à [(d-1)/2] ou est supérieur à [(d-1)/2].
ST16c désigne un pas de décision, comme les pas ST16a et ST16b, qui sert à prendre une décision concernant le traitement devant être exécuté à partir de là en fonction des résultats d'estimation lors du pas ST12 d'estimation du nombre d'erreurs. Il est prévu de sauter l'opération de calcul basée sur l'algorithme euclidien et l'opération de recherche selon Chien lorsque le nombre d'erreurs est supérieur à [(d-1)/2]. Les autres pas sont désignés par les références que sur la figure 8 et on n'en donnera pas ici
la description.
On va décrire ci-après le fonctionnement.
Tout d'abord, lors du pas ST11 de production de syndromes, les syndromes Si du mot reçu sont calculés selon la procédure décrite dans le premier mode de mise en oeuvre. Ensuite une décision est prise lors du pas ST12 d'estimation du nombre d'erreurs pour déterminer si le nombre d'erreurs est zéro ou non et s'il n'est pas zéro, s'il est inférieur, égal ou supérieur à trois à partir des syndromes Si calculés lors du pas STil de production de syndromes. La figure 11 est un organigramme illustrant des
détails de la procédure de traitement du pas ST12 d'estima-
tion du nombre d'erreurs.
Lorsque le traitement exécuté lors du pas ST12 d'estimation du nombre d'erreurs est déclenché, la procédure se déroule comme dans le troisième mode de mise en oeuvre précédent. Tout d'abord, une décision est prise lors du pas ST190 pour déterminer si les valeurs des syndromes Si calculées lors du pas STIl de production de syndromes sont toutes des zéros ou non. Si elles sont toutes des zéros, il est établi qu'il n'existe aucune erreur et le nombre d'erreurs e est réglé à zéro lors du pas S191, ce qui termine le pas ST12 d'estimation du nombre d'erreurs. D'autre part, s'il est décidé qu'il existe une erreur, une décision est prise lors du pas ST192 pour déterminer si l'une quelconque des équations suivantes
(62)-(64) est valable ou non.
SO = S1 = S2 = 0... (62)
S1 = S2 = S3 = 0... (63)
S2 = S3 = S4 = 0... (64)
Si l'une quelconque des équations précédentes (62)-(64) est valable en tant que résultat de cette décision, le nombre d'erreurs e est réglé à quatre lors du pas ST193, au moyen de l'estimation du fait que le nombre d'erreurs est supérieur à trois, ce qui achève le pas ST12
d'estimation du nombre d'erreurs.
D'autre part, si aucune des équations (62)-(64) n'est valable, les valeurs T1-T3 sont calculées en utilisant les équations précédentes (40)-(42) lors du pas ST194, et la valeur U pour les valeurs T1-T3 obtenues est
calculée en utilisant l'équation (43) lors du pas ST195.
Alors une décision est prise lors du pas ST196 pour
déterminer si la valeur obtenue U est égale à zéro ou non.
Si la valeur U est égale à zéro, le nombre d'erreurs e est estimé comme étant inférieur à trois et est réglé à deux lors du pas ST197, ce qui achève le pas ST12 d'estimation du nombre d'erreurs. D'autre part, si U n'est pas nulle, le nombre d'erreurs e est estimé égal à trois et est réglé sur cette valeur lors du pas ST19S, ce qui achève le pas ST12
d'estimation du nombre d'erreurs.
La procédure de traitement lors du pas ST12 d'estimation du nombre d'erreurs n'est pas limitée à celle représentée sur la figure 1. Par exemple la procédure suivante peut être utilisée. De façon spécifique, si une ou plusieurs erreurs sont détectées sur la base du fait que l'un quelconque des syndromes Si n'est pas nul, le nombre d'erreurs est estimé à trois si la valeur U calculée au
moyen de l'équation (43) n'est pas nulle.
Le nombre d'erreurs e, qui est réglé par l'opéra-
tion d'estimation lors du pas ST12 d'estimation du nombre d'erreurs, est comparé à zéro lors du pas de décision ST16a, avec quatre lors du pas de décision ST16c, et avec deux lors du pas de décision ST16b. Il en résulte que si l'on a e=0, c'est-à-dire si l'estimation indique qu'il n'y a aucune erreur, une série des traitements est achevée. Si e=4, c'est-à-dire si l'estimation indique que le nombre d'erreurs est supérieur à trois, l'opération de calcul basée sur l'algorithme euclidien et l'opération de recherche selon Chien sont sautées, et le mot reçu est délivré sans modification, comme ne pouvant pas être corrigé, ce qui achève la série des traitements avec la fin
du traitement lors de la détection d'erreurs.
Les autres cas sont traités comme dans le troisième mode de mise en oeuvre: si e=2, c'est-à-dire si l'estimation indique que le nombre d'erreurs est inférieur à trois, la procédure passe au troisième pas ST13a de calcul basé sur l'algorithme euclidien, dans lequel le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sont calculés en utilisant les valeurs indiquées dans les équations suivantes (56) et (57) en tant que valeurs initiales, et en utilisant la condition de fin indiquée par l'expression précédente (58). En outre, si l'on a e=3, c'est-à-dire si l'estimation indique que le nombre d'erreurs est égal à trois, la procédure passe au deuxième pas ST13b de calcul basé sur l'algorithme euclidien, lors duquel le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sont calculés en utilisant les valeurs réglées au moyen des équations précédentes (59) et (60) en tant que valeurs initiales, et moyennant l'utilisation de la condition de codage réglée au
moyen de l'expression précédente (61).
Ensuite, lors du pas ST1 de recherche selon Chien 4, les emplacements d'erreurs et les valeurs d'erreurs sont calculés pour les symboles autres que le composant étendu, sur la base du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs comme dans le troisième mode de mise en oeuvre. Ensuite, si une décision est prise lors du pas de décision ST17 indiquant que le degré dego(z) du polynôme d'emplacements d'erreurs concorde avec le nombre d'erreurs c détecté lors du pas ST1 de recherche selon Chien 4, les erreurs du mot reçu sont corrigées lors du pas ST15a de correction d'erreurs, pour la délivrance de ce mot, ce qui achève la série des traitements. D'autre part, si les valeurs ne concordent pas, le mot reçu est délivré sans modification, en tant que mot ne pouvant pas être corrigé, lors du pas ST15b de correction d'erreurs, avec interruption du traitement lors de la détection des
erreurs, ce qui achève la série des traitements.
Comme cela a été décrit précédemment, le quatrième présent mode de mise en oeuvre présente un avantage consistant en ce qu'il permet de réduire de façon supplémentaire le nombre de pas requis pour le décodage du mot reçu étant donné qu'il peut sauter l'opération de calcul basé sur l'algorithme euclidien et l'opération de recherche selon Chien, lorsque le nombre d'erreurs dépasse le nombre d'erreurs maximum pouvant être corrigé en tant que résultat de la décision indiquant si le nombre d'erreurs de la partie autre que le composant étendu dans le mot reçu est inférieur, égal ou supérieur au nombre
d'erreurs maximum pouvant être corrigé du code RS étendu.
CINQUIEME MODE DE MISE EN OEUVRE
Bien que les modes de mise en oeuvre précédents décrivent le procédé dedécodage pour correction d'erreurs du code RS étendu, il est possible d'utiliser un dispositif de décodage pour la correction d'erreurs, basé sur ce procédé. La figure 12 est un schéma-bloc montrant un cinquième mode de mise en oeuvre d'un dispositif de codage pour la correction d'erreurs du code RS étendu conformément à la présente invention. Sur la figure 12, le chiffre de référence 1 désigne un circuit de production de syndromes servant à produire des syndromes à partir d'un mot reçu; et le chiffre de référence 2 désigne un circuit d'estimation du nombre d'erreurs servant à estimer, à partir des syndromes calculés dans le circuit 1 de production de syndromes, le nombre d'erreurs de la partie autre que le
composant étendu du mot reçu.
Le chiffre de référence 3 désigne un circuit de calcul basé sur l'algorithme euclidien et utilisé pour calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs moyennant l'utilisation d'un algorithme euclidien après réglage de leurs valeurs initiales et de la condition de fin sur la base du nombre d'erreurs estimé dans le circuit 2 d'estimation du nombre d'erreurs. Le chiffre de référence 4 désigne un circuit de recherche selon Chien pour le calcul des emplacements d'erreurs et des valeurs d'erreurs au moyen de l'exécution de la recherche selon Chien appliquée au polynôme d'emplacements d'erreurs et au polynôme de valeurs d'erreurs, calculés par le circuit 3 de calcul basé sur l'algorithme euclidien. Le chiffre de référence 5 désigne un circuit de mémorisation de mots reçus servant à mémoriser les mots de codes arrivants; et le chiffre de référence 6 désigne un circuit de mémorisation du résultat calcul pour mémoriser les emplacements d'erreurs et les valeurs d'erreurs calculés au moyen du circuit de recherche selon Chien 4. Le chiffre de référence 7 désigne un circuit de correction d'erreurs servant à corriger les mots reçus mémorisés dans le circuit 5 de mémorisation des mots reçus, sur la base des emplacements d'erreurs et des valeurs d'erreurs mémorisées dans le circuit 6 de mémorisation des
résultats calculés.
Ci-après on va décrire le fonctionnement.
Un mot reçu arrivant est envoyé au circuit 1 de production de syndromes et au circuit 5 de mémorisation des mots reçus. Lors de la réception du mot reçu, le circuit 1 de production de syndromes calcule les syndromes Si du mot reçu, avec i = 0, 1,..., 5 et les envoie au circuit 2 d'estimation du nombre d'erreurs et au circuit 3 de calcul de l'algorithme euclidien. Le circuit 5 de mémorisation des
mots reçus mémorise le mot reçu arrivant.
Le circuit 2 d'estimation du nombre de mots estime le nombre d'erreurs de la partie autre que le composant étendu à partir des syndromes qui n'ont pas subi l'effet du composant étendu, c'est-à-dire les syndrcmes S0, S1,..., S4 parmi les syndromes Si calculés par le circuit 1 de production de syndromes. Le nombre d'erreurs estimé par le circuit 2 d'estimation du nombre d'erreurs est envoyé au circuit 3 de calcul de l'algorithme euclidien. Le circuit 3 de calcul de l'algorithme euclidien règle les valeurs initiales et la condition de fin pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs sur la base de l'estimation du nombre d'erreurs et des syndromes calculés par le circuit 1 de production de syndromes, et calcule le polynôme d'emplacements d'erreurs
et le polynôme de valeurs d'erreurs en utilisant l'algo-
rithme euclidien.
Le circuit de recherche selon Chien 4 exécute l'opération de recherche selon Chien sur la base du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs calculés au moyen du circuit 3 de calcul basé sur l'algorithme euclidien, calcule les emplacements d'erreurs et les valeurs d'erreurs en ces emplacements et comporte le circuit 6 de mémorisation des résultats calculés pour mémoriser ces valeurs. Le circuit 7 de correction d'erreurs, auquel le circuit 5 de mémorisation des mots reçus délivre séquentiellement le contenu du mot reçu qui est mémorisé dans le circuit 5 de mémorisation des mots reçus, corrige, en utilisant l'information concernant les emplacements d'erreurs et les valeurs d'erreurs, les erreurs des symboles correspondant aux emplacements d'erreurs par addition à ces symboles, des valeurs
d'erreurs qui sont apparues aux emplacements.
Comme décrit précédemment, le cinquième mode de mise en oeuvre présente l'avantage d'exécuter l'opération de décodage rapide du code RS étendu étant donné qu'il permet d'obtenir le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs, qui sont nécessaires pour le décodage pour la correction d'erreurs du code RS étendu, au moyen d'un calcul basé sur l'algorithme euclidien et exécuté une fois, et en outre, parce qu'il peut calculer les emplacements d'erreurs et les valeurs d'erreurs à partir du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs au moyen d'une recherche selon Chien
exécutée une seule fois.
SIXIEME MODE DE MISE EN OEUVRE
Bien que le cinquième mode de mise en oeuvre précédent concerne les calculs de valeurs d'erreurs concernant les symboles autres que le composant étendu, le calcul de la valeur d'erreurs du symbole du composant
étendu est également possible. La figure 13 est un schéma-
bloc représentant un sixième mode de mise en oeuvre du dispositif de décodage de correction d'erreurs conformément à la présente invention, dans lequel les parties identiques à celles de la figure 12 sont désignées par les mêmes chiffres de référence, et on ne donnera pas ici leur
description. Sur la figure 13, le chiffre de référence 8
désigne un circuit de modification des syndromes, qui est constitué de multiplicateurs et d'additionneurs dans l'espace de Galois pour corriger les valeurs des syndromes du mot reçu moyennant l'utilisation des emplacements d'erreurs et des valeurs d'erreurs calculés au moyen du
circuit de recherche selon Chien 4.
Ci-après, on va décrire le fonctionnement.
Tout d'abord, un mot reçu arrivant est envoyé au circuit 1 de production de syndromes et au circuit 5 de mémorisation du mot reçu. Le circuit 1 de production de syndromes calcule les syndromes Si et le circuit 5 de mémorisation des mots reçus mémorise les mots reçus arrivants. Le circuit 2 d'estimation du nombre d'erreurs estime le nombre d'erreurs de la partie autre que le composant étendu à partir des syndromes qui ont subi l'effet du composant étendu, c'est-à-dire les syndromes SO, S1,..., S4 parmi les syndromes Si calculés par le circuit 1 de production de syndromes. Ensuite le circuit 3 de calcul basé sur un algorithme euclidien règle les valeurs initiales et la condition de fin en utilisant l'estimation du nombre d'erreurs, et calcule le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs en utilisant l'algorithme euclidien. Le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sont transférés au circuit de recherche selon Chien 4, qui calcule les emplacements d'erreurs et les valeurs d'erreurs en ces emplacements et comporte le circuit 6 de mémorisation des résultats calculés, pour mémoriser ces valeurs. Le fonctionnement indiqué jusque-là est similaire
à celui du cinquième mode de mise en oeuvre.
Les emplacements d'erreurs et les valeurs d'erreurs calculés par le circuit de recherche selon Chien 4 sont également envoyés au circuit 8 de modification de syndromes. Le circuit 8 de modification de syndromes applique au syndrome S5 l'opération produit - somme dans l'espace de Galois, sur la base de l'emplacement d'erreurs et de la valeur d'erreurs du syndrome S5, qui est calculé par le circuit i de production de syndromes y compris avec
le composant étendu, et corrige la valeur du syndrome S5.
Si la valeur corrigée du syndrome S5 n'est pas nulle en tant que résultat du calcul des emplacements d'erreurs et des valeurs d'erreurs concernant l'ensemble des symboles autres que le composant étendu, l'emplacement du composant étendu est considérée comme étant l'un des emplacements d'erreurs et la valeur corrigée du syndrome S5 est considérée comme étant une valeur d'erreur, et ces valeurs sont mémorisées dans le circuit 6 de mémorisation des
résultats calculés.
Comme dans le cinquième mode de mise en oeuvre précédent, le circuit 7 de correction d'erreurs, auquel le
circuit 5 de mémorisation du mot reçu a délivré séquentiel-
lement le contenu du mot reçu mémorisé dans ce circuit 5 de mémorisation des mots reçus, corrige, en utilisant une information concernant les emplacements d'erreurs et les valeurs d'erreurs mémorisés dans le circuit 6 de mémorisation des résultats calculés, les symboles d'erreurs en ajoutant à leurs valeurs les valeurs d'erreurs qui sont
apparues en leurs emplacements.
Comme cela a été décrit précédemment, la présente forme de réalisation 6 présente l'avantage de calculer aisément la valeur d'erreurs du composant étendu étant donné que les valeurs de syndromes du mot reçu peuvent être corrigées par le circuit 8 de modification de syndromes en utilisant l'opération produit - somme dans l'espace de Galois sur la base des emplacements d'erreurs et les valeurs d'erreurs calculées lors de la recherche selon Chien.
SEPTIEME MODE DE MISE EN OEUVRE
Bien que les cinquième et sixième modes de mise en oeuvre indiqués précédemment décrivent le cas o les valeurs initiales et la condition de codage de l'opération de calcul basé sur l'algorithme euclidien sont réglées en fonction du nombre d'erreurs estimé par le circuit 2 d'estimation du nombre d'erreurs, ce circuit 2 d'estimation du nombre d'erreurs peut prendre une décision indiquant si le nombre d'erreurs est inférieur ou égal au nombre maximum d'erreurs pouvant être corrigé du code RS étendu et modifier des valeurs initiales et la condition de fin de l'opération de calcul basée sur l'algorithme euclidien
conformément aux résultats de la décision.
La figure 14 est un schéma-bloc représentant un septième mode de mise en oeuvre ainsi agencé du dispositif de décodage pour la correction d'erreurs du code RS étendu conformément à la présente invention. Sur la figure 14, le chiffre de référence 9 désigne un circuit d'estimation du nombre d'erreurs servant à estimer, à partir des syndromes calculés par le circuit 1 de production de syndromes, le nombre d'erreurs apparues dans la partie autre que le
composant étendu dans le mot reçu. Le circuit 9 d'estima-
tion du nombre d'erreurs, qui est constitué de multiplica-
teurs, d'additionneurs et d'une mémoire, diffère de sa contre-partie 2 telle que représentée sur la figure 12 en ce qu'il ne prend aucune décision cDncernant le nombre d'erreurs lui-même, mais prend une décision indiquant s'il existe des erreurs, et si le nombre d'erreurs est inférieur ou égal à [(d-1)/2]. Le chiffre de référence 3 désigne un circuit de calcul basé sur un algorithme euclidien pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs après réglage de leurs valeurs initiales et d'une condition de fin conformément au résultat de décision fourni par le circuit 9 d'estimation du nombre d'erreurs. Etant donné que les autres parties sont identiques à celles du cinquième mode de mise en
oeuvre précédent, on n'en donnera pas la description et on
les désignera par les mêmes références que sur la figure 12.
On va décrire ci-après le fonctionnement.
Tout d'abord, un mot reçu arrivant est envoyé au circuit 1 de production de syndromes et au circuit 5 de mémorisation des mots reçus, et le circuit 1 de production de syndromes calcule les syndromes Si du mot reçu, et le circuit 5 de mémorisation du mot reçu mémorise le mot reçu arrivant, comme dans le cinquième mode de mise en oeuvre précédent. Le circuit 9 d'estimation du nombre d'erreurs prend une décision, à partir des syndromes qui ont subi l'effet du composant étendu, c'est-à-dire les syndromes SO, Si,..., S4 parmi les syndromes Si calculés par le circuit 1 de production de syndromes, et ce pour indiquer si le nombre d'erreurs apparu dans la partie autre que le composant étendu est nul ou non, et dans le cas o elle
n'est pas nulle, si elle est inférieure ou égale à trois.
Lors de la prise de cette décision, on peut utiliser l'algorithme qui est représenté sur la figure 9 et expliqué
dans la description de la forme de réalisation 3 par
exemple. Si le résultat de décision indique que le nombre d'erreurs n'est pas nul, c'est-à-dire s'il n'existe aucune erreur, le circuit 3 de calcul basé sur l'algorithme euclidien règle, à partir de la condition du nombre d'erreurs décidée par le circuit 1 d'estimation du nombre d'erreurs, à partir des valeurs initiales et de la condition de fin pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, et calcule le polynôme d'emplacements d'erreurs et le polynôme de
valeurs d'erreurs en utilisant l'algorithme euclidien.
Le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs sont envoyés au circuit de recherche selon Chien 4. Le circuit de recherche selon Chien 4 calcule, à partir du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, les emplacements d'erreurs et les valeurs d'erreurs qui sont apparues en ces emplacements, et comporte le circuit 6 de mémorisation des résultats calculés pour mémoriser ces valeurs. Le circuit 7 de correction d'erreurs, auquel le circuit 5 de mémorisation du mot reçu envoie séquentiellement le contenu des mots reçus mémorisés dans ce circuit 5 de mémorisation du mot reçu, corrige, en utilisant l'information concernant les emplacements d'erreurs et les valeurs d'erreurs mémorisés dans le circuit 6 de mémorisation des résultats calculés, les erreurs des symboles correspondants aux emplacements d'erreurs, en leur ajoutant les valeurs d'erreurs qui sont
apparues en ces emplacements.
Comme cela a été décrit précédemment, le présent septième mode de mise en oeuvre présente l'avantage consistant en ce qu'il permet de réduire le nombre de pas nécessaires pour décoder le mot reçu étant donné qu'il calcule les emplacements d'erreurs et les valeurs d'erreurs après modification des valeurs initiales et la condition de fin de l'opération de calcul basée sur l'algorithme euclidien, sur la base du résultat de la décision prise par le circuit 9 d'estimation du nombre d'erreurs, pour indiquer si le nombre d'erreurs est inférieur ou égal au nombre maximum d'erreurs pouvant être corrigé du code RS
étendu.
HUITIEME MODE DE MISE EN OEUVRE
Bien que la décision soit prise dans le circuit 9 d'estimation du nombre d'erreurs dans le septième mode de mise en oeuvre précédent pour déterminer si le nombre d'erreurs, s'il en existe un, est inférieur ou égal au nombre d'erreurs maximum pouvant être corrigé du code RS étendu, on peut la modifier. Par exemple une décision peut être prise pour déterminer si le nombre d'erreurs est inférieur, égal ou supérieur au nombre d'erreurs maximum pouvant être corrigé du code RS étendu et, s'il est établi que le r.ombre d'erreurs est supérieur à cette valeur, l'opération de calcul basée sur l'algorithme euclidien et
l'opération de recherche selon Chien peuvent être sautées.
La figure 15 est un schéma-bloc illustrant un huitième mode de mise en oeuvre ainsi conçu du dispositif de décodage pour la correction d'erreurs du codeur RS étendu conformément à la présente invention, dans lequel les parties identiques à celles de la figure 14 sont désignées par les mêmes chiffres de référence et on n'en
donnera pas la description ici. Sur la figure 15, le
chiffre de référence 9 désigne un circuit d'estimation du nombre d'erreurs qui diffère de sa contre-partie 9 comme représenté sur la figure 14 en liaison avec le septième mode de mise en oeuvre, en ce qu'il prend une décision indiquant si des erreurs sont apparues dans la partie autre que le composant étendu, et si le nombre d'erreurs est
inférieur, égal ou supérieur à [(d-l)/2].
On va décrire ci-après le fonctionnement.
Tout d'abord, un mot reçu arrivant est envoyé au circuit 1 de production de syndromes et au circuit 5 de mémorisation du mot reçu, et le circuit 1 de production de syndromes calcule les syndromes Si du mot reçu et le circuit 5 de mémorisation du mot reçu mémorise le mot reçu arrivant, comme dans le septième mode de mise en oeuvre
précédent.
Le circuit 9 d'estimation du nombre d'erreurs prend une décision, à partir des syndromes qui n'ont pas été soumis à l'effet du composant étendu, c'est-à-dire les syndromes SO, Sl, S4 parmi les syndromes Si calculés par le circuit 1 de production des syndromes, pour indiquer si le nombre d'erreurs apparu dans la partie autre que le composant étendu est nul ou non et, dans le cas o il n'est pas nul, pour déterminer s'il est inférieur, égal ou supérieur à trois. Lors de cette prise de décision, on peut appliquer l'algorithme qui est représenté sur la figure i1
et expliqué dans la description du mode de mise en oeuvre 4
par exemple. Sous l'effet de cette décision, si le nombre d'erreurs est supérieur à trois, les calculs du polynôme d'emplacements d'erreurs et du polynôme de valeurs
d'erreurs par le circuit 3 de calcul sur la base de l'algo-
rithme euclidien, utilisant l'algorithme euclidien sont évités, et les opérations de traitement des emplacements d'erreurs et des valeurs d'erreurs au moyen de la recherche selon Chien par le circuit de recherche selon Chien 4 sont évitées, ce qui permet la délivrance, sans aucune modification, de mots reçus mémorisés dans le circuit 5 de mémorisation du mot reçu, à partir du circuit 7 de
correction d'erreurs.
Si le résultat de la décision indique que le nombre d'erreurs n'est pas nul et n'est pas supérieur à trois, le circuit 3 de calcul basé sur l'algorithme euclidien règle, à partir de la condition du nombre d'erreurs décidée par le circuit 9 d'estimation du nombre d'erreurs, les valeurs initiales et la condition de fin et calcule le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs en utilisant les valeurs initiales et la condition de fin comme dans le septième mode de mise en oeuvre. Ensuite, le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs calculés sont envoyés au circuit de recherche selon Chien 4, qui calcule les emplacements d'erreurs et les valeurs d'erreurs qui sont apparues en ces emplacements, et comporte le circuit 6 de mémorisation des résultats calculés, pour mémoriser ces valeurs. Le circuit 7 de correction d'erreurs, auquel le circuit 5 de mémorisation des mots reçus a délivré séquentiellement le contenu des mots reçus mémor sés dans ce circuit 5, corrige, en utilisant l'information concernant les emplacements d'erreurs et les valeurs d'erreurs mémorisées dans le circuit 6 de mémorisation des résultats calculés, les erreurs des symboles correspondant aux emplacements d'erreurs en les ajoutant aux valeurs
d'erreurs qui sont apparues en ces emplacements.
Comme cela a été décrit précédemment, le présent huitième mode de mise en oeuvre présente l'avantage consistant en ce qu'il permet de réduire en outre le nombre des pas requis pour le décodage du mot reçu étant donné qu'il peut omettre l'opération de calcul basée sur l'algorithme euclidien et l'opération de recherche selon Chien lorsque le nombre d'erreurs dépasse le nombre maximum d'erreurs pouvant être corrigées, en tant que résultat pour la décision prise par le circuit 2 d'estimation du nombre d'erreurs, pour déterminer si le nombre d'erreurs apparues dans la partie autre que le composant étendu dans le mot reçu est inférieur, égal ou supérieur au nombre d'erreurs
maximum pouvant être corrigé du code RS étendu.
NEUVIEME MODE DE MISE EN OEUVRE
Comme neuvième mode de mise en oeuvre conformément à la présente invention, on va décrire un procédé de correction d'erreurs d'un code RS à une seule extension. Tout d'abord, on va décrire le principe de la
correction d'erreurs du code RS à une seule extension.
Dans le neuvième mode de mise en oeuvre, on
suppose comme dans la description de la technique
classique, que le code RS à une seule extension possède une longueur de code n, un nombre de symboles d'informations k et une distance minimale d=n-k+l=2t+1, t étant un entier positif, et que la caractéristique de l'espace de Galois
est égale à deux à titre de simplification.
On suppose en outre qu'un mot d'erreur E=(en_2, en_3,..., e0, el) est ajouté, dans un canal, à un mot transmis C=(cn-2, Cn-3,. ., cO, c_1), qui est un mot de code du code RS à une seule extension, que des erreurs égales ou inférieures à t=[(d-1)/2] symboles sont apparus et que le nombre de composants non nuls du mot d'erreur E est égal ou inférieur à t symboles, une erreur apparue dans le composant étendu n'étant pas comptée comme un symbole, mais comme 1/2 symbole. Dans ces conditions, le mot reçu R=(rn-2, rn_3,..., r0, r_1) peut être calculé au moyen de
l'équation suivante (65).
R=C+E
= (Cn-2 + en-2, Cn-3 + en-3, c0 + e0, c_1 + e_1... (65) Pour estimer le mot transmis C à partir du mot reçu R, un syndrome S=(S0, S:,..., S2t-2, S2t-1) incluant une information d'erreur est calculée au moyen de l'équation suivante (66): S = Ht R (tc + tE) = Ht E... (66) H étant la matrice de parité fournie par l'expression précédente (5). Par conséquent, les syndromes sont fournis
par les équations suivantes (67) et (68).
Sj = en_2 (b+l)(n-2) + en_3 a(b+j)(n-3) + + el ab+j + e0 (j= 0, 1, 3,.. ., 2t-2)... (67) S2t-1 = en-2 a(b+2t-1) + en_3 a(b+2t-1)(n-3) + 25... + e1 ab+2t-1 + e0 + e_1.. . (68) Si une erreur est apparue dans le composant étendu (e-1)*0, le syndrome affecté par cette erreur est S2t_1. On suppose que le nombre S des erreurs apparues dans des codes internes est s<i (ou s<t-l) lorsqu'une erreur est apparue dans le composant étendu, et que l'ensemble des
emplacements d'erreurs est exprimé par L=rijej0 0<i<n-2}.
En outre, chaque élément de l'ensemble L d'emplacements d'erreurs est exprimé par L[k], avec k = 0, 1,..., s-1, et les valeurs d'erreurs correspondantes sont el[k]. Dans ce cas, les équations précédentes (67) et (68) peuvent être
réduites aux équations suivantes (69) et (70).
Sj = el[o] a(b+J) 1 [0] + ei[1] "(b+J)1[1] + + el[si]a(b+J) 1 [s-1] (j= 0, 1, 2,..., 2t-2)... (69) S2tl= e_1 + el[O] "(b+2t-1) 1 [0] + el[,] a(b+2t-1) 1 [1] + + el[s_l] a(b+2t-1) il[s-1]... (70) Un polynôme de syndromes est formé conformément à l'équation suivante (71) comportant S2t_1 affecté par le
composant étendu, en tant que terme constant.
S(x) = S2t_1 + S2t_2 x +... + S1 x2t-2 + So x2t-1 (71) L'équation (71) peut être réduite à l'équation suivante (72) en utilisant les équations précédentes (69) et (70) 2t-1 s-1 S (x) = e_1 + ú Z el[k] a(b+2t-1-j) 1 [k] xj j=0 k=0 o s-1 = e-1 + Z ú el[k] a(b+2t-l-j) 1 [k] xJ mod x2t j=0 k=0 s-1 i = e_1 + ú el[k] u(b+2t-1) 1 [k]! a-jl[k] xj k=0 j-O mod x2t s-1
s-l -
= e_1 + Z el[k] a(b+2t-1) 1 [k] (l+a-l[k] x)-l k=O mod x2t (72) Le polynôme d'emplacements d'erreurs a(x) est
formé au moyen de l'équation suivante (73).
c(x) = (1 + a-1[O] X) (1 + "-1[1] x) 35... (1 + a-l[s-l] x)... (73) La multiplication des membres de l'équation (72) par ceux de l'équation (73) fournit l'équation suivante (74). s-1 S(x)o(x)=e_1a(x)+ ei[k] (b+2t-1)l[k](1±[k] x) k=0 jtk mod x2t (74) La représentation du côté droit par (o(x) réduit l'équation précédente (74) à l'équation suivante (75), ce qui permet d'obtenir ce qu'on appelle une équation fondamentale. a(x) S (x) w (x) mod x2t.. (75) w(x) étant désigné comme étant le polynôme de valeurs d'erreurs, qui diffère d'un polynôme dans lequel le premier terme e_lo(x) apparaît si une erreur est apparue dans le composant étendu (c'est-à-dire si l'on a e._1.0). Dans ce cas, le degré du polynôme d'emplacements d'erreurs o(x) concorde avec le degre du polynôme de valeurs d'erreurs w(x). Tant le polynôme d'emplacements d'erreurs o(x) que le polynôme de valeurs d'erreurs w(x) satisfont à l'équation fondamentale précédente. L'extraction d'une autre caractéristique de ces polynômes fournit la condition suivante 1 en rapport avec le degré, étant donné qu'on
suppose au maximum des erreurs sur t symboles.
[Condition 1]: Si des erreurs sont apparues dans o(It) symboles, alors degw=[s] et degw<[s-1/2] (en particulier bien que l'on ait degoa>degw, si une erreur est
apparue dans le composant étendu, on a dega=degw).
En outre, la condition 62 est obtenue à partir
des équations précédentes (73) et (74).
[Condition 2]: o(x) et (o(x) sont premiers entre
eux (c'est-à-dire qu'ils n'ont aucune racine commune).
En outre l'équation fondamentale (75) est
équivalente à l'expression (76) formée moyennant l'utilisa-
tion d'un polynôme approprié o(x).
O(x) x2t + a(x) S(x) = w(x)... (76) Ici le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs, qui satisfont à l'équation fondamentale, sont obtenues dans l'hypothèse o le polynôme de syndromes est connu, auquel cas l'existence et le
caractère unique de la solution peuvent être prouvés. Ci-
après, on va donner la preuve effective utilisant l'algo-
rithme euclidien.
Des combinaisons de polynômes (Ak(x), Bk(x), Rk(x)), avec k>-l, sont définies sous la forme des
équations suivantes (77) et (78).
A_1(x) = 1, B_1(x) = 0, R_1(x) = x2t... (77) A0(x) = 0, Bo(x) = 1, R0(x) = S(x)... (78) Pour k>1, ces expressions sont définies par les expressions suivantes (79) - (81) par désignation de Qkk(x) en tant que polynôme de quotient obtenu en divisant
séquentiellement Rk_2k(X) par Rklk(X).
Ak(X) = Ak_2(x) + Qk(x) Ak_1(x)... (79) Bk(X) = Bk-2(x) + Qk(x) Bk_1(x)... (80) Rk(X) = Rk_2(x) + Qk(x) Rk-l(X)... (81) Par définition, le degré de Bk(X) augmente d'une manière monotone, c'est-à-dire que l'on a degBk_1<degBk, et le degré de Bk(x) diminue de façon monotone, c'est-àdire que l'on a degRkl1>degRk. En outre, en rapport avec les combinaisons de polynômes (Ak(x), Bk(X), Rk(x)), on établit les équations suivantes (82)-(84) par déduction mathématique. Ak (x) x2t+Bk (x) S(x) = Rk (x) (k > -1)
30... (82)
Bk (x) Rk-1 (x) + Bk-1 (x) Rk (x) = x2t (k > -1) (83) Ak (x) Bk_1 (x) + Ak_1 (x) Bk (x) = 1 (k > -1) (84) Ici, l'équation précédente (82) va être décrite à titre d'exemple. Il est évident, à partir des équations (77) et (78), que l'équation (82) est valable lorsque l'on a k=-l et 0. En outre, on a trouvé à partir de l'équation suivante (85), qu'elle est valable pour k dans l'hypothèse o elle est valable pour k-1. Dans les réductions
suivantes, on utilise les équations (79)-(81).
Ak (x) x2t + Bk (x) S (x) = (Ak-2 (x) + Qk (x) Ak_1 (x)) x2t + (Bk-2 (x) + Qk (x) Bk_1 (x)) S (x) = Ak_2 (x) X2- + Bk_2 (x) S (x) + Qk (x) (Ak_1 (x) x2t + Bk_1 (x) S (x)) = Rk_2 (x) + Qk (x) Rk-1 (x) = Rk (x)... (85) Les autres équations (83) et (84) peuvent être prouvées en utilisant le raisonnement mathématique. Bien que l'on voit à partir de l'équation (82) que (Bk(X), Rk(X)) sont candidats du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, ci-après on voit qu'ils fournissent un polynôme d'emplacements d'erreurs vrai et un polynôme de valeurs d'erreurs vrai pour un k approprié. Tout d'abord on notera que le degré de Bk(x)augmente de façon monotone et que le degré de Rk(x) diminue de façon monotone et que l'équation suivante (86) est
valable à partir de l'équation précédente (83).
2 t = d e g x2t = d e g (Bk Rk-1 + Bk-1 Rk) = d e g Bk Rk-1 = d e g Bk + d e g Rk-1... (86) En notant que degRk diminue de façon monotone, il existe un tel k qui satisfait aux conditions fournies par
l'expression suivante (87).
d e g Rk_1 > t et d e g Rk < t... (87) On trouve à partir de l'équation (86) que l'équation suivante (88) est valable en rapport avec le
degré de Bk.
d e g Bk = 2t - deg Rk_1 < t... (88) L'équation (82) est valable pour ce k. Par conséquent, l'équation suivante (89) peut être obtenue par sommation de côtés respectifs d'un produit obtenu en multipliant l'équation (76) par Bk et d'un produit obtenu
en multipliant l'équation (82) par a(x).
(Bk (x) @(x) + a(x) Ak (x)) x2- = Bk (x) w (x) + a (x) Rk (x)... (89) Ici, en considérant que le membre de droite de l'équation (89) est un polynôme ayant un degré égal ou inférieur à 2z-1 en raison de la condition précédente 1 et des équations (87) et (88), et que son membre de gauche est un polynôme ayant un degré égal ou supérieur à 2t sauf si l'intérieur de () est zéro, il est possible d'en arriver à la conclusion que () = 0. Par conséquent, on peut obtenir
les équations suivantes (90) et (91).
Bk (x) o = a (x) Ak (x)... (90) Bk (x) w = o (x) Rk (x)... (91) On notera que o(x) et w(x) sont premiers entre eux (n'ont aucune racine commune) à partir de la condition précédente 2, il existe un polynôme approprié A(x) et on
peut obtenir les équations suivantes (92)-(94).
Bk (x) = À (x) a (x)... (92) Rk (x) = (x) w (x)... (93) Ak (x) = (x) (x)... (94) D'autre part, étant donné que Ak(x) et Bk(x) sont premiers entre eux à partir de l'équation (84) on voit que À(x) se réduit à une constante. C'est pourquoi il est possible d'en conclure que (Bk(x), Rk(x)) peut fournir des solutions désirées qui diffèrent uniquement d'un nombre multiple fixe. En d'autres termes (Bk(x)/Rk(0), Rk(x)/Bk(0)) sont un polynôme d'emplacements d'erreurs a(x)
vrai et un polynôme de valeurs d'erreurs w(x) vrai.
L'ensemble L des emplacements d'erreurs peut être G3 obtenu en examinant les racines de Bk(x). Une fois que l'ensemble L d'emplacements d'erreurs a été obtenu, l'amplitude d'erreur el[k] pour chaque l[k] peut être
obtenue au moyen de l'équation suivante (95).
w(al[k]) el[k] = à--------... (95) a' (al[k] a(b+2t)l[k]
a' désignant une différentielle formelle de o.
Bien que la concordance entre le degré du polynôme d'emplacements d'erreurs a(x) et le degré du polynôme de valeurs d'erreurs w(x) indique qu'une erreur est apparue dans le composant étendu, l'amplitude de l'erreur peut être obtenue en divisant le coefficient du degré maximum du polynôme de valeurs d'erreurs w(x) par
celui du polynôme d'emplacements d'erreurs a(x).
La figure 16 est un organigramme illustrant la procédure de traitement de la forme de réalisation 9 correspondant au procédé de correction d'erreurs du code RS à une seule extension, lors de laquelle le procédé de correction d'erreurs précédent est appliqué à un code RS d'extension unique (128, 122) dans l'espace de Galois GF(27), pour lequel on a b=l et la distance minimale est sept. Sur la figure 16, ST21 désigne un pas de production de syndromes de calculs à partir d'un mot reçu, et ST22 désigne un pas de production de polynôme de syndromes servant à produire un polynôme de syndromes de telle sorte qu'un terme incluant une information d'erreur concernant le composant étendu dans les syndromes calculés lors du pas ST21 de production de syndromes occupe la position du terme
constant.
ST23 désigne un pas de calcul, basé sur un algorithme euclidien, pour calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen de l'algorithme euclidien en utilisant le polynôme de syndromes, que le pas ST22 de production du polynôme de syndromes a fourni sous la forme des valeurs initiales; et ST24 désigne un pas de comparaison servant à comparer le degré du polynôme d'emplacements d'erreurs à celui du polynôme de valeurs d'erreurs obtenu lors du pas ST23 de calcul de l'algorithme euclidien. Le pas ST25 désigne un pas de recherche selon Chien servant à calculer les emplacements d'erreurs et les valeurs d'erreurs moyennant l'exécution de la recherche selon Chien appliquée au polynôme d'emplacements d'erreurs ou de valeurs d'erreurs si une décision est prise lors du pas de comparaison ST24, indiquant que le degré du polynôme de valeurs d'erreurs est inférieur à celui du polynôme d'emplacements d'erreurs; et ST26 désigne un pas de correction d'erreurs servant à corriger les erreurs du mot reçu sur la base des emplacements d'erreurs et des valeurs d'erreurs obtenues lors du pas ST25 de recherche selon Chien.
On va décrire ci-après le fonctionnement.
* Tout d'abord, on calcule les syndromes Si avec i = 0, 1,..., 5, à partir du mot reçu en utilisant l'expression (6) dans le pas ST21 de la production de syndromes. Ensuite, lors du pas ST22 de production du polynôme de syndromes, le polynôme de syndromes est réglé sous la forme de l'équation suivante (87) par réglage, en tant que terme constant, du polynôme S5, qui contribue à
former le composant étendu.
S(x) = S5 + S4 x +... + S1 x4 + S0 x5... (96) Ensuite, le calcul de l'algorithme euclidien est exécuté en utilisant le polynôme de syndromes S(x) lors du pas ST23 de calcul basé sur l'algorithme euclidien. La figure 17 est un organigramme représentant des détails de la procédure de
traitement du pas ST23 de calcul de l'algorithme euclidien.
Tout d'abord, comme cela est représenté sur la figure 17, les valeurs initiales de l'algorithme euclidien sont réglées par les équations suivantes (97) et (98) lors du
pas 210.
Bl(X) = O, B0(x) = 1... (97) R_1(x) = x6, RO(x) = S(x)... (98) Ensuite, après initialisation de la variable i sur un lors du pas ST211, un polynôme de quotient Qi(x) est obtenu par division du polynôme Ri_2(:) par Ri_(x) lors du pas ST212, et Ri(x) et Bi(x) sont calculés lors du pas 213
en utilisant les équations suivantes (99) et (100).
Ri(x) = Qi(x) Ri_, (x) + Ri_2(x).. (99) 3i(X) = Qi(x) Bi_, (x) + Bi2(x)... (100) Ensuite, une décision est prise pour savoir si le degré du polynôme Ri(x) est devenu inférieur à trois lors du pas ST214. S'il n'est pas encore devenu inférieur à trois, les traitements à partir du pas ST212 et suivants sont répétés, avec incrémentation de la variable i lors du pas ST215. Au contraire, si une décision est prise lors du pas ST214, indiquant que le degré de Ri(x) est devenu inférieur à trois, des substitutions sont faites sous la forme o(x) et Bi(x)/Bi(0) et w(x) = Ri(x)/Bi(0) lors du pas ST216, ce qui achève le pas ST23 de calcul de l'algorithme euclidien. Ensuite, lors de l'étape de comparaison ST24 le degré du polynôme d'emplacements d'erreurs o(x) est comparé au degré du polynôme de valeurs d'erreurs w(x). Il en résulte que sauf si l'on a degw(x)Ädegw, le mot reçu est délivré sans modification lorsqu'une certaine erreur est détectée. Au contraire, si l'on a degw<degw, la recherche selon Chien est exécutée sur le polynôme d'emplacements d'erreurs w(x) et sur le polynôme de valeurs d'erreurs w(x) lors du pas ST25 de recherche selon Chien pour calculer les emplacements d'erreurs et les amplitudes des erreurs. Si le signal égal est valable, on estime qu'une erreur est
apparue dans le composant étendu.
Si le nombre d'erreurs concorde avec le degré du polynôme d'emplacements d'erreurs calculé lors du pas ST25 de recherche selon Chien, les erreurs sont corrigées lors du pas ST25 de recherche selon Chien de sorte que les résultats corrigés sont délivrés. D'autre part, si le nombre d'erreurs ne concorde pas avec le degré du polynôme d'emplacements d'erreurs, le traitement est arrêté au moment de la détection d'erreurs, et le mot reçu est
délivré sans correction.
Par conséquent, contrairement au procédé classique de correction d'erreurs d'un code RS à une seule extension moyennant l'utilisation de l'algorithme euclidien, dans lequel les calculs de cet algorithme doivent être exécutés deux fois dans le pire des cas, ce qui pose un problème de retard de décodage, la présente forme de réalisation 9 présente l'avantage d'exécuter les traitements au moyen d'un seul calcul de l'algorithme euclidien, et l'avantage de faciliter la décision concernant le fait qu'une erreur est apparue dans le composant étendu ou non, par comparaison du degré du polynôme d'emplacements d'erreurs au degré du polynôme de valeurs d'erreurs utilisant le calcul de l'algorithme euclidien. Bien que la présente invention soit appliquée, dans la neuvième forme de réalisation précédente, au procédé de correction d'erreurs du code RS à une seule extension, qui réalise la correction d'erreurs du code RS à une seule extension au moyen de l'algorithme euclidien, on peut également appliquer l'invention au procédé de correction d'erreurs du code RS à une seule extension, qui met en oeuvre l'effacement et la correction d'erreurs du code RS à une seule extension. On va maintenant décrire une telle forme de réalisation 10 conforme à la présente invention en commençant à partir du principe du procédé d'effacement et de correction d'erreurs du code RS à une seule extension. Ici, on va expliquer la présente forme de
réalisation 10 en utilisant un code RS à une seule exten-
sion possédant une longueur de code N, un nombre de symbo-
les d'information k et une distance minimale d=n-k+l=2t+l, t étant un entier positif. En outre, on suppose que la
caractéristique de l'espace de Galois est égale à deux.
Des syndromes S0, Sl, -..., S2t-1 sont calculés à partir d'un mot d'entrée reçu, et un polynôme de syndromes est formé à partir de là sous la forme de l'équation précédente (71). En outre, les éléments d'un ensemble M sont représentés par m[k], avec k = 0, 1,..., h-l, et M un ensemble de symboles intérieurs, qui sont fixes comme étant effacés conformément à des drapeaux d'effacement accompagnant le mot reçu. En outre, un ensemble d'erreurs aléatoires autre que l'effacement est désigné par L et les éléments de l'ensemble L sont représentes par l[k], avec
k=0, 1,..., S-1.
On va maintenant décrire le procédé de correction par effacement des erreurs aléatoires dans l'hypothèse o l'on a 2s+h<2t. Dans ce cas, une erreur aléatoire, qui est apparue dans le composant étendu, est comptée en tant que 1/2 au lieu de un. Avec l'obtention d'un coefficient d'emplacements d'effacements a-m[k] à partir des éléments m[k] de l'ensemble des emplacements d'effacements, on forme un polynôme de l'expression suivante (101), qui est désigné comme étant un polynôme d'emplacements d'effacements, en
utilisant les coefficients d'emplacements d'effacements.
A(x) = (1 + a-mEO] x) (1 + a-m[l] x)... (1 + a-m[h-1] x) (101) En outre, un polynôme d'emplacements d'erreurs o(x) est formé à partir des erreurs aléatoires autres que le composant étendu comme dans l'équation (73). Le calcul de a(x)A(x)S(x) modulo x2t comme dans l'équation (72) de la forme de réalisation 9 fournit un polynôme ayant un degré inférieur ou égal à [h+s-1/2]. En désignant ce polynôme par 2(x), on obtient l'équation fondamentale suivante (102)
comme dans le neuvième mode de mise en oeuvre.
a (x) A (x) S (x) = n (x) mod x2t... (102) La valeur =(x) est un polynôme incluant une information concernant l'amplitude d'erreurs aux
emplacements d'erreurs et aux emplacements d'effacements.
Ce polynôme sera désigné ci-après comme étant un polynôme de valeurs d'erreurs et d'effacements. Ici un polynôme désigné comme étant un polynôme de syndromes modifié est
défini par l'équation suivante (103).
T (x) = A (x) S (x) mod x2t... (103) Le degré du polynôme est, par définition, également inférieur à 2t-1. En l'introduisant dans l'équation fondamentale précédente (102), on obtient
l'équation suivante (104).
a (x) T (x) = r (x) mod x2t... (104) L'équation fondamentale est équivalente à l'équation suivante (105) représentée moyennant
l'utilisation d'un polynôme approprié tp(x).
P (x) x2t + o (x) T (x) = r(x)... (105) Le polynôme d'emplacements d'erreurs o(x) et le polynôme de valeurs d'erreurs et d'effacements r(x) satisfont à l'équation fondamentale suivante. En outre, l'extraction d'autres caractéristiques fournit la condition
suivante 3 concernant le degré.
[Condition 3]: Si degw = [s], alors degn<[h+s-1/2]
"deg" représentant le degré du polynôme.
En outre, la condition suivante 4 est obtenue d'une manière qui correspond à la condition 2 dans le
neuvième mode de mise en oeuvre.
[Condition 4]: a(x) et r(x) sont premiers entre
eux (ce qui signifie qu'ils n'ont aucune racine commune).
Les racines de l'équation fondamentale satisfai-
sant aux conditions 3 et 4 peuvent être obtenues en utili-
sant l'algorithme euclidien comme dans le neuvième mode de
mise en oeuvre.
On va décrire ci-après le procédé dans son aspect général.
Tout d'abord, les valeurs initiales de l'algo-
rithme euclidien sont réglées comme dans les expressions
suivantes (106) et (107).
A_1 (x) = 1, B_1 (x) = 0, R_1 (x) = x2t (106) Ao (x) = 0, Bo (x) = 1, R0 (x) = T (x) (107)
Ici, il est établi que (Ak(x), Bk(X), Rk(X)) pro-
duits séquentiellement comme dans les équations (79)-(81)
satisfont à l'équation suivante (108) moyennant l'utilisa-
tion d'un raisonnement mathématique, comme avec l'équation
(82) dans le neuvième mode de mise en oeuvre.
Ak (x) x2t + Bk (x) T (x) = Rk (x) (k > - 1)
15... (108)
Les équations (83) et (84) sont valables d'une manière similaire. Bien que l'équation (108) suggère de (Bk(x) et Rk(X))(x) sont des candidats du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs et d'effacements, ce qui suit montre que l'on a fourni un polynôme d'emplacements d'erreurs vrai et un polynôme de valeurs d'erreurs et d'effacements vrai pour un
k approprié.
Tout d'abord étant donné que le degré de Rk(X) diminue de façon monotone, il existe un certain k qui
satisfait à l'inégalité suivante (109).
d e g Rk_1 > [(2 t + h + 1) / 2], d e g Rk < [(2 t + h + 1) / 2]... (109) Dans ce cas, on voit, à partir de l'équation (86), que l'expression suivante (110) est valable en
rapport avec le degré de Bk.
d e g Bk = 2 t - d e g Rk_1 < [(2 t - h) /2]... (110)
L'équation (108) est valable pour ce k.
L'équation suivante (111) est obtenue par sommation de l'équation (105) multipliée par Bk(x) et de l'équation (108) multipliée par a(x), et ce pour les deux membres des équations. (Bk (x) P (x) + a (x) Ak (x)) x2t = Bk (x) n (x) + o (x) Rk (x)
5... (111)
A partir de la condition 3 précédente et des équations (109) et (110), on en arrive à la conclusion que l'on a () = 0 étant donné que le membre de droite de l'équation (111) est un polyrnome ayant un degré égal au maximum à 2t-1, alors que le membre de gauche de cette équation est un polynôme ayant un degré égal à au moins 2t, sauf si le contenu de () est zéro. Par conséquent, il est prouvé que (Bk(X), Rk(X)) est un multiple constant de (a(x), n(x)) en utilisant la condition (4) et l'équation (84) comme dans le neuvième mode de mise en oeuvre. C'est pourquoi, on peut obtenir des racines désirées en fixant
o(x) = Bk(X)/Bk(0) et n(x) = Rk(x)/Bk(0).
En outre, les valeurs initiales de l'algorithme euclidien sont réglées au moyen des expressions suivantes
(112) et (113).
B_1 (x) = 0, R_1 (x) = x2t... (112) Bo (x) = A (x), R0 (x) = T (x)... (113) Ici, l'exécution de l'algorithme euclidien au
moyen de la production séquentielle de (Bk(x), Rk(x)) jus-
qu'au point o le degré de Rk(x) devient inférieur à [2t+1+h+ 1)/2], et au moyen de la substitution de p(x) = Bk(x)/Bk(0) et de r(x)=Rk(x)/Bk(0) conduit au fait que p(x) est égal à a(x)L(x) et que les racines autres que les racines correspondant aux emplacements d'effacements correspondent à l'ensemble L des emplacements d'erreurs aléatoires. Ce p(x) sera désigné ci-après comme étant un polynôme d'emplacements d'erreurs et d'effacements. Le degré du polynôme d'emplacements d'erreurs et d'effacements p(x) est celui du polynôme de valeurs d'erreurs et d'effacements n(x) satisfont à la relation degn<degp, le signe égal étant valable lorsqu'une erreur est apparue dans
le composant étendu.
Les amplitudes d'erreurs em[k] aux emplacements d'effacements, avec k = 0, 1,..., h-1, peuvent être obtenus au moyen de la relation suivante (114), et les amplitudes d'erreurs el[k] aux emplacements d'erreurs aléatoires autres que le composant étendu, avec k = 0, 1, s-l, peuvent être obtenus au moyen de la relation
suivante (115).
(a(m[k]) em[k] à----... (114) p'<(am[k] a(b+2t)m[k] n(a(l[k]) el[k]=------------------------... (115) p' (al[k] a(b+2t)l[k] p' représentant la différentielle formelle de p. Si le degré du polynôme d'emplacements d'erreurs et d'effacements p(x) concorde avec celui du polynôme de valeurs d'erreurs et d'effacements r(x), on voit qu'une erreur est apparue dans le composant étendu, et que son amplitude peut être obtenue en divisant le coefficient de
degré maximum de r(x) par celui de p(x).
La figure 18 est un organigramme illustrant la procédure de traitement d'une forme de réalisation 10 du procédé de correction d'erreurs d'un code RS à une seule extension, conformément à la présente invention à laquelle le procédé précédent de correction d'effacements et d'erreurs est appliqué à un code RS à une seule extension (128, 122) dans l'espace de Galois GF(2F) pour lequel on a b=1 et la distance minimale est égale à sept. Sur la figure 18, les pas identiques à ceux de la figure 7 décrite pour le neuvième mode de mise en oeuvre sont désignés par les mêmes symboles de référence et on n'en donnera pas ici la
description.
Sur la figure 18, ST27 désigne un pas de production de coefficients d'emplacements d'effacements
servant à produire les coefficients d'emplacements d'effa-
cements à partir des drapeaux d'effacements accompagnant le mot reçu; et ST28 désigne un pas de production du polynôme d'emplacements d'effacements servant à produire le polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produits lors du pas ST27 de
production de coefficients d'emplacements d'effacements.
ST29 désigne un pas de production du polynôme de syndromes modifiés qui consiste à produire un polynôme de syndromes modifiés en multipliant le polynôme de syndromes produit lors du pas ST22 de production du polynôme de syndromes par le polynôme d'emplacements d'effacements produit lors du pas ST28 de production du polynôme d'emplacements d'effacements. Le pas ST23 de calcul de l'algorithme euclidien diffère du pas correspondant exécuté dans le neuvième mode de mise en oeuvre et désigné par le même symbole de référence sur la figure 16, en ce qu'il calcule le polynôme d'emplacements d'erreurs et d'effacements et le polynôme de valeurs d'erreurs et d'effacements en utilisant le polynôme de syndromes modifiés produit lors du pas ST29 de production du polynôme de syndromes modifiés, en tant que valeur initiale. En outre, le pas de comparaison ST24 et le pas de recherche selon Chien ST25 diffèrent de leurs pendants dans le neuvième mode de mise en oeuvre, qui sont désignés par les mêmes chiffres de référence sur la figure 16, en ce que le présent pas de comparaison ST24 compare le degré du polynôme d'emplacements d'erreurs et d'effacements, ou le degré du polynôme de valeurs d'erreurs et d'effacements et que le présent pas selon Chien ST25 calcule les emplacements d'erreurs et des amplitudes d'erreurs à partir du polynôme d'emplacements d'erreurs et d'effacements et du polynôme de valeurs d'erreurs et d'effacements calculés dans le pas ST23 de calcul de
l'algorithme euclidien.
Ci-après on va décrire le fonctionnement.
Tout d'abord, des syndromes Si avec i = 0, 1, , sont calculés à partir du mot reçu en utilisant l'expression (6) dans le pas ST21 de production de syndromes. Ensuite, lors du pas ST22 de production du polynôme de syndromes, le polynôme de syndromes est produit conformément & l'équation (96) par réglage, en tant que terme constant, du syndrome S5 parmi les syndromes Si,
auxquels le composant étendu apporte sa contribution.
Ensuite, des coefficients d'emplacements d'effacements sont produits à partir des drapeaux d'effacements accompagnant le mot reçu lors du pas ST27 de production des coefficients d'emplacements d'effacements. Ensuite, lorsqu'on passe au pas ST28 de production du polynôme d'emplacements d'effacements, le polynôme A(x) d'emplacements d'effacements est produit par l'équation (101) si le nombre d'effacements h est égal ou inférieur à six, alors que la correction d'effacement n'est pas exécutée si h est égal ou supérieur à sept. Ensuite, le décodage tel que décrit dans le neuvième mode de mise en oeuvre est exécuté après le réglage de A(x)=l. Dans le cas o le nombre d'effacements h est égal ou inférieur à cinq, les erreurs aléatoires jusqu'à (6-h)/2 peuvent être corrigées. Par exemple, si on a h=3, 3/3 erreurs, c'est-à-dire chaque erreur apparue dans le code intérieur et le composant étendu peuvent être
corrigées au maximum.
Ensuite, le polynôme de syndromes modifiés T(x) est calculé au moyen de l'équation suivante (116) lors du pas ST29 de production du polynôme de syndromes modifiés utilisant le polynôme de syndromes S(x) produit lors du pas ST22 de production du polynôme de syndromes, et le polynôme d'emplacements d'effacements A(x) produit lors du pas ST28
de production du polynôme d'emplacements d'effacements.
T (x) = A (x) S (x) mod x6... (116) Ensuite, lors du passage au pas ST23 de calcul de l'algorithme euclidien, l'algorithme euclidien est mis en
oeuvre en utilisant le polynôme de syndromes modifiés T(x).
La figure 19 est un organigramme représentant des détails de la procédure de traitement du pas ST23 de calcul de l'algorithme euclidien. Tout d'abord, comme représenté sur la figure 19, les valeurs initiales de l'algorithme euclidien sont réglées au moyen des équations suivantes
(117) et (118) lors du pas 220.
B_1(x) = 0, B0 (x) = A (x)... (117) R_1(x) = x6, R0 (x) = T (x)... (118) Ensuite, après initialisation de variables i à zéro lors du pas ST221, le degré de Ri(x) est comparé à [(7+h)/2] lors du pas ST222. Ensuite, alors qu'une incrémentation de la variable i est réalisée lors du pas ST223, un polynôme quotient Qi(x) est obtenu par division des polynômes Ri_2(x) par Ri_<(x) lors du pas ST224, et (Bi(x), Ri(x)) sont calculés séquentiellement lors du pas
ST225 en utilisant les équations (99) et (100).
Ensuite, lorsque le degré de Ri(x) devient inférieur à [(7+h)/2], des substitutions sont réalisées sous la forme p(x) = Bi(x)/Bi(0) et n(x)=Ri(x)/Bi(0) lors du pas ST226, et le pas ST23 de calcul de l'algorithme euclidien est exécuté. Ensuite, lors de l'étape de comparaison ST24, le degré du polynôme d'emplacements d'erreurs et d'effacements p(x) est comparé au degré du polynôme n(x) de valeurs d'erreurs et d'effacements obtenu lors du pas ST23 de calcul de l'algorithme euclidien. Il en résulte que, sauf si l'on a degp<degn, le mot reçu est délivré sans modification. Au contraire, si l'on a 2p<2n, la recherche selon Chien est exécutée sur le polynôme d'emplacements d'erreurs et d'effacements p(x) et sur le polynôme de valeurs d'erreurs et d'effacements p(x) lors du pas de recherche selon Chien ST25 pour le calcul des emplacements d'erreurs et des amplitudes d'erreurs au moyen
des équations (114) et (115).
Si le nombre d'erreurs concorde avec le degré du polynôme d'emplacements d'erreurs et d'effacements p(x) détecté lors du pas de recherche selon Chien ST25, les erreurs sont corrigées de sorte que les résultats corrigés sont délivrés. D'autre part, si le nombre d'erreurs ne concorde pas avec le degré du polynôme d'emplacements d'erreurs et d'effacements p(x), le traitement est terminé lors de la détection d'erreurs et le mot reçu est délivré
sans correction.
Par conséquent, la présente forme de réalisation
présente l'avantage d'exécuter la correction d'efface-
ments et d'erreurs d'un code RS à une seule extension au moyen d'un seul calcul d'un algorithme euclidien, et de faciliter la décision concernant le fait qu'une erreur est apparue ou non dans le composant étendu, par comparaison du degré du polynôme d'emplacements d'erreurs et d'effacements avec le degré du polynôme de valeurs d'erreurs et d'effacements, détecté par le calcul de l'algorithme euclidien.
ONZIEME MODE DE MISE EN OEUVRE
Bien que les neuvième et dixième modes de mise en oeuvre indiqués précédemment décrivent le procédé de correction d'erreurs du code RS à une seule extension, il est possible de réaliser un dispositif de correction
d'erreurs basé sur le procédé. La figure 20 est un schéma-
bloc illustrant un onzième mode de mise en oeuvre d'un dispositif de correction d'erreurs du code RS à une seule extension conformément à la présente invention. Sur la figure 20, le chiffre de référence 10 désigne un circuit de production de syndromes servant à produire des syndromes à partir d'un mot reçu; et le chiffre de référence 11 désigne un circuit de production de polynômes de syndromes servant à produire, à partir des syndromes calculés dans le circuit de production de syndromes, un polynôme de syndromes, qui définit les valeurs initiales de l'algorithme euclidien de sorte que le polynôme de syndromes inclut dans son terme constant un syndrome contenant l'information d'erreurs
concernant le composant étendu des syndromes.
Le chiffre de référence 12 désigne un circuit de calcul de l'algorithme euclidien servant à calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs en utilisant l'algorithme euclidien après réglage du polynôme de syndromes produit par le circuit 11 de production du polynôme de syndromes, en tant que valeurs initiales. Le chiffre de référence 13 désigne un circuit de recherche selon Chien servant à calculer les emplacements d'erreurs et les valeurs d'erreurs en exécutant la recherche selon Chien du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, calcules par le circuit 12 de calcul de l'algorithme euclidien. Le chiffre de référence 14 désigne un circuit de mémorisation de mots reçus servant à mémoriser les mots reçus arrivants, et le chiffre de référence 15 désigne un circuit de mémorisation des résultats calculés servant à mémoriser les emplacements d'erreurs et les valeurs d'erreurs calculés par le circuit de recherche selon Chien 13. Le chiffre de référence 16 désigne un circuit de correction d'erreurs servant à corriger les mots reçus mémorisés dans le circuit de mémorisation des mots reçus 14 sur la base des emplacements d'erreurs et des valeurs d'erreurs mémorisées dans le
circuit 15 de mémorisation des résultats calculés.
On va décrire ci-après le fonctionnement.
La description qui va suivre est délivrée en
prenant à titre d'exemple un code RS à une seule extension (128, 122) dans l'espace de Galois GF(27), pour lequel on a
b=l et la distance minimale est égale à sept. Un mot reçu arrivant est délivré au circuit 10 de production de syndromes
et au circuit 14 de mémorisation des mots reçus. Lors de la réception du mot reçu, le circuit 10 de production de syndromes produit les syndromes Si du mot reçu, avec i = 0, 1..., 5, et les envoie au circuit 11 de production du polynôme de syndromes. Le circuit 14 de mémorisation du mot reçu mémorise le mot reçu arrivant. Le circuit 11 de production du polynôme de syndromes produit le polynôme de syndromes représenté par l'équation (96), par réglage, en tant que terme constant, du syndrome S5 parmi les syndromes produits par le circuit de production de syndromes, Le syndrome S5 étant affecté
par le composant étendu.
Le polynôme de syndromes produit par le circuit 11 de production du polynôme de syndromes est envoyé au circuit 12 de calcul de l'algorithme euclidien. Le circuit 12 de calcul de l'algorithme euclidien calcule le polynôme d'emplacements d'erreurs a(x) et le polynôme de valeurs d'erreurs w(x) en exécutant le calcul de l'algorithme
euclidien moyennant l'utilisation du polynôme de syndromes.
Dans ce cas, il compare le degré du polynôme d'emplacements d'erreurs a(x) à celui du polynôme de valeurs d'erreurs o(x) et, sauf si l'on a degw<dega, il délivre le mot reçu sans
correction avec une indication de détection d'erreurs.
D'autre part, si cette condition est valable, il délivre le polynôme d'emplacements d'erreurs c(x) et le polynôme de valeurs d'erreurs w(x) au circuit de recherche selon Chien 13, qui calcule les emplacements d'erreurs et les valeurs d'erreurs. Les emplacements d'erreurs calculés et les valeurs d'erreurs sont mémorisés temporairement dans le
circuit 15 de mémorisation des résultats calculés.
Si le nombre d'erreurs détecté par le circuit de recherche selon Chien 13 est égal au degré du polynôme d'emplacements d'erreurs o(x), le circuit de correction d'erreurs 16, qui lit les emplacements d'erreurs et les valeurs d'erreurs qui ont été calculés par le circuit de recherche selon Chien 13 et ont été mémorisés dans le circuit 15 de mémorisation des résultats calculés, corrige les erreurs des symboles du mot reçu mémorisé dans le circuit 14 de mémorisation des mots reçus, par soustraction des symboles situés aux emplacements d'erreurs, des valeurs d'erreurs calculées correspondant aux emplacements d'erreurs, et délivre le mot reçu corrigé. D'autre part, sauf si le nombre d'erreurs détecté est égal au degré du polynôme d'emplacements d'erreurs o(x), le mot reçu mémorisé dans le circuit 14 de mémorisation du mot reçu est délivré sans correction avec une indication de détection d'erreurs. D'autre part, si cette condition est valable, il délivre le polynôme d'emplacements d'erreurs o(x) et le polynôme de valeurs d'erreurs w(x) au circuit de recherche selon Chien 13 qui calcule les emplacements d'erreurs et les valeurs d'erreurs. Les emplacements d'erreurs et les valeurs d'erreurs calculés sont mémorisés temporairement
dans le circuit 15 de mémorisation des résultats calculés.
Si le nombre d'erreurs détecté par le circuit de recherche selon Chien 13 est égal au degré du polynôme d'emplacements d'erreurs aox), le circuit de correction d'erreurs 16, qui lit des emplacements d'erreurs et des valeurs d'erreurs qui ont été calculés par le circuit de recherche selon Chien 13 et ont été mémorisés dans le circuit 15 de mémorisation de résultats calculés, corrige les erreurs des symboles du mot reçu mémorisé dans le circuit 14 de mémorisation des mots reçus, par soustraction à partir des symboles aux emplacements d'erreurs, des valeurs d'erreurs correspondant aux emplacements d'erreurs, et délivre le mot reçu corrigé. D'autre part, sauf si le nombre d'erreurs détecté est égal au degré du polynôme d'emplacements d'erreurs o(x), le mot reçu est mémorisé dans le circuit 14 de mémorisation des mots reçus et est délivré sans correction avec une indication de la détection d'erreurs. Par conséquent, contrairement au dispositif classique de correction d'erreurs d'un code RS à une seule extension, utilisant l'algorithme euclidien et dans lequel les calculs de l'algorithme euclidien peuvent être exécutés deux fois dans le pire des cas, ce qui pose un problème de retardement du décodage, le présent onzième mode de mise en oeuvre fournit l'avantage d'exécuter les traitements à l'aide d'un seul calcul de l'algorithme euclidien et de réduire le coût étant donné que le dispositif de correction d'erreurs du code RS à une seule extension conforme à la présente invention peut être réalisé moyennant une faible amélioration du dispositif classique de correction du code RS.
DOUZIEME MODE DE MISE EN OEUVRE
Bien que le onzième mode de mise en oeuvre précédent ait concerné le dispositif de correction d'erreurs du code RS à une seule extension pour l'exécution d'une correction d'erreurs du code RS à une seule extension en utilisant l'algorithme euclidien, il est également possible d'appliquer le dispositif de correction d'erreurs du code RS à une seule extension pour effectuer la correction d'effacement d'erreurs du code RS à une seule extension. La figure 21 est un schéma- bloc illustrant un douzième mode de mise en oeuvre d'un appareil de correction d'erreurs du code RS à une seule extension conformément à la présente invention. Sur la figure 21, le chiffre de référence 17 désigne un circuit de production de coefficients d'emplacements d'effacements, servant à produire les coefficients d'emplacements d'effacements à partir des drapeaux d'effacements accompagnant le mot reçu; le chiffre de référence 18 désigne un circuit de production du polynôme d'emplacements d'effacements servant à produire le polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produits par le circuit 17 de production des coefficients d'emplacements d'effacements; et le chiffre de référence 19 désigne un circuit de production d'un polynôme de syndromes modifiés, servant à produire un polynôme de syndromes modifies par multiplication du polynôme de syndromes produit par le circuit 11 de production du polynôme de syndromes par le polynôme d'emplacements d'effacements produit par le circuit 18 de production du polynôme d'emplacements d'effacements. Bien que les autres parties correspondent à leurs pendants dans le onzième mode de mise en oeuvre et désigné par les mêmes chiffres de référence sur la figure 20, le circuit 12 de calcul de l'algorithme euclidien et le circuit de recherche selon Chien 13 diffèrent de leurs contre-parties dans le onzième mode de mise en oeuvre, désignées par les mêmes chiffres de référence sur la figure , en ce que le présent circuit 12 de calcul de l'algorithme euclidien calcule le polynôme d'emplacements d'erreurs et d'effacements et le polynôme de valeurs d'erreurs et d'effacements en utilisant le polynôme de syndromes modifiés produit par le circuit 19 de production du polynôme de syndromes modifiés, en tant que valeurs initiales, et le présent circuit de recherche selon Chien 13 calcule les emplacements d'erreurs et les amplitudes d'erreurs à partir du polynôme d'emplacements d'erreurs et d'effacements et du polynôme de valeurs d'erreurs et d'effacements, calculés par le circuit 12 de calcul de
l'algorithme euclidien.
Ci-après on va décrire le fonctionnement.
La description précédente a été donnée à titre
d'exemple d'un code RS à une seule extension (128, 122) dans l'espace de Galois GF(27), pour lequel on a b=1 et la
distance minimale est sept.
Tout d'abord, un mot reçu arrivant est délivré au circuit 10 de production de syndromes, au circuit 17 de production des coefficients d'emplacements d'effacements et au circuit 14 de mémorisation des mots reçus. Lorsqu'il reçoit le mot reçu, le circuit 10 de production de syndromes produit les syndromes Si du mot reçu, avec i = 0, 1,..., 5, et le mot reçu est mémorisé dans le circuit 14 de mémorisation des mots reçus, comme dans la forme de réalisation 11. Le circuit 11 de production du polynôme de syndromes produit le polynôme de syndromes représenté par la relation (96) par réglage, en tant que terme constant, du syndrome S5 parmi les syndromes produits par le circuit de production de syndromes, le syndrome S5 étant affecté
par le composant étendu.
D'autre part, le circuit 17 de production de coefficients d'emplacements d'effacements produit les coefficients d'emplacements d'effacements à partir des drapeaux d'effacements accompagnant le mot reçu et les envoie au circuit 18 de production du polynôme d'emplacements d'effacements. Le circuit 18 de production du polynôme d'emplacements d'effacements produit le polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produits par le circuit 17 de production des coefficients d'emplacements d'effacements, et le transfère au circuit 19 de formation du polynôme de syndromes modifiés. Le circuit 19 de production du polynôme de syndromes modifiés produit le polynôme de syndromes modifiés en multipliant le polynôme de syndromes produit par le circuit 11 de production du polynôme de syndromes par le polynôme d'emplacements d'effacements produit par le circuit 18 de production du polynôme d'emplacements d'effacements, et l'envoie au
circuit 12 de calcul de l'algorithme euclidien.
Le circuit 12 de calcul de l'algorithme euclidien
calcule le polynôme d'emplacements d'erreurs et d'efface-
ments p(x) et le polynôme de valeurs d'erreurs et d'efface-
ments n(x) en exécutant le calcul de l'algorithme euclidien en utilisant le polynôme de syndromes modifiés délivré par le circuit 19 de production du polynôme de syndromes modifiés. Dans ce cas, il comprend le degré du polynôme d'emplacements d'erreurs et d'effacement p(x) à celui du polynôme de valeurs d'erreurs et d'effacement n(x) et, sauf si l'on a degn<degp, il délivre le mot reçu sans correction avec une indication de détection d'erreur. D'autre part, si la condition est valable, le circuit de recherche selon Chien 13 calcule les emplacements d'erreurs et les valeurs d'erreurs à partir du polynôme d'emplacements d'erreurs et d'effacements p(x) et du polynôme de valeurs d'erreurs et d'effacements n(x), et les envoie au circuit 15 de mémorisation des circuits des résultats calculés, pour
qu'ils soient mémorisés.
Si le nombre d'erreurs détecté par le circuit de recherche selon Chien 13 est égal au degré du polynôme d'emplacements d'erreurs et d'effacements p(x), le circuit de correction d'erreurs 16, qui lit les emplacements d'erreurs et les valeurs d'erreurs qui ont été calculées par le circuit de recherche selon Chien 13 et ont été mémorisées par le circuit 15 de mémorisation des résultats calculés, corrige des erreurs des symboles du mot reçu mémorisé dans le circuit 14 de mémorisation des mots reçus, en soustrayant des symboles aux emplacements des valeurs d'erreurs correspondant aux emplacements des erreurs et délivre le mot reçu corrigé. D'autre part, sauf si le nombre d'erreurs détecté est égal au degré du polynôme d'emplacements d'erreurs et d'effacements p(x), le mot reçu mémorisé dans le circuit 14 de mémorisation des mots reçus est délivré sans correction avec une indication de la
détection d'erreurs.
Par conséquent, la présente forme de réalisation
12 présente l'avantage d'exécuter la correction d'effa-
cements et d'erreurs d'un code RS à une seule extension au moyen d'un seul calcul de l'algorithme euclidien et de faciliter la décision déterminant si une erreur est apparue dans le composant étendu ou non, par comparaison du degré du polynôme d'emplacements d'erreurs et d'effacements à celui du polynôme de valeurs d'erreurs et d'effacements, détecté par le calcul de l'algorithme euclidien. En outre, il présente l'avantage de réduire le coût étant donné que le dispositif de correction d'erreurs du code RS à une seule extension conforme à la présente invention peut être constitué avec une amélioration mineure du dispositif
classique de correction d'erreurs du code RS.
TREIZIEME MODE DE MISE EN OEUVRE
Ci-après, on va décrire comme treizième mode de mise en oeuvre un procédé de correction d'erreurs à code RS à double extension, en utilisant un algorithme de Berlekamp-Massey. Ici, on va expliquer la présente forme de réalisation 13 en utilisant un code RS à double extension, possédant une longueur de code n, un nombre de symboles d'informations k et une distance minimale d=n-k+1=2t+1, t
étant un entier positif.
La figure 22 est un organigramme illustrant une procédure de traitement d'un procédé de correction d'erreurs d'un code RS à double extension. Sur la figure 22, ST31 désigne un pas de production de syndromes servant à calculer les syndromes à partir d'un mot reçu; et ST32 désigne un procédé de calcul basé sur l'algorithme de Berlekamp- Massey et servant à calculer séquentiellement un polynôme d'emplacements d'erreurs en exécutant l'algorithme de Berlekamp-Massey moyennant l'utilisation des syndromes calculés lors du pas ST31 de production de syndromes, et en fixant si on utilise ou non les syndromes incluant une information d'erreurs dans la seconde composant étendu en fonction de la valeur de la longueur formelle L du registre
à décalage.
ST33 désigne un pas de recherche selon Chien pour le calcul des racines (emplacement d'erreurs) du polynôme d'emplacements d'erreurs par exécution de la recherche selon Chien sur le polynôme d'emplacements d'erreurs calculé lors du pas ST32 de calcul utilisant l'algorithme de Berlekamp-Massey. ST34 désigne un pas de test servant à prendre une décision indiquant si le nombre d'emplacements d'erreurs obtenus lors du pas de recherche de Chien est approprié ou non; et ST35 désigne un pas de correction d'erreurs servant à corriger des erreurs du mot reçu au moyen du calcul de valeurs d'erreurs en utilisant le polynôme de syndromes produit sur la base de syndromes calculés lors du pas ST31 de production de syndromes, si le nombre d'emplacements d'erreurs trouvé lors du pas de
recherche selon Chien ST33 est approprié.
Ci-après on va décrire les opérations.
Dans la description qui va suivre, on suppose
qu'un mot reçu R = (rn_2, rn_3,..., r0, r_1) a été reçu.
Tout d'abord on calcule un syndrome S=(S0, S1, --..., S2t_2 S2t_1) à partir du mot reçu arrivant en utilisant la relation (25) décrite précédemment, dans laquelle H2 est
une matrice de parité fournie par l'expression (24).
La figure 23 est un organigramme illustrant des procédures concrètes du pas ST32 de calcul de l'algorithme de Berlekamp-Massey. On va maintenant décrire l'algorithme
de Berlekamp-Massey en référence à la figure 23.
Comme cela est représenté sur la figure 23, des réglages initiaux sont exécutés lors du pas ST310: une variable r pour le comptage du nombre de pas est réglée sur un; une valeur initiale du polynôme d'emplacements d'erreurs a(0)(x) est réglé à un; la longueur formelle L du registre à décalage est réglée à zéro; et un polynôme supplémentaire T(0)(X) pour la mise à jour du polynôme
d'emplacements d'erreurs est réglé à un.
On suppose que les polynômes d'emplacements d'erreurs sont calculés séquentiellement et que le polynôme
d'emplacements d'erreurs o(r-1)(x) et le polynôme supplé-
mentaire T(r-1)(x) ont été obtenus à la fin d'un (r-1)-ème pas de calcul. Lors du r-ème pas de calcul, un écart Ar fourni par l'équation (35) est calculé en utilisant les coefficients de a(r-1)(x) lors du pas ST311. Lors du pas suivant ST312, une décision est prise pour savoir si l'écar: Ar est zéro ou non. Si l'écart Ar est zéro, le polynôme d'emplacements d'erreurs n'est pas mis à jour, et la valeur a(r-1)(x) obtenue lors du (r-1)-ème pas de calcul est adaptée en tant que r-ème polynôme d'emplacements d'erreurs lors du pas ST313. Si l'écart Ar n'est pas nul, un polynôme de correction q(x) est formé par l'expression (27) en utilisant un polynôme supplémentaire T(r-1)(x) lors
du pas ST314.
Ensuite, une décision est prise pour déterminer si la longueur formelle L du registre à décalage satisfait à une inégalité 2L<L ou non, lors du pas ST315. Si elle satisfait à cette inégalité, le polynôme supplémentaire p(r)(x) le polynôme d'emplacements d'erreurs a(r)(x) et la longueur formelle L du registre à décalage sont mis à jour respectivement lors du pas ST316 comme cela est représenté par les expressions (28)-(30). Sinon, la longueur formelle L du registre à décalage n'est pas mise à jour, le polynôme d'emplacements d'erreurs a(r)(x) est mis à jour en tant qu'expression (31) lors du pas ST317 et le polynôme supplémentaire T(r)(x) est mis à jour en tant qu'expression
(32) lors du pas ST313.
Ici, si le nombre d'erreurs est égal ou inférieur à t-l, l'écart A2t-. est calculé lors du r=(2t-1)-ème pas de calcul est nul, et la longueur formelle L du registre à décalage est égale ou inférieure à t-1. Cependant, si l'on a L<t-1, alors on a A2t-1<0 automatiquement. Ceci est
prouvé en utilisant la preuve par contradiction.
C'est-à-dire qu'une contradiction est établie à partir de l'hypothèse A2t-1 0. En suppose que la longueur formelle du registre à décalage lors des pas de calcul 2t-2 et 2t-1 est respectivement L2t_2 et L2t_1 (= L). A partir d'hypothèses précédentes A2t-1 0, on a L2t-l=max(L2t-2,
2t-l-L2t_2). Etant donné que le membre de droite est supé-
rieur à t-1, on obtient la conclusion consistant en ce que
L=L2t_1 >t-1. Ceci va à l'encontre de l'hypothèse L<t-1.
Par conséquent on a A2tl=0.
A partir des considérations précédentes, si la longueur formelle L du registre à décalage satisfait à une condition fournie par l'expression suivante (119), on considère qu'au moins t-1 erreurs sont apparues dans le code intérieur et dans le premier composant étendu, et le pas ST32 de calcul de l'algorithme de Berlekamp-Massey est
complété par substitution de o(x) o(2t-1)(x).
L < t - 1... (119) Si la condition de l'expression (119) n'est pas satisfaite, on suppose qu'au moins t heures sont apparues
dans le code intérieur et dans le premier composant étendu.
Dans ce cas, l'algorithme de Berlekamp-Massey est exécuté sur un pas supplémentaire en utilisant S2t_1, et le pas ST32 de calcul de l'algorithme de Berlekamp-Massey est
exécuté en substituant o(x) = 0(2t)(x).
De façon plus spécifique, une décision est prise pour déterminer si la variable r pour le comptage du nombre de pas est égale à 2t lors du pas ST318. Sauf si la variable r est égale à 2t, une décision est prise lors du pas ST319 pour déterminer si la variable r atteint 2t-l, et la longueur 1 formelle du registre à décalage satisfait à la condition indiquée par l'expression précédente (119). Il en résulte que si au moins l'une des deux conditions n'est pas satisfaite, la procédure du pas ST311 et suivants sont répétés avec incrémentation de la variable r lors du pas ST320. D'autre part, si la variable r a atteint 2t-1 et que la longueur formelle L du registre à décalage satisfait à la condition fournie par l'expression (119), le pas ST32 de calcul de l'algorithme de Berlekamp-Massey est exécuté après substitution de o(x)=s(2t-1)(x). Si la variable r devient égale à 2r lors du pas ST318, le pas ST32 de calcul de l'algorithme de Berlekamp-Massey est achevé après
substitution de o(x)=a2t(x).
Le polynôme d'emplacements d'erreurs o(x) calculé
lors du pas ST32 de calcul de l'algorithme de Berlekamp-
Massey satisfait à l'expression suivante <120). Le signe égal est valable lorsqu'aucune erreur n'est apparue dans le premier composant étendu. Si une erreur est étendue dans le premier composant étendu, le degré du polynôme d'emplacements d'erreurs o(x) est inférieur à la longueur
formelle L du registre à décalage.
d e g o < L... (120) Ensuite, la recherche selon Chien est exécuté lors du pas de recherche selon Chien ST33 sur le polynôme d'emplacements d'erreurs o(x) calculé lors du pas ST32 de calcul de l'algorithme de Berlekamp-Massey pour calculer les racines (emplacements d'erreurs) du polynôme d'emplacements d'erreurs o(x). Ensuite, une décision est prise lors du pas de test ST34 pour déterminer si le nombre de racines du polynôme d'emplacements d'erreurs o(x) détecté lors du pas de recherche selon Chien ST33 concorde avec le degré du polynôme d'emplacements d'erreurs o(x). Il en résulte que si le nombre des racines calculées concorde avec le degré du polynôme d'emplacements d'erreurs o(x), les valeurs d'erreurs sont calculées lors du pas de correction d'erreurs ST35, et les erreurs sont corrigées par soustraction des valeurs d'erreurs à partir des symboles aux emplacements d'erreurs dans le mot reçu. Par conséquent, le mot reçu corrigé est délivré. Sauf si le nombre des racines calculées concorde avec le degré du polynôme d'emplacements d'erreurs o(x), le mot reçu non corrigé est délivré conjointement avec le drapeau de détection d'erreurs, indiquant que seule la détection
d'erreurs est exécutée.
Lors du calcul des valeurs d'erreurs lors du pas de correction d'erreurs ST35, le polynôme des valeurs d'erreurs w(x) est calculé au moyen de l'équation suivante
(121).
w(x) a o (x) S (x) mod x2t-1... (121) Ici, les termes du polynôme de valeurs d'erreurs w(x) avec un degré L ou plus sont zéro en tenant compte de
la structure du polynôme d'emplacements d'erreurs o(x).
Ainsi, il suffit de calculer seulement des termes ayant un degré L-1 ou moins. Le calcul du polynôme de valeurs d'erreurs w(x) utilise le polynôme de syndromes S(x) fourni
par l'équation suivante (122).
S(x) = S0 + S1 x +... + S2t_2x2t-2... (122) Par conséquent les valeurs ej aux emplacements d'erreurs j correspondant aux racines a-J du polynôme d'emplacements d'erreurs peuvent être obtenues au moyen de l'équation suivante (123) comme dans le neuvième mode de
mise en oeuvre.
w(a-J) ej = ----------------... (123) o' (a-J) c-j Pour corriger les erreurs, qui sont apparues dans le code intérieur, on peut utiliser le polynôme de
syndromes, fourni par l'expression suivante (124).
S (x) = S! + S2 x +.--.. + S2t-2x2t3... (124) Alors, le polynôme de valeurs d'erreurs w(x) est
fourni par la relation suivante (125).
w(x) = o (x) S (x) mod x2t-2... (125) Dans ce cas, les valeurs d'erreurs ej aux emplacements d'erreurs j correspondant aux racines a-J du polynôme d'emplacements d'erreurs peuvent être obtenues au moyen de l'équation suivante (126) comme dans le neuvième
mode de mise en oeuvre.
w(af J) ej = -----------... (126)
C' (Q-J)
Ci-après, on va décrire le treizième mode de mise en oeuvre d'une manière plus détaillée, lorsqu'il est appliqué à un code RS à double extension dans l'espace de Galois GF(16), avec une longueur de code n=17, un nombre de symboles d'informations k=11 et une distance minimale égale à sept (t=3). On suppose en outre que le polynôme primitif est fourni par x4+x+20=0, et ces racines sont fournies par a, qui sont quinze racines primitives. La matrice de parité H2 du code RS à double extension est fournie par
l'expression suivante (127).
- 1 i... 1 1 1 0 "14 a13... a 1 0 o "2x14 a2x13.. a2 1 0 H2 =0 "3x14 a3x13... a3 1 0 0 4x14 "4x13.. a4 1 0 1 a5x14 a5x13.. 5 1 0 (127) On suppose ici que le mot reçu R=(r15, r14,..., r0, r_1) a été reçu, et que les erreurs a14 a6 et a5 sont apparues respectivement dans le premier composant étendu et les troisième et dixième composants. Dans ce cas, le syndrome S=(S0, S1, S2, S3, S4, S5) est calculé en tant que S0=a4, S1=a7, S2=a3, S3=,10, S4=a 14, et S5=a7 à partir de
l'équation (25).
Comme cela est représenté sur la figure 23, la valeur initiale du polynôme d'emplacements d'erreurs o(0)(x) est réglée à un, la longueur formelle L du registre à décalage est réglée à zéro, le polynôme supplémentaire T()(x) (pour la mise à jour du polynôme d'emplacements d'erreurs est réglé à un et la variable r pour le comptage du nombre de pas est réglée à un. Tout d'abord, le calcul de l'algorithme de Berlekamp-Massey est exécuté moyennant
l'utilisation de cinq syndromes S0, S1, S2, S3 et S4.
Pour r=l, la valeur de l'écart A1=a4 et on a L=r-L=1 étant donné que 2L=0<r=l. Le polynôme d'emplacements d'erreurs oa et le polynôme supplémentaire T1 sont obtenus au moyen des équations suivantes (128) et
(129).
a(1) (x) = a4 x + 1... (128) T(1) (x) = a11... (129) Alors, pour r=2, la valeur de l'écart est A2=al et on a Li étant donné que 2L=2 et r=2. Le polynôme d'emplacements d'erreurs a2 et le polynôme supplémentaire T2 sont obtenus au moyen des équations suivantes (130) et
(131).
a(2) (x) = a3 x + 1... (130) T(2) (x) = al1x... (131) Ensuite, pour r=3, la valeur de l'écart est A3=a12 et on a L=r-L=2 étant donné que 2L=2<r=3. Le polynôme d'emplacements d'erreurs 0(3) et le polynôme supplémentaire T(2) sont obtenus au moyen des équations
suivantes (132) et (133).
a(3) (x) a8 x2 + a3 x + 1... (132) 7(3) (x) = a6 x + a3... (133) Ensuite pour r=4, la valeur de l'écart est A4=a9 et on a L=2 étant donné que l'on a 2L=4 et r=4. Le polynôme d'emplacements d'erreurs a4 et le polynôme supplémentaire T(4) sont obtenus au moyen des équations suivantes (134) et
(135).
a(4) (x) = a2 x2 + a10x + 1... (134) T(4) (x) = a6 x2 + "3 x... (135) Ensuite, pour r=5, la valeur de l'écart est A5=a14 et l'on a L=r-L=3 étant donné que 2L=4<r=5. Le polynôme d'emplacements d'erreurs a5 et le polynôme supplémentaire T(5! sont obtenus au moyen des équations
suivantes (136) et (137).
a(5) (x) = a5 x3 + a10x + 1... (136) T(5) (X) = a3 x2 + a11 x + a... (137) Par ailleurs pour r=5, étant donné que l'on a L=3>t-l=2, le calcul de l'algorithme de Berlekamp-Massey
est exécuté une fois de plus après l'incrémentation de r.
Lors du pas correspondant à r=6, la valeur de
l'écart est A6=a2, et on a L=3 étant donné que 2L=6 et r=6.
Le polynôme d'emplacements d'erreurs a6 et le polynôme supplémentaire T6 sont obtenus au moyen des relations suivantes (138) et (139). a(6) (x) = "13 x2 + al2x + 1... (138) T(6) (x) = c3 x2 + all x2 + x... (139) Etant donné que o(6)(x) peut être factorisé sous la forme a(6)(x) = ("3x+l) (a10x+l), on obtient les racines "-3 et a-10, ce qui indique que les erreurs sont apparues dans les troisième et dixième composants. En outre, bien que le degré du polynôme d'emplacements d'erreurs est égal à deux, étant donné que la longueur formelle L du registre à décalage est trois, on trouve qu'une erreur est apparue
*dans le premier composant étendu.
Ensuite, le polynôme de syndromes est fixé sous
la forme de l'expression suivante (140).
S(x) = S1 + S2 x + S2 x2 + S2 x3 = "7 + a3 x + a10x2 + al4x3... (140) Ensuite le polynôme de valeurs d'erreurs est calculé au moyen de l'équation suivante (141) en utilisant
le polynôme de syndromes S(x).
w(x) a (x) S (x) mod x4 = a4 + a1S + 1... (141) Par conséquent, les valeurs d'erreurs e3 et e10 au niveau des troisième et dixième composants sont obtenues
au moyen des équations suivantes (142) et (143).
(=-3) e3 ----------à= a5... (142) a' (a-3) W(a-10 elo0 =à----- = 5... (143) o' (a-10) Comme cela a été décrit précédemment, contrairement au dispositif classique de correction d'erreur d'un code RS à double extension en utilisant l'algorithme de Berlekamp-Massey, dans lequel les calculs de l'algorithme de Berlekamp-Massey doivent être exécutés deuxfois dans le pire des cas, ce qui pose un problème de retard de décodage, le procédé de correction d'erreurs du code RS à double extension dans le présent treizième mode de mise en oeuvre présente l'avantage d'une exécution des traitements à l'aide d'un seul calcul de l'algorithme de Berlekamp-Massey, et de faciliter la décision concernant le fait qu'une erreur est apparue ou non dans le premier composant étendu, au moyen d'une simple comparaison du degré du polynôme d'emplacements d'erreurs détecté par le calcul de l'algorithme de Berlekamp-Massey, avec la
longueur formelle L du registre à décalage.
QUATORZIEME MODE DE MISE EN OEUVRE
Bien que dans le treizième mode de mise en oeuvre précédent, on a décrit le procédé de correction d'erreurs du code RS à double extension, qui met en oeuvre la correction d'erreurs du code RS à double extension au moyen de l'algorithme de Berlekamp-Massey, on peut également appliquer un procédé de correction d'erreurs du code RS à
double extension, qui met en oeuvre la correction d'efface-
ments et d'erreurs du code RS à double extension. On va maintenant décrire un tel quatorzième mode de mise en oeuvre conforme à la présente invention en commençant par le principe du procédé de correction d'effacements et d'erreurs du code RS à double extension. Ici, on va expliquer le présent quatorzième mode de mise en oeuvre en utilisant un code RS à double extension, possédant une longueur de code n, un nombre de symboles d'informations k et une distance minimale d=n-k+1=2t+1, t étant un entier positif, que l'on a décrit en référence à la technique classique. La figure 24 est un organigramme illustrant une procédure de traitement d'un procédé de correction d'erreurs d'un code RS à double extension associé au quatorzième mode de mise en oeuvre conformément à la présente invention, dans lequel des points identiques à ceux du treizième mode de mise en oeuvre sont désignés par les mêmes chiffres de référence que sur la figure 22, et on
ne donnera pas ici leur description. Sur la figure 24, le
pas ST36 désigne un pas de production de polynômes d'emplacements d'effacements consistant à produire des coefficients d'emplacements d'effacements à partir des drapeaux d'effacements accompagnant le mot reçu, et à calculer le polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements. Le pas S32 de calcul de l'algorithme de Berlekamp-Massey de la présente forme de réalisation diffère de sa contre-partie du treizième mode de mise en oeuvre, désigné par le même chiffre de référence sur la figure 22, en ce qu'il calcule séquentiellement les polynômes d'emplacements d'erreurs par un réglage du polynôme d'emplacements d'erreurs calculé lors du pas ST36 de production du polynôme d'emplacements d'erreurs, en tant que valeur initiale, par exécution de l'algorithme de Berlekamp-Massey en utilisant les syr.dromes calcules lors du pas ST31 de production des syndromes et par commande, conformément à la valeur de la longueur formelle du registre à décalage, du fait qu'on utilise ou non le syndrome incluant l'information d'erreurs sur le
second composant étendu.
Ci-après, on va décrire le fonctionnement de la
présente quatorzième forme de mise en oeuvre.
Dans la description qui va suivre, on suppose
qu'un mot reçu R=(rn_2, rn_3,...,. r0, r_1) a été reçu.
Tout d'abord, un syndrome S=(S0, Sl,..., S2t-2, S2t-1) est calculé lors du pas ST31 de production de syndromes en utilisant l'équation (25), dans laquelle H2 est la matrice
de parité fournie par l'expression (24).
Ici, on suppose que M est un ensemble de symboles intérieurs, qui sont fixés comme étant des effacements par des drapeaux d'effacement accompagnant le mot reçu, et les
éléments de l'ensemble M sont m[k], avec k=O, 1,..., h-1.
En outre on suppose que L est un ensemble d'erreurs aléatoires autres que les effacements, et les éléments de l'ensemble L sont l[k], avec k = 0, 1,..., s-1. On va maintenant décrire le procédé pour corriger les effacements
et les erreurs aléatoires dans l'hypothèse 2s+h<2t.
De façon plus spécifique, avec la production de coefficients d'emplacements d'effacements am[k] à partir
des éléments m[k] de l'ensemble M d'emplacements d'efface-
ments, qui ont été fixés à partir des drapeaux d'efface-
ments accompagnant le mot reçu, on forme un polynôme fourni par l'expression suivante (144), qui est désigné comme étant un polynôme d'emplacements d'effacements, en utilisant les coefficients d'emplacements d'effacements "m(k) A (x) = (1 + am[O]x) (1 + am[l]x)... (1 + am[Eh-1] x) (144) Ensuite, lors du pas ST32 de calcul de l'algorithme de Berlekamp-Massey, après réglage du polynôme d'emplacements d'effacements A(x) en tant que valeur initiale, on exécute le calcul de l'algorithme de Berlekamp- Massey en utilisant les 2t-1 syndromes SO, S1, 25..., S2t_2, c'est-à- dire l'ensemble des syndromes à l'exception de S2t_1 parmi les 2t syndromss calculés à partir du mot reçu R. Par conséquent l'utilisation des 2t-1 syndromes permet de corriger h effacements et to=[2t-h-1]/2 erreurs aléatoires. La figure 25 est un organigramme illustrant des procédures concrètes du pas ST32 de calcul
de l'algorithme de Berlekamp-Massey.
Comme cela est représenté sur la figure 25, des réglages initiaux sont exécutés lors du pas ST330: une variable r servant à compter le nombre de pas est réglée à h+l; une valeur initiale du polynôme d'emplacements d'erreurs o(h)(x) est réglée à A(x); la longueur formelle L du registre à décalage est réglée à h; et un polynôme supplémentaire T(h)(x) pour la mise à jour du polynôme
d'emplacements d'erreurs est réglé à A(x).
On suppose que les polynômes d'emplacements d'erreurs sont calculés sàquentiellement, et que le polynôme d'emplacements d'erreurs c(r-1)(x) et le polynôme
supplementaire c(r-l)(x) ont été obtenus à la fin d'un (r-
l)-eme oas de calcul. Lors d'un r-ème pas de calcul, un écart Ar fourni par l'équation (55) est calculé en
utilisant les coefficients de o(r-1)(x) lors du pas ST331.
L Ar = X aj(r-l)Srj-j... (145) j=0 Lors du pas suivant ST332, une décision est prise pour savoir si l'écart Ar est égal à zéro ou non. Si l'écart Ar est zéro, le polynôme d'emplacements d'erreurs a(x) n'est pas mis à jour et le polynôme d'emplacements d'erreurs obtenu lors du (r-1)-ème pas de calcul est adopté en tant que r-ème polynôme d'emplacements d'erreurs lors du pas ST333. Si l'écart Ar n'est pas égal à zéro, un polynôme joint n(x) est formé par l'expression (27) moyennant l'utilisation du polynôme supplémentaire r(r-1)(x) lors du
pas ST34.
Ensuite, une décision est prise lors du pas ST335 pour déterminer si la longueur formelle L du registre à décalage satisfait ou non à une inégalité 2L<r+h. Si elle satisfait à cette inégalité. Le polynôme supplémentaire, le polynôme d'emplacements d'erreurs et la longueur formelle L du registre à décalage sont mis à jour chacun lors du pas
ST336, comme cela est représenté par les expressions (146)-
(148).
T(r) (x) <- Ar-1 o(r-l) (x)... (146) (r) (x) <- q (x)... (147) L <- r - L + h... (148) Si l'inégalité n'est pas satisfaite, la longueur formelle L du registre à décalage n'est pas mise à jour, le polynôme d'emplacements d'erreurs est mis à jour en tant qu'expression (149) lors du pas ST337, et un polynôme supplémentaire est mis à jour en tant qu'expression (150)
lors du pas ST333.
a(r) (x) <- q (x)... (].49) r(r) (x) <- x T(r-1) (x)... (150) Ici, si le nombre d'erreurs aléatoires est to ou moins, la longueur formelle L du registre à décalage calculée après le r(=2t-1)-ème pas de calcul satisfait à la
condition fournie par l'expression suivante (151).
L < h + to... (151) Par conséquent, si la longueur formelle L du
registre à décalage satisfait à l'expression (151), on sup-
pose que h effacements et to ou moins erreurs aléatoires
sont apparues dans le code intérieur et le premier compo-
sant étendu, et le pas ST32 de calcul de l'algorithme de Berlekamp- Massey est exécuté en introduisant a(x)=a(2t
1)(x).
Si la condition de l'expression précédente (151) n'est pas satisfaite, on suppose que t0+l erreurs aléatoires ou plus sont apparues dans le code intérieur et le premier composant étendu. Dans ce cas, l'algorithme de Berlekamp-Massey est exécuté sur plus d'un pas en utilisant S2tl, et l'étape ST32 de calcul de l'algorithme de
Berlekamp-Massey est exécuté en substituant o(x)=0(2t)(x).
De façon plus spécifique, une décision est prise pour savoir si la variable r pour le comptage du nombre de pas a atteint 2t ou non lors du pas ST338. Si la variable r n'est pas égale à 2t, une décision est prise lors du pas ST339 pour déterminer si la variable r atteint 2t-1 et si la longueur formelle L du registre à décalage satisfait à la condition fournie par l'expression précédente (151). Il en résulte que si au moins l'une des deux conditions n'est pas satisfaite, les traitements lors du pas ST331 et ultérieurs sont réitérés avec incrémentation de la variable r lors du pas ST340. D'autre part, si la variable r atteint 2t-1 et si la longueur formelle L du registre à décalage satisfait à la condition fournie par l'expression précédente (151), le pas ST32 de calcul de l'algorithme de Berlekamp-Massey est exécuté après substitution de a(x)=a(2t- 1)(x). Si la variable r atteint 2t lors du pas
ST338, le pas ST32 de calcul de l'algorithme de Berlekamp-
Massey est exécuté après substitution de a(x)=o2t(x).
Le polynôme d'emplacements d'erreurs a(x) et la longueur formelle L du registre à décalage calculée dans le pas ST32 de l'algorithme de Berlekamp-Massey satisfait à la condition fournie par l'expression suivante (152). Le signe égal est valable lorsqu'aucune erreur n'est apparue dans le premier composant étendu. Si une erreur est apparue dans le premier composant étendu, le degré du polynôme d'emplacements d'erreurs a(x) est inférieur à la longueur
formelle L du registre à décalage.
d e g a < L... (152) Ensuite, la recherche selon Chien est exécutée lors de l'étape de recherche selon Chien ST153 dans le polynôme d'emplacements d'erreurs a(x) calculé dans le pas ST32 de calcul de l'algorithme de Berlekamp-Massey pour calculer les racines (emplacements d'erreurs) du polynôme d'emplacements d'erreurs a(x). Ensuite, une décision est prise lors du pas de test ST34 pour déterminer si le nombre de racines du polynôme d'emplacements d'erreurs a(x) détecté lors de l'étape de recherche selon Chien ST33 concorde avec le degré du polynôme d'emplacements d'erreurs a(x). Il en résulte que si le nombre des racines calculées concorde avec le degré du polynôme d'emplacements d'erreurs a(x), les valeurs d'erreurs sont calculées lors du pas de correction d'erreurs ST35, et les erreurs sont corrigées par soustraction des valeurs d'erreurs provenant des symboles aux emplacements d'erreurs dans le mot reçu. Ainsi le mot reçu corrigé est délivré. Si le nombre des racines calculées ne concorde pas avec le degré du polynôme d'emplacements d'erreurs a(x), le mot reçu non corrigé est délivré conjointement avec le drapeau de détection d'erreurs indiquant que seule la détection d'erreurs a été exécutée. Lors du calcul des valeurs d'erreurs lors du pas de correction d'erreurs ST35, le polynôme de valeurs d'erreurs w(x) est calculé en utilisant tout d'abord le polynôme de syndromes. Ici, le polynôme de syndromes S(x) est réglé ci-après en fonction de la valeur de la variable r pour le comptage du nombre de pas. De façon spécifique, le polynôme de syndromes est réglé par l'équation suivante (153) lorsque la variable r est égale à 2t, et au moyen de
l'équation (154) lorsque la variable r est égale à 2t-1.
Ceci est dû au fait que si une erreur est apparue dans le second composant étendu, l'équation utilisant S2t_1 ne fournit pas le polynôme de valeurs d'erreurs vrai, et par
conséquent son utilisation doit être évitée.
S(x) = SO + S1 x +... + S2t-lx2t-1... (153) S(x) = S0 + S1 x +... + S2t2x2t-2... (154) Le polynôme de valeurs d'erreurs w(x) est calculé au moyen de l'équation suivante (155) lorsque l'équation précédente (153) est utilisée, alors que le polynôme de valeurs d'erreurs w(x) est calculé au moyen de l'équation
suivante (156) lorsque l'équation (154) est utilisée.
w(x) = a(x) S (x) mod x2t... (155) w(x) = o(x) S (x) mod x2t-1... (156)
Par conséquent la valeur d'erreurs ej à l'empla-
cement d'effacement ou d'erreur j peut être obtenue au moyen de l'équation suivante (157) comme dans le neuvième
mode de mise en oeuvre.
w(a-J) ej = -... (157) a' (a-3) Si-après, on va décrire le quatorzième mode de mise en oeuvre d'une manière plus détaillée lorsqu'il est appliqué à un code RS doublement étendu dans l'espace de Galois GF(16), avec une longueur de code n=17, un nombre de symboles d'informations k=11 et une distance minimale égale à sept (t=3). En outre, on suppose que le polynôme primitif et la matrice de parité sont identiques à ceux du treizième
mode de mise en oeuvre précédent.
On suppose ici que le mot reçu R=(r15, r14,..., ro, r_1) a été reçu, et que les erreurs a8, alO, a7 et a11 sont apparues respectivement dans le premier composant étendu et dans les cinquième, septième et neuvième composants, avec des drapeaux d'effacement apparus dans les cinquième et septième composants. Dans ce cas, le syndrome S=(S0, Si, S2, S3, S4, S5) est calculé sous la forme SO=ail, S1=all, S2=a4, S3=a 12, S4=a4, et S5=a10 à partir de
l'équadion (25).
En outre, des coefficients d'emplacements d'effacements a5 et a7 sont formés à partir des emplacements d'effacements 5 et 7 et en utilisant ces coefficients d'emplacements d'effacements, le polynôme d'emplacements
d'effacements A(x) est formé en étant désigné par l'équa-
tion suivante (158).
A (x) = (1 + a5 x) (1 + a5 x) = a12x2 + a13x + 1... (158) Comme cela est représenté sur la figure 25, la valeur initiale de la variable r pour le comptage du nombre de pas est réglée à h+1=3, le polynôme d'emplacements d'erreurs a2(x) est réglé sur A(x), la longueur formelle L du registre à décalage est réglée à h=2 et le polynôme supplémentaire T2(x) pour la mise à jour du polynôme d'emplacements d'erreurs est réglé à A(x). En outre, tO est réglé à to=[(5-h)/2]=1. Tout d'abord, on effectue le calcul de l'algorithme de Berlekamp-Massey en utilisant cinq
syndromes S0, Sl, S2, S3 et S4.
Pour r=3, la valeur de l'écart est A3=a et l'on a L=r-L+h=3 étant donné que l'on a 2L=4 < r+h=5. Le polynôme d'emplacements d'erreurs o(3) et le polynôme supplémentaire T(3) sont fournis par les équations suivantes (159) et
(160).
0(3) (x) = a13x3 + a5 x2 + a12x + 1... (159) T(3) (x) = a11x2 + x12x + a14... (160) Ensuite, pour r=4, la valeur de l'écart est A=4=9 et on a L=3 étant donné que 2L=6 et r+h=6. Le polynôme d'emplacements d'erreurs o4 et le polynôme supplémentaire T4 sont fournis par les équations suivantes
(161) et (162).
(4) (x) = aT x3 + a9 x2 + a9 x + 1... (161) T(4) (x) = a11x3 + a12x2 + a14x... (162) Ensuite pour r=5, la valeur de l'écart est A5=a9 et on a L=4 étant donné que l'on a 2L=6<r+h=7. Le polynôme d'emplacements d'erreurs a5 et le polynôme supplémentaire T5
sont fournis par les équations suivantes (163) et (164).
a(5) (x) = a5 x4 + a10x3 + a12 x2 + a9 x + 1... (163) T(5) (x) = a13x3 + x3 + x2 + x + a6... (164) Par ailleurs, pour r=5, étant donné que l'on a L=4>h+t0=3, le calcul de l'algorithme de Berlekamp-Massey
est exécuté une fois de plus après incrémentation de r.
Ensuite, lors de ce pas r=4, la valeur de l'écart est A6=a7 et on a L=4 étant donné que l'on a 2L=8 et r+h=8. Le polynôme d'emplacements d'erreurs 0(6) et le polynôme supplémentaire T(6) sont fournis par les équations suivantes
(165) et (166).
0(6) (x) = a6 x3 + a2 x2 + a10x + 1... (165) T(6) (x) = a13x4 + x3 + x2 + a6 x... (166) Etant donné que a'6)(x) peut être factorisé sous la forme (a5x+1)(a7x+l)(a9x+1), on obtient les racines a-5, "-7 et a-9 ce qui indique que les erreurs aléatoires sont apparues au niveau du neuvième composant en plus des cinquième et septième composants. En outre, bien que le degré du polynôme d'emplacements d'erreurs soit égal à trois, étant donné que la longueur formelle L du registre à décalage est quatre, on trouve qu'une erreur est apparue
dans le premier composant étendu.
Ensuite, étant donné que la variable r servant à compter le nombre de pas est égale à six, le polynôme de syndromes est réglé sous la forme de l'équation suivante (167), et le polynôme de valeurs d'erreurs w(x) est calculé
au moyen de la relation (155).
S (x) = SO + SI x + S2 x2 + S3 x3 + S4 x4 + S5 x5 = ai0 + a11x + a4 x2 + a12x3 + a4 x4 + a10x5
15... (167)
En tant que résultat on obtient w(x)=a10+a3x + a14x3. Par conséquent les valeurs d'effacements e5, e7 et e9 dans les cinquième, septième et neuvième composants sont
obtenus au moyen des équations suivantes (168)-(170).
w(a-5) e5 =-------= a10... (168) a' (a5) a-5 W(") e7 à---_ --=-- a7... (169) e7 -= a' (a-7) a-7 w(a-9) e àà= ------------= a11... (170) e9 -9 a' (a-9) a-9 Par conséquent, le quatorzième présent mode de mise en oeuvre présente l'avantage d'exécuter la correction d'effacements et d'erreurs du code RS doublement étendu au moyen d'un seul calcul d'algorithme de Berlekamp- Massey et de faciliter la décision indiquant si une erreur est apparue ou non dans le premier composant étendu, au moyen
d'une simple comparaison du degré du polynôme d'emplace-
ments d'erreurs détecté au moyen du calcul de l'algorithme de BerlekampMassey avec la longueur formelle L du registre
à décalage.
QUINZIEME MODE DE MISE EN OEUVRE
Bien que les treizième et quatorzième modes de mise en oeuvre précédents aient décrit le procédé de correction d'erreurs du code RS à double extension, en utilisant l'algorithme de Berlekamp-Massey, il est possible de réaliser un dispositif de correction d'erreurs basé sur ce procédé. La figure 26 est un schéma-bloc représentant un dispositif de correction d'erreurs du code RS à double extension associé à un quinzième mode de mise en oeuvre conformément à la présente invention. Sur la figure 26, le chiffre de référence 20 désigne un circuit de production de syndromes pour produire des syndromes à partir d'un mot reçu; le chiffre de référence 21 désigne un circuit de calcul de l'algorithme de Berlekamp-Massey pour le calcul séquentiel des polynômes d'emplacements d'erreurs par exécution de l'algorithme de Berlekamp- Massey moyennant l'utilisation des syndromes calculés au moyen du circuit 20 de production de syndromes et au moyen d'une commande en fonction de la longueur formelle du registre à décalage pour indiquer qu'il faut utiliser le syndrome incluant
l'information d'erreurs sur le second composant étendu.
Le chiffre de référence 22 désigne un circuit de recherche selon Chien pour calculer les emplacements d'erreurs en exécutant la recherche selon Chien sur le polynôme d'emplacements d'erreurs calculé au moyen du circuit 21 de calcul de l'algorithme de Berlekamp-Massey; et le chiffre de référence 23 désigne un circuit de production de valeurs d'erreurs pour prendre une décision indiquant si le nombre des emplacements d'erreurs est approprié ou non et pour calculer, si cela est approprié, des valeurs d'erreurs en utilisant le polynôme de syndromes produit sur ia base des syndromes calculés au moyen du circuit 20 de production de syndromes. Le chiffre de référence 24 désigne un circuit de mémorisation de mots servant à mémoriser les mots arrivants reçus; et le chiffre de référence 25 désigne un circuit de mémorisation des résultats calculés pour mémoriser les emplacements d'erreurs calculés au moyen du circuit de recherche selon Chien 22 et les valeurs d'erreurs calculées par le circuit de production de valeurs d'erreurs 23. Le chiffre de référence 26 désigne un circuit de correction d'erreurs pour corriger les mots reçus mémorisés dans le circuit 24 de mémorisation des mots reçus, sur la base des emplacements d'erreurs et des valeurs d'erreurs mémorisés
dans le circuit 25 de mémorisation des résultats calculés.
Ci-après, on va décrire le fonctionnement dans le
cas du quinzième présent mode de mise en oeuvre.
La description qui va suivre est donnée en
prenant un exemple d'un code RS à double extension ayant une longueur de code n, un nombre k de symboles d'informations et une distance minimale d=n-k+1=2t+1, t étant un entier positif, dans l'hypothèse o un mot reçu
R=(rn-2, rn-3,..., r0, rl) a été reçu.
Tout d'abord, un mot arrivant reçu R est envoyé au circuit 20 de production de syndrcmes et à un circuit 24 de mémorisation du mot reçu. Lors de la réception du mot reçu R, le circuiz 20 de production de syndromes produit le syndrome S=(S0, S1,..., S2t-2, S2t-1) et l'envoie au
circuit 21 de calcul de l'algorithme de Berlekamp-Massey.
Le circuit 24 de mémorisation des mots reçus mémorise le mot reçu arrivant R. Le circuit 21 de calcul de l'algorithme de Berlekamp-Massey effectue le calcul de l'algorithme de Berlekamp-Massey au moyen de 2t-1 pas de calcul en utilisant les syndromes S0, Sl,..., S2t-2 à l'exception de S2t_1 parmi le syndrome S envoyé par le circuit 20 de production de syndromes. Une fois achevés les 2t-1 pas de calcul, si la longueur formelle L du registre à décalage
est t-1 ou moins, le calcul de l'algorithme de Berlekamp-
Massey est exécuté avec délivrance, à cet instant, du polynôme d'emplacements d'erreurs. Si la longueur formelle L du registre à décalage est t ou plus, le calcul de l'algorithme de Berlekamp- Massey est exécuté une fois de plus en utilisant le syndrome S2t_1, et le calcul de l'algorithme de Berlekamp-Massey est exécuté avec la délivrance, à cet instant, du polynôme d'emplacements
d'erreurs.
Le polynôme d'emplacements d'erreurs ainsi calculés par le circuit 21 de calcul de l'algorithme de Berlekamp-Massey est envoyé au circuit de recherche selon Chien 22, qui calcule les racines du polynôme d'emplacements d'erreurs, c'est-a-dire les emplacements d'erreurs en effectuant la recherche selon Chien dans le polynôme d'emplacements d'erreurs. Les racines du polynôme d'emplacements d'erreurs calculé par le circuit de recherche selon Chien 22 sont mémorisées dans le circuit 25 de mémorisation des résultats et également délivrées au circuit 23 de production de valeurs d'erreurs. Si le nombre de racines détectées par la recherche selon Chien est égal au degré du polynôme d'emplacements d'erreurs, le circuit 23 de production de valeurs d'erreurs calcule les amplitudes des erreurs qui sont apparues aux emplacements d'erreurs, et le circuit 25 de mémorisation des résultats
calculés mémorise les résultats.
Le circuit 26 de correction d'erreurs corrige, si cela est possible, les erreurs des symboles du mot reçu R mémorisé dans le circuit 24 de mémorisation des mots reçus, par soustraction des symboles au niveau des emplacements d'erreurs, des amplitudes d'erreurs correspondant aux emplacements d'erreurs sur la base du contenu mémorisé dans le circuit 25 de mémorisation des résultats calculés et délivre les résultats corrigés. D'autre part, s'il s'avère ne pas pouvoir être corrigé, le mot reçu R est délivré sans
correction avec un drapeau de détection d'erreurs.
Par conséquent, le présent quinzième mode de mise en oeuvre présente l'avantage consistant en ce qu'il exécute la correction d'erreurs d'un code RS à double extension au moyen d'un simple calcul de l'algorithme de Berlekamp-Massey, et de réduire le coût étant donné que le dispositif de correction d'erreurs du code RS à double extension conforme à la présente invention peut être agencé avec plusieurs améliorations du dispositif classique de
correction d'erreurs du code RS à double extension.
SEIZIEME MODE DE MISE EN OEUVRE
Bien que le quinzième mode de mise en oeuvre précédent concernait le dispositif de correction d'erreurs du code RS doublement étendu pour l'exécution de la correction d'erreurs du code RS doublement étendu en utilisant l'algorithme de Berlekamp-Massey, il est également possible d'utiliser le dispositif de correction d'erreurs du code RS doublement étendu pour exécuter la correction d'effacements et d'erreurs du code RS doublement étendu. La figure 27 est un schéma-bloc représentant un dispositif de correction d'erreurs du code RS doublement étendu associé à un seizième mode de mise en oeuvre conformément à la présente invention. Sur la figure 27, le chiffre de référence 27 désigne un circuit de production de coefficient d'emplacements d'effacements servant à produire les coefficients d'emplacements d'effacements à partir du drapeau d'effacements accompagnant le mot reçu arrivant; et le chiffre de référence 28 désigne un circuit de production du polynôme d'emplacements d'effacements pour produire le polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produits par le circuit 27 de production des coefficients d'emplacements d'effacements. Bien que les autres parties correspondent à leurs contre-parties dans le cas du mode de mise en oeuvre 15, désignées par les mêmes chiffres de référence 26 sur la figure 26, le circuit 21 de calcul de l'algorithme de Berkeiamp-Massey diffère de sa contre-partie dans le quinzième mode de mise en oeuvre, qui est désignée par le même chiffre de référence sur la figure 26, en ce que le circuit 21 de calcul de l'algorithme de Berlekamp-Massey calcule séquentiellement le polynôme d'emplacements d'erreurs en exécutant l'algorithme de Berlekamp-Massey en utilisant le polynôme d'emplacements d'erreurs calculé au moyen du circuit 28 de production du polynôme d'emplacements d'effacements en tant que valeur initiale, et en commandant, en fonction de la valeur de la longueur formelle du registre à décalage, si on utilise ou non le syndrome incluant l'information d'erreur dans le second
composant étendu.
Ci-après, on va décrire le fonctionnement du
présent seizième mode de mise en oeuvre.
La description qui va suivre est donnée en
prenant à titre d'exemple un code RS doublement étendu ayant une longueur de code n, un nombre de symboles d'informations k et une distance minimale d=n-k+1=2t+1, t étant un entier positif, avec les hypothèses consistant en ce qu'un mot reçu R=(rn_2, rn_3,..., r0, r_1) a été reçu,
et que h effacements sont apparus dans le code intérieur.
En outre, on suppose que t0=[(2t-h-1)/2].
Tout d'abord un mot arrivant reçu R est délivré au circuit 20 de production de syndromes, au circuit 27 de production de coefficients d'emplacements d'effacements et à un circuit 24 de mémorisation des mots reçus. Lors de la réception des mots reçus R, le circuit 20 de production de syndromes produit le syndrome S=(S0, S1,..., S2t-2, S2tl), et l'envoie au circuit 21 de calcul de l'algorithme de Berlekamp- Massey. Le circuit 27 de production des coefficients d'emplacements d'effacements produit les coefficients d'emplacements d'effacements à partir des drapeaux d'effacement accompagnant le mot reçu R, et les envoie au circuit 28 de production du polynôme d'emplacements d'effacements. Le circuit 28 de production du polynôme d'emplacements ad'effacements produit le polynôme d'emplacements d'effacements à partir des coefficients d'emplacementsd'effacements et le transfère
au circuit 21 de calcul de l'algorithme de Berlekamp-
Massey. Le circuit 24 de mémorisation des mots reçus mémorise le mot arrivant reçu R. Le circuit 21 de calcul de l'algorithme de BerlekampMassey exécute le calcul de l'algorithme de Berlekamp-Massey au moyen de t-1 pas de calcul en utilisant les syndromes S0, Sl,..., S2t_2 à l'exception de S2tl dans le syndrome S délivré par le circuit 20 de production de syndromes. Une fois exécutés les 2t-1 pas de calcul, si la longueur formelle L du registre à décalage est h+t0 ou moins, le calcul de l'algorithme de Berlekamp-Massey est exécuté avec la délivrance simultanée du polynôme d'emplacements d'erreurs. Si la longueur formelle L du registre à décalage est h+t+l ou plus, le calcul de l'algorithme de Berlekamp-Massey est reproduit lors d'un pas supplémentaire en utilisant le syndrome S2t_1, et le calcul de l'algorithme de Berlekamp--Massey est exécuté avec la délivrance, à cet instant, du polynôme d'emplacements d'erreurs. Le polynôme d'emplacements d'erreurs ainsi calculé par le circuit 21 de calcul de l'algorithme de Berlekamp-Massey est envoyé au circuit de recherche selon Chien 22, qui calcule les racines du polynôme d'emplacements d'erreurs, c'est-à-dire les emplacements d'erreurs en appliquant la recherche selon Chien au polynôme d'emplacements d'erreurs. Les racines du polynôme d'emplacements d'erreurs calculées par le circuit de recherche selon Chien 22 sont mémorisées dans le circuit 25 de mémorisation des résultats calculés et sont envoyés
également au circuit 23 de production de valeurs d'erreurs.
Si le nombre des racines détectées par la recherche selon Chien est égal au degré du polynôme d'emplacements d'erreurs, le circuit 23 de production des valeurs d'erreurs calcule les amplitudes des erreurs qui sont apparues aux emplacements d'erreurs et le circuit 25 de
mémorisation des résultats calculés mémorise les résultats.
Le circuit 26 de correction d'erreurs corrige, si cela est possible, les erreurs des symboles du mot reçu R mémorisé dans le circuit 24 de mémorisation des mots reçus, en soustrayant des symboles situés aux emplacements d'erreurs, les amplitudes d'erreurs correspondant aux emplacements d'erreurs sur la base du contenu mémorisé dans le circuit 25 de mémorisation des résultats calculés et délivre les résultats corrigés. D'autre part, s'il s'avère ne pas pouvoir être corrigé, le mot reçu R est délivré sans
correction avec un drapeau de détection d'erreurs.
Par conséquent, le présent seizième mode de mise en oeuvre présente l'avantage de réaliser la correction d'effacements et d'erreurs d'un code RS doublement étendu
au moyen d'un seul calcul de l'algorithme de Berlekamp-
Massey, et de réduire le coût étant donné que le dispositif de correction d'erreurs du code RS doublement étendu conformément à la présente invention peut être constitué avec une amélioration mineure du dispositif classique de
correction d'erreurs du code RS doublement étendu.
DIX-SEPTIEME MODE DE MISE EN OEUVRE
Bien que les modes de mise en oeuvre précédents 13-16 décrivent la correction automatique du code RS doublement étendu moyennant l'utilisation de l'algorithme de Berlekamp-Massey, on peut également utiliser l'algorithme euclidien en estimant au préalable le nombre d'erreurs pour un code RS doublement étendu ayant une faible capacité de correction. On va maintenant décrire un tel dix-septième mode d'exécution conforme à la présente invention en utilisant à titre d'exemple un code RS doublement étendu dans l'espace de Galois GM(16) avec une longueur de code égale à 17, un nombre de symbole d'information égal à 11, une distance minimale égale à sept. On suppose que le polynôme primitif et la matrice de parité sont les mêmes que ceux utilisés dans le treizième mode de mise en oeuvre. On suppose en outre que le mot reçu R=(r15, r14,..., r0, rl) a été reçu, dans la
description donnée ci-après.
Tout d'abord, les syndromes S0, S1,..., S4, S5 sont calculés. Ensuite une matrice A fournie par l'équation suivante (171) est formée et son déterminant det est
calculé.
1O S2 S2
A = si S2 S3
S2 S3 S4... (171)
Si trois erreurs sont apparues dans le code intérieur et dans le premier composant étendu, le déterminant (DET) est prévu. On suppose alors que des erreurs ei, ej et ek sont apparus aux emplacements i, j et k, avec 0<i j, k<14, les syndromes étant donnés par
l'équation suivante (172).
= 5meJ+k Sm = ei aim + ek "km (m = 0, 1, 2,..., 4, 5)... (172) Par conséquent, la matrice A fourrie par l'équation (171) peut être convertie en l'équation suivante
(173).
1 i 2i 1 1 1 ej 0 0 1 ai. a21 A = ai _J a 2 0 e akj a2 21-i ak I oaaki: a2jk a2i a2jak 0 0 ek1 "2k (173)
Parmi les matrices du membre de droite de l'équa-
tion (173), la matrice située au milieu est régulière étant donné que c'est une matrice diagonale, et les matrices de gauche et de droite sont également régulières étant donné qu'il s'agit d'une matrice dite de Vandermonde. Par conséquent, le déterminant (DET) de la matrice A n'est pas nul. On suppose alors que des erreurs e_1, ei et ej sont apparues par exemple respectivement dans le premier composant étendu et aux emplacements i et j, avec 0<i, j<14. Dans ce cas, les syndromes sont fournis par les
équations suivantes (174) et (175).
S0 = ei +ej + e. +_1... (174) Sm = ei alm + ej ajlm (m = 1, 2,..., 4, 5).
(175)..DTD: Par conséquent, la matrice A fournie par l'équa-
tion (171) peut être convertie en l'équation suivante
(176).
11 1 e4 0 0 Ia i 2 A = ai _j 0 e 0 "2i a2j 0 0 0 ek1 0
20... (176)
Etant donné que l'ensemble des matrices du membre de droite de l'équation (176) sont régulières, le déterminant det de la matrice A n'est pas nul. Au contraire, si deux erreurs ou moins sont apparues dans le code intérieur et dans le premier composant étendu, le déterminant det est nul. Par exemple, si on a ek=0 dans l'équation (173), la matrice régulière au centre de l'équation (173) devient zéro et par conséquent la matrice
A n'est pas régulière.
Par conséquent, le nombre d'erreurs peut être estimé en utilisant le déterminant det de la matrice A. La figure 28 est un organigramme illustrant le procédé
d'erreurs du code RS doublement étendu associé au dix-
septième mode de mise en ceuvre, qui, en utilisant l'algorithme euclidien, exécute la correction d'erreurs du code RS doublement étendu en estimant le nombre d'erreurs pour le déterminant. Sur la figure 28, ST41 désigne un pas de production de syndromes pour le calcul des syndromes d'un mot reçu, à partir de ce dernier; et ST42 désigne un pas ST42 de calcul de déterminant det, servant à calculer le déterminant det servant à calculer le déterminant de la matrice formée en utilisant les syndromes calculés lors du pas ST41 de production de syndromes. ST43 désigne un pas de décision servant à prendre une décision indiquant si le déterminant calculé lors du pas ST42 de calcul du
déterminant det est nul ou non.
ST44a et ST44b désignent chacun un pas de calcul de l'algorithme euclidien servant à calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen de l'algorithme euclidien après réglage de valeurs initiales et d'une condition de fin pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs: ST44a est exécuté lorsqu'une décision est prise lors du pas de décision ST43, indiquant que le déterminant n'est pas nul, tandis que le pas ST44b est exécuté lorsqu'une décision est prise lors du pas de décision ST43, indiquant que le déterminant est nul. Les procédures d'opérations avec l'algorithme euclidien lors des pas ST44a et ST44b de calcul de l'algorithme euclidien sont analogues aux procédures classiques telles que représentées sur la figure 31. A partir de maintenant on désignera, afin de les distinguer, les pas ST44a et ST44b respectivement comme étant un premier pas de calcul de l'algorithme euclidien et un second pas de calcul de
l'algorithme euclidien.
ST45a désigne un premier pas de comparaison servant à comparer le degré du polynôme d'emplacements d'erreurs à celui du polynôme de valeurs d'erreurs calculé lors du premier pas de calcul de l'algorithme euclidien ST44a, ST45b désigne un second pas de comparaison servant à comparer le degré du polynôme d'emplacements d'erreurs à celui du polynôme de valeurs d'erreurs calculé dans le
second pas de calcul de l'algorithme euclidien ST44b.
ST46 désigne une étape de recherche selon Chien du calcul des racines du polynôme d'emplacements d'erreurs (emplacements d'erreurs) et de valeurs d'erreurs moyennant l'exécution de la recherche selon Chien sur le polynôme d'emplacements d'erreurs et sur le polynôme de valeurs d'erreurs lorsqu'une décision est prise lors du premier pas de comparaison ST45a indiquant que le degré du polynôme de valeurs d'erreurs est égal ou inférieur à celui du polynôme d'emplacements d'erreurs, ou lors du second pas de comparaison ST45b indiquant que le degré du polynôme de valeurs d'erreurs est inférieur à celui du polynôme d'emplacements d'erreurs. ST47 désigne un pas de test pour prendre une décision indiquant si le nombre de racines du polynôme d'emplacements d'erreurs (emplacements d'erreurs) obtenu lors du pas de recherche selon Chien ST46 est approprié ou non; et ST48 désigne un pas de correction d'erreurs servant à corriger des erreurs du mot reçu arrivant R sur la base des emplacements d'erreurs et des valeurs d'erreurs obtenues lors du pas de recherche selon Chien ST46, si le nombre des racines s'avère être approprié en tant que résultat de la décision prise lors du pas de
test ST47.
Ci-après on va décrire le fonctionnement intervenant dans le présent dix-septième mode de mise en oeuvre. Tout d'abord, les syndromes S, S1,..., S4, S5 sont calculés à partir du mot reçu arrivant R lors du pas ST41 de production de syndromes. Si l'ensemble des syndromes produits lors du pas ST41 de production de syndromes sont nuls, l'évaluation indique qu'il n'existe aucune erreur. S'il existe un syndrome non nul, le
déterminant det de la matrice A est calculé.
Ensuite, une décision est prise lors du pas de décision ST43 pour déterminer si le déterminant det est nul ou non. Si le déterminant det n'est pas nul, une estimation indique que des erreurs sont apparues dans crois symboles dans le code, la procédure passe au premier pas ST44a de calcul de l'algorithme euclidien, lors duquel l'algorithme euclidien est exécuté en utilisant les syndromes SO, S1, S4 et S5. De façon spécifique, le polynôme de syndromes est formé avec un réglage, en tant que terme constant, du syndrome SO incluant l'information d'erreurs concernant le premier composant étendu, et les valeurs initiales de l'algorithme euclidien sont réglées sous la
forme des équations suivantes (177) et (178).
R_l(X) = x6... (177) Ro (x) = S0 + Sl x + S2 x2 + S3 3 + S4 x4+ S5x5 (178) Ensuite, en produisant séquentiellement Ri tout en incrémentant i comme représenté sur la figure 31, le premier pas ST44a de calcul de l'algorithme euclidien est exécuté lorsque la valeur Ri satisfait l'expression
suivante (179).
d e g Ri < 3... (179) Une fois que le premier pas ST44a de calcul de l'algorithme euclidien est terminé, le degré du polynôme d'emplacements d'erreurs o(x) est comparé à celui du polynôme de valeurs d'erreurs w(x) lors du premier pas de comparaison ST45a de manière à prendre une décision indiquant si l'inégalité fournie par l'expression suivante
(180) est satisfaite ou non.
d e g o > d e g (o... (180)
Il en résulte que, si la condition de l'expres-
sion (180) est satisfaite, la procédure passe au pas de recherche selon Chien ST46. Si le signe égal est valable dans l'expression (180), on estime qu'une erreur est apparue dans le premier composant étendu. Lors du pas de recherche selon Chien ST46, la recherche selon Chien est exécutée sur le polynôme d'emplacements d'erreurs a(n) et sur le polynôme de valeurs d'erreurs w(x) pour calculer les racines du polynôme d'emplacements d'erreurs o(x) (emplacements d'erreurs) et les valeurs d'erreurs. Les valeurs d'erreurs peuvent être calculées au moyen de l'équation (123). Au contraire, si la condition n'est pas satisfaite, une décision est prise indiquant que les erreurs ne peuvent pas être corrigées, et la procédure est
arrêtée au niveau de la détection d'erreurs.
Si le déterminant det s'avère être zéro en tant que résultat de la décision prise lors du pas de décision ST43, une estimation est faite de ce que des erreurs sont apparues dans deux symboles ou moins du code intérieur, et le traitement passe au second pas ST44b de calcul de l'algorithme euclidien, lors duquel l'algorithme euclidien est mis en oeuvre en utilisant les syndromes S0, S1,..., S4 et S5. Dans ce cas, les valeurs initiales de l'algorithme euclidien sont réglées au moyen des équations
suivantes (181) et (182).
R_1 (x) = x4. . (181) Ro (x) = S1 + S2 x + S3 x2 + S4 x3... (182) Ensuite, en produisant séquentiellement Ri tout en incrémentant i comme représenté sur la figure 31, le second pas ST44b de calcul de l'algorithme euclidien est exécuté lorsque les valeurs Ri satisfont à l'expression
suivante (183).
d e g Ri < 2... (183) Une fois que le second pas ST44b de calcul de l'algorithme euclidien est terminé, le degré du polynôme d'emplacements d'erreurs o(x) est comparé à celui du polynôme de valeurs d'erreurs w(x) lors du second pas de comparaison ST45b de manière à prendre une décision indiquant si une inégalité fournie par l'expression
suivante (184) est satisfaite ou non.
d e g a > d e g w... (184) Il en résulte que si la condition de l'équation (184) est satisfaite, la procédure passe au pas de recherche selon Chien ST46. Lors du pas de recherche selon Chien ST46, la recherche selon Chien est exécutée sur le polynôme d'emplacements d'erreurs a(x) et sur le polynôme de valeurs d'erreurs w(x) pour le calcul des racines du polynôme d'emplacements d'erreurs a(x) (emplacements d'erreurs) et les valeurs d'erreurs. Au contraire, si la condition n'est pas satisfaite, une décision est prise indiquant que les erreurs ne peuvent pas être corrigées, et
la procédure est arrêtée lors de la détection d'erreurs.
Une fois que les emplacements d'erreurs et les valeurs d'erreurs ont été calculés lors du pas de recherche selon Chien ST46, une décision est prise lors du pas de test ST47 indiquant si le nombre des racines obtenu est approprié ou non, c'est-à-dire si le nombre des emplacements d'erreurs est égal ou non au degré du polynôme d'emplacements d'erreurs a(x). S'ils concordent, les erreurs du mot reçu sont corrigées lors du pas de correction d'erreurs ST48 par soustraction des valeurs d'erreurs à partir des symboles aux emplacements d'erreurs correspondants, et le mot reçu corrigé est délivré. Si le nombre des emplacements d'erreurs diffère du degré du polynôme d'emplacements d'erreurs a(x), le mot reçu est délivré sans correction conjointement avec les drapeaux de détection d'erreurs, avec une indication du fait que les
erreurs ne peuvent pas être corrigées.
Par conséquent, le présent dix-septième mode de mise en oeuvre présente des avantages consistant en ce qu'il permet de calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen d'un seul calcul de l'algorithme euclidien par estimation préalable du nombre d'erreurs en utilisant les syndromes pour le code RS doublement étendu, avec faible capacité de correction, et qu'aucun calcul supplémentaire n'est nécessaire pour obtenir le polynôme d'emplacements d'erreurs étant donné qu'il est obtenu sous la forme d'un
produit secondaire du calcul de l'algorithme euclidien.
DIX-HUITIEME MODE DE MISE EN OEUVRE
Bien que le dix-septième mode de mise en oeuvre précédent décrive un procédé de correction d'erreurs du code RS doublement étendu en utilisant l'algorithme euclidien, il est possible de réaliser un dispositif de correction d'erreurs basé sur ce procédé. La figure 29 est un schéma-bloc représentant un dispositif de correction
d'erreurs du code RS doublement étendu, associé à un dix-
huitième mode de mise en oeuvre conformément à la présente invention. Sur la figure 29, le chiffre de référence 30 désigne un circuit de production de syndromes servant à produire des syndromes à partir du mot reçu; et le chiffre de référence 31 désigne un circuit d'estimation d'un nombre d'erreurs pour former la matrice des syndromes calculés par le circuit 30 de production de syndromes, et pour estimer le nombre d'erreurs par calcul du déterminant de cette matrice. Le chiffre de référence 32 désigne un circuit de calcul de l'algorithme euclidien servant à calculer le polynôme d'emplacements d'erreurs et un polynôme de valeurs d'erreurs moyennant l'utilisation de l'algorithme euclidien après réglage de leurs valeurs initiales et de la condition finale pour le calcul des polynômes d'emplacements d'erreurs et du polynôme de valeurs d'erreurs conformément au nombre d'erreurs estimé par le circuit 31 d'estimation
du nombre d'erreurs.
Le chiffre de référence 33 désigne un circuit de recherche selon Chien pour calculer les emplacements d'erreurs et les valeurs d'erreurs par exécution de la recherche selon Chien sur le polynôme d'emplacements d'erreurs et sur le polynôme de valeurs d'erreurs calculés
au moyen du circuit 32 de calcul de l'algorithme euclidien.
Le chiffre de référence 34 désigne un circuit de mémorisation de mots reçus servant à mémoriser les mots reçus arrivants; et le chiffre de référence 35 désigne un circuit de mémorisation de résultats calculés servant à mémoriser les emplacements d'erreurs et les valeurs d'erreurs calculés par le circuit de recherche selon Chien 34. Le chiffre de référence 36 désigne un circuit de correction d'erreurs pour corriger les mots reçus mémorisés dans le circuit 34 de mémorisation des mots reçus, sur la base des emplacements d'erreurs et des valeurs d'erreurs mémorisés dans le circuit 35 de mémorisation du résultat calculé. Ci-après, on va décrire le fonctionnement dans le
dix-huitième présent mode de mise en oeuvre.
La description donnée ci-après est donnée en
prenant comme exemple un code RS doublement étendu dans l'espace de Galois GF(16) possédant une longueur de code 17, un nombre de symboles d'informations égal à 11 et une distance minimale égale à sept. Le polynôme primitif et la matrice de parité sont supposés être les mêmes que ceux
employés dans le dix-septième mode de mise en oeuvre.
Un mot arrivant reçu est délivré au circuit 30 de production de syndromes et au circuit 34 de mémorisation des mots reçus. Lors de la réception des mots reçus, le circuit 30 de production de syndromes calcule ies syndromes S=(S0, Sli,..., S4, S5) et les envoie au circuit 31 d'estimation du nombre d'erreurs. Le circuit 34 de
mémorisation des mots reçus mémorise le mot reçu arrivant.
Le circuit 31 d'estimation du nombre d'erreurs calcule le déterminant det de la matrice A défini par l'équation (171) moyennant l'utilisation de tous les syndromes hormis le syndrome S5 dans les syndromes S délivrés par le circuit 30 de production de syndromes, le
syndrome S5 ayant un effet sur le second composant étendu.
Le circuit 31 d'estimation du nombre d'erreurs fournit une estimation indiquant que des erreurs sont apparues dans deux symboles ou moins si le déterminant det est nul, et que des erreurs sont apparues dans trois symboles si le
déterminant n'est pas nul.
Si une estimation est faite indiquant que des erreurs sont apparues dans trois symboles, le circuit 32 de calcul de l'algorithme euclidien calcule le polynôme d'emplacements d'erreurs o(x) et le polynôme de valeurs d'erreurs w(x) au moyen du calcul de l'algorithme euclidien après réglage des valeurs initiales au moyen des équations
(177) et (178) et la condition de fin au moyen de l'expres-
sion (179). Ensuite, le degré du polynôme d'emplacements d'erreurs a(x) est comparé à celui du polynôme de valeurs d'erreurs w(x), et si la condition fournie dans l'expression (180) n'est pas valable, le mot reçu est délivré sans correction avec une indication de détection d'erreurs. Au contraire, si la condition indiquée par l'expression (180) est valable, le circuit de recherche selon Chien 33 exécute la recherche selon Chien sur le polynôme d'emplacements d'erreurs a(x) et sur le polynôme de valeurs d'erreurs w(x), calcule les emplacements d'erreurs et les valeurs d'erreurs et ce circuit comporte le circuit 45 de mémorisation des résultats calculés pour
mémoriser ces données.
Si une estimation est faite indiquant que des erreurs sont apparues dans deux symboles ou moins, le circuit 32 de calcul de l'algorithme euclidien calcule le polynôme d'emplacements d'erreurs o(x) et un polynôme de valeurs d'erreurs w(x) au moyen du calcul de l'algorithme euclidien après réglage des valeurs initiales au moyen d'équations (181) et (182) et la condition de fin au moyen de l'équation (183). Ensuite, le degré du polynôme d'emplacements d'erreurs o(x) est comparé à celui du polynôme de valeurs d'erreurs w(x), et si la condition fournie par l'expression (184) n'est pas valable, le mot est délivré sans correction avec une indication de détection d'erreurs. Au contraire, si la condition indiquée par l'expression (184) est valable, le circuit de recherche selon Chien 33 exécute la recherche selon Chien sur le polynôme d'emplacements d'erreurs o(x) et sur le polynôme de valeurs d'erreurs w(x), calcule les emplacements d'erreurs et les valeurs d'erreurs, et ce circuit contient le circuit 35 de mémorisation des résultats calculés, pour
mémoriser ces valeurs.
Si le nombre d'erreurs est égal au degré du polynôme d'emplacements d'erreurs détecté par le circuit de recherche selon Chien 33, le circuit de correction d'erreurs 36 corrige les erreurs des symboles aux emplacements d'erreurs par soustraction des valeurs d'erreurs correspondantes à partir des symboles, et délivre le mot reçu corrigé. D'autre part, si le nombre d'erreurs ne concorde pas avec le degré du polynôme d'emplacements d'erreurs, le mot reçu est délivré sans correction avec une
* indication de la détection d'erreurs.
Par conséquent, le présent dix-huitième mode de mise en oeuvre présente des avantages consistant en ce qu'il permet de calculer le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen d'un seul calcul de l'algorithme euclidien par estimation préalable du nombre d'erreurs en utilisant les syndromes pour le code RS doublement étendu, avec une faible capacité de correction, et qu'aucun calcul supplémentaire n'est nécessaire pour obtenir le polynôme d'emplacements d'erreurs étant donné qu'il est obtenu en tant que produit
secondaire du calcul de l'algorithme euclidien.

Claims (8)

REVENDICATIONS
1. Dispositif de décodage pour la correction d'erreurs d'un code ReedSolomon étendu, caractérisé en ce qu'il comporte: des moyens (1) de production de syndromes pour calculer le syndrome d'un mot reçu arrivant, à partir d'un tel mot; des moyens (5) formant mémoire de mot reçu pour mémoriser ledit mot reçu; des moyens (2) d'estimation de nombre d'erreurs servant à estimer un nombre d'erreurs qui sont apparues dans ledit mot reçu à partir du syndrome calculé par les moyens (1) de production de syndromes; des moyens (3) de calcul d'un algorithme euclidien pour calculer un polynôme d'emplacements d'erreurs et un polynôme de valeurs d'erreurs au moyen d'un algorithme euclidien après le réglage de valeurs initiales et d'une condition de fin pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs conformément au nombre d'erreurs estimé par lesdits moyens (2) d'estimation du nombre d'erreurs; des moyens de recherche (4) effectuant une recherche selon Chien pour calculer des emplacements d'erreurs et des valeurs d'erreurs sur la base du polynôme d'emplacements d'erreurs et sur le polynôme de valeurs d'erreurs calculé par lesdits moyens (3) de calcul d'un algorithme euclidien; et des moyens (16) de correction d'erreurs pour corriger des erreurs dudit mot reçu mémorise dans lesdits moyens (5) formant mémoire de mot reçu en réponse à un résultat calculé au moyen desdits moyens de recherche selon
Chien (4).
2. Dispositif de décodage pour la correction d'erreurs d'un code Reed-Solomon étendu selon la revendication 1, caractérisé en ce que ledit dispositif de décodage pour la correction d'erreurs comprend un ordinateur comprenant des multiplicateurs et des additionneurs agissant dans un espace de Galois et que lesdits moyens de recherche selon Chien [4) comprennent des moyens (8) de modification de syndrome pour calculer une valeur d'erreur dans un composant étendu en modifiant des valeurs du syndrome dudit mot reçu en fonction des emplacements d'erreurs et des valeurs d'erreurs calculés à partir du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, qui sont calculés par lesdits moyens
(3) de calcul utilisant un algorithme euclidien.
3. Dispositif de décodage pour la correction d'erreurs d'un code Reed-Solomon étendu selon la revendication 1, caractérisé en ce que lesdits moyens (2) d'estimation du nombre d'erreurs comprennent une mémoire, des multiplicateurs et des additionneurs dans un espace de Galois, et prennent une décision concernant un code de Reed-Solomon étendu avec une distance minimale d à partir de valeurs de syndromes dudit mot reçu, qui est calculé par lesdits moyens (8) de production de syndromes, pour déterminer si une erreur quelconque est présente ou non, et, si une erreur est présente, pour déterminer si un nombre des erreurs est inférieur à [(d-1)/2] ou est égal à [(d-1)/2], et que lesdits moyens (3) de calcul sur la base de l'algorithme euclidien calculent le polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen de l'algorithme euclidien après réglage des valeurs initiales et de la condition de fin pour le calcul du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs en fonction du fait que le nombre d'erreurs est inférieur à [(d-l)/2] ou égal à [(d-l)/2], lorsque lesdits moyens (2) d'estimation du nombre d'erreurs décident que
l'erreur est présente.
4. Dispositif de décodage pour la correction d'erreurs d'un code Reed--Solcmon étendu selon la revendication 1, caractérisé en ce que lesdits moyens (2) d'estimation du nombre d'erreurs prennent une décision concernant un code de Reed-Solomon étendu présentant une distance minimale d, à partir de valeurs de syndromes dudit mot reçu, qui est calculé par lesdits moyens (1) de production de syndromes, pour déterminer si une erreur est présente ou non et, si une erreur est présente, si un
nombre des erreurs est inférieur à [(d-1)/2] ou égal à [(d-
1)/2], ou supérieur à [(d-1)/2] que si lesdits moyens (2) d'estimation du nombre d'erreurs décident que le nombre d'erreurs est supérieur à [(di)/2], ledits moyens (3) de calcul sur la base de l'algorithme euclidien sautent le calcul du polynôme d'emplacements d'erreurs et le polynôme de valeurs d'erreurs au moyen de l'algorithme euclidien, que si lesdits moyens (2) d'estimation du nombre d'erreurs décident que le nombre d'erreurs est supérieur à [(d-1)/2], lesdits moyens de recherche selon Chien (4) sautent le calcul des emplacements d'erreurs et des valeurs d'erreurs au moyen de ia recherche selon Chien, et que lesdits moyens (7) de correction d'erreurs déliivrent ledit mot reçu mémorisé dans lesdits moyens (5) de mémoire des mots reçus sans correction, si les moyens (2) d'estimation du nombre d'erreurs établissent une décision selon laquelle le nombre d'erreurs est supérieur à [(d-1)/2].
5. Dispositif de décodage pour la correction d'erreurs d'un code Reed-Solomon à une seule extension, caractérisé en ce qu'il comprend: des moyens (10) de production de syndromes pour calculer le syndrome d'un mot reçu arrivant, à partir de ce mot; des moyens (14) formant mémoire de mot reçu pour mémoriser ledit mot reçu; des moyens (11) de production d'un polynôme de syndromes pour produire un polynôme de syndromes incluant, en tant que terme constant, un syndrome parmi lesdits syndromes calculés par lesdits moyens (10) de production de syndromes, ledit syndrome possédant une information d'erreur concernant un composant étendu; des moyens (12) de calcul au moyen d'un algorithme euclidien pour calculer un polynôme d'emplacements d'erreurs et un polynôme de valeurs d'erreurs au moyen d'un algorithme euclidien utilisant, comme valeurs initiales, le polynôme de syndromes produit par lesdits moyens (11) de production du polynôme de syndromes; des moyens (13) de recherche selon Chien pour calculer des emplacements d'erreurs et des valeurs d'erreurs sur la base du polynôme d'emplacements d'erreurs et du polynôme de valeurs d'erreurs, calculés par lesdits moyens (12) de calcul sur la base de l'algorithme euclidien; et des moyens (16) de correction d'erreurs pour corriger des erreurs dudit mot reçu mémorisé dans lesdits moyens (14) formant mémoire de mot reçu en réponse aux emplacements d'erreurs et aux valeurs d'erreurs, calculés
par lesdits moyens (13) de recherche selon Chien.
6. Dispositif de décodage pour la correction d'erreurs d'un code Reed-Solomon à une seule extension selon la revendication 5, caractérisé en ce qu'il comporte en outre: des moyens (17) de production de coefficients d'emplacements d'effacements pour produire des coefficients d'emplacements d'effacements à partir d'un drapeau d'effacements associé audit mot reçu; des moyens (18) de production d'un polynôme d'emplacements d'effacements pour produire un polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produits par lesdits moyens
(17) de production de coefficients d'emplacements d'efface-
ments; et des moyens (19) de production de polynôme de syndromes modifiés pour produire un polynôme de syndromes modifié en utilisant ledit polynôme de syndromes produit par lesdits moyens (11) de production de polynômes de syndromes par ledit polynôme d'emplacements d'effacements produit par lesdits moyens (18) de production du polynôme d'emplacements d'effacements, et que lesdits moyens (12) de calcul sur la base de l'algorithme euclidien calculent un polynôme d'emplacements d'erreurs et d'effacements et un polynôme de valeurs d'erreurs et d'effacements sur la base d'un algorithme euclidien en utilisant pour ces valeurs initiales, le polynôme de syndromes modifié produit par lesdits moyens (19) de production de polynômes de syndromes modifiés, en tant que valeurs initiales, et lesdits moyens (13) de recherche selon Chien calculent des emplacements d'erreurs et des valeurs d'erreurs sur la base du polynôme d'emplacements d'erreurs et d'effacements et du polynôme de valeurs d'erreurs et d'effacements calculés par les moyens
(12) de calcul d'algorithmes euclidiens.
7. Dispositif de décodage pour la correction d'erreurs d'un code Reed-Solomon à double extension, caractérisé en ce qu'il comprend: des moyens (20) de production de syndromes pour calculer les syndromes d'un mot arrivant reçu, à partir de ce mot; des moyens (24) formant mémoire de mot reçu pour mémoriser ledit mot reçu; des moyens (21) de calcul selon un algorithme de Berlekamp-Massey pour le calcul séquentiel d'un polynôme d'emplacements d'erreurs au moyen de l'exécution de l'algorithme de Berlekamp-Massey en utilisant les syndromes produits par lesdits mcyer.s (20) de production de syndromes, tout en commandant s'il faut utiliser un syndrome ayant une information d'erreur autour d'un composant à dcuble extension conformément à une longueur d'un registre à décalage formel; des moyens (22) de recherche selon Chien pour calculer des emplacements d'erreurs en exécutant une recherche selon Chien dans le polynôme d'emplacements d'erreurs calculé par lesdits moyens (21) de calcul selon l'algorithme de Berlekamp-Massey; des moyens (23) de production de valeurs d'erreurs pour calculer, dans le cas o un nombre d'emplacements d'erreurs calculé à l'aide des moyens (22) de recherche selon Chien est approprié, des valeurs d'erreurs utilisant le polynôme de syndromes produit à partir des syndromes calculés par lesdits moyens (20) de production de syndromes; et des moyens (26) de correction d'erreurs pour corriger des erreurs dudit mot reçu mémorisé dans lesdits moyens (24) formant mémoire de mots reçus er. réponse aux emplacements d'erreurs calculés par lesdits moyens (22) de recherche selon Chien et les valeurs d'erreurs calculées
par lesdits moyens (23) de production de valeurs d'erreurs.
8. Dispositif de correction d'erreurs d'un code Reed-Solomon à double extension selon la revendication 7, caractérisé en ce qu'il comporte en outre: des moyens (27) de production de coefficients d'emplacements d'effacements pour produire des coefficients d'emplacements d'effacements à partir d'un drapeau d'effacements associé audit mot reçu; et des moyens (28) de production de polynôme d'emplacements d'effacements pour produire un polynôme d'emplacements d'effacements à partir des coefficients d'emplacements d'effacements produit par lesdits moyens (27) de production de coefficients d'emplacements d'effacements, et que lesdits moyens (21) de calcul selon l'algorithme de Berlekamp-Massey calculent séquentiellement le polynôme d'emplacements d'erreurs en exécutant l'algorithme de Berlekamp- Massey en utilisant en tant que valeurs initiales de cet algorithme le polynôme d'emplacements d'effacements calculé à l'aide desdits moyens (28) de production de polynôme d'emplacements d'effacements.
FR9803692A 1997-04-15 1998-03-25 Dispositif de decodage pour la correction d'erreurs d'un code reed-solomon etendu et dispositif de correction d'erreurs de codes reed-solomon a simple ou double extension Expired - Fee Related FR2762163B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP9779897 1997-04-15
JP9211069A JPH113573A (ja) 1997-04-15 1997-08-05 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置

Publications (2)

Publication Number Publication Date
FR2762163A1 true FR2762163A1 (fr) 1998-10-16
FR2762163B1 FR2762163B1 (fr) 2001-07-27

Family

ID=26438944

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9803692A Expired - Fee Related FR2762163B1 (fr) 1997-04-15 1998-03-25 Dispositif de decodage pour la correction d'erreurs d'un code reed-solomon etendu et dispositif de correction d'erreurs de codes reed-solomon a simple ou double extension

Country Status (6)

Country Link
US (1) US6131178A (fr)
JP (1) JPH113573A (fr)
KR (1) KR100310671B1 (fr)
DE (1) DE19816347C2 (fr)
FR (1) FR2762163B1 (fr)
TW (1) TW417360B (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367087A (zh) * 2020-12-01 2021-02-12 西安邮电大学 一种高速rs译码器

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63150176A (ja) * 1986-12-15 1988-06-22 工業技術院長 動的歩行ロボツトの歩行制御方法
US6704902B1 (en) * 1998-09-07 2004-03-09 Sony Corporation Decoding system for error correction code
US6347389B1 (en) * 1999-03-23 2002-02-12 Storage Technology Corporation Pipelined high speed reed-solomon error/erasure decoder
US6341362B1 (en) * 1999-04-22 2002-01-22 Vlsi Technology, Inc. Extended symbol Galois field error correcting device
US20080282128A1 (en) * 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US6360348B1 (en) * 1999-08-27 2002-03-19 Motorola, Inc. Method and apparatus for coding and decoding data
US6543026B1 (en) * 1999-09-10 2003-04-01 Lsi Logic Corporation Forward error correction apparatus and methods
CN1286275C (zh) 1999-11-24 2006-11-22 三洋电机株式会社 纠错装置
US6772385B2 (en) * 2000-01-31 2004-08-03 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JP3352659B2 (ja) * 2000-03-27 2002-12-03 松下電器産業株式会社 復号装置及び復号方法
KR20020065788A (ko) * 2001-02-07 2002-08-14 삼성전자 주식회사 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법
US6915478B2 (en) * 2001-12-21 2005-07-05 Texas Instruments Incorporated Method and apparatus for computing Reed-Solomon error magnitudes
US6920600B2 (en) * 2002-01-23 2005-07-19 Thomson Licensing S.A. Dual chien search blocks in an error-correcting decoder
US7093188B2 (en) * 2002-04-05 2006-08-15 Alion Science And Technology Corp. Decoding method and apparatus
GB2399896A (en) * 2002-07-31 2004-09-29 Hewlett Packard Co Identifying uncorrectable codewords in a reed-solomon decoder handling errors and erasures
GB2391769B (en) * 2002-07-31 2005-07-06 Hewlett Packard Co Reed-Solomon decoder and decoding method for errors and erasures decoding
US7206993B2 (en) * 2003-03-12 2007-04-17 Matsushita Electric Industrial Co., Ltd. Method and device for decoding Reed-Solomon code or extended Reed-Solomon code
US7693927B2 (en) 2003-08-25 2010-04-06 Jennic Limited Data processing system and method
EP1662668A4 (fr) * 2003-08-29 2008-02-27 Matsushita Electric Ind Co Ltd Dispositif de detection d'erreurs et procede de detection d'erreurs
US7162679B2 (en) * 2003-12-12 2007-01-09 Analog Devices, Inc. Methods and apparatus for coding and decoding data using Reed-Solomon codes
KR20050114162A (ko) * 2004-05-31 2005-12-05 삼성전자주식회사 리드-솔로몬 부호를 사용하는 이동통신 시스템에서 내부및 외부 부호 복호 방법 및 그 장치
US7454690B1 (en) * 2004-10-27 2008-11-18 Marvell International Ltd. Architecture and control of reed-solomon list decoding
US7430701B2 (en) * 2005-06-16 2008-09-30 Mediatek Incorporation Methods and systems for generating error correction codes
US7774676B2 (en) 2005-06-16 2010-08-10 Mediatek Inc. Methods and apparatuses for generating error correction codes
JP4598711B2 (ja) * 2006-03-30 2010-12-15 富士通株式会社 誤り訂正装置
US8312345B1 (en) 2006-09-29 2012-11-13 Marvell International Ltd. Forward error correcting code encoder apparatus
KR100875928B1 (ko) * 2007-05-09 2008-12-26 한국전자통신연구원 고속 리드-솔로몬 복호기의 수정 유클리드 알고리즘 연산회로 및 그 방법
KR101437396B1 (ko) 2008-02-27 2014-09-05 삼성전자주식회사 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법
US8245117B1 (en) * 2008-12-23 2012-08-14 Link—A—Media Devices Corporation Low complexity chien search in chase-type decoding of reed-solomon codes
US8413023B2 (en) * 2008-12-31 2013-04-02 Stmicroelectronics, Inc. Error-locator-polynomial generation with erasure support
US8392806B2 (en) * 2009-09-02 2013-03-05 Texas Instruments Incorporated Method, device, and digital circuitry for providing a closed-form solution to a scaled error locator polynomial used in BCH decoding
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
US8484529B2 (en) 2010-06-24 2013-07-09 International Business Machines Corporation Error correction and detection in a redundant memory system
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8468431B2 (en) * 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8522122B2 (en) * 2011-01-29 2013-08-27 International Business Machines Corporation Correcting memory device and memory channel failures in the presence of known memory device failures
US9032277B1 (en) * 2011-11-28 2015-05-12 Altera Corporation Parallel low and asymmetric rate Reed Solomon coding
US8806295B2 (en) 2012-05-24 2014-08-12 International Business Machines Corporation Mis-correction and no-correction rates for error control
US8924828B2 (en) * 2012-08-30 2014-12-30 Kabushiki Kaisha Toshiba Memory controller, semiconductor storage device, and memory control method for error correction using Chien search
US9166623B1 (en) * 2013-03-14 2015-10-20 Pmc-Sierra Us, Inc. Reed-solomon decoder
EP4220968A1 (fr) * 2017-09-27 2023-08-02 Mitsubishi Electric Corporation Dispositif de codage et émetteur
CN111527705B (zh) * 2018-01-23 2022-04-22 华为技术有限公司 用于解码器重用的信道码构造
TWI742371B (zh) * 2019-05-13 2021-10-11 義守大學 應用單項跡之錯誤更正方法
US11942965B1 (en) * 2022-10-11 2024-03-26 Samsung Electronics Co., Ltd. Soft reed-solomon decoder for a non-volatile memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4162480A (en) * 1977-01-28 1979-07-24 Cyclotomics, Inc. Galois field computer
JPS62236416A (ja) * 1986-04-09 1987-10-16 日本甜菜製糖株式会社 育苗用培地の調製方法
JPS63236416A (ja) * 1987-03-25 1988-10-03 Mitsubishi Electric Corp 符号化復号化方法
US4937829A (en) * 1987-04-24 1990-06-26 Ricoh Company, Ltd. Error correcting system and device
ATE116081T1 (de) * 1989-08-24 1995-01-15 Philips Nv Verfahren und einrichtung zur decodierung von wortgeschützten codewörtern durch einen nichtbinären bch-code gegen mindestens einen symbolfehler.
US5323402A (en) * 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder
US5233629A (en) * 1991-07-26 1993-08-03 General Instrument Corporation Method and apparatus for communicating digital data using trellis coded qam
DE4140018A1 (de) * 1991-12-04 1993-06-09 Bts Broadcast Television Systems Gmbh, 6100 Darmstadt, De Verfahren und schaltungsanordnung zum decodieren von rs-codierten datensignalen
DE69414631T2 (de) * 1993-03-31 1999-04-08 Toshiba Kawasaki Kk Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes
DE4316813A1 (de) * 1993-05-19 1994-11-24 Philips Patentverwaltung Reed-Solomon-Decoder
WO1995012850A1 (fr) * 1993-11-04 1995-05-11 Cirrus Logic, Inc. Decodeur reed-solomon
US5642367A (en) * 1994-02-07 1997-06-24 Mitsubishi Semiconductor America, Inc. Finite field polynomial processing module for error control coding
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US5715262A (en) * 1995-07-12 1998-02-03 Lsi Logic Corporation Errors and erasures correcting reed-solomon decoder
US5889792A (en) * 1996-10-01 1999-03-30 Intel Corporation Method and apparatus for generating syndromes associated with a block of data that employs re-encoding the block of data
US5905740A (en) * 1997-04-08 1999-05-18 Seagate Technology, Inc. Apparatus and method for error correction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A. BERLEKAMP: "Algebraic Coding Theory", MCGRAW-HILL, NEW YORK, US, XP002132710 *
J.M. JENSEN: "On Decoding Doubly Extended Reed-Solomon", PROC. IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY, 17 September 1995 (1995-09-17) - 22 September 1995 (1995-09-22), New York, pages 280, XP002144840 *
L.J. JOINER AND J.J. KOMO: "Time Domain Decoding of Extended Reed-Solomon Codes", PROC. OF THE SOUTH-EAST CONFERENCE, 11 April 1996 (1996-04-11), US, New York, pages 238 - 241, XP000631722 *
M. ANWARUL HASAN AND V.K. BHARGAVA: "Reed-Solomon codes and their applications; chapter Algorithms and Architectures for the Design of a VLSI Reed-Solomon Codec", 1994, IEEE PRESS, XP002055402 *
R.E. BLAHUT: "Theory and Practice of Error-Control Codes", 1983, ADDISON-WESLEY, XP002144841 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367087A (zh) * 2020-12-01 2021-02-12 西安邮电大学 一种高速rs译码器
CN112367087B (zh) * 2020-12-01 2024-01-30 西安邮电大学 一种高速rs译码器

Also Published As

Publication number Publication date
FR2762163B1 (fr) 2001-07-27
DE19816347A1 (de) 1998-11-05
KR100310671B1 (ko) 2001-12-17
KR19980080058A (ko) 1998-11-25
US6131178A (en) 2000-10-10
JPH113573A (ja) 1999-01-06
TW417360B (en) 2001-01-01
DE19816347C2 (de) 2001-01-25

Similar Documents

Publication Publication Date Title
FR2762163A1 (fr) Dispositif de decodage pour la correction d&#39;erreurs d&#39;un code reed-solomon etendu et dispositif de correction d&#39;erreurs de codes reed-solomon a simple ou double extension
KR100407876B1 (ko) 음성 신호, 영상 신호 및 비디오 신호의 에러 은닉 또는 정정
EP1370004A2 (fr) Unité arithmétique pour décodeur Reed-Solomon
EP0821493B1 (fr) Système de correction d&#39;erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux
US7788570B1 (en) Optimized Reed-Solomon decoder
FR2756991A1 (fr) Decodeur reed - solomon destine a etre utilise en television avancee
FR2628587A1 (fr)
JP2001511963A (ja) 連接符号データの送受信方法および送受信装置
EP1093231A1 (fr) Procédé de construction et de codage simple et systématique de codes Ldpc
JP2001519618A (ja) 重要度の小さいデータ・ビットを使用して重要なデータ・ビットを保護する方法
FR2501440A1 (fr) Recepteurs d&#39;informations avec reception et decodage d&#39;un code d&#39;erreur
EP1211813A2 (fr) Appareil et méthode de detection d&#39;erreurs dans und code CRC comprenant des bits de parité dans un ordre inversé
FR2796779A1 (fr) Dispositif et procede de decodage de turbo-code a correction d&#39;erreurs et systeme de decodage de turbo-code
US20060031742A1 (en) Decoding device and decoding method
KR20040075952A (ko) 인트라-디코더 컴포넌트 블록 메시징
KR20040075954A (ko) 에러 정정 디코더에서의 이중 치엔 탐색 블록
FR2585906A1 (fr) Procede de decodage d&#39;un code convolutif et decodeur correspondant
FR2720528A1 (fr) Décodeur de correction d&#39;erreur.
BE743592A (fr)
FR2714555A1 (fr) Procédé et dispositif pour calculer un polynôme localisateur d&#39;erreurs à utiliser dans un décodeur de Reed-Solomon.
EP0690584B1 (fr) Circuit de localisation d&#39;erreurs d&#39;un décodeur Reed-Solomon
FR2817418A1 (fr) Procede de decodage d&#39;un bloc de symboles et dispositif mettant en oeuvre un tel procede
FR2882480A1 (fr) Procede et dispositif de synchronisation trame
FR2858141A1 (fr) Codage d&#39;informations par codes de reed-solomon raccourcis
US8181096B2 (en) Configurable Reed-Solomon decoder based on modified Forney syndromes

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20061130