JPH0691471B2 - Error correction circuit - Google Patents
Error correction circuitInfo
- Publication number
- JPH0691471B2 JPH0691471B2 JP60200005A JP20000585A JPH0691471B2 JP H0691471 B2 JPH0691471 B2 JP H0691471B2 JP 60200005 A JP60200005 A JP 60200005A JP 20000585 A JP20000585 A JP 20000585A JP H0691471 B2 JPH0691471 B2 JP H0691471B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- error
- data
- syndrome
- circuit
- 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
Landscapes
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】 〔発明の技術分野〕 本発明は、誤り訂正能力を有するブロック符号データを
受入れて複号化する際に用いられる誤り訂正回路に関す
る。Description: TECHNICAL FIELD OF THE INVENTION The present invention relates to an error correction circuit used when receiving and decoding block code data having an error correction capability.
近年、ディジタル通信技術の発展に伴い、誤り訂正符号
が盛んに利用されている。とりわけ衛星通信、移動通信
のように伝送路の信頼性が低い無線ディジタル通信にお
いては誤り訂正技術は不可欠の技術であり、さらに近年
は磁気記録装置へのディジタル信号の記録再生にも誤り
訂正技術が広く利用されている。誤り訂正符号は大きく
分けてブロック符号、畳込み符号に大別されるが、なか
でも巡回符号を用いたブロック符号は種々の冗長度や誤
り訂正能力をもつものが数多く知られており、広く利用
されている。In recent years, with the development of digital communication technology, error correction codes are widely used. In particular, error correction technology is an indispensable technology in wireless digital communication such as satellite communication and mobile communication, where the reliability of the transmission path is low, and in recent years, error correction technology has also been used for recording and reproducing digital signals in magnetic recording devices. Widely used. Error correction codes are roughly classified into block codes and convolutional codes. Among them, many block codes using cyclic codes are known to have various degrees of redundancy and error correction capability, and are widely used. Has been done.
ところで、巡回符号のうちBCH(ポース・チョードリ・
オッケンジェム)符号は、ランダム誤りを訂正する符号
であり、2ビット以上の誤り位置決定のためのアルゴリ
ズムとしてピーターソンの方法、バーレンカンプの方
法、あるいはマッシィの方法等、種々の方式が提案され
ている。しかし、これらの方法は、いずれも学術的には
ともかくとして極めて複数な演算を必要とすることから
実用上有用な方法とは言い難く、一般には2ビット以上
の訂正にはあまり使用されていないというのが実状であ
った。By the way, BCH (portion chordry
Okkengem code is a code that corrects random errors, and various methods such as Peterson's method, Burenkamp's method, or Massy's method have been proposed as algorithms for determining error positions of 2 bits or more. . However, all of these methods are not considered to be practically useful methods because they require extremely multiple operations, academically anyway, and are generally not often used for correction of 2 bits or more. It was the actual situation.
また、誤り訂正符号の全てのパターンに対応するアドレ
スを有するメモリ(ROM)の各アドレスに誤り訂正情報
を書き込んでおき、誤り訂正符号をアドレスデータとし
てメモリへ入力して誤り訂正情報を読出す方式も考えら
れている。しかし、この方式は入力データ(誤り訂正符
号)の符号ビット長が長くなると、極めて大容量のメモ
リを必要とするという問題があった。A method of writing error correction information into each address of a memory (ROM) having addresses corresponding to all patterns of the error correction code, and inputting the error correction code as address data into the memory to read the error correction information. Is also considered. However, this method has a problem that an extremely large-capacity memory is required when the code bit length of input data (error correction code) becomes long.
本発明は、このような事情に基づきなされたもので、そ
の目的とするところは、極めて簡易な方法で、2ビット
以上の誤り位置を確定することができる誤り訂正回路を
提供することにある。The present invention has been made under such circumstances, and an object of the present invention is to provide an error correction circuit capable of determining an error position of 2 bits or more by an extremely simple method.
本発明は、情報ビットと冗長ビットとで構成された受入
データを生成多項式で除算してシンドロームを検出する
シンドローム検出手段と、このシンドローム検出手段か
ら出力される前記シンドロームをアドレスとして入力
し、前記シンドロームから決定される前記受入データの
誤りがあるビット位置の情報をバイナリデータで構成さ
せて、これを記憶し出力する記憶装置と、この記憶装置
からのバイナリデータを前記受入データの各ビット毎に
ビット誤りの有無を示すデータに変換して出力する手段
と、前記ビット誤りの有無を示すデータを用いて前記受
入データの誤りビットを訂正する誤りビット訂正手段と
を具備したことを特徴とする。According to the present invention, the syndrome detection means for detecting the syndrome by dividing the acceptance data composed of the information bit and the redundant bit by the generator polynomial, and the syndrome output from the syndrome detection means are inputted as an address, and the syndrome is inputted. The storage device for storing the information of the bit position having an error in the received data determined by the binary data and storing and outputting the binary data, and the binary data from the storage device for each bit of the received data. It is characterized by further comprising means for converting and outputting the data indicating the presence or absence of an error and error bit correcting means for correcting the error bit of the received data by using the data indicating the presence or absence of the bit error.
本発明によれば、記憶装置のアドレスにシンドロームを
与え、記憶装置からシンドロームによって決まるビット
誤り位置を示すデータを出力データとして出力するよう
にしているので、2ビット以上の誤り訂正を複雑なアル
ゴリズムを用いることなく、また大容量の記憶装置を用
いることなく行なうことができる。したがって、回路構
成の簡単化、これによる通信システム、磁気記録装置等
の信頼性向上に寄与できる。このような効果は訂正可能
なビット数が増えれば増える程一層顕著に現れる。According to the present invention, a syndrome is given to an address of a storage device, and data indicating a bit error position determined by the syndrome is output from the storage device as output data. It can be performed without using a large-capacity storage device. Therefore, the circuit configuration can be simplified and the reliability of the communication system, the magnetic recording device, etc. can be improved. Such an effect becomes more remarkable as the number of correctable bits increases.
以下、本発明の実施例を説明する。 Examples of the present invention will be described below.
ここでは一例としてBCH符号を用いる場合について考え
る。Here, a case where a BCH code is used will be considered as an example.
いま、誤り訂正符号の符号語M(X)がガロア体GF
(q)の元で構成され、その生成多項式G(X)が、GF
(q)の拡大体GF(qm)の元により定められていると
き、符号語M(X)はG(X)で割切れる。このような
符号語M(X)を採用すれば、入力された符号語M′
(X)が生成多項式G(X)で割切れるかどうかによっ
て誤り発生の有無がわかる。Now, the code word M (X) of the error correction code is the Galois field GF
(Q) and its generator polynomial G (X) is GF
The codeword M (X) is divisible by G (X) when defined by the elements of the extension field GF (q m ) of (q). If such a codeword M (X) is adopted, the input codeword M '
Whether or not an error has occurred can be determined by whether (X) is divisible by the generator polynomial G (X).
いま、入力された符号語M′(X)が伝送誤りを含む場
合、符号語M′(X)をG(X)で除算した余りは0に
はならない。誤りが生じたビットを“1"、その他を“0"
とする符号列をE(X)とすると、 M′(X)=M(X)+E(X) (「+」は法2加算)であるから、M′(X)をG
(X)で除算した余りは、E(X)/G(X)の余りと等
しい、この余りをシンドロームS(X)と呼ぶ。このシ
ンドロームS(X)がlビットまでの誤りの全てのパタ
ーンについて異なる値をとり得れば、シンドロームS
(X)からlビットまでの誤りを訂正することができ
る。Now, when the input codeword M '(X) includes a transmission error, the remainder obtained by dividing the codeword M' (X) by G (X) does not become zero. The error bit is "1" and the others are "0"
Let E (X) be the code string of M ′ (X) = M (X) + E (X) (“+” is modulo 2 addition), so M ′ (X) is G
The remainder divided by (X) is equal to the remainder of E (X) / G (X), and this remainder is called syndrome S (X). If this syndrome S (X) can take different values for all patterns of errors up to 1 bit, the syndrome S (X)
It is possible to correct an error from (X) to 1 bit.
第1図は本発明の一実施例を示す図である。この誤り訂
正回路は、受入データM′(X)から上述したシンドロ
ームを検出するシンドローム検出回路11と、このシンド
ローム検出回路11によって検出されるシンドロームS
(X)を入力として、シンドロームS(X)によって決
定される、受入データM′(X)のビット誤り位置を受
入データM′(X)の各ビット毎に示すデータE(X)
を出力する誤り位置検出回路12と、この誤り位置検出回
路12から出力されるデータE(X)に基づいて、受入デ
ータM′(X)の誤りビットを反転させて誤りビットを
訂正するビット誤り反転回路13とで構成される。誤り位
置検出回路12は、後述するようにビット誤り位置を示す
バイナリデータを記憶するためのROM(第4図参照)を
含んで構成される。(このバイナリデータとは、2進化
10進符号を意味する) いま、受入データM′(X)が符号ビット長31(情報ビ
ット長16、冗長ビット長15)で、3ビットまでの誤りを
訂正できる(31,16)のBCH符号であるとする。そして、
生成多項式を、 g(X)=X15+X11+X10+X3+X8+X7+X5+X3+X2+
X+1 とする。FIG. 1 is a diagram showing an embodiment of the present invention. The error correction circuit includes a syndrome detection circuit 11 for detecting the above-mentioned syndrome from the received data M ′ (X), and a syndrome S detected by the syndrome detection circuit 11.
Data (E) indicating the bit error position of the received data M '(X) determined by the syndrome S (X) with (X) as an input for each bit of the received data M' (X).
Based on the data E (X) output from the error position detecting circuit 12 and the error position detecting circuit 12 for inverting the error bit of the received data M '(X) to correct the error bit. And an inverting circuit 13. The error position detection circuit 12 is configured to include a ROM (see FIG. 4) for storing binary data indicating a bit error position as described later. (This binary data is binary
(Means a decimal code) Now, the received data M '(X) has a code bit length of 31 (information bit length of 16 and redundant bit length of 15) and can correct errors of up to 3 bits (31,16) BCH code Suppose And
The generator polynomial, g (X) = X 15 + X 11 + X 10 + X 3 + X 8 + X 7 + X 5 + X 3 + X 2 +
Let X + 1.
このような31ビットの受入データM′(X)が、シンド
ローム検出回路11に入力されると、シンドローム検出回
路11では受入データM′(X)を生成多項式g(X)で
除算してシンドロームS(X)を算出する。シンドロー
ムS(X)は、生成多項式g(X)の次数が15であるか
ら15ビットのデータとなる。When such 31-bit acceptance data M ′ (X) is input to the syndrome detection circuit 11, the syndrome detection circuit 11 divides the acceptance data M ′ (X) by the generator polynomial g (X) to generate the syndrome S. Calculate (X). The syndrome S (X) is 15-bit data because the degree of the generator polynomial g (X) is 15.
第2図にシンドロームS(X)検出の一例を示す。な
お、ここでは簡単のために生成多項式が、 g′(X)=X5+X2+1 である場合の例を示した。FIG. 2 shows an example of syndrome S (X) detection. Here, for simplification, an example in which the generator polynomial is g ′ (X) = X 5 + X 2 +1 is shown.
すなわち、まずデータ入力に先だって遅延回路21,22,2
3,24,25が全てクリアされる。次に高次のビットから順
次シリアルに入力された受入データは、EX−OR回路26に
おいて、遅延回路25の出力信号と排他的論理和され、遅
延回路21に与えられる。遅延回路21に入力されたビット
データは、所定のクロックに従って遅延回路22〜25まで
順次シフトされるが、遅延回路22と23との間のEX−OR回
路27において再び遅延回路25の出力と排他的論理和がと
られる。シンドロームS(X)は、受入データの最後の
ビットがシンドローム検出回路11に入力され、さらにEX
−OR回路26を介して遅延回路21から出力された時に遅延
回路21〜25の出力信号として得られる。上述した15次の
生成多項式g(X)の場合にも、遅延回路が15段になる
だけで第2図の回路と全く同じ原理の検出回路を構成す
ることができる。That is, first of all, the delay circuits 21, 22, and 2 are input before data input.
3,24,25 are all cleared. In the EX-OR circuit 26, the received data sequentially serially input from the higher-order bits are subjected to exclusive OR with the output signal of the delay circuit 25 and given to the delay circuit 21. The bit data input to the delay circuit 21 is sequentially shifted to the delay circuits 22 to 25 according to a predetermined clock, but the EX-OR circuit 27 between the delay circuits 22 and 23 excludes the output of the delay circuit 25 again. Logical OR is taken. In the syndrome S (X), the last bit of the received data is input to the syndrome detection circuit 11 and EX
When it is output from the delay circuit 21 via the -OR circuit 26, it is obtained as the output signal of the delay circuits 21 to 25. Also in the case of the above-described 15th-order generator polynomial g (X), a detection circuit having exactly the same principle as that of the circuit of FIG. 2 can be configured by only 15 delay circuits.
このようにして得られたシンドロームS(X)は、誤り
位置検出回路12にアドレスデータとして与えられる。The syndrome S (X) thus obtained is given to the error position detection circuit 12 as address data.
例えば下位16ビット目が誤ったとすると、シンドローム
は、X15をg(X)で除算した余りであるから、 S(X)=X11+X10+X3+X8+X7+X5+X3+X2+X+1 となる。従って、誤り位置検出回路12内のROMのアドレ
スには、 000111110101111 なるアドレスデータが与えられる。そして、こりアドレ
スデータで示されるROMの記憶場所には、X15の位置に誤
りがあることを示す。For example, if the lower 16th bit is incorrect, the syndrome is the remainder of dividing X 15 by g (X), so S (X) = X 11 + X 10 + X 3 + X 8 + X 7 + X 5 + X 3 + X 2 + X + 1 Becomes Therefore, address data 000111110101111 is given to the ROM address in the error position detection circuit 12. Then, it is indicated that there is an error in the position of X 15 in the storage location of the ROM indicated by the dust address data.
01111 なるバイナリデータが記憶されており、これが読出され
出力される。このROMから出力されたバイナリデータ
は、受入データM′(X)の各ビット毎に誤り位置を示
すデータE(X)に変換されて誤り位置検出回路12から
出力される。Binary data 01111 is stored, which is read and output. The binary data output from the ROM is converted into data E (X) indicating an error position for each bit of the received data M ′ (X) and output from the error position detection circuit 12.
また、例えば下位4ビット目、16ビット目、17ビット目
の3ビットのデータが誤ったとすると、シンドロームS
(X)は、X16+X15+X3をg(X)で割った余りである
から、 S(X)=X12+X7+X6+X5+X4+X3+1 となる。従って、ROMのアドレスには 001000011111001 なるアドレスデータが与えられる。そして、このアドレ
スデータで示されるROMの記憶場所には、 00100,10000,10001 なる3個のデータが記憶されており、これが出力され
る。If, for example, the data of the lower 4 bits, 16th bit, and 17th bit is incorrect, the syndrome S
Since (X) is the remainder obtained by dividing X 16 + X 15 + X 3 by g (X), S (X) = X 12 + X 7 + X 6 + X 5 + X 4 + X 3 +1. Therefore, the address data of 001000011111001 is given to the ROM address. Then, three data 00100, 10000, 10001 are stored in the storage location of the ROM indicated by this address data, and this is output.
このように、全ての1ビット誤り、2ビット誤り、3ビ
ット誤りに対応するシンドロームでアドレス指定される
ROMの各記憶場所には、予めそれぞれのビット誤り位置
を示す15ビットのバイナリデータを記憶しておく。訂正
できる誤りは、1ビット誤りが31通り、2ビット誤りが
31C2=465通り、3ビット誤りが31C3=4495通りである
ので、215=32768あるアドレスのうちの約1/6に相当す
る。なお、ビット誤りが生じていない場合には、シンド
ローム検出回路11からはアドレス(00…00)が指定され
るので、この場所には(00…00)のデータを記憶してお
く。そして、これ以外のアドレスが指定される場合は、
4ビット以上の誤りが生じたことを示しており、この場
合には誤り訂正が不可能である。したがって、このよう
なアドレスで指定されるROMの記憶場所の全てに、訂正
不能を知らせる特別のデータ、例えば15ビットの全てを
“1"とした(11…11)のデータを記憶しておく。31ビッ
ト目が誤った場合には、例えば 11111,00000,00000 なるデータを記憶しているので、これと区別できる。Thus, it is addressed with the syndrome corresponding to all 1-bit errors, 2-bit errors, 3-bit errors
In each storage location of the ROM, 15-bit binary data indicating each bit error position is stored in advance. There are 31 1-bit errors that can be corrected and 2-bit errors.
Since there are 31 C 2 = 465 ways and 31 C 3 = 4495 ways with 3 -bit errors, this corresponds to about 1/6 of 2 15 = 32,768 addresses. If no bit error has occurred, the address (00 ... 00) is specified from the syndrome detection circuit 11, so the data (00 ... 00) is stored at this location. And if any other address is specified,
This indicates that an error of 4 bits or more has occurred, and in this case, error correction is impossible. Therefore, special data notifying the uncorrectability, for example, the data of (11 ... 11) in which all 15 bits are "1" is stored in all the storage locations of the ROM designated by such an address. If the 31st bit is incorrect, for example, 11111,00000,00000 data is stored, so it can be distinguished from this.
誤り位置検出回路12において、ROMの出力データはバイ
ナリデータであるので、これを誤り位置に対応するビッ
トを“1"、他のビットを“0"とした31ビットの誤り位置
を示すデータ、すなわち受入データM′(X)の各ビッ
ト毎に誤り位置を示すデータE(X)に変換して、誤り
ビット反転回路13に出力する。例えば前述のように、 00100,10000,10001 なるバイナリデータがROMに記憶されていれば、 0000000000000011000000000001000 なるデータが誤り位置検出回路12から出力される。ま
た、訂正不能な4ビット以上の誤りがあることを示す
(11…11)なるデータがROMから出力された時には、特
別に31ビット全てを“1"としたデータが出力される。例
えば第3図に示すように構成されている。すなわち、受
入データM′(X)は、31ビットのシフトレジスタ31に
シリアルに入力される。31ビットの受入データの全ての
ビットがシフトレジスタ31に格納されたら、受入データ
はシフトレジスタ31から31ビットのラッチ回路32にラッ
チされる。そして、各ビットデータは各々EX−OR回路33
1,332,…,3331の一方の入力に与えられる。一方、誤
り位置検出ROM12からの誤り位置データE(X)も31ビ
ットのラッチ回路34にラッチされ、各々EX−OR回路3
31,332,…,3331の他方の入力に与えられる。また、
ラッチ回路34の出力はAND回路35にも入力されている。In the error position detection circuit 12, since the output data of the ROM is binary data, the data indicating the 31-bit error position in which the bit corresponding to the error position is "1" and the other bits are "0", that is, Each bit of the received data M ′ (X) is converted into data E (X) indicating an error position and output to the error bit inverting circuit 13. For example, as described above, if the binary data 00100,10000,10001 is stored in the ROM, the data 0000000000000011000000000001000 is output from the error position detection circuit 12. When data (11 ... 11) indicating that there is an uncorrectable error of 4 bits or more is output from the ROM, data in which all 31 bits are all "1" is output specially. For example, it is configured as shown in FIG. That is, the received data M '(X) is serially input to the 31-bit shift register 31. When all the bits of the 31-bit reception data are stored in the shift register 31, the reception data is latched from the shift register 31 to the 31-bit latch circuit 32. Then, each bit data is respectively EX-OR circuit 33.
1, 33 2, ..., it is supplied to one input of 33 31. On the other hand, the error position data E (X) from the error position detection ROM 12 is also latched by the 31-bit latch circuit 34, and each EX-OR circuit 3
3 1, 33 2, ..., is applied to the other input of 33 31. Also,
The output of the latch circuit 34 is also input to the AND circuit 35.
いま、受入データに誤りがないときは、ラッチ回路34の
出力は、全て“0"であるから、受入データ、EX−OR回路
331,332,…,3331によっては何等左右されず、そのま
ま出力される。Now, when there is no error in the received data, the outputs of the latch circuit 34 are all "0", so the received data and EX-OR circuit
33 1 , 33 2 , ..., 33 31 are not affected by anything and are output as they are.
一方、受入データに3ビット以下の誤りがある場合に
は、誤り位置検出回路12からは誤り位置に“1"が立った
データが出力されるので、入力データは、EX−OR回路33
1,332,…,3331によって反転され、これによって誤り
が訂正されたデータM(X)がEX−OR回路331,332,
…,3331から出力される。On the other hand, when the received data has an error of 3 bits or less, the error position detection circuit 12 outputs data in which "1" is set at the error position, and therefore the input data is the EX-OR circuit 33.
The data M (X) which has been inverted by 1 , 33 2 , ..., 33 31 and the error of which has been corrected by the EX-OR circuits 33 1 , 33 2 ,
..., output from 33 31 .
また、4ビット以上の誤りが生じた場合には、ラッチ回
路34の出力が全て“1"になるので、AND回路35の出力が
“0"から“1"に反転し、これが誤りを検出信号ERRとし
て出力される。Also, when an error of 4 bits or more occurs, the outputs of the latch circuit 34 are all "1", so the output of the AND circuit 35 is inverted from "0" to "1", which is an error detection signal. It is output as ERR.
このように本実施例によれば、誤り位置検出回路12を用
いた極めて簡単な回路構成によりまた複雑なアルゴリズ
ムを一切用いることなく2ビット以上のランダム誤りを
訂正でき、誤り訂正符号の実用化に大きく寄与すること
は明らかである。As described above, according to this embodiment, a random error of 2 bits or more can be corrected by an extremely simple circuit configuration using the error position detection circuit 12 without using any complicated algorithm, and the error correction code can be put into practical use. It is clear that it will make a great contribution.
なお、本発明は、上述した実施例に限定されるものでは
ない。The present invention is not limited to the above embodiment.
例えば上記実施例では31個のEX−OR回路を使用して受入
データとビット誤り位置を示すデータとのEX−ORを並列
的にとるようにしたが、受入データがシリアルに入力さ
れるので、誤りビット反転回路13の出力データも1ビッ
トずつ出力するようにすれば、EX−OR回路は1つで足り
ることになる。このような構成とすれば、第3図に示し
たような31ビットのシフトレジスタ31、ラッチ32,34お
よび31個のEX−OR回路331〜3331を必要としないという
利点がある。この構成による本発明の実施例を第4図に
示す。For example, in the above embodiment, 31 EX-OR circuits were used to take EX-OR of the received data and the data indicating the bit error position in parallel, but since the received data is input serially, If the output data of the error bit inverting circuit 13 is also output one bit at a time, one EX-OR circuit will suffice. In such a configuration, the advantage of not requiring a third shift register 31 of 31 bits as shown in FIG, latches 32, 34 and 31 of the EX-OR circuit 33 to 333 31. An embodiment of the present invention having this configuration is shown in FIG.
第4図において、誤り位置検出ROM51とコンパレータ52
とカウンタ53およびRSフリップフロップ56は第1図の誤
り検出回路12に相当し、シフトレジスタ54およびEX−OR
回路55は第1図の誤りビット反転回路13に相当する。こ
こで、誤り位置検出ROM51は、最上位アドレスが“0"と
なる第一の領域、つまり、00000…0から01111…1まで
のアドレスに対応する部分と、最上位アドレスが“1"と
なる第二の領域、つまり、10000…0から11111…1まで
のアドレスに対応する部分、とに分割されている。そし
て、アドレスが00000…0から01111…1の範囲に、下位
の誤りビット位置を示すデータを記憶し、アドレスが、
10000…0から11111…1の範囲に、下位の誤りビット位
置を示すデータを記憶する。(シンドロームのビット数
をmとすると、アドレスのビット数はm+1となる。)
従って、2ビット誤りのうち上位の誤りビットの位置を
示す5ビットのバイナリーデータが、上記第1の領域の
対応するシンドロームで特定される記憶場所に記憶さ
れ、同下位の誤りビットの位置を示す5ビットのバイナ
リーデータが、上記第2の領域の対応するシンドローム
で特定される記憶場所に記憶されている。当初ROM51の
アドレスの最上位ビットは“0"に設定されている。ROM5
1の出力は、コンパレータ52の第1の入力端子に導入さ
れている。一方、コンパレータ52の第2の入力端子に
は、5ビットのカウンタ53からの出力が与えられてい
る。カウンタ53は高速クロックφによって駆動され、
(0)から(31)までのバイナリーコードを出力する。
コンパレータ52は両入力データが一致したら“1"を出力
する。一方、受入データM′(X)は、シフトレジスタ
54に導入されている。このシフトレジスタ54は、カウン
タ53の高速クロックφで駆動されている。したがって、
コンパレータ52から“1"が出力された時に、シフトレジ
スタから出力されているビットデータは誤りということ
になる。そこで、コンパレータ52の出力が、“1"になっ
たときには、シフトレジスタ54の出力をEX−OR回路55で
反転させれば、誤り訂正を行なうもとができる。なお、
コンパレータ52からの“1"出力は、RSフリップフロップ
回路56のセット(S)端子に与えられているので、RSフ
リップフロップ回路56の出力は“0"から“1"に反転し、
ROM51のアドレスの最上位ビットは“1"となる。そし
て、再び同様の手順で2ビット目の誤り訂正が行われ
る。なお、誤り訂正が終了したら、カウンタ53とRSフリ
ップフロップ56のリセット(R)端子に、外部らのリセ
ット信号RSが与えられる。訂正できる誤りビットの数が
増えれば、RSフリップフロップの数を増やさせば良い。In FIG. 4, error position detection ROM 51 and comparator 52
The counter 53 and the RS flip-flop 56 correspond to the error detection circuit 12 of FIG. 1, and the shift register 54 and the EX-OR
The circuit 55 corresponds to the error bit inverting circuit 13 in FIG. Here, in the error position detection ROM 51, the first area in which the highest address is "0", that is, the portion corresponding to the addresses from 00000 ... 0 to 01111 ... 1, and the highest address is "1" The second area, that is, the portion corresponding to the addresses from 10000 ... 0 to 11111 ... 1 is divided. Then, the data indicating the lower-order error bit position is stored in the address range of 00000 ... 0 to 01111 ... 1, and the address is
0 to 11111 ... 1 stores the data indicating the low-order error bit position. (If the number of bits of the syndrome is m, the number of bits of the address will be m + 1.)
Therefore, 5-bit binary data indicating the position of the higher-order error bit of the 2-bit error is stored in the storage location specified by the corresponding syndrome in the first area, and indicates the position of the lower-order error bit. The 5-bit binary data is stored in the storage location specified by the corresponding syndrome in the second area. Initially, the most significant bit of the address of ROM51 is set to "0". ROM5
The output of 1 is introduced to the first input terminal of the comparator 52. On the other hand, the output from the 5-bit counter 53 is given to the second input terminal of the comparator 52. The counter 53 is driven by the high speed clock φ,
The binary code from (0) to (31) is output.
The comparator 52 outputs "1" when both input data match. On the other hand, the received data M '(X) is stored in the shift register.
Introduced in 54. The shift register 54 is driven by the high speed clock φ of the counter 53. Therefore,
When "1" is output from the comparator 52, the bit data output from the shift register is incorrect. Therefore, when the output of the comparator 52 becomes "1", error correction can be performed by inverting the output of the shift register 54 by the EX-OR circuit 55. In addition,
Since the "1" output from the comparator 52 is given to the set (S) terminal of the RS flip-flop circuit 56, the output of the RS flip-flop circuit 56 is inverted from "0" to "1",
The most significant bit of the address of ROM51 is "1". Then, the error correction of the second bit is performed again by the same procedure. When the error correction is completed, the reset signal RS from the outside is given to the reset (R) terminals of the counter 53 and the RS flip-flop 56. If the number of error bits that can be corrected increases, the number of RS flip-flops should be increased.
このような構成であれば、31ビットのうち誤りのないビ
ットを“0"、誤りのあるビットを“1"としてROMに記憶
する方法に比較して、誤り位置検出ROM51の容量を5t/31
に削減することができる。但し、tは訂正可能な最大の
誤りビット数を示す。With such a configuration, the capacity of the error position detection ROM 51 is 5t / 31 compared to the method of storing the error-free bit of the 31 bits as “0” and the error bit as “1”.
Can be reduced to However, t indicates the maximum number of correctable error bits.
この他、本発明はシンドロームからビット誤り位置を検
出する記憶装置としてRAMや磁気ディスクなど他の記憶
装置を用いるようにしてもよい。In addition, the present invention may use another storage device such as a RAM or a magnetic disk as a storage device for detecting the bit error position from the syndrome.
また、巡回符号の種類はBCHに限らず、シンドロームか
らビット誤り位置を特定できる誤り訂正能力を有する符
号であれば、この発明を適用可能である。Further, the type of cyclic code is not limited to BCH, and the present invention can be applied as long as it is a code having an error correction capability capable of specifying a bit error position from the syndrome.
第1図は本発明の一実施例に係る誤り訂正回路のブロッ
ク図、第2図は同誤り訂正回路におけるシンドローム検
出回路の一例を示すブロック図、第3図は同誤り訂正回
路における誤りビット反転回路の一例を示すブロック
図、第4図は本発明の他の実施例に係る誤り訂正回路の
一部を示すブロック図である。 21〜25…遅延回路、31…シフトレジスタ、32,34…ラッ
チ回路、56…RSフリップフロップ回路。1 is a block diagram of an error correction circuit according to an embodiment of the present invention, FIG. 2 is a block diagram showing an example of a syndrome detection circuit in the error correction circuit, and FIG. 3 is an error bit inversion in the error correction circuit. FIG. 4 is a block diagram showing an example of a circuit, and FIG. 4 is a block diagram showing a part of an error correction circuit according to another embodiment of the present invention. 21 to 25 ... Delay circuit, 31 ... Shift register, 32, 34 ... Latch circuit, 56 ... RS flip-flop circuit.
Claims (2)
入データを生成多項式で除算してシンドロームを検出手
段するシンドローム検出手段と、 このシンドローム検出手段から出力される前記シンドロ
ームをアドレスとして入力し、前記シンドロームから決
定される前記受入データの誤りがあるビット位置の情報
をバイナリデータで構成させて、これを記憶し出力する
記憶装置と、 この記憶装置からのデイナリデータを前記受入データの
各ビット毎にビット誤りの有無を示すデータに変換して
出力する手段と、 前記ビット誤りの有無を示すデータを用いて前記受入デ
ータの誤りビットを訂正する誤りビット訂正手段とを具
備したことを特徴とする誤り訂正回路。1. A syndrome detecting means for detecting a syndrome by dividing received data composed of an information bit and a redundant bit by a generator polynomial, and the syndrome output from the syndrome detecting means as an address, A storage device that stores binary information for bit position information having an error in the received data, which is determined from the syndrome, and stores and outputs the binary data, and the binary data from the storage device is stored in each bit of the received data. Each unit is provided with a unit for converting and outputting the data indicating the presence or absence of a bit error, and an error bit correcting unit for correcting the error bit of the received data using the data indicating the presence or absence of the bit error. Error correction circuit.
りがあるビット位置を決定できないときに前記受入デー
タに誤りがあったことだけを知らせるデータを出力する
ものであることを特徴とする特許請求の範囲第1項記載
の誤り訂正回路。2. The storage device outputs data notifying only that the received data has an error when the bit position having an error cannot be determined from the syndrome. An error correction circuit according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60200005A JPH0691471B2 (en) | 1985-09-10 | 1985-09-10 | Error correction circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60200005A JPH0691471B2 (en) | 1985-09-10 | 1985-09-10 | Error correction circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6260320A JPS6260320A (en) | 1987-03-17 |
JPH0691471B2 true JPH0691471B2 (en) | 1994-11-14 |
Family
ID=16417209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60200005A Expired - Lifetime JPH0691471B2 (en) | 1985-09-10 | 1985-09-10 | Error correction circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0691471B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7694209B2 (en) | 2005-11-22 | 2010-04-06 | Kabushiki Kaisha Toshiba | Decoding device for decoding codeword |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63308444A (en) * | 1987-06-10 | 1988-12-15 | Matsushita Electric Ind Co Ltd | Communication protocol processor |
JPH01212924A (en) * | 1988-02-19 | 1989-08-25 | Sanyo Electric Co Ltd | Error correction circuit |
JP2696885B2 (en) * | 1988-03-03 | 1998-01-14 | 日本電気株式会社 | Error correction information output circuit |
FR2864575B1 (en) * | 2003-12-24 | 2006-02-10 | Saint Gobain Ct Recherches | BLOCK FOR FILTRATION OF PARTICLES CONTAINED IN THE EXHAUST GASES OF AN INTERNAL COMBUSTION ENGINE |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5644946A (en) * | 1979-09-20 | 1981-04-24 | Hitachi Ltd | Code error correction and detection system |
JPS5789349A (en) * | 1980-11-22 | 1982-06-03 | Nec Corp | Decoder for error correction code |
-
1985
- 1985-09-10 JP JP60200005A patent/JPH0691471B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7694209B2 (en) | 2005-11-22 | 2010-04-06 | Kabushiki Kaisha Toshiba | Decoding device for decoding codeword |
Also Published As
Publication number | Publication date |
---|---|
JPS6260320A (en) | 1987-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0136604B1 (en) | Decoding method and system. | |
US7278085B1 (en) | Simple error-correction codes for data buffers | |
JP3234130B2 (en) | Error correction code decoding method and circuit using this method | |
US6639865B2 (en) | Memory device, method of accessing the memory device, and reed-solomon decoder including the memory device | |
EP0129849B1 (en) | Error correction method and system | |
JPS6354254B2 (en) | ||
JPH084233B2 (en) | Error correction code decoding device | |
JPH11508712A (en) | Method and apparatus for protecting data in a disk drive buffer | |
CN111597072B (en) | Error control coding ECC system and memory device including the same | |
US4569051A (en) | Methods of correcting errors in binary data | |
CN111628780A (en) | Data encoding method, data decoding method and data processing system | |
US4527269A (en) | Encoder verifier | |
US4404673A (en) | Error correcting network | |
US7392461B2 (en) | Decoding for algebraic geometric code associated with a fiber product | |
US6868517B1 (en) | Method and apparatus for checking read errors with two cyclic redundancy check stages | |
US6138263A (en) | Error correcting method and apparatus for information data having error correcting product code block | |
WO2009146517A1 (en) | Method of encoding and/or decoding multidimensional and a system comprising such method | |
JPH0691471B2 (en) | Error correction circuit | |
US7120850B2 (en) | Low-cost methods and devices for the decoding of product cases | |
KR100330642B1 (en) | Error Correction Method and Error Correction Device | |
JPS6260319A (en) | Error correction circuit | |
JPH0361210B2 (en) | ||
JP3338320B2 (en) | Burst error correction method and apparatus | |
JP2768723B2 (en) | Decryption device | |
RU1810909C (en) | Error corrector |