JPS6135731B2 - - Google Patents
Info
- Publication number
- JPS6135731B2 JPS6135731B2 JP56113617A JP11361781A JPS6135731B2 JP S6135731 B2 JPS6135731 B2 JP S6135731B2 JP 56113617 A JP56113617 A JP 56113617A JP 11361781 A JP11361781 A JP 11361781A JP S6135731 B2 JPS6135731 B2 JP S6135731B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- bit string
- syndrome
- bit
- error
- 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
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
Landscapes
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
本発明はデイジタルデータの伝送や蓄積時に生
じるビツト誤りを自動的に検出し訂正する方式に
関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a system for automatically detecting and correcting bit errors that occur during transmission and storage of digital data.
データ伝送や蓄積時に生じる誤りを自動的に訂
正する方法として誤り訂正符号化技術が用いられ
ている。これに使われる誤り訂正符号には各種あ
るが、その中でBCH(ボーゼ・チヨドーリ・ホ
ツキンジエム)符号は符号長や誤り訂正能力の選
択の自由度が大きく、また付加された検査ビツト
数のかわりに誤り訂正能力が優れた符号として知
られている。本発明はBCH符号の内、一符号語
に3つ以下のビツト誤りがある場合にその誤りを
訂正できる符号、すなわち3誤り訂正BCH符号
を用いて符号化された信号中に生じたビツト誤り
を訂正する装置すなわち復号装置に関する。 Error correction coding technology is used as a method for automatically correcting errors that occur during data transmission and storage. There are various types of error correction codes used for this purpose, but among them, BCH (Bose-Cyodory-Hotsking Diem) code has a large degree of freedom in selecting the code length and error correction ability, and also It is known as a code with excellent error correction ability. The present invention is a BCH code that can correct bit errors when one code word has three or less errors, that is, a 3-error correcting BCH code. The present invention relates to a correction device, that is, a decoding device.
ここで3誤り訂正BCH符号について簡単に説
明しておく。 Here, we will briefly explain the 3-error correction BCH code.
3誤り訂正BCH符号においては符号語Cはk
個の情報ビツト(a1,a2,…,ak)とこれらの
情報ビツトから計算されたq個の検査ビツト(a
k+1,ak+2,…,ak+q)より構成される。つまり
符号誤〓は
〓=(a1,a2,…,ak,ak+1,…,ak+q)
となる。 3 In the error correcting BCH code, the code word C is k
information bits (a 1 , a 2 , ..., a k ) and q check bits (a
k+1 , a k+2 ,..., a k+q ). In other words, the sign error is: = (a 1 , a 2 , ..., a k , a k+1 , ..., a k +q ).
但しk、はmを4以上の整数として
k=2m−3m−1
q=3m
となるよう決定される。以後符号長k=q=2m
−1をnで表わす。すなわち符号語〓は
〓=(a1,a2,……,ao-1,ao)
となる。検査ビツトは符号語が
H〓T=0
を満足するよう決定される。ここで〓Tは〓の転
置ベクトルである。Hはパリテイ検査行列でGF
(2m)の原始元αを用いて
と表わされる。Hの各要素αw(w=0,1,
…,n−1)はm要素の列ベクトルで表わされ
る。However, k is determined so that k=2 m −3m−1 q=3m where m is an integer of 4 or more. Hereafter code length k=q=2 m
-1 is represented by n. That is, the code word 〓 becomes 〓=(a 1 , a 2 , . . . , a o-1 , a o ). The check bits are determined so that the code word satisfies H 〓 T =0. Here 〓 T is the transposed vector of 〓. H is a parity check matrix and GF
Using the primitive element α of (2 m ), It is expressed as Each element α w (w=0, 1,
..., n-1) is represented by a column vector of m elements.
ここで〓に誤りが生じて〓′となつたとする。 Now suppose that an error occurs in 〓 and it becomes 〓′.
〓′=(a′1,a′2,……,a′o-1,a′o)
〓′は〓と誤りベクトルeにより次のように表わ
される。 〓′=(a′ 1 , a′ 2 , . . . , a′ o-1 , a′ o ) 〓′ is expressed by 〓 and the error vector e as follows.
〓′=〓+e
但し〓は〓′の誤りビツトの位置では1、他の位
置では0である要素からなるベクトルである。 〓'=〓+e where 〓 is a vector consisting of elements that are 1 at the position of the error bit of 〓' and 0 at other positions.
〓=(e1,e2,……eo-1,eo)
〓′が与えられた時に、もとの〓を再現するの
が復号であり、本発明はそれを実現する新しい装
置を与えるものである。 〓 = (e 1 , e 2 , ...e o-1 , e o ) When 〓' is given, decoding is to reproduce the original 〓, and the present invention proposes a new device to realize this. It is something to give.
従来の3誤り訂正符号の復号は、通常、以下に
述べる方法で行なわれている。 Decoding of the conventional 3-error correction code is normally performed by the method described below.
まず次式で定義される第1、第2および第3シ
ンドロームすなわちA1,A2、およびA3を計算す
る。 First, the first, second, and third syndromes defined by the following equations, ie, A 1 , A 2 , and A 3 are calculated.
シンドロームA1,A2およびA3は例えばF.J.
MacWilliams,N.J.A.Sloane著“The Theory of
Error―Correcting Codes,Part ”(North
Holland Publishing Company)pp.270―272に
あるようにして生成される。つまり第1シンドロ
ームA1はαの最小多項式に対応するフイードバ
ツクシフトレジスタC′のビツトをa′1からa′oまで
入力し、a′oが入力された時点でシフトレジスタ
中に完成する。第2シンドロームA2はα3の最
小多項式に対応するフイードバツクシフトレジス
タにC′を入力し、最後のビツトが入力された時
点でシフトレジスタ中にできあがつたビツト列を
排他的論理和回路を用いて変換して得られる。第
3シンドロームA3も、同様に、α5の最小多項
式に対応するフイードバツクシフトレジスタ
C′を入力し、最後のビツトが入力された時点で
シフトレジスタ中にできあがつたビツト列を排他
的論理和回路を用いて変換して得られる。次にこ
のA1,A2およびA3を用いて誤り位置多項式σ
(Z)を求める。 Syndromes A 1 , A 2 and A 3 are e.g. FJ
“The Theory of
Error―Correcting Codes, Part” (North
Holland Publishing Company) pp. 270-272. In other words, the first syndrome A1 inputs the bits of the feedback shift register C' corresponding to the minimum polynomial of α from a' 1 to a' o , and is completed in the shift register when a' o is input. . The second syndrome A2 inputs C' to the feedback shift register corresponding to the minimum polynomial of α3 , and performs exclusive OR of the bit string created in the shift register when the last bit is input. It can be obtained by converting using a circuit. Similarly, the third syndrome A3 is a feedback shift register corresponding to the minimum polynomial of α5 .
It is obtained by inputting C' and converting the bit string created in the shift register when the last bit is input using an exclusive OR circuit. Next, using these A 1 , A 2 and A 3 , the error locator polynomial σ
Find (Z).
σ(Z)=1+A1Z
(A1 3+A2=0の場合)
このσ(Z)にαt(t=1,2,……,n)を
代入し、σ(Z)=0となるtの値が誤りの位置
を示すとしてその位置のビツトを反転して誤り訂
正を行う。以上が従来の復号装置で行なわれてい
る復号動作である。しかしながらこの方法ではσ
(Z)の各系数を求めるのに比較的複雑な装置が
必要であるし、時間がかかる。 σ(Z)=1+A 1 Z (When A 1 3 +A 2 = 0) Substitute α t (t=1, 2,..., n) for this σ(Z), and get σ(Z)=0. Assuming that the value of t indicates the position of an error, error correction is performed by inverting the bit at that position. The above is the decoding operation performed by the conventional decoding device. However, in this method, σ
A relatively complicated device is required to obtain each series of (Z), and it is time consuming.
従つて本発明は比較的簡単な装置を用いて短時
間に復号することの出来る3誤り訂正符号復号方
式を提供することを目的とする。 Therefore, an object of the present invention is to provide a three-error correction code decoding system that can be decoded in a short time using a relatively simple device.
次に本発明の復号装置の行う復号動作を説明す
る。 Next, the decoding operation performed by the decoding device of the present invention will be explained.
本発明の復号装置においても第1、第2および
第3シンドロームA1,A2,A3をまず計算するこ
とは従来の方法と同じである。次に第1シンドロ
ームA1と第2シンドロームA2を用いてA1 3+A2を
計算する。A1 3はROMテーブル等を用いた3乗器
にA1を入力して計算できる。A1 3とA2との加算は
排他的論理和回路を用いて容易に実現できる。さ
らにαn-t,α3(n-t)およびα5(n-t)をt=1から
nまで順次発生する。αn-tはビツト列1で、α3
(n−t)はビツト例2でα5(n-t)はビツト列3で表わ
す。αn-tの発生は例えば宮川他著符号理論(昭
晃堂)p.119にあるようにαの最小多項式に対応
するフイードバツクシフトレジスタにαn=1な
る初期値を設定してt回シフトすればαn-tが得
られる。α3(n-t)はαn-tを例えばROMテーブル
を用いた3乗器に入力して得られる。α5(n-t)も
同様にαn-tを5乗器に入力して得られる。又は
宮川他著符号理論(昭晃堂)p.120にあるような
1回のシフトでα-3あるいはα-5を乗ずるシフト
レジスタ回路にα3n=α5n=1なる初期値を設定
してt回シフトすれば得られる。各tの値に対し
て第1シンドロームA1、第2シンドロームA2、
第3シンドロームA3、αn-t,α3(n-t),およびα
5(n-t)を用いて次式で定義されるS1,S2およびS3
を計算する。 In the decoding device of the present invention, the first, second, and third syndromes A 1 , A 2 , and A 3 are first calculated, as in the conventional method. Next, A 1 3 +A 2 is calculated using the first syndrome A 1 and the second syndrome A 2 . A 1 3 can be calculated by inputting A 1 into a cuber using a ROM table or the like. Addition of A 1 3 and A 2 can be easily realized using an exclusive OR circuit. Furthermore, α nt , α 3(nt) and α 5(nt) are generated sequentially from t=1 to n. α nt is the bit string 1, α 3
(nt) is represented by bit example 2, and α5 (nt) is represented by bit string 3. To generate α nt, for example, set the initial value α n = 1 to the feedback shift register corresponding to the minimum polynomial of α and shift it t times, as described in Coding Theory (Shokodo) by Miyagawa et al., p. 119. Then, α nt can be obtained. α 3(nt) can be obtained by inputting α nt to a cuber using a ROM table, for example. α 5(nt) is similarly obtained by inputting α nt to the fifth power. Or, set the initial value α 3n = α 5n = 1 in a shift register circuit that multiplies α -3 or α -5 in one shift, as described in Coding Theory by Miyagawa et al. (Shokodo) p. 120. It can be obtained by shifting t times. For each value of t, the first syndrome A 1 , the second syndrome A 2 ,
Third syndrome A 3 , α nt , α 3(nt) , and α
S 1 , S 2 and S 3 defined by the following formula using 5(nt)
Calculate.
S1=A1+αn-t
S2=A2+α3(n-t)
S3=A3+α5(n-t)
S1はビツト列4で、S2はビツト列5で、S3はビツ
ト列6で表わされる。A1とαn-tの加算、A2とα3
(n−t)の加算、A3とα5(n-t)の加算は排他的論理和
回路により容易に実現される。次に次式で定義さ
れるEL(t)を計算する。S 1 = A 1 + α nt S 2 = A 2 + α 3 (nt) S 3 = A 3 + α 5 (nt) S 1 is bit string 4, S 2 is bit string 5, S 3 is bit string 6. expressed. Addition of A 1 and α nt , A 2 and α 3
The addition of (nt) and the addition of A 3 and α 5 (nt) are easily realized by an exclusive OR circuit. Next, EL(t) defined by the following equation is calculated.
EL(t)=S1 6+S2 2+S1 3S2+S1+S3
EL(t)はROMテーブルで構成された6乗回路
でS1からS1 6を計算し、ROMテーブルで構成され
た2乗回路でS2からS2 2を計算し、ROMテーブル
で構成された3乗および積回路でS1とS3から
S1 3S2を計算し、同じくROMテーブルで構成され
た積回路でS1とS3からS1S3を計算し、S1 6とS2 2と
S1 3S2とS1S3を排他的論理和回路を用いて加算す
れば得られる。前記A1 3+A2が0であるならば、
各tの値に対してS1の値を調べS1=0となるtに
おいてC′中のt番目のビツトa′tにおいてC′中の
t番目のビツトa′tが誤りであるとしてa′tを反転
して誤りの訂正を行ない、A1 3+A2が0でないな
らば、各tの値に対して前記EL(t)の値を調
べEL(t)=0となるtにおいてC′中のt番目の
ビツトa′tが誤りであるとしてa′tを反転して誤り
の訂正を行なうのが本発明の復号装置が行なう復
号動作である。この復号動作では比較的簡単な動
作が符号語の各ビツトに対して繰り返されるが、
従来の復号方法における誤り位置多項式を求める
ような複雑な動作がないので装置が簡単になる。 EL(t)=S 1 6 +S 2 2 +S 1 3 S 2 +S 1 +S 3 EL(t) calculates S 1 to S 1 6 from S 1 using a 6th power circuit composed of a ROM table. Calculate S 2 2 from S 2 with a square circuit, and calculate S 2 2 from S 1 and S 3 with a cube and product circuit configured with a ROM table.
Calculate S 1 3 S 2 , calculate S 1 S 3 from S 1 and S 3 using a product circuit also configured with a ROM table, and calculate S 1 S 3 from S 1 6 and S 2 2 .
It can be obtained by adding S 1 3 S 2 and S 1 S 3 using an exclusive OR circuit. If the above A 1 3 + A 2 is 0, then
Check the value of S 1 for each value of t. At t when S 1 = 0, the t-th bit in C' is a' t . Assuming that the t-th bit in C' is an error , a ' t is inverted to correct the error, and if A 1 3 + A 2 is not 0, check the value of EL(t) for each t value and calculate C at t where EL(t) = 0. The decoding operation performed by the decoding apparatus of the present invention is to correct the error by inverting a' t , assuming that the t-th bit a' t in ' is an error. In this decoding operation, a relatively simple operation is repeated for each bit of the codeword.
Since there is no complicated operation such as finding the error locator polynomial in the conventional decoding method, the device becomes simpler.
本動作により誤りのビツト数が3以下の時は必
ず正しい誤り訂正が行なわれることを以下に示
す。 It will be shown below that by this operation, correct error correction is always performed when the number of error bits is 3 or less.
まず誤りが1ビツトもないとしよう。この時は
A1=A2=A3=0
従つて、
A1 3+A2=0
従つてS1の値に従つて誤り訂正が行なわれる。と
ころで、
S1=A1+αn-t=αn-t
はどんなtの値に対しても0にならない。従つて
C′の中のどんなビツトに対しても反転はなされ
ない。 First, let's assume that there is not even a single bit wrong. At this time, A 1 =A 2 =A 3 =0. Therefore, A 1 3 +A 2 =0. Therefore, error correction is performed according to the value of S 1 . By the way, S 1 =A 1 +α nt =α nt does not become 0 for any value of t. accordingly
No inversion is performed on any bit in C'.
次にi番目のビツトa′iだけが誤りであるとし
よう。この時
A1=αn-i
A2=α3(n-i)
従つて
A1 3+A2=0
従つてS1の値に従つて誤り訂正が行なわれる。 Next, suppose that only the i-th bit a′ i is wrong. At this time, A 1 =α ni A 2 =α 3(ni) Therefore, A 1 3 +A 2 =0 Therefore, error correction is performed according to the value of S 1 .
この時
S1=A1+αn-t=αn-iαn-t
S1はt=iの時だけ0となり、t≠iでは0とな
らない。従つて正しい誤り訂正が行なわれる。At this time, S 1 =A 1 +α nt =α ni α nt S 1 becomes 0 only when t=i, and does not become 0 when t≠i. Correct error correction is therefore performed.
次にi番目とj番目のビツトつまりa′iとa′jが
誤りであるとしよう。この時
A1=αn-i+αn-j
A2=α3(n-i)+α3(n-j)
A3=α5(n-i)+α5(n-j)
A1 3+A2=α(n-i)・αn-j(αn-i+αn-j)
i≠jであるからA1 3+A2≠0
従つてEL(t)の値に従つて誤り訂正が行なわ
れる。この時、
S1=A1+αn-t=αn-iαn-j+αn-t
S2=A2+α3(n-t) =α3(n-i)+α3(n-j)+α3(n-t)
S3=A3+α5(n-t) =α5(n-i)+α5(n-j)+α5(n-t)
EL(t)=S1 6+S2 2+S1 3S2+S1S3
=αn-iαn-jαn-t(αn-i+αn-j)
(αn-t+αn-i)(αn-t+αn-j)
EL(t)はtがi又はjと一致した時だけ0と
なり、tが他の値をとつた時は0とならない。従
つて正しい誤り訂正が行なわれる。 Next, suppose that the i-th and j-th bits, ie, a' i and a' j , are errors. At this time, A 1 = α ni + α nj A 2 = α 3(ni) + α 3(nj) A 3 = α 5(ni) + α 5(nj) A 1 3 +A 2 = α (ni)・α nj (α ni + α nj ) Since i≠j, A 1 3 +A 2 ≠0 Therefore, error correction is performed according to the value of EL(t). At this time, S 1 = A 1 + α nt = α ni α nj + α nt S 2 = A 2 + α 3(nt) = α 3(ni) + α 3(nj) + α 3(nt) S 3 = A 3 + α 5 (nt) = α 5 (ni) + α 5 (nj) + α 5 (nt) EL (t) = S 1 6 + S 2 2 + S 1 3 S 2 + S 1 S 3 = α ni α nj α nt (α ni + α nj ) (α nt + α ni ) (α nt + α nj ) EL(t) becomes 0 only when t matches i or j, and does not become 0 when t takes other values. Correct error correction is therefore performed.
次にi番目とj番目とl番目のビツト、すなわ
ちa′iとa′jとa′lが誤りであるとしよう。この時
A1=αn-i+αn-j+αn-l
A2=α3(n-i)+α3(n-j)+α3(n-l)
A3=α5(n-i)+α5(n-j)+α5(n-l)
A1 3+A2=(αn-i+αn-j)
(αn-j+αn-l)(αn-l+αn-i)
i≠j、j≠l、l≠iであるからA1 3+A2≠0
従つてEL(t)の値に従つて誤り訂正が行なわ
れる。 Next, suppose that the i-th, j-th, and l-th bits, ie, a' i , a' j , and a' l , are errors. At this time, A 1 = α ni + α nj + α nl A 2 = α 3(ni) + α 3(nj) + α 3(nl) A 3 = α 5(ni) + α 5(nj) + α 5(nl) A 1 3 +A 2 = (α ni + α nj ) (α nj + α nl ) (α nl + α ni ) Since i≠j, j≠l, and l≠i, A 1 3 +A 2 ≠0
Therefore, error correction is performed according to the value of EL(t).
この時
S1=A1+αn-t=αn-i
+αn-j+αn-l+αn-t
S2=A2+α3(n-t)=α3(n-i)
+α3(n-j)+α3(n-l)+α3(n-t)
S3=A3+α5(n-t)=α5(n-i)
+α5(n-j)+α5(n-l)+α5(n-t)
EL(t)=S1 6+S2 2+S1 3S2+S1S3
=(αn-i+αn-j)(αn-j+αn-l)
(αn-l+αn-i)(αn-t+αn-i)
(αn-t+αn-j)(αn-t+αn-l)
EL(t)はtがi又はj又はlと一致した時だ
け0となり、tが他の値をとつた時は0とならな
い。従つて正しい誤り訂正が行なわれる。以上よ
りわかるように誤りビツトの数が3以下であれば
必ず正しい復号が行なわれる。 At this time, S 1 = A 1 + α nt = α ni + α nj + α nl + α nt S 2 = A 2 + α 3(nt) = α 3(ni) + α 3(nj) + α 3(nl) + α 3(nt) S 3 = A 3 + α 5 (nt) = α 5 (ni) + α 5 (nj) + α 5 (nl) + α 5 (nt) EL (t) = S 1 6 + S 2 2 + S 1 3 S 2 + S 1 S 3 = (α ni + α nj ) (α nj + α nl ) (α nl + α ni ) (α nt + α ni ) (α nt + α nj ) (α nt + α nl ) EL(t) means that t is i, j, or l. It becomes 0 only when there is a match, and it does not become 0 when t takes other values. Correct error correction is therefore performed. As can be seen from the above, if the number of error bits is 3 or less, correct decoding is always performed.
次に本発明による復号装置を実施例の図面を参
照しながら説明する。これまで述べたように本発
明の復号装置では、その復号手順においてガロア
体の元を取り扱う。GF(2m)の任意の元はαを
原始元として、1,α,α2,αm-2,αm-1の線
形結合であらわすことができることはよく知られ
ている。本実施例においてはガロア体の元は上記
線形結合の系数列であるmビツトであらわすもの
とする。もちろん全復号手順でガロア体の元のビ
ツト列によるあらわし方を統一する必要はなく、
むしろ部分的に異なつたあらわし方を用いること
で装置が若干簡単になることもあり得るが、ここ
では説明の簡単のため上記のあらわし方に統一す
るものとする。 Next, a decoding device according to the present invention will be explained with reference to drawings of embodiments. As described above, the decoding device of the present invention handles elements of a Galois field in its decoding procedure. It is well known that any element of GF(2 m ) can be expressed as a linear combination of 1, α, α 2 , α m-2 , α m-1 with α as the primitive element. In this embodiment, the elements of the Galois field are represented by m bits, which are the series of linear combinations. Of course, it is not necessary to unify the representation of the original bit string of the Galois field in the entire decoding procedure.
In fact, the device may be made slightly simpler by using partially different representations, but for the sake of simplicity, the above representation will be used here.
図1は本発明による実施例の構成を示すブロツ
ク図である。図1において入力データαはデータ
バツフア101と、第1シンドローム生成回路1
02、第2シンドローム生成回路104、及び第
3シンドロームの生成回路106に加えられる。
データバツフア101は、1符号語長nビツト
に、シンドローム生成回路で生成されたシンドロ
ームをシンドロームバツフアに移すのに必要な時
間信号を保持するための1ビツトを加えた、合計
n+1ビツトのシフトレジスタより構成される。
第1シンドローム生成回路102は、GF(2n)
の原始元αの最小多項式に対応するm段のフイー
ドバツクシフトレジスタからなる。第2シンドロ
ーム生成回路104はα3の最小多項式に対応す
るm段のフイードバツクシフトレジスタと排他的
論理和回路より構成されるビツト列変換回路から
なる。第3シンドローム生成回路106はα5の
最小多項式に対応するフイードバツクシフトレジ
スタと排他的論理和回路より構成されるビツト列
変換回路からなる。符号語の最後のビツトがデー
タバツフア101に入力し終つた時、第1、第
2、および第3シンドロームは各シンドローム生
成回路により生成されている。生成された第1、
第2、および第3シンドロームは次の符号語がシ
ンドローム生成回路に入力されると破壊されるの
で、その前に各々第1、第2、および第3シンド
ロームバツフアに移される。第1シンドローム
(A1)と第2シンドローム(A2)は訂正条件判別回
路108に入力され、訂正条件判別回路108は
A1 3+A2が0か否かの判別を行つて、A1 3+A2が
0の時は0を、そうでない時は1を出力して選択
回路117に与える。訂正条件判別回路はROM
テーブルで構成された3乗回路と排他的論理和で
構成された加算回路と加算結果が全ビツト0かど
うかを判別する論理和回路よりなる。データバツ
フア101に格納された符号語は先頭のビツトか
ら1ビツトづつ出力され、誤り訂正回路118に
入力される。第t番目(t=1,2,…n)のビ
ツトがデータバツフア101より出力され誤り訂
正回路118に入力される時、αのベキ発生回路
110はαn-tをあらわすmビツト列であるビツ
ト列1を発生し、α3のベキ発生回路112はα
3(n-t)をあらわすmビツトのビツト列であるビツ
ト列2を発生し、又α5のベキ発生回路114は
α5(n-t)をあらわすビツト列3を発生する。αの
ベキ発生回路110はαの最小多項式に対応する
フイードバツクシフトレジスタからなる。α3の
ベキ発生回路112はα3の最小多項式に対応す
るフイードバツクシフトレジスタからなる。α5
のベキ発生回路114はα5の最小多項式に対応
するフイードバツクシフトレジスタからなる。ビ
ツト列1と第1シンドロームは排他的論理和回路
109により対応するビツト毎に排他的論理和を
とられることで加算され、S1=A1+αn-tをあら
わすビツト列4が生成される。同様にビツト列2
と第2シンドロームは排他的論理和回路111を
用いて加算されS2=A2+α3(n-t)をあらわすビツ
ト列5が生成される。さらにビツト列3と第3シ
ンドロームは排他的論理和回路113を用いて加
算されて、S3=A3+α5(n-t)をあらわすビツト列
6が生成される。ビツト列4は第1誤り検出回路
115と第2誤り検出回路116に供給され、ビ
ツト列5とビツト列6は第2誤り検出回路に供給
される。第1誤り検出回路115はS1が0の時は
1を、そうでない時は0を出力して選択回路11
7に与えるものであり、論理和回路と否定回路で
構成される。第2誤り検出回路116はS1をあら
わすビツト列4、S2をあらわすビツト列5、およ
びS3をあらわすビツト列6を入力してS1 6+S2 2+
S1 3S2+S1S3が0の時は1を、そうでない時は0
を出力して選択回路117に与えられるものであ
る。 FIG. 1 is a block diagram showing the configuration of an embodiment according to the present invention. In FIG. 1, input data α is sent to a data buffer 101 and a first syndrome generation circuit 1.
02, the second syndrome generation circuit 104, and the third syndrome generation circuit 106.
The data buffer 101 is made up of a shift register with a total of n+1 bits, which is n bits long for one code word and 1 bit for holding a time signal necessary to transfer the syndrome generated by the syndrome generation circuit to the syndrome buffer. configured.
The first syndrome generation circuit 102 has GF(2 n )
It consists of an m-stage feedback shift register corresponding to the minimum polynomial of the primitive element α. The second syndrome generation circuit 104 consists of a bit string conversion circuit composed of an m-stage feedback shift register corresponding to the minimum polynomial of α3 and an exclusive OR circuit. The third syndrome generation circuit 106 consists of a bit string conversion circuit composed of a feedback shift register corresponding to the minimum polynomial of α5 and an exclusive OR circuit. When the last bit of the code word has entered data buffer 101, the first, second, and third syndromes have been generated by each syndrome generation circuit. The first generated
The second and third syndromes are moved to the first, second and third syndrome buffers, respectively, before the next codeword is destroyed when it is input to the syndrome generation circuit. The first syndrome (A 1 ) and the second syndrome (A 2 ) are input to the correction condition determination circuit 108, and the correction condition determination circuit 108
It is determined whether A 1 3 +A 2 is 0 or not, and if A 1 3 +A 2 is 0, 0 is output, otherwise 1 is output and given to the selection circuit 117. Correction condition determination circuit is ROM
It consists of a cube circuit made up of a table, an addition circuit made up of an exclusive OR, and an OR circuit that determines whether the addition result is all 0 bits. The code word stored in data buffer 101 is output bit by bit starting from the first bit and input to error correction circuit 118. When the t-th (t=1, 2,...n) bit is output from the data buffer 101 and input to the error correction circuit 118, the power generation circuit 110 generates bit string 1, which is an m-bit string representing α nt . The power generation circuit 112 of α3 generates α
A bit string 2, which is an m-bit bit string representing .alpha.3 (nt) , is generated, and a power of .alpha.5 generating circuit 114 generates a bit string 3 representing .alpha.5(nt) . The power generation circuit 110 of α consists of a feedback shift register corresponding to the minimum polynomial of α. The α3 power generation circuit 112 is composed of a feedback shift register corresponding to the minimum polynomial of α3 . α 5
The power generation circuit 114 consists of a feedback shift register corresponding to the minimum polynomial of α5 . Bit string 1 and the first syndrome are added by exclusive ORing each corresponding bit by exclusive OR circuit 109, and bit string 4 representing S 1 =A 1 +α nt is generated. Similarly, bit string 2
and the second syndrome are added using an exclusive OR circuit 111 to generate a bit string 5 representing S 2 =A 2 +α 3 (nt) . Further, bit string 3 and the third syndrome are added using exclusive OR circuit 113 to generate bit string 6 representing S 3 =A 3 +α 5 (nt) . Bit string 4 is supplied to a first error detection circuit 115 and a second error detection circuit 116, and bit strings 5 and 6 are supplied to the second error detection circuit. The first error detection circuit 115 outputs 1 when S1 is 0, otherwise outputs 0, and sends it to the selection circuit 115.
7, and is composed of an OR circuit and a NOT circuit. The second error detection circuit 116 inputs the bit string 4 representing S 1 , the bit string 5 representing S 2 , and the bit string 6 representing S 3 , and outputs S 1 6 +S 2 2 +
S 1 3 S 2 + S 1 If S 3 is 0, set it to 1, otherwise set it to 0.
is outputted and given to the selection circuit 117.
図2は第2誤り検出回路116の構成例を示
す。図2においてビツト列4は6乗回路201、
3乗及び積回路203、及び積回路204に供給
され、又ビツト列5は2乗回路202と3乗及び
積回路203に供給され、さらにビツト列6は積
回路204に供給される。6乗回路201はS1 6
をあらわすビツト列7を生成する。2乗回路20
2はS2 2をあらわすビツト列8を生成する。3乗
及び積回路203はS1 3S2をあらわすビツト列9
を生成する。積回路204はS1S3をあらわすビツ
ト列10を生成する。6乗回路201、2乗回路2
02、3乗及び積回路203、及び積回路204
は全てROMテーブルで構成される。排他的論理
和回路205はビツト列7とビツト列8の対応す
るビツト毎に排他的論理和をとることで加算を行
いS1 6S2 2をあらわすビツト列11を作成する。排他
的論理和回路206はビツト列9とビツト列10の
対応するビツト毎に排他的論理和をとることで加
算を行いS1 3S2+S1S3をあらわすビツト列12を作
成する。排他的論理和回路207はビツト列11と
ビツト列12の対応するビツト毎に排他的論理和を
とることで加算を行いS1 6+S2 2+S1 3S2+S1S3を
あらわすビツト列13を作成する。論理和回路20
8はビツト列13の全ビツトの論理和をとることで
S1 6+S2 2+S1 3S2+S1S3が0の場合は0を出力
し、他の場合は1を出力する。否定回路209は
論理和回路208の出力の極性を反転し、S1 6+
S2 2+S1 3S2+S1S3が0の場合は1、他の場合は0
を出力する。図1にもどつて選択回路117は論
理積回路、論理和回路及び否定回路より構成さ
れ、訂正条件判別回路108がA1 3+A2=0であ
ると判定して0を出力している場合には第1誤り
検出回路115の出力をその出力とし、訂正条件
判別回路108がA1 3+A2≠0であると判定して
1を出力している場合には第2誤り検出回路11
6の出力をその出力とする。誤り訂正回路118
は排他的論理和回路であり、データバツフア10
1の出力である第t番目のビツトa′tと選択回路
117の出力との排他的論理和をとる。従つて訂
正条件判別回路108の出力が0でかつ第1誤り
検出回路115の出力が1である場合、又は訂正
条件判別回路108の出力が1でかつ第2誤り検
出回路116の出力が1である場合に誤り訂正回
路118の出力はデータバツフア101の出力で
ある第t番目のビツトa′tを反転したものとな
し、そうでない場合は誤り訂正回路118の出力
はデータバツフア101の出力a′tそのままであ
る。誤り訂正回路118の出力uは出力データと
なる。 FIG. 2 shows an example of the configuration of the second error detection circuit 116. In FIG. 2, bit string 4 is a sixth power circuit 201,
Bit string 5 is supplied to a cube and product circuit 203 and a product circuit 204; bit string 5 is fed to a square circuit 202 and a cube and product circuit 203; furthermore, bit string 6 is fed to a product circuit 204. The sixth power circuit 201 is S 1 6
A bit string 7 representing . Square circuit 20
2 produces a bit string 8 representing S 2 2 . The cube and product circuit 203 is a bit string 9 representing S 1 3 S 2
generate. Product circuit 204 generates a bit string 10 representing S 1 S 3 . 6th power circuit 201, 2nd power circuit 2
02, cube and product circuit 203, and product circuit 204
consists entirely of ROM tables. The exclusive OR circuit 205 performs addition by performing exclusive OR for each corresponding bit of bit string 7 and bit string 8, and creates a bit string 11 representing S 1 6 S 2 2 . The exclusive OR circuit 206 performs addition by performing exclusive OR for each corresponding bit of bit string 9 and bit string 10, and creates bit string 12 representing S 1 3 S 2 +S 1 S 3 . The exclusive OR circuit 207 performs addition by performing exclusive OR on each corresponding bit of bit string 11 and bit string 12, and produces a bit string representing S 1 6 +S 2 2 +S 1 3 S 2 +S 1 S 3 . Create 13. OR circuit 20
8 is obtained by taking the logical sum of all bits in bit string 13.
S 1 6 +S 2 2 +S 1 3 If S 2 +S 1 S 3 is 0, output 0, otherwise output 1. The NOT circuit 209 inverts the polarity of the output of the OR circuit 208 and makes S 1 6 +
S 2 2 +S 1 3 S 2 +S 1 1 if S 3 is 0, 0 otherwise
Output. Returning to FIG. 1, the selection circuit 117 is composed of an AND circuit, an OR circuit, and a NOT circuit, and when the correction condition determination circuit 108 determines that A 1 3 +A 2 = 0 and outputs 0, takes the output of the first error detection circuit 115 as its output, and if the correction condition determination circuit 108 determines that A 1 3 +A 2 ≠ 0 and outputs 1, the second error detection circuit 11
Let the output of 6 be its output. Error correction circuit 118
is an exclusive OR circuit, and the data buffer 10
The exclusive OR of the t-th bit a' t , which is the output of 1, and the output of the selection circuit 117 is calculated. Therefore, if the output of the correction condition determination circuit 108 is 0 and the output of the first error detection circuit 115 is 1, or if the output of the correction condition determination circuit 108 is 1 and the output of the second error detection circuit 116 is 1, In some cases, the output of the error correction circuit 118 is the inverted version of the t-th bit a′ t that is the output of the data buffer 101, and in other cases, the output of the error correction circuit 118 is the output a′ t of the data buffer 101 as it is. It is. The output u of the error correction circuit 118 becomes output data.
図1は本発明による復号装置の実施例の構成図
であり、図2は図1の中の第2誤り検出回路11
6の構成例である。図において101はデータバ
ツフア、102は第1シンドローム生成回路、1
03は第1シンドロームバツフア、104は第2
シンドローム生成回路、105は第2シンドロー
ムバツフア、106は第3シンドローム生成回
路、107は第3シンドロームバツフア、108
は訂正条件判別回路、1009は排他的論理和回
路、110はαのベキ発生回路、111は排他的
論理和回路、112はα3のベキ発生回路、11
3は排他的論理和回路、114はα5のベキ発生
回路、115は第1誤り検出回路、116は第2
誤り検出回路、117は選択回路、118は誤り
訂正回路、201は6乗回路、202は2乗回
路、203は3乗及び積回路、204は積回路、
205は排他的論理和回路、206は排他的論理
和回路、207は排他的論理和回路、208は論
理和回路、209は否定回路、aは入力データ、
bは第1シンドローム、cは第2シンドローム、
dは第3シンドローム、eはビツト列、fはビツ
ト列2、gはビツト列3、hはビツト列4、pは
ビツト列5、rはビツト列6、uはビツト列7、
xはビツト列8、yはビツト列9、aaはビツト列
10、ccはビツト列12、ddはビツト列13、は復
号出力である。
FIG. 1 is a block diagram of an embodiment of a decoding device according to the present invention, and FIG. 2 is a block diagram of a second error detection circuit 11 in FIG.
This is a configuration example of No. 6. In the figure, 101 is a data buffer, 102 is a first syndrome generation circuit, 1
03 is the first syndrome buffer, 104 is the second
Syndrome generation circuit, 105 is a second syndrome buffer, 106 is a third syndrome generation circuit, 107 is a third syndrome buffer, 108
1009 is an exclusive OR circuit, 110 is an α power generation circuit, 111 is an exclusive OR circuit, 112 is an α 3 power generation circuit, 11
3 is an exclusive OR circuit, 114 is an α5 power generation circuit, 115 is a first error detection circuit, and 116 is a second
Error detection circuit, 117 is a selection circuit, 118 is an error correction circuit, 201 is a 6th power circuit, 202 is a 2nd power circuit, 203 is a 3rd power and product circuit, 204 is a product circuit,
205 is an exclusive OR circuit, 206 is an exclusive OR circuit, 207 is an exclusive OR circuit, 208 is an OR circuit, 209 is a NOT circuit, a is input data,
b is the first syndrome, c is the second syndrome,
d is the third syndrome, e is the bit string, f is the bit string 2, g is the bit string 3, h is the bit string 4, p is the bit string 5, r is the bit string 6, u is the bit string 7,
x is a bit string of 8, y is a bit string of 9, aa is a bit string
10, cc is bit string 12, dd is bit string 13, and is the decoded output.
Claims (1)
トル〓が加算されて出来た入力系列〓′=(a′1,
a′2,a′3,…a′o)、(nは附号長n=2m-1、mは
自
然数)を復号装置に入力して誤まり訂正を行なう
復号方式において、前記入力系列〓′から第1シ
ンドロームA1、第2シンドロームA2、及び第3
シンドロームA3; をシフトレジスタを用いて求め、次いでA1 3+A2
=0であれば S1=A1+αn-t (αは2m個の要素よりなるガロア体GF(2m)の
原始元、tは誤りかどうかを判定されるビツトを
指定する番号でnを越えない自然数)を0とする
tの値があればそれに対応する入力ビツトa′tを
誤りとして反転して他の入力ビツトはそのまま出
力し、又 A1 3+A2≠0であれば S1=A1+αn-t S2=A2+α3(n-t) S3=A3+α5(n-t) として EL′(t)=S1 6+S2 2+S1 3S2+S1S3=0 を与える3個までのtの値(t1,t2,t3)に対応す
る入力ビツト(a′t1,a′t2,a′t3)を反転し、他の
入力ビツトはそのまま出力することにより、3個
までの誤りを訂正することを特徴とする3誤り訂
正符号復号方式。[Claims] Input sequence 〓′=(a′ 1 ,
a' 2 , a' 3 ,...a' o ), (n is the code length n = 2 m-1 , m is a natural number) and performs error correction by inputting them to the decoding device. 〓′ to the first syndrome A 1 , the second syndrome A 2 , and the third syndrome
Syndrome A 3 ; is obtained using a shift register, and then A 1 3 +A 2
= 0, then S 1 = A 1 + α nt (α is the primitive element of the Galois field GF (2 m ) consisting of 2 m elements, t is the number specifying the bit to be judged as an error, and n is If there is a value of t that makes 0 (a natural number not exceeding 0), then the corresponding input bit a′ t is considered an error and is inverted, and the other input bits are output as they are, and if A 1 3 + A 2 ≠ 0, then S 1 =A 1 +α nt S 2 =A 2 +α 3(nt) S 3 =A 3 +α 5(nt) EL′(t) = S 1 6 +S 2 2 +S 1 3 S 2 +S 1 S 3 =0 By inverting the input bits (a' t1 , a' t2 , a' t3 ) corresponding to up to three given t values (t 1 , t 2 , t 3 ) and outputting the other input bits as they are, , a three-error correction code decoding system characterized by correcting up to three errors.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56113617A JPS5815352A (en) | 1981-07-22 | 1981-07-22 | Decoding system with three-error correction code |
| GB8204214A GB2093238B (en) | 1981-02-18 | 1982-02-12 | Error correcting system for simultaneous errors in a code |
| US06/349,319 US4468769A (en) | 1981-02-18 | 1982-02-16 | Error correcting system for correcting two or three simultaneous errors in a code |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56113617A JPS5815352A (en) | 1981-07-22 | 1981-07-22 | Decoding system with three-error correction code |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5815352A JPS5815352A (en) | 1983-01-28 |
| JPS6135731B2 true JPS6135731B2 (en) | 1986-08-14 |
Family
ID=14616746
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56113617A Granted JPS5815352A (en) | 1981-02-18 | 1981-07-22 | Decoding system with three-error correction code |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5815352A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0593739U (en) * | 1992-05-28 | 1993-12-21 | エヌオーケー株式会社 | Work supply device |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62137924A (en) * | 1985-12-12 | 1987-06-20 | Nec Home Electronics Ltd | Error position decision circuit of reed solomon coding and decoding system |
| JP2774513B2 (en) * | 1988-07-29 | 1998-07-09 | キヤノン株式会社 | Error correction device |
| JPH03179923A (en) * | 1989-12-08 | 1991-08-05 | Matsushita Electric Ind Co Ltd | Method and device for decoding bch code |
-
1981
- 1981-07-22 JP JP56113617A patent/JPS5815352A/en active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0593739U (en) * | 1992-05-28 | 1993-12-21 | エヌオーケー株式会社 | Work supply device |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5815352A (en) | 1983-01-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Huffman et al. | Fundamentals of error-correcting codes | |
| JPS638494B2 (en) | ||
| JPH0389631A (en) | Decoding method and device | |
| EP0026516A1 (en) | Apparatus for the processing of an information stream with the aid of an error-correcting convolutional code and for the detection of an error still irremediable in this processing | |
| JPS59124011A (en) | Numerous byte error correction system | |
| JPS60144834A (en) | Arithmetic circuit for finite field | |
| JPH0728227B2 (en) | Decoding device for BCH code | |
| JPS6135731B2 (en) | ||
| JP3248098B2 (en) | Syndrome calculation device | |
| JPH09307458A (en) | Polynomial evaluator for error correction | |
| JPS6150416B2 (en) | ||
| JP2622957B2 (en) | Coding and decoding method of BCH code | |
| JP3099890B2 (en) | Error correction device for BCH code | |
| US10623026B2 (en) | Error correction | |
| JP3223513B2 (en) | Error correction decoding device | |
| JP2694794B2 (en) | Error correction processing method | |
| JPH0361210B2 (en) | ||
| JP2534563B2 (en) | Tolerable error successive correction circuit | |
| KR930011573B1 (en) | Bch codec capable of double error correct | |
| JPH077919B2 (en) | Binary information conversion circuit | |
| KR890007345Y1 (en) | Reed-Solomon Encoder's Code Word Generation Circuit in Digital Audio | |
| JP2805328B2 (en) | Burst error correction method | |
| JPH01160118A (en) | Bch decoder | |
| JPH05268101A (en) | Chain search circuit | |
| JPS60246125A (en) | Decoder for bch code |