JPH0472923A - Error detecting and correcting device for reed solomon code - Google Patents
Error detecting and correcting device for reed solomon codeInfo
- Publication number
- JPH0472923A JPH0472923A JP2183932A JP18393290A JPH0472923A JP H0472923 A JPH0472923 A JP H0472923A JP 2183932 A JP2183932 A JP 2183932A JP 18393290 A JP18393290 A JP 18393290A JP H0472923 A JPH0472923 A JP H0472923A
- Authority
- JP
- Japan
- Prior art keywords
- error
- register
- calculation
- correction
- locator polynomial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はディジタルビデオテープレコーダー(DVTR
) 、ディジタルオーディオテープレコーダー(DAT
)等において、信頼性向上のために所定の方法で生成さ
れたパリティ信号を付加されたリードソロモン符号(以
下、R8符号)からなるディジタル信号を再生する場合
に、付加したパリティ信号を基に所定の方法で誤りを検
出し、元の正しい信号に訂正する誤り検出及び訂正装置
に係り、特に誤り位置多項式の係数及び各誤りの大きさ
を算出する算術演算部の回路構成方法に関する。[Detailed Description of the Invention] [Industrial Application Field] The present invention is applied to a digital video tape recorder (DVTR).
), digital audio tape recorder (DAT)
) etc., when reproducing a digital signal consisting of a Reed-Solomon code (hereinafter referred to as an R8 code) to which a parity signal generated using a predetermined method is added to improve reliability, a predetermined method is used based on the added parity signal. The present invention relates to an error detection and correction apparatus that detects errors and corrects them to the original correct signal using the method described above, and particularly relates to a circuit configuration method of an arithmetic operation unit that calculates the coefficients of an error locator polynomial and the magnitude of each error.
従来、R8符号の誤り検出及び訂正については、電子通
信学会論文誌 第J64−A巻、第2号(1981年2
月)第137頁ないし第144頁において論じられてい
る。Conventionally, regarding error detection and correction of R8 codes, the Journal of the Institute of Electronics and Communication Engineers Vol. J64-A, No. 2 (February 1981)
Discussed on pages 137-144.
該誤り検出及び訂正は、
(1)シンドロームの計算及び誤りの検出(2)誤りシ
ンボル数の判定及び誤り位置多項式のの係数算出
(3)誤り位置多項式の根の導出
(4)誤りの大きさ算出
(5)訂正の実行
の手順で行われる。ここでは、データである11シンボ
ル(1シンボル8ビツト)に対して、生成多項式
%式%)
により生成したパリティ4シンボルを付加したR8符号
である、(15,11)R8符号の復号を例にとり、復
号動作を説明する。なお、以下の説明の中の演算はすべ
て有限体GF(2”)上で行われる。The error detection and correction consists of: (1) Syndrome calculation and error detection (2) Determination of the number of error symbols and calculation of the coefficients of the error locator polynomial (3) Derivation of the root of the error locator polynomial (4) Size of the error Calculation (5) is performed in the procedure of executing correction. Here, we will take as an example the decoding of the (15,11)R8 code, which is an R8 code in which 4 parity symbols generated by the generator polynomial %) are added to 11 symbols (8 bits per symbol) that are data. , the decoding operation will be explained. Note that all operations in the following explanation are performed on the finite field GF(2'').
(1)シンドロームの計算及び誤りの検出符号長15の
符号語C= (c、4. cm3.−、co)を記録し
てこれを再生したとき、再生系列R=(rxsr rx
at・・・l ro)が再生されたとする。(1) Syndrome calculation and error detection When a code word C = (c, 4. cm3.-, co) with a code length of 15 is recorded and reproduced, the reproduction sequence R = (rxsr rx
It is assumed that at...l ro) is reproduced.
ここで、再生系列Rに含まれる誤り系列すなわち再生系
列Rと符号語Cの差をE= (ei、、e□3゜・・・
180)とするとき、Rは次のように表現される。Here, the error sequence included in the reproduced sequence R, that is, the difference between the reproduced sequence R and the code word C, is E= (ei,, e□3゜...
180), R is expressed as follows.
R(X)= C(X)十E (X)
ここで、生成多項式G(X)が式(1)であるから、シ
ンドロームは。R(X)=C(X)1E (X) Here, since the generator polynomial G(X) is equation (1), the syndrome is.
S1=R(α1)
=E(α’) i=o、1,2.3 ・・・(2
)で定義される。パリティのシンボル数だけ存在するシ
ンドロームは、再生系列Rに誤りがない場合にはすべて
0(0ベクトル)になる。これより、シンドロームにO
でないものが存在した場合は、再生系列Rの中に誤りが
発生しているということが検出できる。S1=R(α1) =E(α') i=o, 1, 2.3...(2
) is defined. All of the syndromes that exist as many as the number of parity symbols become 0 (0 vector) when there is no error in the reproduced sequence R. From now on, the syndrome
If there is a sequence that is not the same, it can be detected that an error has occurred in the reproduced sequence R.
シンドロームにOでないものが存在し、誤りが検出され
たならば、以下の(2)〜(5)に示す訂正動作が行わ
れる。If there is a syndrome other than O and an error is detected, the following correction operations (2) to (5) are performed.
(2)誤りシンボル数の判定、及び誤り位置多項式パリ
ティを4シンボル持つ(15,11)R8符号は2個以
下の誤りを訂正できるが、誤りが2個かそれより多いか
を判定することはできない。(2) Determination of the number of error symbols and error locator Although the (15, 11) R8 code with polynomial parity of 4 symbols can correct two or less errors, it is difficult to determine whether there are two or more errors. Can not.
そこで、まず訂正能力最大の2個の誤りが位置i。Therefore, first, the two errors with the maximum correction ability are at position i.
jにそれぞれEi、EAの大きさで発生したと仮定する
と、式(2)から次式が得られる。Assuming that the magnitudes of Ei and EA occur in j, respectively, the following equation is obtained from equation (2).
S o = E l +E J
・・・(3)Sl−α”E++α’Ea
・・(4)S2=α21E、+α2
4E、 ・・・(5)S3=α3
′El+α3JEJ ・・・(6
)誤り位置を根に持つ誤り位置多項式を2次式、a (
X)= X2+ a ” X +a ’
−(7)とすると、
σ(X)=(X+α1)(X+α4)
であることから、
α8=α3+α
α = α α
の関係を持つ。したがって、式(3)〜(6)よりα1
+α4.α1α4をS。−83の関係式で表すことがで
きれば、誤り位置多項式(7)の係数をシンドロームの
演算により求めることができる。S o = E l + E J
...(3) Sl-α"E++α'Ea
...(4) S2=α21E, +α2
4E, ...(5) S3=α3
'El+α3JEJ...(6
) The error location polynomial whose root is the error location is expressed as a quadratic equation, a (
X)=X2+a ”X+a'
-(7), since σ(X)=(X+α1)(X+α4), we have the relationship α8=α3+α α = α α. Therefore, from equations (3) to (6), α1
+α4. α1α4 is S. If it can be expressed by the relational expression -83, the coefficients of the error locator polynomial (7) can be obtained by calculating the syndrome.
式(4)、(5)よりα21.α2Jの項を消去すると
、S2+(α1+α’)xs□=α1α’ (E +
+ E a)である。したがって、
S2=αaS□十α” S o−(8)の関係がある。From equations (4) and (5), α21. Eliminating the α2J term, S2+(α1+α')xs□=α1α' (E +
+ E a). Therefore, the following relationship exists: S2=αaS□10α”S o−(8).
また、式(4)〜(6)より、53=aaS2+abS
1 −(9)の関係がある。式(8)、
(9)を行列表現で表すと、となるから、
= 1
である。したがって、
Δ=S、”+5oS2 −(10)α
3=(SiS2+5oS3)/Δ ・−(1
1)αb=(Sz”5iS3)/Δ ・・
・(12)である。ここで、誤りが位置i、大きさE、
の1つであった場合は、
Δ=(α’ E t)2+ E tα2” E t =
0となることから、Δを誤りシンボル数の判定式とし
て用いることができる。Δ=0のときは誤りが1つの場
合であり、その誤り位置多項式、σ(X)=X+αa
・・・(13)の定数項α1は、σ(
X)=Oがα1を解に持つことから1式(3) 、 (
4)より、
αa=α’=81/S。Also, from equations (4) to (6), 53=aaS2+abS
There is a relationship of 1-(9). Formula (8),
When (9) is expressed in matrix representation, it becomes, so = 1. Therefore, Δ=S, ”+5oS2 −(10)α
3=(SiS2+5oS3)/Δ・−(1
1) αb=(Sz"5iS3)/Δ...
・(12). Here, the error is at position i, size E,
If it is one of the following, Δ=(α' E t)2+ E tα2” E t =
Since it becomes 0, Δ can be used as a determination formula for the number of error symbols. When Δ=0, there is one error, and the error locator polynomial, σ(X)=X+αa
...The constant term α1 in (13) is σ(
Since X)=O has α1 as a solution, Equation 1 (3), (
4), αa=α'=81/S.
と簡単に求めることができる。can be easily determined.
(3)誤り位置多項式の根の導出
誤り位置多項式の根を求める方法としては、主にROM
利用による直接解法とチェノ(Chien)探索の2方
法があるが、ここでは誤り位置多項式に全ての元を代入
し、それが0となる元を根とするチェン探索法について
説明する・
誤りが2個の場合を考えると、チェノ探索は全ての元に
対するσ(X)、
σ(α0)=(α0)2+α8α0+α8σ(α1)=
(α1)2+α0α1+α1σ(α14)=(α14)
2+αaα14+αbを求め、それがOとなる元を根と
する方法である。(3) Derivation of the root of the error locator polynomial The main method for finding the root of the error locator polynomial is the ROM
There are two methods: a direct solution method using the method and a Chien search, but here we will explain the Chien search method, which substitutes all elements into the error locator polynomial and takes the element for which it becomes 0 as the root. Considering the case of
(α1)2+α0α1+α1σ(α14)=(α14)
This is a method of finding 2+αaα14+αb and using the element from which it becomes O as the root.
σ(α0)〜σ(α14)は初期値として、R2(0)
=1.に、(0)=αa、 K、(0)=αbσ(α’
)=に、(0)十に1(0)+に、(0)を与えると、
次のような繰り返し計算により求めることができる。σ(α0) to σ(α14) are initial values of R2(0)
=1. , (0)=αa, K, (0)=αbσ(α'
) = , (0) 1 (0) + , (0) is given,
It can be determined by the following repeated calculations.
Kg(1)=α2に2(i −1)tKi(i)=αに
1(11)。Kg(1) = α2 to 2(i −1)tKi(i) = α to 1(11).
xo(i)=xo(i −t)
σ(α1)=KZ(1)+ Kl(1)+KO(1)チ
ェノ探索は符号長相当のステップ数を必要とすることか
ら、誤り検出及び訂正をリアルタイム処理することはで
きない。しかし、チェノ探索を並列に動作させる等によ
り、誤り検出及び訂正をリアルタイム処理することは可
能である。xo(i) = xo(i - t) σ(α1) = KZ(1) + Kl(1) + KO(1) Since the Cheno search requires the number of steps equivalent to the code length, error detection and correction are Real-time processing is not possible. However, it is possible to process error detection and correction in real time by, for example, operating Cheno search in parallel.
(4)誤りの大きさ算出
有限体GF(2”)上のR8符号は1シンボルが8ビツ
トで構成されるため、誤りを訂正するためには誤りの位
置だけでなく、誤りの大きさも求めることが必要である
。式(3)〜(6)を見れば明かなように、誤りの大き
さは誤りの位置とシンドロームから求めることができる
。式(3)、 (4)を行列表現を用いて表すと、
となる。したがって、
より、
E1=(α’So+S、)/Δ1 −
(16)EJ=(α’ s o + S 1 ) /Δ
J −(17)Δl=ΔJ=α1+α
j ・・・(18)となる。1誤
りの場合は式(3)から明らかに、E1=S、である。(4) Calculating the size of the error Since one symbol of the R8 code on the finite field GF(2'') consists of 8 bits, in order to correct the error, not only the position of the error but also the size of the error is calculated. As is clear from equations (3) to (6), the magnitude of the error can be determined from the error position and syndrome.Equations (3) and (4) can be expressed in matrix form. If expressed using
(16) EJ=(α' s o + S 1 )/Δ
J − (17) Δl=ΔJ=α1+α
j...(18). In the case of one error, it is clear from equation (3) that E1=S.
(5)訂正の実行
以上のように求めた再生系列Rのlyj位置のシンボル
からE+、EΔをそれぞれ除くことにより、誤りを訂正
することができる。(5) Execution of Correction Errors can be corrected by removing E+ and EΔ from the symbol at the lyj position of the reproduced sequence R obtained as described above.
〔発明が解決しようとする課題〕
前記従来技術の(2)誤りシンボル数の判定、及び誤り
位置多項式の係数算出において、式(10)〜(12)
で表される2次の誤り位置多項式の係数αaαbは、乗
算器、加算器、ROMを用いて次の手順で求めることが
できる(括弧内は乗算、乗算十加算、ROM参照をそれ
ぞれ1ステツプとした時のステップ数)。[Problems to be Solved by the Invention] In (2) determining the number of error symbols and calculating the coefficients of the error locator polynomial in the prior art, equations (10) to (12) are used.
The coefficients αaαb of the second-order error locator polynomial expressed as number of steps).
(a) αa α1の共通分母Δの計算(2)(b)
1/Δの計算(逆光を予め記憶したROMによる)
(1)
(c) α8の分子計算(2)
(d) α8の計算(1)
(e) α5の分子計算(2)
(f) αbの計算(1)
したがって、係数α8 α1を求めるためには合計9ス
テツプの演算を要する。さらに、誤りの数が3個、4個
と多くなると、誤り位置多項式の係数を求めるために必
要なステップ数はそれぞれ44ステツプ、221ステツ
プと指数的に多くなる。これは前記従来技術の(4)誤
りの大きさ算出においても同様であり、誤りが2個、3
個、4個でそれぞれ9,33,124ステツプの演算を
必要とする。しかし、R8符号の誤り検出及び訂正をリ
アルタイムで行う場合には、シンドロームの計算、誤り
の位置と大きさの計算、訂正の実行をパイプライン処理
するため、誤り位置と大きさの計算は符号長範囲内のス
テップ数で行わなければならない。(a) Calculation of common denominator Δ of αa α1 (2) (b)
Calculation of 1/Δ (using ROM that stores backlight in advance)
(1) (c) Calculation of the numerator of α8 (2) (d) Calculation of α8 (1) (e) Calculation of the numerator of α5 (2) (f) Calculation of αb (1) Therefore, to find the coefficient α8 α1 requires a total of 9 steps of calculation. Furthermore, as the number of errors increases to 3 and 4, the number of steps required to find the coefficients of the error locator polynomial increases exponentially to 44 steps and 221 steps, respectively. This is also the case in (4) error size calculation in the prior art, where there are two errors, three errors, and so on.
9, 33, and 124 steps are required for 4 and 4 steps, respectively. However, when detecting and correcting errors in R8 codes in real time, the calculation of the syndrome, the calculation of the error position and size, and the execution of correction are performed in a pipeline process, so the calculation of the error position and size is based on the code length. The number of steps must be within the range.
本発明の目的は誤り位置多項式の係数及び誤りの大きさ
算出に要するステップ数を低減する演算回路、及びその
効率的な回路構成法を提供することにある。An object of the present invention is to provide an arithmetic circuit that reduces the number of steps required to calculate the coefficients of an error locator polynomial and the magnitude of an error, and an efficient method of configuring the circuit.
」二記目的はR8符号により符号化したディジタル信号
及び誤り検査符号からなるディジタルデータを一時的に
記憶するメモリと、該メモリに記憶された該ディジタル
データに対して所定の有限体上の演算を施すことにより
、該ディジタルデータの誤りを検出し、を個の誤りを訂
正する手段を有する誤り検出及び訂正装置において、誤
り位置多項式の係数及び各誤りの大きさを、(t+1)
個、または2t個の乗算器及び加算器により並列に演算
することにより達成される。The second purpose is to provide a memory for temporarily storing digital data consisting of a digital signal encoded with an R8 code and an error check code, and to perform operations on a predetermined finite field on the digital data stored in the memory. In an error detection and correction device having means for detecting errors in the digital data and correcting errors by applying
This is achieved by performing parallel operations using 1 or 2t multipliers and adders.
まず初めに、2 (=t)個までの誤り訂正能力を有す
るR8符号の誤り検出及び訂正装置の乗算器、加算器を
3 (=t+1)並列構成にした場合に、2個の誤りが
検出された時の訂正を考える。First, when the multipliers and adders of the R8 code error detection and correction device, which has the ability to correct up to 2 (=t) errors, are configured in parallel (3 (=t+1)), two errors are detected. Think about how to correct it when it happens.
式(10)〜(12)で表される2次の誤り位置多項式
の係数α3 α5は以下の手順で求められる(括弧内は
要するステップ数)。The coefficients α3 and α5 of the second-order error locator polynomial expressed by equations (10) to (12) are obtained by the following procedure (the number of steps required is in parentheses).
(a) Δ、α8の分子、α5の分子の並列計算(2
)(b) 1/Δの計算(1)
(c) α8 α5の並列計算(1)したがって、単
一の乗算器及び加算器によるステップ数の1/2以下の
合計4ステツプで係数α8 α5を求めることができる
。同様に、3個までの誤り訂正能力を有するR8符号の
誤り検出及び訂正装置の乗算器、加算器を4並列構成に
した場合、3次の誤り位置多項式の係数は14ステツプ
で求めることができる。また、4個までの誤り訂正能力
を有するR8符号の誤り検出及び訂正装置の乗算器、加
算器を5並列構成にした場合、4次の誤り位置多項式の
係数は62ステツプで求めることができ、いずれも単一
の乗算器及び加算器によるステップ数より大幅に低減す
ることができる。(a) Parallel calculation of molecules of Δ, α8, and α5 (2
) (b) Calculation of 1/Δ (1) (c) Parallel calculation of α8 α5 (1) Therefore, the coefficient α8 α5 is calculated in a total of 4 steps, which is less than 1/2 of the number of steps by a single multiplier and adder. You can ask for it. Similarly, if the multipliers and adders of an error detection and correction device for an R8 code with up to three error correction capabilities are arranged in four parallel configurations, the coefficients of the third-order error locator polynomial can be found in 14 steps. . Furthermore, when the multipliers and adders of the R8 code error detection and correction device, which has up to four error correction capabilities, are arranged in five parallel configurations, the coefficients of the fourth-order error locator polynomial can be found in 62 steps, In either case, the number of steps can be significantly reduced compared to a single multiplier and adder.
5次以上の誤り位置多項式の各係数も分母は共通であり
、一般にt次の誤り位置多項式の係数はt個の係数の分
子を計算するt個の乗算器及び加算器と、共通の分母を
計算する1個の乗算器及び加算器により、ハードウェア
規模的に効率よく求めることができる。Each coefficient of an error locator polynomial of order 5 or higher also has a common denominator, and in general, the coefficients of an error locator polynomial of order t have a common denominator with t multipliers and adders that calculate the numerators of t coefficients. By using one multiplier and adder for calculation, the calculation can be performed efficiently in terms of hardware scale.
また、誤りが2個の場合、誤りの大きさ算出に要するス
テップ数は上記誤り位置多項式の係数算出と同様な手順
により4ステツプとなり、これもまた1/2以下に低減
することができる。しかし、誤りが3個以上の場合の各
誤りの大きさの計算は、計算式の分母がそれぞれ異なる
ことから誤り位置多項式の係数算出手順とは異なる手順
を踏む。例えば誤りが4個の場合の誤りの大きさをE
i y E J yEh、Etそれぞれの分母をΔ1.
Δ3.Δ1.Δ、とすると、5(または4)並列構成に
した乗算器及び加算器による算出手順は以下のようにな
る。Furthermore, when there are two errors, the number of steps required to calculate the magnitude of the error is 4 steps using the same procedure as for calculating the coefficients of the error locator polynomial, which can also be reduced to 1/2 or less. However, when there are three or more errors, the calculation of the magnitude of each error takes a different procedure from the procedure for calculating the coefficients of the error locator polynomial because the denominators of the calculation formulas are different. For example, if there are 4 errors, the error size is E
i y E J yEh, each denominator of Et is Δ1.
Δ3. Δ1. Assuming Δ, the calculation procedure using 5 (or 4) parallel multipliers and adders is as follows.
(a) Δ4.Δ4.Δ1.Δ、の計算(16)(b
) 1/Δ1の計算(1)
(C) 1/Δ、の計算(1)
(d) 1/Δにの計算(1)
(e) 1/八尤の計算(1)
(f) Eat EJ、Ek、E兄の分子計算(]−
3)(g) Ei、EJ、Ek、Eiの計算(1)し
たがって、各誤りの大きさE 1. 、 E a 、
E k。(a) Δ4. Δ4. Δ1. Calculation of Δ, (16) (b
) Calculation of 1/Δ1 (1) (C) Calculation of 1/Δ (1) (d) Calculation of 1/Δ (1) (e) Calculation of 1/Hatton (1) (f) Eat EJ , Ek, E brother's molecular calculation (]-
3) (g) Calculation of Ei, EJ, Ek, Ei (1) Therefore, the magnitude of each error E 1. , E a ,
Ek.
Exは合計34ステツプで求められる。ここで、上記(
a)と(f)は並列に行うことが可能であるため、乗算
器、加算器を8(=2t)並列構成とするとさらにステ
ップ数を低減することができ、以下の手順により34ス
テツプから21ステツプに低減できる。Ex is determined in a total of 34 steps. Here, above (
Since a) and (f) can be performed in parallel, the number of steps can be further reduced by configuring 8 (=2t) multipliers and adders in parallel, and the following procedure can reduce the number of steps from 34 to 21. It can be reduced to steps.
(、) Δ5.Δ6.Δ1.Δ、の計算、El、 E
J、 E+ttEaの分子計算(16)
(b) 1/Δ1の計算(1)
(c) 1/ΔJの計算(1)
(d) 1/Δにの計算(1)
(e) 1/八〇の計算(1)
(f) E、、EJ、Ek、E宛の計算(1)同様に
して、誤りが3個の場合は4(または3)並列構成にす
ると13ステツプ、6並列構成にすると9ステツプで各
誤りの大きさを求めることができる。(,) Δ5. Δ6. Δ1. Calculation of Δ, El, E
Molecular calculation of J, E+ttEa (16) (b) Calculation of 1/Δ1 (1) (c) Calculation of 1/ΔJ (1) (d) Calculation of 1/Δ (1) (e) 1/80 Calculation (1) (f) Calculation for E, , EJ, Ek, E In the same way as (1), if there are 3 errors, 4 (or 3) parallel configuration will result in 13 steps, and 6 parallel configuration will result in 13 steps. The magnitude of each error can be determined in nine steps.
このように、誤りが3個以上の場合、各誤りの大きさの
計算式は分母がそれぞれ異なり、各誤りの大きさは分母
を計算するt個と分子を計算するt個の合計2t個の乗
算器及び加算器により効率よく求めることができる。In this way, when there are three or more errors, the formula for calculating the size of each error has a different denominator, and the size of each error is calculated using 2t calculations, t for calculating the denominator and t for calculating the numerator. It can be efficiently calculated using a multiplier and an adder.
乗算器、加算器の並列個数を増せば増すほどハードウェ
ア規模は大きくなるため、(t+1)並列構成にするか
、2t並列構成にするかはステップ数とハードウェア規
模の兼ね合いにより決定すればよい。As the number of parallel multipliers and adders increases, the hardware scale increases, so whether to use a (t+1) parallel configuration or a 2t parallel configuration should be determined based on the balance between the number of steps and the hardware scale. .
第1図は本発明の誤り検出及び訂正装置を、従来技術の
項で例示した(15.11)R8符号の復号に適用した
場合のブロック図を示したものである。R8符号の復号
は大きく分けて、シンドロームの計算及び誤りの検出、
誤りシンボル数の判定及び誤り位置多項式の係数算出、
誤り位置多項式の根の導出、各誤りの大きさ算出、入力
ディジタルデータの訂正の5つの段階を経ることにより
実行される。プログラムROM130はそれら各段階に
おける回路の制御命令を予め記憶したものであり、プロ
グラムカウンタ131により発生するアドレスに応じて
回路の各部分に制御信号を供給する。以下第1図を用い
、本実施例の動作を各訂正段階に分けて簡単に説明する
。FIG. 1 shows a block diagram when the error detection and correction apparatus of the present invention is applied to decoding the (15.11) R8 code exemplified in the prior art section. R8 code decoding can be broadly divided into syndrome calculation and error detection;
Determining the number of error symbols and calculating the coefficients of the error locator polynomial,
This is performed through five steps: derivation of the root of the error locator polynomial, calculation of the magnitude of each error, and correction of input digital data. The program ROM 130 stores in advance control instructions for the circuit at each stage, and supplies control signals to each part of the circuit in accordance with the address generated by the program counter 131. The operation of this embodiment will be briefly explained below by dividing it into each correction stage using FIG.
(1)シンドロームの計算及び誤りの検出第1図におい
て、101は情報部D工。〜Doおよびパリティ部P3
〜Poからなる(15.11)R8符号を一時的に記憶
するメモリである。メモす101に記憶されたディジタ
ルデータはDloから順次読み出され、シンドローム生
成部102に送られる。シンドローム生成部102では
メモリ101から読み出されたディジタルデータPDか
ら、(15,11)R8符号の誤りを検出、訂正する際
に必要となる4つのシンドロームS。−83を生成する
。第2図は第1図のシンドローム生成部102の詳細図
であり、図のようにSSo レジスタ201、S81
レジスタ202、SS2 レジスタ203、S83レジ
スタ204、加算回路205〜208、α、U2 α3
器209〜211により構成されている。ここでは−例
として、シンドロームS3を求める手順について説明す
る。(1) Syndrome calculation and error detection In FIG. 1, 101 is the information department D department. ~Do and parity part P3
This is a memory that temporarily stores the (15.11)R8 code consisting of ~Po. The digital data stored in the memo 101 is sequentially read out from Dlo and sent to the syndrome generation section 102. The syndrome generation unit 102 generates four syndromes S necessary for detecting and correcting errors in the (15,11)R8 code from the digital data PD read from the memory 101. -83 is generated. FIG. 2 is a detailed diagram of the syndrome generation unit 102 shown in FIG.
Register 202, SS2 Register 203, S83 register 204, addition circuits 205 to 208, α, U2 α3
It is composed of containers 209 to 211. Here, as an example, a procedure for determining syndrome S3 will be described.
(a)まず、SSo レジスタ201、SSルジスタ2
02、S82 レジスタ203、S83 レジスタ20
4がすべてクリアされてOの状態となる。(a) First, SSo register 201, SS register 2
02, S82 register 203, S83 register 20
4 are all cleared and the state becomes O.
(b)Dよ。が第1図のメモリ101から読み出され、
加算回路208に入力される。一方、SS3レジスタ2
04の内容0とU3の乗算がα3器211で行われ、こ
の結果も同時に加算回路208に供給される。ここで、
α3器の入力を1=(U7. tr6. u=、 U4
. U3. U2. U、、 U、)、出力をO= (
V7.V、、V5.V、、V3.V2.V工。(b) Hey D. is read out from the memory 101 in FIG.
It is input to the adder circuit 208. On the other hand, SS3 register 2
The content 0 of 04 is multiplied by U3 by the α3 unit 211, and this result is also supplied to the adder circuit 208 at the same time. here,
The input of the α3 device is 1 = (U7. tr6. u =, U4
.. U3. U2. U,, U,), the output is O= (
V7. V,,V5. V,,V3. V2. V engineering.
V、> とすると、
0 = (U、、UsttJs、LJ4.U3.U2.
Ut、Uo)x(0,0,0,0,1,0,0,0)
=(U7α7+U6α6+U5α5+U4α4+U3α
3+U2α2+U工α+Uo)×α
=(U7α111 + u6α9+U、α9+U4α7
+U3α6+U2α5+U1α’+Uoα3)である。V, > then 0 = (U,, UsttJs, LJ4.U3.U2.
Ut, Uo)x(0,0,0,0,1,0,0,0) =(U7α7+U6α6+U5α5+U4α4+U3α
3+U2α2+U engineering α+Uo)×α=(U7α111 + u6α9+U, α9+U4α7
+U3α6+U2α5+U1α'+Uoα3).
有限体GF(28)の原始多項式は、Xs+X’+X3
+X2+ 1 = 0であるから、
α8=α4+α3+α2+1
α9=α5+α4+α3+α
α10=α6+α5+α4+α2
である。したがって、
0=U、(α6+α5+α4+α2)+UG(α5+α
4+α+α)+U5(α4+α3+α2+1)+U、α
7+U、α+U2α’+U1α’+Uoa3
=U4α7+(U7+U3)α6+(U7+U、+U2
)α5十(U、十U6+US十U1)α’+(U6+U
5+U、)α3十(U7+U5)α2+U6α+U5
より、
v7=U4
v6=U3+U7
V、=U2+U、+U7
■4−U□+U5+U6+U7
V3=U、+U5+U6
V2=U、+U7
V、=U。The primitive polynomial of the finite field GF(28) is Xs+X'+X3
Since +X2+ 1 = 0, α8=α4+α3+α2+1 α9=α5+α4+α3+α α10=α6+α5+α4+α2. Therefore, 0=U, (α6+α5+α4+α2)+UG(α5+α
4+α+α)+U5(α4+α3+α2+1)+U,α
7+U, α+U2α'+U1α'+Uoa3 =U4α7+(U7+U3)α6+(U7+U,+U2
) α5 ten (U, ten U6 + US ten U1) α'+ (U6 + U
5+U,)α30(U7+U5)α2+U6α+U5 From v7=U4 v6=U3+U7 V,=U2+U,+U7 ■4−U□+U5+U6+U7 V3=U,+U5+U6 V2=U,+U7 V,=U.
V、=US
の関係が得られる。したがって、第3図に示すようにα
3器は8個の排他的論理和301〜308で構成するこ
とができる。また、α器209、α2器210、及び以
降で用いるαのべき果樹(固定係数乗算器と呼ぶ)はす
べてこの方法で構成できる。The relationship V,=US is obtained. Therefore, as shown in Figure 3, α
The triple device can be composed of eight exclusive ORs 301 to 308. Further, the α unit 209, the α2 unit 210, and the power tree of α (referred to as a fixed coefficient multiplier) used hereinafter can all be configured using this method.
加算回路208では、2つの入力をビットごとに排他的
論理和演算しく205〜207も同様である)、その結
果を新しくS83 レジスタ204にセットする。式で
表せば次の様になる。The adder circuit 208 performs an exclusive OR operation on the two inputs bit by bit (the same applies to 205 to 207), and newly sets the result in the S83 register 204. Expressed as a formula, it is as follows.
o×α3+D1o=D1o−)SS3
(c)加算回路208にはメモリ101がら読み出され
たり、と、SS3 レジスタ204の内容とα3の積が
入力する。加算回路208は上述のようにビットごとの
排他的論理和演算(以下、単に加算と称す)を行い、そ
の結果をS83 レジスタ204にセットする。o×α3+D1o=D1o−)SS3 (c) The product of the contents of the SS3 register 204 and α3, read from the memory 101, is input to the adder circuit 208. The adder circuit 208 performs a bit-by-bit exclusive OR operation (hereinafter simply referred to as addition) as described above, and sets the result in the S83 register 204.
D1o×α3+D、→SS3
以下同様の操作が繰り返され、最後にメモリ101から
P。が読み出され、最終的には次の値がSS3 レジス
タ204にセットされる。D1o×α3+D, →SS3 The same operation is repeated, and finally P from the memory 101. is read out, and finally the next value is set in the SS3 register 204.
(・・・((D10Xα3+D9)×α3+DI+)−
+P□)Xα3+P。(...((D10Xα3+D9)×α3+DI+)-
+P□)Xα3+P.
→S83
すなわち、
DloX(α”)14+DgX(α3)13+−+P□
Xα3+P。→S83 That is, DloX(α”)14+DgX(α3)13+-+P□
Xα3+P.
→SS3
これは、情報部D1o−Doおよびパリティ部P3〜P
、からなる(15,11)R8符号のシンドロームS3
である。→SS3 This is the information section D1o-Do and the parity section P3-P.
Syndrome S3 of (15,11)R8 code consisting of ,
It is.
他のシンドロームS。、S□t82 も同様に、それぞ
れに対応する演算回路において、メモリ101から読み
出されるデータD□。、・・・、Po がら生成され、
それぞれSSo レジスタ201、SS□ レジスタ2
02、S82 レジスタ203にセラl〜される。Other syndrome S. , S□t82 are similarly data D□ read from the memory 101 in the corresponding arithmetic circuits. ,..., is generated from Po,
SSo register 201 and SS□ register 2, respectively.
02, S82 The register 203 is loaded.
このようにして求められたシンドロームS。〜S3は、
5So−8S3レジスタ201〜204より第1図0検
出器103及びS。−83レジスタ104〜107に供
給される。0検出器103はシンドロームS。−83が
全てOであるかどうかを検出する、すなわち、入力デー
タの誤りの有無を検出する回路であり、その詳細図は第
4図で示される。論理和401〜404にはシンドロー
ムS。Syndrome S obtained in this way. ~S3 is
5So-8S3 registers 201-204 from FIG. 10 detector 103 and S. -83 is supplied to registers 104-107. 0 detector 103 is syndrome S. This circuit detects whether all -83 are O, that is, detects the presence or absence of errors in input data, and its detailed diagram is shown in FIG. Syndrome S exists in logical sums 401 to 404.
〜S3それぞれのビット成分が入力し、すべてのビット
成分がLL O″′、すなわちシンドロームが0であれ
ばit O”を出力する。それぞれの出力はNORゲー
ト405に入力し、シンドロームS。-S3 respective bit components are input, and if all bit components are LL O''', that is, the syndrome is 0, it outputs it O''. The respective outputs are input to the NOR gate 405, and the outputs are input to the NOR gate 405.
〜S3のすべてがOであれば、O検出器103の出力N
Eは111”になる。信号NEはプログラムカウンタ1
31に供給され、NEが“O”、すなわち入力データに
誤りが存在すればプログラムカウンタ131はカウント
を開始し、以下の訂正動作が行われる。~ If all of S3 are O, the output N of the O detector 103
E becomes 111". Signal NE becomes program counter 1.
31, and if NE is "O", that is, there is an error in the input data, the program counter 131 starts counting, and the following correction operation is performed.
(2)誤り位置多項式の係数算出
誤り位置多項式の係数を求める演算は、プログラムRO
M130の制御により乗算器、及び加算器等からなる制
御回路を3並列構成にした算術演算部108で行われる
。(2) Calculation of coefficients of error locator polynomial The calculation for calculating the coefficients of error locator polynomial is performed using the program RO.
Under the control of M130, the arithmetic operation section 108 has three parallel control circuits each including a multiplier, an adder, etc.
本発明の骨子である算術演算部108は、従来技術の項
で記述した誤り位置多項式の係数及び誤りの大きさを算
出するために必要な演算を行う部分であり、そのブロッ
ク図は第5図に示される。The arithmetic operation section 108, which is the gist of the present invention, is a section that performs the operations necessary to calculate the coefficients and error magnitude of the error locator polynomial described in the section of the prior art, and its block diagram is shown in FIG. is shown.
第5図において、501はレジスタを選択するマルチプ
レクサ、502〜504は有限体G F (28)上の
乗算器、505〜507は加算器及び論理和、論理積等
からなる制御回路、508は入力の逆先を出力するRO
M、509〜511はレジスタである。ここで、有限体
G F (28)上の乗算UXVは、U= (U7.U
、、U5.U4.U3.U2.Ul。In FIG. 5, 501 is a multiplexer that selects a register, 502 to 504 are multipliers on the finite field G F (28), 505 to 507 are control circuits consisting of adders, logical sums, logical products, etc., and 508 is an input. RO that outputs the reverse destination of
M, 509-511 are registers. Here, the multiplication UXV on the finite field G F (28) is U= (U7.U
,,U5. U4. U3. U2. Ul.
Uo)、V=(V7. V6. V5. V、、 V3
. V2. Vl。Uo), V=(V7. V6. V5. V,, V3
.. V2. Vl.
Uo)とすると、
U X V = U X V oX a+UXV□×α
1
+UXV1Xα7
と表すことができるから、第5図の乗算器502〜50
4は第6図のように構成できる。601〜608は固定
係数乗算器、64個の609は2人力論理積ゲート、6
10〜617はパリティジェネレータ回路である。前述
のように、固定係数乗算器は排他的論理和ゲートから、
パリティジェネレータもたは排他的論理和ゲートにより
構成されるので、有限体GF(211)上の乗算器50
2〜504は、2人力論理積ゲートと排他的論理和ゲー
トにより構成できる。以下第5図を用いて、誤りが2個
の場合の誤り位置多項式の係数、すなわち式(10)〜
(12)、
%式%(10)
の算出手順を簡単に説明する。Uo), then U X V = U X V oX a+UXV□×α
1 +UXV1Xα7 Therefore, the multipliers 502 to 50 in FIG.
4 can be constructed as shown in FIG. 601 to 608 are fixed coefficient multipliers, 64 609 are two-manual AND gates, 6
10 to 617 are parity generator circuits. As mentioned above, fixed coefficient multipliers are derived from exclusive OR gates,
Since the parity generator is composed of an exclusive OR gate, the multiplier 50 on the finite field GF (211)
2 to 504 can be configured by two manual AND gates and exclusive OR gates. Below, using FIG.
(12) and the calculation procedure of the % formula %(10) will be briefly explained.
(a)プログラムROM130から″乗算器の命令が制
御回路505〜507に、レジスタを選択する信号がマ
ルチプレクサ502に出力され、乗算器502〜504
ではそれぞれS1×S1゜51XS2,52XS2t計
算し、AL/ジスタ509〜Cレジスタ511にストア
する。(a) From the program ROM 130, a multiplier instruction is output to control circuits 505 to 507, a register selection signal is output to multiplexer 502, and multipliers 502 to 504
Then, S1×S1°51×S2, 52×S2t are calculated and stored in the AL/register 509 to C register 511, respectively.
S、2 → A
S1S2→ B
522 → C
(b)次に、プログラムROM130から“乗算″十加
算″′の命令が出され、乗算器502〜504ではそれ
ぞれ5IIX SKI SQX Ss−s、xS3 を
計算し、Aレジスタ509〜Cレジスタ511の内容に
加える。S, 2 → A S1S2 → B 522 → C (b) Next, the program ROM 130 issues an instruction to “multiply” and “add 10”, and the multipliers 502 to 504 calculate 5IIX SKI SQX Ss-s, xS3, respectively. and adds it to the contents of the A register 509 to C register 511.
S12+5oS2 → A
SiS2+5oS3 → B
s2”+51s3 → C
(Q) “逆光”命令によりROM508にはAレジ
スタ509の内容、乗算器502〜504にはすべて′
0′が入力される。制御回路506゜507は乗算結果
(Oj を出力し、Bレジスタ510、Cレジスタ51
1に加える。また、制御回路505はROM508の出
力、すなわちAレジスタ509の内容の逆光を出力し、
Aレジスタ509にストアする。S12+5oS2 → A SiS2+5oS3 → B s2"+51s3 → C (Q) By the "backlight" instruction, the contents of the A register 509 are stored in the ROM 508, and all of the contents are stored in the multipliers 502 to 504.
0' is input. The control circuits 506 and 507 output the multiplication result (Oj), and the B register 510 and the C register 51
Add to 1. Further, the control circuit 505 outputs the output of the ROM 508, that is, the backlight of the contents of the A register 509,
Store in A register 509.
1 / (s x” + s o S 2) →
ASiS、+5oS3+O−+ B
s2”+5oS3+O→ C
(d)最後に、″乗算器命令により乗算器503はAレ
ジスタ509とCレジスタ511の内容を、乗算器50
4はAレジスタ509とBレジスタ510の内容を乗算
し、それぞれBレジスタ510、Cレジスタ511にス
1−アする。また、乗算器502には′1′と′1″が
入力し、その乗算結果′1′をAレジスタ509にスト
アする。1 / (s x” + s o S 2) →
ASiS, +5oS3+O-+ B s2"+5oS3+O→C (d) Finally, by the "multiplier instruction, the multiplier 503 transfers the contents of the A register 509 and C register 511 to the multiplier 50.
4 multiplies the contents of the A register 509 and the B register 510 and stores them in the B register 510 and C register 511, respectively. Further, '1' and '1'' are input to the multiplier 502, and the multiplication result '1' is stored in the A register 509.
5182+5flS3
1 → A
以上の手続きにより、2次の誤り位置多項式の1次の項
の係数αaがBレジスタ510に、0次の項の係数α1
がCレジスタ511に、また2次の項の係数′1′がA
レジスタ509にセットされる。なお、誤りが1つの場
合はAレジスタ509に0、Bレジスタ510に1、C
レジスタ511にα8をセットする。5182+5flS3 1 → A Through the above procedure, the coefficient αa of the first-order term of the second-order error locator polynomial is stored in the B register 510, and the coefficient α1 of the zero-order term is stored in the B register 510.
is stored in the C register 511, and the coefficient '1' of the quadratic term is stored in A
It is set in register 509. If there is one error, 0 is written to the A register 509, 1 is written to the B register 510, and C
Set α8 in register 511.
(3)誤り位置多項式の根の導出
算術演算部108で求められた誤り位置多項式の係数に
、、に、、に、は第1図チェン探索部109に送られる
。第7図はチェン探索部1.09の詳細図である。チェ
ン探索部はレジスタ701〜703、固定係数乗算器7
04,705、加算回路706゜論理和707.ダウン
カウンタ708、及びレジスタ709.固定係数乗算器
710.レジスタADR,711,レジスタADR27
12で構成される。(3) Derivation of roots of error locator polynomial The coefficients of the error locator polynomial determined by the arithmetic operation unit 108, , , , , are sent to the Chien search unit 109 in FIG. FIG. 7 is a detailed diagram of the Chien search section 1.09. The Chien search unit includes registers 701 to 703 and a fixed coefficient multiplier 7.
04,705, addition circuit 706° logical sum 707. Down counter 708, and register 709. Fixed coefficient multiplier 710. Register ADR, 711, register ADR27
Consists of 12.
(2)で求められた誤り位置多項式の係数に2゜K1.
に、は、第5図Aレジスタ509−Cレジスタ511か
らレジスタ701〜703にラッチされる。それと同時
に第1図プログラムカウンタ]−31がホールドされ、
誤りの位置を格納するA、DR1レジスタ711.AD
R,レジスタ712がクリアされると共にチェン探索が
開始される。The coefficient of the error locator polynomial obtained in (2) is 2°K1.
Then, are latched from the A register 509 to the C register 511 to the registers 701 to 703 in FIG. At the same time, the program counter in Figure 1]-31 is held.
A, DR1 register 711 . that stores the location of the error. A.D.
R, register 712 is cleared and Chien search is started.
第7図の704,705はそれぞれレジスタ701のα
2器、レジスタ702のα器である。704 and 705 in FIG. 7 are α of the register 701, respectively.
2, the alpha device of register 702.
まず初めに、レジスタ701,702,703に記憶さ
れた信号、]−2α0.α5は加算回路706に入力す
るとともに1はα2器704に、α器はα器705に入
力する。加算回路706では入力を各成分ごとに排他的
論理和演算する。これが、誤り位置多項式
%式%
のX−α0とした時、
σ(α0)=(α0)2+αa(α0)十α1・=1+
α0+α1゛
に相当する。σ(α器)はσ(α器)の各ビット成分の
論理和707によりOベクトルであるかどうかを検出さ
れ、0ベクトルであれば出力信号ERは(L Q II
、そうでなければtL 1 ++となる。First, the signals stored in registers 701, 702, 703, ]-2α0. α5 is input to the addition circuit 706, 1 is input to the α2 unit 704, and the α unit is input to the α unit 705. The adder circuit 706 performs an exclusive OR operation on the inputs for each component. When this is X-α0 of the error locator polynomial% formula%, σ(α0)=(α0)2+αa(α0)+α1・=1+
It corresponds to α0+α1゛. Whether σ (α unit) is an O vector is detected by the logical sum 707 of each bit component of σ (α unit), and if it is a 0 vector, the output signal ER is (L Q II
, otherwise tL 1 ++.
■探索終了後、レジスタ701の内容はα2器704の
出力α2 レジスタ702の内容はα器705の出力
α8α となり、加算回路707の出力は誤り位置多項
式のX=αとした時、σ(α器)=α2+α8α+α5
に相当する。以下、これらの過程を繰り返し行って誤り
位置多項式にα からα14を代入した値を求め、それ
がOバク1ヘルであれば論理和707の出力ERはtr
O”となる。■After the search is completed, the contents of the register 701 are the output α2 of the α2 unit 704, the contents of the register 702 are the output α8α of the α2 unit 705, and the output of the adder circuit 707 is σ(α unit )=α2+α8α+α5. Below, these processes are repeated to obtain the value obtained by substituting α to α14 into the error locator polynomial, and if it is O back 1 hell, the output ER of the logical sum 707 is tr
O”.
一方、レジスタ709及びα器710は現在探索してい
る元の位置を求めるためのもであり、レジスタ709は
チェン探索開始時に’ 1 ’ (=α0)にセットさ
れる。レジスタ709の内容はα器により1探索ごとに
α、α2.α3.・・と変化し、その時の誤り位置多項
式の値がOベクトルであれば、ダウンカウンタ708の
制御によりADRl レジスタ711、またはADR2
レジスタ712にレジスタ709の内容をセラ1〜する
。On the other hand, the register 709 and the α unit 710 are used to find the original position currently being searched, and the register 709 is set to '1' (=α0) at the start of the Chien search. The contents of the register 709 are changed to α, α2, . α3. ..., and if the value of the error locator polynomial at that time is O vector, the ADRl register 711 or ADR2 is controlled by the down counter 708.
The contents of the register 709 are stored in the register 712.
誤り位置多項式が2次の場合、最終的にADR1レジス
タ711に誤り位置P2ADR2レジスタ712に誤り
位置P3. (αの次数がPl〈P2)が格納され、
1次の場合はADRニレジスタフ11に誤り位置Pよが
格納される。When the error locator polynomial is quadratic, the error locator P3 . (The order of α is Pl<P2) is stored,
In the case of the first order, the error position P is stored in the ADR register 11.
(4)各誤りの誤りの大きさの算出 チェン探索によって求められた誤りの位置P工。(4) Calculating the magnitude of each error Error position P found by Chen search.
P2は、第1図のS□ レジスタ106、S3 レジス
タ107にセラ1−される。誤りの大きさを求める演算
は(2)の誤り位置多項式の係数を求める演算と同様に
、プログラムROM130の制御により第1図算術演算
部」08で並列に行われる。従来技術の項で述べた誤り
の大きさ算出手順が予め記憶されているプログラムRO
M130は、第5図マルチプレクサ501、制御回路5
05〜507に制御信号を供給する。各部分はその命令
にしたがって動作し、最終的にAレジスタ509とBレ
ジスタ510に誤りの大きさをセットする。ここで、A
レジスタ509にセットされる誤りの大きさは、第7図
ADR1レジスタ711に格納されている誤りの位置に
対応し、Bレジスタ510はADR2レジスタ712に
対応する。P2 is set to S□ register 106 and S3 register 107 in FIG. Similar to the calculation for determining the coefficients of the error locator polynomial in (2), the calculation for determining the magnitude of the error is performed in parallel by the arithmetic operation section 08 in FIG. 1 under the control of the program ROM 130. A program RO in which the error magnitude calculation procedure described in the prior art section is stored in advance.
M130 is the multiplexer 501 and control circuit 5 in FIG.
05 to 507 are supplied with control signals. Each section operates according to its instructions and finally sets the magnitude of the error in A register 509 and B register 510. Here, A
The magnitude of the error set in the register 509 corresponds to the position of the error stored in the ADR1 register 711 in FIG. 7, and the B register 510 corresponds to the ADR2 register 712.
(5)入力ディジタルデータの訂正 第8図は第1図訂正部110の詳細図である。(5) Correction of input digital data FIG. 8 is a detailed diagram of the correction unit 110 in FIG. 1.
訂正部はRAM801.ROM802.マルチプレクサ
803,804.コンパレータ805.ラッチ806.
カウンタ807,808.加算回路809から構成され
、誤りの位置P□、P2と誤りの大きさに1.に2から
入力データを訂正し、訂正後のデータNDを出力する回
路である。RAM801はデータの位置を示すダウンカ
ウンタ807からアドレス信号を入力し、予め書き込ま
れた訂正前のデータPDを出力する。なお、ダウンカウ
ンタ807は初期状態で符号長にセットされている。マ
ルチプレクサ803,804はそれぞれ次回訂正する誤
りの誤りの位置と誤りの大きさを出力し、カウンタ80
8はその制御信号を供給する。The correction section is RAM801. ROM802. Multiplexers 803, 804. Comparator 805. Latch 806.
Counters 807, 808. It is composed of an adder circuit 809, and the error position P□, P2 and the error size are 1. This circuit corrects the input data from 2 to 2 and outputs the corrected data ND. The RAM 801 inputs an address signal from a down counter 807 indicating the position of data, and outputs pre-written data PD before correction. Note that the down counter 807 is initially set to the code length. Multiplexers 803 and 804 each output the error position and error size of the error to be corrected next time, and counter 80
8 provides its control signals.
初期状態では、カウンタ808はtt i I+にセッ
トされ、マルチプレクサ803,804からはそれぞれ
P2. K2が出力されている。マルチプレクサ803
の出力はROM802のアドレスとして入力し、ROM
802はベクトルとして記憶されている誤りの位置をα
の指数部に変換する。In the initial state, counter 808 is set to tt i I+, and multiplexers 803 and 804 output P2. K2 is being output. multiplexer 803
The output of is input as the address of ROM802, and the ROM
802 indicates the position of the error stored as a vector by α
Convert to the exponent part of .
訂正開始と共にRAM801はカウンタ807からアド
レス信号を入船し、格納しているデータを出力する。コ
ンパレータ805はカウンタ807の出力とROM80
2の出力が一致しているか、すなわちデータが誤りであ
るかどうかを調べ、加算回路809に制御信号を供給す
る。加算回路809ではその制御信号によりデータが誤
りであるかどうかを判断し、誤りであればマルチプレク
サ804の出力、すなわち誤りの大きさとデータの排他
的論理和をとり訂正する。At the start of correction, the RAM 801 receives an address signal from the counter 807 and outputs the stored data. The comparator 805 connects the output of the counter 807 and the ROM 80.
It is checked whether the two outputs match, that is, whether the data is erroneous, and a control signal is supplied to the adder circuit 809. The adder circuit 809 determines whether the data is an error based on the control signal, and if it is an error, the output of the multiplexer 804, that is, the exclusive OR of the error size and the data is corrected.
また、コンパレータの出力はラッチ806にも供給され
、次のクロックでラッチ806の出力がカウンタ808
のクロックとして入力する。カウンタ808の内容は2
となり、マルチプレクサ803.804からはPl、に
1が出力される。以下、同様な処理を行いRAM801
からすべてのデータが出力されることにより訂正が完了
する。The output of the comparator is also supplied to the latch 806, and the output of the latch 806 is input to the counter 808 at the next clock.
input as the clock. The content of counter 808 is 2
The multiplexers 803 and 804 output 1 to Pl. Below, similar processing is performed and the RAM801
The correction is completed by outputting all data.
第9図は4誤り訂正能力を持つR8符号の誤り検出及び
訂正装置における、算術演算部の並列数と各誤り個数に
おける演算ステップ数の関数を示したものである。図中
の係数は前記従来技術の(2)誤り位置多項式の係数算
出、大きさは(4)誤りの大きさ算出である。図を見れ
ば分かるように、並列数を増せば増すほど演算ステップ
数は少なくなるが、ハードウェア規模の点を考慮すると
最も効率の良い並列数は5(訂正能力t=4とした時の
t+1)、または8(2t)であることが分かる。FIG. 9 shows the function of the number of parallel arithmetic operation sections and the number of operation steps for each number of errors in an error detection and correction device for an R8 code having a four-error correction capability. The coefficients in the figure are (2) coefficient calculation of error locator polynomial in the prior art, and the magnitude is (4) error magnitude calculation. As you can see from the figure, the number of calculation steps decreases as the number of parallels increases, but considering the hardware scale, the most efficient number of parallels is 5 (t + 1 when correction capacity t = 4). ), or 8(2t).
第1図は本発明の誤り検出及び訂正装置を、本実施例の
(15,11)R8符号の復号に適用した場合のブロッ
ク図、第2図は第1図シンドローム生成部102、第3
図は第2図α3乗算器211、第4図は第1図O検出器
103、第5図は第1図算術演算部108、第6図は第
5図乗算器502、第7図は第1図チェン探索部109
、第8図は第1図訂正部110をより詳しく記述したブ
ロック図、第9図は従来の誤り検出及び訂正装置と本発
明による誤り検出及び訂正装置の、誤り位置多項式の係
数及び各誤りの大きさ算出に要するステン第
霞
■
回FIG. 1 is a block diagram when the error detection and correction device of the present invention is applied to decoding the (15,11)R8 code of this embodiment, and FIG.
The figure shows the α3 multiplier 211 in FIG. 2, the O detector 103 in FIG. 1 in FIG. 4, the arithmetic operation unit 108 in FIG. 1 in FIG. Figure 1 Chen search section 109
, FIG. 8 is a block diagram that describes the correction unit 110 in FIG. Number of times required to calculate the size
Claims (1)
号及び誤り検査符号からなるディジタルデータを一時的
に記憶するメモリと、該メモリに記憶された該ディジタ
ルデータに対して所定の有限体上の演算を施すことによ
り、該ディジタルデータの誤りを検出し、t個の誤りを
訂正する手段を有する誤り検出及び訂正装置において、
誤り位置多項式の係数及び各誤りの大きさを、(t+1
)個、または2t個の乗算器及び加算器により並列に演
算することを特徴とするリードソロモン符号の誤り検出
及び訂正装置。1. A memory for temporarily storing digital data consisting of a digital signal encoded by a Reed-Solomon code and an error check code, and performing an operation on a predetermined finite field on the digital data stored in the memory. In an error detection and correction apparatus having means for detecting errors in the digital data and correcting t errors,
The coefficients of the error locator polynomial and the magnitude of each error are expressed as (t+1
1. An error detection and correction device for a Reed-Solomon code, characterized in that operations are performed in parallel using ) or 2t multipliers and adders.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2183932A JPH0472923A (en) | 1990-07-13 | 1990-07-13 | Error detecting and correcting device for reed solomon code |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2183932A JPH0472923A (en) | 1990-07-13 | 1990-07-13 | Error detecting and correcting device for reed solomon code |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0472923A true JPH0472923A (en) | 1992-03-06 |
Family
ID=16144334
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2183932A Pending JPH0472923A (en) | 1990-07-13 | 1990-07-13 | Error detecting and correcting device for reed solomon code |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0472923A (en) |
-
1990
- 1990-07-13 JP JP2183932A patent/JPH0472923A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0329789B1 (en) | Galois field arithmetic unit | |
| US7805662B2 (en) | Error correction code decoder | |
| KR19980014906A (en) | Accumulator | |
| EP0416308A2 (en) | Rectangular array signed digit multiplier | |
| KR19980027920A (en) | Error correction method and device | |
| EP0169908A1 (en) | Method and circuit for decoding error coded data | |
| JP2502836B2 (en) | Preprocessing device for division circuit | |
| JP3245290B2 (en) | Decoding method and device | |
| US5341385A (en) | Method and apparatus for decoding Reed-Solomon code | |
| JPH01268318A (en) | Method and circuit for detecting error of data | |
| JPH0472923A (en) | Error detecting and correcting device for reed solomon code | |
| US5541940A (en) | Error correction method and error correction circuit | |
| WO2003036798A2 (en) | Decoding method and decoder for reed solomon code | |
| JP3252515B2 (en) | Error correction device | |
| JP3135552B2 (en) | Error detection and correction device for Reed-Solomon code | |
| JPH10322226A (en) | Reed-Solomon decoding method | |
| JP3231811B2 (en) | Matrix operation circuit | |
| JP2944813B2 (en) | Error correction code decoding device | |
| JP3304770B2 (en) | Euclid mutual exchange method and apparatus | |
| JPS6343419A (en) | Reed-solomon code decoder | |
| JPH1065552A (en) | Arithmetic processing method for error correction and processing circuit | |
| JP3280470B2 (en) | Error correction circuit | |
| JP3239866B2 (en) | Data inspection method and apparatus based on CRC and recording medium | |
| JP2948026B2 (en) | Decoding method of Reed-Solomon code | |
| JP2591250B2 (en) | Data processing device |