JPH071876B2 - Decoding device for BCH code - Google Patents
Decoding device for BCH codeInfo
- Publication number
- JPH071876B2 JPH071876B2 JP25144383A JP25144383A JPH071876B2 JP H071876 B2 JPH071876 B2 JP H071876B2 JP 25144383 A JP25144383 A JP 25144383A JP 25144383 A JP25144383 A JP 25144383A JP H071876 B2 JPH071876 B2 JP H071876B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- value
- boundary
- polynomial
- register group
- 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.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
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)
Description
【発明の詳細な説明】 「産業上の利用分野」 この発明は、BCH符号の復号装置、特にユークリッドの
互除法を用いて、エラーロケーシヨン多項式及びエラー
エバリユエーシヨン多項式を求める復号装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a BCH code decoding device, and more particularly, to a decoding device for obtaining an error location polynomial and an error evolution polynomial using the Euclidean algorithm.
「背景技術とその問題点」 BCH符号のひとつであるリードソロモン符号の復号方法
の概略について説明する。ここでは、符号長がnで、情
報シンボル数がkで、最小距離dが(n−k+1=2t+
1)となり、生成多項式が のGF(2m)上のリードソロモン符号(t個のシンボルの
訂正可能)について説明する。[Background Art and its Problems] An outline of the decoding method of the Reed-Solomon code, which is one of the BCH codes, will be described. Here, the code length is n, the number of information symbols is k, and the minimum distance d is (n−k + 1 = 2t +
1) and the generator polynomial is The Reed-Solomon code (correction of t symbols) on GF (2 m ) will be described.
最初に受信語(r0,r1,r2,…rn-1)から、シンドロー
ムSj(j=0,1,…d−2)を求める。First received word (r 0, r 1, r 2, ... r n-1) from the syndrome Sj (j = 0,1, ... d -2) obtained.
次に、シンドロームを用いてエラーロケーシヨン多項式
σ(z)及びエラーエバリユエーシヨン多項式ω(z)
を求める。この方法のひとつとして、ユークリツドの互
除法を用いたものがある。 Next, using the syndrome, the error location polynomial σ (z) and the error evolution polynomial ω (z)
Ask for. As one of the methods, there is a method using Euclid's mutual division method.
求められたエラーロケーシヨン多項式(σ(z)=0)
を解いてエラーロケーシヨンXiを求める。そして、エラ
ーロケーシヨンXiとエラーエバリユエーシヨン多項式ω
(z)からエラー値Yiを求める。Obtained error location polynomial (σ (z) = 0)
Solve to find the error location Xi. Then, the error location Xi and the error evaluation polynomial ω
The error value Yi is obtained from (z).
上述のエラーロケーシヨン多項式σ(z)及びエラーエ
バリユエーシヨン多項式ω(z)は、S(z)をシンド
ローム多項式とすると、z2tとS(z)の最大公約多項
式を求めるユークリツドの互除法の過程で求まることが
証明されている。これは、次のアルゴリズムである。The error location polynomial σ (z) and the error evolution polynomial ω (z) described above are Euclidean mutual division methods for finding the greatest common divisor polynomial of z 2t and S (z), where S (z) is a syndrome polynomial. It has been proved that it can be found in the process. This is the next algorithm.
まず、レジスタに初期値を と設定する。これらの多項式に関して次の演算を行な
い、ri(z)及びUi(z)を求める。First, the initial value in the register And set. The following operations are performed on these polynomials to obtain ri (z) and Ui (z).
ri-2(z)÷ri-1(z)=qi(z)……ri(z) Ui(z)=Ui-2(z)+Ui-1(z)qi(z) 但し、ri(z)の次数より、ri-1(z)の次数が大であ
る。この演算を繰り返し、ri(z)の次数がtより小さ
くなつたら、演算を止める。この時、エラーロケーショ
ン多項式σ(z)及びエラーエバリユエーシヨン多項式
ω(z)は、下式のように求められる。r i-2 (z) ÷ r i-1 (z) = qi (z) ... r i (z) Ui (z) = U i-2 (z) + U i-1 (z) qi (z) however, than the degree of r i (z), the degree of r i-1 (z) is large. This calculation is repeated, and when the order of r i (z) becomes smaller than t, the calculation is stopped. At this time, the error location polynomial σ (z) and the error evaluation polynomial ω (z) are obtained by the following equation.
σ(z)=Ui(z)/Ui(0) ω(z)=ri(z)/Ui(0) 上述のアルゴリズムを実現するための従来の復号器は、
レジスタのシフト動作が必要であつた。シフト動作を行
なうハードウエアとしては、データバスに複数のレジス
タを接続し、シフトしたいレジスタからデータバスにデ
ータを取り出し、隣のレジスタに書込む構成が知られて
いる。この方法では、シフトするレジスタの数だけ、ス
テツプが必要となる欠点がある。他のハードウエアとし
ては、複数のレジスタの段間にデータセレクタを挿入
し、データバスからのデータと前段のレジスタからのデ
ータとをデータセレクタにより選択できるようにし、シ
フト動作の時は、前段のレジスタからのデータを選択す
る構成がある。このハードウエアによれば、シフト動作
を1ステツプで行なうことができるが、データセレクタ
のためにハードウエアの規模が大きくなる問題が生じ
る。これらの理由により、復号器を実現するうえでは、
シフト動作を必要としないことが好ましい。σ (z) = Ui (z) / Ui (0) ω (z) = ri (z) / Ui (0) A conventional decoder for implementing the above algorithm is
The shift operation of the register was necessary. As hardware for performing a shift operation, a configuration is known in which a plurality of registers are connected to a data bus, data is taken out from the register to be shifted to the data bus, and is written in an adjacent register. This method has a drawback in that steps are required as many as the number of registers to be shifted. As other hardware, a data selector is inserted between the stages of a plurality of registers so that the data from the data bus and the data from the register of the previous stage can be selected by the data selector. There is a configuration that selects data from a register. According to this hardware, the shift operation can be performed in one step, but the data selector causes a problem that the scale of the hardware becomes large. For these reasons, in implementing the decoder,
It is preferable that no shift operation is required.
「発明の目的」 この発明の目的は、レジスタのシフト動作が必要とされ
ないBCH符号の復号装置の提供を目的とするものであ
る。この発明に依れば、復号器のハードウエアを簡略化
できると共に、復号速度の向上を図ることができる。"Object of the Invention" An object of the present invention is to provide a decoding device for a BCH code which does not require a shift operation of a register. According to the present invention, the hardware of the decoder can be simplified and the decoding speed can be improved.
「発明の概要」 この発明は、第1及び第2のレジスタ群の内容を被除数
及び除数に対応させ、第1及び第2のレジスタ群の内容
を用いてユークリッドの互除法により、エラーロケーシ
ョン多項式及びエラーエバリュエーション多項式を求め
るようにしたBCH符号の復号装置において、 第1及び第2のレジスタ群の各レジスタの値が供給され
て積和演算を行い、演算結果をレジスタに書き込む演算
手段と、 それぞれのレジスタ群における境界の位置を示す指示手
段と、 ゼロ検出手段と、 第1及び第2のレジスタ群と、演算手段と、指示手段の
動作を制御する制御手段とを有し、 制御手段は、 第1のレジスタ群の初期値として(1,100・・・00)
(但し、,はUとrの境界の位置を示す)を設定し、 第2のレジスタ群の初期値として(00,S(z))(但
し、,はUとS(z)の境界の位置を示し、S(z)は
シンドローム多項式を示す)を設定し、(a)各レジス
タ群における境界位置の右側のレジスタの除算を行い、 (b)境界位置の右側においては、一方のレジスタ群の
レジスタの値に除算結果を乗算し、対応する他方のレジ
スタの値に加算した値を該他方のレジスタに書き込み、 (c)境界位置の左側においては、他方のレジスタ群の
レジスタの値に除算結果を乗算し、対応する一方のレジ
スタの値に加算した値を該一方のレジスタに書き込み、 (d)ゼロ検出手段によって、境界位置の右側のレジス
タの値が0となったことが検出されるとき、0でない位
置まで該境界の位置を右側にずらし、 (a)から(d)の処理を繰り返し行うものであること
を特徴とするBCH符号の復号装置である。SUMMARY OF THE INVENTION The present invention relates the contents of the first and second register groups to the dividend and divisor, and uses the contents of the first and second register groups by the Euclidean algorithm to calculate the error location polynomial In a BCH code decoding device configured to obtain an error evaluation polynomial, the values of the respective registers of the first and second register groups are supplied to perform a product-sum operation, and an operation means for writing the operation result into the register. Of the register group, indicating means for indicating the position of the boundary, zero detecting means, first and second register groups, calculating means, and control means for controlling the operation of the indicating means. As the initial value of the first register group (1,100 ... 00)
(However, indicates the position of the boundary between U and r), and sets (00, S (z)) as the initial value of the second register group (however, indicates the boundary between U and S (z). Position (S (z) indicates a syndrome polynomial), (a) the register on the right side of the boundary position in each register group is divided, and (b) on the right side of the boundary position, one register group is set. The value of the register of is multiplied by the division result, the value added to the value of the other corresponding register is written to the other register, and (c) on the left side of the boundary position, the value of the register of the other register group is divided. The result is multiplied and the value added to the value of the corresponding one register is written in the one register. (D) It is detected by the zero detection means that the value of the register on the right side of the boundary position becomes 0. Then the position of the boundary up to a non-zero position Shifting to the right, a decoder for BCH codes, characterized in that repeating the process of (a) to (d).
「実施例」 以下、この発明の一実施例の復号処理について説明す
る。この一実施例は、(t=3)で、GF(24)上のリー
ドソロモン符号に対してこの発明を適用したものであ
る。[Embodiment] A decoding process according to an embodiment of the present invention will be described below. In this embodiment, (t = 3), the present invention is applied to a Reed-Solomon code on GF (2 4 ).
第1図において、31は、各4ビツトの(2t+2=8)個
のレジスタからなるレジスタ群を示し、32は、各4ビツ
トの8個のレジスタからなるレジスタ群を示す。これら
のレジスタ群31,32の各レジスタの内容は、バスバツフ
ア及びデータバスを介してGF(24)の演算回路に供給さ
れると共に、演算結果がデータバス及びバスバツフアを
介して各レジスタに供給される。In FIG. 1, 31 indicates a register group consisting of (2t + 2 = 8) registers of 4 bits each, and 32 indicates a register group consisting of 8 registers of 4 bits each. The contents of each register of these register groups 31 and 32 are supplied to the arithmetic circuit of GF (2 4 ) via the bus buffer and the data bus, and the arithmetic result is supplied to each register via the data bus and the bus buffer. It
第1図Aは、レジスタ群31及び32に初期値がセツトされ
た状態である。αは、(x4+x+1=0)の根で、(α
15=1)であり、0及び1は、夫々GF(24)上の零元及
び単位元である。レジスタ群31には、初期値として、
(Uo(z)=1,r-1(z)=z6)即ち(1,1000000)がセ
ツトされる。レジスタ群32には、初期値として、(U-1
(z)=0,S(z)がセツトされる。コンマ「,」は、
データの位置情報であつて、初期状態では、レジスタ群
31におけるコンマは、Uとrとの境界を表わし、レジス
タ群32におけるコンマは、UとS(z)の境界を表わし
ている。この第1図に示す例では、シンドローム多項式
の一例として下記のものを想定している。FIG. 1A shows a state where initial values are set in the register groups 31 and 32. α is the root of (x 4 + x + 1 = 0), and (α
15 = 1), and 0 and 1 are the zero element and the identity element on GF (2 4 ), respectively. In the register group 31, as an initial value,
(U o (z) = 1, r-1 (z) = z 6 ) That is, (1,1000000) is set. In the register group 32, (U -1
(Z) = 0, S (z) is set. The comma "," is
Data position information, which is the register group in the initial state
The comma in 31 represents the boundary between U and r, and the comma in register group 32 represents the boundary between U and S (z). In the example shown in FIG. 1, the following is assumed as an example of the syndrome polynomial.
r0(z)=S(z)=α7z5+α7z4+α11z3 +α11z2+α14z+α4 ユークリツドの互除法を用いて、エラーロケーション多
項式σ(z)及びエラーエバリュエーシヨン多項式ω
(z)を求めるには、下記のような(ri-2(z)÷ri-1
(z)=qi(z)…ri(z)の演算がなされる。r 0 (z) = S (z) = α 7 z 5 + α 7 z 4 + α 11 z 3 + α 11 z 2 + α 14 z + α 4 Using the Euclidean algorithm, the error location polynomial σ (z) and the error evalu Ace polynomial ω
To obtain (z), (r i-2 (z) ÷ r i-1
Calculation of (z) = qi (z) ... ri (z) is performed.
r-1(z)÷r0(z)=q1(z)……r1(z) q1(z)=α8z+α8 r1(z)=αz4+α3z2+α2z+α12 r0(z)÷r1(z)=q2(z)……r2(z) q2(z)=α6z6+α6 r2(z)=α2z3+z2+α2z+α7 r1(z)÷r2(z)=q3(z)……r3(z) q3(z)α14z+α12 r3(z)=α8z2+z+α6 この演算は、第2図に示すような計算で表わすことがで
きる。r3(z)の次数が(t=3)より小となつたの
で、上述の演算は、この段階で終えられる。r -1 (z) ÷ r 0 (z) = q 1 (z) ... r 1 (z) q 1 (z) = α 8 z + α 8 r 1 (z) = α z 4 + α 3 z 2 + α 2 z + α 12 r 0 (z) ÷ r 1 (z) = q 2 (z) …… r 2 (z) q 2 (z) = α 6 z 6 + α 6 r 2 (z) = α 2 z 3 + z 2 + α 2 z + α 7 r 1 (z) ÷ r 2 (z) = q 3 (z) …… r 3 (z) q 3 (z) α 14 z + α 12 r 3 (z) = α 8 z 2 + z + α 6 This operation Can be represented by a calculation as shown in FIG. Since the degree of r 3 (z) is smaller than (t = 3), the above calculation is completed at this stage.
また、下記に示すように、(Ui(z)=Ui-2(z)+U
i-1(z)qi(z))の演算が行なわれる。In addition, as shown below, (Ui (z) = U i-2 (z) + U
i-1 (z) qi (z)) is calculated.
U1(z)=U-1(z)+U0(z)q1(z)=α8z+α8 U2(z)=U0(z)+U1(z)q2(z)=α14z2+α3 U3(z)=U1(z)+U2(z)q3(z) =α13z3+α11z2+z+α2 そして、 σ(z)=U3(z)/U3(0)=U3(z)/α2 =α11z3+α9z2+α13z+1 ω(z)=r3(z)/U3(0)=r3(z)/α2 =α6z2+α13z+α4 により、エラーロケーシヨン多項式σ(z)及びエラー
エバリユエーシヨン多項式ω(z)が求まる。U 1 (z) = U −1 (z) + U 0 (z) q 1 (z) = α 8 z + α 8 U 2 (z) = U 0 (z) + U 1 (z) q 2 (z) = α 14 z 2 + α 3 U 3 (z) = U 1 (z) + U 2 (z) q 3 (z) = α 13 z 3 + α 11 z 2 + z + α 2 and σ (z) = U 3 (z) / U 3 (0) = U 3 (z) / α 2 = α 11 z 3 + α 9 z 2 + α 13 z + 1 ω (z) = r 3 (z) / U 3 (0) = r 3 (z) / α The error location polynomial σ (z) and the error evolution polynomial ω (z) are obtained by 2 = α 6 z 2 + α 13 z + α 4 .
上述のri(z)及びUi(z)を求めるために、レジスタ
群31及び32が用いられる。レジスタ群31の各レジスタの
内容を右側から順に、T0,T1,T2,……T7とし、レジス
タ群32の各レジスタの内容を右側から順にB0,B1,B2,
……B7とする。The register groups 31 and 32 are used to obtain the above-mentioned ri (z) and Ui (z). The contents of each register of the register group 31 are T 0 , T 1 , T 2 , ... T 7 in order from the right side, and the contents of each register of the register group 32 are B 0 , B 1 , B 2 ,
And ...... B 7.
第1図Aに示すように各レジスタに初期値を設定した後
に、レジスタ群31及び32のコンマの位置の右側のレジス
タの内容T6及びB5の値を演算回路に供給して除算を行な
いAの値を求め、保持する。第1図Aでは、(A=1÷
α7=α8)となる。このAをレジスタ群32の各レジスタ
の内容に乗算し、その乗算出力にレジスタ群31の対応す
るレジスタ(上側のレジスタ)の内容Tiを加算し、この
加算出力をレジスタ群31に書込む。第1図Aの最も右側
の1対のレジスタT1及びB0では、0及びα4が演算回路
に供給され、 (α3×α4+0=α12)が求められ、これが第1図Bに
示すように、レジスタ群31の右端から2番目のレジスタ
T1に書き込まれる。即ち、レジスタ群31及び32のコンマ
の位置の差をaとすると、レジスタ群31には、(Ti+A
×Bi-a)又は(Ti+A×Bi+a)の結果がレジスタTiに書
込まれる。As shown in FIG. 1A, after setting the initial values in the registers, the contents of the registers T 6 and B 5 on the right side of the comma positions of the register groups 31 and 32 are supplied to the arithmetic circuit for division. The value of A is calculated and held. In FIG. 1A, (A = 1 ÷
α 7 = α 8 ). The content of each register of the register group 32 is multiplied by this A, the content Ti of the corresponding register (upper register) of the register group 31 is added to the multiplication output, and this addition output is written to the register group 31. In the rightmost pair of registers T 1 and B 0 in FIG. 1A, 0 and α 4 are supplied to the arithmetic circuit, and (α 3 × α 4 + 0 = α 12 ) is obtained, which is shown in FIG. 1B. As shown in, the second register from the right end of the register group 31
Written to T 1 . That is, assuming that the difference between the comma positions of the register groups 31 and 32 is a, the register group 31 has (Ti + A
The result of (× Bi −a ) or (Ti + A × Bi + a ) is written in the register Ti.
また、レジスタ群31の左端側からコンマの位置まで、
(Bi+A×Ti+a)の演算が演算回路によりなされ、その
出力がレジスタ群32のレジスタBiにセットされる。従っ
て、第1図Bのように、α8がB6にセットされる。コン
マの位置は、コンマの右側のレジスタの内容が0となる
と、0でない位置までずらされる。コンマの位置はカウ
ンタにより指示される。この第1図Bに示す状態でT5及
びB5が演算回路に供給されて(A=1÷α7=α8)が求
められ、上述と同様の演算及びレジスタの書き替えがな
される。そして、第1図Cに示すように、r1(z)及び
U1(z)が求められる。Also, from the left end of the register group 31 to the comma position,
The calculation of (B i + A × T i + a ) is performed by the calculation circuit, and the output is set in the register B i of the register group 32. Therefore, as shown in FIG. 1B, α 8 is set to B 6 . The position of the comma is shifted to a position other than 0 when the content of the register on the right side of the comma becomes 0. The position of the comma is indicated by the counter. In the state shown in FIG. 1B, T 5 and B 5 are supplied to the arithmetic circuit to obtain (A = 1 ÷ α 7 = α 8 ), and the same arithmetic operation and register rewriting as described above are performed. Then, as shown in FIG. 1C, r 1 (z) and
U 1 (z) is required.
次に、再び、第1図A,第1図B,第1図Cの順序でなされ
た除算動作と同様の除算動作が第1図C,第1図D,第1図
Eに示すようになされる。ここで、第1図Cに示すおう
に、レジスタ群31及び32の夫々のコンマの位置が逆転し
ているので、レジスタ群31の各レジスタの内容がBiとさ
れ、レジスタ群32の各レジスタの内容がTiとされて処理
がなされる。したがって、第1図Cの状態では、T5及び
B4が演算回路に供給されて(A=α7÷α=α6)が求め
られる。また、第1図Cの最も右側の1対のレジスタT1
及びB0では、α14及びα12が演算回路に供給され、α12
×α6+α14=1が求められ、レジスタ群32のレジスタT
1に書き込まれる。コンマの左側においては、演算回路
により(Bi+A×Ti+a)が求められ、その出力がレジス
タ群31のBiに書き込まれる。以後、第1図Eに示す状態
で第2回目の除算が終了し、r2(z)及びU2(z)が求
まる。レジスタ群31及び32の内容は、第2図に示す演算
過程と対応している。Then, again, a division operation similar to the division operation performed in the order of FIG. 1A, FIG. 1B, and FIG. 1C is performed as shown in FIG. 1C, FIG. 1D, and FIG. 1E. Done. Here, as shown in FIG. 1C, since the comma positions of the register groups 31 and 32 are reversed, the contents of each register of the register group 31 are set to Bi, and the contents of each register of the register group 32 are set to Bi. The contents are treated as Ti and processed. Therefore, in the state of FIG. 1C, T 5 and
B 4 is supplied to the arithmetic circuit to obtain (A = α 7 ÷ α = α 6 ). Also, the rightmost pair of registers T 1 in FIG.
And B 0 , α 14 and α 12 are supplied to the arithmetic circuit, and α 12
× α 6 + α 14 = 1 is obtained, and register T of register group 32
Written to 1 . On the left side of the comma, (B i + A × T i + a ) is obtained by the arithmetic circuit, and the output is written in B i of the register group 31. Thereafter, the second division is completed in the state shown in FIG. 1E, and r 2 (z) and U 2 (z) are obtained. The contents of the register groups 31 and 32 correspond to the calculation process shown in FIG.
第1図E,第1図F及び第1図Gは、3回目の除算動作を
行なう時のレジスタ群31及び32の内容を示し、第1図G
に示すようにr3(z)及びU3(z)が求まる。この時、
レジスタ群31のコンマの位置から、r3(z)の次数が
(t=3)より小さくなつたことが検出され、レジスタ
群31及び32の内容から、前述のように、エラーロケーシ
ヨン多項式及びエラーエバリユエーシヨン多項式を求め
ることができる。FIGS. 1E, 1F and 1G show the contents of the register groups 31 and 32 when the third division operation is performed.
R 3 (z) and U 3 (z) are obtained as shown in. This time,
From the comma position of the register group 31, it is detected that the order of r 3 (z) is smaller than (t = 3), and from the contents of the register groups 31 and 32, as described above, the error location polynomial and An error evaluation polynomial can be obtained.
即ち、レジスタ群31の最も右から3つめまでのレジスタ
の値がr3(z)を表し、レジスタ群32の最も左側のレジ
スタの値がU3(0)を表し、また、レジスタ群32の最も
左からコンマの位置までのレジスタの値がU3(z)を表
しており、前述した式σ(z)=U3(z)/U3(0)及
びω(z)=r3(z)/U3(0)を演算することによ
り、エラーロケーション多項式σ(z)及びエラーエバ
リュエーション多項式ω(z)が求められる。That is, the value of the rightmost third register of the register group 31 represents r 3 (z), the value of the leftmost register of the register group 32 represents U 3 (0), and the value of the register group 32 is The value of the register from the leftmost position to the comma position represents U 3 (z), and the equations σ (z) = U 3 (z) / U 3 (0) and ω (z) = r 3 ( The error location polynomial σ (z) and the error evaluation polynomial ω (z) are obtained by calculating z) / U 3 (0).
上述のこの発明の一実施例によるリードソロモン符号の
復号器の構成を第3図に示す。FIG. 3 shows the configuration of the Reed-Solomon code decoder according to the embodiment of the present invention.
第3図において、1,2,3,4,5,6,7,8は、夫々4ビツトの
レジスタを示し、これらのレジスタ1〜8によつてレジ
スタ群31が構成される。同様に、各4ビツトのレジスタ
9,10,11,12,13,14,15,16によつてレジスタ群32が構成さ
れる。レジスタの各々は、双方向のバスバツフアを介し
てデータバス17と接続されている。このデータバス17に
は、GF(24)の演算回路18及びゼロ検出回路19が接続さ
れる。ゼロ検出回路19は、コンマの位置をずらすための
検出データを発生する。In FIG. 3, 1,2,3,4,5,6,7,8 denote 4-bit registers, respectively, and the registers 1 to 8 form a register group 31. Similarly, each 4-bit register
A register group 32 is configured by 9,10,11,12,13,14,15,16. Each of the registers is connected to the data bus 17 via a bidirectional bus buffer. To the data bus 17, a GF (2 4 ) operation circuit 18 and a zero detection circuit 19 are connected. The zero detection circuit 19 generates detection data for shifting the position of the comma.
20は、レジスタ群31のコンマ位置と対応する出力を発生
するカウンタであり、21は、レジスタ群32のコンマ位置
と対応する出力を発生するカウンタである。カウンタ20
及び21の出力が演算回路22に供給され、カウンタ20及び
21の出力の夫々が比較回路23及び24に供給される。減算
回路22は、2つのレジスタ群31及び32のコンマの位置関
係を検出するためのものである。比較回路23及び24は、
レジスタ群31及び32のコンマの位置から剰余ri(z)の
次数がtより小さくなることを検出するためのものであ
る。Reference numeral 20 is a counter that generates an output corresponding to the comma position of the register group 31, and 21 is a counter that generates an output corresponding to the comma position of the register group 32. Counter 20
The outputs of 21 and 21 are supplied to the arithmetic circuit 22, and the counter 20 and
Each of the outputs of 21 is supplied to comparison circuits 23 and 24. The subtraction circuit 22 is for detecting the positional relationship between the commas of the two register groups 31 and 32. The comparison circuits 23 and 24 are
This is for detecting that the order of the remainder r i (z) is smaller than t from the position of the comma of the register groups 31 and 32.
ゼロ検出回路19、減算回路22、比較回路23及び24の夫々
の出力がジヤンプ先指定用のROM25に供給される。レジ
スタ1〜16、レジスタ1〜16の夫々に付加されているバ
スバツフア、演算回路18などの制御を行なうコントロー
ル信号は、プログラムROM26から読出されるマイクロ命
令をコマンドデコーダ27によつて解読することで発生す
る。プログラムROM26には、プログラムカウンタ28から
アドレスが供給される。プログラムカウンタ28には、ジ
ヤンプ先指定用のROM25からのジヤンプアドレスが供給
される。ゼロ検出回路19などの出力がジヤンプアドレス
を発生させるためのコンデイシヨンデータとして用いら
れる。The outputs of the zero detection circuit 19, the subtraction circuit 22, and the comparison circuits 23 and 24 are supplied to the ROM 25 for specifying the jump destination. The control signals for controlling the registers 1 to 16 and the bus buffers added to the registers 1 to 16 and the arithmetic circuit 18 are generated by decoding the microinstructions read from the program ROM 26 by the command decoder 27. To do. An address is supplied from the program counter 28 to the program ROM 26. The program counter 28 is supplied with the jump address from the ROM 25 for specifying the jump destination. The output of the zero detection circuit 19 or the like is used as the condition data for generating the jump address.
「発明の効果」 この発明に依れば、初期値の設定を従来のものと異なら
せることにより、レジスタのシフト動作を行なわずに、
エラーロケーシヨン多項式及びエラーエバリユエーシヨ
ン多項式を求めることができる。したがつて、この発明
に依れば、復号器の回路規模が大規模になつたり、復号
のためのステップ数が増大する問題点を解決することが
できる。[Advantages of the Invention] According to the present invention, the setting of the initial value is made different from the conventional one so that the register shift operation is not performed.
An error location polynomial and an error evolution polynomial can be obtained. Therefore, according to the present invention, it is possible to solve the problems that the circuit scale of the decoder becomes large and the number of steps for decoding increases.
第1図はこの発明の一実施例の説明に用いるレジスタの
内容の変化を示す略線図、第2図はこの発明の一実施例
の説明に用いる演算過程を示す略線図、第3図はこの発
明が適用された復号器の一例のブロツク図である。 17……データバス、18……演算回路、26……プログラム
ROM、31,32……レジスタ群。FIG. 1 is a schematic diagram showing changes in the contents of a register used for explaining one embodiment of the present invention, and FIG. 2 is a schematic diagram showing an arithmetic process used for explaining one embodiment of the present invention. FIG. 3 is a block diagram of an example of a decoder to which the present invention is applied. 17 ... Data bus, 18 ... Arithmetic circuit, 26 ... Program
ROM, 31,32 ... Registers.
Claims (1)
及び除数に対応させ、上記第1及び第2のレジスタ群の
内容を用いてユークリッドの互除法により、エラーロケ
ーション多項式及びエラーエバリュエーション多項式を
求めるようにしたBCH符号の復号装置において、 上記第1及び第2のレジスタ群の各レジスタの値が供給
されて積和演算を行い、演算結果を上記レジスタに書き
込む演算手段と、 上記それぞれのレジスタ群における境界の位置を示す指
示手段と、 ゼロ検出手段と、 上記第1及び第2のレジスタ群と、上記演算手段と、上
記指示手段の動作を制御する制御手段とを有し、 上記制御手段は、 上記第1のレジスタ群の初期値として(1,100・・・0
0)(但し、,はUとrの境界の位置を示す)を設定
し、 上記第2のレジスタ群の初期値として(00,S(z))
(但し、,はUとS(z)の境界の位置を示し、S
(z)はシンドローム多項式を示す)を設定し、 (a)各レジスタ群における境界位置の右側のレジスタ
の値の除算を行い、 (b)上記境界位置の右側においては、一方のレジスタ
群のレジスタの値に上記除算結果を乗算し、対応する他
方のレジスタの値に加算した値を該他方のレジスタに書
き込み、 (c)上記境界位置の左側においては、他方のレジスタ
群のレジスタの値に上記除算結果を乗算し、対応する一
方のレジスタの値に加算した値を該一方のレジスタに書
き込み、 (d)上記ゼロ検出手段によって、上記境界位置の右側
のレジスタの値が0となったことが検出されるとき、0
でない位置まで該境界の位置を右側にずらし、上記
(a)から(d)の処理を繰り返し行うものであること
を特徴とするBCH符号の復号装置。1. An error location polynomial and an error evaluation are performed by making the contents of the first and second register groups correspond to a dividend and a divisor, and using the contents of the first and second register groups by Euclidean mutual division method. In a BCH code decoding device for obtaining a polynomial, the values of the respective registers of the first and second register groups are supplied to perform a product-sum operation, and operation means for writing the operation result into the register, And a zero detecting means, the first and second register groups, the computing means, and a control means for controlling the operation of the instructing means. The control means sets (1,100 ... 0) as an initial value of the first register group.
0) (however, indicates the position of the boundary between U and r) and sets (00, S (z)) as the initial value of the second register group.
(However ,, indicates the position of the boundary between U and S (z), and S
(Z) indicates the syndrome polynomial), (a) divides the value of the register on the right side of the boundary position in each register group, and (b) registers of one register group on the right side of the boundary position. Is multiplied by the above division result, and the value obtained by adding to the value of the other corresponding register is written to the other register. (C) On the left side of the boundary position, the value of the register of the other register group is added to the above value. A value obtained by multiplying the result of division and adding the value of the corresponding one register to the one register, and (d) the value of the register on the right side of the boundary position becomes 0 by the zero detecting means. 0 when detected
An apparatus for decoding a BCH code, characterized in that the position of the boundary is shifted to the right to a position other than that, and the processes of (a) to (d) are repeated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25144383A JPH071876B2 (en) | 1983-12-29 | 1983-12-29 | Decoding device for BCH code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25144383A JPH071876B2 (en) | 1983-12-29 | 1983-12-29 | Decoding device for BCH code |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60143027A JPS60143027A (en) | 1985-07-29 |
JPH071876B2 true JPH071876B2 (en) | 1995-01-11 |
Family
ID=17222904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25144383A Expired - Lifetime JPH071876B2 (en) | 1983-12-29 | 1983-12-29 | Decoding device for BCH code |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH071876B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4841300A (en) * | 1986-06-18 | 1989-06-20 | Mitsubishi Denki K.K. | Error correction encoder/decoder |
JPS63111730A (en) * | 1986-10-29 | 1988-05-17 | Sanyo Electric Co Ltd | Code error detection circuit |
-
1983
- 1983-12-29 JP JP25144383A patent/JPH071876B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS60143027A (en) | 1985-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0329789B1 (en) | Galois field arithmetic unit | |
US4751704A (en) | Method and apparatus for decoding BCH code | |
EP0366331B1 (en) | System and method for error detection in the result of an arithmetic operation | |
JP2005086683A (en) | Error decoding circuit, data bus control method, and data bus system | |
JP3245290B2 (en) | Decoding method and device | |
JPH071876B2 (en) | Decoding device for BCH code | |
JPH10112660A (en) | Error decoding method and device utilizing reed solomon code | |
EP0629052A1 (en) | Method of and circuit for correcting errors | |
JP2662472B2 (en) | Syndrome operation circuit for error correction processing | |
JP3126973B2 (en) | Error correction processor | |
JP4057876B2 (en) | Control method of Galois field multiplier | |
JP2694794B2 (en) | Error correction processing method | |
JP3315042B2 (en) | Multiplier | |
JP2907138B2 (en) | Error correction arithmetic processing method and processing circuit | |
JPH0750595A (en) | Decoding device | |
JPS63167527A (en) | Greatest common measure polynomial calculation circuit on expanded galois field and polynomial mutual division arithmetic circuit | |
JP3099890B2 (en) | Error correction device for BCH code | |
JP2611721B2 (en) | Erasure location polynomial multiplication circuit | |
JP3131969B2 (en) | Arithmetic unit | |
JP2705162B2 (en) | Arithmetic processing unit | |
JP3239866B2 (en) | Data inspection method and apparatus based on CRC and recording medium | |
JP2008112522A (en) | Device and method for detecting error | |
JP2591250B2 (en) | Data processing device | |
JP2553571B2 (en) | Galois field arithmetic unit | |
JP3539077B2 (en) | Division method by parallel operation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |